>
- for c := 0; c < 256; c++ {
+ for c := range 256 {
var t octetType
isCtl := c <= 31 || c == 127
isChar := 0 <= c && c <= 127
@@ -90,7 +90,7 @@ loop:
s = skipSpace(s[1:])
}
}
- return
+ return specs
}
func skipSpace(s string) (rest string) {
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/build_info_collector.go b/vendor/github.com/prometheus/client_golang/prometheus/build_info_collector.go
index 450189f35..b80b964c9 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/build_info_collector.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/build_info_collector.go
@@ -32,7 +32,8 @@ func NewBuildInfoCollector() Collector {
"Build information about the main Go module.",
nil, Labels{"path": path, "version": version, "checksum": sum},
),
- GaugeValue, 1)}
+ GaugeValue, 1,
+ )}
c.init(c.self)
return c
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/counter.go b/vendor/github.com/prometheus/client_golang/prometheus/counter.go
index 4ce84e7a8..7d963d3af 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/counter.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/counter.go
@@ -85,11 +85,12 @@ type CounterVecOpts struct {
// Both internal tracking values are added up in the Write method. This has to
// be taken into account when it comes to precision and overflow behavior.
func NewCounter(opts CounterOpts) Counter {
- desc := NewDesc(
+ desc := V2.NewDesc(
BuildFQName(opts.Namespace, opts.Subsystem, opts.Name),
opts.Help,
- nil,
+ UnconstrainedLabels(nil),
opts.ConstLabels,
+ WithUnit(opts.Unit),
)
if opts.now == nil {
opts.now = time.Now
@@ -205,6 +206,7 @@ func (v2) NewCounterVec(opts CounterVecOpts) *CounterVec {
opts.Help,
opts.VariableLabels,
opts.ConstLabels,
+ WithUnit(opts.Unit),
)
if opts.now == nil {
opts.now = time.Now
@@ -349,10 +351,11 @@ type CounterFunc interface {
//
// Check out the ExampleGaugeFunc examples for the similar GaugeFunc.
func NewCounterFunc(opts CounterOpts, function func() float64) CounterFunc {
- return newValueFunc(NewDesc(
+ return newValueFunc(V2.NewDesc(
BuildFQName(opts.Namespace, opts.Subsystem, opts.Name),
opts.Help,
- nil,
+ UnconstrainedLabels(nil),
opts.ConstLabels,
+ WithUnit(opts.Unit),
), CounterValue, function)
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/desc.go b/vendor/github.com/prometheus/client_golang/prometheus/desc.go
index 2331b8b4f..881d91dee 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/desc.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/desc.go
@@ -21,7 +21,6 @@ import (
"github.com/cespare/xxhash/v2"
dto "github.com/prometheus/client_model/go"
"github.com/prometheus/common/model"
- "google.golang.org/protobuf/proto"
"github.com/prometheus/client_golang/prometheus/internal"
)
@@ -47,6 +46,8 @@ type Desc struct {
fqName string
// help provides some helpful information about this metric.
help string
+ // unit provides the unit of this metric.
+ unit string
// constLabelPairs contains precalculated DTO label pairs based on
// the constant labels.
constLabelPairs []*dto.LabelPair
@@ -66,6 +67,16 @@ type Desc struct {
err error
}
+// DescOpt allows setting optional fields for NewDesc.
+type DescOpt func(*Desc)
+
+// WithUnit sets the unit for a Desc.
+func WithUnit(unit string) DescOpt {
+ return func(d *Desc) {
+ d.unit = unit
+ }
+}
+
// NewDesc allocates and initializes a new Desc. Errors are recorded in the Desc
// and will be reported on registration time. variableLabels and constLabels can
// be nil if no such labels should be set. fqName must not be empty.
@@ -89,14 +100,17 @@ func NewDesc(fqName, help string, variableLabels []string, constLabels Labels) *
//
// For constLabels, the label values are constant. Therefore, they are fully
// specified in the Desc. See the Collector example for a usage pattern.
-func (v2) NewDesc(fqName, help string, variableLabels ConstrainableLabels, constLabels Labels) *Desc {
+func (v2) NewDesc(fqName, help string, variableLabels ConstrainableLabels, constLabels Labels, opts ...DescOpt) *Desc {
d := &Desc{
fqName: fqName,
help: help,
variableLabels: variableLabels.compile(),
}
- //nolint:staticcheck // TODO: Don't use deprecated model.NameValidationScheme.
- if !model.NameValidationScheme.IsValidMetricName(fqName) {
+
+ for _, opt := range opts {
+ opt(d)
+ }
+ if !model.UTF8Validation.IsValidMetricName(fqName) {
d.err = fmt.Errorf("%q is not a valid metric name", fqName)
return d
}
@@ -150,11 +164,13 @@ func (v2) NewDesc(fqName, help string, variableLabels ConstrainableLabels, const
d.id = xxh.Sum64()
// Sort labelNames so that order doesn't matter for the hash.
sort.Strings(labelNames)
- // Now hash together (in this order) the help string and the sorted
+ // Now hash together (in this order) the help string, the unit string and the sorted
// label names.
xxh.Reset()
xxh.WriteString(help)
xxh.Write(separatorByteSlice)
+ xxh.WriteString(d.unit)
+ xxh.Write(separatorByteSlice)
for _, labelName := range labelNames {
xxh.WriteString(labelName)
xxh.Write(separatorByteSlice)
@@ -164,8 +180,8 @@ func (v2) NewDesc(fqName, help string, variableLabels ConstrainableLabels, const
d.constLabelPairs = make([]*dto.LabelPair, 0, len(constLabels))
for n, v := range constLabels {
d.constLabelPairs = append(d.constLabelPairs, &dto.LabelPair{
- Name: proto.String(n),
- Value: proto.String(v),
+ Name: new(n),
+ Value: new(v),
})
}
sort.Sort(internal.LabelPairSorter(d.constLabelPairs))
@@ -182,6 +198,15 @@ func NewInvalidDesc(err error) *Desc {
}
}
+// Err returns an error that occurred during construction, if any.
+//
+// Calling this method is optional. It can be used to detect construction
+// errors early, before invoking other methods on the Desc. If an error is
+// present, later operations may not behave as expected.
+func (d *Desc) Err() error {
+ return d.err
+}
+
func (d *Desc) String() string {
lpStrings := make([]string, 0, len(d.constLabelPairs))
for _, lp := range d.constLabelPairs {
@@ -202,9 +227,10 @@ func (d *Desc) String() string {
}
}
return fmt.Sprintf(
- "Desc{fqName: %q, help: %q, constLabels: {%s}, variableLabels: {%s}}",
+ "Desc{fqName: %q, help: %q, unit: %q, constLabels: {%s}, variableLabels: {%s}}",
d.fqName,
d.help,
+ d.unit,
strings.Join(lpStrings, ","),
strings.Join(vlStrings, ","),
)
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/expvar_collector.go b/vendor/github.com/prometheus/client_golang/prometheus/expvar_collector.go
index de5a85629..327746f43 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/expvar_collector.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/expvar_collector.go
@@ -47,14 +47,14 @@ func (e *expvarCollector) Collect(ch chan<- Metric) {
if expVar == nil {
continue
}
- var v interface{}
+ var v any
labels := make([]string, len(desc.variableLabels.names))
if err := json.Unmarshal([]byte(expVar.String()), &v); err != nil {
ch <- NewInvalidMetric(desc, err)
continue
}
- var processValue func(v interface{}, i int)
- processValue = func(v interface{}, i int) {
+ var processValue func(v any, i int)
+ processValue = func(v any, i int) {
if i >= len(labels) {
copiedLabels := append(make([]string, 0, len(labels)), labels...)
switch v := v.(type) {
@@ -72,7 +72,7 @@ func (e *expvarCollector) Collect(ch chan<- Metric) {
ch <- m
return
}
- vm, ok := v.(map[string]interface{})
+ vm, ok := v.(map[string]any)
if !ok {
return
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/gauge.go b/vendor/github.com/prometheus/client_golang/prometheus/gauge.go
index dd2eac940..41e54bf27 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/gauge.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/gauge.go
@@ -76,11 +76,12 @@ type GaugeVecOpts struct {
// scenarios for Gauges and Counters, where the former tends to be Set-heavy and
// the latter Inc-heavy.
func NewGauge(opts GaugeOpts) Gauge {
- desc := NewDesc(
+ desc := V2.NewDesc(
BuildFQName(opts.Namespace, opts.Subsystem, opts.Name),
opts.Help,
- nil,
+ UnconstrainedLabels(nil),
opts.ConstLabels,
+ WithUnit(opts.Unit),
)
result := &gauge{desc: desc, labelPairs: desc.constLabelPairs}
result.init(result) // Init self-collection.
@@ -163,6 +164,7 @@ func (v2) NewGaugeVec(opts GaugeVecOpts) *GaugeVec {
opts.Help,
opts.VariableLabels,
opts.ConstLabels,
+ WithUnit(opts.Unit),
)
return &GaugeVec{
MetricVec: NewMetricVec(desc, func(lvs ...string) Metric {
@@ -302,10 +304,11 @@ type GaugeFunc interface {
// value of 1. Example:
// https://github.com/prometheus/common/blob/8558a5b7db3c84fa38b4766966059a7bd5bfa2ee/version/info.go#L36-L56
func NewGaugeFunc(opts GaugeOpts, function func() float64) GaugeFunc {
- return newValueFunc(NewDesc(
+ return newValueFunc(V2.NewDesc(
BuildFQName(opts.Namespace, opts.Subsystem, opts.Name),
opts.Help,
- nil,
+ UnconstrainedLabels(nil),
opts.ConstLabels,
+ WithUnit(opts.Unit),
), GaugeValue, function)
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/get_pid.go b/vendor/github.com/prometheus/client_golang/prometheus/get_pid.go
index 614fd61be..c7be2a0ca 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/get_pid.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/get_pid.go
@@ -12,7 +12,6 @@
// limitations under the License.
//go:build !js || wasm
-// +build !js wasm
package prometheus
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/get_pid_gopherjs.go b/vendor/github.com/prometheus/client_golang/prometheus/get_pid_gopherjs.go
index eaf8059ee..0ddc8c6ee 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/get_pid_gopherjs.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/get_pid_gopherjs.go
@@ -12,7 +12,6 @@
// limitations under the License.
//go:build js && !wasm
-// +build js,!wasm
package prometheus
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go b/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go
index 520cbd7d4..a4725849f 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go
@@ -211,23 +211,28 @@ func newBaseGoCollector() baseGoCollector {
goroutinesDesc: NewDesc(
"go_goroutines",
"Number of goroutines that currently exist.",
- nil, nil),
+ nil, nil,
+ ),
threadsDesc: NewDesc(
"go_threads",
"Number of OS threads created.",
- nil, nil),
+ nil, nil,
+ ),
gcDesc: NewDesc(
"go_gc_duration_seconds",
"A summary of the wall-time pause (stop-the-world) duration in garbage collection cycles.",
- nil, nil),
+ nil, nil,
+ ),
gcLastTimeDesc: NewDesc(
"go_memstats_last_gc_time_seconds",
"Number of seconds since 1970 of last garbage collection.",
- nil, nil),
+ nil, nil,
+ ),
goInfoDesc: NewDesc(
"go_info",
"Information about the Go environment.",
- nil, Labels{"version": runtime.Version()}),
+ nil, Labels{"version": runtime.Version()},
+ ),
}
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go116.go b/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go116.go
deleted file mode 100644
index 897a6e906..000000000
--- a/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go116.go
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2021 The Prometheus Authors
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//go:build !go1.17
-// +build !go1.17
-
-package prometheus
-
-import (
- "runtime"
- "sync"
- "time"
-)
-
-type goCollector struct {
- base baseGoCollector
-
- // ms... are memstats related.
- msLast *runtime.MemStats // Previously collected memstats.
- msLastTimestamp time.Time
- msMtx sync.Mutex // Protects msLast and msLastTimestamp.
- msMetrics memStatsMetrics
- msRead func(*runtime.MemStats) // For mocking in tests.
- msMaxWait time.Duration // Wait time for fresh memstats.
- msMaxAge time.Duration // Maximum allowed age of old memstats.
-}
-
-// NewGoCollector is the obsolete version of collectors.NewGoCollector.
-// See there for documentation.
-//
-// Deprecated: Use collectors.NewGoCollector instead.
-func NewGoCollector() Collector {
- msMetrics := goRuntimeMemStats()
- msMetrics = append(msMetrics, struct {
- desc *Desc
- eval func(*runtime.MemStats) float64
- valType ValueType
- }{
- // This metric is omitted in Go1.17+, see https://github.com/prometheus/client_golang/issues/842#issuecomment-861812034
- desc: NewDesc(
- memstatNamespace("gc_cpu_fraction"),
- "The fraction of this program's available CPU time used by the GC since the program started.",
- nil, nil,
- ),
- eval: func(ms *runtime.MemStats) float64 { return ms.GCCPUFraction },
- valType: GaugeValue,
- })
- return &goCollector{
- base: newBaseGoCollector(),
- msLast: &runtime.MemStats{},
- msRead: runtime.ReadMemStats,
- msMaxWait: time.Second,
- msMaxAge: 5 * time.Minute,
- msMetrics: msMetrics,
- }
-}
-
-// Describe returns all descriptions of the collector.
-func (c *goCollector) Describe(ch chan<- *Desc) {
- c.base.Describe(ch)
- for _, i := range c.msMetrics {
- ch <- i.desc
- }
-}
-
-// Collect returns the current state of all metrics of the collector.
-func (c *goCollector) Collect(ch chan<- Metric) {
- var (
- ms = &runtime.MemStats{}
- done = make(chan struct{})
- )
- // Start reading memstats first as it might take a while.
- go func() {
- c.msRead(ms)
- c.msMtx.Lock()
- c.msLast = ms
- c.msLastTimestamp = time.Now()
- c.msMtx.Unlock()
- close(done)
- }()
-
- // Collect base non-memory metrics.
- c.base.Collect(ch)
-
- timer := time.NewTimer(c.msMaxWait)
- select {
- case <-done: // Our own ReadMemStats succeeded in time. Use it.
- timer.Stop() // Important for high collection frequencies to not pile up timers.
- c.msCollect(ch, ms)
- return
- case <-timer.C: // Time out, use last memstats if possible. Continue below.
- }
- c.msMtx.Lock()
- if time.Since(c.msLastTimestamp) < c.msMaxAge {
- // Last memstats are recent enough. Collect from them under the lock.
- c.msCollect(ch, c.msLast)
- c.msMtx.Unlock()
- return
- }
- // If we are here, the last memstats are too old or don't exist. We have
- // to wait until our own ReadMemStats finally completes. For that to
- // happen, we have to release the lock.
- c.msMtx.Unlock()
- <-done
- c.msCollect(ch, ms)
-}
-
-func (c *goCollector) msCollect(ch chan<- Metric, ms *runtime.MemStats) {
- for _, i := range c.msMetrics {
- ch <- MustNewConstMetric(i.desc, i.valType, i.eval(ms))
- }
-}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go b/vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go
index 6b8684731..23091e177 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go
@@ -11,9 +11,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-//go:build go1.17
-// +build go1.17
-
package prometheus
import (
@@ -27,7 +24,6 @@ import (
"github.com/prometheus/client_golang/prometheus/internal"
dto "github.com/prometheus/client_model/go"
- "google.golang.org/protobuf/proto"
)
const (
@@ -98,7 +94,7 @@ type goCollector struct {
// snapshot is always produced by Collect.
mu sync.Mutex
- // Contains all samples that has to retrieved from runtime/metrics (not all of them will be exposed).
+ // Contains all samples that have to be retrieved from runtime/metrics (not all of them will be exposed).
sampleBuf []metrics.Sample
// sampleMap allows lookup for MemStats metrics and runtime/metrics histograms for exact sums.
sampleMap map[string]*metrics.Sample
@@ -210,16 +206,26 @@ func NewGoCollector(opts ...func(o *internal.GoCollectorOptions)) Collector {
sampleBuf = append(sampleBuf, metrics.Sample{Name: d.Name})
sampleMap[d.Name] = &sampleBuf[len(sampleBuf)-1]
+ // Extract unit from the runtime/metrics name (e.g., "/gc/heap/allocs:bytes" -> "bytes")
+ // and sanitize to match Prometheus naming conventions (e.g., "cpu-seconds" -> "cpu_seconds")
+ var unit string
+ if idx := strings.IndexRune(d.Name, ':'); idx >= 0 {
+ unit = d.Name[idx+1:]
+ unit = strings.ReplaceAll(unit, "-", "_")
+ unit = strings.ReplaceAll(unit, "*", "_")
+ unit = strings.ReplaceAll(unit, "/", "_per_")
+ }
+
var m collectorMetric
if d.Kind == metrics.KindFloat64Histogram {
_, hasSum := opt.RuntimeMetricSumForHist[d.Name]
- unit := d.Name[strings.IndexRune(d.Name, ':')+1:]
m = newBatchHistogram(
- NewDesc(
+ V2.NewDesc(
BuildFQName(namespace, subsystem, name),
help,
+ UnconstrainedLabels(nil),
nil,
- nil,
+ WithUnit(unit),
),
internal.RuntimeMetricsBucketsForUnit(bucketsMap[d.Name], unit),
hasSum,
@@ -230,6 +236,7 @@ func NewGoCollector(opts ...func(o *internal.GoCollectorOptions)) Collector {
Subsystem: subsystem,
Name: name,
Help: help,
+ Unit: unit,
},
)
} else {
@@ -238,6 +245,7 @@ func NewGoCollector(opts ...func(o *internal.GoCollectorOptions)) Collector {
Subsystem: subsystem,
Name: name,
Help: help,
+ Unit: unit,
})
}
metricSet = append(metricSet, m)
@@ -561,14 +569,14 @@ func (h *batchHistogram) Write(out *dto.Metric) error {
// by obtaining the next float64 value down, in order.
upperBound := math.Nextafter(h.buckets[i+1], h.buckets[i])
dtoBuckets = append(dtoBuckets, &dto.Bucket{
- CumulativeCount: proto.Uint64(totalCount),
- UpperBound: proto.Float64(upperBound),
+ CumulativeCount: new(totalCount),
+ UpperBound: new(upperBound),
})
}
out.Histogram = &dto.Histogram{
Bucket: dtoBuckets,
- SampleCount: proto.Uint64(totalCount),
- SampleSum: proto.Float64(sum),
+ SampleCount: new(totalCount),
+ SampleSum: new(sum),
}
return nil
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/histogram.go b/vendor/github.com/prometheus/client_golang/prometheus/histogram.go
index c453b754a..1d6ca1614 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/histogram.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/histogram.go
@@ -378,6 +378,9 @@ type HistogramOpts struct {
// string.
Help string
+ // Unit provides the unit of this Histogram.
+ Unit string
+
// ConstLabels are used to attach fixed labels to this metric. Metrics
// with the same fully-qualified name must have the same label names in
// their ConstLabels.
@@ -522,11 +525,12 @@ type HistogramVecOpts struct {
// for each bucket.
func NewHistogram(opts HistogramOpts) Histogram {
return newHistogram(
- NewDesc(
+ V2.NewDesc(
BuildFQName(opts.Namespace, opts.Subsystem, opts.Name),
opts.Help,
- nil,
+ UnconstrainedLabels(nil),
opts.ConstLabels,
+ WithUnit(opts.Unit),
),
opts,
)
@@ -799,8 +803,8 @@ func (h *histogram) Write(out *dto.Metric) error {
his := &dto.Histogram{
Bucket: make([]*dto.Bucket, len(h.upperBounds)),
- SampleCount: proto.Uint64(count),
- SampleSum: proto.Float64(math.Float64frombits(atomic.LoadUint64(&coldCounts.sumBits))),
+ SampleCount: new(count),
+ SampleSum: new(math.Float64frombits(atomic.LoadUint64(&coldCounts.sumBits))),
CreatedTimestamp: timestamppb.New(h.lastResetTime),
}
out.Histogram = his
@@ -810,8 +814,8 @@ func (h *histogram) Write(out *dto.Metric) error {
for i, upperBound := range h.upperBounds {
cumCount += atomic.LoadUint64(&coldCounts.buckets[i])
his.Bucket[i] = &dto.Bucket{
- CumulativeCount: proto.Uint64(cumCount),
- UpperBound: proto.Float64(upperBound),
+ CumulativeCount: new(cumCount),
+ UpperBound: new(upperBound),
}
if e := h.exemplars[i].Load(); e != nil {
his.Bucket[i].Exemplar = e.(*dto.Exemplar)
@@ -820,15 +824,15 @@ func (h *histogram) Write(out *dto.Metric) error {
// If there is an exemplar for the +Inf bucket, we have to add that bucket explicitly.
if e := h.exemplars[len(h.upperBounds)].Load(); e != nil {
b := &dto.Bucket{
- CumulativeCount: proto.Uint64(count),
- UpperBound: proto.Float64(math.Inf(1)),
+ CumulativeCount: new(count),
+ UpperBound: new(math.Inf(1)),
Exemplar: e.(*dto.Exemplar),
}
his.Bucket = append(his.Bucket, b)
}
if h.nativeHistogramSchema > math.MinInt32 {
- his.ZeroThreshold = proto.Float64(math.Float64frombits(atomic.LoadUint64(&coldCounts.nativeHistogramZeroThresholdBits)))
- his.Schema = proto.Int32(atomic.LoadInt32(&coldCounts.nativeHistogramSchema))
+ his.ZeroThreshold = new(math.Float64frombits(atomic.LoadUint64(&coldCounts.nativeHistogramZeroThresholdBits)))
+ his.Schema = new(atomic.LoadInt32(&coldCounts.nativeHistogramSchema))
zeroBucket := atomic.LoadUint64(&coldCounts.nativeHistogramZeroBucket)
defer func() {
@@ -836,7 +840,7 @@ func (h *histogram) Write(out *dto.Metric) error {
coldCounts.nativeHistogramBucketsNegative.Range(addAndReset(&hotCounts.nativeHistogramBucketsNegative, &hotCounts.nativeHistogramBucketsNumber))
}()
- his.ZeroCount = proto.Uint64(zeroBucket)
+ his.ZeroCount = new(zeroBucket)
his.NegativeSpan, his.NegativeDelta = makeBuckets(&coldCounts.nativeHistogramBucketsNegative)
his.PositiveSpan, his.PositiveDelta = makeBuckets(&coldCounts.nativeHistogramBucketsPositive)
@@ -966,7 +970,7 @@ func (h *histogram) maybeReset(
// We are using the possibly mocked h.now() rather than
// time.Since(h.lastResetTime) to enable testing.
if h.nativeHistogramMinResetDuration == 0 || // No reset configured.
- h.resetScheduled || // Do not interefere if a reset is already scheduled.
+ h.resetScheduled || // Do not interfere if a reset is already scheduled.
h.now().Sub(h.lastResetTime) < h.nativeHistogramMinResetDuration {
return false
}
@@ -1053,8 +1057,8 @@ func (h *histogram) maybeWidenZeroBucket(hot, cold *histogramCounts) bool {
atomic.StoreUint64(&cold.nativeHistogramZeroThresholdBits, math.Float64bits(newZeroThreshold))
// ...and then merge the newly deleted buckets into the wider zero
// bucket.
- mergeAndDeleteOrAddAndReset := func(hotBuckets, coldBuckets *sync.Map) func(k, v interface{}) bool {
- return func(k, v interface{}) bool {
+ mergeAndDeleteOrAddAndReset := func(hotBuckets, coldBuckets *sync.Map) func(k, v any) bool {
+ return func(k, v any) bool {
key := k.(int)
bucket := v.(*int64)
if key == smallestKey {
@@ -1107,8 +1111,8 @@ func (h *histogram) doubleBucketWidth(hot, cold *histogramCounts) {
// ...adjust the schema in the cold counts, too...
atomic.StoreInt32(&cold.nativeHistogramSchema, coldSchema)
// ...and then merge the cold buckets into the wider hot buckets.
- merge := func(hotBuckets *sync.Map) func(k, v interface{}) bool {
- return func(k, v interface{}) bool {
+ merge := func(hotBuckets *sync.Map) func(k, v any) bool {
+ return func(k, v any) bool {
key := k.(int)
bucket := v.(*int64)
// Adjust key to match the bucket to merge into.
@@ -1190,6 +1194,7 @@ func (v2) NewHistogramVec(opts HistogramVecOpts) *HistogramVec {
opts.Help,
opts.VariableLabels,
opts.ConstLabels,
+ WithUnit(opts.Unit),
)
return &HistogramVec{
MetricVec: NewMetricVec(desc, func(lvs ...string) Metric {
@@ -1326,12 +1331,12 @@ func (h *constHistogram) Write(out *dto.Metric) error {
buckets := make([]*dto.Bucket, 0, len(h.buckets))
- his.SampleCount = proto.Uint64(h.count)
- his.SampleSum = proto.Float64(h.sum)
+ his.SampleCount = new(h.count)
+ his.SampleSum = new(h.sum)
for upperBound, count := range h.buckets {
buckets = append(buckets, &dto.Bucket{
- CumulativeCount: proto.Uint64(count),
- UpperBound: proto.Float64(upperBound),
+ CumulativeCount: new(count),
+ UpperBound: new(upperBound),
})
}
@@ -1476,7 +1481,7 @@ func pickSchema(bucketFactor float64) int32 {
func makeBuckets(buckets *sync.Map) ([]*dto.BucketSpan, []int64) {
var ii []int
- buckets.Range(func(k, v interface{}) bool {
+ buckets.Range(func(k, _ any) bool {
ii = append(ii, k.(int))
return true
})
@@ -1513,13 +1518,13 @@ func makeBuckets(buckets *sync.Map) ([]*dto.BucketSpan, []int64) {
// at the very beginning, or because we have found a gap
// of more than two buckets.
spans = append(spans, &dto.BucketSpan{
- Offset: proto.Int32(iDelta),
+ Offset: new(iDelta),
Length: proto.Uint32(0),
})
} else {
// We have found a small gap (or no gap at all).
// Insert empty buckets as needed.
- for j := int32(0); j < iDelta; j++ {
+ for range iDelta {
appendDelta(0)
}
}
@@ -1553,8 +1558,8 @@ func addToBucket(buckets *sync.Map, key int, increment int64) bool {
// according to the buckets ranged through. It then resets all buckets ranged
// through to 0 (but leaves them in place so that they don't need to get
// recreated on the next scrape).
-func addAndReset(hotBuckets *sync.Map, bucketNumber *uint32) func(k, v interface{}) bool {
- return func(k, v interface{}) bool {
+func addAndReset(hotBuckets *sync.Map, bucketNumber *uint32) func(k, v any) bool {
+ return func(k, v any) bool {
bucket := v.(*int64)
if addToBucket(hotBuckets, k.(int), atomic.LoadInt64(bucket)) {
atomic.AddUint32(bucketNumber, 1)
@@ -1565,7 +1570,7 @@ func addAndReset(hotBuckets *sync.Map, bucketNumber *uint32) func(k, v interface
}
func deleteSyncMap(m *sync.Map) {
- m.Range(func(k, v interface{}) bool {
+ m.Range(func(k, _ any) bool {
m.Delete(k)
return true
})
@@ -1573,7 +1578,7 @@ func deleteSyncMap(m *sync.Map) {
func findSmallestKey(m *sync.Map) int {
result := math.MaxInt32
- m.Range(func(k, v interface{}) bool {
+ m.Range(func(k, _ any) bool {
key := k.(int)
if key < result {
result = key
@@ -1951,7 +1956,7 @@ func NewConstNativeHistogram(
PositiveSpan: PositiveSpan,
PositiveDelta: PositiveDelta,
- ZeroCount: proto.Uint64(zeroBucket),
+ ZeroCount: new(zeroBucket),
},
labelPairs: MakeLabelPairs(desc, labelValues),
}
@@ -2039,13 +2044,13 @@ func makeBucketsFromMap(buckets map[int]int64) ([]*dto.BucketSpan, []int64) {
// at the very beginning, or because we have found a gap
// of more than two buckets.
spans = append(spans, &dto.BucketSpan{
- Offset: proto.Int32(iDelta),
+ Offset: new(iDelta),
Length: proto.Uint32(0),
})
} else {
// We have found a small gap (or no gap at all).
// Insert empty buckets as needed.
- for j := int32(0); j < iDelta; j++ {
+ for range iDelta {
appendDelta(0)
}
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go b/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go
index 7bac0da33..2db270f21 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go
@@ -78,7 +78,7 @@ type OpCode struct {
// notion, pairing up elements that appear uniquely in each sequence.
// That, and the method here, appear to yield more intuitive difference
// reports than does diff. This method appears to be the least vulnerable
-// to synching up on blocks of "junk lines", though (like blank lines in
+// to syncing up on blocks of "junk lines", though (like blank lines in
// ordinary text files, or maybe "" lines in HTML files). That may be
// because this is the only method of the 3 that has a *concept* of
// "junk" .
@@ -567,7 +567,7 @@ type UnifiedDiff struct {
func WriteUnifiedDiff(writer io.Writer, diff UnifiedDiff) error {
buf := bufio.NewWriter(writer)
defer buf.Flush()
- wf := func(format string, args ...interface{}) error {
+ wf := func(format string, args ...any) error {
_, err := fmt.Fprintf(buf, format, args...)
return err
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go b/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go
index d273b6640..e38dfe0ad 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go
@@ -11,9 +11,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-//go:build go1.17
-// +build go1.17
-
package internal
import (
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/labels.go b/vendor/github.com/prometheus/client_golang/prometheus/labels.go
index 5fe8d3b4d..a0285489a 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/labels.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/labels.go
@@ -184,6 +184,5 @@ func validateLabelValues(vals []string, expectedNumberOfValues int) error {
}
func checkLabelName(l string) bool {
- //nolint:staticcheck // TODO: Don't use deprecated model.NameValidationScheme.
- return model.NameValidationScheme.IsValidLabelName(l) && !strings.HasPrefix(l, reservedLabelPrefix)
+ return model.UTF8Validation.IsValidLabelName(l) && !strings.HasPrefix(l, reservedLabelPrefix)
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/metric.go b/vendor/github.com/prometheus/client_golang/prometheus/metric.go
index 76e59f128..e4bbf3b8e 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/metric.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/metric.go
@@ -22,7 +22,6 @@ import (
dto "github.com/prometheus/client_model/go"
"github.com/prometheus/common/model"
- "google.golang.org/protobuf/proto"
)
var separatorByteSlice = []byte{model.SeparatorByte} // For convenient use with xxhash.
@@ -81,6 +80,9 @@ type Opts struct {
// string.
Help string
+ // Unit provides the unit of this metric as per https://prometheus.io/docs/specs/om
+ Unit string
+
// ConstLabels are used to attach fixed labels to this metric. Metrics
// with the same fully-qualified name must have the same label names in
// their ConstLabels.
@@ -150,7 +152,7 @@ type timestampedMetric struct {
func (m timestampedMetric) Write(pb *dto.Metric) error {
e := m.Metric.Write(pb)
- pb.TimestampMs = proto.Int64(m.t.Unix()*1000 + int64(m.t.Nanosecond()/1000000))
+ pb.TimestampMs = new(m.t.Unix()*1000 + int64(m.t.Nanosecond()/1000000))
return e
}
@@ -206,8 +208,8 @@ func (m *withExemplarsMetric) Write(pb *dto.Metric) error {
} else {
// The +Inf bucket should be explicitly added if there is an exemplar for it, similar to non-const histogram logic in https://github.com/prometheus/client_golang/blob/main/prometheus/histogram.go#L357-L365.
b := &dto.Bucket{
- CumulativeCount: proto.Uint64(h.GetSampleCount()),
- UpperBound: proto.Float64(math.Inf(1)),
+ CumulativeCount: new(h.GetSampleCount()),
+ UpperBound: new(math.Inf(1)),
Exemplar: e,
}
h.Bucket = append(h.Bucket, b)
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/num_threads.go b/vendor/github.com/prometheus/client_golang/prometheus/num_threads.go
index 7c12b2108..7ffac2134 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/num_threads.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/num_threads.go
@@ -12,7 +12,6 @@
// limitations under the License.
//go:build !js || wasm
-// +build !js wasm
package prometheus
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/num_threads_gopherjs.go b/vendor/github.com/prometheus/client_golang/prometheus/num_threads_gopherjs.go
index 7348df01d..65f4263f9 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/num_threads_gopherjs.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/num_threads_gopherjs.go
@@ -12,7 +12,6 @@
// limitations under the License.
//go:build js && !wasm
-// +build js,!wasm
package prometheus
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go
index b32c95fa3..46e7e45aa 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go
@@ -54,25 +54,32 @@ func getOpenFileCount() (float64, error) {
// benefits, however, include fewer system calls and not failing when at the
// open file soft limit.
- if dir, err := os.Open("/dev/fd"); err != nil {
+ dir, err := os.Open("/dev/fd")
+ if err != nil {
return 0.0, err
- } else {
- defer dir.Close()
+ }
+ defer dir.Close()
- // Avoid ReadDir(), as it calls stat(2) on each descriptor. Not only is
- // that info not used, but KQUEUE descriptors fail stat(2), which causes
- // the whole method to fail.
- if names, err := dir.Readdirnames(0); err != nil {
- return 0.0, err
- } else {
- // Subtract 1 to ignore the open /dev/fd descriptor above.
- return float64(len(names) - 1), nil
- }
+ // Avoid ReadDir(), as it calls stat(2) on each descriptor. Not only is
+ // that info not used, but KQUEUE descriptors fail stat(2), which causes
+ // the whole method to fail.
+ names, err := dir.Readdirnames(0)
+ if err != nil {
+ return 0.0, err
}
+
+ // Subtract 1 to ignore the open /dev/fd descriptor above.
+ return float64(len(names) - 1), nil
}
func (c *processCollector) processCollect(ch chan<- Metric) {
- if procs, err := unix.SysctlKinfoProcSlice("kern.proc.pid", os.Getpid()); err == nil {
+ pid, err := c.pidFn()
+ if err != nil {
+ c.reportError(ch, nil, err)
+ return
+ }
+
+ if procs, err := unix.SysctlKinfoProcSlice("kern.proc.pid", pid); err == nil {
if len(procs) == 1 {
startTime := float64(procs[0].Proc.P_starttime.Nano() / 1e9)
ch <- MustNewConstMetric(c.startTime, GaugeValue, startTime)
@@ -84,6 +91,11 @@ func (c *processCollector) processCollect(ch chan<- Metric) {
c.reportError(ch, c.startTime, err)
}
+ if pid != os.Getpid() {
+ c.reportError(ch, nil, fmt.Errorf("collecting metrics for pid %d is not supported on darwin: process metrics collection is limited to the current process (pid %d)", pid, os.Getpid()))
+ return
+ }
+
// The proc structure returned by kern.proc.pid above has an Rusage member,
// but it is not filled in, so it needs to be fetched by getrusage(2). For
// that call, the UTime, STime, and Maxrss members are filled out, but not
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_not_supported.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_not_supported.go
index 7732b7f37..8650b6f4a 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_not_supported.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_not_supported.go
@@ -12,7 +12,6 @@
// limitations under the License.
//go:build wasip1 || js || ios
-// +build wasip1 js ios
package prometheus
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go
index 8074f70f5..56c97d62e 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go
@@ -12,7 +12,6 @@
// limitations under the License.
//go:build !windows && !js && !wasip1 && !darwin
-// +build !windows,!js,!wasip1,!darwin
package prometheus
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_windows.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_windows.go
index fa474289e..c08dd05f0 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_windows.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_windows.go
@@ -30,6 +30,10 @@ var (
procGetProcessMemoryInfo = modpsapi.NewProc("GetProcessMemoryInfo")
procGetProcessHandleCount = modkernel32.NewProc("GetProcessHandleCount")
+
+ openProcess = windows.OpenProcess
+ closeHandle = windows.CloseHandle
+ getProcessTimes = windows.GetProcessTimes
)
type processMemoryCounters struct {
@@ -79,10 +83,21 @@ func getProcessHandleCount(handle windows.Handle) (uint32, error) {
}
func (c *processCollector) processCollect(ch chan<- Metric) {
- h := windows.CurrentProcess()
+ pid, err := c.pidFn()
+ if err != nil {
+ c.reportError(ch, nil, err)
+ return
+ }
+
+ h, err := openProcess(windows.PROCESS_QUERY_INFORMATION|windows.PROCESS_VM_READ, false, uint32(pid))
+ if err != nil {
+ c.reportError(ch, nil, err)
+ return
+ }
+ defer closeHandle(h)
var startTime, exitTime, kernelTime, userTime windows.Filetime
- err := windows.GetProcessTimes(h, &startTime, &exitTime, &kernelTime, &userTime)
+ err = getProcessTimes(h, &startTime, &exitTime, &kernelTime, &userTime)
if err != nil {
c.reportError(ch, nil, err)
return
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go
index 763d99e36..0af3deebf 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go
@@ -37,10 +37,12 @@ import (
"fmt"
"io"
"net/http"
+ "slices"
"strconv"
"sync"
"time"
+ dto "github.com/prometheus/client_model/go"
"github.com/prometheus/common/expfmt"
"github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil"
@@ -49,10 +51,12 @@ import (
)
const (
+ acceptHeader = "Accept"
contentTypeHeader = "Content-Type"
contentEncodingHeader = "Content-Encoding"
acceptEncodingHeader = "Accept-Encoding"
processStartTimeHeader = "Process-Start-Time-Unix"
+ varyHeader = "Vary"
)
// Compression represents the content encodings handlers support for the HTTP
@@ -68,17 +72,123 @@ const (
func defaultCompressionFormats() []Compression {
if internal.NewZstdWriter != nil {
return []Compression{Identity, Gzip, Zstd}
- } else {
- return []Compression{Identity, Gzip}
}
+ return []Compression{Identity, Gzip}
}
var gzipPool = sync.Pool{
- New: func() interface{} {
+ New: func() any {
return gzip.NewWriter(nil)
},
}
+// coalescingGatherer wraps a TransactionalGatherer to deduplicate concurrent
+// Gather calls. When a Gather is already in flight, new callers join the
+// existing cycle and receive the same result once it completes. The underlying
+// done function is called exactly once, when the last joined caller releases.
+//
+// This prevents goroutine pile-up when the scrape rate is faster than the
+// time collectors need to produce metrics.
+type coalescingGatherer struct {
+ g prometheus.TransactionalGatherer
+ mu sync.Mutex
+ cycle *gatherCycle
+}
+
+// gatherCycle tracks a single in-flight Gather and all HTTP handlers sharing it.
+type gatherCycle struct {
+ ready chan struct{} // closed when Gather completes; happens-before reads of mfs/err/done
+ mfs []*dto.MetricFamily // canonical result, set before ready is closed; callers get a slices.Clone, the element values stay shared and must not be mutated
+ err error // set before ready is closed
+ done func() // underlying done callback; set before ready is closed
+ refs int // number of handlers using this cycle; protected by coalescingGatherer.mu
+}
+
+var _ prometheus.TransactionalGatherer = (*coalescingGatherer)(nil) // compile-time interface check
+
+// errGatherPanicked is returned to callers that joined an in-flight coalesced
+// Gather whose underlying gatherer panicked. See the panic guard in Gather for
+// why joiners receive this error instead of the panic itself.
+var errGatherPanicked = errors.New("coalesced gather panicked")
+
+func (c *coalescingGatherer) Gather() ([]*dto.MetricFamily, func(), error) {
+ c.mu.Lock()
+ if cy := c.cycle; cy != nil {
+ // c.cycle is non-nil while Gather runs or handlers are still consuming its results.
+ cy.refs++
+ c.mu.Unlock()
+ <-cy.ready
+ // Each caller gets its own slice header so it can filter or reorder
+ // without racing other callers sharing this cycle. The *dto.MetricFamily
+ // values remain shared and must not be mutated in place.
+ return slices.Clone(cy.mfs), c.releaseFunc(cy), cy.err
+ }
+ cy := &gatherCycle{
+ ready: make(chan struct{}),
+ done: func() {},
+ refs: 1,
+ }
+ c.cycle = cy
+ c.mu.Unlock()
+
+ // Guard against a panic in c.g.Gather. The common case, a panicking
+ // Collector, never reaches here: Registry.Gather recovers Collector panics
+ // and returns them as an error. This guard only covers the rare case where
+ // the wrapped gatherer itself panics.
+ //
+ // We deliberately do not recover: the leader's panic propagates and is
+ // handled by net/http exactly as it would be without coalescing. We only
+ // set cy.err before closing cy.ready so joiners waiting on <-cy.ready fail
+ // with that error instead of silently returning an empty, successful
+ // response, and we clear c.cycle so the next Gather starts a fresh cycle.
+ //
+ // The leader never runs its own releaseFunc on this path, so its ref is
+ // not decremented; that is harmless because the cycle is detached (c.cycle
+ // = nil) and cy.done is still the no-op set at construction (c.g.Gather
+ // panicked before assigning a real done). If cy.done is ever made non-nil
+ // before c.g.Gather runs, this path would need to release it.
+ panicked := true
+ defer func() {
+ if panicked {
+ c.mu.Lock()
+ if c.cycle == cy {
+ c.cycle = nil
+ }
+ c.mu.Unlock()
+ cy.err = errGatherPanicked // set before close: happens-before joiners' reads
+ close(cy.ready)
+ }
+ }()
+ cy.mfs, cy.done, cy.err = c.g.Gather()
+ panicked = false
+ close(cy.ready) // happens-before joiners' reads of cy.mfs/err/done
+
+ // Clone here too so cy.mfs stays the write-once canonical slice: joiners
+ // read it concurrently via slices.Clone, so the leader must not hand out
+ // (and potentially reorder) the same backing array.
+ return slices.Clone(cy.mfs), c.releaseFunc(cy), cy.err
+}
+
+// releaseFunc returns the done callback for one caller sharing cy.
+// When the last caller releases, the underlying done is invoked and the
+// cycle is cleared so the next Gather starts fresh.
+func (c *coalescingGatherer) releaseFunc(cy *gatherCycle) func() {
+ return func() {
+ c.mu.Lock()
+ cy.refs--
+ if cy.refs > 0 {
+ c.mu.Unlock()
+ return
+ }
+ // Last caller.
+ if c.cycle == cy {
+ c.cycle = nil
+ }
+ c.mu.Unlock()
+ cy.done() // called outside the lock to avoid holding it during done
+ }
+}
+
// Handler returns an http.Handler for the prometheus.DefaultGatherer, using
// default HandlerOpts, i.e. it reports the first error as an HTTP error, it has
// no error logging, and it applies compression if requested by the client.
@@ -89,6 +199,10 @@ var gzipPool = sync.Pool{
// metrics used for instrumentation will be shared between them, providing
// global scrape counts.
//
+// The handler supports filtering metrics by name using the `name[]` query parameter.
+// Multiple metric names can be specified by providing the parameter multiple times.
+// When no name[] parameters are provided, all metrics are returned.
+//
// This function is meant to cover the bulk of basic use cases. If you are doing
// anything that requires more customization (including using a non-default
// Gatherer, different instrumentation, and non-default HandlerOpts), use the
@@ -105,6 +219,10 @@ func Handler() http.Handler {
// Gatherers, with non-default HandlerOpts, and/or with custom (or no)
// instrumentation. Use the InstrumentMetricHandler function to apply the same
// kind of instrumentation as it is used by the Handler function.
+//
+// The handler supports filtering metrics by name using the `name[]` query parameter.
+// Multiple metric names can be specified by providing the parameter multiple times.
+// When no name[] parameters are provided, all metrics are returned.
func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler {
return HandlerForTransactional(prometheus.ToTransactionalGatherer(reg), opts)
}
@@ -112,7 +230,15 @@ func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler {
// HandlerForTransactional is like HandlerFor, but it uses transactional gather, which
// can safely change in-place returned *dto.MetricFamily before call to `Gather` and after
// call to `done` of that `Gather`.
+//
+// The handler supports filtering metrics by name using the `name[]` query parameter.
+// Multiple metric names can be specified by providing the parameter multiple times.
+// When no name[] parameters are provided, all metrics are returned.
func HandlerForTransactional(reg prometheus.TransactionalGatherer, opts HandlerOpts) http.Handler {
+ if opts.CoalesceGather {
+ reg = &coalescingGatherer{g: reg}
+ }
+
var (
inFlightSem chan struct{}
errCnt = prometheus.NewCounterVec(
@@ -190,11 +316,20 @@ func HandlerForTransactional(reg prometheus.TransactionalGatherer, opts HandlerO
}
}
- var contentType expfmt.Format
- if opts.EnableOpenMetrics {
- contentType = expfmt.NegotiateIncludingOpenMetrics(req.Header)
- } else {
- contentType = expfmt.Negotiate(req.Header)
+ var (
+ contentType expfmt.Format
+ acceptedFormats = opts.AcceptedFormats
+ )
+ if len(acceptedFormats) == 0 {
+ acceptedFormats = expfmt.DefaultAcceptedFormats()
+ if opts.EnableOpenMetrics {
+ acceptedFormats = expfmt.DefaultOpenMetricsAcceptedFormats()
+ }
+ }
+ contentType = expfmt.NegotiateAccept(req.Header, acceptedFormats...)
+ rsp.Header().Add(varyHeader, acceptHeader)
+ if len(compressions) > 0 {
+ rsp.Header().Add(varyHeader, acceptEncodingHeader)
}
rsp.Header().Set(contentTypeHeader, string(contentType))
@@ -214,12 +349,14 @@ func HandlerForTransactional(reg prometheus.TransactionalGatherer, opts HandlerO
rsp.Header().Set(contentEncodingHeader, encodingHeader)
}
- var enc expfmt.Encoder
+ var (
+ enc expfmt.Encoder
+ encOpts []expfmt.EncoderOption
+ )
if opts.EnableOpenMetricsTextCreatedSamples {
- enc = expfmt.NewEncoder(w, contentType, expfmt.WithCreatedLines())
- } else {
- enc = expfmt.NewEncoder(w, contentType)
+ encOpts = append(encOpts, expfmt.WithCreatedLines())
}
+ enc = expfmt.NewEncoder(w, contentType, encOpts...)
// handleError handles the error according to opts.ErrorHandling
// and returns true if we have to abort after the handling.
@@ -245,7 +382,24 @@ func HandlerForTransactional(reg prometheus.TransactionalGatherer, opts HandlerO
return false
}
+ // Build metric name filter set from query params (if any). The URL
+ // can be nil on hand-constructed requests.
+ var metricFilter map[string]struct{}
+ if req.URL != nil {
+ if metricNames := req.URL.Query()["name[]"]; len(metricNames) > 0 {
+ metricFilter = make(map[string]struct{}, len(metricNames))
+ for _, name := range metricNames {
+ metricFilter[name] = struct{}{}
+ }
+ }
+ }
+
for _, mf := range mfs {
+ if metricFilter != nil {
+ if _, ok := metricFilter[mf.GetName()]; !ok {
+ continue
+ }
+ }
if handleError(enc.Encode(mf)) {
return
}
@@ -353,7 +507,7 @@ const (
// log.Logger from the standard library implements this interface, and it is
// easy to implement by custom loggers, if they don't do so already anyway.
type Logger interface {
- Println(v ...interface{})
+ Println(v ...any)
}
// HandlerOpts specifies options how to serve metrics via an http.Handler. The
@@ -400,6 +554,40 @@ type HandlerOpts struct {
// Service Unavailable and a suitable message in the body. If
// MaxRequestsInFlight is 0 or negative, no limit is applied.
MaxRequestsInFlight int
+ // CoalesceGather, if true, deduplicates concurrent Gather calls so that
+ // only one collection runs at a time. Additional requests that arrive
+ // while a Gather is in flight will receive the same result once it
+ // completes. This prevents goroutine pile-up when the scrape rate is
+ // faster than the time collectors need to produce metrics.
+ //
+ // When enabled, concurrent scrapers share a single metric snapshot per
+ // collection cycle. Each request receives its own copy of the returned
+ // slice, so filtering or reordering it (for example via name[] query
+ // parameters) is safe. The pointed-to MetricFamily values are still
+ // shared: the built-in handler only reads them, so this is safe in
+ // practice, but a custom TransactionalGatherer that mutates the returned
+ // families in place after Gather returns must not use this option.
+ //
+ // Because the snapshot is shared, a request that arrives while a cycle is
+ // in flight receives that cycle's result even though collection began
+ // before the request; two scrapers joined to one cycle observe the same
+ // timestamps rather than independently gathered data.
+ //
+ // Consider using CoalesceGather together with Timeout. Timeout bounds the
+ // client-facing response time and keeps at most one collection running at
+ // a time, but it does not cancel the underlying Gather: a joined request
+ // that times out still holds a MaxRequestsInFlight slot until the shared
+ // collection completes.
+ //
+ // Panic handling: a panicking Collector is already turned into an error by
+ // the registry, so joiners receive that error like any other. In the rare
+ // case where the wrapped gatherer itself panics, the panicking request's
+ // panic propagates as usual (handled by net/http), while requests that
+ // joined the same cycle receive an error rather than an empty response.
+ //
+ // NOTE: This option is experimental and may change or be removed in a
+ // future release.
+ CoalesceGather bool
// If handling a request takes longer than Timeout, it is responded to
// with 503 ServiceUnavailable and a suitable Message. No timeout is
// applied if Timeout is 0 or negative. Note that with the current
@@ -407,8 +595,9 @@ type HandlerOpts struct {
// described above (and even that only if sending of the body hasn't
// started yet), while the bulk work of gathering all the metrics keeps
// running in the background (with the eventual result to be thrown
- // away). Until the implementation is improved, it is recommended to
- // implement a separate timeout in potentially slow Collectors.
+ // away). When CoalesceGather is enabled, only one such background Gather
+ // can be in flight at a time. It is also recommended to implement a
+ // separate timeout in potentially slow Collectors.
Timeout time.Duration
// If true, the experimental OpenMetrics encoding is added to the
// possible options during content negotiation. Note that Prometheus
@@ -419,6 +608,8 @@ type HandlerOpts struct {
// a trailing ".0" if they would otherwise look like integer numbers
// (which changes the identity of the resulting series on the Prometheus
// server).
+ //
+ // Note that setting AcceptedFormats overrides this option.
EnableOpenMetrics bool
// EnableOpenMetricsTextCreatedSamples specifies if this handler should add, extra, synthetic
// Created Timestamps for counters, histograms and summaries, which for the current
@@ -443,6 +634,18 @@ type HandlerOpts struct {
// NOTE: This feature is experimental and not covered by OpenMetrics or Prometheus
// exposition format.
ProcessStartTime time.Time
+ // AcceptedFormats allows customizing the formats the handler will negotiate
+ // with the client based on the request's Accept header.
+ // The client's Accept header and q-values take precedence, but the order of
+ // formats in AcceptedFormats specifies the server's preference order used as a
+ // tie-breaker (e.g. for wildcard "*/*" requests or equal q-values) and fallback.
+ // If empty, the default set is used (expfmt.DefaultAcceptedFormats()).
+ // If empty and EnableOpenMetrics is true, stable OpenMetrics formats are negotiated
+ // (expfmt.DefaultOpenMetricsAcceptedFormats()).
+ // This is useful for testing experimental formats (e.g. OpenMetrics 2.0)
+ // or restricting the formats you want to allow.
+ // Using EnableOpenMetrics with an empty AcceptedFormats is still the recommended option for the majority of cases.
+ AcceptedFormats []expfmt.Format
}
// httpError removes any content-encoding header and then calls http.Error with
@@ -460,7 +663,7 @@ func httpError(rsp http.ResponseWriter, err error) {
// negotiateEncodingWriter reads the Accept-Encoding header from a request and
// selects the right compression based on an allow-list of supported
-// compressions. It returns a writer implementing the compression and an the
+// compressions. It returns a writer implementing the compression and the
// correct value that the caller can set in the response header.
func negotiateEncodingWriter(r *http.Request, rw io.Writer, compressions []string) (_ io.Writer, encodingHeaderValue string, closeWriter func(), _ error) {
if len(compressions) == 0 {
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_client.go b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_client.go
index d3482c40c..024857974 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_client.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_client.go
@@ -75,10 +75,10 @@ func InstrumentRoundTripperCounter(counter *prometheus.CounterVec, next http.Rou
resp, err := next.RoundTrip(r)
if err == nil {
l := labels(code, method, r.Method, resp.StatusCode, rtOpts.extraMethods...)
- for label, resolve := range rtOpts.extraLabelsFromCtx {
- l[label] = resolve(resp.Request.Context())
+ for label, resolve := range rtOpts.extraLabelsFromRequest {
+ l[label] = resolve(resp.Request)
}
- addWithExemplar(counter.With(l), 1, rtOpts.getExemplarFn(r.Context()))
+ addWithExemplar(counter.With(l), 1, rtOpts.getExemplarFn(r))
}
return resp, err
}
@@ -119,10 +119,10 @@ func InstrumentRoundTripperDuration(obs prometheus.ObserverVec, next http.RoundT
resp, err := next.RoundTrip(r)
if err == nil {
l := labels(code, method, r.Method, resp.StatusCode, rtOpts.extraMethods...)
- for label, resolve := range rtOpts.extraLabelsFromCtx {
- l[label] = resolve(resp.Request.Context())
+ for label, resolve := range rtOpts.extraLabelsFromRequest {
+ l[label] = resolve(resp.Request)
}
- observeWithExemplar(obs.With(l), time.Since(start).Seconds(), rtOpts.getExemplarFn(r.Context()))
+ observeWithExemplar(obs.With(l), time.Since(start).Seconds(), rtOpts.getExemplarFn(r))
}
return resp, err
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.go b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.go
index 9332b0249..9dec091ac 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.go
@@ -28,24 +28,36 @@ import (
// magicString is used for the hacky label test in checkLabels. Remove once fixed.
const magicString = "zZgWfBxLqvG8kc8IMv3POi2Bb0tZI3vAnBx+gBaFi9FyPzB/CzKUer1yufDa"
-// observeWithExemplar is a wrapper for [prometheus.ExemplarAdder.ExemplarObserver],
-// which falls back to [prometheus.Observer.Observe] if no labels are provided.
+// observeWithExemplar records val on obs. If labels is non-nil and obs
+// implements [prometheus.ExemplarObserver], the exemplar is attached via
+// ObserveWithExemplar; otherwise the exemplar is dropped and the value is
+// recorded with a plain [prometheus.Observer.Observe]. This mirrors the
+// safe-cast pattern in [prometheus.Timer.ObserveDurationWithExemplar] and
+// ensures we never panic when callers pass an ObserverVec backed by a
+// summary, which cannot carry exemplars in the Prometheus exposition format.
func observeWithExemplar(obs prometheus.Observer, val float64, labels map[string]string) {
- if labels == nil {
- obs.Observe(val)
- return
+ if labels != nil {
+ if eo, ok := obs.(prometheus.ExemplarObserver); ok {
+ eo.ObserveWithExemplar(val, labels)
+ return
+ }
}
- obs.(prometheus.ExemplarObserver).ObserveWithExemplar(val, labels)
+ obs.Observe(val)
}
-// addWithExemplar is a wrapper for [prometheus.ExemplarAdder.AddWithExemplar],
-// which falls back to [prometheus.Counter.Add] if no labels are provided.
-func addWithExemplar(obs prometheus.Counter, val float64, labels map[string]string) {
- if labels == nil {
- obs.Add(val)
- return
+// addWithExemplar records val on c. If labels is non-nil and c implements
+// [prometheus.ExemplarAdder], the exemplar is attached via AddWithExemplar;
+// otherwise the exemplar is dropped and the value is recorded with a plain
+// [prometheus.Counter.Add]. The safe-cast keeps the helper robust against
+// custom Counter implementations that do not advertise exemplar support.
+func addWithExemplar(c prometheus.Counter, val float64, labels map[string]string) {
+ if labels != nil {
+ if ea, ok := c.(prometheus.ExemplarAdder); ok {
+ ea.AddWithExemplar(val, labels)
+ return
+ }
}
- obs.(prometheus.ExemplarAdder).AddWithExemplar(val, labels)
+ c.Add(val)
}
// InstrumentHandlerInFlight is a middleware that wraps the provided
@@ -97,10 +109,10 @@ func InstrumentHandlerDuration(obs prometheus.ObserverVec, next http.Handler, op
next.ServeHTTP(d, r)
l := labels(code, method, r.Method, d.Status(), hOpts.extraMethods...)
- for label, resolve := range hOpts.extraLabelsFromCtx {
- l[label] = resolve(r.Context())
+ for label, resolve := range hOpts.extraLabelsFromRequest {
+ l[label] = resolve(r)
}
- observeWithExemplar(obs.With(l), time.Since(now).Seconds(), hOpts.getExemplarFn(r.Context()))
+ observeWithExemplar(obs.With(l), time.Since(now).Seconds(), hOpts.getExemplarFn(r))
}
}
@@ -108,10 +120,10 @@ func InstrumentHandlerDuration(obs prometheus.ObserverVec, next http.Handler, op
now := time.Now()
next.ServeHTTP(w, r)
l := labels(code, method, r.Method, 0, hOpts.extraMethods...)
- for label, resolve := range hOpts.extraLabelsFromCtx {
- l[label] = resolve(r.Context())
+ for label, resolve := range hOpts.extraLabelsFromRequest {
+ l[label] = resolve(r)
}
- observeWithExemplar(obs.With(l), time.Since(now).Seconds(), hOpts.getExemplarFn(r.Context()))
+ observeWithExemplar(obs.With(l), time.Since(now).Seconds(), hOpts.getExemplarFn(r))
}
}
@@ -147,10 +159,10 @@ func InstrumentHandlerCounter(counter *prometheus.CounterVec, next http.Handler,
next.ServeHTTP(d, r)
l := labels(code, method, r.Method, d.Status(), hOpts.extraMethods...)
- for label, resolve := range hOpts.extraLabelsFromCtx {
- l[label] = resolve(r.Context())
+ for label, resolve := range hOpts.extraLabelsFromRequest {
+ l[label] = resolve(r)
}
- addWithExemplar(counter.With(l), 1, hOpts.getExemplarFn(r.Context()))
+ addWithExemplar(counter.With(l), 1, hOpts.getExemplarFn(r))
}
}
@@ -158,10 +170,10 @@ func InstrumentHandlerCounter(counter *prometheus.CounterVec, next http.Handler,
next.ServeHTTP(w, r)
l := labels(code, method, r.Method, 0, hOpts.extraMethods...)
- for label, resolve := range hOpts.extraLabelsFromCtx {
- l[label] = resolve(r.Context())
+ for label, resolve := range hOpts.extraLabelsFromRequest {
+ l[label] = resolve(r)
}
- addWithExemplar(counter.With(l), 1, hOpts.getExemplarFn(r.Context()))
+ addWithExemplar(counter.With(l), 1, hOpts.getExemplarFn(r))
}
}
@@ -200,10 +212,10 @@ func InstrumentHandlerTimeToWriteHeader(obs prometheus.ObserverVec, next http.Ha
now := time.Now()
d := newDelegator(w, func(status int) {
l := labels(code, method, r.Method, status, hOpts.extraMethods...)
- for label, resolve := range hOpts.extraLabelsFromCtx {
- l[label] = resolve(r.Context())
+ for label, resolve := range hOpts.extraLabelsFromRequest {
+ l[label] = resolve(r)
}
- observeWithExemplar(obs.With(l), time.Since(now).Seconds(), hOpts.getExemplarFn(r.Context()))
+ observeWithExemplar(obs.With(l), time.Since(now).Seconds(), hOpts.getExemplarFn(r))
})
next.ServeHTTP(d, r)
}
@@ -244,10 +256,10 @@ func InstrumentHandlerRequestSize(obs prometheus.ObserverVec, next http.Handler,
size := computeApproximateRequestSize(r)
l := labels(code, method, r.Method, d.Status(), hOpts.extraMethods...)
- for label, resolve := range hOpts.extraLabelsFromCtx {
- l[label] = resolve(r.Context())
+ for label, resolve := range hOpts.extraLabelsFromRequest {
+ l[label] = resolve(r)
}
- observeWithExemplar(obs.With(l), float64(size), hOpts.getExemplarFn(r.Context()))
+ observeWithExemplar(obs.With(l), float64(size), hOpts.getExemplarFn(r))
}
}
@@ -256,10 +268,10 @@ func InstrumentHandlerRequestSize(obs prometheus.ObserverVec, next http.Handler,
size := computeApproximateRequestSize(r)
l := labels(code, method, r.Method, 0, hOpts.extraMethods...)
- for label, resolve := range hOpts.extraLabelsFromCtx {
- l[label] = resolve(r.Context())
+ for label, resolve := range hOpts.extraLabelsFromRequest {
+ l[label] = resolve(r)
}
- observeWithExemplar(obs.With(l), float64(size), hOpts.getExemplarFn(r.Context()))
+ observeWithExemplar(obs.With(l), float64(size), hOpts.getExemplarFn(r))
}
}
@@ -296,10 +308,10 @@ func InstrumentHandlerResponseSize(obs prometheus.ObserverVec, next http.Handler
next.ServeHTTP(d, r)
l := labels(code, method, r.Method, d.Status(), hOpts.extraMethods...)
- for label, resolve := range hOpts.extraLabelsFromCtx {
- l[label] = resolve(r.Context())
+ for label, resolve := range hOpts.extraLabelsFromRequest {
+ l[label] = resolve(r)
}
- observeWithExemplar(obs.With(l), float64(d.Written()), hOpts.getExemplarFn(r.Context()))
+ observeWithExemplar(obs.With(l), float64(d.Written()), hOpts.getExemplarFn(r))
})
}
@@ -366,7 +378,7 @@ func checkLabels(c prometheus.Collector) (code, method bool) {
panic("metric partitioned with non-supported labels")
}
}
- return
+ return code, method
}
func isLabelCurried(c prometheus.Collector, label string) bool {
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/option.go b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/option.go
index 5d4383aa1..258a2a5b5 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/option.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/option.go
@@ -15,6 +15,7 @@ package promhttp
import (
"context"
+ "net/http"
"github.com/prometheus/client_golang/prometheus"
)
@@ -24,28 +25,31 @@ type Option interface {
apply(*options)
}
+// LabelValueFromRequest is used to compute the label value from request.
+type LabelValueFromRequest func(request *http.Request) string
+
// LabelValueFromCtx are used to compute the label value from request context.
// Context can be filled with values from request through middleware.
type LabelValueFromCtx func(ctx context.Context) string
// options store options for both a handler or round tripper.
type options struct {
- extraMethods []string
- getExemplarFn func(requestCtx context.Context) prometheus.Labels
- extraLabelsFromCtx map[string]LabelValueFromCtx
+ extraMethods []string
+ getExemplarFn func(req *http.Request) prometheus.Labels
+ extraLabelsFromRequest map[string]LabelValueFromRequest
}
func defaultOptions() *options {
return &options{
- getExemplarFn: func(ctx context.Context) prometheus.Labels { return nil },
- extraLabelsFromCtx: map[string]LabelValueFromCtx{},
+ getExemplarFn: func(_ *http.Request) prometheus.Labels { return nil },
+ extraLabelsFromRequest: map[string]LabelValueFromRequest{},
}
}
func (o *options) emptyDynamicLabels() prometheus.Labels {
labels := prometheus.Labels{}
- for label := range o.extraLabelsFromCtx {
+ for label := range o.extraLabelsFromRequest {
labels[label] = ""
}
@@ -66,19 +70,39 @@ func WithExtraMethods(methods ...string) Option {
})
}
-// WithExemplarFromContext allows to inject function that will get exemplar from context that will be put to counter and histogram metrics.
+// WithExemplarFromRequest allows you to inject a function that will get exemplar from request that will be put to counter and histogram metrics.
// If the function returns nil labels or the metric does not support exemplars, no exemplar will be added (noop), but
// metric will continue to observe/increment.
-func WithExemplarFromContext(getExemplarFn func(requestCtx context.Context) prometheus.Labels) Option {
+func WithExemplarFromRequest(getExemplarFn func(req *http.Request) prometheus.Labels) Option {
return optionApplyFunc(func(o *options) {
o.getExemplarFn = getExemplarFn
})
}
+// WithExemplarFromContext allows you to inject a function that will get exemplar from context that will be put to counter and histogram metrics.
+// If the function returns nil labels or the metric does not support exemplars, no exemplar will be added (noop), but
+// metric will continue to observe/increment.
+func WithExemplarFromContext(getExemplarFn func(requestCtx context.Context) prometheus.Labels) Option {
+ return optionApplyFunc(func(o *options) {
+ o.getExemplarFn = func(req *http.Request) prometheus.Labels {
+ return getExemplarFn(req.Context())
+ }
+ })
+}
+
+// WithLabelFromRequest registers a label for dynamic resolution with access to the request.
+func WithLabelFromRequest(name string, valueFn LabelValueFromRequest) Option {
+ return optionApplyFunc(func(o *options) {
+ o.extraLabelsFromRequest[name] = valueFn
+ })
+}
+
// WithLabelFromCtx registers a label for dynamic resolution with access to context.
// See the example for ExampleInstrumentHandlerWithLabelResolver for example usage
func WithLabelFromCtx(name string, valueFn LabelValueFromCtx) Option {
return optionApplyFunc(func(o *options) {
- o.extraLabelsFromCtx[name] = valueFn
+ o.extraLabelsFromRequest[name] = func(req *http.Request) string {
+ return valueFn(req.Context())
+ }
})
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/registry.go b/vendor/github.com/prometheus/client_golang/prometheus/registry.go
index c6fd2f58b..4151b59c4 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/registry.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/registry.go
@@ -17,6 +17,7 @@ import (
"bytes"
"errors"
"fmt"
+ "maps"
"os"
"path/filepath"
"runtime"
@@ -31,7 +32,6 @@ import (
"github.com/cespare/xxhash/v2"
dto "github.com/prometheus/client_model/go"
"github.com/prometheus/common/expfmt"
- "google.golang.org/protobuf/proto"
)
const (
@@ -214,6 +214,19 @@ func (err AlreadyRegisteredError) Error() string {
// by a Gatherer to report multiple errors during MetricFamily gathering.
type MultiError []error
+// SafeMultiError is a thread-safe wrapper around MultiError using a mutex.
+type SafeMultiError struct {
+ mu sync.Mutex
+ errs MultiError
+}
+
+// Appends the provided error to the contained MultiError in a thread-safe way.
+func (s *SafeMultiError) Append(err error) {
+ s.mu.Lock()
+ s.errs.Append(err)
+ s.mu.Unlock()
+}
+
// Error formats the contained errors as a bullet point list, preceded by the
// total number of errors. Note that this results in a multi-line string.
func (errs MultiError) Error() string {
@@ -283,6 +296,7 @@ func (r *Registry) Register(c Collector) error {
defer func() {
// Drain channel in case of premature return to not leak a goroutine.
for range descChan {
+ continue
}
r.mtx.Unlock()
}()
@@ -356,9 +370,7 @@ func (r *Registry) Register(c Collector) error {
for hash := range newDescIDs {
r.descIDs[hash] = struct{}{}
}
- for name, dimHash := range newDimHashesByName {
- r.dimHashesByName[name] = dimHash
- }
+ maps.Copy(r.dimHashesByName, newDimHashesByName)
return nil
}
@@ -408,6 +420,16 @@ func (r *Registry) MustRegister(cs ...Collector) {
}
}
+// MustGather implements Gatherer.
+// Wraps around Gather and panics if Gather fails for any reason.
+func (r *Registry) MustGather() []*dto.MetricFamily {
+ mfs, err := r.Gather()
+ if err != nil {
+ panic(err)
+ }
+ return mfs
+}
+
// Gather implements Gatherer.
func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
r.mtx.RLock()
@@ -423,7 +445,7 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
uncheckedMetricChan = make(chan Metric, capMetricChan)
metricHashes = map[uint64]struct{}{}
wg sync.WaitGroup
- errs MultiError // The collected errors to return in the end.
+ safeErrs = &SafeMultiError{} // To collect errors in a threadsafe way
registeredDescIDs map[uint64]struct{} // Only used for pedantic checks
)
@@ -453,9 +475,9 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
for {
select {
case collector := <-checkedCollectors:
- collector.Collect(checkedMetricChan)
+ safeErrs.Append(safeCollect(collector, checkedMetricChan))
case collector := <-uncheckedCollectors:
- collector.Collect(uncheckedMetricChan)
+ safeErrs.Append(safeCollect(collector, uncheckedMetricChan))
default:
return
}
@@ -479,10 +501,12 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
defer func() {
if checkedMetricChan != nil {
for range checkedMetricChan {
+ continue
}
}
if uncheckedMetricChan != nil {
for range uncheckedMetricChan {
+ continue
}
}
}()
@@ -499,7 +523,7 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
cmc = nil
break
}
- errs.Append(processMetric(
+ safeErrs.Append(processMetric(
metric, metricFamiliesByName,
metricHashes,
registeredDescIDs,
@@ -509,7 +533,7 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
umc = nil
break
}
- errs.Append(processMetric(
+ safeErrs.Append(processMetric(
metric, metricFamiliesByName,
metricHashes,
nil,
@@ -526,7 +550,7 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
cmc = nil
break
}
- errs.Append(processMetric(
+ safeErrs.Append(processMetric(
metric, metricFamiliesByName,
metricHashes,
registeredDescIDs,
@@ -536,7 +560,7 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
umc = nil
break
}
- errs.Append(processMetric(
+ safeErrs.Append(processMetric(
metric, metricFamiliesByName,
metricHashes,
nil,
@@ -556,7 +580,8 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
break
}
}
- return internal.NormalizeMetricFamilies(metricFamiliesByName), errs.MaybeUnwrap()
+
+ return internal.NormalizeMetricFamilies(metricFamiliesByName), safeErrs.errs.MaybeUnwrap()
}
// Describe implements Collector.
@@ -571,6 +596,24 @@ func (r *Registry) Describe(ch chan<- *Desc) {
}
}
+// Helper wrapper around Collector.Collect.
+// It tries to collect from the channel, recovers on panic and
+// if it has recovered from a panic, then it sends an InvalidMetric into
+// the channel with an InvalidDesc, and an error that includes a stack trace.
+func safeCollect(c Collector, ch chan<- Metric) (err error) {
+ defer func() {
+ if r := recover(); r != nil {
+ buf := make([]byte, 64<<10) // 64 KB
+ n := runtime.Stack(buf, false)
+ err = fmt.Errorf("prometheus collector panic recovered: type=%T: error=%v\nstack trace=%s", c, r, buf[:n])
+ ch <- NewInvalidMetric(NewInvalidDesc(err), err)
+ }
+ }()
+ c.Collect(ch)
+
+ return err
+}
+
// Collect implements Collector.
func (r *Registry) Collect(ch chan<- Metric) {
r.mtx.RLock()
@@ -599,10 +642,12 @@ func WriteToTextfile(filename string, g Gatherer) error {
mfs, err := g.Gather()
if err != nil {
+ tmp.Close()
return err
}
for _, mf := range mfs {
if _, err := expfmt.MetricFamilyToText(tmp, mf); err != nil {
+ tmp.Close()
return err
}
}
@@ -683,8 +728,11 @@ func processMetric(
}
} else { // New name.
metricFamily = &dto.MetricFamily{}
- metricFamily.Name = proto.String(desc.fqName)
- metricFamily.Help = proto.String(desc.help)
+ metricFamily.Name = new(desc.fqName)
+ metricFamily.Help = new(desc.help)
+ if desc.unit != "" {
+ metricFamily.Unit = new(desc.unit)
+ }
// TODO(beorn7): Simplify switch once Desc has type.
switch {
case dtoMetric.Gauge != nil:
@@ -909,7 +957,8 @@ func checkMetricConsistency(
if !utf8.ValidString(labelPair.GetValue()) {
return fmt.Errorf(
"collected metric %q { %s} has a label named %q whose value is not utf8: %#v",
- name, dtoMetric, labelName, labelPair.GetValue())
+ name, dtoMetric, labelName, labelPair.GetValue(),
+ )
}
previousLabelName = labelName
}
@@ -934,7 +983,7 @@ func checkMetricConsistency(
h.Write(separatorByteSlice)
}
if dtoMetric.TimestampMs != nil {
- h.WriteString(strconv.FormatInt(*(dtoMetric.TimestampMs), 10))
+ h.WriteString(strconv.FormatInt(*dtoMetric.TimestampMs, 10))
h.Write(separatorByteSlice)
}
hSum := h.Sum64()
@@ -966,7 +1015,7 @@ func checkDescConsistency(
copy(lpsFromDesc, desc.constLabelPairs)
for _, l := range desc.variableLabels.names {
lpsFromDesc = append(lpsFromDesc, &dto.LabelPair{
- Name: proto.String(l),
+ Name: new(l),
})
}
if len(lpsFromDesc) != len(dtoMetric.Label) {
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/summary.go b/vendor/github.com/prometheus/client_golang/prometheus/summary.go
index ac5203c6f..d92850ca0 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/summary.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/summary.go
@@ -25,7 +25,6 @@ import (
dto "github.com/prometheus/client_model/go"
"github.com/beorn7/perks/quantile"
- "google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/timestamppb"
)
@@ -101,6 +100,9 @@ type SummaryOpts struct {
// string.
Help string
+ // Unit provides the unit of this Summary.
+ Unit string
+
// ConstLabels are used to attach fixed labels to this metric. Metrics
// with the same fully-qualified name must have the same label names in
// their ConstLabels.
@@ -181,11 +183,12 @@ type SummaryVecOpts struct {
// NewSummary creates a new Summary based on the provided SummaryOpts.
func NewSummary(opts SummaryOpts) Summary {
return newSummary(
- NewDesc(
+ V2.NewDesc(
BuildFQName(opts.Namespace, opts.Subsystem, opts.Name),
opts.Help,
- nil,
+ UnconstrainedLabels(nil),
opts.ConstLabels,
+ WithUnit(opts.Unit),
),
opts,
)
@@ -333,8 +336,8 @@ func (s *summary) Write(out *dto.Metric) error {
s.bufMtx.Unlock()
s.flushColdBuf()
- sum.SampleCount = proto.Uint64(s.cnt)
- sum.SampleSum = proto.Float64(s.sum)
+ sum.SampleCount = new(s.cnt)
+ sum.SampleSum = new(s.sum)
for _, rank := range s.sortedObjectives {
var q float64
@@ -344,8 +347,8 @@ func (s *summary) Write(out *dto.Metric) error {
q = s.headStream.Query(rank)
}
qs = append(qs, &dto.Quantile{
- Quantile: proto.Float64(rank),
- Value: proto.Float64(q),
+ Quantile: new(rank),
+ Value: new(q),
})
}
@@ -508,8 +511,8 @@ func (s *noObjectivesSummary) Write(out *dto.Metric) error {
}
sum := &dto.Summary{
- SampleCount: proto.Uint64(count),
- SampleSum: proto.Float64(math.Float64frombits(atomic.LoadUint64(&coldCounts.sumBits))),
+ SampleCount: new(count),
+ SampleSum: new(math.Float64frombits(atomic.LoadUint64(&coldCounts.sumBits))),
CreatedTimestamp: s.createdTs,
}
@@ -578,6 +581,7 @@ func (v2) NewSummaryVec(opts SummaryVecOpts) *SummaryVec {
opts.Help,
opts.VariableLabels,
opts.ConstLabels,
+ WithUnit(opts.Unit),
)
return &SummaryVec{
MetricVec: NewMetricVec(desc, func(lvs ...string) Metric {
@@ -713,13 +717,13 @@ func (s *constSummary) Write(out *dto.Metric) error {
}
qs := make([]*dto.Quantile, 0, len(s.quantiles))
- sum.SampleCount = proto.Uint64(s.count)
- sum.SampleSum = proto.Float64(s.sum)
+ sum.SampleCount = new(s.count)
+ sum.SampleSum = new(s.sum)
for rank, q := range s.quantiles {
qs = append(qs, &dto.Quantile{
- Quantile: proto.Float64(rank),
- Value: proto.Float64(q),
+ Quantile: new(rank),
+ Value: new(q),
})
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/timer.go b/vendor/github.com/prometheus/client_golang/prometheus/timer.go
index 52344fef5..c1318ffb5 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/timer.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/timer.go
@@ -37,10 +37,10 @@ type Timer struct {
// or
//
// func TimeMeWithExemplar() {
-// timer := NewTimer(myHistogram)
-// defer timer.ObserveDurationWithExemplar(exemplar)
-// // Do actual work.
-// }
+// timer := NewTimer(myHistogram)
+// defer timer.ObserveDurationWithExemplar(exemplar)
+// // Do actual work.
+// }
func NewTimer(o Observer) *Timer {
return &Timer{
begin: time.Now(),
@@ -66,7 +66,7 @@ func (t *Timer) ObserveDuration() time.Duration {
// ObserveDurationWithExemplar is like ObserveDuration, but it will also
// observe exemplar with the duration unless exemplar is nil or provided Observer can't
-// be casted to ExemplarObserver.
+// be cast to ExemplarObserver.
func (t *Timer) ObserveDurationWithExemplar(exemplar Labels) time.Duration {
d := time.Since(t.begin)
eo, ok := t.observer.(ExemplarObserver)
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/value.go b/vendor/github.com/prometheus/client_golang/prometheus/value.go
index cc23011fa..c856e4f33 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/value.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/value.go
@@ -23,7 +23,6 @@ import (
"github.com/prometheus/client_golang/prometheus/internal"
dto "github.com/prometheus/client_model/go"
- "google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/timestamppb"
)
@@ -196,11 +195,11 @@ func populateMetric(
m.Label = labelPairs
switch t {
case CounterValue:
- m.Counter = &dto.Counter{Value: proto.Float64(v), Exemplar: e, CreatedTimestamp: ct}
+ m.Counter = &dto.Counter{Value: new(v), Exemplar: e, CreatedTimestamp: ct}
case GaugeValue:
- m.Gauge = &dto.Gauge{Value: proto.Float64(v)}
+ m.Gauge = &dto.Gauge{Value: new(v)}
case UntypedValue:
- m.Untyped = &dto.Untyped{Value: proto.Float64(v)}
+ m.Untyped = &dto.Untyped{Value: new(v)}
default:
return fmt.Errorf("encountered unknown type %v", t)
}
@@ -227,8 +226,8 @@ func MakeLabelPairs(desc *Desc, labelValues []string) []*dto.LabelPair {
labelPairs := make([]*dto.LabelPair, 0, totalLen)
for i, l := range desc.variableLabels.names {
labelPairs = append(labelPairs, &dto.LabelPair{
- Name: proto.String(l),
- Value: proto.String(labelValues[i]),
+ Name: new(l),
+ Value: new(labelValues[i]),
})
}
labelPairs = append(labelPairs, desc.constLabelPairs...)
@@ -244,7 +243,7 @@ const ExemplarMaxRunes = 128
// number of runes in the label names and values exceeds ExemplarMaxRunes.
func newExemplar(value float64, ts time.Time, l Labels) (*dto.Exemplar, error) {
e := &dto.Exemplar{}
- e.Value = proto.Float64(value)
+ e.Value = new(value)
tsProto := timestamppb.New(ts)
if err := tsProto.CheckValid(); err != nil {
return nil, err
@@ -262,8 +261,8 @@ func newExemplar(value float64, ts time.Time, l Labels) (*dto.Exemplar, error) {
}
runes += utf8.RuneCountInString(value)
labelPairs = append(labelPairs, &dto.LabelPair{
- Name: proto.String(name),
- Value: proto.String(value),
+ Name: new(name),
+ Value: new(value),
})
}
if runes > ExemplarMaxRunes {
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/vec.go b/vendor/github.com/prometheus/client_golang/prometheus/vec.go
index 487b46656..121d2a963 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/vec.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/vec.go
@@ -193,9 +193,11 @@ func (m *MetricVec) CurryWith(labels Labels) (*MetricVec, error) {
//
// Keeping the Metric for later use is possible (and should be considered if
// performance is critical), but keep in mind that Reset, DeleteLabelValues and
-// Delete can be used to delete the Metric from the MetricVec. In that case, the
-// Metric will still exist, but it will not be exported anymore, even if a
-// Metric with the same label values is created later.
+// Delete can be used to delete the Metric from the MetricVec. In that case, if
+// you have previously kept a reference to that Metric, the Metric object still
+// exists and can be used, but it will not be exported anymore. If a Metric with
+// the same label values is created later, updates to the old Metric reference
+// will not be exported.
//
// An error is returned if the number of label values is not the same as the
// number of variable labels in Desc (minus any curried labels).
@@ -657,7 +659,7 @@ func inlineLabelValues(lvs []string, curry []curriedLabelValue) []string {
}
var labelsPool = &sync.Pool{
- New: func() interface{} {
+ New: func() any {
return make(Labels)
},
}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/wrap.go b/vendor/github.com/prometheus/client_golang/prometheus/wrap.go
index 2ed128506..cc9ae8f20 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/wrap.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/wrap.go
@@ -20,7 +20,6 @@ import (
"github.com/prometheus/client_golang/prometheus/internal"
dto "github.com/prometheus/client_model/go"
- "google.golang.org/protobuf/proto"
)
// WrapRegistererWith returns a Registerer wrapping the provided
@@ -212,8 +211,8 @@ func (m *wrappingMetric) Write(out *dto.Metric) error {
}
for ln, lv := range m.labels {
out.Label = append(out.Label, &dto.LabelPair{
- Name: proto.String(ln),
- Value: proto.String(lv),
+ Name: new(ln),
+ Value: new(lv),
})
}
sort.Sort(internal.LabelPairSorter(out.Label))
@@ -230,6 +229,7 @@ func wrapDesc(desc *Desc, prefix string, labels Labels) *Desc {
return &Desc{
fqName: desc.fqName,
help: desc.help,
+ unit: desc.unit,
variableLabels: desc.variableLabels,
constLabelPairs: desc.constLabelPairs,
err: fmt.Errorf("attempted wrapping with already existing label name %q", ln),
@@ -238,8 +238,8 @@ func wrapDesc(desc *Desc, prefix string, labels Labels) *Desc {
constLabels[ln] = lv
}
// NewDesc will do remaining validations.
- newDesc := V2.NewDesc(prefix+desc.fqName, desc.help, desc.variableLabels, constLabels)
- // Propagate errors if there was any. This will override any errer
+ newDesc := V2.NewDesc(prefix+desc.fqName, desc.help, desc.variableLabels, constLabels, WithUnit(desc.unit))
+ // Propagate errors if there was any. This will override any error
// created by NewDesc above, i.e. earlier errors get precedence.
if desc.err != nil {
newDesc.err = desc.err
diff --git a/vendor/github.com/prometheus/common/expfmt/decode.go b/vendor/github.com/prometheus/common/expfmt/decode.go
index 8f8dc65d3..0339d8c1d 100644
--- a/vendor/github.com/prometheus/common/expfmt/decode.go
+++ b/vendor/github.com/prometheus/common/expfmt/decode.go
@@ -72,13 +72,15 @@ func ResponseFormat(h http.Header) Format {
// NewDecoder returns a new decoder based on the given input format. Metric
// names are validated based on the provided Format -- if the format requires
-// escaping, raditional Prometheues validity checking is used. Otherwise, names
+// escaping, traditional Prometheus validity checking is used. Otherwise, names
// are checked for UTF-8 validity. Supported formats include delimited protobuf
-// and Prometheus text format. For historical reasons, this decoder fallbacks
-// to classic text decoding for any other format. This decoder does not fully
-// support OpenMetrics although it may often succeed due to the similarities
-// between the formats. This decoder may not support the latest features of
-// Prometheus text format and is not intended for high-performance applications.
+// and Prometheus text format. For historical reasons, this decoder falls back
+// to classic text decoding for other legacy formats, but returns an error for
+// unsupported formats such as OpenMetrics 2.0. This decoder does not fully
+// support OpenMetrics although it may often succeed for OpenMetrics 1.0 due to
+// the similarities between the formats. This decoder may not support the latest
+// features of Prometheus text format and is not intended for high-performance
+// applications.
// See: https://github.com/prometheus/common/issues/812
func NewDecoder(r io.Reader, format Format) Decoder {
scheme := model.LegacyValidation
@@ -90,6 +92,11 @@ func NewDecoder(r io.Reader, format Format) Decoder {
return &protoDecoder{r: bufio.NewReader(r), s: scheme}
case TypeProtoText, TypeProtoCompact:
return &errDecoder{err: fmt.Errorf("format %s not supported for decoding", format)}
+ case TypeOpenMetrics:
+ _, params, err := mime.ParseMediaType(string(format))
+ if err == nil && params["version"] == OpenMetricsVersion_2_0_0 {
+ return &errDecoder{err: fmt.Errorf("format %s not supported for decoding", format)}
+ }
}
return &textDecoder{r: r, s: scheme}
}
diff --git a/vendor/github.com/prometheus/common/expfmt/encode.go b/vendor/github.com/prometheus/common/expfmt/encode.go
index 73c24dfbc..651e69a2c 100644
--- a/vendor/github.com/prometheus/common/expfmt/encode.go
+++ b/vendor/github.com/prometheus/common/expfmt/encode.go
@@ -16,7 +16,9 @@ package expfmt
import (
"fmt"
"io"
+ "mime"
"net/http"
+ "slices"
"github.com/munnerz/goautoneg"
dto "github.com/prometheus/client_model/go"
@@ -26,6 +28,55 @@ import (
"github.com/prometheus/common/model"
)
+var formatToAccept = map[Format]goautoneg.Accept{}
+
+func init() {
+ for _, f := range []Format{
+ FmtText,
+ FmtProtoDelim,
+ FmtProtoText,
+ FmtProtoCompact,
+ FmtOpenMetrics_1_0_0,
+ FmtOpenMetrics_2_0_0,
+ FmtOpenMetrics_0_0_1,
+ } {
+ if parsed := goautoneg.ParseAccept(string(f)); len(parsed) > 0 {
+ formatToAccept[f] = parsed[0]
+ }
+ }
+}
+
+var (
+ defaultAcceptedFormats = []Format{
+ FmtProtoDelim,
+ FmtProtoText,
+ FmtProtoCompact,
+ FmtText,
+ }
+
+ defaultOpenMetricsAcceptedFormats = []Format{
+ FmtOpenMetrics_1_0_0,
+ FmtOpenMetrics_0_0_1,
+ FmtProtoDelim,
+ FmtProtoText,
+ FmtProtoCompact,
+ FmtText,
+ }
+)
+
+// DefaultAcceptedFormats returns a copy of standard accepted formats for Negotiate,
+// ordered by preference (delimited protobuf, protobuf text, compact protobuf text,
+// and Prometheus text format).
+func DefaultAcceptedFormats() []Format {
+ return slices.Clone(defaultAcceptedFormats)
+}
+
+// DefaultOpenMetricsAcceptedFormats returns a copy of standard accepted formats including
+// stable OpenMetrics formats, ordered by preference.
+func DefaultOpenMetricsAcceptedFormats() []Format {
+ return slices.Clone(defaultOpenMetricsAcceptedFormats)
+}
+
// Encoder types encode metric families into an underlying wire protocol.
type Encoder interface {
Encode(*dto.MetricFamily) error
@@ -57,11 +108,30 @@ func (ec encoderCloser) Close() error {
// Negotiate returns the Content-Type based on the given Accept header. If no
// appropriate accepted type is found, FmtText is returned (which is the
-// Prometheus text format). This function will never negotiate FmtOpenMetrics,
-// as the support is still experimental. To include the option to negotiate
-// FmtOpenMetrics, use NegotiateIncludingOpenMetrics.
+// Prometheus text format).
+//
+// Deprecated: Use NegotiateAccept(h, DefaultAcceptedFormats()...)
+// or specify only the formats supported by your server.
func Negotiate(h http.Header) Format {
- escapingScheme := Format(fmt.Sprintf("; escaping=%s", Format(model.NameEscapingScheme.String())))
+ return NegotiateAccept(h, defaultAcceptedFormats...)
+}
+
+// NegotiateIncludingOpenMetrics works like Negotiate but includes all stable
+// FmtOpenMetrics formats as an option for the result.
+//
+// Deprecated: Use NegotiateAccept(h, DefaultOpenMetricsAcceptedFormats()...)
+// or specify only the formats supported by your server.
+func NegotiateIncludingOpenMetrics(h http.Header) Format {
+ return NegotiateAccept(h, defaultOpenMetricsAcceptedFormats...)
+}
+
+// NegotiateAccept returns the Content-Type based on the given Accept header
+// and the list of accepted Formats provided by the caller, in order of preference.
+// If no accepted format matches the Accept header, it falls back to the text
+// format if present in the accepted list, or the first accepted format (or FmtText
+// if accepted is empty).
+func NegotiateAccept(h http.Header, accepted ...Format) Format {
+ escapingScheme := Format("; escaping=" + model.NameEscapingScheme.String())
for _, ac := range goautoneg.ParseAccept(h.Get(hdrAccept)) {
if escapeParam := ac.Params[model.EscapingKey]; escapeParam != "" {
switch Format(escapeParam) {
@@ -71,63 +141,66 @@ func Negotiate(h http.Header) Format {
// If the escaping parameter is unknown, ignore it.
}
}
- ver := ac.Params["version"]
- if ac.Type+"/"+ac.SubType == ProtoType && ac.Params["proto"] == ProtoProtocol {
- switch ac.Params["encoding"] {
- case "delimited":
- return FmtProtoDelim + escapingScheme
- case "text":
- return FmtProtoText + escapingScheme
- case "compact-text":
- return FmtProtoCompact + escapingScheme
+
+ for _, f := range accepted {
+ if matchFormat(ac, f) {
+ return f + escapingScheme
}
}
- if ac.Type == "text" && ac.SubType == "plain" && (ver == TextVersion || ver == "") {
- return FmtText + escapingScheme
+ }
+ for _, f := range accepted {
+ if f.FormatType() == TypeTextPlain {
+ return f + escapingScheme
}
}
+ if len(accepted) > 0 {
+ return accepted[0] + escapingScheme
+ }
return FmtText + escapingScheme
}
-// NegotiateIncludingOpenMetrics works like Negotiate but includes
-// FmtOpenMetrics as an option for the result. Note that this function is
-// temporary and will disappear once FmtOpenMetrics is fully supported and as
-// such may be negotiated by the normal Negotiate function.
-func NegotiateIncludingOpenMetrics(h http.Header) Format {
- escapingScheme := Format(fmt.Sprintf("; escaping=%s", Format(model.NameEscapingScheme.String())))
- for _, ac := range goautoneg.ParseAccept(h.Get(hdrAccept)) {
- if escapeParam := ac.Params[model.EscapingKey]; escapeParam != "" {
- switch Format(escapeParam) {
- case model.AllowUTF8, model.EscapeUnderscores, model.EscapeDots, model.EscapeValues:
- escapingScheme = Format("; escaping=" + escapeParam)
- default:
- // If the escaping parameter is unknown, ignore it.
- }
+// matchFormat checks if a parsed accept clause matches a given Format.
+func matchFormat(ac goautoneg.Accept, f Format) bool {
+ target, ok := formatToAccept[f]
+ if !ok {
+ parsed := goautoneg.ParseAccept(string(f))
+ if len(parsed) == 0 {
+ return false
}
- ver := ac.Params["version"]
- if ac.Type+"/"+ac.SubType == ProtoType && ac.Params["proto"] == ProtoProtocol {
- switch ac.Params["encoding"] {
- case "delimited":
- return FmtProtoDelim + escapingScheme
- case "text":
- return FmtProtoText + escapingScheme
- case "compact-text":
- return FmtProtoCompact + escapingScheme
- }
+ target = parsed[0]
+ }
+
+ if ac.Type != "*" && ac.Type != target.Type {
+ return false
+ }
+ if ac.SubType != "*" && ac.SubType != target.SubType {
+ return false
+ }
+
+ // Default OpenMetrics version to OpenMetricsVersion_0_0_1.
+ acVersion := ac.Params["version"]
+ if acVersion == "" && ac.Type+"/"+ac.SubType == OpenMetricsType {
+ acVersion = OpenMetricsVersion_0_0_1
+ }
+ if acVersion == "" && ac.Type == "text" && ac.SubType == "plain" {
+ acVersion = TextVersion
+ }
+
+ // General param matching.
+ for k, v := range target.Params {
+ if k == "charset" {
+ continue
}
- if ac.Type == "text" && ac.SubType == "plain" && (ver == TextVersion || ver == "") {
- return FmtText + escapingScheme
+ acVal := ac.Params[k]
+ if k == "version" {
+ acVal = acVersion
}
- if ac.Type+"/"+ac.SubType == OpenMetricsType && (ver == OpenMetricsVersion_0_0_1 || ver == OpenMetricsVersion_1_0_0 || ver == "") {
- switch ver {
- case OpenMetricsVersion_1_0_0:
- return FmtOpenMetrics_1_0_0 + escapingScheme
- default:
- return FmtOpenMetrics_0_0_1 + escapingScheme
- }
+ if acVal != v {
+ return false
}
}
- return FmtText + escapingScheme
+
+ return true
}
// NewEncoder returns a new encoder based on content type negotiation. All
@@ -181,6 +254,19 @@ func NewEncoder(w io.Writer, format Format, options ...EncoderOption) Encoder {
close: func() error { return nil },
}
case TypeOpenMetrics:
+ _, params, err := mime.ParseMediaType(string(format))
+ if err == nil && params["version"] == OpenMetricsVersion_2_0_0 {
+ return encoderCloser{
+ encode: func(v *dto.MetricFamily) error {
+ _, err := MetricFamilyToOpenMetrics20(w, model.EscapeMetricFamily(v, escapingScheme), options...)
+ return err
+ },
+ close: func() error {
+ _, err := FinalizeOpenMetrics(w)
+ return err
+ },
+ }
+ }
return encoderCloser{
encode: func(v *dto.MetricFamily) error {
_, err := MetricFamilyToOpenMetrics(w, model.EscapeMetricFamily(v, escapingScheme), options...)
diff --git a/vendor/github.com/prometheus/common/expfmt/expfmt.go b/vendor/github.com/prometheus/common/expfmt/expfmt.go
index 4e4c13e72..ea9a0a2a0 100644
--- a/vendor/github.com/prometheus/common/expfmt/expfmt.go
+++ b/vendor/github.com/prometheus/common/expfmt/expfmt.go
@@ -16,50 +16,48 @@ package expfmt
import (
"errors"
+ "mime"
"strings"
"github.com/prometheus/common/model"
)
-// Format specifies the HTTP content type of the different wire protocols.
-type Format string
-
// Constants to assemble the Content-Type values for the different wire
-// protocols. The Content-Type strings here are all for the legacy exposition
-// formats, where valid characters for metric names and label names are limited.
-// Support for arbitrary UTF-8 characters in those names is already partially
-// implemented in this module (see model.ValidationScheme), but to actually use
-// it on the wire, new content-type strings will have to be agreed upon and
-// added here.
+// protocols.
const (
TextVersion = "0.0.4"
ProtoType = `application/vnd.google.protobuf`
ProtoProtocol = `io.prometheus.client.MetricFamily`
- // Deprecated: Use expfmt.NewFormat(expfmt.TypeProtoCompact) instead.
- ProtoFmt = ProtoType + "; proto=" + ProtoProtocol + ";"
+ ProtoFmt = ProtoType + "; proto=" + ProtoProtocol + ";"
+
OpenMetricsType = `application/openmetrics-text`
//nolint:revive // Allow for underscores.
OpenMetricsVersion_0_0_1 = "0.0.1"
//nolint:revive // Allow for underscores.
OpenMetricsVersion_1_0_0 = "1.0.0"
+ //nolint:revive // Allow for underscores.
+ OpenMetricsVersion_2_0_0 = "2.0.0"
+)
+
+// Format specifies the HTTP content type of the different wire protocols.
+// The Content-Type values for the different wire protocols represent
+// baseline Content-Types used for HTTP headers and content negotiation.
+//
+// Because Content-Types on the wire may include dynamic parameters
+// (such as "; escaping=...") or whitespace variations, avoid comparing Format
+// values using direct equality (==).
+type Format string
- // The Content-Type values for the different wire protocols. Do not do direct
- // comparisons to these constants, instead use the comparison functions.
- //
- // Deprecated: Use expfmt.NewFormat(expfmt.TypeUnknown) instead.
- FmtUnknown Format = ``
- // Deprecated: Use expfmt.NewFormat(expfmt.TypeTextPlain) instead.
- FmtText Format = `text/plain; version=` + TextVersion + `; charset=utf-8`
- // Deprecated: Use expfmt.NewFormat(expfmt.TypeProtoDelim) instead.
- FmtProtoDelim Format = ProtoFmt + ` encoding=delimited`
- // Deprecated: Use expfmt.NewFormat(expfmt.TypeProtoText) instead.
- FmtProtoText Format = ProtoFmt + ` encoding=text`
- // Deprecated: Use expfmt.NewFormat(expfmt.TypeProtoCompact) instead.
+const (
+ FmtUnknown Format = ``
+ FmtText Format = `text/plain; version=` + TextVersion + `; charset=utf-8`
+ FmtProtoDelim Format = ProtoFmt + ` encoding=delimited`
+ FmtProtoText Format = ProtoFmt + ` encoding=text`
FmtProtoCompact Format = ProtoFmt + ` encoding=compact-text`
- // Deprecated: Use expfmt.NewFormat(expfmt.TypeOpenMetrics) instead.
+ //nolint:revive // Allow for underscores.
+ FmtOpenMetrics_2_0_0 Format = OpenMetricsType + `; version=` + OpenMetricsVersion_2_0_0 + `; charset=utf-8`
//nolint:revive // Allow for underscores.
FmtOpenMetrics_1_0_0 Format = OpenMetricsType + `; version=` + OpenMetricsVersion_1_0_0 + `; charset=utf-8`
- // Deprecated: Use expfmt.NewFormat(expfmt.TypeOpenMetrics) instead.
//nolint:revive // Allow for underscores.
FmtOpenMetrics_0_0_1 Format = OpenMetricsType + `; version=` + OpenMetricsVersion_0_0_1 + `; charset=utf-8`
)
@@ -86,7 +84,7 @@ const (
// NewFormat generates a new Format from the type provided. Mostly used for
// tests, most Formats should be generated as part of content negotiation in
-// encode.go. If a type has more than one version, the latest version will be
+// encode.go. If a type has more than one version, the latest stable version will be
// returned.
func NewFormat(t FormatType) Format {
switch t {
@@ -107,6 +105,9 @@ func NewFormat(t FormatType) Format {
// NewOpenMetricsFormat generates a new OpenMetrics format matching the
// specified version number.
+//
+// Note: OpenMetrics version 2.0.0 is experimental and encode-only (supporting
+// counter, gauge, summary, untyped, histogram, and gaugehistogram metric types).
func NewOpenMetricsFormat(version string) (Format, error) {
if version == OpenMetricsVersion_0_0_1 {
return FmtOpenMetrics_0_0_1, nil
@@ -114,30 +115,22 @@ func NewOpenMetricsFormat(version string) (Format, error) {
if version == OpenMetricsVersion_1_0_0 {
return FmtOpenMetrics_1_0_0, nil
}
+ if version == OpenMetricsVersion_2_0_0 {
+ // OpenMetrics 2.0.0 is experimental and encode-only.
+ return FmtOpenMetrics_2_0_0, nil
+ }
return FmtUnknown, errors.New("unknown open metrics version string")
}
-// WithEscapingScheme returns a copy of Format with the specified escaping
-// scheme appended to the end. If an escaping scheme already exists it is
-// removed.
-func (f Format) WithEscapingScheme(s model.EscapingScheme) Format {
- var terms []string
- for _, p := range strings.Split(string(f), ";") {
- toks := strings.Split(p, "=")
- if len(toks) != 2 {
- trimmed := strings.TrimSpace(p)
- if len(trimmed) > 0 {
- terms = append(terms, trimmed)
- }
- continue
- }
- key := strings.TrimSpace(toks[0])
- if key != model.EscapingKey {
- terms = append(terms, strings.TrimSpace(p))
- }
+// Version returns the version parameter without validating whether it is supported.
+// It returns an empty string if the parameter is absent or the Content-Type
+// cannot be parsed.
+func (f Format) Version() string {
+ _, params, err := mime.ParseMediaType(string(f))
+ if err != nil {
+ return ""
}
- terms = append(terms, model.EscapingKey+"="+s.String())
- return Format(strings.Join(terms, "; "))
+ return params["version"]
}
// FormatType deduces an overall FormatType for the given format.
@@ -189,12 +182,35 @@ func (f Format) FormatType() FormatType {
}
}
-// ToEscapingScheme returns an EscapingScheme depending on the Format. Iff the
-// Format contains a escaping=allow-utf-8 term, it will select NoEscaping. If a valid
+// WithEscapingScheme returns a copy of Format with the specified escaping
+// scheme appended to the end. If an escaping scheme already exists it is
+// removed.
+func (f Format) WithEscapingScheme(s model.EscapingScheme) Format {
+ var terms []string
+ for p := range strings.SplitSeq(string(f), ";") {
+ toks := strings.Split(p, "=")
+ if len(toks) != 2 {
+ trimmed := strings.TrimSpace(p)
+ if len(trimmed) > 0 {
+ terms = append(terms, trimmed)
+ }
+ continue
+ }
+ key := strings.TrimSpace(toks[0])
+ if key != model.EscapingKey {
+ terms = append(terms, strings.TrimSpace(p))
+ }
+ }
+ terms = append(terms, model.EscapingKey+"="+s.String())
+ return Format(strings.Join(terms, "; "))
+}
+
+// ToEscapingScheme returns an EscapingScheme depending on the Format. IFF the
+// Format contains an escaping=allow-utf-8 term, it will select NoEscaping. If a valid
// "escaping" term exists, that will be used. Otherwise, the global default will
// be returned.
func (f Format) ToEscapingScheme() model.EscapingScheme {
- for _, p := range strings.Split(string(f), ";") {
+ for p := range strings.SplitSeq(string(f), ";") {
toks := strings.Split(p, "=")
if len(toks) != 2 {
continue
diff --git a/vendor/github.com/prometheus/common/expfmt/openmetrics_2_0_create.go b/vendor/github.com/prometheus/common/expfmt/openmetrics_2_0_create.go
new file mode 100644
index 000000000..600ac32f5
--- /dev/null
+++ b/vendor/github.com/prometheus/common/expfmt/openmetrics_2_0_create.go
@@ -0,0 +1,1221 @@
+// Copyright The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package expfmt
+
+import (
+ "bufio"
+ "errors"
+ "fmt"
+ "io"
+ "math"
+ "strconv"
+ "strings"
+ "unicode/utf8"
+
+ dto "github.com/prometheus/client_model/go"
+ "google.golang.org/protobuf/types/known/timestamppb"
+)
+
+// MetricFamilyToOpenMetrics20 converts a MetricFamily proto message into the
+// OpenMetrics text format version 2.0.0 and writes the resulting lines to 'out'.
+// It returns the number of bytes written and any error encountered.
+//
+// NOTE: This method targets OpenMetrics 2.0.0 (currently aligned with 2.0-rc.0) which is experimental and
+// encode-only. All metric types defined in client_model (counter, gauge, summary, untyped, histogram,
+// and gaugehistogram) are supported; info and stateset are not supported as they are not present in
+// client_model. Breaking changes might happen in the future.
+// EncoderOptions are accepted for signature compatibility with
+// MetricFamilyToOpenMetrics and are currently ignored.
+//
+// OpenMetrics 2.0 enforces stricter validation rules defined in the specification
+// than Prometheus text or OpenMetrics 1.0 formats (such as requiring non-negative
+// count and sum, and non-negative quantile values for summaries). Consequently,
+// MetricFamilyToOpenMetrics20 may reject metric families that the other encoders accept.
+func MetricFamilyToOpenMetrics20(out io.Writer, in *dto.MetricFamily, options ...EncoderOption) (written int, err error) {
+ // Options are accepted for signature compatibility and ignored.
+ _ = options
+ name := in.GetName()
+ if name == "" {
+ return 0, fmt.Errorf("MetricFamily has no name: %s", in)
+ }
+ if containsRawNewline(name) {
+ return 0, fmt.Errorf("MetricFamily name %q contains raw newlines", name)
+ }
+ if !utf8.ValidString(name) {
+ return 0, fmt.Errorf("MetricFamily name %q is not valid UTF-8", name)
+ }
+ if in.Help != nil {
+ if !utf8.ValidString(*in.Help) {
+ return 0, fmt.Errorf("MetricFamily help %q is not valid UTF-8", *in.Help)
+ }
+ // A carriage return may appear in HELP, but not at the end, where it
+ // would make the line end in "\r\n".
+ if strings.HasSuffix(*in.Help, "\r") {
+ return 0, fmt.Errorf("MetricFamily help %q ends with a carriage return", *in.Help)
+ }
+ }
+ if in.Unit != nil {
+ if containsRawNewline(*in.Unit) {
+ return 0, fmt.Errorf("MetricFamily unit %q contains raw newlines", *in.Unit)
+ }
+ if !utf8.ValidString(*in.Unit) {
+ return 0, fmt.Errorf("MetricFamily unit %q is not valid UTF-8", *in.Unit)
+ }
+ }
+
+ // Try the interface upgrade. If it doesn't work, we'll use a
+ // bufio.Writer from the sync.Pool.
+ w, ok := out.(enhancedWriter)
+ if !ok {
+ b := bufPool.Get().(*bufio.Writer)
+ b.Reset(out)
+ w = b
+ defer func() {
+ bErr := b.Flush()
+ if err == nil {
+ err = bErr
+ }
+ bufPool.Put(b)
+ }()
+ }
+
+ var (
+ n int
+ metricType = in.GetType()
+ )
+
+ // Comments, first HELP, then TYPE.
+ if in.Help != nil {
+ n, err = w.WriteString("# HELP ")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeName(w, name)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte(' ')
+ written++
+ if err != nil {
+ return written, err
+ }
+ n, err = writeEscapedString(w, *in.Help, true)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte('\n')
+ written++
+ if err != nil {
+ return written, err
+ }
+ }
+ n, err = w.WriteString("# TYPE ")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeName(w, name)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ switch metricType {
+ case dto.MetricType_COUNTER:
+ n, err = w.WriteString(" counter\n")
+ case dto.MetricType_GAUGE:
+ n, err = w.WriteString(" gauge\n")
+ case dto.MetricType_SUMMARY:
+ n, err = w.WriteString(" summary\n")
+ case dto.MetricType_UNTYPED:
+ n, err = w.WriteString(" unknown\n")
+ case dto.MetricType_HISTOGRAM:
+ n, err = w.WriteString(" histogram\n")
+ case dto.MetricType_GAUGE_HISTOGRAM:
+ n, err = w.WriteString(" gaugehistogram\n")
+ default:
+ // TODO: Support Info and StateSet once they are supported in the
+ // Prometheus protobuf format.
+ return written, fmt.Errorf("unknown metric type %s", metricType.String())
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+ if in.Unit != nil {
+ n, err = w.WriteString("# UNIT ")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeName(w, name)
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ err = w.WriteByte(' ')
+ written++
+ if err != nil {
+ return written, err
+ }
+ n, err = writeEscapedString(w, *in.Unit, true)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte('\n')
+ written++
+ if err != nil {
+ return written, err
+ }
+ }
+
+ // Finally the samples, one line for each.
+ for _, metric := range in.Metric {
+ if metric == nil {
+ return written, fmt.Errorf("expected non-nil metric in MetricFamily %s", name)
+ }
+ switch metricType {
+ case dto.MetricType_COUNTER:
+ if metric.Counter == nil {
+ return written, fmt.Errorf("expected counter in metric %s %s", name, metric)
+ }
+ val := metric.Counter.GetValue()
+ if math.IsNaN(val) {
+ return written, fmt.Errorf("counter value cannot be NaN in metric %s", name)
+ }
+ if val < 0 {
+ return written, fmt.Errorf("counter value cannot be negative (%g) in metric %s", val, name)
+ }
+ n, err = writeOpenMetrics20Sample(w, name, metric, val, 0, false, metric.Counter.CreatedTimestamp, metric.Counter.Exemplar)
+ case dto.MetricType_GAUGE:
+ if metric.Gauge == nil {
+ return written, fmt.Errorf("expected gauge in metric %s %s", name, metric)
+ }
+ n, err = writeOpenMetrics20Sample(w, name, metric, metric.Gauge.GetValue(), 0, false, nil, nil)
+ case dto.MetricType_UNTYPED:
+ if metric.Untyped == nil {
+ return written, fmt.Errorf("expected untyped in metric %s %s", name, metric)
+ }
+ n, err = writeOpenMetrics20Sample(w, name, metric, metric.Untyped.GetValue(), 0, false, nil, nil)
+ case dto.MetricType_SUMMARY:
+ if metric.Summary == nil {
+ return written, fmt.Errorf("expected summary in metric %s %s", name, metric)
+ }
+ n, err = writeCompositeSummary(w, name, metric)
+ case dto.MetricType_HISTOGRAM, dto.MetricType_GAUGE_HISTOGRAM:
+ if metric.Histogram == nil {
+ return written, fmt.Errorf("expected histogram in metric %s %s", name, metric)
+ }
+ n, err = writeCompositeHistogram(w, name, metric, metricType == dto.MetricType_GAUGE_HISTOGRAM)
+ default:
+ return written, fmt.Errorf("unexpected type in metric %s %s", name, metric)
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+ return written, nil
+}
+
+// writeOpenMetrics20Sample writes a single sample for simple types (Counter, Gauge, Untyped).
+func writeOpenMetrics20Sample(w enhancedWriter, name string, metric *dto.Metric, floatValue float64, intValue uint64, useIntValue bool, startTimestamp *timestamppb.Timestamp, exemplar *dto.Exemplar) (int, error) {
+ if err := validateLabels20(metric.Label); err != nil {
+ return 0, err
+ }
+ written := 0
+ n, err := writeOpenMetricsNameAndLabelPairs(w, name, metric.Label, "", 0)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte(' ')
+ written++
+ if err != nil {
+ return written, err
+ }
+
+ if useIntValue {
+ n, err = writeUint(w, intValue)
+ } else {
+ n, err = writeOpenMetricsFloat(w, floatValue)
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ if metric.TimestampMs != nil {
+ err = w.WriteByte(' ')
+ written++
+ if err != nil {
+ return written, err
+ }
+ n, err = writeOpenMetrics20Timestamp(w, float64(*metric.TimestampMs)/1000)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ // Start Timestamp
+ if startTimestamp != nil {
+ if err := startTimestamp.CheckValid(); err != nil {
+ return written, fmt.Errorf("invalid created timestamp in metric %s: %w", name, err)
+ }
+ n, err = w.WriteString(" st@")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeProtoTimestamp(w, startTimestamp)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ if exemplar != nil {
+ n, err = writeExemplar20(w, exemplar)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ err = w.WriteByte('\n')
+ written++
+ if err != nil {
+ return written, err
+ }
+ return written, nil
+}
+
+// writeExemplar20 writes the provided exemplar in OpenMetrics 2.0 format to w.
+// In OpenMetrics 2.0, invalid exemplars or exemplars without a timestamp are dropped.
+func writeExemplar20(w enhancedWriter, e *dto.Exemplar) (int, error) {
+ if e == nil {
+ return 0, nil
+ }
+ // In OpenMetrics 2.0, invalid exemplars are dropped rather than failing the entire exposition.
+ if err := validateExemplar20(e); err != nil {
+ return 0, nil
+ }
+ written := 0
+ n, err := w.WriteString(" # ")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ if len(e.Label) == 0 {
+ n, err = w.WriteString("{}")
+ } else {
+ n, err = writeOpenMetricsNameAndLabelPairs(w, "", e.Label, "", 0)
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte(' ')
+ written++
+ if err != nil {
+ return written, err
+ }
+ n, err = writeOpenMetricsFloat(w, e.GetValue())
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte(' ')
+ written++
+ if err != nil {
+ return written, err
+ }
+ ts := e.Timestamp
+ n, err = writeProtoTimestamp(w, ts)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ return written, nil
+}
+
+// writeOpenMetrics20Timestamp writes a float64 as a timestamp without scientific notation.
+func writeOpenMetrics20Timestamp(w enhancedWriter, f float64) (int, error) {
+ bp := numBufPool.Get().(*[]byte)
+ *bp = strconv.AppendFloat((*bp)[:0], f, 'f', -1, 64)
+ written, err := w.Write(*bp)
+ numBufPool.Put(bp)
+ return written, err
+}
+
+func writeCompositeSummary(w enhancedWriter, name string, metric *dto.Metric) (int, error) {
+ s := metric.Summary
+ if s == nil {
+ return 0, fmt.Errorf("expected summary in metric %s", name)
+ }
+
+ if err := validateLabels20(metric.Label); err != nil {
+ return 0, err
+ }
+ for _, lp := range metric.Label {
+ if lp.GetName() == "quantile" {
+ return 0, fmt.Errorf("metric %s is a summary but label set contains %q label", name, "quantile")
+ }
+ }
+
+ sum := s.GetSampleSum()
+ if math.IsNaN(sum) {
+ return 0, fmt.Errorf("summary sum cannot be NaN in metric %s", name)
+ }
+ if sum < 0 {
+ return 0, fmt.Errorf("summary sum cannot be negative (%g) in metric %s", sum, name)
+ }
+
+ var prevQuantile float64
+ for i, q := range s.Quantile {
+ if q == nil {
+ return 0, fmt.Errorf("expected non-nil quantile in metric %s", name)
+ }
+ qv := q.GetQuantile()
+ if math.IsNaN(qv) {
+ return 0, fmt.Errorf("summary quantile cannot be NaN in metric %s", name)
+ }
+ if qv < 0 || qv > 1 {
+ return 0, fmt.Errorf("summary quantile %g must be between 0 and 1 in metric %s", qv, name)
+ }
+ if i > 0 && qv <= prevQuantile {
+ return 0, fmt.Errorf("summary quantiles must be strictly increasing: %g <= %g in metric %s", qv, prevQuantile, name)
+ }
+ prevQuantile = qv
+
+ v := q.GetValue()
+ if !math.IsNaN(v) && v < 0 {
+ return 0, fmt.Errorf("summary quantile value cannot be negative (%g) in metric %s", v, name)
+ }
+ }
+
+ if s.CreatedTimestamp != nil {
+ if err := s.CreatedTimestamp.CheckValid(); err != nil {
+ return 0, fmt.Errorf("invalid created timestamp in metric %s: %w", name, err)
+ }
+ }
+
+ written := 0
+ n, err := writeOpenMetricsNameAndLabelPairs(w, name, metric.Label, "", 0)
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = w.WriteString(" {count:")
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = writeUint(w, s.GetSampleCount())
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = w.WriteString(",sum:")
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = writeFloat(w, sum)
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = w.WriteString(",quantile:[")
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ for i, q := range s.Quantile {
+ if i > 0 {
+ err = w.WriteByte(',')
+ written++
+ if err != nil {
+ return written, err
+ }
+ }
+ n, err = writeFloat(w, q.GetQuantile())
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte(':')
+ written++
+ if err != nil {
+ return written, err
+ }
+ n, err = writeFloat(w, q.GetValue())
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ n, err = w.WriteString("]}")
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ if metric.TimestampMs != nil {
+ err = w.WriteByte(' ')
+ written++
+ if err != nil {
+ return written, err
+ }
+ n, err = writeOpenMetrics20Timestamp(w, float64(*metric.TimestampMs)/1000)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ if s.CreatedTimestamp != nil {
+ n, err = w.WriteString(" st@")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeProtoTimestamp(w, s.CreatedTimestamp)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ err = w.WriteByte('\n')
+ written++
+ if err != nil {
+ return written, err
+ }
+
+ return written, nil
+}
+
+func writeCompositeHistogram(w enhancedWriter, name string, metric *dto.Metric, isGauge bool) (int, error) {
+ h := metric.Histogram
+ if h == nil {
+ return 0, fmt.Errorf("expected histogram in metric %s", name)
+ }
+
+ isNative := h.Schema != nil
+ hasClassicBuckets := len(h.Bucket) > 0 || !isNative
+
+ if err := validateLabels20(metric.Label); err != nil {
+ return 0, err
+ }
+ if hasClassicBuckets {
+ for _, lp := range metric.Label {
+ if lp.GetName() == "le" {
+ return 0, fmt.Errorf("metric %s has classic buckets but label set contains %q label", name, "le")
+ }
+ }
+ }
+
+ if h.SampleCountFloat != nil {
+ c := *h.SampleCountFloat
+ if math.IsNaN(c) {
+ if isGauge {
+ return 0, fmt.Errorf("gaugehistogram count cannot be NaN in metric %s", name)
+ }
+ return 0, fmt.Errorf("histogram count cannot be NaN in metric %s", name)
+ }
+ if !isGauge && c < 0 {
+ return 0, fmt.Errorf("histogram count cannot be negative (%g) in metric %s", c, name)
+ }
+ }
+
+ var isFloatCount bool
+ var sampleCountFloat float64
+ var sampleCountUint uint64
+ switch {
+ case h.SampleCountFloat != nil && (*h.SampleCountFloat > 0 || h.SampleCount == nil || isGauge):
+ isFloatCount = true
+ sampleCountFloat = *h.SampleCountFloat
+ case h.SampleCount != nil:
+ sampleCountUint = *h.SampleCount
+ sampleCountFloat = float64(sampleCountUint)
+ }
+
+ if isNative {
+ if err := validateNativeHistogram(name, h, isGauge); err != nil {
+ return 0, err
+ }
+ }
+
+ if hasClassicBuckets {
+ if err := validateClassicBuckets(name, h, sampleCountFloat, sampleCountUint, isFloatCount, isGauge); err != nil {
+ return 0, err
+ }
+ }
+
+ if !isGauge && h.CreatedTimestamp != nil {
+ if err := h.CreatedTimestamp.CheckValid(); err != nil {
+ return 0, fmt.Errorf("invalid created timestamp in metric %s: %w", name, err)
+ }
+ }
+
+ written := 0
+ n, err := writeOpenMetricsNameAndLabelPairs(w, name, metric.Label, "", 0)
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = w.WriteString(" {")
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ if isGauge {
+ n, err = w.WriteString("gcount:")
+ } else {
+ n, err = w.WriteString("count:")
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ if isFloatCount {
+ n, err = writeFloat(w, sampleCountFloat)
+ } else {
+ n, err = writeUint(w, sampleCountUint)
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ if isGauge {
+ n, err = w.WriteString(",gsum:")
+ } else {
+ n, err = w.WriteString(",sum:")
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeFloat(w, h.GetSampleSum())
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ if isNative {
+ n, err = writeNativeBuckets(w, h, isGauge)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ var classicExemplars []*dto.Exemplar
+ if hasClassicBuckets {
+ n, err = writeClassicBuckets(w, h, sampleCountFloat, sampleCountUint, isFloatCount, isGauge, &classicExemplars)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ err = w.WriteByte('}')
+ written++
+ if err != nil {
+ return written, err
+ }
+
+ if metric.TimestampMs != nil {
+ err = w.WriteByte(' ')
+ written++
+ if err != nil {
+ return written, err
+ }
+ n, err = writeOpenMetrics20Timestamp(w, float64(*metric.TimestampMs)/1000)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ if !isGauge && h.CreatedTimestamp != nil {
+ ts := h.CreatedTimestamp
+ n, err = w.WriteString(" st@")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeProtoTimestamp(w, ts)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ var exemplarsToEmit []*dto.Exemplar
+ if len(classicExemplars) > 0 {
+ // We follow the spec suggestion and prefer classic histogram
+ // exemplars in dual mode.
+ exemplarsToEmit = classicExemplars
+ } else if len(h.Exemplars) > 0 {
+ exemplarsToEmit = h.Exemplars
+ }
+
+ for _, e := range exemplarsToEmit {
+ if e == nil || e.Timestamp == nil {
+ continue
+ }
+ n, err = writeExemplar20(w, e)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ err = w.WriteByte('\n')
+ written++
+ if err != nil {
+ return written, err
+ }
+
+ return written, nil
+}
+
+func validateNativeHistogram(name string, h *dto.Histogram, isGauge bool) error {
+ schema := *h.Schema
+ if schema < -4 || schema > 8 {
+ return fmt.Errorf("native histogram schema %d is out of range [-4, 8] in metric %s", schema, name)
+ }
+
+ zeroThreshold := h.GetZeroThreshold()
+ if math.IsNaN(zeroThreshold) || math.IsInf(zeroThreshold, 0) || zeroThreshold < 0 {
+ return fmt.Errorf("native histogram zero_threshold %g must be a non-negative, finite number in metric %s", zeroThreshold, name)
+ }
+
+ if h.ZeroCountFloat != nil {
+ c := *h.ZeroCountFloat
+ if math.IsNaN(c) {
+ return fmt.Errorf("native histogram zero_count cannot be NaN in metric %s", name)
+ }
+ if !isGauge && c < 0 {
+ return fmt.Errorf("native histogram zero_count cannot be negative (%g) in metric %s", c, name)
+ }
+ }
+
+ if err := validateSpansAndBuckets(name, "negative", h.NegativeSpan, h.NegativeDelta, h.NegativeCount, isGauge); err != nil {
+ return err
+ }
+ return validateSpansAndBuckets(name, "positive", h.PositiveSpan, h.PositiveDelta, h.PositiveCount, isGauge)
+}
+
+func validateSpansAndBuckets(
+ name string,
+ spanName string,
+ spans []*dto.BucketSpan,
+ deltas []int64,
+ floatCounts []float64,
+ isGauge bool,
+) error {
+ isFloatBuckets := len(floatCounts) > 0
+ var numBuckets int
+ if isFloatBuckets {
+ numBuckets = len(floatCounts)
+ } else {
+ numBuckets = len(deltas)
+ }
+
+ var totalLength uint64
+ for i, span := range spans {
+ if span == nil {
+ return errors.New("expected non-nil bucket span")
+ }
+ if i > 0 && span.GetOffset() < 0 {
+ return fmt.Errorf("subsequent %s span offset cannot be negative: %d in metric %s", spanName, span.GetOffset(), name)
+ }
+ totalLength += uint64(span.GetLength())
+ }
+
+ if numBuckets == 0 {
+ if totalLength == 0 {
+ return nil
+ }
+ return fmt.Errorf("sum of %s span lengths (%d) does not match bucket count (0) in metric %s", spanName, totalLength, name)
+ }
+
+ if totalLength != uint64(numBuckets) {
+ return fmt.Errorf("sum of %s span lengths (%d) does not match bucket count (%d) in metric %s", spanName, totalLength, numBuckets, name)
+ }
+
+ if isFloatBuckets {
+ for _, v := range floatCounts {
+ if math.IsNaN(v) {
+ return fmt.Errorf("%s bucket count cannot be NaN in metric %s", spanName, name)
+ }
+ if !isGauge && v < 0 {
+ return fmt.Errorf("%s bucket count cannot be negative (%g) in metric %s", spanName, v, name)
+ }
+ }
+ } else {
+ var current int64
+ for _, d := range deltas {
+ current += d
+ if !isGauge && current < 0 {
+ return fmt.Errorf("%s bucket count cannot be negative (%d) in metric %s", spanName, current, name)
+ }
+ }
+ }
+ return nil
+}
+
+func writeNativeBuckets(w enhancedWriter, h *dto.Histogram, isGauge bool) (int, error) {
+ schema := *h.Schema
+ zeroThreshold := h.GetZeroThreshold()
+
+ var isFloatZeroCount bool
+ var zeroCountFloat float64
+ var zeroCountUint uint64
+ switch {
+ case h.ZeroCountFloat != nil && (*h.ZeroCountFloat > 0 || h.ZeroCount == nil || isGauge):
+ isFloatZeroCount = true
+ zeroCountFloat = *h.ZeroCountFloat
+ case h.ZeroCount != nil:
+ zeroCountUint = *h.ZeroCount
+ zeroCountFloat = float64(zeroCountUint)
+ }
+
+ written := 0
+ n, err := w.WriteString(",schema:")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeInt(w, int64(schema))
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = w.WriteString(",zero_threshold:")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ n, err = writeFloat(w, zeroThreshold)
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = w.WriteString(",zero_count:")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ if isFloatZeroCount {
+ n, err = writeFloat(w, zeroCountFloat)
+ } else {
+ n, err = writeUint(w, zeroCountUint)
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = writeSpansAndBuckets(w, ",negative_spans:[", ",negative_buckets:[", h.NegativeSpan, h.NegativeDelta, h.NegativeCount)
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ n, err = writeSpansAndBuckets(w, ",positive_spans:[", ",positive_buckets:[", h.PositiveSpan, h.PositiveDelta, h.PositiveCount)
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ return written, nil
+}
+
+func writeSpansAndBuckets(
+ w enhancedWriter,
+ spansPrefix string,
+ bucketsPrefix string,
+ spans []*dto.BucketSpan,
+ deltas []int64,
+ floatCounts []float64,
+) (int, error) {
+ isFloatBuckets := len(floatCounts) > 0
+ var numBuckets int
+ if isFloatBuckets {
+ numBuckets = len(floatCounts)
+ } else {
+ numBuckets = len(deltas)
+ }
+
+ if numBuckets == 0 {
+ return 0, nil
+ }
+
+ written := 0
+ n, err := w.WriteString(spansPrefix)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ for i, span := range spans {
+ if i > 0 {
+ err = w.WriteByte(',')
+ written++
+ if err != nil {
+ return written, err
+ }
+ }
+ n, err = writeInt(w, int64(span.GetOffset()))
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte(':')
+ written++
+ if err != nil {
+ return written, err
+ }
+ n, err = writeUint(w, uint64(span.GetLength()))
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+ err = w.WriteByte(']')
+ written++
+ if err != nil {
+ return written, err
+ }
+
+ n, err = w.WriteString(bucketsPrefix)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ if isFloatBuckets {
+ for i, v := range floatCounts {
+ if i > 0 {
+ err = w.WriteByte(',')
+ written++
+ if err != nil {
+ return written, err
+ }
+ }
+ n, err = writeFloat(w, v)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+ } else {
+ var current int64
+ for i, d := range deltas {
+ if i > 0 {
+ err = w.WriteByte(',')
+ written++
+ if err != nil {
+ return written, err
+ }
+ }
+ current += d
+ n, err = writeInt(w, current)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+ }
+ err = w.WriteByte(']')
+ written++
+ if err != nil {
+ return written, err
+ }
+
+ return written, nil
+}
+
+func validateClassicBuckets(
+ name string,
+ h *dto.Histogram,
+ sampleCount float64,
+ sampleCountUint uint64,
+ isFloatCount bool,
+ isGauge bool,
+) error {
+ var infSeen bool
+ var prevBound float64
+ var prevCount float64
+ for i, b := range h.Bucket {
+ if b == nil {
+ return errors.New("expected non-nil bucket")
+ }
+ ub := b.GetUpperBound()
+ if math.IsNaN(ub) {
+ return fmt.Errorf("classic bucket upper bound cannot be NaN in metric %s", name)
+ }
+ if i > 0 && ub <= prevBound {
+ return fmt.Errorf("classic bucket upper bounds must be strictly increasing: %g <= %g in metric %s", ub, prevBound, name)
+ }
+ prevBound = ub
+
+ if b.CumulativeCountFloat != nil {
+ c := *b.CumulativeCountFloat
+ if math.IsNaN(c) {
+ return fmt.Errorf("classic bucket count cannot be NaN in metric %s", name)
+ }
+ if !isGauge && c < 0 {
+ return fmt.Errorf("classic bucket count cannot be negative (%g) in metric %s", c, name)
+ }
+ }
+
+ var bCount float64
+ switch {
+ case b.CumulativeCountFloat != nil && (*b.CumulativeCountFloat > 0 || b.CumulativeCount == nil || isGauge):
+ bCount = *b.CumulativeCountFloat
+ case b.CumulativeCount != nil:
+ bCount = float64(*b.CumulativeCount)
+ }
+
+ if !isGauge && i > 0 && bCount < prevCount {
+ return fmt.Errorf("classic bucket counts must be monotonically increasing: %g < %g in metric %s", bCount, prevCount, name)
+ }
+ prevCount = bCount
+
+ if math.IsInf(ub, +1) {
+ if i != len(h.Bucket)-1 {
+ return fmt.Errorf("+Inf bucket must be the last bucket in metric %s", name)
+ }
+ infSeen = true
+ if isFloatCount {
+ if bCount != sampleCount {
+ return fmt.Errorf("classic bucket +Inf count (%g) does not match sample count (%g) in metric %s", bCount, sampleCount, name)
+ }
+ } else {
+ if b.CumulativeCount != nil {
+ if *b.CumulativeCount != sampleCountUint {
+ return fmt.Errorf("classic bucket +Inf count (%d) does not match sample count (%d) in metric %s", *b.CumulativeCount, sampleCountUint, name)
+ }
+ } else {
+ if bCount < 0 || bCount > math.MaxUint64 || uint64(bCount) != sampleCountUint || float64(uint64(bCount)) != bCount {
+ return fmt.Errorf("classic bucket +Inf count (%g) does not match sample count (%d) in metric %s", bCount, sampleCountUint, name)
+ }
+ }
+ }
+ }
+ }
+
+ if !infSeen && len(h.Bucket) > 0 && !isGauge {
+ if sampleCount < prevCount {
+ return fmt.Errorf("sample count (%g) is less than highest bucket count (%g) in metric %s", sampleCount, prevCount, name)
+ }
+ }
+ return nil
+}
+
+func writeClassicBuckets(
+ w enhancedWriter,
+ h *dto.Histogram,
+ sampleCount float64,
+ sampleCountUint uint64,
+ isFloatCount bool,
+ isGauge bool,
+ collectedExemplars *[]*dto.Exemplar,
+) (int, error) {
+ var infSeen bool
+ written := 0
+ n, err := w.WriteString(",bucket:[")
+ written += n
+ if err != nil {
+ return written, err
+ }
+
+ for i, b := range h.Bucket {
+ if i > 0 {
+ err = w.WriteByte(',')
+ written++
+ if err != nil {
+ return written, err
+ }
+ }
+ n, err = writeFloat(w, b.GetUpperBound())
+ written += n
+ if err != nil {
+ return written, err
+ }
+ err = w.WriteByte(':')
+ written++
+ if err != nil {
+ return written, err
+ }
+ switch {
+ case b.CumulativeCountFloat != nil && (*b.CumulativeCountFloat > 0 || b.CumulativeCount == nil || isGauge):
+ n, err = writeFloat(w, *b.CumulativeCountFloat)
+ case b.CumulativeCount != nil:
+ n, err = writeUint(w, *b.CumulativeCount)
+ default:
+ n, err = writeUint(w, 0)
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+ if math.IsInf(b.GetUpperBound(), +1) {
+ infSeen = true
+ }
+ if b.Exemplar != nil && b.Exemplar.Timestamp != nil {
+ *collectedExemplars = append(*collectedExemplars, b.Exemplar)
+ }
+ }
+
+ if !infSeen {
+ if len(h.Bucket) > 0 {
+ err = w.WriteByte(',')
+ written++
+ if err != nil {
+ return written, err
+ }
+ }
+ n, err = w.WriteString("+Inf:")
+ written += n
+ if err != nil {
+ return written, err
+ }
+ if isFloatCount {
+ n, err = writeFloat(w, sampleCount)
+ } else {
+ n, err = writeUint(w, sampleCountUint)
+ }
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ err = w.WriteByte(']')
+ written++
+ if err != nil {
+ return written, err
+ }
+
+ return written, nil
+}
+
+func validateLabels20(labels []*dto.LabelPair) error {
+ for _, lp := range labels {
+ if lp == nil {
+ return errors.New("expected non-nil label pair")
+ }
+ lname := lp.GetName()
+ if lname == "" {
+ return errors.New("label name cannot be empty")
+ }
+ if containsRawNewline(lname) {
+ return fmt.Errorf("label name %q contains raw newlines", lname)
+ }
+ }
+ return nil
+}
+
+func containsRawNewline(s string) bool {
+ return strings.IndexByte(s, '\n') >= 0 || strings.IndexByte(s, '\r') >= 0
+}
+
+func validateExemplar20(e *dto.Exemplar) error {
+ if e.Timestamp == nil {
+ return errors.New("exemplar timestamp is required")
+ }
+ if err := e.Timestamp.CheckValid(); err != nil {
+ return err
+ }
+ return validateLabels20(e.Label)
+}
+
+func writeProtoTimestamp(w enhancedWriter, ts *timestamppb.Timestamp) (int, error) {
+ if err := ts.CheckValid(); err != nil {
+ return 0, err
+ }
+ if ts.Nanos == 0 {
+ return writeInt(w, ts.Seconds)
+ }
+ sec := ts.Seconds
+ nanos := int64(ts.Nanos)
+ if sec < 0 {
+ sec++
+ nanos = 1_000_000_000 - nanos
+ if sec == 0 {
+ n, err := w.WriteString("-0")
+ if err != nil {
+ return n, err
+ }
+ n2, err := writeNanos(w, nanos)
+ return n + n2, err
+ }
+ }
+
+ n, err := writeInt(w, sec)
+ if err != nil {
+ return n, err
+ }
+ n2, err := writeNanos(w, nanos)
+ return n + n2, err
+}
+
+func writeNanos(w enhancedWriter, nanos int64) (int, error) {
+ err := w.WriteByte('.')
+ if err != nil {
+ return 0, err
+ }
+ written := 1
+ bp := numBufPool.Get().(*[]byte)
+ *bp = strconv.AppendInt((*bp)[:0], nanos, 10)
+ pad := 9 - len(*bp)
+ for range pad {
+ err = w.WriteByte('0')
+ written++
+ if err != nil {
+ numBufPool.Put(bp)
+ return written, err
+ }
+ }
+ val := *bp
+ for len(val) > 0 && val[len(val)-1] == '0' {
+ val = val[:len(val)-1]
+ }
+ n2, err := w.Write(val)
+ written += n2
+ numBufPool.Put(bp)
+ return written, err
+}
diff --git a/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go b/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go
index 21b93bca3..0480e7af5 100644
--- a/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go
+++ b/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go
@@ -30,7 +30,6 @@ import (
type encoderOption struct {
withCreatedLines bool
- withUnit bool
}
type EncoderOption func(*encoderOption)
@@ -51,17 +50,6 @@ func WithCreatedLines() EncoderOption {
}
}
-// WithUnit is an EncoderOption enabling a set unit to be written to the output
-// and to be added to the metric name, if it's not there already, as a suffix.
-// Without opting in this way, the unit will not be added to the metric name and,
-// on top of that, the unit will not be passed onto the output, even if it
-// were declared in the *dto.MetricFamily struct, i.e. even if in.Unit !=nil.
-func WithUnit() EncoderOption {
- return func(t *encoderOption) {
- t.withUnit = true
- }
-}
-
// MetricFamilyToOpenMetrics converts a MetricFamily proto message into the
// OpenMetrics text format and writes the resulting lines to 'out'. It returns
// the number of bytes written and any error encountered. The output will have
@@ -99,15 +87,6 @@ func WithUnit() EncoderOption {
// its type will be set to `unknown` in that case to avoid invalid OpenMetrics
// output.
//
-// - According to the OM specs, the `# UNIT` line is optional, but if populated,
-// the unit has to be present in the metric name as its suffix:
-// (see https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#unit).
-// However, in order to accommodate any potential scenario where such a change in the
-// metric name is not desirable, the users are here given the choice of either explicitly
-// opt in, in case they wish for the unit to be included in the output AND in the metric name
-// as a suffix (see the description of the WithUnit function above),
-// or not to opt in, in case they don't want for any of that to happen.
-//
// - No support for the following (optional) features: info type,
// stateset type, gaugehistogram type.
//
@@ -151,9 +130,6 @@ func MetricFamilyToOpenMetrics(out io.Writer, in *dto.MetricFamily, options ...E
if metricType == dto.MetricType_COUNTER && strings.HasSuffix(compliantName, "_total") {
compliantName = name[:len(name)-6]
}
- if toOM.withUnit && in.Unit != nil && !strings.HasSuffix(compliantName, "_"+*in.Unit) {
- compliantName = compliantName + "_" + *in.Unit
- }
// Comments, first HELP, then TYPE.
if in.Help != nil {
@@ -217,7 +193,7 @@ func MetricFamilyToOpenMetrics(out io.Writer, in *dto.MetricFamily, options ...E
if err != nil {
return written, err
}
- if toOM.withUnit && in.Unit != nil {
+ if in.Unit != nil {
n, err = w.WriteString("# UNIT ")
written += n
if err != nil {
diff --git a/vendor/github.com/prometheus/common/expfmt/text_create.go b/vendor/github.com/prometheus/common/expfmt/text_create.go
index 6b8978145..f4074ae9a 100644
--- a/vendor/github.com/prometheus/common/expfmt/text_create.go
+++ b/vendor/github.com/prometheus/common/expfmt/text_create.go
@@ -42,12 +42,12 @@ const (
var (
bufPool = sync.Pool{
- New: func() interface{} {
+ New: func() any {
return bufio.NewWriter(io.Discard)
},
}
numBufPool = sync.Pool{
- New: func() interface{} {
+ New: func() any {
b := make([]byte, 0, initialNumBufSize)
return &b
},
diff --git a/vendor/github.com/prometheus/common/expfmt/text_parse.go b/vendor/github.com/prometheus/common/expfmt/text_parse.go
index 00c8841a1..10529300f 100644
--- a/vendor/github.com/prometheus/common/expfmt/text_parse.go
+++ b/vendor/github.com/prometheus/common/expfmt/text_parse.go
@@ -194,6 +194,7 @@ func (p *TextParser) reset(in io.Reader) {
// start of a line (or whitespace leading up to it).
func (p *TextParser) startOfLine() stateFn {
p.lineCount++
+ p.currentMetric = nil
p.currentMetricIsInsideBraces = false
p.currentMetricInsideBracesIsPresent = false
if p.skipBlankTab(); p.err != nil {
@@ -339,6 +340,15 @@ func (p *TextParser) startLabelName() stateFn {
return nil // Unexpected end of input.
}
if p.currentByte == '}' {
+ if p.currentMetric == nil {
+ // The closing brace was reached before any metric name was read,
+ // e.g. for the input "{}". There is no metric to attach labels to,
+ // so this is a malformed exposition. This mirrors the guard in
+ // startLabelValue. currentMetric is cleared at the start of each line.
+ p.parseError("invalid metric name")
+ p.currentLabelPairs = nil
+ return nil
+ }
p.currentMetric.Label = append(p.currentMetric.Label, p.currentLabelPairs...)
p.currentLabelPairs = nil
if p.skipBlankTab(); p.err != nil {
@@ -485,7 +495,7 @@ func (p *TextParser) startLabelValue() stateFn {
return p.startLabelName
case '}':
- if p.currentMF == nil {
+ if p.currentMetric == nil {
p.parseError("invalid metric name")
return nil
}
diff --git a/vendor/github.com/prometheus/common/model/labels.go b/vendor/github.com/prometheus/common/model/labels.go
index dfeb34be5..29688a13c 100644
--- a/vendor/github.com/prometheus/common/model/labels.go
+++ b/vendor/github.com/prometheus/common/model/labels.go
@@ -124,7 +124,7 @@ func (ln LabelName) IsValidLegacy() bool {
}
// UnmarshalYAML implements the yaml.Unmarshaler interface.
-func (ln *LabelName) UnmarshalYAML(unmarshal func(interface{}) error) error {
+func (ln *LabelName) UnmarshalYAML(unmarshal func(any) error) error {
var s string
if err := unmarshal(&s); err != nil {
return err
diff --git a/vendor/github.com/prometheus/common/model/labelset.go b/vendor/github.com/prometheus/common/model/labelset.go
index 9de47b256..6010b26a8 100644
--- a/vendor/github.com/prometheus/common/model/labelset.go
+++ b/vendor/github.com/prometheus/common/model/labelset.go
@@ -16,6 +16,7 @@ package model
import (
"encoding/json"
"fmt"
+ "maps"
"sort"
)
@@ -107,9 +108,7 @@ func (ls LabelSet) Before(o LabelSet) bool {
// Clone returns a copy of the label set.
func (ls LabelSet) Clone() LabelSet {
lsn := make(LabelSet, len(ls))
- for ln, lv := range ls {
- lsn[ln] = lv
- }
+ maps.Copy(lsn, ls)
return lsn
}
@@ -117,13 +116,9 @@ func (ls LabelSet) Clone() LabelSet {
func (ls LabelSet) Merge(other LabelSet) LabelSet {
result := make(LabelSet, len(ls))
- for k, v := range ls {
- result[k] = v
- }
+ maps.Copy(result, ls)
- for k, v := range other {
- result[k] = v
- }
+ maps.Copy(result, other)
return result
}
diff --git a/vendor/github.com/prometheus/common/model/metric.go b/vendor/github.com/prometheus/common/model/metric.go
index 3feebf328..2fe461511 100644
--- a/vendor/github.com/prometheus/common/model/metric.go
+++ b/vendor/github.com/prometheus/common/model/metric.go
@@ -17,6 +17,7 @@ import (
"encoding/json"
"errors"
"fmt"
+ "maps"
"regexp"
"sort"
"strconv"
@@ -24,7 +25,6 @@ import (
"unicode/utf8"
dto "github.com/prometheus/client_model/go"
- "go.yaml.in/yaml/v2"
"google.golang.org/protobuf/proto"
)
@@ -78,14 +78,6 @@ const (
UTF8Validation
)
-var _ interface {
- yaml.Marshaler
- yaml.Unmarshaler
- json.Marshaler
- json.Unmarshaler
- fmt.Stringer
-} = new(ValidationScheme)
-
// String returns the string representation of s.
func (s ValidationScheme) String() string {
switch s {
@@ -267,9 +259,7 @@ func (m Metric) Before(o Metric) bool {
// Clone returns a copy of the Metric.
func (m Metric) Clone() Metric {
clone := make(Metric, len(m))
- for k, v := range m {
- clone[k] = v
- }
+ maps.Copy(clone, m)
return clone
}
diff --git a/vendor/github.com/prometheus/common/model/signature.go b/vendor/github.com/prometheus/common/model/signature.go
index dc8a0026c..b723e3bb2 100644
--- a/vendor/github.com/prometheus/common/model/signature.go
+++ b/vendor/github.com/prometheus/common/model/signature.go
@@ -14,7 +14,7 @@
package model
import (
- "sort"
+ "slices"
)
// SeparatorByte is a byte that cannot occur in valid UTF-8 sequences and is
@@ -37,7 +37,7 @@ func LabelsToSignature(labels map[string]string) uint64 {
for labelName := range labels {
labelNames = append(labelNames, labelName)
}
- sort.Strings(labelNames)
+ slices.Sort(labelNames)
sum := hashNew()
for _, labelName := range labelNames {
@@ -60,7 +60,7 @@ func labelSetToFingerprint(ls LabelSet) Fingerprint {
for labelName := range ls {
labelNames = append(labelNames, labelName)
}
- sort.Sort(labelNames)
+ slices.Sort(labelNames)
sum := hashNew()
for _, labelName := range labelNames {
@@ -100,7 +100,7 @@ func SignatureForLabels(m Metric, labels ...LabelName) uint64 {
return emptyLabelSignature
}
- sort.Sort(LabelNames(labels))
+ slices.Sort(labels)
sum := hashNew()
for _, label := range labels {
@@ -129,7 +129,7 @@ func SignatureWithoutLabels(m Metric, labels map[LabelName]struct{}) uint64 {
if len(labelNames) == 0 {
return emptyLabelSignature
}
- sort.Sort(labelNames)
+ slices.Sort(labelNames)
sum := hashNew()
for _, labelName := range labelNames {
diff --git a/vendor/github.com/prometheus/common/model/time.go b/vendor/github.com/prometheus/common/model/time.go
index 1730b0fdc..986071742 100644
--- a/vendor/github.com/prometheus/common/model/time.go
+++ b/vendor/github.com/prometheus/common/model/time.go
@@ -123,44 +123,38 @@ func (t Time) MarshalJSON() ([]byte, error) {
// UnmarshalJSON implements the json.Unmarshaler interface.
func (t *Time) UnmarshalJSON(b []byte) error {
- p := strings.Split(string(b), ".")
- switch len(p) {
- case 1:
- v, err := strconv.ParseInt(p[0], 10, 64)
+ base, frac, found := strings.Cut(string(b), ".")
+ if !found {
+ v, err := strconv.ParseInt(base, 10, 64)
if err != nil {
return err
}
*t = Time(v * second)
-
- case 2:
- v, err := strconv.ParseInt(p[0], 10, 64)
+ } else {
+ v, err := strconv.ParseInt(base, 10, 64)
if err != nil {
return err
}
- v *= second
- prec := dotPrecision - len(p[1])
+ prec := dotPrecision - len(frac)
if prec < 0 {
- p[1] = p[1][:dotPrecision]
- } else if prec > 0 {
- p[1] += strings.Repeat("0", prec)
+ frac = frac[:dotPrecision]
}
-
- va, err := strconv.ParseInt(p[1], 10, 32)
+ va, err := strconv.ParseInt(frac, 10, 32)
if err != nil {
return err
}
-
- // If the value was something like -0.1 the negative is lost in the
- // parsing because of the leading zero, this ensures that we capture it.
- if len(p[0]) > 0 && p[0][0] == '-' && v+va > 0 {
- *t = Time(v+va) * -1
- } else {
- *t = Time(v + va)
+ switch prec {
+ case 1:
+ va *= 10
+ case 2:
+ va *= 100
}
- default:
- return fmt.Errorf("invalid time %q", string(b))
+ if len(base) > 0 && base[0] == '-' {
+ va = -va
+ }
+ *t = Time(v*second + va)
}
return nil
}
@@ -170,6 +164,34 @@ func (t *Time) UnmarshalJSON(b []byte) error {
// This type should not propagate beyond the scope of input/output processing.
type Duration time.Duration
+// Common durations. Day and Week are included because ParseDuration supports
+// those units (unlike the standard time package).
+//
+// To count the number of units in a Duration, divide:
+//
+// second := model.Second
+// fmt.Print(int64(second/model.Millisecond)) // prints 1000
+//
+// To convert an integer number of units to a Duration, multiply:
+//
+// seconds := 10
+// fmt.Print(model.Duration(seconds)*model.Second) // prints 10s
+const (
+ Nanosecond Duration = 1
+ Microsecond = 1000 * Nanosecond
+ Millisecond = 1000 * Microsecond
+ Second = 1000 * Millisecond
+ Minute = 60 * Second
+ Hour = 60 * Minute
+ Day = 24 * Hour
+ Week = 7 * Day
+)
+
+// Milliseconds returns the duration as an integer millisecond count.
+// Prometheus stores timestamps in milliseconds; time.Duration already
+// covers the other units.
+func (d Duration) Milliseconds() int64 { return time.Duration(d).Milliseconds() }
+
// Set implements pflag/flag.Value.
func (d *Duration) Set(s string) error {
var err error
@@ -340,12 +362,12 @@ func (d *Duration) UnmarshalText(text []byte) error {
}
// MarshalYAML implements the yaml.Marshaler interface.
-func (d Duration) MarshalYAML() (interface{}, error) {
+func (d Duration) MarshalYAML() (any, error) {
return d.String(), nil
}
// UnmarshalYAML implements the yaml.Unmarshaler interface.
-func (d *Duration) UnmarshalYAML(unmarshal func(interface{}) error) error {
+func (d *Duration) UnmarshalYAML(unmarshal func(any) error) error {
var s string
if err := unmarshal(&s); err != nil {
return err
diff --git a/vendor/github.com/prometheus/common/model/value.go b/vendor/github.com/prometheus/common/model/value.go
index a9995a37e..eed5c9ef3 100644
--- a/vendor/github.com/prometheus/common/model/value.go
+++ b/vendor/github.com/prometheus/common/model/value.go
@@ -224,28 +224,6 @@ func (ss SampleStream) MarshalJSON() ([]byte, error) {
}
}
-func (ss *SampleStream) UnmarshalJSON(b []byte) error {
- v := struct {
- Metric Metric `json:"metric"`
- Values []SamplePair `json:"values"`
- Histograms []SampleHistogramPair `json:"histograms"`
- }{
- Metric: ss.Metric,
- Values: ss.Values,
- Histograms: ss.Histograms,
- }
-
- if err := json.Unmarshal(b, &v); err != nil {
- return err
- }
-
- ss.Metric = v.Metric
- ss.Values = v.Values
- ss.Histograms = v.Histograms
-
- return nil
-}
-
// Scalar is a scalar value evaluated at the set timestamp.
type Scalar struct {
Value SampleValue `json:"value"`
@@ -259,13 +237,13 @@ func (s Scalar) String() string {
// MarshalJSON implements json.Marshaler.
func (s Scalar) MarshalJSON() ([]byte, error) {
v := strconv.FormatFloat(float64(s.Value), 'f', -1, 64)
- return json.Marshal([...]interface{}{s.Timestamp, v})
+ return json.Marshal([...]any{s.Timestamp, v})
}
// UnmarshalJSON implements json.Unmarshaler.
func (s *Scalar) UnmarshalJSON(b []byte) error {
var f string
- v := [...]interface{}{&s.Timestamp, &f}
+ v := [...]any{&s.Timestamp, &f}
if err := json.Unmarshal(b, &v); err != nil {
return err
@@ -291,12 +269,12 @@ func (s *String) String() string {
// MarshalJSON implements json.Marshaler.
func (s String) MarshalJSON() ([]byte, error) {
- return json.Marshal([]interface{}{s.Timestamp, s.Value})
+ return json.Marshal([]any{s.Timestamp, s.Value})
}
// UnmarshalJSON implements json.Unmarshaler.
func (s *String) UnmarshalJSON(b []byte) error {
- v := [...]interface{}{&s.Timestamp, &s.Value}
+ v := [...]any{&s.Timestamp, &s.Value}
return json.Unmarshal(b, &v)
}
diff --git a/vendor/github.com/prometheus/common/model/value_float.go b/vendor/github.com/prometheus/common/model/value_float.go
index 6bfc757d1..b7d93615e 100644
--- a/vendor/github.com/prometheus/common/model/value_float.go
+++ b/vendor/github.com/prometheus/common/model/value_float.go
@@ -79,7 +79,7 @@ func (s SamplePair) MarshalJSON() ([]byte, error) {
if err != nil {
return nil, err
}
- return []byte(fmt.Sprintf("[%s,%s]", t, v)), nil
+ return fmt.Appendf(nil, "[%s,%s]", t, v), nil
}
// UnmarshalJSON implements json.Unmarshaler.
diff --git a/vendor/github.com/prometheus/common/model/value_float127.go b/vendor/github.com/prometheus/common/model/value_float127.go
new file mode 100644
index 000000000..821cc1e72
--- /dev/null
+++ b/vendor/github.com/prometheus/common/model/value_float127.go
@@ -0,0 +1,70 @@
+// Copyright The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//go:build go1.27
+
+package model
+
+import (
+ "bytes"
+ "encoding/json/jsontext"
+ "errors"
+)
+
+var nullBytes = []byte("null")
+
+func (s *SamplePair) UnmarshalJSONFrom(dec *jsontext.Decoder) error {
+ if t, err := dec.ReadToken(); err != nil {
+ return err
+ } else if t.Kind() == jsontext.KindNull {
+ return nil
+ } else if t.Kind() != jsontext.KindBeginArray {
+ return errors.New("expected [")
+ }
+
+ // Loop until we see the end of the array (tolerate arrays of any length).
+ for i := 0; dec.PeekKind() != jsontext.KindEndArray; i++ {
+ switch i {
+ case 0:
+ if v, err := dec.ReadValue(); err != nil {
+ return err
+ } else if bytes.Equal(v, nullBytes) {
+ // Skip null values to match SamplePair#UnmarshalJSON behavior.
+ } else if err := s.Timestamp.UnmarshalJSON(v); err != nil {
+ return err
+ }
+ case 1:
+ if v, err := dec.ReadValue(); err != nil {
+ return err
+ } else if bytes.Equal(v, nullBytes) {
+ // Skip null values to match SamplePair#UnmarshalJSON behavior.
+ } else if err := s.Value.UnmarshalJSON(v); err != nil {
+ return err
+ }
+ default:
+ // Skip any remaining array items to match UnmarshalJSON behavior.
+ if err := dec.SkipValue(); err != nil {
+ return err
+ }
+ }
+ }
+
+ // Read the final end array token.
+ if t, err := dec.ReadToken(); err != nil {
+ return err
+ } else if t.Kind() != jsontext.KindEndArray {
+ return errors.New("expected ]")
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/prometheus/common/model/value_histogram.go b/vendor/github.com/prometheus/common/model/value_histogram.go
index 91ce5b7a4..f27856ccc 100644
--- a/vendor/github.com/prometheus/common/model/value_histogram.go
+++ b/vendor/github.com/prometheus/common/model/value_histogram.go
@@ -67,11 +67,11 @@ func (s HistogramBucket) MarshalJSON() ([]byte, error) {
if err != nil {
return nil, err
}
- return []byte(fmt.Sprintf("[%s,%s,%s,%s]", b, l, u, c)), nil
+ return fmt.Appendf(nil, "[%s,%s,%s,%s]", b, l, u, c), nil
}
func (s *HistogramBucket) UnmarshalJSON(buf []byte) error {
- tmp := []interface{}{&s.Boundaries, &s.Lower, &s.Upper, &s.Count}
+ tmp := []any{&s.Boundaries, &s.Lower, &s.Upper, &s.Count}
wantLen := len(tmp)
if err := json.Unmarshal(buf, &tmp); err != nil {
return err
@@ -152,11 +152,11 @@ func (s SampleHistogramPair) MarshalJSON() ([]byte, error) {
if err != nil {
return nil, err
}
- return []byte(fmt.Sprintf("[%s,%s]", t, v)), nil
+ return fmt.Appendf(nil, "[%s,%s]", t, v), nil
}
func (s *SampleHistogramPair) UnmarshalJSON(buf []byte) error {
- tmp := []interface{}{&s.Timestamp, &s.Histogram}
+ tmp := []any{&s.Timestamp, &s.Histogram}
wantLen := len(tmp)
if err := json.Unmarshal(buf, &tmp); err != nil {
return err
diff --git a/vendor/github.com/prometheus/common/model/value_histogram127.go b/vendor/github.com/prometheus/common/model/value_histogram127.go
new file mode 100644
index 000000000..fbcfb3f94
--- /dev/null
+++ b/vendor/github.com/prometheus/common/model/value_histogram127.go
@@ -0,0 +1,95 @@
+// Copyright The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//go:build go1.27
+
+package model
+
+import (
+ "bytes"
+ "encoding/json/jsontext"
+ "encoding/json/v2"
+ "errors"
+)
+
+func (s *SampleHistogramPair) UnmarshalJSONFrom(dec *jsontext.Decoder) error {
+ if t, err := dec.ReadToken(); err != nil {
+ return err
+ } else if t.Kind() != jsontext.KindBeginArray {
+ return errors.New("expected [")
+ }
+
+ if v, err := dec.ReadValue(); err != nil {
+ return err
+ } else if bytes.Equal(v, nullBytes) {
+ // Skip null values to match SamplePair#UnmarshalJSON behavior.
+ } else if err := s.Timestamp.UnmarshalJSON(v); err != nil {
+ return err
+ }
+
+ if err := json.UnmarshalDecode(dec, &s.Histogram); err != nil {
+ return err
+ } else if s.Histogram == nil {
+ return errors.New("histogram is nil")
+ }
+
+ if t, err := dec.ReadToken(); err != nil {
+ return err
+ } else if t.Kind() != jsontext.KindEndArray {
+ return errors.New("expected ]")
+ }
+ return nil
+}
+
+func (s *HistogramBucket) UnmarshalJSONFrom(dec *jsontext.Decoder) error {
+ if t, err := dec.ReadToken(); err != nil {
+ return err
+ } else if t.Kind() != jsontext.KindBeginArray {
+ return errors.New("expected [")
+ }
+
+ if err := json.UnmarshalDecode(dec, &s.Boundaries); err != nil {
+ return err
+ }
+
+ if v, err := dec.ReadValue(); err != nil {
+ return err
+ } else if bytes.Equal(v, nullBytes) {
+ // Skip null values to match SamplePair#UnmarshalJSON behavior.
+ } else if err := s.Lower.UnmarshalJSON(v); err != nil {
+ return err
+ }
+
+ if v, err := dec.ReadValue(); err != nil {
+ return err
+ } else if bytes.Equal(v, nullBytes) {
+ // Skip null values to match SamplePair#UnmarshalJSON behavior.
+ } else if err := s.Upper.UnmarshalJSON(v); err != nil {
+ return err
+ }
+
+ if v, err := dec.ReadValue(); err != nil {
+ return err
+ } else if bytes.Equal(v, nullBytes) {
+ // Skip null values to match SamplePair#UnmarshalJSON behavior.
+ } else if err := s.Count.UnmarshalJSON(v); err != nil {
+ return err
+ }
+
+ if t, err := dec.ReadToken(); err != nil {
+ return err
+ } else if t.Kind() != jsontext.KindEndArray {
+ return errors.New("expected ]")
+ }
+ return nil
+}
diff --git a/vendor/github.com/prometheus/procfs/.golangci.yml b/vendor/github.com/prometheus/procfs/.golangci.yml
index eac920ba8..23ecd4505 100644
--- a/vendor/github.com/prometheus/procfs/.golangci.yml
+++ b/vendor/github.com/prometheus/procfs/.golangci.yml
@@ -34,14 +34,6 @@ linters:
capital: true
misspell:
locale: US
- revive:
- rules:
- - name: var-naming
- # TODO(SuperQ): See: https://github.com/prometheus/prometheus/issues/17766
- arguments:
- - []
- - []
- - - skip-package-name-checks: true
exclusions:
presets:
- comments
diff --git a/vendor/github.com/prometheus/procfs/CONTRIBUTING.md b/vendor/github.com/prometheus/procfs/CONTRIBUTING.md
index 853eb9d49..812a71bb9 100644
--- a/vendor/github.com/prometheus/procfs/CONTRIBUTING.md
+++ b/vendor/github.com/prometheus/procfs/CONTRIBUTING.md
@@ -96,7 +96,7 @@ The `proc` and `sys` filesystems are pseudo file systems and work a bit differen
Many of the files are changing continuously and the data being read can in some cases change between subsequent
reads in the same file. Also, most of the files are relatively small (less than a few KBs), and system calls
to the `stat` function will often return the wrong size. Therefore, for most files it's recommended to read the
-full file in a single operation using an internal utility function called `util.ReadFileNoStat`.
+full file in a single operation using an internal utility function called `parsers.ReadFileNoStat`.
This function is similar to `os.ReadFile`, but it avoids the system call to `stat` to get the current size of
the file.
@@ -104,7 +104,7 @@ Note that parsing the file's contents can still be performed one line at a time.
the full file, and then using a scanner on the `[]byte` or `string` containing the data.
```
- data, err := util.ReadFileNoStat("/proc/cpuinfo")
+ data, err := parsers.ReadFileNoStat("/proc/cpuinfo")
if err != nil {
return err
}
@@ -113,9 +113,9 @@ the full file, and then using a scanner on the `[]byte` or `string` containing t
```
The `/sys` filesystem contains many very small files which contain only a single numeric or text value. These files
-can be read using an internal function called `util.SysReadFile` which is similar to `os.ReadFile` but does
+can be read using an internal function called `parsers.SysReadFile` which is similar to `os.ReadFile` but does
not bother to check the size of the file before reading.
```
- data, err := util.SysReadFile("/sys/class/power_supply/BAT0/capacity")
+ data, err := parsers.SysReadFile("/sys/class/power_supply/BAT0/capacity")
```
diff --git a/vendor/github.com/prometheus/procfs/Makefile.common b/vendor/github.com/prometheus/procfs/Makefile.common
index cce3ef1d1..cd54cb419 100644
--- a/vendor/github.com/prometheus/procfs/Makefile.common
+++ b/vendor/github.com/prometheus/procfs/Makefile.common
@@ -55,13 +55,13 @@ ifneq ($(shell command -v gotestsum 2> /dev/null),)
endif
endif
-PROMU_VERSION ?= 0.18.0
+PROMU_VERSION ?= 0.20.0
PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_VERSION)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM).tar.gz
SKIP_GOLANGCI_LINT :=
GOLANGCI_LINT :=
GOLANGCI_LINT_OPTS ?=
-GOLANGCI_LINT_VERSION ?= v2.10.1
+GOLANGCI_LINT_VERSION ?= v2.12.2
GOLANGCI_FMT_OPTS ?=
# golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64.
# windows isn't included here because of the path separator being different.
@@ -90,8 +90,8 @@ ifdef DOCKERFILE_PATH
$(error DOCKERFILE_PATH is deprecated. Use DOCKERFILE_VARIANTS ?= $(DOCKERFILE_PATH) in the Makefile)
endif
-DOCKER_ARCHS ?= amd64
-DOCKERFILE_VARIANTS ?= Dockerfile $(wildcard Dockerfile.*)
+DOCKER_ARCHS ?= amd64 arm64 armv7 ppc64le riscv64 s390x
+DOCKERFILE_VARIANTS ?= $(wildcard Dockerfile Dockerfile.*)
# Function to extract variant from Dockerfile label.
# Returns the variant name from io.prometheus.image.variant label, or "default" if not found.
@@ -109,24 +109,6 @@ endif
# Build variant:dockerfile pairs for shell iteration.
DOCKERFILE_VARIANTS_WITH_NAMES := $(foreach df,$(DOCKERFILE_VARIANTS),$(call dockerfile_variant,$(df)):$(df))
-# Shell helper to check whether a dockerfile/arch pair is excluded.
-define dockerfile_arch_is_excluded
-case " $(DOCKERFILE_ARCH_EXCLUSIONS) " in \
- *" $$dockerfile:$(1) "*) true ;; \
- *) false ;; \
-esac
-endef
-
-# Shell helper to check whether a registry/arch pair is excluded.
-# Extracts registry from DOCKER_REPO (e.g., quay.io/prometheus -> quay.io)
-define registry_arch_is_excluded
-registry=$$(echo "$(DOCKER_REPO)" | cut -d'/' -f1); \
-case " $(DOCKER_REGISTRY_ARCH_EXCLUSIONS) " in \
- *" $$registry:$(1) "*) true ;; \
- *) false ;; \
-esac
-endef
-
BUILD_DOCKER_ARCHS = $(addprefix common-docker-,$(DOCKER_ARCHS))
PUBLISH_DOCKER_ARCHS = $(addprefix common-docker-publish-,$(DOCKER_ARCHS))
TAG_DOCKER_ARCHS = $(addprefix common-docker-tag-latest-,$(DOCKER_ARCHS))
@@ -183,8 +165,9 @@ common-deps:
.PHONY: update-go-deps
update-go-deps:
@echo ">> updating Go dependencies"
+ # GOTOOLCHAIN prevents go get from pulling deps that require a newer Go version.
@for m in $$($(GO) list -mod=readonly -m -f '{{ if and (not .Indirect) (not .Main)}}{{.Path}}{{end}}' all); do \
- $(GO) get $$m; \
+ GOTOOLCHAIN=go$$($(GO) mod edit -json | jq -r .Go) $(GO) get $$m; \
done
$(GO) mod tidy
@@ -264,22 +247,25 @@ common-docker-repo-name:
.PHONY: common-docker $(BUILD_DOCKER_ARCHS)
common-docker: $(BUILD_DOCKER_ARCHS)
+# DOCKER_ARCHS holds promu architecture names, which are not OCI platform strings.
$(BUILD_DOCKER_ARCHS): common-docker-%:
@for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
dockerfile=$${variant#*:}; \
variant_name=$${variant%%:*}; \
- if $(call dockerfile_arch_is_excluded,$*); then \
- echo "Skipping $$variant_name variant for linux-$* (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
distroless_arch="$*"; \
if [ "$*" = "armv7" ]; then \
distroless_arch="arm"; \
fi; \
+ arch="$*"; \
+ case "$$arch" in \
+ armv*) docker_platform="linux/arm/v$${arch#armv}";; \
+ *) docker_platform="linux/$$arch";; \
+ esac; \
if [ "$$dockerfile" = "Dockerfile" ]; then \
echo "Building default variant ($$variant_name) for linux-$* using $$dockerfile"; \
docker build -t "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" \
-f $$dockerfile \
+ --platform "$$docker_platform" \
--build-arg ARCH="$*" \
--build-arg OS="linux" \
--build-arg DISTROLESS_ARCH="$$distroless_arch" \
@@ -293,6 +279,7 @@ $(BUILD_DOCKER_ARCHS): common-docker-%:
echo "Building $$variant_name variant for linux-$* using $$dockerfile"; \
docker build -t "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name" \
-f $$dockerfile \
+ --platform "$$docker_platform" \
--build-arg ARCH="$*" \
--build-arg OS="linux" \
--build-arg DISTROLESS_ARCH="$$distroless_arch" \
@@ -306,14 +293,6 @@ $(PUBLISH_DOCKER_ARCHS): common-docker-publish-%:
@for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
dockerfile=$${variant#*:}; \
variant_name=$${variant%%:*}; \
- if $(call dockerfile_arch_is_excluded,$*); then \
- echo "Skipping push for $$variant_name variant on linux-$* (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
- if $(call registry_arch_is_excluded,$*); then \
- echo "Skipping push for $$variant_name variant on linux-$* to $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != "default" ]; then \
echo "Pushing $$variant_name variant for linux-$*"; \
docker push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"; \
@@ -341,14 +320,6 @@ $(TAG_DOCKER_ARCHS): common-docker-tag-latest-%:
@for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
dockerfile=$${variant#*:}; \
variant_name=$${variant%%:*}; \
- if $(call dockerfile_arch_is_excluded,$*); then \
- echo "Skipping tag for $$variant_name variant on linux-$* (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
- if $(call registry_arch_is_excluded,$*); then \
- echo "Skipping tag for $$variant_name variant on linux-$* for $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != "default" ]; then \
echo "Tagging $$variant_name variant for linux-$* as latest"; \
docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:latest-$$variant_name"; \
@@ -370,14 +341,6 @@ common-docker-manifest:
echo "Creating manifest for $$variant_name variant"; \
refs=""; \
for arch in $(DOCKER_ARCHS); do \
- if $(call dockerfile_arch_is_excluded,$$arch); then \
- echo " Skipping $$arch for $$variant_name (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
- if $(call registry_arch_is_excluded,$$arch); then \
- echo " Skipping $$arch for $$variant_name on $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
refs="$$refs $(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$$arch:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"; \
done; \
if [ -z "$$refs" ]; then \
@@ -391,14 +354,6 @@ common-docker-manifest:
echo "Creating default variant ($$variant_name) manifest"; \
refs=""; \
for arch in $(DOCKER_ARCHS); do \
- if $(call dockerfile_arch_is_excluded,$$arch); then \
- echo " Skipping $$arch for default variant (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
- if $(call registry_arch_is_excluded,$$arch); then \
- echo " Skipping $$arch for default variant on $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
refs="$$refs $(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$$arch:$(SANITIZED_DOCKER_IMAGE_TAG)"; \
done; \
if [ -z "$$refs" ]; then \
@@ -413,14 +368,6 @@ common-docker-manifest:
echo "Creating manifest for $$variant_name variant version tag"; \
refs=""; \
for arch in $(DOCKER_ARCHS); do \
- if $(call dockerfile_arch_is_excluded,$$arch); then \
- echo " Skipping $$arch for $$variant_name version tag (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
- if $(call registry_arch_is_excluded,$$arch); then \
- echo " Skipping $$arch for $$variant_name version tag on $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
refs="$$refs $(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$$arch:v$(DOCKER_MAJOR_VERSION_TAG)-$$variant_name"; \
done; \
if [ -z "$$refs" ]; then \
@@ -434,14 +381,6 @@ common-docker-manifest:
echo "Creating default variant version tag manifest"; \
refs=""; \
for arch in $(DOCKER_ARCHS); do \
- if $(call dockerfile_arch_is_excluded,$$arch); then \
- echo " Skipping $$arch for default variant version tag (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
- if $(call registry_arch_is_excluded,$$arch); then \
- echo " Skipping $$arch for default variant version tag on $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
- continue; \
- fi; \
refs="$$refs $(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$$arch:v$(DOCKER_MAJOR_VERSION_TAG)"; \
done; \
if [ -z "$$refs" ]; then \
@@ -495,9 +434,3 @@ $(1)_precheck:
exit 1; \
fi
endef
-
-govulncheck: install-govulncheck
- govulncheck ./...
-
-install-govulncheck:
- command -v govulncheck > /dev/null || go install golang.org/x/vuln/cmd/govulncheck@latest
diff --git a/vendor/github.com/prometheus/procfs/README.md b/vendor/github.com/prometheus/procfs/README.md
index 0718239cf..363524094 100644
--- a/vendor/github.com/prometheus/procfs/README.md
+++ b/vendor/github.com/prometheus/procfs/README.md
@@ -7,7 +7,7 @@ metrics from the pseudo-filesystems /proc and /sys.
backwards-incompatible ways without warnings. Use it at your own risk.
[](https://pkg.go.dev/github.com/prometheus/procfs)
-[](https://circleci.com/gh/prometheus/procfs/tree/master)
+[](https://github.com/prometheus/procfs/actions/workflows/ci.yml)
[](https://goreportcard.com/report/github.com/prometheus/procfs)
## Usage
diff --git a/vendor/github.com/prometheus/procfs/SECURITY.md b/vendor/github.com/prometheus/procfs/SECURITY.md
index fed02d85c..5e6f976db 100644
--- a/vendor/github.com/prometheus/procfs/SECURITY.md
+++ b/vendor/github.com/prometheus/procfs/SECURITY.md
@@ -3,4 +3,4 @@
The Prometheus security policy, including how to report vulnerabilities, can be
found here:
-
+[https://prometheus.io/docs/operating/security/](https://prometheus.io/docs/operating/security/)
diff --git a/vendor/github.com/prometheus/procfs/cmdline.go b/vendor/github.com/prometheus/procfs/cmdline.go
index 4f1cac1f0..6a2e7bb0e 100644
--- a/vendor/github.com/prometheus/procfs/cmdline.go
+++ b/vendor/github.com/prometheus/procfs/cmdline.go
@@ -16,12 +16,12 @@ package procfs
import (
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// CmdLine returns the command line of the kernel.
func (fs FS) CmdLine() ([]string, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path("cmdline"))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path("cmdline"))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/cpuinfo.go b/vendor/github.com/prometheus/procfs/cpuinfo.go
index 4b23d8d6b..7a31a4555 100644
--- a/vendor/github.com/prometheus/procfs/cpuinfo.go
+++ b/vendor/github.com/prometheus/procfs/cpuinfo.go
@@ -24,7 +24,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// CPUInfo contains general information about a system CPU found in /proc/cpuinfo.
@@ -65,7 +65,7 @@ var (
// CPUInfo returns information about current system CPUs.
// See https://www.kernel.org/doc/Documentation/filesystems/proc.txt
func (fs FS) CPUInfo() ([]CPUInfo, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path("cpuinfo"))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path("cpuinfo"))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/crypto.go b/vendor/github.com/prometheus/procfs/crypto.go
index e4a5876ea..c4ba05b15 100644
--- a/vendor/github.com/prometheus/procfs/crypto.go
+++ b/vendor/github.com/prometheus/procfs/crypto.go
@@ -20,7 +20,7 @@ import (
"io"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Crypto holds info parsed from /proc/crypto.
@@ -48,12 +48,14 @@ type Crypto struct {
Walksize *uint64
}
+var cryptoFile = "crypto"
+
// Crypto parses an crypto-file (/proc/crypto) and returns a slice of
// structs containing the relevant info. More information available here:
// https://kernel.readthedocs.io/en/sphinx-samples/crypto-API.html
func (fs FS) Crypto() ([]Crypto, error) {
- path := fs.proc.Path("crypto")
- b, err := util.ReadFileNoStat(path)
+ path := fs.proc.Path(cryptoFile)
+ b, err := parsers.ReadFileNoStat(path)
if err != nil {
return nil, fmt.Errorf("%w: Cannot read file %v: %w", ErrFileRead, b, err)
@@ -82,6 +84,10 @@ func parseCrypto(r io.Reader) ([]Crypto, error) {
continue
}
+ if len(out) == 0 {
+ return nil, fmt.Errorf("%w: parsed invalid line before name parsed: %q", ErrFileParse, text)
+ }
+
kv := strings.Split(text, ":")
if len(kv) != 2 {
return nil, fmt.Errorf("%w: Cannot parse line: %q", ErrFileParse, text)
@@ -106,7 +112,7 @@ func parseCrypto(r io.Reader) ([]Crypto, error) {
// parseKV parses a key/value pair into the appropriate field of c.
func (c *Crypto) parseKV(k, v string) error {
- vp := util.NewValueParser(v)
+ vp := parsers.NewValueParser(v)
switch k {
case "async":
diff --git a/vendor/github.com/prometheus/procfs/fs_statfs_notype.go b/vendor/github.com/prometheus/procfs/fs_statfs_notype.go
index 0bef25bdd..fc16802dc 100644
--- a/vendor/github.com/prometheus/procfs/fs_statfs_notype.go
+++ b/vendor/github.com/prometheus/procfs/fs_statfs_notype.go
@@ -15,8 +15,8 @@
package procfs
-// isRealProc returns true on architectures that don't have a Type argument
+// isRealProc returns false on architectures that don't have a Type argument
// in their Statfs_t struct.
func isRealProc(_ string) (bool, error) {
- return true, nil
+ return false, nil
}
diff --git a/vendor/github.com/prometheus/procfs/fscache.go b/vendor/github.com/prometheus/procfs/fscache.go
index 9dde85707..388295cb4 100644
--- a/vendor/github.com/prometheus/procfs/fscache.go
+++ b/vendor/github.com/prometheus/procfs/fscache.go
@@ -21,7 +21,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Fscacheinfo represents fscache statistics.
@@ -229,7 +229,7 @@ type Fscacheinfo struct {
// Fscacheinfo returns information about current fscache statistics.
// See https://www.kernel.org/doc/Documentation/filesystems/caching/fscache.txt
func (fs FS) Fscacheinfo() (Fscacheinfo, error) {
- b, err := util.ReadFileNoStat(fs.proc.Path("fs/fscache/stats"))
+ b, err := parsers.ReadFileNoStat(fs.proc.Path("fs/fscache/stats"))
if err != nil {
return Fscacheinfo{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/internal/fs/fs.go b/vendor/github.com/prometheus/procfs/internal/fs/fs.go
index e7ccad66b..bdd8010a4 100644
--- a/vendor/github.com/prometheus/procfs/internal/fs/fs.go
+++ b/vendor/github.com/prometheus/procfs/internal/fs/fs.go
@@ -31,6 +31,9 @@ const (
// DefaultSelinuxMountPoint is the common mount point of the selinuxfs.
DefaultSelinuxMountPoint = "/sys/fs/selinux"
+
+ // DefaultResctrlMountPoint is the common mount point of the resctrl filesystem.
+ DefaultResctrlMountPoint = "/sys/fs/resctrl"
)
// FS represents a pseudo-filesystem, normally /proc or /sys, which provides an
diff --git a/vendor/github.com/prometheus/procfs/internal/util/parse.go b/vendor/github.com/prometheus/procfs/internal/parsers/parse.go
similarity index 99%
rename from vendor/github.com/prometheus/procfs/internal/util/parse.go
rename to vendor/github.com/prometheus/procfs/internal/parsers/parse.go
index 30c587201..5789ae5db 100644
--- a/vendor/github.com/prometheus/procfs/internal/util/parse.go
+++ b/vendor/github.com/prometheus/procfs/internal/parsers/parse.go
@@ -11,7 +11,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package util
+package parsers
import (
"errors"
diff --git a/vendor/github.com/prometheus/procfs/internal/util/readfile.go b/vendor/github.com/prometheus/procfs/internal/parsers/readfile.go
similarity index 98%
rename from vendor/github.com/prometheus/procfs/internal/util/readfile.go
rename to vendor/github.com/prometheus/procfs/internal/parsers/readfile.go
index 0e41f71af..c68d29215 100644
--- a/vendor/github.com/prometheus/procfs/internal/util/readfile.go
+++ b/vendor/github.com/prometheus/procfs/internal/parsers/readfile.go
@@ -11,7 +11,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package util
+package parsers
import (
"io"
diff --git a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go b/vendor/github.com/prometheus/procfs/internal/parsers/sysreadfile.go
similarity index 99%
rename from vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go
rename to vendor/github.com/prometheus/procfs/internal/parsers/sysreadfile.go
index f6a4a4de6..0f72f6021 100644
--- a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go
+++ b/vendor/github.com/prometheus/procfs/internal/parsers/sysreadfile.go
@@ -13,7 +13,7 @@
//go:build (linux || darwin) && !appengine
-package util
+package parsers
import (
"bytes"
diff --git a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go b/vendor/github.com/prometheus/procfs/internal/parsers/sysreadfile_compat.go
similarity index 98%
rename from vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go
rename to vendor/github.com/prometheus/procfs/internal/parsers/sysreadfile_compat.go
index c80e082cb..6e19c4555 100644
--- a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go
+++ b/vendor/github.com/prometheus/procfs/internal/parsers/sysreadfile_compat.go
@@ -13,7 +13,7 @@
//go:build (linux && appengine) || (!linux && !darwin)
-package util
+package parsers
import (
"fmt"
diff --git a/vendor/github.com/prometheus/procfs/internal/util/valueparser.go b/vendor/github.com/prometheus/procfs/internal/parsers/valueparser.go
similarity index 99%
rename from vendor/github.com/prometheus/procfs/internal/util/valueparser.go
rename to vendor/github.com/prometheus/procfs/internal/parsers/valueparser.go
index e0ed671ea..6289fd670 100644
--- a/vendor/github.com/prometheus/procfs/internal/util/valueparser.go
+++ b/vendor/github.com/prometheus/procfs/internal/parsers/valueparser.go
@@ -11,7 +11,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package util
+package parsers
import (
"strconv"
diff --git a/vendor/github.com/prometheus/procfs/ipvs.go b/vendor/github.com/prometheus/procfs/ipvs.go
index 5374da9fa..8a6f73747 100644
--- a/vendor/github.com/prometheus/procfs/ipvs.go
+++ b/vendor/github.com/prometheus/procfs/ipvs.go
@@ -25,7 +25,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// IPVSStats holds IPVS statistics, as exposed by the kernel in `/proc/net/ip_vs_stats`.
@@ -66,7 +66,7 @@ type IPVSBackendStatus struct {
// IPVSStats reads the IPVS statistics from the specified `proc` filesystem.
func (fs FS) IPVSStats() (IPVSStats, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path("net/ip_vs_stats"))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path("net/ip_vs_stats"))
if err != nil {
return IPVSStats{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/kernel_random.go b/vendor/github.com/prometheus/procfs/kernel_random.go
index e7c5b8cf2..cbcd12b43 100644
--- a/vendor/github.com/prometheus/procfs/kernel_random.go
+++ b/vendor/github.com/prometheus/procfs/kernel_random.go
@@ -18,7 +18,7 @@ package procfs
import (
"os"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// KernelRandom contains information about to the kernel's random number generator.
@@ -48,7 +48,7 @@ func (fs FS) KernelRandom() (KernelRandom, error) {
"write_wakeup_threshold": &random.WriteWakeupThreshold,
"read_wakeup_threshold": &random.ReadWakeupThreshold,
} {
- val, err := util.ReadUintFromFile(fs.proc.Path("sys", "kernel", "random", file))
+ val, err := parsers.ReadUintFromFile(fs.proc.Path("sys", "kernel", "random", file))
if os.IsNotExist(err) {
continue
}
diff --git a/vendor/github.com/prometheus/procfs/kernel_tainted.go b/vendor/github.com/prometheus/procfs/kernel_tainted.go
new file mode 100644
index 000000000..9707f0280
--- /dev/null
+++ b/vendor/github.com/prometheus/procfs/kernel_tainted.go
@@ -0,0 +1,95 @@
+// Copyright The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//go:build linux
+
+package procfs
+
+import (
+ "github.com/prometheus/procfs/internal/parsers"
+)
+
+// KernelTaintBit represents a single kernel taint flag.
+type KernelTaintBit struct {
+ // Index is the zero-based bit position in the tainted bitmask.
+ Index int
+ // Flag is the letter code identifying this taint (e.g. "L" for soft lockup).
+ // See https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
+ Flag string
+ // Description is a human-readable explanation of what this taint means.
+ Description string
+ // Set indicates whether this taint flag is currently active.
+ Set bool
+}
+
+// KernelTainted holds the kernel taint state read from /proc/sys/kernel/tainted.
+type KernelTainted struct {
+ // Value is the raw integer from /proc/sys/kernel/tainted.
+ Value uint64
+ // Bits contains each known taint flag and whether it is currently set.
+ // Flags are listed in bit-position order (bit 0 first).
+ Bits []KernelTaintBit
+}
+
+// kernelTaintBitDefs lists all known kernel taint flags in bit-position order.
+// Reference: https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
+var kernelTaintBitDefs = []struct {
+ flag string
+ description string
+}{
+ {"P", "Proprietary module was loaded."},
+ {"F", "Module was force loaded."},
+ {"S", "SMP kernel oops on an officially SMP incapable processor."},
+ {"R", "Module was force unloaded."},
+ {"M", "Processor reported a Machine Check Exception (MCE)."},
+ {"B", "Bad page referenced or some unexpected page flags."},
+ {"U", "Taint requested by userspace application."},
+ {"D", "Kernel died recently, i.e. there was an OOPS or BUG."},
+ {"A", "An ACPI table was overridden by user."},
+ {"W", "Kernel issued warning."},
+ {"C", "Staging driver was loaded."},
+ {"I", "Workaround for bug in platform firmware applied."},
+ {"O", "Externally-built (out-of-tree) module was loaded."},
+ {"E", "Unsigned module was loaded."},
+ {"L", "Soft lockup occurred."},
+ {"K", "Kernel has been live patched."},
+ {"X", "Auxiliary taint, defined and used by distros."},
+ {"T", "The kernel was built with the struct randomization plugin."},
+ {"N", "An in-kernel test such as a KUnit test has been run."},
+ {"J", "Userspace used a mutating debug operation in fwctl."},
+}
+
+// KernelTainted reads /proc/sys/kernel/tainted and returns the raw taint value
+// along with each known flag parsed into a KernelTainted struct.
+// See https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
+func (fs FS) KernelTainted() (KernelTainted, error) {
+ value, err := parsers.SysReadUintFromFile(fs.proc.Path("sys", "kernel", "tainted"))
+ if err != nil {
+ return KernelTainted{}, err
+ }
+ return parseTainted(value), nil
+}
+
+// parseTainted builds a KernelTainted from the raw taint bitmask value.
+func parseTainted(value uint64) KernelTainted {
+ bits := make([]KernelTaintBit, len(kernelTaintBitDefs))
+ for i, def := range kernelTaintBitDefs {
+ bits[i] = KernelTaintBit{
+ Index: i,
+ Flag: def.flag,
+ Description: def.description,
+ Set: value&(1</mountinfo`.
func GetProcMounts(pid int) ([]*MountInfo, error) {
- data, err := util.ReadFileNoStat(fmt.Sprintf("/proc/%d/mountinfo", pid))
+ data, err := readMountInfo(fmt.Sprintf("/proc/%d/mountinfo", pid))
if err != nil {
return nil, err
}
@@ -180,7 +190,7 @@ func GetProcMounts(pid int) ([]*MountInfo, error) {
// GetMounts retrieves mountinfo information from `/proc/self/mountinfo`.
func (fs FS) GetMounts() ([]*MountInfo, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path("self/mountinfo"))
+ data, err := readMountInfo(fs.proc.Path("self/mountinfo"))
if err != nil {
return nil, err
}
@@ -189,7 +199,7 @@ func (fs FS) GetMounts() ([]*MountInfo, error) {
// GetProcMounts retrieves mountinfo information from a processes' `/proc//mountinfo`.
func (fs FS) GetProcMounts(pid int) ([]*MountInfo, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path(fmt.Sprintf("%d/mountinfo", pid)))
+ data, err := readMountInfo(fs.proc.Path(fmt.Sprintf("%d/mountinfo", pid)))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/net_conntrackstat.go b/vendor/github.com/prometheus/procfs/net_conntrackstat.go
index e9ca35707..2d8c72a66 100644
--- a/vendor/github.com/prometheus/procfs/net_conntrackstat.go
+++ b/vendor/github.com/prometheus/procfs/net_conntrackstat.go
@@ -20,7 +20,7 @@ import (
"io"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// A ConntrackStatEntry represents one line from net/stat/nf_conntrack
@@ -49,7 +49,7 @@ func (fs FS) ConntrackStat() ([]ConntrackStatEntry, error) {
// Parses a slice of ConntrackStatEntries from the given filepath.
func readConntrackStat(path string) ([]ConntrackStatEntry, error) {
// This file is small and can be read with one syscall.
- b, err := util.ReadFileNoStat(path)
+ b, err := parsers.ReadFileNoStat(path)
if err != nil {
// Do not wrap this error so the caller can detect os.IsNotExist and
// similar conditions.
@@ -84,7 +84,7 @@ func parseConntrackStat(r io.Reader) ([]ConntrackStatEntry, error) {
// Parses a ConntrackStatEntry from given array of fields.
func parseConntrackStatEntry(fields []string) (*ConntrackStatEntry, error) {
- entries, err := util.ParseHexUint64s(fields)
+ entries, err := parsers.ParseHexUint64s(fields)
if err != nil {
return nil, fmt.Errorf("%w: Cannot parse entry: %d: %w", ErrFileParse, entries, err)
}
diff --git a/vendor/github.com/prometheus/procfs/net_ip_socket.go b/vendor/github.com/prometheus/procfs/net_ip_socket.go
index 9291f8cd4..b3b6ec3da 100644
--- a/vendor/github.com/prometheus/procfs/net_ip_socket.go
+++ b/vendor/github.com/prometheus/procfs/net_ip_socket.go
@@ -178,7 +178,7 @@ func parseNetIPSocketLine(fields []string, isUDP bool) (*netIPSocketLine, error)
}
if line.Sl, err = strconv.ParseUint(s[0], 0, 64); err != nil {
- return nil, fmt.Errorf("%w: Unable to parse sl field in %q: %w", ErrFileParse, line.Sl, err)
+ return nil, fmt.Errorf("%w: Unable to parse sl field in %q: %w", ErrFileParse, s[0], err)
}
// local_address
l := strings.Split(fields[1], ":")
@@ -189,7 +189,7 @@ func parseNetIPSocketLine(fields []string, isUDP bool) (*netIPSocketLine, error)
return nil, err
}
if line.LocalPort, err = strconv.ParseUint(l[1], 16, 64); err != nil {
- return nil, fmt.Errorf("%w: Unable to parse local_address port value line %q: %w", ErrFileParse, line.LocalPort, err)
+ return nil, fmt.Errorf("%w: Unable to parse local_address port value line %q: %w", ErrFileParse, l[1], err)
}
// remote_address
@@ -201,12 +201,12 @@ func parseNetIPSocketLine(fields []string, isUDP bool) (*netIPSocketLine, error)
return nil, err
}
if line.RemPort, err = strconv.ParseUint(r[1], 16, 64); err != nil {
- return nil, fmt.Errorf("%w: Cannot parse rem_address port value in %q: %w", ErrFileParse, line.RemPort, err)
+ return nil, fmt.Errorf("%w: Cannot parse rem_address port value in %q: %w", ErrFileParse, r[1], err)
}
// st
if line.St, err = strconv.ParseUint(fields[3], 16, 64); err != nil {
- return nil, fmt.Errorf("%w: Cannot parse st value in %q: %w", ErrFileParse, line.St, err)
+ return nil, fmt.Errorf("%w: Cannot parse st value in %q: %w", ErrFileParse, fields[3], err)
}
// tx_queue and rx_queue
@@ -219,27 +219,27 @@ func parseNetIPSocketLine(fields []string, isUDP bool) (*netIPSocketLine, error)
)
}
if line.TxQueue, err = strconv.ParseUint(q[0], 16, 64); err != nil {
- return nil, fmt.Errorf("%w: Cannot parse tx_queue value in %q: %w", ErrFileParse, line.TxQueue, err)
+ return nil, fmt.Errorf("%w: Cannot parse tx_queue value in %q: %w", ErrFileParse, q[0], err)
}
if line.RxQueue, err = strconv.ParseUint(q[1], 16, 64); err != nil {
- return nil, fmt.Errorf("%w: Cannot parse trx_queue value in %q: %w", ErrFileParse, line.RxQueue, err)
+ return nil, fmt.Errorf("%w: Cannot parse trx_queue value in %q: %w", ErrFileParse, q[1], err)
}
// uid
if line.UID, err = strconv.ParseUint(fields[7], 0, 64); err != nil {
- return nil, fmt.Errorf("%w: Cannot parse UID value in %q: %w", ErrFileParse, line.UID, err)
+ return nil, fmt.Errorf("%w: Cannot parse UID value in %q: %w", ErrFileParse, fields[7], err)
}
// inode
if line.Inode, err = strconv.ParseUint(fields[9], 0, 64); err != nil {
- return nil, fmt.Errorf("%w: Cannot parse inode value in %q: %w", ErrFileParse, line.Inode, err)
+ return nil, fmt.Errorf("%w: Cannot parse inode value in %q: %w", ErrFileParse, fields[9], err)
}
// drops
if isUDP {
drops, err := strconv.ParseUint(fields[12], 0, 64)
if err != nil {
- return nil, fmt.Errorf("%w: Cannot parse drops value in %q: %w", ErrFileParse, drops, err)
+ return nil, fmt.Errorf("%w: Cannot parse drops value in %q: %w", ErrFileParse, fields[12], err)
}
line.Drops = &drops
}
diff --git a/vendor/github.com/prometheus/procfs/net_protocols.go b/vendor/github.com/prometheus/procfs/net_protocols.go
index eaa996cbc..829802cdd 100644
--- a/vendor/github.com/prometheus/procfs/net_protocols.go
+++ b/vendor/github.com/prometheus/procfs/net_protocols.go
@@ -20,7 +20,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// NetProtocolStats stores the contents from /proc/net/protocols.
@@ -71,7 +71,7 @@ type NetProtocolCapabilities struct {
// Linux 2.6.12-rc2 - https://elixir.bootlin.com/linux/v2.6.12-rc2/source/net/core/sock.c#L1452
// Linux 5.10 - https://elixir.bootlin.com/linux/v5.10.4/source/net/core/sock.c#L3586
func (fs FS) NetProtocols() (NetProtocolStats, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path("net/protocols"))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path("net/protocols"))
if err != nil {
return NetProtocolStats{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/net_route.go b/vendor/github.com/prometheus/procfs/net_route.go
index fa3812d9d..6c7c480bb 100644
--- a/vendor/github.com/prometheus/procfs/net_route.go
+++ b/vendor/github.com/prometheus/procfs/net_route.go
@@ -21,7 +21,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
const (
@@ -50,7 +50,7 @@ func (fs FS) NetRoute() ([]NetRouteLine, error) {
}
func readNetRoute(path string) ([]NetRouteLine, error) {
- b, err := util.ReadFileNoStat(path)
+ b, err := parsers.ReadFileNoStat(path)
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/net_sockstat.go b/vendor/github.com/prometheus/procfs/net_sockstat.go
index 8b221ebff..9470f0204 100644
--- a/vendor/github.com/prometheus/procfs/net_sockstat.go
+++ b/vendor/github.com/prometheus/procfs/net_sockstat.go
@@ -20,7 +20,7 @@ import (
"io"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// A NetSockstat contains the output of /proc/net/sockstat{,6} for IPv4 or IPv6,
@@ -60,7 +60,7 @@ func (fs FS) NetSockstat6() (*NetSockstat, error) {
// readSockstat opens and parses a NetSockstat from the input file.
func readSockstat(name string) (*NetSockstat, error) {
// This file is small and can be read with one syscall.
- b, err := util.ReadFileNoStat(name)
+ b, err := parsers.ReadFileNoStat(name)
if err != nil {
// Do not wrap this error so the caller can detect os.IsNotExist and
// similar conditions.
@@ -124,7 +124,7 @@ func parseSockstatKVs(kvs []string) (map[string]int, error) {
// Iterate two values at a time to gather key/value pairs.
out := make(map[string]int, len(kvs)/2)
for i := 0; i < len(kvs); i += 2 {
- vp := util.NewValueParser(kvs[i+1])
+ vp := parsers.NewValueParser(kvs[i+1])
out[kvs[i]] = vp.Int()
if err := vp.Err(); err != nil {
diff --git a/vendor/github.com/prometheus/procfs/net_softnet.go b/vendor/github.com/prometheus/procfs/net_softnet.go
index 4a2dfa18f..455ec851e 100644
--- a/vendor/github.com/prometheus/procfs/net_softnet.go
+++ b/vendor/github.com/prometheus/procfs/net_softnet.go
@@ -21,7 +21,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// For the proc file format details,
@@ -57,7 +57,7 @@ var softNetProcFile = "net/softnet_stat"
// NetSoftnetStat reads data from /proc/net/softnet_stat.
func (fs FS) NetSoftnetStat() ([]SoftnetStat, error) {
- b, err := util.ReadFileNoStat(fs.proc.Path(softNetProcFile))
+ b, err := parsers.ReadFileNoStat(fs.proc.Path(softNetProcFile))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/net_wireless.go b/vendor/github.com/prometheus/procfs/net_wireless.go
index 69d079445..350a328fe 100644
--- a/vendor/github.com/prometheus/procfs/net_wireless.go
+++ b/vendor/github.com/prometheus/procfs/net_wireless.go
@@ -21,7 +21,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Wireless models the content of /proc/net/wireless.
@@ -61,7 +61,7 @@ type Wireless struct {
// Wireless returns kernel wireless statistics.
func (fs FS) Wireless() ([]*Wireless, error) {
- b, err := util.ReadFileNoStat(fs.proc.Path("net/wireless"))
+ b, err := parsers.ReadFileNoStat(fs.proc.Path("net/wireless"))
if err != nil {
return nil, err
}
@@ -114,47 +114,47 @@ func parseWireless(r io.Reader) ([]*Wireless, error) {
qlink, err := strconv.Atoi(strings.TrimSuffix(stats[1], "."))
if err != nil {
- return nil, fmt.Errorf("%w: parse Quality:link as integer %q: %w", ErrFileParse, qlink, err)
+ return nil, fmt.Errorf("%w: parse Quality:link as integer %q: %w", ErrFileParse, stats[1], err)
}
qlevel, err := strconv.Atoi(strings.TrimSuffix(stats[2], "."))
if err != nil {
- return nil, fmt.Errorf("%w: Quality:level as integer %q: %w", ErrFileParse, qlevel, err)
+ return nil, fmt.Errorf("%w: Quality:level as integer %q: %w", ErrFileParse, stats[2], err)
}
qnoise, err := strconv.Atoi(strings.TrimSuffix(stats[3], "."))
if err != nil {
- return nil, fmt.Errorf("%w: Quality:noise as integer %q: %w", ErrFileParse, qnoise, err)
+ return nil, fmt.Errorf("%w: Quality:noise as integer %q: %w", ErrFileParse, stats[3], err)
}
dnwid, err := strconv.Atoi(stats[4])
if err != nil {
- return nil, fmt.Errorf("%w: Discarded:nwid as integer %q: %w", ErrFileParse, dnwid, err)
+ return nil, fmt.Errorf("%w: Discarded:nwid as integer %q: %w", ErrFileParse, stats[4], err)
}
dcrypt, err := strconv.Atoi(stats[5])
if err != nil {
- return nil, fmt.Errorf("%w: Discarded:crypt as integer %q: %w", ErrFileParse, dcrypt, err)
+ return nil, fmt.Errorf("%w: Discarded:crypt as integer %q: %w", ErrFileParse, stats[5], err)
}
dfrag, err := strconv.Atoi(stats[6])
if err != nil {
- return nil, fmt.Errorf("%w: Discarded:frag as integer %q: %w", ErrFileParse, dfrag, err)
+ return nil, fmt.Errorf("%w: Discarded:frag as integer %q: %w", ErrFileParse, stats[6], err)
}
dretry, err := strconv.Atoi(stats[7])
if err != nil {
- return nil, fmt.Errorf("%w: Discarded:retry as integer %q: %w", ErrFileParse, dretry, err)
+ return nil, fmt.Errorf("%w: Discarded:retry as integer %q: %w", ErrFileParse, stats[7], err)
}
dmisc, err := strconv.Atoi(stats[8])
if err != nil {
- return nil, fmt.Errorf("%w: Discarded:misc as integer %q: %w", ErrFileParse, dmisc, err)
+ return nil, fmt.Errorf("%w: Discarded:misc as integer %q: %w", ErrFileParse, stats[8], err)
}
mbeacon, err := strconv.Atoi(stats[9])
if err != nil {
- return nil, fmt.Errorf("%w: Missed:beacon as integer %q: %w", ErrFileParse, mbeacon, err)
+ return nil, fmt.Errorf("%w: Missed:beacon as integer %q: %w", ErrFileParse, stats[9], err)
}
w := &Wireless{
diff --git a/vendor/github.com/prometheus/procfs/nfnetlink_queue.go b/vendor/github.com/prometheus/procfs/nfnetlink_queue.go
index b0a73b11e..54fbcf40d 100644
--- a/vendor/github.com/prometheus/procfs/nfnetlink_queue.go
+++ b/vendor/github.com/prometheus/procfs/nfnetlink_queue.go
@@ -18,7 +18,7 @@ import (
"bytes"
"fmt"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
const nfNetLinkQueueFormat = "%d %d %d %d %d %d %d %d %d"
@@ -48,7 +48,7 @@ type NFNetLinkQueue struct {
// NFNetLinkQueue returns information about current state of netfilter queues.
func (fs FS) NFNetLinkQueue() ([]NFNetLinkQueue, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path("net/netfilter/nfnetlink_queue"))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path("net/netfilter/nfnetlink_queue"))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc.go b/vendor/github.com/prometheus/procfs/proc.go
index 39c14aa55..16b9a5e4f 100644
--- a/vendor/github.com/prometheus/procfs/proc.go
+++ b/vendor/github.com/prometheus/procfs/proc.go
@@ -22,7 +22,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Proc provides information about a running process.
@@ -128,7 +128,7 @@ func (fs FS) AllProcs() (Procs, error) {
// CmdLine returns the command line of a process.
func (p Proc) CmdLine() ([]string, error) {
- data, err := util.ReadFileNoStat(p.path("cmdline"))
+ data, err := parsers.ReadFileNoStat(p.path("cmdline"))
if err != nil {
return nil, err
}
@@ -163,7 +163,7 @@ func (p Proc) Wchan() (string, error) {
// Comm returns the command name of a process.
func (p Proc) Comm() (string, error) {
- data, err := util.ReadFileNoStat(p.path("comm"))
+ data, err := parsers.ReadFileNoStat(p.path("comm"))
if err != nil {
return "", err
}
@@ -281,7 +281,7 @@ func (p Proc) MountStats() ([]*Mount, error) {
// It supplies information missing in `/proc/self/mounts` and
// fixes various other problems with that file too.
func (p Proc) MountInfo() ([]*MountInfo, error) {
- data, err := util.ReadFileNoStat(p.path("mountinfo"))
+ data, err := parsers.ReadFileNoStat(p.path("mountinfo"))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_cgroup.go b/vendor/github.com/prometheus/procfs/proc_cgroup.go
index 535c08d6f..a5f9ffeba 100644
--- a/vendor/github.com/prometheus/procfs/proc_cgroup.go
+++ b/vendor/github.com/prometheus/procfs/proc_cgroup.go
@@ -20,7 +20,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Cgroup models one line from /proc/[pid]/cgroup. Each Cgroup struct describes the placement of a PID inside a
@@ -60,7 +60,7 @@ func parseCgroupString(cgroupStr string) (*Cgroup, error) {
}
cgroup.HierarchyID, err = strconv.Atoi(fields[0])
if err != nil {
- return nil, fmt.Errorf("%w: hierarchy ID: %q", ErrFileParse, cgroup.HierarchyID)
+ return nil, fmt.Errorf("%w: hierarchy ID: %q", ErrFileParse, fields[0])
}
if fields[1] != "" {
ssNames := strings.Split(fields[1], ",")
@@ -90,7 +90,7 @@ func parseCgroups(data []byte) ([]Cgroup, error) {
// control hierarchy running on this system. On every system (v1 and v2), all hierarchies contain all processes,
// so the len of the returned struct is equal to the number of active hierarchies on this system.
func (p Proc) Cgroups() ([]Cgroup, error) {
- data, err := util.ReadFileNoStat(p.path("cgroup"))
+ data, err := parsers.ReadFileNoStat(p.path("cgroup"))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_cgroups.go b/vendor/github.com/prometheus/procfs/proc_cgroups.go
index 0b275c3b1..dbf5e88b1 100644
--- a/vendor/github.com/prometheus/procfs/proc_cgroups.go
+++ b/vendor/github.com/prometheus/procfs/proc_cgroups.go
@@ -20,7 +20,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// CgroupSummary models one line from /proc/cgroups.
@@ -90,7 +90,7 @@ func parseCgroupSummary(data []byte) ([]CgroupSummary, error) {
// CgroupSummarys returns information about current /proc/cgroups.
func (fs FS) CgroupSummarys() ([]CgroupSummary, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path("cgroups"))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path("cgroups"))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_environ.go b/vendor/github.com/prometheus/procfs/proc_environ.go
index 5b941de04..2ef8b88d5 100644
--- a/vendor/github.com/prometheus/procfs/proc_environ.go
+++ b/vendor/github.com/prometheus/procfs/proc_environ.go
@@ -16,14 +16,14 @@ package procfs
import (
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Environ reads process environments from `/proc//environ`.
func (p Proc) Environ() ([]string, error) {
environments := make([]string, 0)
- data, err := util.ReadFileNoStat(p.path("environ"))
+ data, err := parsers.ReadFileNoStat(p.path("environ"))
if err != nil {
return environments, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_fdinfo.go b/vendor/github.com/prometheus/procfs/proc_fdinfo.go
index fa57761db..9e3e313e1 100644
--- a/vendor/github.com/prometheus/procfs/proc_fdinfo.go
+++ b/vendor/github.com/prometheus/procfs/proc_fdinfo.go
@@ -19,7 +19,7 @@ import (
"fmt"
"regexp"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
var (
@@ -49,7 +49,7 @@ type ProcFDInfo struct {
// FDInfo constructor. On kernels older than 3.8, InotifyInfos will always be empty.
func (p Proc) FDInfo(fd string) (*ProcFDInfo, error) {
- data, err := util.ReadFileNoStat(p.path("fdinfo", fd))
+ data, err := parsers.ReadFileNoStat(p.path("fdinfo", fd))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_interrupts.go b/vendor/github.com/prometheus/procfs/proc_interrupts.go
index 643b500d5..2a2412c4f 100644
--- a/vendor/github.com/prometheus/procfs/proc_interrupts.go
+++ b/vendor/github.com/prometheus/procfs/proc_interrupts.go
@@ -22,7 +22,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Interrupt represents a single interrupt line.
@@ -42,7 +42,7 @@ type Interrupts map[string]Interrupt
// Interrupts creates a new instance from a given Proc instance.
func (p Proc) Interrupts() (Interrupts, error) {
- data, err := util.ReadFileNoStat(p.fs.proc.Path("interrupts"))
+ data, err := parsers.ReadFileNoStat(p.fs.proc.Path("interrupts"))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_io.go b/vendor/github.com/prometheus/procfs/proc_io.go
index dd8086ba2..ca221bb65 100644
--- a/vendor/github.com/prometheus/procfs/proc_io.go
+++ b/vendor/github.com/prometheus/procfs/proc_io.go
@@ -16,7 +16,7 @@ package procfs
import (
"fmt"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// ProcIO models the content of /proc//io.
@@ -43,7 +43,7 @@ type ProcIO struct {
func (p Proc) IO() (ProcIO, error) {
pio := ProcIO{}
- data, err := util.ReadFileNoStat(p.path("io"))
+ data, err := parsers.ReadFileNoStat(p.path("io"))
if err != nil {
return pio, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_netstat.go b/vendor/github.com/prometheus/procfs/proc_netstat.go
index 7f94cc891..6a118f58a 100644
--- a/vendor/github.com/prometheus/procfs/proc_netstat.go
+++ b/vendor/github.com/prometheus/procfs/proc_netstat.go
@@ -21,7 +21,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// ProcNetstat models the content of /proc//net/netstat.
@@ -146,6 +146,20 @@ type TcpExt struct { // nolint:revive
TCPMTUPFail *float64
TCPMTUPSuccess *float64
TCPWqueueTooBig *float64
+
+ // Legacy TcpExt counters dropped from recent kernels' TcpExt table;
+ // modeled so consumers retain metric parity with older kernels that
+ // still print them in /proc/net/netstat.
+ TCPLoss *float64
+ PAWSPassive *float64
+ TCPForwardRetrans *float64
+ TCPSchedulerFailed *float64
+ TCPPrequeued *float64
+ TCPDirectCopyFromBacklog *float64
+ TCPDirectCopyFromPrequeue *float64
+ TCPPrequeueDropped *float64
+ TCPFACKReorder *float64
+ TCPHPHitsToUser *float64
}
type IpExt struct { // nolint:revive
@@ -171,7 +185,7 @@ type IpExt struct { // nolint:revive
func (p Proc) Netstat() (ProcNetstat, error) {
filename := p.path("net/netstat")
- data, err := util.ReadFileNoStat(filename)
+ data, err := parsers.ReadFileNoStat(filename)
if err != nil {
return ProcNetstat{PID: p.PID}, err
}
@@ -396,6 +410,26 @@ func parseProcNetstat(r io.Reader, fileName string) (ProcNetstat, error) {
procNetstat.TCPMTUPSuccess = &value
case "TCPWqueueTooBig":
procNetstat.TCPWqueueTooBig = &value
+ case "TCPLoss":
+ procNetstat.TCPLoss = &value
+ case "PAWSPassive":
+ procNetstat.PAWSPassive = &value
+ case "TCPForwardRetrans":
+ procNetstat.TCPForwardRetrans = &value
+ case "TCPSchedulerFailed":
+ procNetstat.TCPSchedulerFailed = &value
+ case "TCPPrequeued":
+ procNetstat.TCPPrequeued = &value
+ case "TCPDirectCopyFromBacklog":
+ procNetstat.TCPDirectCopyFromBacklog = &value
+ case "TCPDirectCopyFromPrequeue":
+ procNetstat.TCPDirectCopyFromPrequeue = &value
+ case "TCPPrequeueDropped":
+ procNetstat.TCPPrequeueDropped = &value
+ case "TCPFACKReorder":
+ procNetstat.TCPFACKReorder = &value
+ case "TCPHPHitsToUser":
+ procNetstat.TCPHPHitsToUser = &value
}
case "IpExt":
switch key {
diff --git a/vendor/github.com/prometheus/procfs/proc_psi.go b/vendor/github.com/prometheus/procfs/proc_psi.go
index cc2c5de87..5f0fbdffb 100644
--- a/vendor/github.com/prometheus/procfs/proc_psi.go
+++ b/vendor/github.com/prometheus/procfs/proc_psi.go
@@ -30,7 +30,7 @@ import (
"io"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
const lineFormat = "avg10=%f avg60=%f avg300=%f total=%d"
@@ -59,7 +59,7 @@ type PSIStats struct {
// resource from /proc/pressure/. At time of writing this can be
// either "cpu", "memory" or "io".
func (fs FS) PSIStatsForResource(resource string) (PSIStats, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path(fmt.Sprintf("%s/%s", "pressure", resource)))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path(fmt.Sprintf("%s/%s", "pressure", resource)))
if err != nil {
return PSIStats{}, fmt.Errorf("%w: psi_stats: unavailable for %q: %w", ErrFileRead, resource, err)
}
diff --git a/vendor/github.com/prometheus/procfs/proc_smaps.go b/vendor/github.com/prometheus/procfs/proc_smaps.go
index f637309b3..dff5cfb88 100644
--- a/vendor/github.com/prometheus/procfs/proc_smaps.go
+++ b/vendor/github.com/prometheus/procfs/proc_smaps.go
@@ -23,7 +23,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
var (
@@ -60,7 +60,7 @@ type ProcSMapsRollup struct {
// If smaps_rollup does not exists (require kernel >= 4.15), the content of /proc/pid/smaps will
// we read and summed.
func (p Proc) ProcSMapsRollup() (ProcSMapsRollup, error) {
- data, err := util.ReadFileNoStat(p.path("smaps_rollup"))
+ data, err := parsers.ReadFileNoStat(p.path("smaps_rollup"))
if err != nil && os.IsNotExist(err) {
return p.procSMapsRollupManual()
}
diff --git a/vendor/github.com/prometheus/procfs/proc_snmp.go b/vendor/github.com/prometheus/procfs/proc_snmp.go
index 8d9a9bcd6..531bc8371 100644
--- a/vendor/github.com/prometheus/procfs/proc_snmp.go
+++ b/vendor/github.com/prometheus/procfs/proc_snmp.go
@@ -21,7 +21,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// ProcSnmp models the content of /proc//net/snmp.
@@ -135,7 +135,7 @@ type UdpLite struct { // nolint:revive
func (p Proc) Snmp() (ProcSnmp, error) {
filename := p.path("net/snmp")
- data, err := util.ReadFileNoStat(filename)
+ data, err := parsers.ReadFileNoStat(filename)
if err != nil {
return ProcSnmp{PID: p.PID}, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_snmp6.go b/vendor/github.com/prometheus/procfs/proc_snmp6.go
index 841fef464..8296a4aed 100644
--- a/vendor/github.com/prometheus/procfs/proc_snmp6.go
+++ b/vendor/github.com/prometheus/procfs/proc_snmp6.go
@@ -22,7 +22,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// ProcSnmp6 models the content of /proc//net/snmp6.
@@ -140,7 +140,7 @@ type UdpLite6 struct { // nolint:revive
func (p Proc) Snmp6() (ProcSnmp6, error) {
filename := p.path("net/snmp6")
- data, err := util.ReadFileNoStat(filename)
+ data, err := parsers.ReadFileNoStat(filename)
if err != nil {
// On systems with IPv6 disabled, this file won't exist.
// Do nothing.
diff --git a/vendor/github.com/prometheus/procfs/proc_stat.go b/vendor/github.com/prometheus/procfs/proc_stat.go
index 02e3f9e31..d9e544bcc 100644
--- a/vendor/github.com/prometheus/procfs/proc_stat.go
+++ b/vendor/github.com/prometheus/procfs/proc_stat.go
@@ -18,7 +18,7 @@ import (
"fmt"
"os"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Originally, this USER_HZ value was dynamically retrieved via a sysconf call
@@ -134,7 +134,7 @@ func (p Proc) NewStat() (ProcStat, error) {
// Stat returns the current status information of the process.
func (p Proc) Stat() (ProcStat, error) {
- data, err := util.ReadFileNoStat(p.path("stat"))
+ data, err := parsers.ReadFileNoStat(p.path("stat"))
if err != nil {
return ProcStat{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_statm.go b/vendor/github.com/prometheus/procfs/proc_statm.go
index 6bcc97ec9..5fbe27965 100644
--- a/vendor/github.com/prometheus/procfs/proc_statm.go
+++ b/vendor/github.com/prometheus/procfs/proc_statm.go
@@ -18,7 +18,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// - https://man7.org/linux/man-pages/man5/proc_pid_statm.5.html
@@ -53,7 +53,7 @@ func (p Proc) NewStatm() (ProcStatm, error) {
// Statm returns the current memory usage information of the process.
func (p Proc) Statm() (ProcStatm, error) {
- data, err := util.ReadFileNoStat(p.path("statm"))
+ data, err := parsers.ReadFileNoStat(p.path("statm"))
if err != nil {
return ProcStatm{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_status.go b/vendor/github.com/prometheus/procfs/proc_status.go
index 12d65581c..8c1652e17 100644
--- a/vendor/github.com/prometheus/procfs/proc_status.go
+++ b/vendor/github.com/prometheus/procfs/proc_status.go
@@ -20,7 +20,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// ProcStatus provides status information about the process,
@@ -100,7 +100,7 @@ type ProcStatus struct {
// NewStatus returns the current status information of the process.
func (p Proc) NewStatus() (ProcStatus, error) {
- data, err := util.ReadFileNoStat(p.path("status"))
+ data, err := parsers.ReadFileNoStat(p.path("status"))
if err != nil {
return ProcStatus{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/proc_sys.go b/vendor/github.com/prometheus/procfs/proc_sys.go
index 52658a4d5..c465b6be0 100644
--- a/vendor/github.com/prometheus/procfs/proc_sys.go
+++ b/vendor/github.com/prometheus/procfs/proc_sys.go
@@ -17,7 +17,7 @@ import (
"fmt"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
func sysctlToPath(sysctl string) string {
@@ -25,7 +25,7 @@ func sysctlToPath(sysctl string) string {
}
func (fs FS) SysctlStrings(sysctl string) ([]string, error) {
- value, err := util.SysReadFile(fs.proc.Path("sys", sysctlToPath(sysctl)))
+ value, err := parsers.SysReadFile(fs.proc.Path("sys", sysctlToPath(sysctl)))
if err != nil {
return nil, err
}
@@ -41,7 +41,7 @@ func (fs FS) SysctlInts(sysctl string) ([]int, error) {
values := make([]int, len(fields))
for i, f := range fields {
- vp := util.NewValueParser(f)
+ vp := parsers.NewValueParser(f)
values[i] = vp.Int()
if err := vp.Err(); err != nil {
return nil, fmt.Errorf("%w: field %d in sysctl %s is not a valid int: %w", ErrFileParse, i, sysctl, err)
diff --git a/vendor/github.com/prometheus/procfs/slab.go b/vendor/github.com/prometheus/procfs/slab.go
index 32a04678a..b78bac634 100644
--- a/vendor/github.com/prometheus/procfs/slab.go
+++ b/vendor/github.com/prometheus/procfs/slab.go
@@ -21,7 +21,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
var (
@@ -142,7 +142,7 @@ func (fs FS) SlabInfo() (SlabInfo, error) {
// TODO: Consider passing options to allow for parsing different
// slabinfo versions. However, slabinfo 2.1 has been stable since
// kernel 2.6.10 and later.
- data, err := util.ReadFileNoStat(fs.proc.Path("slabinfo"))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path("slabinfo"))
if err != nil {
return SlabInfo{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/softirqs.go b/vendor/github.com/prometheus/procfs/softirqs.go
index 47b73a729..dcd585933 100644
--- a/vendor/github.com/prometheus/procfs/softirqs.go
+++ b/vendor/github.com/prometheus/procfs/softirqs.go
@@ -21,7 +21,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Softirqs represents the softirq statistics.
@@ -40,7 +40,7 @@ type Softirqs struct {
func (fs FS) Softirqs() (Softirqs, error) {
fileName := fs.proc.Path("softirqs")
- data, err := util.ReadFileNoStat(fileName)
+ data, err := parsers.ReadFileNoStat(fileName)
if err != nil {
return Softirqs{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/stat.go b/vendor/github.com/prometheus/procfs/stat.go
index 593ad0f62..781bd28ad 100644
--- a/vendor/github.com/prometheus/procfs/stat.go
+++ b/vendor/github.com/prometheus/procfs/stat.go
@@ -23,7 +23,7 @@ import (
"strings"
"github.com/prometheus/procfs/internal/fs"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// CPUStat shows how much time the cpu spend in various stages.
@@ -167,7 +167,7 @@ func (fs FS) NewStat() (Stat, error) {
// See: https://www.kernel.org/doc/Documentation/filesystems/proc.txt
func (fs FS) Stat() (Stat, error) {
fileName := fs.proc.Path("stat")
- data, err := util.ReadFileNoStat(fileName)
+ data, err := parsers.ReadFileNoStat(fileName)
if err != nil {
return Stat{}, err
}
diff --git a/vendor/github.com/prometheus/procfs/swaps.go b/vendor/github.com/prometheus/procfs/swaps.go
index ee17bf488..8f9bbfb5c 100644
--- a/vendor/github.com/prometheus/procfs/swaps.go
+++ b/vendor/github.com/prometheus/procfs/swaps.go
@@ -20,7 +20,7 @@ import (
"strconv"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Swap represents an entry in /proc/swaps.
@@ -34,7 +34,7 @@ type Swap struct {
// Swaps returns a slice of all configured swap devices on the system.
func (fs FS) Swaps() ([]*Swap, error) {
- data, err := util.ReadFileNoStat(fs.proc.Path("swaps"))
+ data, err := parsers.ReadFileNoStat(fs.proc.Path("swaps"))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/prometheus/procfs/vm.go b/vendor/github.com/prometheus/procfs/vm.go
index 52180c03e..62725b420 100644
--- a/vendor/github.com/prometheus/procfs/vm.go
+++ b/vendor/github.com/prometheus/procfs/vm.go
@@ -21,7 +21,7 @@ import (
"path/filepath"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// The VM interface is described at
@@ -102,11 +102,11 @@ func (fs FS) VM() (*VM, error) {
name := filepath.Join(path, f.Name())
// ignore errors on read, as there are some write only
// in /proc/sys/vm
- value, err := util.SysReadFile(name)
+ value, err := parsers.SysReadFile(name)
if err != nil {
continue
}
- vp := util.NewValueParser(value)
+ vp := parsers.NewValueParser(value)
switch f.Name() {
case "admin_reserve_kbytes":
@@ -143,7 +143,7 @@ func (fs FS) VM() (*VM, error) {
stringSlice := strings.Fields(value)
pint64Slice := make([]*int64, 0, len(stringSlice))
for _, value := range stringSlice {
- vp := util.NewValueParser(value)
+ vp := parsers.NewValueParser(value)
pint64Slice = append(pint64Slice, vp.PInt64())
}
vm.LowmemReserveRatio = pint64Slice
diff --git a/vendor/github.com/prometheus/procfs/zoneinfo.go b/vendor/github.com/prometheus/procfs/zoneinfo.go
index 63d1898bc..71b3c2b65 100644
--- a/vendor/github.com/prometheus/procfs/zoneinfo.go
+++ b/vendor/github.com/prometheus/procfs/zoneinfo.go
@@ -22,7 +22,7 @@ import (
"regexp"
"strings"
- "github.com/prometheus/procfs/internal/util"
+ "github.com/prometheus/procfs/internal/parsers"
)
// Zoneinfo holds info parsed from /proc/zoneinfo.
@@ -103,7 +103,7 @@ func parseZoneinfo(zoneinfoData []byte) ([]Zoneinfo, error) {
if len(parts) < 2 {
continue
}
- vp := util.NewValueParser(parts[1])
+ vp := parsers.NewValueParser(parts[1])
switch parts[0] {
case "nr_free_pages":
zoneinfoElement.NrFreePages = vp.PInt64()
@@ -179,7 +179,7 @@ func parseZoneinfo(zoneinfoData []byte) ([]Zoneinfo, error) {
protectionValues = strings.Replace(protectionValues, ")", "", 1)
protectionValues = strings.TrimSpace(protectionValues)
protectionStringMap := strings.Split(protectionValues, ", ")
- val, err := util.ParsePInt64s(protectionStringMap)
+ val, err := parsers.ParsePInt64s(protectionStringMap)
if err == nil {
zoneinfoElement.Protection = val
}
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/api/block/v1alpha1/block_sdk.go b/vendor/github.com/scaleway/scaleway-sdk-go/api/block/v1alpha1/block_sdk.go
index 4463de86e..4facba2fc 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/api/block/v1alpha1/block_sdk.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/api/block/v1alpha1/block_sdk.go
@@ -891,7 +891,6 @@ type UpdateVolumeRequest struct {
Name *string `json:"name,omitempty"`
// Size: size in bytes of the volume, with a granularity of 1 GB (10^9 bytes).
- // Must be compliant with the minimum (1GB) and maximum (10TB) allowed size.
Size *scw.Size `json:"size,omitempty"`
// Tags: list of tags assigned to the volume.
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/api/instance/v1/instance_metadata_sdk.go b/vendor/github.com/scaleway/scaleway-sdk-go/api/instance/v1/instance_metadata_sdk.go
index 92978659c..1a2aeb025 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/api/instance/v1/instance_metadata_sdk.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/api/instance/v1/instance_metadata_sdk.go
@@ -18,61 +18,135 @@ import (
var metadataRetryBindPort = 200
const (
- metadataAPIv4 = "http://169.254.42.42"
- metadataAPIv6 = "http://[fd00:42::42]"
+ metadataAPIv4 = "http://169.254.42.42"
+ metadataAPIv6 = "http://[fd00:42::42]"
+ metadataTimeout = time.Second * 3
+ metadataFallbackDelay = time.Second * -1
)
+var ErrUnexpectedStatus = errors.New("service returned an unexpected status")
+
+// metadataHTTPClient is the default HTTP client used to reach the metadata
+// service. Both metadata addresses (IPv4 link-local 169.254.42.42 and IPv6
+// fd00:42::42) are non globally routable, so we bypass proxy resolution
+// entirely by setting a transport with Proxy: nil.
+var metadataHTTPClient = &http.Client{
+ Timeout: metadataTimeout,
+ Transport: &http.Transport{
+ Proxy: nil,
+ },
+}
+
+// MetadataAPIOption is a function which applies options to a MetadataAPI.
+type MetadataAPIOption func(*MetadataAPI)
+
+// WithMetadataHTTPClient allows passing a custom http.Client which will be used
+// for all metadata requests. This is primarily useful for testing.
+func WithMetadataHTTPClient(client *http.Client) MetadataAPIOption {
+ return func(m *MetadataAPI) {
+ m.httpClient = client
+ }
+}
+
+// UserData represents the user data
+type UserData struct {
+ UserData []string `json:"user_data,omitempty"`
+}
+
// MetadataAPI metadata API
type MetadataAPI struct {
MetadataURL *string
+ httpClient *http.Client
}
// NewMetadataAPI returns a MetadataAPI object from a Scaleway client.
-func NewMetadataAPI() *MetadataAPI {
- return &MetadataAPI{}
+func NewMetadataAPI(opts ...MetadataAPIOption) *MetadataAPI {
+ meta := &MetadataAPI{
+ httpClient: metadataHTTPClient,
+ }
+
+ for _, opt := range opts {
+ opt(meta)
+ }
+
+ return meta
+}
+
+// newUserDataHTTPClient returns an HTTP client configured to bind to the
+// given local TCP address. The userdata API requires requests to come from
+// a privileged source port (see ListUserData and friends).
+func newUserDataHTTPClient(localAddr *net.TCPAddr) *http.Client {
+ return &http.Client{
+ Transport: &http.Transport{
+ Proxy: nil,
+ DialContext: (&net.Dialer{
+ LocalAddr: localAddr,
+ FallbackDelay: metadataFallbackDelay,
+ }).DialContext,
+ },
+ }
}
-func (meta *MetadataAPI) getMetadataURL() string {
+func (meta *MetadataAPI) getMetadataURLWithContext(ctx context.Context) string {
if meta.MetadataURL != nil {
return *meta.MetadataURL
}
- ctx := context.Background()
for _, url := range []string{metadataAPIv4, metadataAPIv6} {
- http.DefaultClient.Timeout = 3 * time.Second
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, bytes.NewBufferString(""))
+ req, err := http.NewRequestWithContext(
+ ctx, http.MethodGet, url, bytes.NewBufferString(""),
+ )
if err != nil {
logger.Warningf("Failed to create metadata URL %s: %v", url, err)
+ continue
+ }
+
+ resp, err := meta.httpClient.Do(req)
+ if err != nil {
+ logger.Warningf("Failed to reach metadata URL %s: %v", url, err)
+ continue
}
- resp, err := http.DefaultClient.Do(req)
- if err == nil && resp.StatusCode == http.StatusOK {
+
+ if resp.StatusCode == http.StatusOK {
+ resp.Body.Close()
meta.MetadataURL = &url
return url
}
- defer resp.Body.Close()
+
+ resp.Body.Close()
}
+
return metadataAPIv4
}
-// GetMetadata returns the metadata available from the server
-func (meta *MetadataAPI) GetMetadata() (m *Metadata, err error) {
- ctx := context.Background()
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, meta.getMetadataURL()+"/conf?format=json", bytes.NewBufferString(""))
+// GetMetadataWithContext returns the metadata available from the server
+func (meta *MetadataAPI) GetMetadataWithContext(ctx context.Context) (m *Metadata, err error) {
+ req, err := http.NewRequestWithContext(
+ ctx,
+ http.MethodGet,
+ meta.getMetadataURLWithContext(ctx)+"/conf?format=json",
+ bytes.NewBufferString(""),
+ )
if err != nil {
return nil, err
}
- resp, err := http.DefaultClient.Do(req)
+ resp, err := meta.httpClient.Do(req)
if err != nil {
return nil, errors.Wrap(err, "error getting metadataURL")
}
defer resp.Body.Close()
+ if resp.StatusCode != http.StatusOK {
+ return nil, errors.Wrap(ErrUnexpectedStatus, "%d", resp.StatusCode)
+ }
+
metadata := &Metadata{}
err = json.NewDecoder(resp.Body).Decode(metadata)
if err != nil {
return nil, errors.Wrap(err, "error decoding metadata")
}
+
return metadata, nil
}
@@ -203,177 +277,216 @@ type Metadata struct {
} `json:"placement_group,omitempty"`
}
-// ListUserData returns the metadata available from the server
-func (meta *MetadataAPI) ListUserData() (res *UserData, err error) {
+// ListUserDataWithContext returns the metadata available from the server
+func (meta *MetadataAPI) ListUserDataWithContext(ctx context.Context) (res *UserData, err error) {
retries := 0
- ctx := context.Background()
for retries <= metadataRetryBindPort {
port := rand.Intn(1024)
- localTCPAddr, err := net.ResolveTCPAddr("tcp", ":"+strconv.Itoa(port))
- if err != nil {
- return nil, errors.Wrap(err, "error resolving tcp address")
- }
- userdataClient := &http.Client{
- Transport: &http.Transport{
- DialContext: (&net.Dialer{
- LocalAddr: localTCPAddr,
- DualStack: false,
- FallbackDelay: time.Second * -1,
- }).DialContext,
- },
- }
-
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, meta.getMetadataURL()+"/user_data?format=json", bytes.NewBufferString(""))
+ body, retry, err := meta.tryUserDataRequest(ctx, http.MethodGet, "", []byte(""), port)
if err != nil {
return nil, err
}
- resp, err := userdataClient.Do(req)
- if err != nil {
- retries++ // retry with a different source port
+
+ // Retriable error
+ if retry {
+ retries++
continue
}
- defer resp.Body.Close()
userdata := &UserData{}
- err = json.NewDecoder(resp.Body).Decode(userdata)
+ err = json.Unmarshal(body, userdata)
if err != nil {
return nil, errors.Wrap(err, "error decoding userdata")
}
+
return userdata, nil
}
+
return nil, errors.New("too many bind port retries for ListUserData")
}
-// GetUserData returns the value for the given metadata key
-func (meta *MetadataAPI) GetUserData(key string) ([]byte, error) {
+// GetUserDataWithContext returns the value for the given metadata key
+func (meta *MetadataAPI) GetUserDataWithContext(ctx context.Context, key string) ([]byte, error) {
if key == "" {
return make([]byte, 0), errors.New("key must not be empty in GetUserData")
}
- ctx := context.Background()
retries := 0
for retries <= metadataRetryBindPort {
port := rand.Intn(1024)
- localTCPAddr, err := net.ResolveTCPAddr("tcp", ":"+strconv.Itoa(port))
- if err != nil {
- return make([]byte, 0), errors.Wrap(err, "error resolving tcp address")
- }
- userdataClient := &http.Client{
- Transport: &http.Transport{
- DialContext: (&net.Dialer{
- LocalAddr: localTCPAddr,
- DualStack: false,
- FallbackDelay: time.Second * -1,
- }).DialContext,
- },
- }
-
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, meta.getMetadataURL()+"/user_data/"+key, bytes.NewBufferString(""))
+ body, retry, err := meta.tryUserDataRequest(ctx, http.MethodGet, key, []byte(""), port)
if err != nil {
return nil, err
}
- resp, err := userdataClient.Do(req)
- if err != nil {
- retries++ // retry with a different source port
+ // Retriable error
+ if retry {
+ retries++
continue
}
- defer resp.Body.Close()
-
- body, err := io.ReadAll(resp.Body)
- if err != nil {
- return make([]byte, 0), errors.Wrap(err, "error reading userdata body")
- }
return body, nil
}
- return make([]byte, 0), errors.New("too may bind port retries for GetUserData")
+
+ return make([]byte, 0), errors.New("too many bind port retries for GetUserData")
}
-// SetUserData sets the userdata key with the given value
-func (meta *MetadataAPI) SetUserData(key string, value []byte) error {
+// SetUserDataWithContext sets the userdata key with the given value
+func (meta *MetadataAPI) SetUserDataWithContext(ctx context.Context, key string, value []byte) error {
if key == "" {
return errors.New("key must not be empty in SetUserData")
}
- ctx := context.Background()
retries := 0
for retries <= metadataRetryBindPort {
port := rand.Intn(1024)
- localTCPAddr, err := net.ResolveTCPAddr("tcp", ":"+strconv.Itoa(port))
+ _, retry, err := meta.tryUserDataRequest(ctx, http.MethodPatch, key, value, port)
if err != nil {
- return errors.Wrap(err, "error resolving tcp address")
+ return err
}
- userdataClient := &http.Client{
- Transport: &http.Transport{
- DialContext: (&net.Dialer{
- LocalAddr: localTCPAddr,
- DualStack: false,
- FallbackDelay: time.Second * -1,
- }).DialContext,
- },
- }
- request, err := http.NewRequestWithContext(ctx, http.MethodPatch, meta.getMetadataURL()+"/user_data/"+key, bytes.NewBuffer(value))
- if err != nil {
- return errors.Wrap(err, "error creating patch userdata request")
- }
- request.Header.Set("Content-Type", "text/plain")
- resp, err := userdataClient.Do(request)
- if err != nil {
- retries++ // retry with a different source port
+ // Retriable error
+ if retry {
+ retries++
continue
}
- defer resp.Body.Close()
+ // Success
return nil
}
- return errors.New("too may bind port retries for SetUserData")
+
+ return errors.New("too many bind port retries for SetUserData")
}
-// DeleteUserData deletes the userdata key and the associated value
-func (meta *MetadataAPI) DeleteUserData(key string) error {
+// DeleteUserDataWithContext deletes the userdata key and the associated value
+func (meta *MetadataAPI) DeleteUserDataWithContext(ctx context.Context, key string) error {
if key == "" {
return errors.New("key must not be empty in DeleteUserData")
}
- ctx := context.Background()
retries := 0
for retries <= metadataRetryBindPort {
port := rand.Intn(1024)
- localTCPAddr, err := net.ResolveTCPAddr("tcp", ":"+strconv.Itoa(port))
- if err != nil {
- return errors.Wrap(err, "error resolving tcp address")
- }
- userdataClient := &http.Client{
- Transport: &http.Transport{
- DialContext: (&net.Dialer{
- LocalAddr: localTCPAddr,
- DualStack: false,
- FallbackDelay: time.Second * -1,
- }).DialContext,
- },
- }
- request, err := http.NewRequestWithContext(ctx, http.MethodDelete, meta.getMetadataURL()+"/user_data/"+key, bytes.NewBufferString(""))
+ _, retry, err := meta.tryUserDataRequest(ctx, http.MethodDelete, key, []byte(""), port)
if err != nil {
- return errors.Wrap(err, "error creating delete userdata request")
+ return err
}
- resp, err := userdataClient.Do(request)
- if err != nil {
- retries++ // retry with a different source port
+
+ // Retriable error
+ if retry {
+ retries++
continue
}
- defer resp.Body.Close()
+ // Success
return nil
}
- return errors.New("too may bind port retries for DeleteUserData")
+
+ return errors.New("too many bind port retries for DeleteUserData")
}
-// UserData represents the user data
-type UserData struct {
- UserData []string `json:"user_data,omitempty"`
+func (meta *MetadataAPI) tryUserDataRequest(
+ ctx context.Context,
+ method string,
+ key string,
+ value []byte,
+ port int,
+) (body []byte, retry bool, err error) {
+ body = make([]byte, 0)
+
+ localTCPAddr, err := net.ResolveTCPAddr("tcp", ":"+strconv.Itoa(port))
+ if err != nil {
+ return body, false, errors.Wrap(err, "error resolving tcp address")
+ }
+
+ userdataClient := newUserDataHTTPClient(localTCPAddr)
+
+ url := meta.getMetadataURLWithContext(ctx)
+ if key != "" {
+ url += "/user_data/" + key
+ } else {
+ url += "/user_data?format=json"
+ }
+
+ request, err := http.NewRequestWithContext(
+ ctx,
+ method,
+ url,
+ bytes.NewBuffer(value),
+ )
+ if err != nil {
+ return body, false, errors.Wrap(err, "error creating userdata request")
+ }
+
+ request.Header.Set("Content-Type", "text/plain")
+
+ resp, err := userdataClient.Do(request)
+ if err != nil {
+ // Retriable error
+ return body, true, nil
+ }
+ defer resp.Body.Close()
+
+ if resp.StatusCode != http.StatusOK {
+ return body, false, errors.Wrap(ErrUnexpectedStatus, "%d", resp.StatusCode)
+ }
+
+ body, err = io.ReadAll(resp.Body)
+ if err != nil {
+ return make([]byte, 0), false, errors.Wrap(err, "error reading userdata body")
+ }
+
+ // Success
+ return body, false, nil
+}
+
+// DeleteUserData deletes the userdata key and the associated value
+//
+// Deprecated: use DeleteUserDataWithContext instead
+//
+//go:fix inline
+func (meta *MetadataAPI) DeleteUserData(key string) error {
+ return meta.DeleteUserDataWithContext(context.Background(), key)
+}
+
+// SetUserData sets the userdata key with the given value
+//
+// Deprecated: use SetUserDataWithContext instead
+//
+//go:fix inline
+func (meta *MetadataAPI) SetUserData(key string, value []byte) error {
+ return meta.SetUserDataWithContext(context.Background(), key, value)
+}
+
+// GetUserData returns the value for the given metadata key
+//
+// Deprecated: use GetUserDataWithContext instead
+//
+//go:fix inline
+func (meta *MetadataAPI) GetUserData(key string) ([]byte, error) {
+ return meta.GetUserDataWithContext(context.Background(), key)
+}
+
+// ListUserData returns the metadata available from the server
+//
+// Deprecated: use ListUserDataWithContext instead
+//
+//go:fix inline
+func (meta *MetadataAPI) ListUserData() (res *UserData, err error) {
+ return meta.ListUserDataWithContext(context.Background())
+}
+
+// GetMetadata returns the metadata available from the server
+//
+// Deprecated: use GetMetadataWithContext instead
+//
+//go:fix inline
+func (meta *MetadataAPI) GetMetadata() (m *Metadata, err error) {
+ ctx, cancel := context.WithTimeout(context.Background(), metadataTimeout)
+ defer cancel()
+
+ return meta.GetMetadataWithContext(ctx)
}
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/api/instance/v1/instance_sdk.go b/vendor/github.com/scaleway/scaleway-sdk-go/api/instance/v1/instance_sdk.go
index 0082c4c55..da88b57ce 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/api/instance/v1/instance_sdk.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/api/instance/v1/instance_sdk.go
@@ -1288,6 +1288,9 @@ type Volume struct {
// Name: volume name.
Name string `json:"name"`
+ // Deprecated: ExportURI: show the volume NBD export URI (deprecated, will always be empty).
+ ExportURI *string `json:"export_uri"`
+
// Size: volume disk size.
Size scw.Size `json:"size"`
@@ -1319,6 +1322,25 @@ type Volume struct {
// Zone: zone in which the volume is located.
Zone scw.Zone `json:"zone"`
+
+ // This field is automatically generated, do not edit it
+ Srn string `json:"srn,omitempty"`
+}
+
+//nolint:unused,nolintlint // generated, no check on whether it's used or not
+func (m *Volume) setSRN(platform string) {
+ if m.Srn != "" {
+ // if the field is set server-side, trust the server
+ return
+ }
+
+ // We do not check that *m.XYZ != "", as there are currently no use cases for an
+ // optional value in an SRN where the value set to the empty string makes sense.
+
+ if fmt.Sprint(m.Zone) != "" && fmt.Sprint(m.ID) != "" {
+ m.Srn = fmt.Sprintf("srn://instance.%s/zones/%s/volumes/%s", platform, fmt.Sprint(m.Zone), fmt.Sprint(m.ID))
+ return
+ }
}
// VolumeSummary: volume summary.
@@ -1419,6 +1441,25 @@ type PlacementGroup struct {
// Zone: zone in which the placement group is located.
Zone scw.Zone `json:"zone"`
+
+ // This field is automatically generated, do not edit it
+ Srn string `json:"srn,omitempty"`
+}
+
+//nolint:unused,nolintlint // generated, no check on whether it's used or not
+func (m *PlacementGroup) setSRN(platform string) {
+ if m.Srn != "" {
+ // if the field is set server-side, trust the server
+ return
+ }
+
+ // We do not check that *m.XYZ != "", as there are currently no use cases for an
+ // optional value in an SRN where the value set to the empty string makes sense.
+
+ if fmt.Sprint(m.Zone) != "" && fmt.Sprint(m.ID) != "" {
+ m.Srn = fmt.Sprintf("srn://instance.%s/zones/%s/placement-groups/%s", platform, fmt.Sprint(m.Zone), fmt.Sprint(m.ID))
+ return
+ }
}
// PrivateNIC: private nic.
@@ -1447,6 +1488,28 @@ type PrivateNIC struct {
// Zone: the zone in which the Private NIC is located.
Zone scw.Zone `json:"zone"`
+
+ // IpamIPIDs: the list of IPAM IPs associated with this private NIC.
+ IpamIPIDs []string `json:"ipam_ip_ids"`
+
+ // This field is automatically generated, do not edit it
+ Srn string `json:"srn,omitempty"`
+}
+
+//nolint:unused,nolintlint // generated, no check on whether it's used or not
+func (m *PrivateNIC) setSRN(platform string) {
+ if m.Srn != "" {
+ // if the field is set server-side, trust the server
+ return
+ }
+
+ // We do not check that *m.XYZ != "", as there are currently no use cases for an
+ // optional value in an SRN where the value set to the empty string makes sense.
+
+ if fmt.Sprint(m.Zone) != "" && fmt.Sprint(m.ID) != "" {
+ m.Srn = fmt.Sprintf("srn://instance.%s/zones/%s/private-network-interfaces/%s", platform, fmt.Sprint(m.Zone), fmt.Sprint(m.ID))
+ return
+ }
}
// SecurityGroupSummary: security group summary.
@@ -1740,6 +1803,28 @@ type Server struct {
// EndOfService: true if the Instance type has reached end of service.
EndOfService bool `json:"end_of_service"`
+
+ // DNS: public DNS of the server.
+ DNS *string `json:"dns"`
+
+ // This field is automatically generated, do not edit it
+ Srn string `json:"srn,omitempty"`
+}
+
+//nolint:unused,nolintlint // generated, no check on whether it's used or not
+func (m *Server) setSRN(platform string) {
+ if m.Srn != "" {
+ // if the field is set server-side, trust the server
+ return
+ }
+
+ // We do not check that *m.XYZ != "", as there are currently no use cases for an
+ // optional value in an SRN where the value set to the empty string makes sense.
+
+ if fmt.Sprint(m.Zone) != "" && fmt.Sprint(m.ID) != "" {
+ m.Srn = fmt.Sprintf("srn://instance.%s/zones/%s/servers/%s", platform, fmt.Sprint(m.Zone), fmt.Sprint(m.ID))
+ return
+ }
}
// IP: ip.
@@ -1845,12 +1930,32 @@ type SecurityGroup struct {
// Stateful: defines whether the security group is stateful.
Stateful bool `json:"stateful"`
- // State: security group state.
+ // State: are applied) when the security group is updated (e.g., rules added, modified, or deleted)
+ // or when it is attached to or detached from a server's public network interface.
// Default value: available
State SecurityGroupState `json:"state"`
// Zone: zone in which the security group is located.
Zone scw.Zone `json:"zone"`
+
+ // This field is automatically generated, do not edit it
+ Srn string `json:"srn,omitempty"`
+}
+
+//nolint:unused,nolintlint // generated, no check on whether it's used or not
+func (m *SecurityGroup) setSRN(platform string) {
+ if m.Srn != "" {
+ // if the field is set server-side, trust the server
+ return
+ }
+
+ // We do not check that *m.XYZ != "", as there are currently no use cases for an
+ // optional value in an SRN where the value set to the empty string makes sense.
+
+ if fmt.Sprint(m.Zone) != "" && fmt.Sprint(m.ID) != "" {
+ m.Srn = fmt.Sprintf("srn://instance.%s/zones/%s/security-groups/%s", platform, fmt.Sprint(m.Zone), fmt.Sprint(m.ID))
+ return
+ }
}
// SecurityGroupRule: security group rule.
@@ -1950,34 +2055,54 @@ type Snapshot struct {
// ErrorReason: reason for the failed snapshot import.
ErrorReason *string `json:"error_reason"`
+
+ // This field is automatically generated, do not edit it
+ Srn string `json:"srn,omitempty"`
+}
+
+//nolint:unused,nolintlint // generated, no check on whether it's used or not
+func (m *Snapshot) setSRN(platform string) {
+ if m.Srn != "" {
+ // if the field is set server-side, trust the server
+ return
+ }
+
+ // We do not check that *m.XYZ != "", as there are currently no use cases for an
+ // optional value in an SRN where the value set to the empty string makes sense.
+
+ if fmt.Sprint(m.Zone) != "" && fmt.Sprint(m.ID) != "" {
+ m.Srn = fmt.Sprintf("srn://instance.%s/zones/%s/snapshots/%s", platform, fmt.Sprint(m.Zone), fmt.Sprint(m.ID))
+ return
+ }
}
// Task: task.
type Task struct {
- // ID: unique ID of the task.
+ // Deprecated: ID: unique ID of the task.
ID string `json:"id"`
- // Description: description of the task.
+ // Deprecated: Description: description of the task.
Description string `json:"description"`
- // Progress: progress of the task in percent.
+ // Deprecated: Progress: progress of the task in percent.
Progress int32 `json:"progress"`
- // StartedAt: task start date.
+ // Deprecated: StartedAt: task start date.
StartedAt *time.Time `json:"started_at"`
- // TerminatedAt: task end date.
+ // Deprecated: TerminatedAt: task end date.
TerminatedAt *time.Time `json:"terminated_at"`
- // Status: task status.
+ // Deprecated: Status: task status.
// Default value: pending
Status TaskStatus `json:"status"`
HrefFrom string `json:"href_from"`
+ // HrefResult: location of the resulting resource.
HrefResult string `json:"href_result"`
- // Zone: zone in which the task is executed.
+ // Deprecated: Zone: zone in which the task is executed.
Zone scw.Zone `json:"zone"`
}
@@ -2003,17 +2128,19 @@ type Dashboard struct {
VolumesLSSDCount uint32 `json:"volumes_l_ssd_count"`
- // Deprecated
- VolumesBSSDCount *uint32 `json:"volumes_b_ssd_count"`
-
VolumesLSSDTotalSize scw.Size `json:"volumes_l_ssd_total_size"`
- // Deprecated
- VolumesBSSDTotalSize *scw.Size `json:"volumes_b_ssd_total_size"`
-
PrivateNicsCount uint32 `json:"private_nics_count"`
PlacementGroupsCount uint32 `json:"placement_groups_count"`
+
+ VolumesScratchCount uint32 `json:"volumes_scratch_count"`
+
+ // Deprecated
+ VolumesBSSDCount *uint32 `json:"volumes_b_ssd_count"`
+
+ // Deprecated
+ VolumesBSSDTotalSize *scw.Size `json:"volumes_b_ssd_total_size"`
}
// PlacementGroupServer: placement group server.
@@ -2076,11 +2203,17 @@ type ServerType struct {
// ScratchStorageMaxSize: maximum available scratch storage.
ScratchStorageMaxSize *scw.Size `json:"scratch_storage_max_size"`
+ // ScratchStorageMaxVolumesCount: maximum supported number of scratch volumes.
+ ScratchStorageMaxVolumesCount uint32 `json:"scratch_storage_max_volumes_count"`
+
// BlockBandwidth: the maximum bandwidth allocated to block storage access (in bytes per second).
BlockBandwidth *uint64 `json:"block_bandwidth"`
// EndOfService: true if this Instance type has reached end of service.
EndOfService bool `json:"end_of_service"`
+
+ // Sku: the billing SKU for this server type.
+ Sku string `json:"sku"`
}
// VolumeType: volume type.
@@ -4271,7 +4404,7 @@ func NewAPI(client *scw.Client) *API {
}
func (s *API) Zones() []scw.Zone {
- return []scw.Zone{scw.ZoneFrPar1, scw.ZoneFrPar2, scw.ZoneFrPar3, scw.ZoneNlAms1, scw.ZoneNlAms2, scw.ZoneNlAms3, scw.ZonePlWaw1, scw.ZonePlWaw2, scw.ZonePlWaw3}
+ return []scw.Zone{scw.ZoneFrPar1, scw.ZoneFrPar2, scw.ZoneFrPar3, scw.ZoneNlAms1, scw.ZoneNlAms2, scw.ZoneNlAms3, scw.ZonePlWaw1, scw.ZonePlWaw2, scw.ZonePlWaw3, scw.ZoneItMil1}
}
// GetServerTypesAvailability: Get availability for all Instance types.
@@ -4419,6 +4552,12 @@ func (s *API) ListServers(req *ListServersRequest, opts ...scw.RequestOption) (*
if err != nil {
return nil, err
}
+ apiMetadata, err := s.client.GetAPIMetadata()
+ if err == nil {
+ for _, el := range resp.Servers {
+ el.setSRN(apiMetadata.Domain)
+ }
+ }
return &resp, nil
}
@@ -4648,7 +4787,7 @@ func (s *API) ListServerActions(req *ListServerActionsRequest, opts ...scw.Reque
// * `poweroff`: Fully stop the Instance and release the hypervisor slot.
// * `stop_in_place`: Stop the Instance, but keep the slot on the hypervisor.
// * `reboot`: Stop the instance and restart it.
-// * `backup`: Create an image with all the volumes of an Instance.
+// * `backup`: Create an image with all the volumes of an Instance.
// * `terminate`: Delete the Instance along with its attached local volumes.
// * `enable_routed_ip`: Migrate the Instance to the new network stack.
//
@@ -5197,6 +5336,12 @@ func (s *API) ListSnapshots(req *ListSnapshotsRequest, opts ...scw.RequestOption
if err != nil {
return nil, err
}
+ apiMetadata, err := s.client.GetAPIMetadata()
+ if err == nil {
+ for _, el := range resp.Snapshots {
+ el.setSRN(apiMetadata.Domain)
+ }
+ }
return &resp, nil
}
@@ -5460,6 +5605,12 @@ func (s *API) ListVolumes(req *ListVolumesRequest, opts ...scw.RequestOption) (*
if err != nil {
return nil, err
}
+ apiMetadata, err := s.client.GetAPIMetadata()
+ if err == nil {
+ for _, el := range resp.Volumes {
+ el.setSRN(apiMetadata.Domain)
+ }
+ }
return &resp, nil
}
@@ -5641,6 +5792,12 @@ func (s *API) ListSecurityGroups(req *ListSecurityGroupsRequest, opts ...scw.Req
if err != nil {
return nil, err
}
+ apiMetadata, err := s.client.GetAPIMetadata()
+ if err == nil {
+ for _, el := range resp.SecurityGroups {
+ el.setSRN(apiMetadata.Domain)
+ }
+ }
return &resp, nil
}
@@ -6150,6 +6307,12 @@ func (s *API) ListPlacementGroups(req *ListPlacementGroupsRequest, opts ...scw.R
if err != nil {
return nil, err
}
+ apiMetadata, err := s.client.GetAPIMetadata()
+ if err == nil {
+ for _, el := range resp.PlacementGroups {
+ el.setSRN(apiMetadata.Domain)
+ }
+ }
return &resp, nil
}
@@ -6622,6 +6785,8 @@ func (s *API) DeleteIP(req *DeleteIPRequest, opts ...scw.RequestOption) error {
}
// ListPrivateNICs: List all private NICs of a specified Instance.
+// Some private NICs, such as those in deleting, detaching, or in error state are
+// not listed. We strongly recommend migrating to v2alpha1 to retrieve all private NICs.
func (s *API) ListPrivateNICs(req *ListPrivateNICsRequest, opts ...scw.RequestOption) (*ListPrivateNICsResponse, error) {
var err error
@@ -6657,10 +6822,21 @@ func (s *API) ListPrivateNICs(req *ListPrivateNICsRequest, opts ...scw.RequestOp
if err != nil {
return nil, err
}
+ apiMetadata, err := s.client.GetAPIMetadata()
+ if err == nil {
+ for _, el := range resp.PrivateNics {
+ el.setSRN(apiMetadata.Domain)
+ }
+ }
return &resp, nil
}
// CreatePrivateNIC: Create a private NIC connecting an Instance to a Private Network.
+// Some private NICs, such as those in deleting, detaching, or in error state are
+// not listed in v1.
+// Therefore, you may encounter quota limits errors when creating a new private NIC, even if your visible
+// count is below the threshold.
+// We strongly recommend migrating to v2alpha1 to see all private NICs.
func (s *API) CreatePrivateNIC(req *CreatePrivateNICRequest, opts ...scw.RequestOption) (*CreatePrivateNICResponse, error) {
var err error
@@ -6768,6 +6944,10 @@ func (s *API) UpdatePrivateNIC(req *UpdatePrivateNICRequest, opts ...scw.Request
if err != nil {
return nil, err
}
+ apiMetadata, err := s.client.GetAPIMetadata()
+ if err == nil {
+ resp.setSRN(apiMetadata.Domain)
+ }
return &resp, nil
}
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/internal/async/wait.go b/vendor/github.com/scaleway/scaleway-sdk-go/internal/async/wait.go
index 7c5cf9dd9..05013e5ee 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/internal/async/wait.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/internal/async/wait.go
@@ -14,7 +14,6 @@ type IntervalStrategy func() <-chan time.Time
// WaitSyncConfig defines the waiting options.
type WaitSyncConfig struct {
- // This method will be called from another goroutine.
Get func() (value any, isTerminal bool, err error)
IntervalStrategy IntervalStrategy
Timeout time.Duration
@@ -48,42 +47,22 @@ func WaitSync(config *WaitSyncConfig) (terminalValue any, err error) {
config.Timeout = defaultTimeout
}
- resultValue := make(chan any)
- resultErr := make(chan error)
- timeout := make(chan bool)
+ timeoutCh := time.After(config.Timeout)
- go func() {
- for {
- // get the payload
- value, stopCondition, err := config.Get()
- // send the payload
- if err != nil {
- resultErr <- err
- return
- }
- if stopCondition {
- resultValue <- value
- return
- }
-
- // waiting for an interval before next get() call or a timeout
- select {
- case <-timeout:
- return
- case <-config.IntervalStrategy():
- // sleep
- }
+ for {
+ // get the payload
+ value, stopCondition, err := config.Get()
+ if err != nil {
+ return nil, err
+ }
+ if stopCondition {
+ return value, nil
}
- }()
- // waiting for a result or a timeout
- select {
- case val := <-resultValue:
- return val, nil
- case err := <-resultErr:
- return nil, err
- case <-time.After(config.Timeout):
- timeout <- true
- return nil, fmt.Errorf("timeout after %v", config.Timeout)
+ select {
+ case <-timeoutCh:
+ return nil, fmt.Errorf("timeout after %v", config.Timeout)
+ case <-config.IntervalStrategy(): // Sleep before next get() call.
+ }
}
}
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/README.md b/vendor/github.com/scaleway/scaleway-sdk-go/scw/README.md
index 1ddc4867e..2174b1720 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/scw/README.md
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/README.md
@@ -48,5 +48,8 @@ scw.NewClient(
| `$SCW_DEFAULT_REGION` | Your default [region](https://www.scaleway.com/en/developers/api/#region-and-zone) | `$SCW_REGION` (used by cli),`$SCALEWAY_REGION` (used by terraform) |
| `$SCW_DEFAULT_ZONE` | Your default [availability zone](https://www.scaleway.com/en/developers/api/#region-and-zone) | `$SCW_ZONE` (used by cli),`$SCALEWAY_ZONE` (used by terraform) |
| `$SCW_API_URL` | Url of the API | - |
+| `$SCW_S3_ENDPOINT` | Endpoint for the Object Bucket API (S3-compatible) | - |
+| `$SCW_S3_USE_PATH_STYLE` | Enable path-style addressing for S3-compatible APIs | - |
| `$SCW_INSECURE` | Set this to `true` to enable the insecure mode | `$SCW_TLSVERIFY` (inverse flag used by the cli) |
+| `$SCW_USER_AGENT` | Custom user agent string for API requests | - |
| `$SCW_PROFILE` | Set the config profile to use | - |
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/client.go b/vendor/github.com/scaleway/scaleway-sdk-go/scw/client.go
index c50908485..ad290f552 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/scw/client.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/client.go
@@ -28,6 +28,9 @@ type Client struct {
httpClient httpClient
auth auth.Auth
apiURL string
+ apiMetadata ApiMetadata
+ s3Endpoint string
+ s3UsePathStyle bool
userAgent string
defaultOrganizationID *string
defaultProjectID *string
@@ -36,11 +39,17 @@ type Client struct {
defaultPageSize *uint32
}
+type ApiMetadata struct {
+ Platform string
+ Partition string
+ Domain string
+}
+
func defaultOptions() []ClientOption {
return []ClientOption{
WithoutAuth(),
WithAPIURL("https://api.scaleway.com"),
- withDefaultUserAgent(userAgent),
+ WithDefaultUserAgent(defaultUserAgent),
}
}
@@ -54,6 +63,12 @@ func NewClient(opts ...ClientOption) (*Client, error) {
// apply options
s.apply(append(defaultOptions(), opts...))
+ // default s3 endpoint, cannot be set directly using defaultOptions()
+ // because it relies on s.defaultRegion
+ if s.defaultRegion != nil && s.s3Endpoint == "" {
+ s.s3Endpoint = "https://s3." + s.defaultRegion.String() + ".scw.cloud"
+ }
+
// validate settings
err := s.validate()
if err != nil {
@@ -76,12 +91,14 @@ func NewClient(opts ...ClientOption) (*Client, error) {
setRequestLogging(s.httpClient)
}
- logger.Debugf("client: using sdk version " + getVersion() + "\n")
+ logger.Debugf("client: using sdk version %s\n", getVersion())
return &Client{
auth: s.token,
httpClient: s.httpClient,
apiURL: s.apiURL,
+ s3Endpoint: s.s3Endpoint,
+ s3UsePathStyle: s.s3UsePathStyle,
userAgent: s.userAgent,
defaultOrganizationID: s.defaultOrganizationID,
defaultProjectID: s.defaultProjectID,
@@ -91,6 +108,27 @@ func NewClient(opts ...ClientOption) (*Client, error) {
}, nil
}
+// GetAPIMetadata returns the API metadata exposed by the API
+// Gateway. This metadata holds information on the platform,
+// the partition and the domain on which the Scaleway cloud is
+// running.
+func (c *Client) GetAPIMetadata() (ApiMetadata, error) {
+ if c.apiMetadata != (ApiMetadata{}) {
+ return c.apiMetadata, nil
+ }
+
+ scwReq := &ScalewayRequest{
+ Method: "GET",
+ Path: "/metadata",
+ }
+
+ err := c.Do(scwReq, &c.apiMetadata)
+ if err != nil {
+ return ApiMetadata{}, errors.Wrap(err, "could request api metadata")
+ }
+ return c.apiMetadata, nil
+}
+
// GetDefaultOrganizationID returns the default organization ID
// of the client. This value can be set in the client option
// WithDefaultOrganizationID(). Be aware this value can be empty.
@@ -148,6 +186,32 @@ func (c *Client) GetAccessKey() (accessKey string, exists bool) {
return "", false
}
+// GetUserAgent returns the user agent of the client. This value should never
+// be empty if the client was created with NewClient().
+func (c *Client) GetUserAgent() (userAgent string, exists bool) {
+ if c.userAgent != "" {
+ return c.userAgent, true
+ }
+ return "", false
+}
+
+// GetS3Endpoint returns the S3 endpoint of the client.
+// This value can be set in the client option
+// WithS3Endpoint(). Be aware this value can be empty.
+func (c *Client) GetS3Endpoint() (s3Endpoint string, exists bool) {
+ if c.s3Endpoint != "" {
+ return c.s3Endpoint, true
+ }
+
+ return "", false
+}
+
+// GetS3UsePathStyle returns the S3UsePathStyle option value.
+// This value can be set in the client option WithS3UsePathStyle().
+func (c *Client) GetS3UsePathStyle() (s3UsePathStyle bool) {
+ return c.s3UsePathStyle
+}
+
// GetDefaultPageSize returns the default page size of the client.
// This value can be set in the client option
// WithDefaultPageSize(). Be aware this value can be empty.
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/client_option.go b/vendor/github.com/scaleway/scaleway-sdk-go/scw/client_option.go
index a1cb68aaa..115f76135 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/scw/client_option.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/client_option.go
@@ -3,6 +3,7 @@ package scw
import (
"net/http"
"strings"
+ "unicode/utf8"
"github.com/scaleway/scaleway-sdk-go/errors"
"github.com/scaleway/scaleway-sdk-go/internal/auth"
@@ -52,6 +53,21 @@ func WithAPIURL(apiURL string) ClientOption {
}
}
+// WithS3Endpoint client option overrides the S3 URL of the Scaleway Object Bucket API to the given URL.
+func WithS3Endpoint(s3Endpoint string) ClientOption {
+ return func(s *settings) {
+ s.s3Endpoint = s3Endpoint
+ }
+}
+
+// WithS3UsePathStyle client option overrides the UsePathStyle option when
+// accessing the S3 API.
+func WithS3UsePathStyle(s3UsePathStyle bool) ClientOption {
+ return func(s *settings) {
+ s.s3UsePathStyle = s3UsePathStyle
+ }
+}
+
// WithInsecure client option enables insecure transport on the client.
func WithInsecure() ClientOption {
return func(s *settings) {
@@ -69,8 +85,8 @@ func WithUserAgent(ua string) ClientOption {
}
}
-// withDefaultUserAgent client option overrides the default user agent of the SDK.
-func withDefaultUserAgent(ua string) ClientOption {
+// WithDefaultUserAgent client option overrides the default user agent of the SDK.
+func WithDefaultUserAgent(ua string) ClientOption {
return func(s *settings) {
s.userAgent = ua
}
@@ -93,6 +109,14 @@ func WithProfile(p *Profile) ClientOption {
s.apiURL = *p.APIURL
}
+ if p.S3Endpoint != nil {
+ s.s3Endpoint = *p.S3Endpoint
+ }
+
+ if p.S3UsePathStyle != nil {
+ s.s3UsePathStyle = *p.S3UsePathStyle
+ }
+
if p.Insecure != nil {
s.insecure = *p.Insecure
}
@@ -116,6 +140,10 @@ func WithProfile(p *Profile) ClientOption {
defaultZone := Zone(*p.DefaultZone)
s.defaultZone = &defaultZone
}
+
+ if p.UserAgent != nil {
+ s.userAgent = *p.UserAgent
+ }
}
}
@@ -172,6 +200,8 @@ func WithDefaultPageSize(pageSize uint32) ClientOption {
// settings hold the values of all client options
type settings struct {
apiURL string
+ s3Endpoint string
+ s3UsePathStyle bool
token auth.Auth
userAgent string
httpClient httpClient
@@ -194,11 +224,49 @@ func (s *settings) apply(opts []ClientOption) {
}
func (s *settings) validate() error {
- // Auth.
+ if err := s.validateAuth(); err != nil {
+ return err
+ }
+
+ if err := s.validateOrgID(); err != nil {
+ return err
+ }
+
+ if err := s.validateProjectID(); err != nil {
+ return err
+ }
+
+ if err := s.validateRegion(); err != nil {
+ return err
+ }
+
+ if err := s.validateZone(); err != nil {
+ return err
+ }
+
+ if err := s.validateUserAgent(); err != nil {
+ return err
+ }
+
+ if err := s.validateAPIURL(); err != nil {
+ return err
+ }
+
+ if err := s.validateS3Endpoint(); err != nil {
+ return err
+ }
+
+ // TODO: check for max s.defaultPageSize
+
+ return nil
+}
+
+func (s *settings) validateAuth() error {
if s.token == nil {
// It should not happen, WithoutAuth option is used by default.
panic(errors.New("no credential option provided"))
}
+
if token, isToken := s.token.(*auth.Token); isToken {
if token.AccessKey == "" {
return NewInvalidClientOptionError("access key cannot be empty")
@@ -214,7 +282,10 @@ func (s *settings) validate() error {
}
}
- // Default Organization ID.
+ return nil
+}
+
+func (s *settings) validateOrgID() error {
if s.defaultOrganizationID != nil {
if *s.defaultOrganizationID == "" {
return NewInvalidClientOptionError("default organization ID cannot be empty")
@@ -224,7 +295,10 @@ func (s *settings) validate() error {
}
}
- // Default Project ID.
+ return nil
+}
+
+func (s *settings) validateProjectID() error {
if s.defaultProjectID != nil {
if *s.defaultProjectID == "" {
return NewInvalidClientOptionError("default project ID cannot be empty")
@@ -234,7 +308,10 @@ func (s *settings) validate() error {
}
}
- // Default Region.
+ return nil
+}
+
+func (s *settings) validateRegion() error {
if s.defaultRegion != nil {
if *s.defaultRegion == "" {
return NewInvalidClientOptionError("default region cannot be empty")
@@ -248,7 +325,10 @@ func (s *settings) validate() error {
}
}
- // Default Zone.
+ return nil
+}
+
+func (s *settings) validateZone() error {
if s.defaultZone != nil {
if *s.defaultZone == "" {
return NewInvalidClientOptionError("default zone cannot be empty")
@@ -262,15 +342,60 @@ func (s *settings) validate() error {
}
}
- // API URL.
+ return nil
+}
+
+func (s *settings) validateUserAgent() error {
+ if s.userAgent != "" && s.userAgent != defaultUserAgent {
+ safeUA := SanitizeForLogging(s.userAgent)
+
+ if len(s.userAgent) > UserAgentMaxLength {
+ return NewInvalidClientOptionError(
+ "invalid user agent '%s': length should not be over %d",
+ safeUA, UserAgentMaxLength,
+ )
+ }
+
+ if !utf8.ValidString(s.userAgent) {
+ return NewInvalidClientOptionError(
+ "invalid user agent '%s': is not a valid UTF-8 string",
+ safeUA,
+ )
+ }
+
+ // Reject control characters (including CRLF \r\n, tabs, and null bytes)
+ if !printableASCIIRegex.MatchString(s.userAgent) {
+ return NewInvalidClientOptionError(
+ "invalid user agent '%s': contains prohibited characters",
+ safeUA,
+ )
+ }
+ }
+
+ return nil
+}
+
+func (s *settings) validateAPIURL() error {
if !validation.IsURL(s.apiURL) {
return NewInvalidClientOptionError("invalid API url '%s'", s.apiURL)
}
+
if s.apiURL[len(s.apiURL)-1:] == "/" {
return NewInvalidClientOptionError("invalid API url '%s' it should not have a trailing slash", s.apiURL)
}
- // TODO: check for max s.defaultPageSize
+ return nil
+}
+
+func (s *settings) validateS3Endpoint() error {
+ if s.s3Endpoint != "" {
+ if !validation.IsURL(s.s3Endpoint) {
+ return NewInvalidClientOptionError("invalid S3 endpoint '%s'", s.s3Endpoint)
+ }
+ if s.s3Endpoint[len(s.s3Endpoint)-1:] == "/" {
+ return NewInvalidClientOptionError("invalid S3 endpoint '%s': trailing slash is not allowed", s.s3Endpoint)
+ }
+ }
return nil
}
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/config.go b/vendor/github.com/scaleway/scaleway-sdk-go/scw/config.go
index af0995df4..e174dd177 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/scw/config.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/config.go
@@ -3,6 +3,7 @@ package scw
import (
"bytes"
goerrors "errors"
+ "fmt"
"os"
"path/filepath"
"strings"
@@ -58,7 +59,18 @@ const configFileTemplate = `# Scaleway configuration file
# APIURL overrides the API URL of the Scaleway API to the given URL.
# Change that if you want to direct requests to a different endpoint.
-{{ if .APIURL }}apiurl: {{ .APIURL }}{{ else }}# api_url: https://api.scaleway.com{{ end }}
+{{ if .APIURL }}api_url: {{ .APIURL }}{{ else }}# api_url: https://api.scaleway.com{{ end }}
+
+# S3Endpoint overrides the endpoint of the Scaleway Object Storage API to the given URL.
+# Change that if you want to direct requests to a different S3-compatible endpoint.
+{{ if .S3Endpoint }}s3_endpoint: {{ .S3Endpoint }}{{ else }}# s3_endpoint: https://s3.fr-par.scw.cloud{{ end }}
+
+# S3UsePathStyle enables path-style addressing for S3-compatible APIs.
+# Default to false
+{{ if .S3UsePathStyle }}s3_use_path_style: {{ .S3UsePathStyle }}{{ else }}# s3_use_path_style: false{{ end }}
+
+# UserAgent overrides the default user agent of your application.
+{{ if .UserAgent }}user_agent: {{ .UserAgent }}{{ else }}# user_agent: scaleway-sdk-go/VERSION (GOVERSION; GOOS; ARCH){{ end }}
# Insecure enables insecure transport on the client.
# Default to false
@@ -92,7 +104,10 @@ profiles:
{{ if $v.DefaultZone }}default_zone: {{ $v.DefaultZone }}{{ else }}# default_zone: fr-par-1{{ end }}
{{ if $v.DefaultRegion }}default_region: {{ $v.DefaultRegion }}{{ else }}# default_region: fr-par{{ end }}
{{ if $v.APIURL }}api_url: {{ $v.APIURL }}{{ else }}# api_url: https://api.scaleway.com{{ end }}
+ {{ if $v.S3Endpoint}}s3_endpoint: {{ $v.S3Endpoint}}{{ else }}# s3_endpoint: https://s3.fr-par.scw.cloud{{ end }}
+ {{ if $v.S3UsePathStyle}}s3_use_path_style: {{ $v.S3UsePathStyle}}{{ else }}# s3_use_path_style: false{{ end }}
{{ if $v.Insecure }}insecure: {{ $v.Insecure }}{{ else }}# insecure: false{{ end }}
+ {{ if $v.UserAgent }}user_agent: {{ $v.UserAgent }}{{ else }}# user_agent: scaleway-sdk-go/VERSION (GOVERSION; GOOS; ARCH){{ end }}
{{ end }}
{{- else }}
# profiles:
@@ -104,7 +119,10 @@ profiles:
# default_zone: fr-par-1
# default_region: fr-par
# api_url: https://api.scaleway.com
+# s3_endpoint: https://s3.fr-par.scw.cloud
+# s3_use_path_style: false
# insecure: false
+# user_agent: scaleway-sdk-go/VERSION (GOVERSION; GOOS; ARCH)
{{ end -}}
`
@@ -118,12 +136,15 @@ type Profile struct {
AccessKey *string `yaml:"access_key,omitempty" json:"access_key,omitempty"`
SecretKey *string `yaml:"secret_key,omitempty" json:"secret_key,omitempty"`
APIURL *string `yaml:"api_url,omitempty" json:"api_url,omitempty"`
+ S3Endpoint *string `yaml:"s3_endpoint,omitempty" json:"s3_endpoint,omitempty"`
+ S3UsePathStyle *bool `yaml:"s3_use_path_style,omitempty" json:"s3_use_path_style,omitempty"`
Insecure *bool `yaml:"insecure,omitempty" json:"insecure,omitempty"`
DefaultOrganizationID *string `yaml:"default_organization_id,omitempty" json:"default_organization_id,omitempty"`
DefaultProjectID *string `yaml:"default_project_id,omitempty" json:"default_project_id,omitempty"`
DefaultRegion *string `yaml:"default_region,omitempty" json:"default_region,omitempty"`
DefaultZone *string `yaml:"default_zone,omitempty" json:"default_zone,omitempty"`
SendTelemetry *bool `yaml:"send_telemetry,omitempty" json:"send_telemetry,omitempty"`
+ UserAgent *string `yaml:"user_agent,omitempty" json:"user_agent,omitempty"`
}
func (p *Profile) String() string {
@@ -200,7 +221,7 @@ func LoadConfig() (*Config, error) {
configPath = strings.TrimSuffix(configPath, ".yaml") + ".yml"
cfgYml, errYml := LoadConfigFromPath(configPath)
// If .yml config is not found, return first error when reading .yaml
- if errYml == nil || (errYml != nil && !goerrors.As(errYml, &configNotFoundError)) {
+ if errYml == nil || !goerrors.As(errYml, &configNotFoundError) {
return cfgYml, errYml
}
}
@@ -211,7 +232,7 @@ func LoadConfig() (*Config, error) {
// LoadConfigFromPath read the config from the given path.
func LoadConfigFromPath(path string) (*Config, error) {
- _, err := os.Stat(path)
+ fileInfo, err := os.Stat(path)
if os.IsNotExist(err) {
return nil, configFileNotFound(path)
}
@@ -219,6 +240,12 @@ func LoadConfigFromPath(path string) (*Config, error) {
return nil, err
}
+ if fileInfo.Mode().Perm() != defaultConfigPermission {
+ fmt.Printf("WARNING: Scaleway configuration file permissions are too "+
+ "permissive. That is insecure.\nYou can fix it with the command "+
+ "'chmod 0600 %s'\n", path)
+ }
+
file, err := os.ReadFile(path)
if err != nil {
return nil, errors.Wrap(err, "cannot read config file")
@@ -320,12 +347,15 @@ func MergeProfiles(original *Profile, others ...*Profile) *Profile {
AccessKey: original.AccessKey,
SecretKey: original.SecretKey,
APIURL: original.APIURL,
+ S3Endpoint: original.S3Endpoint,
+ S3UsePathStyle: original.S3UsePathStyle,
Insecure: original.Insecure,
DefaultOrganizationID: original.DefaultOrganizationID,
DefaultProjectID: original.DefaultProjectID,
DefaultRegion: original.DefaultRegion,
DefaultZone: original.DefaultZone,
SendTelemetry: original.SendTelemetry,
+ UserAgent: original.UserAgent,
}
for _, other := range others {
@@ -338,6 +368,12 @@ func MergeProfiles(original *Profile, others ...*Profile) *Profile {
if other.APIURL != nil {
np.APIURL = other.APIURL
}
+ if other.S3Endpoint != nil {
+ np.S3Endpoint = other.S3Endpoint
+ }
+ if other.S3UsePathStyle != nil {
+ np.S3UsePathStyle = other.S3UsePathStyle
+ }
if other.Insecure != nil {
np.Insecure = other.Insecure
}
@@ -356,6 +392,9 @@ func MergeProfiles(original *Profile, others ...*Profile) *Profile {
if other.SendTelemetry != nil {
np.SendTelemetry = other.SendTelemetry
}
+ if other.UserAgent != nil {
+ np.UserAgent = other.UserAgent
+ }
}
return np
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/convert.go b/vendor/github.com/scaleway/scaleway-sdk-go/scw/convert.go
index e48c21fa7..02528950c 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/scw/convert.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/convert.go
@@ -14,8 +14,8 @@ func StringPtr(v string) *string {
// string pointers
func StringSlicePtr(src []string) []*string {
dst := make([]*string, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -29,8 +29,8 @@ func StringsPtr(v []string) *[]string {
// []string pointers
func StringsSlicePtr(src [][]string) []*[]string {
dst := make([]*[]string, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -44,8 +44,8 @@ func BytesPtr(v []byte) *[]byte {
// []byte pointers
func BytesSlicePtr(src [][]byte) []*[]byte {
dst := make([]*[]byte, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -59,8 +59,8 @@ func BoolPtr(v bool) *bool {
// bool pointers
func BoolSlicePtr(src []bool) []*bool {
dst := make([]*bool, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -74,8 +74,8 @@ func Int32Ptr(v int32) *int32 {
// int32 pointers
func Int32SlicePtr(src []int32) []*int32 {
dst := make([]*int32, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -89,8 +89,8 @@ func Int64Ptr(v int64) *int64 {
// int64 pointers
func Int64SlicePtr(src []int64) []*int64 {
dst := make([]*int64, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -104,8 +104,8 @@ func Uint32Ptr(v uint32) *uint32 {
// uint32 pointers
func Uint32SlicePtr(src []uint32) []*uint32 {
dst := make([]*uint32, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -119,8 +119,8 @@ func Uint64Ptr(v uint64) *uint64 {
// uint64 pointers
func Uint64SlicePtr(src []uint64) []*uint64 {
dst := make([]*uint64, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -134,8 +134,8 @@ func Float32Ptr(v float32) *float32 {
// float32 pointers
func Float32SlicePtr(src []float32) []*float32 {
dst := make([]*float32, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
@@ -149,8 +149,8 @@ func Float64Ptr(v float64) *float64 {
// float64 pointers
func Float64SlicePtr(src []float64) []*float64 {
dst := make([]*float64, len(src))
- for i := 0; i < len(src); i++ {
- dst[i] = &(src[i])
+ for i := range src {
+ dst[i] = &src[i]
}
return dst
}
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/env.go b/vendor/github.com/scaleway/scaleway-sdk-go/scw/env.go
index ae42e3e37..2e71d2075 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/scw/env.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/env.go
@@ -16,14 +16,21 @@ const (
ScwSecretKeyEnv = "SCW_SECRET_KEY" // #nosec G101
ScwActiveProfileEnv = "SCW_PROFILE"
ScwAPIURLEnv = "SCW_API_URL"
+ ScwS3EndpointEnv = "SCW_S3_ENDPOINT"
+ ScwS3UsePathStyleEnv = "SCW_S3_USE_PATH_STYLE"
ScwInsecureEnv = "SCW_INSECURE"
ScwDefaultOrganizationIDEnv = "SCW_DEFAULT_ORGANIZATION_ID"
ScwDefaultProjectIDEnv = "SCW_DEFAULT_PROJECT_ID"
ScwDefaultRegionEnv = "SCW_DEFAULT_REGION"
ScwDefaultZoneEnv = "SCW_DEFAULT_ZONE"
+ ScwUserAgentEnv = "SCW_USER_AGENT"
ScwEnableBeta = "SCW_ENABLE_BETA"
DebugEnv = logger.DebugEnv
+ // AWS
+ AwsEndpointURL = "AWS_ENDPOINT_URL"
+ AwsEndpointURLS3 = "AWS_ENDPOINT_URL_S3"
+
// All deprecated (cli&terraform)
terraformAccessKeyEnv = "SCALEWAY_ACCESS_KEY" // used both as access key and secret key
terraformSecretKeyEnv = "SCALEWAY_TOKEN"
@@ -74,6 +81,21 @@ func LoadEnvProfile() *Profile {
p.APIURL = &apiURL
}
+ s3Endpoint, _, envExist := getEnv(ScwS3EndpointEnv)
+ if envExist {
+ p.S3Endpoint = &s3Endpoint
+ }
+
+ s3UsePathStyleValue, _, envExist := getEnv(ScwS3UsePathStyleEnv)
+ if envExist {
+ s3UsePathStyle, err := strconv.ParseBool(s3UsePathStyleValue)
+ if err != nil {
+ logger.Warningf("env variable %s cannot be parsed: %s is invalid boolean", ScwS3UsePathStyleEnv, s3UsePathStyleValue)
+ } else {
+ p.S3UsePathStyle = &s3UsePathStyle
+ }
+ }
+
insecureValue, envKey, envExist := getEnv(ScwInsecureEnv, cliTLSVerifyEnv)
if envExist {
insecure, err := strconv.ParseBool(insecureValue)
@@ -109,9 +131,28 @@ func LoadEnvProfile() *Profile {
p.DefaultZone = &zone
}
+ userAgent, _, envExist := getEnv(ScwUserAgentEnv)
+ if envExist {
+ p.UserAgent = &userAgent
+ }
+
return p
}
+// GetS3EndpointFromAWSConf retrieves the set value of AWS_ENDPOINT_URL_S3
+// or, if not set, AWS_ENDPOINT_URL.
+// This function can be called from any client side code which intends to
+// be AWS compatible, thus check the environment variables.
+// In case AWS changes the key of these variable, this function should be the
+// single point to update.
+func GetS3EndpointFromAWSConf() string {
+ if ep := os.Getenv(AwsEndpointURLS3); ep != "" {
+ return ep
+ }
+
+ return os.Getenv(AwsEndpointURL)
+}
+
func getEnv(upToDateKey string, deprecatedKeys ...string) (string, string, bool) {
value, exist := os.LookupEnv(upToDateKey)
if exist {
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/locality.go b/vendor/github.com/scaleway/scaleway-sdk-go/scw/locality.go
index ad9dc1b4f..6f67ff397 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/scw/locality.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/locality.go
@@ -35,6 +35,12 @@ const (
ZonePlWaw2 = Zone("pl-waw-2")
// ZonePlWaw3 represents the pl-waw-3 zone
ZonePlWaw3 = Zone("pl-waw-3")
+ // ZoneItMil1 represents the it-mil-1 zone
+ ZoneItMil1 = Zone("it-mil-1")
+ // ZoneItMil2 represents the it-mil-2 zone
+ ZoneItMil2 = Zone("it-mil-2")
+ // ZoneItMil3 represents the it-mil-3 zone
+ ZoneItMil3 = Zone("it-mil-3")
)
// AllZones is an array that list all zones
@@ -48,6 +54,9 @@ var AllZones = []Zone{
ZonePlWaw1,
ZonePlWaw2,
ZonePlWaw3,
+ ZoneItMil1,
+ ZoneItMil2,
+ ZoneItMil3,
}
// Exists checks whether a zone exists
@@ -86,6 +95,8 @@ const (
RegionNlAms = Region("nl-ams")
// RegionPlWaw represents the pl-waw region
RegionPlWaw = Region("pl-waw")
+ // RegionItMil represents the it-mil region
+ RegionItMil = Region("it-mil")
)
// AllRegions is an array that list all regions
@@ -93,6 +104,7 @@ var AllRegions = []Region{
RegionFrPar,
RegionNlAms,
RegionPlWaw,
+ RegionItMil,
}
// Exists checks whether a region exists
@@ -114,6 +126,8 @@ func (region Region) GetZones() []Zone {
return []Zone{ZoneNlAms1, ZoneNlAms2, ZoneNlAms3}
case RegionPlWaw:
return []Zone{ZonePlWaw1, ZonePlWaw2, ZonePlWaw3}
+ case RegionItMil:
+ return []Zone{ZoneItMil1}
default:
return []Zone{}
}
@@ -157,6 +171,11 @@ func (zone *Zone) UnmarshalJSON(input []byte) error {
return err
}
+ // New fields may carry empty value
+ if stringValue == "" {
+ return nil
+ }
+
// parse string as Zone
*zone, err = ParseZone(stringValue)
if err != nil {
@@ -203,6 +222,11 @@ func (region *Region) UnmarshalJSON(input []byte) error {
return err
}
+ // New fields may carry empty value
+ if stringValue == "" {
+ return nil
+ }
+
// parse string as Region
*region, err = ParseRegion(stringValue)
if err != nil {
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/user_agent.go b/vendor/github.com/scaleway/scaleway-sdk-go/scw/user_agent.go
new file mode 100644
index 000000000..bc2ac012f
--- /dev/null
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/user_agent.go
@@ -0,0 +1,40 @@
+package scw
+
+import (
+ "fmt"
+ "regexp"
+ "runtime"
+ "strings"
+)
+
+const (
+ UserAgentMaxLength = 512
+ TruncatedSuffix = "...[truncated]"
+)
+
+var (
+ // Default user agent used by NewClient()
+ defaultUserAgent = fmt.Sprintf("scaleway-sdk-go/%s (%s; %s; %s)", getVersion(), runtime.Version(), runtime.GOOS, runtime.GOARCH)
+
+ // Standard printable ASCII regex: space (0x20) through tilde (0x7E).
+ // This explicitly blocks \r, \n, \t, null bytes (\0), and non-printable control codes.
+ printableASCIIRegex = regexp.MustCompile(`^[ -~]+$`)
+)
+
+// SanitizeForLogging strips newlines, tabs, and limits length for safe
+// insertion into log streams.
+func SanitizeForLogging(ua string) string {
+ // Truncate to max length if necessary
+ if len(ua) > UserAgentMaxLength {
+ ua = ua[:UserAgentMaxLength] + TruncatedSuffix
+ }
+
+ // Neutralize potential log injection characters
+ replacer := strings.NewReplacer(
+ "\r", "\\r",
+ "\n", "\\n",
+ "\t", "\\t",
+ )
+
+ return replacer.Replace(ua)
+}
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/scw/version.go b/vendor/github.com/scaleway/scaleway-sdk-go/scw/version.go
index 3018df484..accafb768 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/scw/version.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/scw/version.go
@@ -1,8 +1,6 @@
package scw
import (
- "fmt"
- "runtime"
"runtime/debug"
)
@@ -35,5 +33,3 @@ func getVersion() string {
return defaultVersion
}
-
-var userAgent = fmt.Sprintf("scaleway-sdk-go/%s (%s; %s; %s)", getVersion(), runtime.Version(), runtime.GOOS, runtime.GOARCH)
diff --git a/vendor/github.com/scaleway/scaleway-sdk-go/validation/is.go b/vendor/github.com/scaleway/scaleway-sdk-go/validation/is.go
index 763b443af..8c68003a2 100644
--- a/vendor/github.com/scaleway/scaleway-sdk-go/validation/is.go
+++ b/vendor/github.com/scaleway/scaleway-sdk-go/validation/is.go
@@ -7,11 +7,12 @@ import (
)
var (
- isUUIDRegexp = regexp.MustCompile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$")
- isRegionRegex = regexp.MustCompile("^[a-z]{2}-[a-z]{3,7}$")
- isZoneRegex = regexp.MustCompile("^[a-z]{2}-[a-z]{3,7}-[0-9]{1,2}$")
- isAccessKey = regexp.MustCompile("^SCW[A-Z0-9]{17}$")
- isEmailRegexp = regexp.MustCompile("^.+@.+$")
+ isUUIDRegexp = regexp.MustCompile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$")
+ isRegionRegex = regexp.MustCompile("^[a-z]{2}-[a-z]{3,7}$")
+ isZoneRegex = regexp.MustCompile("^[a-z]{2}-[a-z]{3,7}-[0-9]{1,2}$")
+ isAccessKey = regexp.MustCompile("^SCW[A-Z0-9]{17}$")
+ isAccessKeyWithProjectID = regexp.MustCompile("^SCW[A-Z0-9]{17}@[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$")
+ isEmailRegexp = regexp.MustCompile("^.+@.+$")
)
// IsUUID returns true if the given string has a valid UUID format.
@@ -24,6 +25,12 @@ func IsAccessKey(s string) bool {
return isAccessKey.MatchString(s)
}
+// IsAccessKeyWithProjectID returns true if the given string has a valid
+// Scaleway access key format appended to a project ID.
+func IsAccessKeyWithProjectID(s string) bool {
+ return isAccessKeyWithProjectID.MatchString(s)
+}
+
// IsSecretKey returns true if the given string has a valid Scaleway secret key format.
func IsSecretKey(s string) bool {
return IsUUID(s)
diff --git a/vendor/github.com/sethvargo/go-password/password/generate.go b/vendor/github.com/sethvargo/go-password/password/generate.go
index 45c2247c5..522c1f940 100644
--- a/vendor/github.com/sethvargo/go-password/password/generate.go
+++ b/vendor/github.com/sethvargo/go-password/password/generate.go
@@ -5,14 +5,13 @@
// if err != nil {
// log.Fatal(err)
// }
-// log.Printf(res)
+// log.Print(res)
//
// Most functions are safe for concurrent use.
package password
import (
"crypto/rand"
- "errors"
"fmt"
"io"
"math/big"
@@ -47,19 +46,23 @@ const (
var (
// ErrExceedsTotalLength is the error returned with the number of digits and
// symbols is greater than the total length.
- ErrExceedsTotalLength = errors.New("number of digits and symbols must be less than total length")
+ ErrExceedsTotalLength = fmt.Errorf("number of digits and symbols must be less than total length")
// ErrLettersExceedsAvailable is the error returned with the number of letters
// exceeds the number of available letters and repeats are not allowed.
- ErrLettersExceedsAvailable = errors.New("number of letters exceeds available letters and repeats are not allowed")
+ ErrLettersExceedsAvailable = fmt.Errorf("number of letters exceeds available letters and repeats are not allowed")
// ErrDigitsExceedsAvailable is the error returned with the number of digits
// exceeds the number of available digits and repeats are not allowed.
- ErrDigitsExceedsAvailable = errors.New("number of digits exceeds available digits and repeats are not allowed")
+ ErrDigitsExceedsAvailable = fmt.Errorf("number of digits exceeds available digits and repeats are not allowed")
// ErrSymbolsExceedsAvailable is the error returned with the number of symbols
// exceeds the number of available symbols and repeats are not allowed.
- ErrSymbolsExceedsAvailable = errors.New("number of symbols exceeds available symbols and repeats are not allowed")
+ ErrSymbolsExceedsAvailable = fmt.Errorf("number of symbols exceeds available symbols and repeats are not allowed")
+
+ // ErrNegativeInput is the error returned when the number of digits or symbols
+ // is negative.
+ ErrNegativeInput = fmt.Errorf("number of digits and symbols must not be negative")
)
// Generator is the stateful generator which can be used to customize the list
@@ -129,6 +132,10 @@ func NewGenerator(i *GeneratorInput) (*Generator, error) {
// The algorithm is fast, but it's not designed to be performant; it favors
// entropy over speed. This function is safe for concurrent use.
func (g *Generator) Generate(length, numDigits, numSymbols int, noUpper, allowRepeat bool) (string, error) {
+ if numDigits < 0 || numSymbols < 0 {
+ return "", ErrNegativeInput
+ }
+
letters := g.lowerLetters
if !noUpper {
letters += g.upperLetters
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go
index 3ae082434..b32f99a93 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
+package otelhttp
import (
"net/http"
@@ -10,12 +10,31 @@ import (
"go.opentelemetry.io/otel/trace"
)
-// Attribute keys that can be added to a span.
+// Legacy HTTP attribute keys retained for compatibility.
const (
- ReadBytesKey = attribute.Key("http.read_bytes") // if anything was read from the request body, the total number of bytes read
- ReadErrorKey = attribute.Key("http.read_error") // If an error occurred while reading a request, the string of the error (io.EOF is not recorded)
- WroteBytesKey = attribute.Key("http.wrote_bytes") // if anything was written to the response writer, the total number of bytes written
- WriteErrorKey = attribute.Key("http.write_error") // if an error occurred while writing a reply, the string of the error (io.EOF is not recorded)
+ // ReadBytesKey is the attribute key for the number of bytes returned by an
+ // individual read from an HTTP request body.
+ //
+ // Deprecated: there is no direct semantic-convention replacement.
+ ReadBytesKey = attribute.Key("http.read_bytes")
+
+ // ReadErrorKey is the attribute key for the string form of a non-EOF error
+ // returned while reading an HTTP request body.
+ //
+ // Deprecated: there is no direct semantic-convention replacement.
+ ReadErrorKey = attribute.Key("http.read_error")
+
+ // WroteBytesKey is the attribute key for the number of bytes returned by an
+ // individual write to an HTTP response body.
+ //
+ // Deprecated: there is no direct semantic-convention replacement.
+ WroteBytesKey = attribute.Key("http.wrote_bytes")
+
+ // WriteErrorKey is the attribute key for the string form of a non-EOF error
+ // returned while writing an HTTP response body.
+ //
+ // Deprecated: there is no direct semantic-convention replacement.
+ WriteErrorKey = attribute.Key("http.write_error")
)
// Filter is a predicate used to determine whether a given http.request should
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go
index a7d4b2a81..45d4ee161 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
+package otelhttp
import (
"context"
@@ -143,14 +143,15 @@ const (
)
// WithMessageEvents configures the Handler to record the specified events
-// (span.AddEvent) on spans. By default only summary attributes are added at the
-// end of the request.
+// (span.AddEvent) on spans. By default, no read or write events are recorded.
//
// Valid events are:
-// - ReadEvents: Record the number of bytes read after every http.Request.Body.Read
-// using the ReadBytesKey
-// - WriteEvents: Record the number of bytes written after every http.ResponeWriter.Write
-// using the WriteBytesKey
+// - ReadEvents: Record a "read" span event after every http.Request.Body.Read.
+// - WriteEvents: Record a "write" span event after every http.ResponseWriter.Write.
+//
+// The events do not include per-call byte-count attributes. Total request and
+// response body sizes are recorded on the span according to HTTP semantic
+// conventions.
func WithMessageEvents(events ...Event) Option {
return optionFunc(func(c *config) {
for _, e := range events {
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/doc.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/doc.go
index 1c9aa3ff4..09a2103fe 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/doc.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/doc.go
@@ -3,4 +3,4 @@
// Package otelhttp provides an http.Handler and functions that are intended
// to be used to add tracing by wrapping existing handlers.
-package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
+package otelhttp
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go
index a269fce0f..d42f4f870 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
+package otelhttp
import (
"net/http"
@@ -35,10 +35,6 @@ type middleware struct {
semconv semconv.HTTPServer
}
-func defaultHandlerFormatter(operation string, _ *http.Request) string {
- return operation
-}
-
// NewHandler wraps the passed handler in a span named after the operation and
// enriches it with metrics.
func NewHandler(handler http.Handler, operation string, opts ...Option) http.Handler {
@@ -55,12 +51,17 @@ func NewMiddleware(operation string, opts ...Option) func(http.Handler) http.Han
defaultOpts := []Option{
WithSpanOptions(trace.WithSpanKind(trace.SpanKindServer)),
- WithSpanNameFormatter(defaultHandlerFormatter),
}
c := newConfig(append(defaultOpts, opts...)...)
h.configure(c)
+ if h.spanNameFormatter == nil {
+ h.spanNameFormatter = func(_ string, r *http.Request) string {
+ return h.semconv.SpanName(r)
+ }
+ }
+
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
h.serveHTTP(w, r, next)
@@ -128,8 +129,8 @@ func (h *middleware) serveHTTP(w http.ResponseWriter, r *http.Request, next http
readRecordFunc := func(int64) {}
if h.readEvent {
- readRecordFunc = func(n int64) {
- span.AddEvent("read", trace.WithAttributes(ReadBytesKey.Int64(n)))
+ readRecordFunc = func(int64) {
+ span.AddEvent("read")
}
}
@@ -138,13 +139,19 @@ func (h *middleware) serveHTTP(w http.ResponseWriter, r *http.Request, next http
// ReadCloser fulfills a certain interface and it is indeed nil or NoBody.
bw := request.NewBodyWrapper(r.Body, readRecordFunc)
if r.Body != nil && r.Body != http.NoBody {
+ origReq := r
+ prevBody := r.Body
r.Body = bw
+
+ // Restore the original body after the request is processed to avoid issues
+ // with extra wrapper since `http/server.go` later checks type of `r.Body`.
+ defer func() { origReq.Body = prevBody }()
}
writeRecordFunc := func(int64) {}
if h.writeEvent {
- writeRecordFunc = func(n int64) {
- span.AddEvent("write", trace.WithAttributes(WroteBytesKey.Int64(n)))
+ writeRecordFunc = func(int64) {
+ span.AddEvent("write")
}
}
@@ -173,12 +180,21 @@ func (h *middleware) serveHTTP(w http.ResponseWriter, r *http.Request, next http
if !found {
ctx = ContextWithLabeler(ctx, labeler)
}
+ rCtx := r.WithContext(ctx)
+ defer func() {
+ // Copy MultipartForm back to the original request so net/http can
+ // find and remove any temp files ParseMultipartForm created on the
+ // copy. Deferred so the copy-back also runs during panic unwinding,
+ // letting net/http cleanup paths that still run (HTTP/2 handler
+ // recovery, outer recovery middleware) find the form.
+ if rCtx.MultipartForm != nil {
+ r.MultipartForm = rCtx.MultipartForm
+ }
+ }()
+ next.ServeHTTP(w, rCtx)
- r = r.WithContext(ctx)
- next.ServeHTTP(w, r)
-
- if r.Pattern != "" {
- span.SetName(h.spanNameFormatter(h.operation, r))
+ if rCtx.Pattern != "" {
+ span.SetName(h.spanNameFormatter(h.operation, rCtx))
}
statusCode := rww.StatusCode()
@@ -197,9 +213,9 @@ func (h *middleware) serveHTTP(w http.ResponseWriter, r *http.Request, next http
ServerName: h.server,
ResponseSize: bytesWritten,
MetricAttributes: semconv.MetricAttributes{
- Req: r,
+ Req: rCtx,
StatusCode: statusCode,
- AdditionalAttributes: append(labeler.Get(), h.metricAttributesFromRequest(r)...),
+ AdditionalAttributes: append(labeler.Get(), h.metricAttributesFromRequest(rCtx)...),
},
MetricData: semconv.MetricData{
RequestSize: bytesRead,
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/body_wrapper.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/body_wrapper.go
index d032aa841..aeff41604 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/body_wrapper.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/body_wrapper.go
@@ -1,12 +1,12 @@
-// Code generated by gotmpl. DO NOT MODIFY.
-// source: internal/shared/request/body_wrapper.go.tmpl
-
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// DO NOT MODIFY. Generated by gotmpl.
+// source: internal/shared/request/body_wrapper.go.tmpl
+
// Package request provides types and functionality to handle HTTP request
// handling.
-package request // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request"
+package request
import (
"io"
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/gen.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/gen.go
index 9e00dd2fc..98f7bdbfc 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/gen.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/gen.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package request // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request"
+package request
// Generate request package:
//go:generate gotmpl --body=../../../../../../internal/shared/request/body_wrapper.go.tmpl "--data={}" --out=body_wrapper.go
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/resp_writer_wrapper.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/resp_writer_wrapper.go
index f29f9b7c9..6b523cb74 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/resp_writer_wrapper.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/resp_writer_wrapper.go
@@ -1,10 +1,10 @@
-// Code generated by gotmpl. DO NOT MODIFY.
-// source: internal/shared/request/resp_writer_wrapper.go.tmpl
-
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package request // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request"
+// DO NOT MODIFY. Generated by gotmpl.
+// source: internal/shared/request/resp_writer_wrapper.go.tmpl
+
+package request
import (
"net/http"
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/client.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/client.go
index 1398d85c2..c275b5f05 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/client.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/client.go
@@ -1,17 +1,18 @@
-// Code generated by gotmpl. DO NOT MODIFY.
-// source: internal/shared/semconv/client.go.tmpl
-
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// DO NOT MODIFY. Generated by gotmpl.
+// source: internal/shared/semconv/client.go.tmpl
+
// Package semconv provides OpenTelemetry semantic convention types and
// functionality.
-package semconv // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv"
+package semconv
import (
"context"
"fmt"
"net/http"
+ "reflect"
"slices"
"strconv"
"strings"
@@ -19,8 +20,8 @@ import (
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/codes"
"go.opentelemetry.io/otel/metric"
- "go.opentelemetry.io/otel/semconv/v1.40.0"
- "go.opentelemetry.io/otel/semconv/v1.40.0/httpconv"
+ semconv "go.opentelemetry.io/otel/semconv/v1.43.0"
+ "go.opentelemetry.io/otel/semconv/v1.43.0/httpconv"
)
type HTTPClient struct {
@@ -44,7 +45,7 @@ func NewHTTPClient(meter metric.Meter) HTTPClient {
return client
}
-func (n HTTPClient) Status(code int) (codes.Code, string) {
+func (HTTPClient) Status(code int) (codes.Code, string) {
if code < 100 || code >= 600 {
return codes.Error, fmt.Sprintf("Invalid HTTP status code %d", code)
}
@@ -119,9 +120,7 @@ func (n HTTPClient) RequestTraceAttrs(req *http.Request) []attribute.KeyValue {
// Restore any username/password info that was removed.
req.URL.User = userinfo
}
- attrs = append(attrs, semconv.URLFull(u))
-
- attrs = append(attrs, semconv.ServerAddress(requestHost))
+ attrs = append(attrs, semconv.URLFull(u), semconv.ServerAddress(requestHost))
if eligiblePort > 0 {
attrs = append(attrs, semconv.ServerPort(eligiblePort))
}
@@ -137,11 +136,13 @@ func (n HTTPClient) RequestTraceAttrs(req *http.Request) []attribute.KeyValue {
}
// ResponseTraceAttrs returns trace attributes for an HTTP response made by a client.
-func (n HTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue {
+func (HTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue {
/*
below attributes are returned:
- http.response.status_code
- error.type
+ - network.protocol.name (only when it is not "http")
+ - network.protocol.version
*/
var count int
if resp.StatusCode > 0 {
@@ -152,6 +153,21 @@ func (n HTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue
count++
}
+ // The protocol version is only known for certain once the response
+ // arrives: req.Proto reflects what the caller asked for, but the
+ // transport may negotiate a different version (for example HTTP/2 via
+ // ALPN). Report resp.Proto here so it overrides the request-time value
+ // on the span. As in RequestTraceAttrs, network.protocol.name is omitted
+ // when it is "http": the spec only requires it when the name differs from
+ // the protocol implied by http.request.method.
+ protoName, protoVersion := netProtocol(resp.Proto)
+ if protoName != "" && protoName != "http" {
+ count++
+ }
+ if protoVersion != "" {
+ count++
+ }
+
attrs := make([]attribute.KeyValue, 0, count)
if resp.StatusCode > 0 {
attrs = append(attrs, semconv.HTTPResponseStatusCode(resp.StatusCode))
@@ -161,12 +177,19 @@ func (n HTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue
errorType := strconv.Itoa(resp.StatusCode)
attrs = append(attrs, semconv.ErrorTypeKey.String(errorType))
}
+
+ if protoName != "" && protoName != "http" {
+ attrs = append(attrs, semconv.NetworkProtocolName(protoName))
+ }
+ if protoVersion != "" {
+ attrs = append(attrs, semconv.NetworkProtocolVersion(protoVersion))
+ }
return attrs
}
-func (n HTTPClient) method(method string) (attribute.KeyValue, attribute.KeyValue) {
+func (HTTPClient) method(method string) (attribute.KeyValue, attribute.KeyValue) {
if method == "" {
- return semconv.HTTPRequestMethodGet, attribute.KeyValue{}
+ return semconv.HTTPRequestMethodOther, attribute.KeyValue{}
}
if attr, ok := methodLookup[method]; ok {
return attr, attribute.KeyValue{}
@@ -176,10 +199,10 @@ func (n HTTPClient) method(method string) (attribute.KeyValue, attribute.KeyValu
if attr, ok := methodLookup[strings.ToUpper(method)]; ok {
return attr, orig
}
- return semconv.HTTPRequestMethodGet, orig
+ return semconv.HTTPRequestMethodOther, orig
}
-func (n HTTPClient) MetricAttributes(req *http.Request, statusCode int, additionalAttributes []attribute.KeyValue) []attribute.KeyValue {
+func (n HTTPClient) MetricAttributes(req *http.Request, resp *http.Response, statusCode int, additionalAttributes []attribute.KeyValue) []attribute.KeyValue {
num := len(additionalAttributes) + 2
var h string
if req.URL != nil {
@@ -199,7 +222,14 @@ func (n HTTPClient) MetricAttributes(req *http.Request, statusCode int, addition
num++
}
- protoName, protoVersion := netProtocol(req.Proto)
+ // Prefer the negotiated protocol reported on the response: req.Proto is
+ // only what the caller asked for, and the transport may have upgraded
+ // the connection (for example HTTP/2 via ALPN).
+ proto := req.Proto
+ if resp != nil && resp.Proto != "" {
+ proto = resp.Proto
+ }
+ protoName, protoVersion := netProtocol(proto)
if protoName != "" {
num++
}
@@ -212,7 +242,8 @@ func (n HTTPClient) MetricAttributes(req *http.Request, statusCode int, addition
}
attributes := slices.Grow(additionalAttributes, num)
- attributes = append(attributes,
+ attributes = append(
+ attributes,
semconv.HTTPRequestMethodKey.String(standardizeHTTPMethod(req.Method)),
semconv.ServerAddress(requestHost),
n.scheme(req),
@@ -248,7 +279,10 @@ func (o MetricOpts) AddOptions() metric.AddOption {
}
func (n HTTPClient) MetricOptions(ma MetricAttributes) MetricOpts {
- attributes := n.MetricAttributes(ma.Req, ma.StatusCode, ma.AdditionalAttributes)
+ attributes := n.MetricAttributes(ma.Req, ma.Resp, ma.StatusCode, ma.AdditionalAttributes)
+ if ma.StatusCode == 0 && ma.Err != nil {
+ attributes = append(attributes, n.ErrorType(ma.Err))
+ }
set := metric.WithAttributeSet(attribute.NewSet(attributes...))
return MetricOpts{
@@ -257,6 +291,39 @@ func (n HTTPClient) MetricOptions(ma MetricAttributes) MetricOpts {
}
}
+// ErrorType returns an error.type attribute for the given error. The otelhttp
+// Transport calls the underlying RoundTripper directly, so transport failures
+// arrive as *net.OpError (connection refused, timeout, etc.) rather than
+// *url.Error (which http.Client.Do adds above the Transport layer). This
+// function intentionally does not unwrap further: reporting a single concrete
+// type per failure keeps attribute cardinality bounded, as required by the
+// OTel spec (error.type SHOULD have low cardinality). Callers that need
+// finer-grained error distinctions should inspect the error themselves.
+func (HTTPClient) ErrorType(err error) attribute.KeyValue {
+ t := reflect.TypeOf(err)
+ if t == nil {
+ return semconv.ErrorTypeOther
+ }
+ if t.Kind() == reflect.Pointer {
+ t = t.Elem()
+ }
+ var value string
+ if t.PkgPath() == "" || t.Name() == "" {
+ // t.PkgPath() == "" covers builtin and unnamed types.
+ // t.Name() == "" covers anonymous struct types that implement error,
+ // which are uncommon but possible. Fall back to t.String() for both.
+ value = t.String()
+ } else {
+ value = fmt.Sprintf("%s.%s", t.PkgPath(), t.Name())
+ }
+
+ if value == "" {
+ return semconv.ErrorTypeOther
+ }
+
+ return semconv.ErrorTypeKey.String(value)
+}
+
func (n HTTPClient) RecordMetrics(ctx context.Context, md MetricData, opts MetricOpts) {
recordOpts := metricRecordOptionPool.Get().(*[]metric.RecordOption)
defer func() {
@@ -270,13 +337,13 @@ func (n HTTPClient) RecordMetrics(ctx context.Context, md MetricData, opts Metri
}
// TraceAttributes returns attributes for httptrace.
-func (n HTTPClient) TraceAttributes(host string) []attribute.KeyValue {
+func (HTTPClient) TraceAttributes(host string) []attribute.KeyValue {
return []attribute.KeyValue{
semconv.ServerAddress(host),
}
}
-func (n HTTPClient) scheme(req *http.Request) attribute.KeyValue {
+func (HTTPClient) scheme(req *http.Request) attribute.KeyValue {
if req.URL != nil && req.URL.Scheme != "" {
return semconv.URLScheme(req.URL.Scheme)
}
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/gen.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/gen.go
index a8a0d58df..fbcd4f6b2 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/gen.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/gen.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package semconv // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv"
+package semconv
// Generate semconv package:
//go:generate gotmpl --body=../../../../../../internal/shared/semconv/bench_test.go.tmpl "--data={ \"pkg\": \"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp\" }" --out=bench_test.go
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/server.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/server.go
index 83c6ae246..35e744e41 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/server.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/server.go
@@ -1,12 +1,12 @@
-// Code generated by gotmpl. DO NOT MODIFY.
-// source: internal/shared/semconv/server.go.tmpl
-
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// DO NOT MODIFY. Generated by gotmpl.
+// source: internal/shared/semconv/server.go.tmpl
+
// Package semconv provides OpenTelemetry semantic convention types and
// functionality.
-package semconv // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv"
+package semconv
import (
"context"
@@ -20,8 +20,8 @@ import (
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/codes"
"go.opentelemetry.io/otel/metric"
- "go.opentelemetry.io/otel/semconv/v1.40.0"
- "go.opentelemetry.io/otel/semconv/v1.40.0/httpconv"
+ semconv "go.opentelemetry.io/otel/semconv/v1.43.0"
+ "go.opentelemetry.io/otel/semconv/v1.43.0/httpconv"
)
type RequestTraceAttrsOpts struct {
@@ -67,7 +67,7 @@ func NewHTTPServer(meter metric.Meter) HTTPServer {
// Status returns a span status code and message for an HTTP status code
// value returned by a server. Status codes in the 400-499 range are not
// returned as errors.
-func (n HTTPServer) Status(code int) (codes.Code, string) {
+func (HTTPServer) Status(code int) (codes.Code, string) {
if code < 100 || code >= 600 {
return codes.Error, fmt.Sprintf("Invalid HTTP status code %d", code)
}
@@ -168,7 +168,8 @@ func (n HTTPServer) RequestTraceAttrs(server string, req *http.Request, opts Req
}
attrs := make([]attribute.KeyValue, 0, count)
- attrs = append(attrs,
+ attrs = append(
+ attrs,
semconv.ServerAddress(host),
method,
scheme,
@@ -216,7 +217,7 @@ func (n HTTPServer) RequestTraceAttrs(server string, req *http.Request, opts Req
return attrs
}
-func (s HTTPServer) NetworkTransportAttr(network string) []attribute.KeyValue {
+func (HTTPServer) NetworkTransportAttr(network string) []attribute.KeyValue {
attr := semconv.NetworkTransportPipe
switch network {
case "tcp", "tcp4", "tcp6":
@@ -239,10 +240,15 @@ type ServerMetricData struct {
}
type MetricAttributes struct {
- Req *http.Request
+ Req *http.Request
+ // Resp is the client response, if any. It is only consulted by
+ // HTTPClient.MetricAttributes to source the negotiated protocol version;
+ // server-side metric recording ignores it.
+ Resp *http.Response
StatusCode int
Route string
AdditionalAttributes []attribute.KeyValue
+ Err error
}
type MetricData struct {
@@ -250,13 +256,11 @@ type MetricData struct {
RequestDuration time.Duration
}
-var (
- metricRecordOptionPool = &sync.Pool{
- New: func() any {
- return &[]metric.RecordOption{}
- },
- }
-)
+var metricRecordOptionPool = &sync.Pool{
+ New: func() any {
+ return &[]metric.RecordOption{}
+ },
+}
func (n HTTPServer) RecordMetrics(ctx context.Context, md ServerMetricData) {
attributes := n.MetricAttributes(md.ServerName, md.Req, md.StatusCode, md.Route, md.AdditionalAttributes)
@@ -270,9 +274,27 @@ func (n HTTPServer) RecordMetrics(ctx context.Context, md ServerMetricData) {
metricRecordOptionPool.Put(recordOpts)
}
-func (n HTTPServer) method(method string) (attribute.KeyValue, attribute.KeyValue) {
+// SpanName returns the span name for an HTTP request following the
+// OpenTelemetry HTTP semantic conventions.
+// It returns "{method} {route}" when the request has a pattern,
+// or just "{method}" when no route is available.
+// Non-standard HTTP methods are replaced by "HTTP".
+func (HTTPServer) SpanName(r *http.Request) string {
+ method := strings.ToUpper(r.Method)
+ if _, ok := methodLookup[method]; !ok {
+ method = "HTTP"
+ }
+
+ route := httpRoute(r.Pattern)
+ if route != "" {
+ return method + " " + route
+ }
+ return method
+}
+
+func (HTTPServer) method(method string) (attribute.KeyValue, attribute.KeyValue) {
if method == "" {
- return semconv.HTTPRequestMethodGet, attribute.KeyValue{}
+ return semconv.HTTPRequestMethodOther, attribute.KeyValue{}
}
if attr, ok := methodLookup[method]; ok {
return attr, attribute.KeyValue{}
@@ -282,7 +304,7 @@ func (n HTTPServer) method(method string) (attribute.KeyValue, attribute.KeyValu
if attr, ok := methodLookup[strings.ToUpper(method)]; ok {
return attr, orig
}
- return semconv.HTTPRequestMethodGet, orig
+ return semconv.HTTPRequestMethodOther, orig
}
func (n HTTPServer) scheme(https bool) attribute.KeyValue { //nolint:revive // ignore linter
@@ -297,7 +319,7 @@ func (n HTTPServer) scheme(https bool) attribute.KeyValue { //nolint:revive // i
//
// If any of the fields in the ResponseTelemetry are not set the attribute will
// be omitted.
-func (n HTTPServer) ResponseTraceAttrs(resp ResponseTelemetry) []attribute.KeyValue {
+func (HTTPServer) ResponseTraceAttrs(resp ResponseTelemetry) []attribute.KeyValue {
var count int
if resp.ReadBytes > 0 {
@@ -313,17 +335,20 @@ func (n HTTPServer) ResponseTraceAttrs(resp ResponseTelemetry) []attribute.KeyVa
attributes := make([]attribute.KeyValue, 0, count)
if resp.ReadBytes > 0 {
- attributes = append(attributes,
+ attributes = append(
+ attributes,
semconv.HTTPRequestBodySize(int(resp.ReadBytes)),
)
}
if resp.WriteBytes > 0 {
- attributes = append(attributes,
+ attributes = append(
+ attributes,
semconv.HTTPResponseBodySize(int(resp.WriteBytes)),
)
}
if resp.StatusCode > 0 {
- attributes = append(attributes,
+ attributes = append(
+ attributes,
semconv.HTTPResponseStatusCode(resp.StatusCode),
)
}
@@ -332,7 +357,7 @@ func (n HTTPServer) ResponseTraceAttrs(resp ResponseTelemetry) []attribute.KeyVa
}
// Route returns the attribute for the route.
-func (n HTTPServer) Route(route string) attribute.KeyValue {
+func (HTTPServer) Route(route string) attribute.KeyValue {
return semconv.HTTPRoute(route)
}
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go
index 2eab2ecab..1ec064b1d 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go
@@ -1,10 +1,10 @@
-// Code generated by gotmpl. DO NOT MODIFY.
-// source: internal/shared/semconv/util.go.tmpl
-
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package semconv // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv"
+// DO NOT MODIFY. Generated by gotmpl.
+// source: internal/shared/semconv/util.go.tmpl
+
+package semconv
import (
"net"
@@ -15,7 +15,7 @@ import (
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/attribute"
- semconvNew "go.opentelemetry.io/otel/semconv/v1.40.0"
+ semconvNew "go.opentelemetry.io/otel/semconv/v1.43.0"
)
// SplitHostPort splits a network address hostport of the form "host",
@@ -32,29 +32,27 @@ func SplitHostPort(hostport string) (host string, port int) {
addrEnd := strings.LastIndexByte(hostport, ']')
if addrEnd < 0 {
// Invalid hostport.
- return
+ return host, port
}
if i := strings.LastIndexByte(hostport[addrEnd:], ':'); i < 0 {
host = hostport[1:addrEnd]
- return
- }
- } else {
- if i := strings.LastIndexByte(hostport, ':'); i < 0 {
- host = hostport
- return
+ return host, port
}
+ } else if !strings.Contains(hostport, ":") {
+ host = hostport
+ return host, port
}
host, pStr, err := net.SplitHostPort(hostport)
if err != nil {
- return
+ return host, port
}
p, err := strconv.ParseUint(pStr, 10, 16)
if err != nil {
- return
+ return host, port
}
- return host, int(p) //nolint:gosec // Byte size checked 16 above.
+ return host, int(p)
}
func requiredHTTPPort(https bool, port int) int { //nolint:revive // ignore linter
@@ -84,7 +82,7 @@ func httpRoute(pattern string) string {
return ""
}
-func netProtocol(proto string) (name string, version string) {
+func netProtocol(proto string) (name, version string) {
name, version, _ = strings.Cut(proto, "/")
switch name {
case "HTTP":
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/labeler.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/labeler.go
index d62ce44b0..3c0fa99a2 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/labeler.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/labeler.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
+package otelhttp
import (
"context"
@@ -56,3 +56,27 @@ func LabelerFromContext(ctx context.Context) (*Labeler, bool) {
}
return l, ok
}
+
+// clientLabelerContextKey is a separate context key for the client-side Labeler.
+// This prevents server-side Labeler attributes (e.g., http.route) from leaking
+// into client-side metrics when a server handler propagates its request context
+// into an outbound HTTP client request.
+const clientLabelerContextKey labelerContextKeyType = 1
+
+// ContextWithClientLabeler returns a new context with the provided Labeler instance
+// for use with client-side HTTP instrumentation (otelhttp.Transport).
+// Attributes added to this labeler will be attached to client-side metrics.
+func ContextWithClientLabeler(parent context.Context, l *Labeler) context.Context {
+ return context.WithValue(parent, clientLabelerContextKey, l)
+}
+
+// ClientLabelerFromContext retrieves a Labeler instance from the provided context
+// for use with client-side HTTP instrumentation. If no Labeler was found, a new,
+// empty Labeler is returned and the second return value is false.
+func ClientLabelerFromContext(ctx context.Context) (*Labeler, bool) {
+ l, ok := ctx.Value(clientLabelerContextKey).(*Labeler)
+ if !ok {
+ l = &Labeler{}
+ }
+ return l, ok
+}
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/start_time_context.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/start_time_context.go
index 9476ef01b..9b6c0a889 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/start_time_context.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/start_time_context.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
+package otelhttp
import (
"context"
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go
index d8d204d1f..22bbcc737 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go
@@ -1,13 +1,15 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
+package otelhttp
import (
"context"
+ "fmt"
"io"
"net/http"
"net/http/httptrace"
+ "sync"
"sync/atomic"
"time"
@@ -15,10 +17,9 @@ import (
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/codes"
"go.opentelemetry.io/otel/propagation"
- otelsemconv "go.opentelemetry.io/otel/semconv/v1.40.0"
+ otelsemconv "go.opentelemetry.io/otel/semconv/v1.43.0"
"go.opentelemetry.io/otel/trace"
- "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request"
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv"
)
@@ -81,6 +82,142 @@ func defaultTransportFormatter(_ string, r *http.Request) string {
return "HTTP " + r.Method
}
+// requestTracker tracks the request body lifecycle of a single RoundTrip and
+// records the client metrics exactly once, after the request body reaches a
+// final state.
+//
+// A single tracker is allocated per request with a body, replacing the
+// body-wrapper allocation of the untracked implementation: the first request
+// body is wrapped by the embedded first field, and the lifecycle state is
+// held in explicit fields with methods instead of escaping closures. Only
+// GetBody retries allocate an additional trackedRequestBody.
+type requestTracker struct {
+ transport *Transport
+ first trackedRequestBody
+
+ originalGetBody func() (io.ReadCloser, error)
+
+ // mu protects body, published, and recorded. Body close callbacks may
+ // fire on a different goroutine (e.g. during transport retries or
+ // asynchronous closes) while the main goroutine publishes the metric
+ // data after RoundTrip returns.
+ mu sync.Mutex
+ body *trackedRequestBody // Last wrapped request body; nil records no data.
+ published bool
+ recorded bool
+
+ // Metric data published when RoundTrip returns; immutable afterwards.
+ ctx context.Context
+ duration time.Duration
+ opts semconv.MetricOpts
+}
+
+func newRequestTracker(t *Transport, r *http.Request) *requestTracker {
+ rt := &requestTracker{transport: t}
+ rt.first = trackedRequestBody{body: r.Body, tracker: rt}
+ rt.body = &rt.first
+ r.Body = &rt.first
+ if r.GetBody != nil {
+ rt.originalGetBody = r.GetBody
+ r.GetBody = rt.getBody
+ }
+ return rt
+}
+
+func (rt *requestTracker) getBody() (io.ReadCloser, error) {
+ b, err := rt.originalGetBody()
+ if err != nil {
+ // The underlying transport will fail to make a retry request,
+ // hence, record no data.
+ rt.setBody(nil)
+ return nil, err
+ }
+ if b == nil || b == http.NoBody {
+ return b, nil
+ }
+ tb := &trackedRequestBody{body: b, tracker: rt}
+ rt.setBody(tb)
+ return tb, nil
+}
+
+func (rt *requestTracker) setBody(b *trackedRequestBody) {
+ rt.mu.Lock()
+ rt.body = b
+ rt.mu.Unlock()
+}
+
+// publish stores the metric data gathered when RoundTrip returns and records
+// the metrics if the request body already reached a final state.
+func (rt *requestTracker) publish(ctx context.Context, d time.Duration, opts semconv.MetricOpts) {
+ rt.mu.Lock()
+ rt.ctx = ctx
+ rt.duration = d
+ rt.opts = opts
+ rt.published = true
+ rt.mu.Unlock()
+ rt.maybeRecord()
+}
+
+// maybeRecord records the client metrics once the metric data has been
+// published and the request body has reached a final state. Close is the
+// only authoritative completion signal for a non-nil body: a body may yield
+// more bytes than its declared ContentLength, so a read count is never proof
+// of completion.
+func (rt *requestTracker) maybeRecord() {
+ rt.mu.Lock()
+ body := rt.body
+ record := rt.published && !rt.recorded && (body == nil || body.closed.Load())
+ if record {
+ rt.recorded = true
+ }
+ rt.mu.Unlock()
+ if !record {
+ return
+ }
+
+ // The winning caller evaluates the request size here so the recorded
+ // value reflects the latest byte count.
+ var requestSize int64
+ if body != nil {
+ requestSize = body.read.Load()
+ }
+ rt.transport.semconv.RecordMetrics(
+ rt.ctx,
+ semconv.MetricData{
+ RequestSize: requestSize,
+ RequestDuration: rt.duration,
+ },
+ rt.opts,
+ )
+}
+
+// trackedRequestBody wraps a request body to count read bytes and signal the
+// tracker when the body is closed.
+type trackedRequestBody struct {
+ body io.ReadCloser
+ tracker *requestTracker
+
+ read atomic.Int64
+ closed atomic.Bool
+}
+
+var _ io.ReadCloser = (*trackedRequestBody)(nil)
+
+func (b *trackedRequestBody) Read(p []byte) (int, error) {
+ n, err := b.body.Read(p)
+ b.read.Add(int64(n))
+ return n, err
+}
+
+func (b *trackedRequestBody) Close() error {
+ // Finalize telemetry before delegating to the underlying Close, which
+ // may block (mirroring wrappedBody.Close). Otherwise a blocking close
+ // could suppress client metrics indefinitely.
+ b.closed.Store(true)
+ b.tracker.maybeRecord()
+ return b.body.Close()
+}
+
// RoundTrip creates a Span and propagates its context via the provided request's headers
// before handing the request to the configured base RoundTripper. The created span will
// end when the response body is closed or when a read from the body returns io.EOF.
@@ -109,61 +246,56 @@ func (t *Transport) RoundTrip(r *http.Request) (*http.Response, error) {
ctx = httptrace.WithClientTrace(ctx, t.clientTrace(ctx))
}
- labeler, found := LabelerFromContext(ctx)
+ labeler, found := ClientLabelerFromContext(ctx)
if !found {
- ctx = ContextWithLabeler(ctx, labeler)
+ ctx = ContextWithClientLabeler(ctx, labeler)
}
r = r.Clone(ctx) // According to RoundTripper spec, we shouldn't modify the origin request.
- var lastBW *request.BodyWrapper // Records the last body wrapper. Can be nil.
- maybeWrapBody := func(body io.ReadCloser) io.ReadCloser {
- if body == nil || body == http.NoBody {
- return body
- }
- bw := request.NewBodyWrapper(body, func(int64) {})
- lastBW = bw
- return bw
- }
- r.Body = maybeWrapBody(r.Body)
- if r.GetBody != nil {
- originalGetBody := r.GetBody
- r.GetBody = func() (io.ReadCloser, error) {
- b, err := originalGetBody()
- if err != nil {
- lastBW = nil // The underlying transport will fail to make a retry request, hence, record no data.
- return nil, err
- }
- return maybeWrapBody(b), nil
- }
+ // Track the request body lifecycle so metrics report the final read
+ // size even when the transport keeps reading the body after RoundTrip
+ // returns. Bodyless requests allocate no tracker and record
+ // synchronously below.
+ var tracker *requestTracker
+ if r.Body != nil && r.Body != http.NoBody {
+ tracker = newRequestTracker(t, r)
}
span.SetAttributes(t.semconv.RequestTraceAttrs(r)...)
t.propagators.Inject(ctx, propagation.HeaderCarrier(r.Header))
res, err := t.rt.RoundTrip(r)
+ if err == nil {
+ res, err = ensureResponseBody(t.rt, r, res)
+ }
- // Record the metrics on error or no error.
+ requestDuration := time.Since(requestStartTime)
statusCode := 0
if err == nil {
statusCode = res.StatusCode
}
- var requestSize int64
- if lastBW != nil {
- requestSize = lastBW.BytesRead()
+ metricOpts := t.semconv.MetricOptions(semconv.MetricAttributes{
+ Req: r,
+ Resp: res,
+ StatusCode: statusCode,
+ Err: err,
+ AdditionalAttributes: append(labeler.Get(), t.metricAttributesFromRequest(r)...),
+ })
+
+ if tracker != nil {
+ // Delay metric recording until the request body reaches a final
+ // state. The transport can continue reading the body after
+ // RoundTrip returns, including on errors, since RoundTrippers may
+ // close the request body asynchronously.
+ tracker.publish(ctx, requestDuration, metricOpts)
+ } else {
+ t.semconv.RecordMetrics(
+ ctx,
+ semconv.MetricData{RequestDuration: requestDuration},
+ metricOpts,
+ )
}
- t.semconv.RecordMetrics(
- ctx,
- semconv.MetricData{
- RequestSize: requestSize,
- RequestDuration: time.Since(requestStartTime),
- },
- t.semconv.MetricOptions(semconv.MetricAttributes{
- Req: r,
- StatusCode: statusCode,
- AdditionalAttributes: append(labeler.Get(), t.metricAttributesFromRequest(r)...),
- }),
- )
if err != nil {
span.SetAttributes(otelsemconv.ErrorType(err))
@@ -182,6 +314,20 @@ func (t *Transport) RoundTrip(r *http.Request) (*http.Response, error) {
return res, nil
}
+func ensureResponseBody(rt http.RoundTripper, r *http.Request, res *http.Response) (*http.Response, error) {
+ switch {
+ case res == nil:
+ return nil, fmt.Errorf("http: RoundTripper implementation (%T) returned a nil *Response with a nil error", rt)
+ case res.Body != nil:
+ return res, nil
+ case res.ContentLength > 0 && r.Method != http.MethodHead:
+ return nil, fmt.Errorf("http: RoundTripper implementation (%T) returned a *Response with content length %d but a nil Body", rt, res.ContentLength)
+ default:
+ res.Body = http.NoBody
+ return res, nil
+ }
+}
+
func (t *Transport) metricAttributesFromRequest(r *http.Request) []attribute.KeyValue {
var attributeForRequest []attribute.KeyValue
if t.metricAttributesFn != nil {
@@ -243,8 +389,7 @@ func (wb *wrappedBody) Read(b []byte) (int, error) {
case nil:
// nothing to do here but fall through to the return
case io.EOF:
- wb.recordBytesRead()
- wb.span.End()
+ wb.recordMetricsOnce()
default:
wb.span.SetAttributes(otelsemconv.ErrorType(err))
wb.span.SetStatus(codes.Error, err.Error())
@@ -252,21 +397,24 @@ func (wb *wrappedBody) Read(b []byte) (int, error) {
return n, err
}
-// recordBytesRead is a function that ensures the number of bytes read is recorded once and only once.
-func (wb *wrappedBody) recordBytesRead() {
- // note: it is more performant (and equally correct) to use atomic.Bool over sync.Once here. In the event that
- // two goroutines are racing to call this method, the number of bytes read will no longer increase. Using
- // CompareAndSwap allows later goroutines to return quickly and not block waiting for the race winner to finish
- // calling wb.record(wb.read.Load()).
+// recordMetricsOnce ensures the final number of bytes read is recorded once.
+func (wb *wrappedBody) recordMetricsOnce() {
+ // note: it is more performant (and equally correct) to use atomic.Bool
+ // over sync.Once here. In the event that two goroutines are racing to
+ // call this method, the number of bytes read will no longer increase.
+ // Using CompareAndSwap allows later goroutines to return quickly and not
+ // block waiting for the race winner to finish calling
+ // wb.record(wb.read.Load()).
if wb.recorded.CompareAndSwap(false, true) {
- // Record the total number of bytes read
wb.record(wb.read.Load())
+ wb.span.End()
}
}
func (wb *wrappedBody) Close() error {
- wb.recordBytesRead()
- wb.span.End()
+ // Finalize telemetry before delegating to the underlying Close, which
+ // may block (e.g. upgraded streams or custom RoundTripper bodies).
+ wb.recordMetricsOnce()
if wb.body != nil {
return wb.body.Close()
}
diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go
index 835ec5aa7..05267f2fd 100644
--- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go
+++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
+package otelhttp
// Version is the current release version of the otelhttp instrumentation.
-const Version = "0.68.0"
+const Version = "0.72.0"
diff --git a/vendor/go.opentelemetry.io/otel/.golangci.yml b/vendor/go.opentelemetry.io/otel/.golangci.yml
index db1f55101..1fef8520b 100644
--- a/vendor/go.opentelemetry.io/otel/.golangci.yml
+++ b/vendor/go.opentelemetry.io/otel/.golangci.yml
@@ -96,9 +96,9 @@ linters:
- "!**/exporters/zipkin/**"
deny:
- pkg: go.opentelemetry.io/otel/semconv
- desc: "Use go.opentelemetry.io/otel/semconv/v1.40.0 instead. If a newer semconv version has been released, update the depguard rule."
+ desc: "Use go.opentelemetry.io/otel/semconv/v1.43.0 instead. If a newer semconv version has been released, update the depguard rule."
allow:
- - go.opentelemetry.io/otel/semconv/v1.40.0
+ - go.opentelemetry.io/otel/semconv/v1.43.0
gocritic:
disabled-checks:
- appendAssign
@@ -134,14 +134,16 @@ linters:
strconcat: true
revive:
confidence: 0.01
+ enable-all-rules: false
+ enable-default-rules: true
+ max-open-files: 2048
rules:
- name: blank-imports
- name: bool-literal-in-expr
- name: constant-logical-expr
- name: context-as-argument
arguments:
- - allowTypesBefore: '*testing.T'
- disabled: true
+ - allow-types-before: '*testing.T,*testing.B'
- name: context-keys-type
- name: deep-exit
- name: defer
@@ -152,7 +154,7 @@ linters:
- name: duplicated-imports
- name: early-return
arguments:
- - preserveScope
+ - preserve-scope
- name: empty-block
- name: empty-lines
- name: error-naming
@@ -161,7 +163,7 @@ linters:
- name: errorf
- name: exported
arguments:
- - sayRepetitiveInsteadOfStutters
+ - say-repetitive-instead-of-stutters
- name: flag-parameter
- name: identical-branches
- name: if-return
@@ -169,11 +171,12 @@ linters:
- name: increment-decrement
- name: indent-error-flow
arguments:
- - preserveScope
+ - preserve-scope
- name: package-comments
- name: range
- name: range-val-in-closure
- name: range-val-address
+ - name: receiver-naming
- name: redefines-builtin-id
- name: string-format
arguments:
@@ -183,7 +186,7 @@ linters:
- name: struct-tag
- name: superfluous-else
arguments:
- - preserveScope
+ - preserve-scope
- name: time-equal
- name: unconditional-recursion
- name: unexported-return
@@ -227,13 +230,6 @@ linters:
- revive
path: schema/v.*/types/.*
text: avoid meaningless package names
- # TODO: Having appropriate comments for exported objects helps development,
- # even for objects in internal packages. Appropriate comments for all
- # exported objects should be added and this exclusion removed.
- - linters:
- - revive
- path: .*internal/.*
- text: exported (method|function|type|const) (.+) should have comment or be unexported
# Yes, they are, but it's okay in a test.
- linters:
- revive
@@ -269,7 +265,10 @@ formatters:
- golines
settings:
gofumpt:
- extra-rules: true
+ extra:
+ group-params: true
+ clothe-returns: true
+ balance-calls: true
goimports:
local-prefixes:
- go.opentelemetry.io/otel
diff --git a/vendor/go.opentelemetry.io/otel/.lycheeignore b/vendor/go.opentelemetry.io/otel/.lycheeignore
index 994b677df..df0d328bf 100644
--- a/vendor/go.opentelemetry.io/otel/.lycheeignore
+++ b/vendor/go.opentelemetry.io/otel/.lycheeignore
@@ -11,3 +11,17 @@ http://4.3.2.1:78/user/123
file:///home/runner/work/opentelemetry-go/opentelemetry-go/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/dns:/:4317
# URL works, but it has blocked link checkers.
https://dl.acm.org/doi/10.1145/198429.198435
+https://pkg.go.dev/google.golang.org/grpc.*internal/resolver
+https://golang.org/src/crypto/tls/generate_cert.go
+https://github.com/grpc/grpc/blob/.*/doc/naming.md
+https://github.com/open-telemetry/opentelemetry-specification/blob/.*
+# Fake domains used in otlp options_test.go tests
+https?://env\.endpoint.*
+https?://env\.metrics\.endpoint.*
+https?://env_metrics_endpoint.*
+https?://env\.traces\.endpoint.*
+https?://env_traces_endpoint.*
+https?://someendpoint.*
+https?://overrode\.by\.signal\.specific.*
+https?://overrode_by_signal_specific.*
+https?://proxy\.com.*
diff --git a/vendor/go.opentelemetry.io/otel/AGENTS.md b/vendor/go.opentelemetry.io/otel/AGENTS.md
new file mode 100644
index 000000000..02db71528
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/AGENTS.md
@@ -0,0 +1,112 @@
+# Agent Guide for opentelemetry-go
+
+This file contains active, task-oriented instructions for autonomous and semi-autonomous coding agents working in this repository.
+
+Before starting any task, read `.github/copilot-instructions.md`, `CONTRIBUTING.md`, and this file.
+Treat `.github/copilot-instructions.md` as global passive guidance for every task, including docs-only and review-only work.
+
+## Core expectations
+
+- Preserve OpenTelemetry specification compliance, API stability, and idiomatic Go.
+- Prefer minimal, surgical changes over broad refactors or speculative cleanup.
+- Read the package you are editing and match its existing naming, option types, error handling, comments, tests, and concurrency patterns.
+- Keep public APIs backward compatible unless the task explicitly requires a breaking change.
+- Keep telemetry resilient and loosely coupled. Do not introduce behavior that can unexpectedly interfere with host applications.
+- Inspect boundaries carefully: input validation, resource limits, cancellation, shutdown, error propagation, concurrency, and memory growth.
+- Prefer fail-safe behavior and explicit invariants over implicit assumptions.
+- Keep dependencies minimal and justified.
+- Preserve host-application safety: telemetry should not panic, block indefinitely, or amplify attacker-controlled input.
+- Be conservative on hot paths. Avoid unnecessary allocations, reflection, interface churn, blocking, global state, and high-cardinality telemetry.
+- Write comments only for intent, invariants, and non-obvious constraints. Do not add comments that restate the code.
+
+## Default workflow
+
+For new features and behavior changes, use this order unless the task explicitly says otherwise:
+
+1. Read the relevant package, its tests, and any package docs or `README.md`.
+2. Add or update a failing unit test that captures the required behavior or regression.
+3. Implement the smallest change that makes the test pass.
+4. Refactor only after the behavior is locked in, and only if the refactor keeps the diff focused.
+5. If the changed code is on a hot path or performance-sensitive, inspect existing benchmarks and run them. Add a benchmark if coverage is missing.
+6. Update documentation artifacts as needed while the context is fresh. Follow the documentation and changelog conventions below for the specific updates required.
+7. Run `make precommit` each time before considering the work complete.
+
+For docs-only, test-only, or review-only tasks, still start with the required repository guidance above, then skip the workflow steps that do not apply while keeping the same discipline around scope, verification, and repository conventions.
+
+## Verification
+
+- Use `make` as the canonical repository verification command. The default target is `precommit`.
+- `make precommit` is the expected final verification step for linting, generation, README checks, module checks, and tests.
+- During iteration, targeted commands are fine for fast feedback, but do not stop there if the task changes code.
+- If you touch performance-sensitive code, run focused benchmarks and compare the results using `benchstat` in addition to `make`.
+
+## Documentation and changelog
+
+- Non-internal, non-test packages should have Go doc comments, usually in `doc.go`.
+- Non-internal, non-test, non-documentation packages should also have a `README.md` with at least a title and a `pkg.go.dev` badge.
+- Prefer examples over long code snippets in GoDoc when practical.
+- Keep docs aligned with actual behavior. Do not leave stale comments, stale examples, or stale package documentation behind.
+- For user-visible changes, update `CHANGELOG.md` under the appropriate `Added`, `Changed`, `Deprecated`, `Fixed`, or `Removed` section within `## [Unreleased]`.
+ - Always put the PR number at the end of the line (e.g., `(#1234)`), NOT the issue number.
+ - If the PR number is not yet known, omit it until the PR is created, then update the changelog entry before merging.
+ - Always use references to the go module that is updated (e.g., `go.opentelemetry.io/otel/sdk/metric`), instead of just the path (e.g., `sdk/metric`).
+
+## Repository habits
+
+- Prefer focused diffs. Avoid drive-by cleanup.
+- Follow existing option patterns and exported API conventions instead of inventing new abstractions.
+- Generated files are checked in. If your change affects generation, keep generated output up to date.
+- Prefer fast local search tools such as `rg` when exploring the repository.
+- When changing behavior, make the invariants explicit in tests.
+
+## Personas
+
+### Feature Agent
+
+Use this persona for new behavior, new API surface, or spec-driven feature work.
+
+- Start with a failing unit test.
+- Confirm the expected behavior against the spec, existing package behavior, and public API compatibility.
+- Implement the smallest viable change.
+- Update GoDoc, examples, `README.md`, and `CHANGELOG.md` when the change is user-visible.
+- If the feature touches a hot path, check benchmarks and add one if the coverage is missing.
+
+### Refactoring Agent
+
+Use this persona when improving structure without intentionally changing behavior.
+
+- Treat behavior preservation as the default contract.
+- Add or tighten tests before moving code if current behavior is not already pinned down.
+- Avoid broad rewrites, clever abstractions, or package-wide cleanup unless explicitly requested.
+- If a refactor touches a hot path, benchmark before and after.
+- Keep API shape, semantics, concurrency guarantees, and failure modes unchanged unless the task says otherwise.
+
+### Test Agent
+
+Use this persona when adding missing coverage, reproducing bugs, or hardening regressions.
+
+- Reproduce the bug or missing behavior with the smallest failing test you can.
+- Prefer testing public behavior and externally visible invariants.
+- Add targeted regression tests before changing production code.
+- Only change production code when it is required to make the tested behavior correct or testable.
+- Keep tests deterministic, readable, and aligned with package patterns.
+
+### Performance Agent
+
+Use this persona for hot-path work, allocation reduction, or throughput and latency improvements.
+
+- Benchmark first to establish a baseline.
+- Prefer changes that reduce allocations, copying, interface churn, and unnecessary synchronization.
+- Do not trade away correctness, spec compliance, or API stability for micro-optimizations.
+- Add or update benchmarks when performance-sensitive coverage is missing.
+- If you materially change a hot path, capture before-and-after results, preferably with `benchstat`.
+
+### Review Agent
+
+Use this persona when asked to review code, patches, or pull requests.
+
+- Lead with findings, not summaries.
+- Order findings by severity and include precise file and line references when available.
+- Focus on correctness, spec compliance, API compatibility, concurrency safety, resilience, performance regressions, missing tests, missing benchmarks, documentation gaps, and changelog gaps.
+- Call out when a diff is broader than necessary.
+- If you find no issues, say that explicitly and note any residual risks or verification gaps.
diff --git a/vendor/go.opentelemetry.io/otel/CHANGELOG.md b/vendor/go.opentelemetry.io/otel/CHANGELOG.md
index 20edda441..18903c889 100644
--- a/vendor/go.opentelemetry.io/otel/CHANGELOG.md
+++ b/vendor/go.opentelemetry.io/otel/CHANGELOG.md
@@ -11,6 +11,284 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
+## [1.47.0/0.69.0/0.23.0/0.1.0] - 2026-10-02
+
+This release contains the first stable release of the OpenTelemetry Go Logs API and SDK.
+Our project stability guarantees now apply to the following modules:
+
+- `go.opentelemetry.io/otel/log`
+- `go.opentelemetry.io/otel/sdk/log`
+
+See our [versioning policy](VERSIONING.md) for more information about these stability guarantees.
+
+### Added
+
+- Add `String` method for `KeyValue` type in `go.opentelemetry.io/otel/attribute`. (#8205)
+- Add `String` method for `Set` type in `go.opentelemetry.io/otel/attribute`. (#8347)
+- Add `WithMaxExportBatchSize` to `go.opentelemetry.io/otel/sdk/metric` to configure the maximum export batch size for `PeriodicReader`. (#8960)
+- Add `WithAttributeValueDepthLimit`, `DefaultAttributeValueDepthLimit`, and `SpanLimits.AttributeValueDepthLimit` in `go.opentelemetry.io/otel/sdk/trace` to configure the maximum depth of span, event, link, and instrumentation scope attribute values. (#8938)
+- Add `WithAttributeValueDepthLimit` in `go.opentelemetry.io/otel/sdk/log` to configure the maximum depth of log record and instrumentation scope attribute values. (#8938)
+- Add `WithMaxResponseSize` to `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`,
+ `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and
+ `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8941)
+- Add experimental `ProbabilitySampler` in `go.opentelemetry.io/otel/sdk/trace/x` that conforms to the [OpenTelemetry specification's threshold-based sampling algorithm](https://opentelemetry.io/docs/specs/otel/trace/sdk/#probabilitysampler). (#8123)
+- Add experimental `*Binder` extension interfaces in `go.opentelemetry.io/otel/metric/x` for instruments that support binding attributes ahead of time. (#8760)
+- Add the experimental `Finisher` synchronous metric instrument extension interface to `go.opentelemetry.io/otel/metric/x`. (#8906)
+
+### Changed
+
+- Use the [OpenTelemetry Attribute Collection representation for non-OTLP protocols](https://opentelemetry.io/docs/specs/otel/common/#attribute-collection-representation-for-non-otlp) for metric data diffs in `go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest`. (#8993)
+- Apply a maximum depth of 64 by default to span, event, link, log record, and instrumentation scope attribute values in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log`. (#8938)
+- Reduce allocations when applying attribute value length limits in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log` by rebuilding composite values only when truncation is needed. (#8912)
+- Decode `traceparent` using a hex lookup table in `go.opentelemetry.io/otel/propagation`, which rejects the specification-disallowed upper-case characters without a separate scan of the header. (#8739)
+- Decode all characters at constant indices in `TraceIDFromHex` and `SpanIDFromHex` in `go.opentelemetry.io/otel/trace` to eliminate bounds checks. (#8740)
+
+### Fixed
+
+- Count valid U+FFFD replacement characters toward attribute value length limits in `go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/sdk/trace`, and `go.opentelemetry.io/otel/sdk/log`.
+- Truncate string attribute values to empty strings when the configured length limit is zero, including malformed UTF-8, in `go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/sdk/trace`, and `go.opentelemetry.io/otel/sdk/log`. (#9054)
+- Fix a data race in `NewPeriodicReader` where `r.inst` was assigned after the background goroutine was launched in `go.opentelemetry.io/otel/sdk/metric`. (#9028)
+- Prevent precision loss for large `int64` values in `Sum`, `Histogram`, and `ExponentialHistogram` aggregations in `go.opentelemetry.io/otel/sdk/metric`. (#8981)
+- Ensure `grpc.DialOption` values passed via `WithDialOption` take precedence over conflicting internally-computed defaults in
+ `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`,
+ `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`, and
+ `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#8805, #8834, #8836)
+- Treat overflowing `OTEL_METRIC_EXPORT_INTERVAL` and `OTEL_METRIC_EXPORT_TIMEOUT` values as invalid in `go.opentelemetry.io/otel/sdk/metric`. (#8800)
+- Prevent a panic in `NewFixedSizeReservoir` and `FixedSizeReservoirProvider` when given a negative size in `go.opentelemetry.io/otel/sdk/metric/exemplar`; negative sizes are now clamped to zero, consistent with a size of zero. (#8832)
+- Preserve exponential histogram `ZeroThreshold` during OTLP metric export in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8801)
+- Ensure metric helpers in `go.opentelemetry.io/otel/semconv/v1.32.0`, `go.opentelemetry.io/otel/semconv/v1.33.0`, and `go.opentelemetry.io/otel/semconv/v1.34.0` record measurements only once when no attributes are provided. (#8849)
+- Treat empty `OTEL_TRACES_SAMPLER` and `OTEL_TRACES_SAMPLER_ARG` values as unset in `go.opentelemetry.io/otel/sdk/trace`. (#8873)
+- Normalize global `OTEL_EXPORTER_OTLP_ENDPOINT` path joining in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` so trailing-slash base URLs do not produce double-slash log export paths. (#8864)
+- Prevent a deadlock when formatting an error passed to `RecordError` calls back into the span in `go.opentelemetry.io/otel/sdk/trace`. (#8815)
+- Prevent `SimpleSpanProcessor.Shutdown` from panicking when constructed with a nil exporter in `go.opentelemetry.io/otel/sdk/trace`. (#8844)
+- Propagate invalid exponential histogram scale errors to Prometheus exporter self-observability metrics in `go.opentelemetry.io/otel/exporters/prometheus`. (#8839)
+- Retain instrument advisory attributes configured with `go.opentelemetry.io/otel/metric/x.WithDefaultAttributes` when a matching View in `go.opentelemetry.io/otel/sdk/metric` does not specify an attribute filter. (#8859)
+- Ignore HTTP URL paths when building OTLP/gRPC metric exporter targets from `OTEL_EXPORTER_OTLP_ENDPOINT` and `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`, while preserving `unix://` and `unix-abstract://` targets; treat `unix-abstract://` endpoints as insecure in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#8862)
+- Ignore HTTP(S) paths when deriving gRPC trace exporter endpoints from `OTEL_EXPORTER_OTLP_ENDPOINT` and `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#8852)
+- Bound memory used while parsing dense W3C property metadata by storing it compactly and materializing `Property` values on demand in `go.opentelemetry.io/otel/baggage` and `go.opentelemetry.io/otel/propagation`.
+
+### Removed
+
+- Remove the experimental `OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE` environment variable in `go.opentelemetry.io/otel/sdk/metric`.
+ Use the `WithMaxExportBatchSize` option instead. (#8960)
+
+## [1.47.0-rc.1] - 2026-08-28
+
+This is a release candidate for the v1.47.0 release.
+That release is expected to include the `v1` release of the OpenTelemetry Go Logs API and SDK and will provide stability guarantees for the following modules:
+
+- `go.opentelemetry.io/otel/log`
+- `go.opentelemetry.io/otel/sdk/log`
+
+See our [versioning policy](VERSIONING.md) for more information about these stability guarantees.
+
+### Added
+
+- Add `Logger`, `GetLoggerProvider`, and `SetLoggerProvider` to `go.opentelemetry.io/otel`. (#8874)
+
+### Deprecated
+
+- Deprecate `go.opentelemetry.io/otel/log/global`; use the equivalent APIs in `go.opentelemetry.io/otel`. (#8874)
+
+### Fixed
+
+- Ignore attempts to unregister unknown span processors in `go.opentelemetry.io/otel/sdk/trace`. (#8840)
+
+### Removed
+
+- Drop support for [Go 1.25]. (#8876)
+
+## [1.46.0/0.68.0/0.22.0/0.0.19] - 2026-08-25
+
+This release is the last to support [Go 1.25].
+The next release will require at least [Go 1.26].
+
+### Added
+
+- Support testing of [Go 1.27]. (#8811)
+- Support `http/json` protocol in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#8273, #8775, #8831)
+- Add `Hasher` struct and methods in `go.opentelemetry.io/otel/attribute` to compute authoritative `Distinct` hashes incrementally for attribute filtering and deduplication. (#8598)
+
+### Changed
+
+- Lazily evaluate filtered and dropped attributes on measurement hot paths in `go.opentelemetry.io/otel/sdk/metric` to avoid unnecessary attribute set allocations. (#8598)
+- Add `ErrExporterShutdown` to `go.opentelemetry.io/otel/sdk/log` and return it from the `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`, `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` exporters when `Export` is called after `Shutdown`. (#8773)
+- Clarify in `go.opentelemetry.io/otel/log` that calling `Logger.Enabled` is optional and that cached results can become stale. (#8764)
+
+### Fixed
+
+- Export dropped attribute counts in OTLP log records from `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8829)
+- Name span events created from OpenTracing logs after the `event` log field, falling back to `log`, instead of always using an empty name in `go.opentelemetry.io/otel/bridge/opentracing`. (#8648)
+- Count exception attributes omitted due to the attribute count limit as dropped in `go.opentelemetry.io/otel/sdk/log`. (#8796)
+- Prevent log record and instrumentation scope attributes with empty keys from reaching processors and exporters in `go.opentelemetry.io/otel/sdk/log`. (#8797)
+- Fix a data race when span attributes are read concurrently in `go.opentelemetry.io/otel/sdk/trace`. (#8706)
+- Prevent a panic in `(*Set).Filter` when called on a nil receiver in `go.opentelemetry.io/otel/attribute`. (#8792)
+- The simple span and log processors record `otel.sdk.processor.{span,log}.processed` when the record is submitted to the exporter instead of after the export completes, and no longer set `error.type` from the export outcome, in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log`. (#8705)
+- Prevent `Resource.MarshalLog` from panicking on nil resources in `go.opentelemetry.io/otel/sdk/resource`. (#8758)
+
+## [1.45.0/0.67.0/0.21.0/0.0.18] - 2026-08-03
+
+### Added
+
+- Add experimental observability metrics to `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log`. (#7124)
+- Add the experimental `WithUnsafeAttributes` no-copy attribute option to `go.opentelemetry.io/otel/metric/x` for future performance improvements. This API is a work in progress. (#8251)
+- Add `Map` and `MapValue` functions for the new `MAP` attribute type in `go.opentelemetry.io/otel/attribute`. (#8445)
+- Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8453)
+- Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8453)
+- Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8453)
+- Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/zipkin`. (#8453)
+- Apply `AttributeValueLengthLimit` recursively to values contained in `attribute.MAP` attributes in `go.opentelemetry.io/otel/sdk/trace`. (#8454)
+- Remove duplicate keys from `attribute.MAP` values in `go.opentelemetry.io/otel/sdk/resource` using last-value-wins semantics. (#8471)
+- Remove duplicate keys by default from `attribute.MAP` values in instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/log` using last-value-wins semantics. (#8471)
+- Remove duplicate keys by default from `attribute.MAP` values in span, event, link, and instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/trace` using last-value-wins semantics. (#8471)
+- Remove duplicate keys by default from `attribute.MAP` values in measurement and instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/metric` using last-value-wins semantics. (#8471)
+- Extend `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log` to disable duplicate-key removal in `attribute.MAP` values for instrumentation scope attributes. (#8471)
+- Add the `go.opentelemetry.io/otel/semconv/v1.42.0` package.
+ The package contains semantic conventions from the `v1.42.0` version of the OpenTelemetry Semantic Conventions.
+ See the [migration documentation](./semconv/v1.42.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.41.0`. (#8484)
+- Add `WithoutPanicRecording` as a `TracerProviderOption` in `go.opentelemetry.io/otel/sdk/trace` to disable exception event recording for panics. (#8532)
+- Add the `go.opentelemetry.io/otel/semconv/v1.43.0` package.
+ The package contains semantic conventions from the `v1.43.0` version of the OpenTelemetry Semantic Conventions.
+ See the [migration documentation](./semconv/v1.43.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.42.0`. (#8628)
+
+### Changed
+
+- `HistogramReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` now uses a time-unbiased sampling algorithm for exemplars. (#8306)
+- ⚠️ **Breaking Change:** Use `go.opentelemetry.io/otel/attribute.Value` and `go.opentelemetry.io/otel/attribute.KeyValue` for log bodies and attributes in `go.opentelemetry.io/otel/log`, `go.opentelemetry.io/otel/log/logtest`, `go.opentelemetry.io/otel/sdk/log`, and `go.opentelemetry.io/otel/sdk/log/logtest`. (#8490)
+- Encode log bodies and attributes as `go.opentelemetry.io/otel/attribute.Value` JSON in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`. (#8490)
+- Improve the performance of hashing `BOOLSLICE`, `INT64SLICE`, `FLOAT64SLICE`, and `STRINGSLICE` attribute values by avoiding reflection for short slices in `go.opentelemetry.io/otel/attribute`. (#8511)
+- ⚠️ **Breaking Change:** `WithEndpointURL` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` no longer appends the default signal path when an endpoint URL has no path, making the behavior consistent with `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` and with setting the endpoint through `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`. If the URL has no path component, the root path (`/`) is used. Use `WithEndpointURL(url.JoinPath(endpoint, "/v1/metrics"))` to preserve the previous behavior. (#8538)
+- ⚠️ **Breaking Change:** `WithEndpointURL` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` no longer appends the default signal path when an endpoint URL has no path, making the behavior consistent with `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` and with setting the endpoint through `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`. If the URL has no path component, the root path (`/`) is used. Use `WithEndpointURL(url.JoinPath(endpoint, "/v1/traces"))` to preserve the previous behavior. (#8538)
+
+### Deprecated
+
+- Deprecate `WithExportBufferSize` in `go.opentelemetry.io/otel/sdk/log`. The option remains available for source compatibility but no longer affects behavior; `BatchProcessor` no longer maintains a separate export-request buffer. (#8620)
+
+### Removed
+
+- ⚠️ **Breaking Change:** Remove `Kind`, `Value`, `KeyValue`, their constructors, and attribute conversion helpers from `go.opentelemetry.io/otel/log`. (#8490)
+- ⚠️ **Breaking Change:** Remove the `AttributeValueLengthLimit` and `AttributeCountLimit` fields from `RecordFactory` in `go.opentelemetry.io/otel/sdk/log/logtest`; records produced by the factory now keep attribute limits disabled so test code can append exact attributes. (#8556)
+
+### Fixed
+
+- Apply TLS certificates configured through environment variables to gRPC connections in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`.
+- Prevent panics in `go.opentelemetry.io/otel/bridge/opentracing` when OpenTracing baggage is propagated concurrently with `Span.SetBaggageItem`.
+- Fix an off-by-one error in `FixedSizeReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` that prevented the first exemplar from being sampled after the reservoir was filled. (#8309)
+- Interpret HTTP `Retry-After` header values as seconds instead of nanoseconds when retrying OTLP HTTP exports in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8383)
+- Fix a memory leak in the `Reservoir` implementation in `go.opentelemetry.io/otel/sdk/metric/exemplar`, where storing the full `context.Context` pinned large objects such as gRPC transport buffers. (#8389)
+- Prevent a non-empty attribute set whose computed hash is zero from collapsing to an empty set in `go.opentelemetry.io/otel/attribute`. (#8402)
+- Fix histogram data point reuse in `go.opentelemetry.io/otel/sdk/metric` aggregation to avoid leaking stale sum, minimum, and maximum values when they are disabled in subsequent collections. (#8403)
+- Avoid preallocating scope attributes when they are disabled in `go.opentelemetry.io/otel/exporters/prometheus`. (#8404)
+- Support HTTP-date values in the HTTP `Retry-After` header when retrying OTLP HTTP exports in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8417)
+- Reduce histogram heap allocations by reusing `BucketCounts` and `Exemplars` slices across `Collect` cycles in the cumulative histogram aggregation in `go.opentelemetry.io/otel/sdk/metric`. (#8428)
+- Fix `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` self-observability to record `error.type` on the operation-duration histogram when the `exportedSpans` metric is disabled. (#8432)
+- Stop including trace exporter endpoint configuration in internal logs from `go.opentelemetry.io/otel/sdk/trace`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, and `go.opentelemetry.io/otel/exporters/zipkin`. (#8438)
+- Fix invalid error formatting for out-of-range JSON code values in `go.opentelemetry.io/otel/codes`. (#8497)
+- Clarify in `go.opentelemetry.io/otel/log` that `Logger.Enabled` should be checked for every log emission because its result may change over time. (#8565)
+- Preserve user-provided exception attributes while independently deriving missing exception message and type attributes in `go.opentelemetry.io/otel/sdk/log`. (#8566)
+- Make `WithAttributeCountLimit(0)` and `OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT=0` discard all log record attributes in `go.opentelemetry.io/otel/sdk/log`. (#8570)
+- Clarify that the `Record` methods of `Float64Histogram` and `Int64Histogram` in `go.opentelemetry.io/otel/metric` expect non-negative values. (#8574)
+- Clarify in `go.opentelemetry.io/otel/log` that `LoggerProvider` implementations should retain an empty `Logger` name instead of replacing it with a default. (#8587)
+- Ensure that the built-in processors in `go.opentelemetry.io/otel/sdk/log` call exporter `ForceFlush` during `Shutdown`. (#8599)
+- Prevent processor operations in `go.opentelemetry.io/otel/sdk/log` from overlapping with processor shutdown or running after `LoggerProvider` shutdown. (#8608)
+- Prevent `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log` from busy-spinning under exporter backpressure and serialize dequeue, export, force-flush, and shutdown work in one worker. (#8620)
+- Make `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log` return errors encountered while draining records during `ForceFlush` and `Shutdown`, while continuing to attempt later batches as long as the request context remains valid. (#8620)
+- Keep the default `BatchProcessor` maximum export batch size in `go.opentelemetry.io/otel/sdk/log` at or below the configured maximum queue size. (#8620)
+
+## [1.44.0/0.66.0/0.20.0/0.0.17] 2026-05-27
+
+### Added
+
+- Add `ByteSlice` and `ByteSliceValue` functions for new `BYTESLICE` attribute type in `go.opentelemetry.io/otel/attribute`. (#7948)
+- Apply attribute value limit to the `KindBytes` attribute type in `go.opentelemetry.io/otel/sdk/log`. (#7990)
+- Apply attribute value limit to the `BYTESLICE` attribute type in `go.opentelemetry.io/otel/sdk/trace`. (#7990)
+- Support `BYTESLICE` attributes in `go.opentelemetry.io/otel/trace`. (#8153)
+- Support `BYTESLICE` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8153)
+- Support `BYTESLICE` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8153)
+- Support `BYTESLICE` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8153)
+- Support `BYTESLICE` attributes in `go.opentelemetry.io/otel/exporters/zipkin`. (#8153)
+- Add `String` method for `Value` type in `go.opentelemetry.io/otel/attribute`. (#8142)
+- Add `Slice` and `SliceValue` functions for new `SLICE` attribute type in `go.opentelemetry.io/otel/attribute`. (#8166)
+- Support `SLICE` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8216)
+- Support `SLICE` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8216)
+- Support `SLICE` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8216)
+- Support `SLICE` attributes in `go.opentelemetry.io/otel/exporters/zipkin`. (#8216)
+- Apply `AttributeValueLengthLimit` to `attribute.SLICE` type attribute values in `go.opentelemetry.io/otel/sdk/trace`, recursively truncating contained string values. (#8217)
+- Add `Error` field on `Record` type in `go.opentelemetry.io/otel/log/logtest`. (#8148)
+- Add `WithMaxRequestSize` option in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#8157)
+- Add `WithMaxRequestSize` option in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#8157)
+- Add `WithMaxRequestSize` option in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#8157)
+- Add `WithMaxRequestSize` option in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#8157)
+- Add `WithMaxRequestSize` option in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#8157)
+- Add `WithMaxRequestSize` option in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8157)
+- Add `Settable` to `go.opentelemetry.io/otel/metric/x` to allow reusing attribute options. (#8178)
+- Add experimental support for splitting metric data across multiple batches in `go.opentelemetry.io/otel/sdk/metric`.
+ Set `OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE=` to enable for all periodic readers.
+ See `go.opentelemetry.io/otel/sdk/metric/internal/x` for feature documentation. (#8071)
+- Add experimental self-observability metrics in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
+ Enable with `OTEL_GO_X_OBSERVABILITY=true` environment variable.
+ See `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/x` for feature documentation. (#8192)
+- Add experimental self-observability metrics in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
+ Enable with `OTEL_GO_X_OBSERVABILITY=true` environment variable.
+ See `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/x` for feature documentation. (#8194)
+- Add experimental self-observability metrics in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`.
+ Enable with `OTEL_GO_X_OBSERVABILITY=true` environment variable.
+ See `go.opentelemetry.io/otel/stdout/stdoutlog/internal/x` for feature documentation. (#8263)
+- Add `WithDefaultAttributes` to `go.opentelemetry.io/otel/metric/x` to support setting default attributes on instruments. (#8135)
+- Add `go.opentelemetry.io/otel/semconv/v1.41.0` package.
+ The package contains semantic conventions from the `v1.41.0` version of the OpenTelemetry Semantic Conventions.
+ See the [migration documentation](./semconv/v1.41.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.40.0`. (#8324)
+- Add Observable variants of instruments to `go.opentelemetry.io/otel/semconv/v1.41.0` package. (#8350)
+- Generate explicit histogram bucket boundaries from weaver configuration for HTTP and RPC duration instruments in `go.opentelemetry.io/otel/semconv/v1.41.0`. (#8002)
+
+### Changed
+
+- ⚠️ **Breaking Change:** `go.opentelemetry.io/otel/sdk/metric` now applies a default cardinality limit of 2000 to comply with the Metrics SDK specification recommendation.
+ New attribute sets are dropped when the cardinality limit is reached. The measurement of these sets are aggregated into a special attribute set containing `attribute.Bool("otel.metric.overflow", true)`.
+ This can break users who relied on the previous unlimited default.
+ Set `WithCardinalityLimit(0)` or the deprecated `OTEL_GO_X_CARDINALITY_LIMIT=0` environment variable to preserve unlimited cardinality.
+ Note that support for `OTEL_GO_X_CARDINALITY_LIMIT` may be removed in a future release. (#8247)
+- `ErrorType` in `go.opentelemetry.io/otel/semconv` now unwraps errors created with `fmt.Errorf` when deriving the `error.type` attribute. (#8133)
+- `go.opentelemetry.io/otel/sdk/log` now unwraps error chains created with `fmt.Errorf` when deriving the `error.type` attribute from errors on log records. (#8133)
+- `Set.MarshalLog` method in `go.opentelemetry.io/otel/attribute` now uses `Value.String` formatting following the [OpenTelemetry AnyValue representation for non-OTLP protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue). (#8169)
+- Optimize `go.opentelemetry.io/otel/sdk/metric` to return a drop reservoir and short-circuit `Offer` calls to the exemplar reservoir when `exemplar.AlwaysOffFilter` is configured. (#8211) (#8267)
+- Optimize `go.opentelemetry.io/otel/sdk/metric` to return a drop reservoir for asynchronous instruments when `exemplar.TraceBasedFilter` is configured. (#8286)
+
+### Deprecated
+
+- Deprecate `Value.Emit` method in `go.opentelemetry.io/otel/attribute`.
+ Use `Value.String` instead. (#8176)
+
+### Fixed
+
+- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
+ The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365)
+- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
+ The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365)
+- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
+ The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365)
+- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
+ The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365)
+- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`.
+ The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365)
+- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`.
+ The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365)
+- Fix gzipped request body replay on redirect in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#8135)
+- Fix gzipped request body replay on redirect in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8152)
+- `go.opentelemetry.io/otel/exporters/prometheus` now uses `Value.String` formatting for label values following the [OpenTelemetry AnyValue representation for non-OTLP protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue). (#8170)
+- Propagate errors from the exporter when calling `Shutdown` on `BatchSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace`. (#8197)
+- Fix stale status code reporting on self-observability metrics in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8226)
+- Fix a concurrent `Collect` data race and potential panic in `go.opentelemetry.io/otel/exporters/prometheus` when `WithResourceAsConstantLabels` option is used. (#8227)
+- Fix race condition in `FixedSizeReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` by reverting #7447. (#8249)
+- Fix `FixedSizeReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` to safely handle zero size.
+ A capacity check in the constructor initializes the reservoir safely and skips initialization for zero-cap; early returns in `Offer()` and `Collect()` ensure no-op behavior. (#8295)
+- Fix counting of spans and logs in self-observability metrics in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8254)
+- Drop conflicting scope attributes named `name`, `version`, or `schema_url` from metric labels in `go.opentelemetry.io/otel/exporters/prometheus`, preserving the dedicated `otel_scope_name`, `otel_scope_version`, and `otel_scope_schema_url` labels. (#8264)
+- Close schema files opened by `ParseFile` in `go.opentelemetry.io/otel/schema/v1.0` and `go.opentelemetry.io/otel/schema/v1.1`. ([GHSA-995v-fvrw-c78m](https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-995v-fvrw-c78m))
+- Enforce the 8192-byte baggage size limit during extraction/parsing, changing behavior when the limit is exceeded in `go.opentelemetry.io/otel/baggage` and `go.opentelemetry.io/otel/propagation`. (#8222)
+- Fix `go.opentelemetry.io/otel/semconv/v1.41.0` to include `Attr*` helper methods for required attributes on observable instruments. (#8361)
+- Limit baggage extraction error reporting in `go.opentelemetry.io/otel/propagation` to prevent malformed or oversized baggage headers from flooding logs. ([GHSA-5wrp-cwcj-q835](https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-5wrp-cwcj-q835))
+
## [1.43.0/0.65.0/0.19.0] 2026-04-02
### Added
@@ -3619,7 +3897,12 @@ It contains api and sdk for trace and meter.
- CircleCI build CI manifest files.
- CODEOWNERS file to track owners of this project.
-[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.43.0...HEAD
+[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.47.0...HEAD
+[1.47.0/0.69.0/0.23.0/0.1.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.47.0
+[1.47.0-rc.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.47.0-rc.1
+[1.46.0/0.68.0/0.22.0/0.0.19]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.46.0
+[1.45.0/0.67.0/0.21.0/0.0.18]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.45.0
+[1.44.0/0.66.0/0.20.0/0.0.17]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.44.0
[1.43.0/0.65.0/0.19.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.43.0
[1.42.0/0.64.0/0.18.0/0.0.16]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.42.0
[1.41.0/0.63.0/0.17.0/0.0.15]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.41.0
@@ -3722,6 +4005,7 @@ It contains api and sdk for trace and meter.
+[Go 1.27]: https://go.dev/doc/go1.27
[Go 1.26]: https://go.dev/doc/go1.26
[Go 1.25]: https://go.dev/doc/go1.25
[Go 1.24]: https://go.dev/doc/go1.24
diff --git a/vendor/go.opentelemetry.io/otel/CODEOWNERS b/vendor/go.opentelemetry.io/otel/CODEOWNERS
index 26a03aed1..41937a389 100644
--- a/vendor/go.opentelemetry.io/otel/CODEOWNERS
+++ b/vendor/go.opentelemetry.io/otel/CODEOWNERS
@@ -12,6 +12,6 @@
# https://help.github.com/en/articles/about-code-owners
#
-* @MrAlias @XSAM @dashpole @pellared @dmathieu @flc1125
+* @MrAlias @XSAM @dashpole @pellared @dmathieu @flc1125 @ps-mir
CODEOWNERS @MrAlias @pellared @dashpole @XSAM @dmathieu
diff --git a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md
index 12de3607a..958a698db 100644
--- a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md
+++ b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md
@@ -8,8 +8,16 @@ repo for information on this and other language SIGs.
See the [public meeting
notes](https://docs.google.com/document/d/1E5e7Ld0NuU1iVvf-42tOBpu2VBBLYnh73GJuITGJTTU/edit)
for a summary description of past meetings. To request edit access,
-join the meeting or get in touch on
-[Slack](https://cloud-native.slack.com/archives/C01NPAXACKT).
+join the meeting or get in touch on the
+[#otel-go](https://cloud-native.slack.com/archives/C01NPAXACKT)
+channel on CNCF Slack. If you are new to the CNCF Slack community,
+you can [create an account](https://slack.cncf.io/).
+
+The meeting is open for all to join. We invite everyone to join our
+meeting, regardless of your experience level. Whether you're a
+seasoned OpenTelemetry developer, just starting your journey, or
+simply curious about the work we do, you're more than welcome to
+participate!
## Development
@@ -746,8 +754,8 @@ Encapsulate setup in constructor functions, ensuring clear ownership and scope:
import (
"errors"
- semconv "go.opentelemetry.io/otel/semconv/v1.40.0"
- "go.opentelemetry.io/otel/semconv/v1.40.0/otelconv"
+ semconv "go.opentelemetry.io/otel/semconv/v1.43.0"
+ "go.opentelemetry.io/otel/semconv/v1.43.0/otelconv"
)
type SDKComponent struct {
@@ -771,7 +779,7 @@ func newInstrumentation() (*instrumentation, error) {
if !x.Observability.Enabled() {
return nil, nil
}
-
+
meter := otel.GetMeterProvider().Meter(
"",
metric.WithInstrumentationVersion(sdk.Version()),
@@ -808,11 +816,11 @@ func (c *Component) initObservability() {
#### Performance
-When observability is disabled there should be little to no overhead.
+When observability is disabled or the instrument is not `Enabled`, there should be little to no overhead.
```go
func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan) error {
- if e.inst != nil {
+ if e.inst != nil && e.inst.Enabled(ctx) {
attrs := expensiveOperation()
e.inst.recordSpanInflight(ctx, int64(len(spans)), attrs...)
}
@@ -829,7 +837,7 @@ func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan)
}
func (i *instrumentation) recordSpanInflight(ctx context.Context, count int64, attrs ...attribute.KeyValue) {
- if i == nil || i.inflight == nil {
+ if i == nil || i.inflight == nil || !i.inflight.Enabled(ctx) {
return
}
i.inflight.Add(ctx, count, metric.WithAttributes(attrs...))
@@ -865,8 +873,12 @@ var (
)
func (i *instrumentation) record(ctx context.Context, value int64, baseAttrs ...attribute.KeyValue) {
+ if !i.counter.Enabled(ctx) {
+ return
+ }
attrs := attrPool.Get().(*[]attribute.KeyValue)
defer func() {
+ clear(*attrs) // Clear references to strings/etc to let GC collect them.
*attrs = (*attrs)[:0] // Reset.
attrPool.Put(attrs)
}()
@@ -877,6 +889,7 @@ func (i *instrumentation) record(ctx context.Context, value int64, baseAttrs ...
addOpt := addOptPool.Get().(*[]metric.AddOption)
defer func() {
+ clear(*addOpt)
*addOpt = (*addOpt)[:0]
addOptPool.Put(addOpt)
}()
@@ -936,7 +949,7 @@ func BenchmarkExportSpans(b *testing.B) {
{"ObsDisabled", false},
{"ObsEnabled", true},
}
-
+
for _, scenario := range scenarios {
b.Run(scenario.name, func(b *testing.B) {
b.Setenv(
@@ -967,7 +980,7 @@ func newInstrumentation() (*instrumentation, error) {
if !x.Observability.Enabled() {
return nil, nil
}
-
+
m := otel.GetMeterProvider().Meter(/* initialize meter */)
counter, err := otelconv.NewSDKComponentCounter(m)
// Use the partially initialized counter if available.
@@ -983,7 +996,7 @@ func newInstrumentation() *instrumentation {
if !x.Observability.Enabled() {
return nil, nil
}
-
+
m := otel.GetMeterProvider().Meter(/* initialize meter */)
counter, err := otelconv.NewSDKComponentCounter(m)
if err != nil {
@@ -1007,16 +1020,20 @@ Ensure observability measurements receive the correct context, especially for tr
```go
func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan) error {
// Use the provided context for observability measurements
- e.inst.recordSpanExportStarted(ctx, len(spans))
-
+ if e.inst.Enabled(ctx) {
+ e.inst.recordSpanExportStarted(ctx, len(spans))
+ }
+
err := e.doExport(ctx, spans)
- if err != nil {
- e.inst.recordSpanExportFailed(ctx, len(spans), err)
- } else {
- e.inst.recordSpanExportSucceeded(ctx, len(spans))
+ if e.inst.Enabled(ctx) {
+ if err != nil {
+ e.inst.recordSpanExportFailed(ctx, len(spans), err)
+ } else {
+ e.inst.recordSpanExportSucceeded(ctx, len(spans))
+ }
}
-
+
return err
}
```
@@ -1026,11 +1043,11 @@ func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan)
func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan) error {
// ❌ Do not break the context propagation.
e.inst.recordSpanExportStarted(context.Background(), len(spans))
-
+
err := e.doExport(ctx, spans)
/* ... */
-
+
return err
}
```
@@ -1039,7 +1056,7 @@ func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan)
All observability metrics should follow the [OpenTelemetry Semantic Conventions for SDK metrics](https://github.com/open-telemetry/semantic-conventions/blob/1cf2476ae5e518225a766990a28a6d5602bd5a30/docs/otel/sdk-metrics.md).
-Use the metric semantic conventions convenience package [otelconv](./semconv/v1.40.0/otelconv/metric.go).
+Use the metric semantic conventions convenience package [otelconv](./semconv/v1.43.0/otelconv/metric.go).
##### Component Identification
@@ -1101,7 +1118,7 @@ func TestObservability(t *testing.T) {
// Reset component ID counter to ensure deterministic component names.
componentIDCounter.Store(0)
-
+
/* ... test code ... */
}
```
@@ -1109,6 +1126,68 @@ func TestObservability(t *testing.T) {
Test order should not affect results.
Ensure that any global state (e.g. component ID counters) is reset between tests.
+### Experimental Features
+
+To support the development of new features in the specification, we use the following patterns to implement in-development features without adding new public artifacts in stable modules.
+
+#### Experimental behavior with no API artifacts
+
+Features that change behavior without changing the API (e.g., exemplar collection, auto-generation of identifiers) are implemented behind a feature gate.
+The implementation resides in an `/internal/x` package and is activated through environment variables with the `OTEL_GO_X_` prefix (e.g., `OTEL_GO_X_OBSERVABILITY`).
+The feature must be documented in a `README.md` file in the `/internal/x` package.
+
+#### Experimental methods on SDK-only interfaces
+
+Features that require new methods on SDK interfaces are defined as a new interface in an experimental module (e.g., `go.opentelemetry.io/otel/sdk/x`).
+The SDK uses type assertions (without importing the unstable package) to check if passing types implement these experimental interfaces.
+The SDK must not depend on the experimental module.
+
+#### Experimental structs, functions, or interfaces
+
+Features that don't need any changes to the existing stable package are implemented in an experimental module (e.g., `go.opentelemetry.io/otel/sdk/x`).
+
+#### Experimental signals and components
+
+New telemetry signals (e.g., Logs before stabilization) and components (e.g. bridges) are hosted in new, unstable modules (e.g., `go.opentelemetry.io/otel/log` before 1.0.0).
+The package should have the final name it will use once stabilized (i.e. not `/x`), and is released at a v0.x.y version to indicate it is not stable.
+Most new components are hosted in [opentelemetry-go-contrib](https://github.com/open-telemetry/opentelemetry-go-contrib).
+
+#### Experimental options for API or SDK functions
+
+Experimental Options functions are implemented in an experimental module (e.g., `go.opentelemetry.io/otel/sdk/x`).
+The return type of the Option function must embed the option's type (e.g. `metric.InstrumentOption`), and have an `Experimental()` method to prevent the API from panicking when the option is used.
+The SDK uses type assertions (without importing the unstable package) to check if passing types implement these experimental interfaces.
+The SDK must not depend on the experimental module.
+
+For example:
+
+```go
+type myOption struct {
+ // Embed the stable option type.
+ metric.InstrumentOption
+ value string
+}
+
+// Experimental prevents the API from panicking when the option is used.
+func (o myOption) Experimental() {}
+
+// The SDK can use type assertions to use this function.
+func (o myOption) Value() string { return o.value }
+
+func WithMyOption(value string) metric.InstrumentOption {
+ return myOption{value: value}
+}
+```
+
+#### Not Supported
+
+The following kinds of experimental features are **not currently supported** on stable interfaces:
+
+- Experimental methods on API interfaces
+- Experimental fields for API or SDK exported structs
+
+In some cases forks or long-lived branches may be used for prototyping these features.
+
## Approvers and Maintainers
### Maintainers
@@ -1124,18 +1203,20 @@ For more information about the maintainer role, see the [community repository](h
### Approvers
- [Flc](https://github.com/flc1125), Independent
+- [Puneet Singh](https://github.com/ps-mir), Independent
For more information about the approver role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver).
### Triagers
-- [Alex Kats](https://github.com/akats7), Capital One
+- [Marc Schäfer](https://github.com/marcschaeferger), T&A SYSTEME GmbH
For more information about the triager role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager).
### Emeritus
- [Aaron Clawson](https://github.com/MadVikingGod)
+- [Alex Kats](https://github.com/akats7)
- [Anthony Mirabella](https://github.com/Aneurysm9)
- [Cheng-Zhen Yang](https://github.com/scorpionknifes)
- [Chester Cheung](https://github.com/hanyuancheung)
diff --git a/vendor/go.opentelemetry.io/otel/Makefile b/vendor/go.opentelemetry.io/otel/Makefile
index 42466f2d6..c674ef8a1 100644
--- a/vendor/go.opentelemetry.io/otel/Makefile
+++ b/vendor/go.opentelemetry.io/otel/Makefile
@@ -10,6 +10,7 @@ ALL_COVERAGE_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {}
GO = go
TIMEOUT = 60
+GO_VERSION := $(shell awk '/^go [0-9]/ {print $$2; exit}' go.mod)
# User to run as in docker images.
DOCKER_USER=$(shell id -u):$(shell id -g)
@@ -19,7 +20,7 @@ DEPENDENCIES_DOCKERFILE=./dependencies.Dockerfile
.PHONY: precommit ci
precommit: generate toolchain-check license-check misspell go-mod-tidy golangci-lint-fix verify-readmes verify-mods test-default
-ci: generate toolchain-check license-check lint vanity-import-check verify-readmes verify-mods build test-default check-clean-work-tree test-coverage
+ci: generate toolchain-check license-check lint verify-readmes verify-mods build test-default check-clean-work-tree test-coverage
# Tools
@@ -59,9 +60,6 @@ $(TOOLS)/gocovmerge: PACKAGE=github.com/wadey/gocovmerge
STRINGER = $(TOOLS)/stringer
$(TOOLS)/stringer: PACKAGE=golang.org/x/tools/cmd/stringer
-PORTO = $(TOOLS)/porto
-$(TOOLS)/porto: PACKAGE=github.com/jcchavezs/porto/cmd/porto
-
GOTMPL = $(TOOLS)/gotmpl
$(GOTMPL): PACKAGE=go.opentelemetry.io/build-tools/gotmpl
@@ -71,8 +69,13 @@ $(GORELEASE): PACKAGE=golang.org/x/exp/cmd/gorelease
GOVULNCHECK = $(TOOLS)/govulncheck
$(TOOLS)/govulncheck: PACKAGE=golang.org/x/vuln/cmd/govulncheck
+AFFECTEDMODS = $(TOOLS)/affectedmods
+AFFECTEDMODS_FILES := $(sort $(shell find $(TOOLS_MOD_DIR)/affectedmods -type f))
+$(TOOLS)/affectedmods: PACKAGE=go.opentelemetry.io/otel/$(TOOLS_MOD_DIR)/affectedmods
+$(TOOLS)/affectedmods: $(AFFECTEDMODS_FILES)
+
.PHONY: tools
-tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(VERIFYREADMES) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE)
+tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(VERIFYREADMES) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE) $(AFFECTEDMODS)
# Virtualized python tools via docker
@@ -110,7 +113,7 @@ $(CODESPELL): PACKAGE=codespell
# Generate
.PHONY: generate
-generate: go-generate vanity-import-fix
+generate: go-generate
.PHONY: go-generate
go-generate: $(OTEL_GO_MOD_DIRS:%=go-generate/%)
@@ -120,20 +123,18 @@ go-generate/%: $(STRINGER) $(GOTMPL)
&& cd $(DIR) \
&& PATH="$(TOOLS):$${PATH}" $(GO) generate ./...
-.PHONY: vanity-import-fix
-vanity-import-fix: $(PORTO)
- @$(PORTO) --include-internal -w .
-
# Generate go.work file for local development.
.PHONY: go-work
go-work: $(CROSSLINK)
- $(CROSSLINK) work --root=$(shell pwd) --go=1.22.7
+ $(CROSSLINK) work --root=$(shell pwd) --go=$(GO_VERSION)
# Build
-.PHONY: build
+.PHONY: build cross-build
build: $(OTEL_GO_MOD_DIRS:%=build/%) $(OTEL_GO_MOD_DIRS:%=build-tests/%)
+# Cross-platform builds cannot execute the binaries produced by build-tests (go test), so use a compile-only target.
+cross-build: $(OTEL_GO_MOD_DIRS:%=build/%)
build/%: DIR=$*
build/%:
@echo "$(GO) build $(DIR)/..." \
@@ -169,6 +170,9 @@ test/%:
| grep -v third_party \
| xargs $(GO) test -timeout $(TIMEOUT)s $(ARGS)
+.PHONY: test-tools
+test-tools: test/$(TOOLS_MOD_DIR)
+
COVERAGE_MODE = atomic
COVERAGE_PROFILE = coverage.out
.PHONY: test-coverage
@@ -191,8 +195,24 @@ benchmark: $(OTEL_GO_MOD_DIRS:%=benchmark/%)
benchmark/%:
cd $* && $(GO) test -run='^$$' -bench=. $(ARGS) ./...
+# sdk/metric is split into two shards to work around CodSpeed limitations.
+# See https://github.com/CodSpeedHQ/codspeed-go/issues/56
+BENCHMARK_SHARDS := $(filter-out ./sdk/metric,$(OTEL_GO_MOD_DIRS)) ./sdk/metric/. ./sdk/metric/internal
+benchmark/./sdk/metric/.:
+ cd ./sdk/metric && $(GO) test -run='^$$' -bench=. $(ARGS) . ./exemplar/...
+
print-sharded-benchmarks:
- @echo $(OTEL_GO_MOD_DIRS) | jq -cR 'split(" ")'
+ @echo $(BENCHMARK_SHARDS) | jq -cR 'split(" ")'
+
+# Print the JSON list of benchmark shards whose code changed since
+# BASE_REF (default: main). Filters print-sharded-benchmarks
+# down to shards whose underlying module contains a changed *.go file.
+# Non-Go changes (docs, workflows, Makefile, go.mod/go.sum, tooling) emit [].
+# Override the diff base via BASE_REF, or pass ARGS=-all to emit the full list.
+BASE_REF ?= main
+.PHONY: print-affected-benchmarks
+print-affected-benchmarks:
+ @$(MAKE) -s print-sharded-benchmarks | $(GO) -C $(TOOLS_MOD_DIR) run ./affectedmods $(if $(strip $(BASE_REF)),-base=$(BASE_REF),) $(ARGS)
.PHONY: golangci-lint golangci-lint-fix
golangci-lint-fix: ARGS=--fix
@@ -220,10 +240,6 @@ go-mod-tidy/%: crosslink
.PHONY: lint
lint: misspell go-mod-tidy golangci-lint
-.PHONY: vanity-import-check
-vanity-import-check: $(PORTO)
- @$(PORTO) --include-internal -l . || ( echo "(run: make vanity-import-fix)"; exit 1 )
-
.PHONY: misspell
misspell: $(MISSPELL)
@$(MISSPELL) -w $(ALL_DOCS)
diff --git a/vendor/go.opentelemetry.io/otel/README.md b/vendor/go.opentelemetry.io/otel/README.md
index 16a72004c..bcdb73e01 100644
--- a/vendor/go.opentelemetry.io/otel/README.md
+++ b/vendor/go.opentelemetry.io/otel/README.md
@@ -3,12 +3,11 @@
[](https://github.com/open-telemetry/opentelemetry-go/actions/workflows/ci.yml)
[](https://app.codecov.io/gh/open-telemetry/opentelemetry-go?branch=main)
[](https://pkg.go.dev/go.opentelemetry.io/otel)
-[](https://goreportcard.com/report/go.opentelemetry.io/otel)
[](https://scorecard.dev/viewer/?uri=github.com/open-telemetry/opentelemetry-go)
[](https://www.bestpractices.dev/projects/9996)
[](https://issues.oss-fuzz.com/issues?q=project:opentelemetry-go)
[](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-go?ref=badge_shield&issueType=license)
-[](https://cloud-native.slack.com/archives/C01NPAXACKT)
+[](https://slack.cncf.io/)
OpenTelemetry-Go is the [Go](https://golang.org/) implementation of [OpenTelemetry](https://opentelemetry.io/).
It provides a set of APIs to directly measure performance and behavior of your software and send this data to observability platforms.
@@ -19,7 +18,7 @@ It provides a set of APIs to directly measure performance and behavior of your s
|---------|--------------------|
| Traces | Stable |
| Metrics | Stable |
-| Logs | Beta[^1] |
+| Logs | Stable |
Progress and status specific to this repository is tracked in our
[project boards](https://github.com/open-telemetry/opentelemetry-go/projects)
@@ -29,8 +28,6 @@ and
Project versioning information and stability guarantees can be found in the
[versioning documentation](VERSIONING.md).
-[^1]: https://github.com/orgs/open-telemetry/projects/43
-
### Compatibility
OpenTelemetry-Go ensures compatibility with the current supported versions of
@@ -53,20 +50,20 @@ Currently, this project supports the following environments.
| OS | Go Version | Architecture |
|----------|------------|--------------|
+| Ubuntu | 1.27 | amd64 |
| Ubuntu | 1.26 | amd64 |
-| Ubuntu | 1.25 | amd64 |
+| Ubuntu | 1.27 | 386 |
| Ubuntu | 1.26 | 386 |
-| Ubuntu | 1.25 | 386 |
+| Ubuntu | 1.27 | arm64 |
| Ubuntu | 1.26 | arm64 |
-| Ubuntu | 1.25 | arm64 |
+| macOS | 1.27 | amd64 |
| macOS | 1.26 | amd64 |
-| macOS | 1.25 | amd64 |
+| macOS | 1.27 | arm64 |
| macOS | 1.26 | arm64 |
-| macOS | 1.25 | arm64 |
+| Windows | 1.27 | amd64 |
| Windows | 1.26 | amd64 |
-| Windows | 1.25 | amd64 |
+| Windows | 1.27 | 386 |
| Windows | 1.26 | 386 |
-| Windows | 1.25 | 386 |
While this project should work for other systems, no compatibility guarantees
are made for those systems currently.
diff --git a/vendor/go.opentelemetry.io/otel/VERSIONING.md b/vendor/go.opentelemetry.io/otel/VERSIONING.md
index b27c9e84f..56eaa7d22 100644
--- a/vendor/go.opentelemetry.io/otel/VERSIONING.md
+++ b/vendor/go.opentelemetry.io/otel/VERSIONING.md
@@ -12,6 +12,12 @@ is designed so the following goals can be achieved.
* [Semantic import
versioning](https://github.com/golang/go/wiki/Modules#semantic-import-versioning)
will be used.
+ * Stable module compatibility is understood in terms of the [Go 1
+ compatibility guidelines](https://go.dev/doc/go1compat). Code that
+ compiled against an older version of a package should continue to compile
+ against newer versions of that package, subject to the exceptions in the
+ Go 1 compatibility guidelines and any additional exceptions documented
+ below.
* Versions will comply with [semver
2.0](https://semver.org/spec/v2.0.0.html) with the following exceptions.
* New methods may be added to exported API interfaces. All exported
diff --git a/vendor/go.opentelemetry.io/otel/attribute/doc.go b/vendor/go.opentelemetry.io/otel/attribute/doc.go
index eef51ebc2..c543f2ca6 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/doc.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/doc.go
@@ -2,4 +2,4 @@
// SPDX-License-Identifier: Apache-2.0
// Package attribute provides key and value attributes.
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
diff --git a/vendor/go.opentelemetry.io/otel/attribute/encoder.go b/vendor/go.opentelemetry.io/otel/attribute/encoder.go
index 771dd69c5..413e7a185 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/encoder.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/encoder.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
import (
"bytes"
@@ -105,7 +105,9 @@ func (d *defaultAttrEncoder) Encode(iter Iterator) string {
if keyValue.Value.Type() == STRING {
copyAndEscape(buf, keyValue.Value.AsString())
} else {
- _, _ = buf.WriteString(keyValue.Value.Emit())
+ _, _ = buf.WriteString(
+ keyValue.Value.Emit(),
+ ) //nolint:staticcheck // Preserve the existing default encoder output.
}
}
return buf.String()
diff --git a/vendor/go.opentelemetry.io/otel/attribute/filter.go b/vendor/go.opentelemetry.io/otel/attribute/filter.go
index 624ebbe38..6dab64f5d 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/filter.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/filter.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
// Filter supports removing certain attributes from attribute sets. When
// the filter returns true, the attribute will be kept in the filtered
diff --git a/vendor/go.opentelemetry.io/otel/attribute/hash.go b/vendor/go.opentelemetry.io/otel/attribute/hash.go
index b09caaa6d..54c26e67a 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/hash.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/hash.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
import (
"fmt"
@@ -27,67 +27,265 @@ const (
int64SliceID uint64 = 3762322556277578591 // "_[]int64" (little endian)
float64SliceID uint64 = 7308324551835016539 // "[]double" (little endian)
stringSliceID uint64 = 7453010373645655387 // "[]string" (little endian)
+ byteSliceID uint64 = 6874028470941080415 // "_[]byte_" (little endian)
+ sliceID uint64 = 7883494272577650031 // "__slice_" (little endian)
+ mapID uint64 = 6872316492666199903 // "__map___" (little endian)
emptyID uint64 = 7305809155345288421 // "__empty_" (little endian)
)
+// Hasher computes a Distinct value from KeyValue attributes supplied with
+// Write.
+//
+// A Hasher must be obtained from [NewHasher]. The zero value is not usable and
+// its methods will panic.
+type Hasher struct {
+ h xxhash.Hash
+}
+
+// NewHasher returns a new Hasher.
+func NewHasher() *Hasher {
+ return &Hasher{h: xxhash.New()}
+}
+
+// Reset resets h to its initial state so it can be reused.
+func (h *Hasher) Reset() {
+ h.h.Reset()
+}
+
+// Write adds kv to the hash.
+//
+// Write requires attributes to be supplied in ascending key order with no
+// duplicate keys. To produce the same Distinct as Set.Equivalent, write
+// attributes in ascending key order, with no more than one value for each key.
+// If the source contains duplicate keys, retain the last value for each key
+// before calling Write.
+func (h *Hasher) Write(kv KeyValue) {
+ // hashKV mutates the digest h.h refers to in place and returns the same
+ // Hash value it was passed. Discarding the result keeps the digest pointer
+ // from flowing back into h, which would force the digest to be heap
+ // allocated for every Hasher. Keeping Write this small also keeps it within
+ // the inlining budget, which matters because hashKVs calls it per attribute.
+ _ = hashKV(h.h, kv)
+}
+
+// Distinct returns the identifier for the attributes written to h. When Write
+// is called as described above, it returns the same value as [Set.Equivalent].
+func (h *Hasher) Distinct() Distinct {
+ // No count of written attributes is needed to detect the empty case. The
+ // sum of a digest with nothing written to it is emptyHash, which is
+ // non-zero (0xef46db3751d8e999), so it passes through remapZeroHash
+ // unchanged and matches emptySet.Equivalent.
+ return Distinct{hash: remapZeroHash(h.h.Sum64())}
+}
+
+// remapZeroHash remaps a 0 sum to a non-zero value, because hash == 0 is a
+// reserved sentinel (treated as empty/invalid).
+func remapZeroHash(sum uint64) uint64 {
+ if sum == 0 {
+ return 1
+ }
+ return sum
+}
+
// hashKVs returns a new xxHash64 hash of kvs.
+//
+// This routes through [Hasher] so that Set hashing and Hasher cannot disagree:
+// there is exactly one implementation of how attributes are mixed and how the
+// final sum is framed.
func hashKVs(kvs []KeyValue) uint64 {
- h := xxhash.New()
+ h := NewHasher()
for _, kv := range kvs {
- h = hashKV(h, kv)
+ h.Write(kv)
}
- return h.Sum64()
+ return h.Distinct().hash
}
// hashKV returns the xxHash64 hash of kv with h as the base.
func hashKV(h xxhash.Hash, kv KeyValue) xxhash.Hash {
h = h.String(string(kv.Key))
+ return hashValue(h, kv.Value)
+}
- switch kv.Value.Type() {
+func hashValue(h xxhash.Hash, v Value) xxhash.Hash {
+ switch v.Type() {
case BOOL:
h = h.Uint64(boolID)
- h = h.Uint64(kv.Value.numeric)
+ h = h.Uint64(v.numeric)
case INT64:
h = h.Uint64(int64ID)
- h = h.Uint64(kv.Value.numeric)
+ h = h.Uint64(v.numeric)
case FLOAT64:
h = h.Uint64(float64ID)
// Assumes numeric stored with math.Float64bits.
- h = h.Uint64(kv.Value.numeric)
+ h = h.Uint64(v.numeric)
case STRING:
h = h.Uint64(stringID)
- h = h.String(kv.Value.stringly)
+ h = h.String(v.stringly)
case BOOLSLICE:
h = h.Uint64(boolSliceID)
- rv := reflect.ValueOf(kv.Value.slice)
- for i := 0; i < rv.Len(); i++ {
- h = h.Bool(rv.Index(i).Bool())
+ switch vals := v.slice.(type) {
+ case [0]bool:
+ case [1]bool:
+ h = h.Bool(vals[0])
+ case [2]bool:
+ h = h.Bool(vals[0])
+ h = h.Bool(vals[1])
+ case [3]bool:
+ h = h.Bool(vals[0])
+ h = h.Bool(vals[1])
+ h = h.Bool(vals[2])
+ default:
+ rv := reflect.ValueOf(v.slice)
+ for i := 0; i < rv.Len(); i++ {
+ h = h.Bool(rv.Index(i).Bool())
+ }
}
case INT64SLICE:
h = h.Uint64(int64SliceID)
- rv := reflect.ValueOf(kv.Value.slice)
- for i := 0; i < rv.Len(); i++ {
- h = h.Int64(rv.Index(i).Int())
+ switch vals := v.slice.(type) {
+ case [0]int64:
+ case [1]int64:
+ h = h.Int64(vals[0])
+ case [2]int64:
+ h = h.Int64(vals[0])
+ h = h.Int64(vals[1])
+ case [3]int64:
+ h = h.Int64(vals[0])
+ h = h.Int64(vals[1])
+ h = h.Int64(vals[2])
+ default:
+ rv := reflect.ValueOf(v.slice)
+ for i := 0; i < rv.Len(); i++ {
+ h = h.Int64(rv.Index(i).Int())
+ }
}
case FLOAT64SLICE:
h = h.Uint64(float64SliceID)
- rv := reflect.ValueOf(kv.Value.slice)
- for i := 0; i < rv.Len(); i++ {
- h = h.Float64(rv.Index(i).Float())
+ switch vals := v.slice.(type) {
+ case [0]float64:
+ case [1]float64:
+ h = h.Float64(vals[0])
+ case [2]float64:
+ h = h.Float64(vals[0])
+ h = h.Float64(vals[1])
+ case [3]float64:
+ h = h.Float64(vals[0])
+ h = h.Float64(vals[1])
+ h = h.Float64(vals[2])
+ default:
+ rv := reflect.ValueOf(v.slice)
+ for i := 0; i < rv.Len(); i++ {
+ h = h.Float64(rv.Index(i).Float())
+ }
}
case STRINGSLICE:
h = h.Uint64(stringSliceID)
- rv := reflect.ValueOf(kv.Value.slice)
- for i := 0; i < rv.Len(); i++ {
- h = h.String(rv.Index(i).String())
+ switch vals := v.slice.(type) {
+ case [0]string:
+ case [1]string:
+ h = h.String(vals[0])
+ case [2]string:
+ h = h.String(vals[0])
+ h = h.String(vals[1])
+ case [3]string:
+ h = h.String(vals[0])
+ h = h.String(vals[1])
+ h = h.String(vals[2])
+ default:
+ rv := reflect.ValueOf(v.slice)
+ for i := 0; i < rv.Len(); i++ {
+ h = h.String(rv.Index(i).String())
+ }
+ }
+ case BYTESLICE:
+ h = h.Uint64(byteSliceID)
+ h = h.String(v.stringly)
+ case SLICE:
+ h = h.Uint64(sliceID)
+ switch vals := v.slice.(type) {
+ case [0]Value:
+ // No values to hash, but the type identifier is still hashed above.
+ case [1]Value:
+ h = hashValue(h, vals[0])
+ case [2]Value:
+ h = hashValue(h, vals[0])
+ h = hashValue(h, vals[1])
+ case [3]Value:
+ h = hashValue(h, vals[0])
+ h = hashValue(h, vals[1])
+ h = hashValue(h, vals[2])
+ case [4]Value:
+ h = hashValue(h, vals[0])
+ h = hashValue(h, vals[1])
+ h = hashValue(h, vals[2])
+ h = hashValue(h, vals[3])
+ case [5]Value:
+ h = hashValue(h, vals[0])
+ h = hashValue(h, vals[1])
+ h = hashValue(h, vals[2])
+ h = hashValue(h, vals[3])
+ h = hashValue(h, vals[4])
+ default:
+ rv := reflect.ValueOf(v.slice)
+ for i := 0; i < rv.Len(); i++ {
+ h = hashValue(h, rv.Index(i).Interface().(Value))
+ }
+ }
+ case MAP:
+ h = h.Uint64(mapID)
+ switch vals := v.slice.(type) {
+ case [0]KeyValue:
+ // No values to hash, but the type identifier is still hashed above.
+ case [1]KeyValue:
+ h = h.String(string(vals[0].Key))
+ h = hashValue(h, vals[0].Value)
+ case [2]KeyValue:
+ h = h.String(string(vals[0].Key))
+ h = hashValue(h, vals[0].Value)
+ h = h.String(string(vals[1].Key))
+ h = hashValue(h, vals[1].Value)
+ case [3]KeyValue:
+ h = h.String(string(vals[0].Key))
+ h = hashValue(h, vals[0].Value)
+ h = h.String(string(vals[1].Key))
+ h = hashValue(h, vals[1].Value)
+ h = h.String(string(vals[2].Key))
+ h = hashValue(h, vals[2].Value)
+ case [4]KeyValue:
+ h = h.String(string(vals[0].Key))
+ h = hashValue(h, vals[0].Value)
+ h = h.String(string(vals[1].Key))
+ h = hashValue(h, vals[1].Value)
+ h = h.String(string(vals[2].Key))
+ h = hashValue(h, vals[2].Value)
+ h = h.String(string(vals[3].Key))
+ h = hashValue(h, vals[3].Value)
+ case [5]KeyValue:
+ h = h.String(string(vals[0].Key))
+ h = hashValue(h, vals[0].Value)
+ h = h.String(string(vals[1].Key))
+ h = hashValue(h, vals[1].Value)
+ h = h.String(string(vals[2].Key))
+ h = hashValue(h, vals[2].Value)
+ h = h.String(string(vals[3].Key))
+ h = hashValue(h, vals[3].Value)
+ h = h.String(string(vals[4].Key))
+ h = hashValue(h, vals[4].Value)
+ default:
+ rv := reflect.ValueOf(v.slice)
+ for i := 0; i < rv.Len(); i++ {
+ kv := rv.Index(i).Interface().(KeyValue)
+ h = h.String(string(kv.Key))
+ h = hashValue(h, kv.Value)
+ }
}
case EMPTY:
h = h.Uint64(emptyID)
default:
// Logging is an alternative, but using the internal logger here
// causes an import cycle so it is not done.
- v := kv.Value.AsInterface()
- msg := fmt.Sprintf("unknown value type: %[1]v (%[1]T)", v)
+ val := v.AsInterface()
+ msg := fmt.Sprintf("unknown value type: %[1]v (%[1]T)", val)
panic(msg)
}
return h
diff --git a/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go b/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go
index d9f51fa2d..ec4a5f07f 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go
@@ -5,7 +5,7 @@
Package attribute provide several helper functions for some commonly used
logic of processing attributes.
*/
-package attribute // import "go.opentelemetry.io/otel/attribute/internal"
+package attribute
import (
"reflect"
diff --git a/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go b/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go
index 113a97838..499aa3318 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
// Package xxhash provides a wrapper around the xxhash library for attribute hashing.
-package xxhash // import "go.opentelemetry.io/otel/attribute/internal/xxhash"
+package xxhash
import (
"encoding/binary"
@@ -21,6 +21,7 @@ func New() Hash {
return Hash{d: xxhash.New()}
}
+// Uint64 hashes val into h, returning the updated Hash.
func (h Hash) Uint64(val uint64) Hash {
var buf [8]byte
binary.LittleEndian.PutUint64(buf[:], val)
@@ -40,10 +41,12 @@ func (h Hash) Bool(val bool) Hash { // nolint:revive // This is a hashing functi
return h.Uint64(0)
}
+// Float64 hashes val into h, returning the updated Hash.
func (h Hash) Float64(val float64) Hash {
return h.Uint64(math.Float64bits(val))
}
+// Int64 hashes val into h, returning the updated Hash.
func (h Hash) Int64(val int64) Hash {
return h.Uint64(uint64(val)) // nolint:gosec // Overflow doesn't matter since we are hashing.
}
@@ -62,3 +65,8 @@ func (h Hash) String(val string) Hash {
func (h Hash) Sum64() uint64 {
return h.d.Sum64()
}
+
+// Reset resets the hash to its initial state.
+func (h Hash) Reset() {
+ h.d.Reset()
+}
diff --git a/vendor/go.opentelemetry.io/otel/attribute/iterator.go b/vendor/go.opentelemetry.io/otel/attribute/iterator.go
index 8df6249f0..1afd00ff0 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/iterator.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/iterator.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
// Iterator allows iterating over the set of attributes in order, sorted by
// key.
diff --git a/vendor/go.opentelemetry.io/otel/attribute/key.go b/vendor/go.opentelemetry.io/otel/attribute/key.go
index 80a9e5643..6403191c2 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/key.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/key.go
@@ -1,16 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
// Key represents the key part in key-value pairs. It's a string. The
// allowed character set in the key depends on the use of the key.
type Key string
-// Bool creates a KeyValue instance with a BOOL Value.
+// Bool returns a [KeyValue] for a bool value.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- Bool(name, value).
+// If creating both a key and value at the same time, use the package-level
+// [Bool] function.
func (k Key) Bool(v bool) KeyValue {
return KeyValue{
Key: k,
@@ -18,10 +18,15 @@ func (k Key) Bool(v bool) KeyValue {
}
}
-// BoolSlice creates a KeyValue instance with a BOOLSLICE Value.
+// BoolSlice returns a [KeyValue] for a []bool value.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- BoolSlice(name, value).
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+//
+// If creating both a key and value at the same time, use the package-level
+// [BoolSlice] function.
func (k Key) BoolSlice(v []bool) KeyValue {
return KeyValue{
Key: k,
@@ -29,10 +34,12 @@ func (k Key) BoolSlice(v []bool) KeyValue {
}
}
-// Int creates a KeyValue instance with an INT64 Value.
+// Int returns a [KeyValue] for an int value.
+//
+// It is provided as a convenience for [Key.Int64].
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- Int(name, value).
+// If creating both a key and value at the same time, use the package-level [Int]
+// function.
func (k Key) Int(v int) KeyValue {
return KeyValue{
Key: k,
@@ -40,10 +47,17 @@ func (k Key) Int(v int) KeyValue {
}
}
-// IntSlice creates a KeyValue instance with an INT64SLICE Value.
+// IntSlice returns a [KeyValue] for a []int value.
+//
+// It is provided as a convenience for [Key.Int64Slice].
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- IntSlice(name, value).
+// If creating both a key and value at the same time, use the package-level
+// [IntSlice] function.
func (k Key) IntSlice(v []int) KeyValue {
return KeyValue{
Key: k,
@@ -51,10 +65,10 @@ func (k Key) IntSlice(v []int) KeyValue {
}
}
-// Int64 creates a KeyValue instance with an INT64 Value.
+// Int64 returns a [KeyValue] for an int64 value.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- Int64(name, value).
+// If creating both a key and value at the same time, use the package-level
+// [Int64] function.
func (k Key) Int64(v int64) KeyValue {
return KeyValue{
Key: k,
@@ -62,10 +76,15 @@ func (k Key) Int64(v int64) KeyValue {
}
}
-// Int64Slice creates a KeyValue instance with an INT64SLICE Value.
+// Int64Slice returns a [KeyValue] for a []int64 value.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- Int64Slice(name, value).
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+//
+// If creating both a key and value at the same time, use the package-level
+// [Int64Slice] function.
func (k Key) Int64Slice(v []int64) KeyValue {
return KeyValue{
Key: k,
@@ -73,10 +92,10 @@ func (k Key) Int64Slice(v []int64) KeyValue {
}
}
-// Float64 creates a KeyValue instance with a FLOAT64 Value.
+// Float64 returns a [KeyValue] for a float64 value.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- Float64(name, value).
+// If creating both a key and value at the same time, use the package-level
+// [Float64] function.
func (k Key) Float64(v float64) KeyValue {
return KeyValue{
Key: k,
@@ -84,10 +103,15 @@ func (k Key) Float64(v float64) KeyValue {
}
}
-// Float64Slice creates a KeyValue instance with a FLOAT64SLICE Value.
+// Float64Slice returns a [KeyValue] for a []float64 value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- Float64(name, value).
+// If creating both a key and value at the same time, use the package-level
+// [Float64Slice] function.
func (k Key) Float64Slice(v []float64) KeyValue {
return KeyValue{
Key: k,
@@ -95,10 +119,10 @@ func (k Key) Float64Slice(v []float64) KeyValue {
}
}
-// String creates a KeyValue instance with a STRING Value.
+// String returns a [KeyValue] for a string value.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- String(name, value).
+// If creating both a key and value at the same time, use the package-level
+// [String] function.
func (k Key) String(v string) KeyValue {
return KeyValue{
Key: k,
@@ -106,10 +130,15 @@ func (k Key) String(v string) KeyValue {
}
}
-// StringSlice creates a KeyValue instance with a STRINGSLICE Value.
+// StringSlice returns a [KeyValue] for a []string value.
//
-// If creating both a key and value at the same time, use the provided
-// convenience function instead -- StringSlice(name, value).
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+//
+// If creating both a key and value at the same time, use the package-level
+// [StringSlice] function.
func (k Key) StringSlice(v []string) KeyValue {
return KeyValue{
Key: k,
@@ -117,6 +146,59 @@ func (k Key) StringSlice(v []string) KeyValue {
}
}
+// ByteSlice returns a [KeyValue] for a []byte value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+//
+// If creating both a key and value at the same time, use the package-level
+// [ByteSlice] function.
+func (k Key) ByteSlice(v []byte) KeyValue {
+ return KeyValue{
+ Key: k,
+ Value: ByteSliceValue(v),
+ }
+}
+
+// Slice returns a [KeyValue] for a []Value value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+//
+// If creating both a key and value at the same time, use the package-level
+// [Slice] function.
+func (k Key) Slice(v ...Value) KeyValue {
+ return KeyValue{
+ Key: k,
+ Value: SliceValue(v...),
+ }
+}
+
+// Map returns a [KeyValue] for a []KeyValue value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+//
+// Users should avoid providing duplicate keys; many receivers handle maps
+// containing duplicate keys unpredictably.
+//
+// The order of v is not preserved.
+//
+// If creating both a key and value at the same time, use the package-level [Map]
+// function.
+func (k Key) Map(v ...KeyValue) KeyValue {
+ return KeyValue{
+ Key: k,
+ Value: MapValue(v...),
+ }
+}
+
// Defined reports whether the key is not empty.
func (k Key) Defined() bool {
return len(k) != 0
diff --git a/vendor/go.opentelemetry.io/otel/attribute/kv.go b/vendor/go.opentelemetry.io/otel/attribute/kv.go
index 0cc368018..60d49739a 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/kv.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/kv.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
import (
"fmt"
@@ -13,61 +13,135 @@ type KeyValue struct {
Value Value
}
+// String returns a string representation of KeyValue using the
+// [OpenTelemetry Attribute representation for non-OTLP protocols] rules.
+//
+// The KeyValue is encoded as a JSON object containing a single key-value pair.
+//
+// [OpenTelemetry Attribute representation for non-OTLP protocols]: https://opentelemetry.io/docs/specs/otel/common/#attribute-representation-for-non-otlp
+func (kv KeyValue) String() string {
+ return formatMap([]KeyValue{kv})
+}
+
// Valid reports whether kv is a valid OpenTelemetry attribute.
func (kv KeyValue) Valid() bool {
return kv.Key.Defined()
}
-// Bool creates a KeyValue with a BOOL Value type.
+// Bool returns a [KeyValue] for a bool value.
func Bool(k string, v bool) KeyValue {
return Key(k).Bool(v)
}
-// BoolSlice creates a KeyValue with a BOOLSLICE Value type.
+// BoolSlice returns a [KeyValue] for a []bool value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func BoolSlice(k string, v []bool) KeyValue {
return Key(k).BoolSlice(v)
}
-// Int creates a KeyValue with an INT64 Value type.
+// Int returns a [KeyValue] for an int value.
+//
+// It is provided as a convenience for [Int64].
func Int(k string, v int) KeyValue {
return Key(k).Int(v)
}
-// IntSlice creates a KeyValue with an INT64SLICE Value type.
+// IntSlice returns a [KeyValue] for a []int value.
+//
+// It is provided as a convenience for [Int64Slice].
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func IntSlice(k string, v []int) KeyValue {
return Key(k).IntSlice(v)
}
-// Int64 creates a KeyValue with an INT64 Value type.
+// Int64 returns a [KeyValue] for an int64 value.
func Int64(k string, v int64) KeyValue {
return Key(k).Int64(v)
}
-// Int64Slice creates a KeyValue with an INT64SLICE Value type.
+// Int64Slice returns a [KeyValue] for a []int64 value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func Int64Slice(k string, v []int64) KeyValue {
return Key(k).Int64Slice(v)
}
-// Float64 creates a KeyValue with a FLOAT64 Value type.
+// Float64 returns a [KeyValue] for a float64 value.
func Float64(k string, v float64) KeyValue {
return Key(k).Float64(v)
}
-// Float64Slice creates a KeyValue with a FLOAT64SLICE Value type.
+// Float64Slice returns a [KeyValue] for a []float64 value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func Float64Slice(k string, v []float64) KeyValue {
return Key(k).Float64Slice(v)
}
-// String creates a KeyValue with a STRING Value type.
+// String returns a [KeyValue] for a string value.
func String(k, v string) KeyValue {
return Key(k).String(v)
}
-// StringSlice creates a KeyValue with a STRINGSLICE Value type.
+// StringSlice returns a [KeyValue] for a []string value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func StringSlice(k string, v []string) KeyValue {
return Key(k).StringSlice(v)
}
+// ByteSlice returns a [KeyValue] for a []byte value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+func ByteSlice(k string, v []byte) KeyValue {
+ return Key(k).ByteSlice(v)
+}
+
+// Slice returns a [KeyValue] for a []Value value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+func Slice(k string, v ...Value) KeyValue {
+ return Key(k).Slice(v...)
+}
+
+// Map returns a [KeyValue] for a []KeyValue value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+//
+// Users should avoid providing duplicate keys; many receivers handle maps
+// containing duplicate keys unpredictably.
+//
+// The order of v is not preserved.
+func Map(k string, v ...KeyValue) KeyValue {
+ return Key(k).Map(v...)
+}
+
// Stringer creates a new key-value pair with a passed name and a string
// value generated by the passed Stringer interface.
func Stringer(k string, v fmt.Stringer) KeyValue {
diff --git a/vendor/go.opentelemetry.io/otel/attribute/rawhelpers.go b/vendor/go.opentelemetry.io/otel/attribute/rawhelpers.go
index 5791c6e7a..939e46f90 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/rawhelpers.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/rawhelpers.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
import (
"math"
diff --git a/vendor/go.opentelemetry.io/otel/attribute/set.go b/vendor/go.opentelemetry.io/otel/attribute/set.go
index 6572c98b1..d3b2e240b 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/set.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/set.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
import (
"cmp"
@@ -313,6 +313,9 @@ func filteredToFront(slice []KeyValue, keep Filter) int {
// Filter returns a filtered copy of this Set. See the documentation for
// NewSetWithSortableFiltered for more details.
func (l *Set) Filter(re Filter) (Set, []KeyValue) {
+ if l == nil {
+ return emptySet, nil
+ }
if re == nil {
return *l, nil
}
@@ -401,11 +404,26 @@ func computeDataFixed(kvs []KeyValue) any {
func computeDataReflect(kvs []KeyValue) any {
at := reflect.New(reflect.ArrayOf(len(kvs), keyValueType)).Elem()
for i, keyValue := range kvs {
- *(at.Index(i).Addr().Interface().(*KeyValue)) = keyValue
+ *at.Index(i).Addr().Interface().(*KeyValue) = keyValue
}
return at.Interface()
}
+// String returns a string representation of the Set using the
+// [OpenTelemetry Attribute Collection representation for non-OTLP protocols]
+// rules.
+//
+// The Set is encoded as a JSON object. A nil or empty Set is encoded as an
+// empty JSON object.
+//
+// [OpenTelemetry Attribute Collection representation for non-OTLP protocols]: https://opentelemetry.io/docs/specs/otel/common/#attribute-collection-representation-for-non-otlp
+func (l *Set) String() string {
+ if l == nil || l.hash == 0 {
+ return "{}"
+ }
+ return formatMapValue(l.data)
+}
+
// MarshalJSON returns the JSON encoding of the Set.
func (l *Set) MarshalJSON() ([]byte, error) {
return json.Marshal(l.data)
@@ -415,7 +433,7 @@ func (l *Set) MarshalJSON() ([]byte, error) {
func (l Set) MarshalLog() any {
kvs := make(map[string]string)
for _, kv := range l.ToSlice() {
- kvs[string(kv.Key)] = kv.Value.Emit()
+ kvs[string(kv.Key)] = kv.Value.String()
}
return kvs
}
diff --git a/vendor/go.opentelemetry.io/otel/attribute/type_string.go b/vendor/go.opentelemetry.io/otel/attribute/type_string.go
index 6c04448d6..ab5da2288 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/type_string.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/type_string.go
@@ -17,11 +17,14 @@ func _() {
_ = x[INT64SLICE-6]
_ = x[FLOAT64SLICE-7]
_ = x[STRINGSLICE-8]
+ _ = x[BYTESLICE-9]
+ _ = x[SLICE-10]
+ _ = x[MAP-11]
}
-const _Type_name = "EMPTYBOOLINT64FLOAT64STRINGBOOLSLICEINT64SLICEFLOAT64SLICESTRINGSLICE"
+const _Type_name = "EMPTYBOOLINT64FLOAT64STRINGBOOLSLICEINT64SLICEFLOAT64SLICESTRINGSLICEBYTESLICESLICEMAP"
-var _Type_index = [...]uint8{0, 5, 9, 14, 21, 27, 36, 46, 58, 69}
+var _Type_index = [...]uint8{0, 5, 9, 14, 21, 27, 36, 46, 58, 69, 78, 83, 86}
func (i Type) String() string {
idx := int(i) - 0
diff --git a/vendor/go.opentelemetry.io/otel/attribute/value.go b/vendor/go.opentelemetry.io/otel/attribute/value.go
index db04b1326..07a0353a1 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/value.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/value.go
@@ -1,22 +1,29 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package attribute // import "go.opentelemetry.io/otel/attribute"
+package attribute
import (
+ "cmp"
+ "encoding/base64"
"encoding/json"
"fmt"
+ "math"
+ "reflect"
+ "slices"
"strconv"
+ "strings"
+ "unicode/utf8"
attribute "go.opentelemetry.io/otel/attribute/internal"
)
//go:generate stringer -type=Type
-// Type describes the type of the data Value holds.
+// Type describes the kind of data a [Value] holds.
type Type int // nolint: revive // redefines builtin Type.
-// Value represents the value part in key-value pairs.
+// Value represents the value in key-value pairs.
//
// Note that the zero value is a valid empty value.
type Value struct {
@@ -27,31 +34,40 @@ type Value struct {
}
const (
- // EMPTY is used for a Value with no value set.
+ // EMPTY identifies a Value with no data.
EMPTY Type = iota
- // BOOL is a boolean Type Value.
+ // BOOL identifies a Value containing a bool.
BOOL
- // INT64 is a 64-bit signed integral Type Value.
+ // INT64 identifies a Value containing an int64.
INT64
- // FLOAT64 is a 64-bit floating point Type Value.
+ // FLOAT64 identifies a Value containing a float64.
FLOAT64
- // STRING is a string Type Value.
+ // STRING identifies a Value containing a string.
STRING
- // BOOLSLICE is a slice of booleans Type Value.
+ // BOOLSLICE identifies a Value containing a []bool.
BOOLSLICE
- // INT64SLICE is a slice of 64-bit signed integral numbers Type Value.
+ // INT64SLICE identifies a Value containing a []int64.
INT64SLICE
- // FLOAT64SLICE is a slice of 64-bit floating point numbers Type Value.
+ // FLOAT64SLICE identifies a Value containing a []float64.
FLOAT64SLICE
- // STRINGSLICE is a slice of strings Type Value.
+ // STRINGSLICE identifies a Value containing a []string.
STRINGSLICE
+ // BYTESLICE identifies a Value containing a []byte.
+ BYTESLICE
+ // SLICE identifies a Value containing a []Value.
+ SLICE
+ // MAP identifies a Value containing a []KeyValue representation of a map.
+ //
+ // Note that MAP values may contain duplicate keys if duplicate keys are
+ // provided when creating the value.
+ MAP
// INVALID is used for a Value with no value set.
//
// Deprecated: Use EMPTY instead as an empty value is a valid value.
INVALID = EMPTY
)
-// BoolValue creates a BOOL Value.
+// BoolValue returns a [Value] for a bool value.
func BoolValue(v bool) Value {
return Value{
vtype: BOOL,
@@ -59,17 +75,31 @@ func BoolValue(v bool) Value {
}
}
-// BoolSliceValue creates a BOOLSLICE Value.
+// BoolSliceValue returns a [Value] for a []bool value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func BoolSliceValue(v []bool) Value {
return Value{vtype: BOOLSLICE, slice: attribute.SliceValue(v)}
}
-// IntValue creates an INT64 Value.
+// IntValue returns a [Value] for an int value.
+//
+// It is provided as a convenience for [Int64Value].
func IntValue(v int) Value {
return Int64Value(int64(v))
}
-// IntSliceValue creates an INT64SLICE Value.
+// IntSliceValue returns a [Value] for a []int value.
+//
+// It is provided as a convenience for [Int64SliceValue].
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func IntSliceValue(v []int) Value {
val := Value{vtype: INT64SLICE}
@@ -95,7 +125,7 @@ func IntSliceValue(v []int) Value {
return val
}
-// Int64Value creates an INT64 Value.
+// Int64Value returns a [Value] for an int64 value.
func Int64Value(v int64) Value {
return Value{
vtype: INT64,
@@ -103,12 +133,17 @@ func Int64Value(v int64) Value {
}
}
-// Int64SliceValue creates an INT64SLICE Value.
+// Int64SliceValue returns a [Value] for a []int64 value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func Int64SliceValue(v []int64) Value {
return Value{vtype: INT64SLICE, slice: attribute.SliceValue(v)}
}
-// Float64Value creates a FLOAT64 Value.
+// Float64Value returns a [Value] for a float64 value.
func Float64Value(v float64) Value {
return Value{
vtype: FLOAT64,
@@ -116,12 +151,17 @@ func Float64Value(v float64) Value {
}
}
-// Float64SliceValue creates a FLOAT64SLICE Value.
+// Float64SliceValue returns a [Value] for a []float64 value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func Float64SliceValue(v []float64) Value {
return Value{vtype: FLOAT64SLICE, slice: attribute.SliceValue(v)}
}
-// StringValue creates a STRING Value.
+// StringValue returns a [Value] for a string value.
func StringValue(v string) Value {
return Value{
vtype: STRING,
@@ -129,12 +169,55 @@ func StringValue(v string) Value {
}
}
-// StringSliceValue creates a STRINGSLICE Value.
+// StringSliceValue returns a [Value] for a []string value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
func StringSliceValue(v []string) Value {
return Value{vtype: STRINGSLICE, slice: attribute.SliceValue(v)}
}
-// Type returns a type of the Value.
+// ByteSliceValue returns a [Value] for a []byte value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+func ByteSliceValue(v []byte) Value {
+ return Value{
+ vtype: BYTESLICE,
+ stringly: string(v),
+ }
+}
+
+// SliceValue returns a [Value] for a []Value value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+func SliceValue(v ...Value) Value {
+ return Value{vtype: SLICE, slice: sliceValue(v)}
+}
+
+// MapValue returns a [Value] for a []KeyValue value.
+//
+// Note that many observability backends are not optimized to query, index, or
+// aggregate complex attribute values. Complex values may also carry
+// additional performance overhead. Prefer primitive values when
+// possible.
+//
+// Users should avoid providing duplicate keys; many receivers handle maps
+// containing duplicate keys unpredictably.
+//
+// The order of v is not preserved.
+func MapValue(v ...KeyValue) Value {
+ return Value{vtype: MAP, slice: mapValue(v)}
+}
+
+// Type returns v's type.
func (v Value) Type() Type {
return v.vtype
}
@@ -215,6 +298,106 @@ func (v Value) asStringSlice() []string {
return attribute.AsSlice[string](v.slice)
}
+// AsSlice returns the []Value value. Make sure that the Value's type is
+// SLICE.
+func (v Value) AsSlice() []Value {
+ if v.vtype != SLICE {
+ return nil
+ }
+ return v.asSlice()
+}
+
+func (v Value) asSlice() []Value {
+ switch vals := v.slice.(type) {
+ case [0]Value:
+ return []Value{}
+ case [1]Value:
+ return []Value{vals[0]}
+ case [2]Value:
+ return []Value{vals[0], vals[1]}
+ case [3]Value:
+ return []Value{vals[0], vals[1], vals[2]}
+ case [4]Value:
+ return []Value{vals[0], vals[1], vals[2], vals[3]}
+ case [5]Value:
+ return []Value{vals[0], vals[1], vals[2], vals[3], vals[4]}
+ default:
+ return asValueSliceReflect(v.slice)
+ }
+}
+
+func asValueSliceReflect(v any) []Value {
+ rv := reflect.ValueOf(v)
+ if !rv.IsValid() || rv.Kind() != reflect.Array || rv.Type().Elem() != reflect.TypeFor[Value]() {
+ return nil
+ }
+ cpy := make([]Value, rv.Len())
+ if len(cpy) > 0 {
+ _ = reflect.Copy(reflect.ValueOf(cpy), rv)
+ }
+ return cpy
+}
+
+// AsMap returns the []KeyValue value. Make sure that the Value's type is
+// MAP.
+//
+// The returned slice is sorted by key and may differ from the order
+// provided when creating the map value.
+//
+// The returned slice may contain duplicate keys if duplicate keys were
+// provided when creating the map value. Callers should not assume the returned
+// keys are unique.
+func (v Value) AsMap() []KeyValue {
+ if v.vtype != MAP {
+ return nil
+ }
+ return v.asMap()
+}
+
+func (v Value) asMap() []KeyValue {
+ switch vals := v.slice.(type) {
+ case [0]KeyValue:
+ return []KeyValue{}
+ case [1]KeyValue:
+ return []KeyValue{vals[0]}
+ case [2]KeyValue:
+ return []KeyValue{vals[0], vals[1]}
+ case [3]KeyValue:
+ return []KeyValue{vals[0], vals[1], vals[2]}
+ case [4]KeyValue:
+ return []KeyValue{vals[0], vals[1], vals[2], vals[3]}
+ case [5]KeyValue:
+ return []KeyValue{vals[0], vals[1], vals[2], vals[3], vals[4]}
+ default:
+ return asKeyValueSliceReflect(v.slice)
+ }
+}
+
+func asKeyValueSliceReflect(v any) []KeyValue {
+ rv := reflect.ValueOf(v)
+ if !rv.IsValid() || rv.Kind() != reflect.Array || rv.Type().Elem() != reflect.TypeFor[KeyValue]() {
+ return nil
+ }
+ cpy := make([]KeyValue, rv.Len())
+ if len(cpy) > 0 {
+ _ = reflect.Copy(reflect.ValueOf(cpy), rv)
+ }
+ return cpy
+}
+
+// AsByteSlice returns the bytes value. Make sure that the Value's type
+// is BYTESLICE.
+func (v Value) AsByteSlice() []byte {
+ if v.vtype != BYTESLICE {
+ return nil
+ }
+ return v.asByteSlice()
+}
+
+func (v Value) asByteSlice() []byte {
+ return []byte(v.stringly)
+}
+
type unknownValueType struct{}
// AsInterface returns Value's data as any.
@@ -236,13 +419,64 @@ func (v Value) AsInterface() any {
return v.stringly
case STRINGSLICE:
return v.asStringSlice()
+ case BYTESLICE:
+ return v.asByteSlice()
+ case SLICE:
+ return v.asSlice()
+ case MAP:
+ return v.asMap()
case EMPTY:
return nil
}
return unknownValueType{}
}
+// String returns a string representation of Value using the
+// [OpenTelemetry AnyValue representation for non-OTLP protocols] rules.
+//
+// Strings are returned as-is without JSON quoting, booleans and integers use
+// JSON literals, floating-point values use JSON numbers except that NaN and
+// ±Inf are rendered as NaN, Infinity, and -Infinity, byte slices are
+// base64-encoded, empty values are the empty string, slices are encoded as JSON
+// arrays, and maps are encoded as JSON objects. String, byte, and special
+// floating-point values inside arrays and maps are encoded as JSON strings, and
+// empty values inside arrays and maps are encoded as null.
+//
+// [OpenTelemetry AnyValue representation for non-OTLP protocols]: https://opentelemetry.io/docs/specs/otel/common/#anyvalue-representation-for-non-otlp-protocols
+func (v Value) String() string {
+ switch v.Type() {
+ case BOOL:
+ return strconv.FormatBool(v.AsBool())
+ case BOOLSLICE:
+ return formatBoolSliceValue(v.slice)
+ case INT64:
+ return strconv.FormatInt(v.AsInt64(), 10)
+ case INT64SLICE:
+ return formatInt64SliceValue(v.slice)
+ case FLOAT64:
+ return formatFloat64(v.AsFloat64())
+ case FLOAT64SLICE:
+ return formatFloat64SliceValue(v.slice)
+ case STRING:
+ return v.stringly
+ case STRINGSLICE:
+ return formatStringSliceValue(v.slice)
+ case BYTESLICE:
+ return formatByteSlice(v.stringly)
+ case SLICE:
+ return formatValueSliceValue(v.slice)
+ case MAP:
+ return formatMapValue(v.slice)
+ case EMPTY:
+ return ""
+ default:
+ return "unknown"
+ }
+}
+
// Emit returns a string representation of Value's data.
+//
+// Deprecated: Use [Value.String] instead.
func (v Value) Emit() string {
switch v.Type() {
case BOOLSLICE:
@@ -273,6 +507,12 @@ func (v Value) Emit() string {
return string(j)
case STRING:
return v.stringly
+ case BYTESLICE:
+ return formatByteSlice(v.stringly)
+ case SLICE:
+ return formatValueSliceValue(v.slice)
+ case MAP:
+ return formatMapValue(v.slice)
case EMPTY:
return ""
default:
@@ -280,6 +520,758 @@ func (v Value) Emit() string {
}
}
+const (
+ jsonArrayBracketsLen = len("[]")
+ boolArrayElemMaxLen = len("false")
+ int64ArrayElemMaxLen = len("-9223372036854775808")
+ float64ArrayElemMaxLen = len("-1.7976931348623157e+308")
+ commaLen = len(",")
+)
+
+func sliceValue(v []Value) any {
+ switch len(v) {
+ case 0:
+ return [0]Value{}
+ case 1:
+ return [1]Value{v[0]}
+ case 2:
+ return [2]Value{v[0], v[1]}
+ case 3:
+ return [3]Value{v[0], v[1], v[2]}
+ case 4:
+ return [4]Value{v[0], v[1], v[2], v[3]}
+ case 5:
+ return [5]Value{v[0], v[1], v[2], v[3], v[4]}
+ default:
+ return sliceValueReflect(v)
+ }
+}
+
+func sliceValueReflect(v []Value) any {
+ cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeFor[Value]())).Elem()
+ reflect.Copy(cp, reflect.ValueOf(v))
+ return cp.Interface()
+}
+
+func mapValue(v []KeyValue) any {
+ switch len(v) {
+ case 0:
+ return [0]KeyValue{}
+ case 1:
+ return [1]KeyValue{v[0]}
+ case 2:
+ vals := [2]KeyValue{v[0], v[1]}
+ sortKeyValues(vals[:])
+ return vals
+ case 3:
+ vals := [3]KeyValue{v[0], v[1], v[2]}
+ sortKeyValues(vals[:])
+ return vals
+ case 4:
+ vals := [4]KeyValue{v[0], v[1], v[2], v[3]}
+ sortKeyValues(vals[:])
+ return vals
+ case 5:
+ vals := [5]KeyValue{v[0], v[1], v[2], v[3], v[4]}
+ sortKeyValues(vals[:])
+ return vals
+ default:
+ return mapValueReflect(v)
+ }
+}
+
+func mapValueReflect(v []KeyValue) any {
+ cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeFor[KeyValue]())).Elem()
+ reflect.Copy(cp, reflect.ValueOf(v))
+ vals := cp.Slice(0, len(v)).Interface().([]KeyValue)
+ sortKeyValues(vals)
+ return cp.Interface()
+}
+
+func sortKeyValues(vals []KeyValue) {
+ slices.SortStableFunc(vals, func(a, b KeyValue) int {
+ return cmp.Compare(a.Key, b.Key)
+ })
+}
+
+func formatBoolSliceValue(v any) string {
+ switch vals := v.(type) {
+ case [0]bool:
+ return "[]"
+ case [1]bool:
+ return formatBoolSlice(vals[:])
+ case [2]bool:
+ return formatBoolSlice(vals[:])
+ case [3]bool:
+ return formatBoolSlice(vals[:])
+ default:
+ return formatBoolSliceReflect(v)
+ }
+}
+
+func formatBoolSlice(vals []bool) string {
+ var b strings.Builder
+ appendBoolSlice(&b, vals)
+ return b.String()
+}
+
+func formatBoolSliceReflect(v any) string {
+ var b strings.Builder
+ appendBoolSliceReflect(&b, reflect.ValueOf(v))
+ return b.String()
+}
+
+func appendBoolSliceValue(dst *strings.Builder, v any) {
+ switch vals := v.(type) {
+ case [0]bool:
+ _, _ = dst.WriteString("[]")
+ case [1]bool:
+ appendBoolSlice(dst, vals[:])
+ case [2]bool:
+ appendBoolSlice(dst, vals[:])
+ case [3]bool:
+ appendBoolSlice(dst, vals[:])
+ default:
+ appendBoolSliceReflect(dst, reflect.ValueOf(v))
+ }
+}
+
+func appendBoolSlice(dst *strings.Builder, vals []bool) {
+ dst.Grow(jsonArrayBracketsLen + len(vals)*(boolArrayElemMaxLen+commaLen))
+ _ = dst.WriteByte('[')
+ for i, val := range vals {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ if val {
+ _, _ = dst.WriteString("true")
+ } else {
+ _, _ = dst.WriteString("false")
+ }
+ }
+ _ = dst.WriteByte(']')
+}
+
+func appendBoolSliceReflect(dst *strings.Builder, rv reflect.Value) {
+ dst.Grow(jsonArrayBracketsLen + rv.Len()*(boolArrayElemMaxLen+commaLen))
+ _ = dst.WriteByte('[')
+ for i := 0; i < rv.Len(); i++ {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ if rv.Index(i).Bool() {
+ _, _ = dst.WriteString("true")
+ } else {
+ _, _ = dst.WriteString("false")
+ }
+ }
+ _ = dst.WriteByte(']')
+}
+
+func formatInt64SliceValue(v any) string {
+ switch vals := v.(type) {
+ case [0]int64:
+ return "[]"
+ case [1]int64:
+ return formatInt64Slice(vals[:])
+ case [2]int64:
+ return formatInt64Slice(vals[:])
+ case [3]int64:
+ return formatInt64Slice(vals[:])
+ default:
+ return formatInt64SliceReflect(v)
+ }
+}
+
+func formatInt64Slice(vals []int64) string {
+ var b strings.Builder
+ appendInt64Slice(&b, vals)
+ return b.String()
+}
+
+func formatInt64SliceReflect(v any) string {
+ var b strings.Builder
+ appendInt64SliceReflect(&b, reflect.ValueOf(v))
+ return b.String()
+}
+
+func appendInt64SliceValue(dst *strings.Builder, v any) {
+ switch vals := v.(type) {
+ case [0]int64:
+ _, _ = dst.WriteString("[]")
+ case [1]int64:
+ appendInt64Slice(dst, vals[:])
+ case [2]int64:
+ appendInt64Slice(dst, vals[:])
+ case [3]int64:
+ appendInt64Slice(dst, vals[:])
+ default:
+ appendInt64SliceReflect(dst, reflect.ValueOf(v))
+ }
+}
+
+func appendInt64Slice(dst *strings.Builder, vals []int64) {
+ dst.Grow(jsonArrayBracketsLen + len(vals)*(int64ArrayElemMaxLen+commaLen))
+ _ = dst.WriteByte('[')
+
+ var buf [int64ArrayElemMaxLen]byte
+ for i, val := range vals {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ out := strconv.AppendInt(buf[:0], val, 10)
+ _, _ = dst.Write(out)
+ }
+
+ _ = dst.WriteByte(']')
+}
+
+func appendInt64SliceReflect(dst *strings.Builder, rv reflect.Value) {
+ dst.Grow(jsonArrayBracketsLen + rv.Len()*(int64ArrayElemMaxLen+commaLen))
+ _ = dst.WriteByte('[')
+
+ var scratch [int64ArrayElemMaxLen]byte
+ for i := 0; i < rv.Len(); i++ {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ out := strconv.AppendInt(scratch[:0], rv.Index(i).Int(), 10)
+ _, _ = dst.Write(out)
+ }
+
+ _ = dst.WriteByte(']')
+}
+
+func formatFloat64(v float64) string {
+ switch {
+ case math.IsNaN(v):
+ return "NaN"
+ case math.IsInf(v, 1):
+ return "Infinity"
+ case math.IsInf(v, -1):
+ return "-Infinity"
+ default:
+ return strconv.FormatFloat(v, 'g', -1, 64)
+ }
+}
+
+func formatFloat64SliceValue(v any) string {
+ switch vals := v.(type) {
+ case [0]float64:
+ return "[]"
+ case [1]float64:
+ return formatFloat64Slice(vals[:])
+ case [2]float64:
+ return formatFloat64Slice(vals[:])
+ case [3]float64:
+ return formatFloat64Slice(vals[:])
+ default:
+ return formatFloat64SliceReflect(v)
+ }
+}
+
+func formatFloat64Slice(vals []float64) string {
+ var b strings.Builder
+ appendFloat64Slice(&b, vals)
+ return b.String()
+}
+
+func formatFloat64SliceReflect(v any) string {
+ var b strings.Builder
+ appendFloat64SliceReflect(&b, reflect.ValueOf(v))
+ return b.String()
+}
+
+func appendFloat64SliceValue(dst *strings.Builder, v any) {
+ switch vals := v.(type) {
+ case [0]float64:
+ _, _ = dst.WriteString("[]")
+ case [1]float64:
+ appendFloat64Slice(dst, vals[:])
+ case [2]float64:
+ appendFloat64Slice(dst, vals[:])
+ case [3]float64:
+ appendFloat64Slice(dst, vals[:])
+ default:
+ appendFloat64SliceReflect(dst, reflect.ValueOf(v))
+ }
+}
+
+func appendFloat64Slice(dst *strings.Builder, vals []float64) {
+ dst.Grow(jsonArrayBracketsLen + len(vals)*(float64ArrayElemMaxLen+commaLen))
+ _ = dst.WriteByte('[')
+
+ var buf [float64ArrayElemMaxLen]byte
+ for i, val := range vals {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+
+ switch {
+ case math.IsNaN(val):
+ _, _ = dst.WriteString(`"NaN"`)
+ case math.IsInf(val, 1):
+ _, _ = dst.WriteString(`"Infinity"`)
+ case math.IsInf(val, -1):
+ _, _ = dst.WriteString(`"-Infinity"`)
+ default:
+ out := strconv.AppendFloat(buf[:0], val, 'g', -1, 64)
+ _, _ = dst.Write(out)
+ }
+ }
+
+ _ = dst.WriteByte(']')
+}
+
+func appendFloat64SliceReflect(dst *strings.Builder, rv reflect.Value) {
+ dst.Grow(jsonArrayBracketsLen + rv.Len()*(float64ArrayElemMaxLen+commaLen))
+ _ = dst.WriteByte('[')
+
+ var scratch [float64ArrayElemMaxLen]byte
+ for i := 0; i < rv.Len(); i++ {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ val := rv.Index(i).Float()
+ switch {
+ case math.IsNaN(val):
+ _, _ = dst.WriteString(`"NaN"`)
+ case math.IsInf(val, 1):
+ _, _ = dst.WriteString(`"Infinity"`)
+ case math.IsInf(val, -1):
+ _, _ = dst.WriteString(`"-Infinity"`)
+ default:
+ out := strconv.AppendFloat(scratch[:0], val, 'g', -1, 64)
+ _, _ = dst.Write(out)
+ }
+ }
+
+ _ = dst.WriteByte(']')
+}
+
+func formatStringSliceValue(v any) string {
+ switch vals := v.(type) {
+ case [0]string:
+ return "[]"
+ case [1]string:
+ return formatStringSlice(vals[:])
+ case [2]string:
+ return formatStringSlice(vals[:])
+ case [3]string:
+ return formatStringSlice(vals[:])
+ default:
+ return formatStringSliceReflect(v)
+ }
+}
+
+func formatStringSlice(vals []string) string {
+ var b strings.Builder
+ appendStringSlice(&b, vals)
+ return b.String()
+}
+
+func formatStringSliceReflect(v any) string {
+ var b strings.Builder
+ appendStringSliceReflect(&b, reflect.ValueOf(v))
+ return b.String()
+}
+
+func appendStringSliceValue(dst *strings.Builder, v any) {
+ switch vals := v.(type) {
+ case [0]string:
+ _, _ = dst.WriteString("[]")
+ case [1]string:
+ appendStringSlice(dst, vals[:])
+ case [2]string:
+ appendStringSlice(dst, vals[:])
+ case [3]string:
+ appendStringSlice(dst, vals[:])
+ default:
+ appendStringSliceReflect(dst, reflect.ValueOf(v))
+ }
+}
+
+func appendStringSlice(dst *strings.Builder, vals []string) {
+ size := jsonArrayBracketsLen
+ for _, val := range vals {
+ size += len(val) + commaLen + 2 // Account for JSON string quotes and comma.
+ }
+
+ dst.Grow(size)
+ _ = dst.WriteByte('[')
+ for i, val := range vals {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ appendJSONString(dst, val)
+ }
+ _ = dst.WriteByte(']')
+}
+
+func appendStringSliceReflect(dst *strings.Builder, rv reflect.Value) {
+ size := jsonArrayBracketsLen
+ for i := 0; i < rv.Len(); i++ {
+ size += len(rv.Index(i).String()) + commaLen + 2 // Account for JSON string quotes and comma.
+ }
+
+ dst.Grow(size)
+ _ = dst.WriteByte('[')
+ for i := 0; i < rv.Len(); i++ {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ appendJSONString(dst, rv.Index(i).String())
+ }
+ _ = dst.WriteByte(']')
+}
+
+func formatByteSlice(v string) string {
+ var b strings.Builder
+ appendBase64(&b, v)
+ return b.String()
+}
+
+func formatValueSliceValue(v any) string {
+ switch vals := v.(type) {
+ case [0]Value:
+ return "[]"
+ case [1]Value:
+ return formatValueSlice(vals[:])
+ case [2]Value:
+ return formatValueSlice(vals[:])
+ case [3]Value:
+ return formatValueSlice(vals[:])
+ case [4]Value:
+ return formatValueSlice(vals[:])
+ case [5]Value:
+ return formatValueSlice(vals[:])
+ default:
+ return formatValueSliceReflect(v)
+ }
+}
+
+func formatValueSlice(vals []Value) string {
+ var b strings.Builder
+ appendValueSlice(&b, vals)
+ return b.String()
+}
+
+func formatValueSliceReflect(v any) string {
+ var b strings.Builder
+ appendValueSliceReflect(&b, reflect.ValueOf(v))
+ return b.String()
+}
+
+func formatMapValue(v any) string {
+ switch vals := v.(type) {
+ case [0]KeyValue:
+ return "{}"
+ case [1]KeyValue:
+ return formatMap(vals[:])
+ case [2]KeyValue:
+ return formatMap(vals[:])
+ case [3]KeyValue:
+ return formatMap(vals[:])
+ case [4]KeyValue:
+ return formatMap(vals[:])
+ case [5]KeyValue:
+ return formatMap(vals[:])
+ default:
+ return formatMapReflect(v)
+ }
+}
+
+func formatMap(vals []KeyValue) string {
+ var b strings.Builder
+ appendMap(&b, vals)
+ return b.String()
+}
+
+func formatMapReflect(v any) string {
+ var b strings.Builder
+ appendMapReflect(&b, reflect.ValueOf(v))
+ return b.String()
+}
+
+func appendValueSliceValue(dst *strings.Builder, v any) {
+ switch vals := v.(type) {
+ case [0]Value:
+ _, _ = dst.WriteString("[]")
+ case [1]Value:
+ appendValueSlice(dst, vals[:])
+ case [2]Value:
+ appendValueSlice(dst, vals[:])
+ case [3]Value:
+ appendValueSlice(dst, vals[:])
+ case [4]Value:
+ appendValueSlice(dst, vals[:])
+ case [5]Value:
+ appendValueSlice(dst, vals[:])
+ default:
+ appendValueSliceReflect(dst, reflect.ValueOf(v))
+ }
+}
+
+func appendValueSlice(dst *strings.Builder, vals []Value) {
+ // Estimate 10 bytes per value for small values and commas.
+ dst.Grow(jsonArrayBracketsLen + len(vals)*commaLen + len(vals)*10)
+ _ = dst.WriteByte('[')
+ for i, val := range vals {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ appendJSONValue(dst, val)
+ }
+ _ = dst.WriteByte(']')
+}
+
+func appendValueSliceReflect(dst *strings.Builder, rv reflect.Value) {
+ // Estimate 10 bytes per value for small values and commas.
+ dst.Grow(jsonArrayBracketsLen + rv.Len()*commaLen + rv.Len()*10)
+ _ = dst.WriteByte('[')
+ for i := 0; i < rv.Len(); i++ {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ appendJSONValue(dst, rv.Index(i).Interface().(Value))
+ }
+ _ = dst.WriteByte(']')
+}
+
+func appendMapValue(dst *strings.Builder, v any) {
+ switch vals := v.(type) {
+ case [0]KeyValue:
+ _, _ = dst.WriteString("{}")
+ case [1]KeyValue:
+ appendMap(dst, vals[:])
+ case [2]KeyValue:
+ appendMap(dst, vals[:])
+ case [3]KeyValue:
+ appendMap(dst, vals[:])
+ case [4]KeyValue:
+ appendMap(dst, vals[:])
+ case [5]KeyValue:
+ appendMap(dst, vals[:])
+ default:
+ appendMapReflect(dst, reflect.ValueOf(v))
+ }
+}
+
+func appendMap(dst *strings.Builder, vals []KeyValue) {
+ // Estimate 32 bytes per value for small values, plus key quotes, colon,
+ // and commas. Escaped keys and larger values grow the builder as needed.
+ size := len("{}") + len(vals)*commaLen + len(vals)*32
+ for _, val := range vals {
+ size += len(val.Key) + len(`"":`)
+ }
+
+ dst.Grow(size)
+ _ = dst.WriteByte('{')
+ for i, val := range vals {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ appendJSONString(dst, string(val.Key))
+ _ = dst.WriteByte(':')
+ appendJSONValue(dst, val.Value)
+ }
+ _ = dst.WriteByte('}')
+}
+
+func appendMapReflect(dst *strings.Builder, rv reflect.Value) {
+ // Estimate 32 bytes per value for small values, plus key quotes, colon,
+ // and commas. Escaped keys and larger values grow the builder as needed.
+ size := len("{}") + rv.Len()*commaLen + rv.Len()*32
+ for i := 0; i < rv.Len(); i++ {
+ size += len(rv.Index(i).Field(0).String()) + len(`"":`)
+ }
+
+ dst.Grow(size)
+ _ = dst.WriteByte('{')
+ for i := 0; i < rv.Len(); i++ {
+ if i > 0 {
+ _ = dst.WriteByte(',')
+ }
+ val := rv.Index(i).Interface().(KeyValue)
+ appendJSONString(dst, string(val.Key))
+ _ = dst.WriteByte(':')
+ appendJSONValue(dst, val.Value)
+ }
+ _ = dst.WriteByte('}')
+}
+
+func appendJSONValue(dst *strings.Builder, v Value) {
+ switch v.Type() {
+ case BOOL:
+ if v.AsBool() {
+ _, _ = dst.WriteString("true")
+ } else {
+ _, _ = dst.WriteString("false")
+ }
+ case BOOLSLICE:
+ appendBoolSliceValue(dst, v.slice)
+ case INT64:
+ var buf [int64ArrayElemMaxLen]byte
+ out := strconv.AppendInt(buf[:0], v.AsInt64(), 10)
+ _, _ = dst.Write(out)
+ case INT64SLICE:
+ appendInt64SliceValue(dst, v.slice)
+ case FLOAT64:
+ val := v.AsFloat64()
+ switch {
+ case math.IsNaN(val):
+ appendJSONString(dst, "NaN")
+ case math.IsInf(val, 1):
+ appendJSONString(dst, "Infinity")
+ case math.IsInf(val, -1):
+ appendJSONString(dst, "-Infinity")
+ default:
+ var buf [float64ArrayElemMaxLen]byte
+ out := strconv.AppendFloat(buf[:0], val, 'g', -1, 64)
+ _, _ = dst.Write(out)
+ }
+ case FLOAT64SLICE:
+ appendFloat64SliceValue(dst, v.slice)
+ case STRING:
+ appendJSONString(dst, v.stringly)
+ case STRINGSLICE:
+ appendStringSliceValue(dst, v.slice)
+ case BYTESLICE:
+ _ = dst.WriteByte('"')
+ appendBase64(dst, v.stringly)
+ _ = dst.WriteByte('"')
+ case SLICE:
+ appendValueSliceValue(dst, v.slice)
+ case MAP:
+ appendMapValue(dst, v.slice)
+ case EMPTY:
+ _, _ = dst.WriteString("null")
+ default:
+ appendJSONString(dst, "unknown")
+ }
+}
+
+// appendJSONString appends s to dst as a JSON string literal.
+//
+// This is adapted from the Go standard library's encoding/json
+// [appendString implementation]. It keeps the same escaping behavior we need
+// here, but writes directly into a strings.Builder and intentionally does not
+// apply HTML escaping because the OpenTelemetry non-OTLP AnyValue representation
+// only requires JSON array string encoding. We inline this instead of using
+// encoding/json so slice formatting avoids allocations and reflection.
+//
+// [appendString implementation]: https://github.com/golang/go/blob/3b5954c6349d31465dca409b45ab6597e0942d9f/src/encoding/json/encode.go#L998-L1064
+func appendJSONString(dst *strings.Builder, s string) {
+ const hex = "0123456789abcdef" // For escaping bytes to hex.
+
+ _ = dst.WriteByte('"')
+ start := 0
+
+ for i := 0; i < len(s); {
+ if c := s[i]; c < utf8.RuneSelf {
+ if c >= 0x20 && c != '\\' && c != '"' {
+ i++
+ continue
+ }
+
+ if start < i {
+ _, _ = dst.WriteString(s[start:i])
+ }
+
+ switch c {
+ case '\\', '"':
+ _ = dst.WriteByte('\\')
+ _ = dst.WriteByte(c)
+ case '\b':
+ _, _ = dst.WriteString(`\b`)
+ case '\f':
+ _, _ = dst.WriteString(`\f`)
+ case '\n':
+ _, _ = dst.WriteString(`\n`)
+ case '\r':
+ _, _ = dst.WriteString(`\r`)
+ case '\t':
+ _, _ = dst.WriteString(`\t`)
+ default:
+ _, _ = dst.WriteString(`\u00`)
+ _ = dst.WriteByte(hex[c>>4])
+ _ = dst.WriteByte(hex[c&0x0f])
+ }
+
+ i++
+ start = i
+ continue
+ }
+
+ r, size := utf8.DecodeRuneInString(s[i:])
+ if r == utf8.RuneError && size == 1 {
+ if start < i {
+ _, _ = dst.WriteString(s[start:i])
+ }
+ // Match encoding/json by replacing invalid UTF-8 with U+FFFD.
+ _, _ = dst.WriteString(`\ufffd`)
+ i++
+ start = i
+ continue
+ }
+
+ if r == '\u2028' || r == '\u2029' {
+ if start < i {
+ _, _ = dst.WriteString(s[start:i])
+ }
+ // Escape JSONP-sensitive separators unconditionally, like encoding/json.
+ _, _ = dst.WriteString(`\u202`)
+ _ = dst.WriteByte(hex[r&0x0f])
+ i += size
+ start = i
+ continue
+ }
+
+ i += size
+ }
+
+ if start < len(s) {
+ _, _ = dst.WriteString(s[start:])
+ }
+ _ = dst.WriteByte('"')
+}
+
+// This is adapted from the Go standard library's encoding/base64
+// [Encoding.Encode implementation]. It keeps the same encoding behavior we need
+// here, but writes directly into a strings.Builder. We inline this instead of using
+// encoding/base64 to avoid allocations.
+//
+// [Encoding.Encode implementation]: https://github.com/golang/go/blob/3b5954c6349d31465dca409b45ab6597e0942d9f/src/encoding/base64/base64.go#L139-L189
+func appendBase64(dst *strings.Builder, s string) {
+ const encode = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
+
+ dst.Grow(base64.StdEncoding.EncodedLen(len(s)))
+
+ i := 0
+ for ; i+2 < len(s); i += 3 {
+ n := uint32(s[i])<<16 | uint32(s[i+1])<<8 | uint32(s[i+2])
+ _ = dst.WriteByte(encode[n>>18&0x3f])
+ _ = dst.WriteByte(encode[n>>12&0x3f])
+ _ = dst.WriteByte(encode[n>>6&0x3f])
+ _ = dst.WriteByte(encode[n&0x3f])
+ }
+
+ switch len(s) - i {
+ case 1:
+ n := uint32(s[i]) << 16
+ _ = dst.WriteByte(encode[n>>18&0x3f])
+ _ = dst.WriteByte(encode[n>>12&0x3f])
+ _ = dst.WriteByte('=')
+ _ = dst.WriteByte('=')
+ case 2:
+ n := uint32(s[i])<<16 | uint32(s[i+1])<<8
+ _ = dst.WriteByte(encode[n>>18&0x3f])
+ _ = dst.WriteByte(encode[n>>12&0x3f])
+ _ = dst.WriteByte(encode[n>>6&0x3f])
+ _ = dst.WriteByte('=')
+ }
+}
+
// MarshalJSON returns the JSON encoding of the Value.
func (v Value) MarshalJSON() ([]byte, error) {
var jsonVal struct {
diff --git a/vendor/go.opentelemetry.io/otel/baggage/baggage.go b/vendor/go.opentelemetry.io/otel/baggage/baggage.go
index 878ffbe43..72a58c1b6 100644
--- a/vendor/go.opentelemetry.io/otel/baggage/baggage.go
+++ b/vendor/go.opentelemetry.io/otel/baggage/baggage.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package baggage // import "go.opentelemetry.io/otel/baggage"
+package baggage
import (
"errors"
@@ -14,6 +14,10 @@ import (
)
const (
+ maxParseErrors = 5
+
+ // W3C Baggage specification limits.
+ // https://www.w3.org/TR/baggage/#limits
maxMembers = 64
maxBytesPerBaggageString = 8192
@@ -243,10 +247,78 @@ func (p properties) String() string {
return strings.Join(props, propertyDelimiter)
}
+// validateMetadata validates non-empty W3C property elements without decoding
+// or materializing Property values. Empty elements are accepted to preserve
+// existing parsing behavior.
+func validateMetadata(raw string) (string, bool) {
+ start := 0
+ for end := 0; end <= len(raw); end++ {
+ if end != len(raw) && raw[end] != propertyDelimiter[0] {
+ continue
+ }
+
+ if start != end {
+ if _, ok := parsePropertyFields(raw[start:end]); !ok {
+ return raw[start:end], false
+ }
+ }
+ start = end + 1
+ }
+ return "", true
+}
+
+// normalizeMetadata removes empty property elements while preserving the raw
+// representation of all non-empty elements.
+func normalizeMetadata(metadata string) string {
+ if metadata == "" ||
+ (metadata[0] != propertyDelimiter[0] &&
+ metadata[len(metadata)-1] != propertyDelimiter[0] &&
+ !strings.Contains(metadata, propertyDelimiter+propertyDelimiter)) {
+ return metadata
+ }
+
+ var normalized strings.Builder
+ normalized.Grow(len(metadata))
+ for property := range strings.SplitSeq(metadata, propertyDelimiter) {
+ if property == "" {
+ continue
+ }
+ if normalized.Len() > 0 {
+ _, _ = normalized.WriteString(propertyDelimiter)
+ }
+ _, _ = normalized.WriteString(property)
+ }
+ return normalized.String()
+}
+
+func propertiesFromMetadata(metadata string) properties {
+ if metadata == "" {
+ return nil
+ }
+
+ props := make(properties, 0, strings.Count(metadata, propertyDelimiter)+1)
+ for pStr := range strings.SplitSeq(metadata, propertyDelimiter) {
+ if pStr == "" {
+ continue
+ }
+ p, err := parseProperty(pStr)
+ if err != nil {
+ return nil
+ }
+ props = append(props, p)
+ }
+ return props
+}
+
// Member is a list-member of a baggage-string as defined by the W3C Baggage
// specification.
type Member struct {
key, value string
+
+ // metadata contains the opaque W3C property suffix extracted from the wire
+ // without the leading semicolon. properties contains API-created
+ // properties. The fields are mutually exclusive.
+ metadata string
properties properties
// hasData indicates whether the created property contains data or not.
@@ -303,21 +375,16 @@ func newInvalidMember() Member {
return Member{}
}
-// parseMember attempts to decode a Member from the passed string. It returns
-// an error if the input is invalid according to the W3C Baggage
-// specification.
+// parseMember attempts to decode a Member from the passed string. Property
+// metadata grammar is validated without decoding or materializing properties.
func parseMember(member string) (Member, error) {
- var props properties
- keyValue, properties, found := strings.Cut(member, propertyDelimiter)
+ var metadata string
+ keyValue, rawMetadata, found := strings.Cut(member, propertyDelimiter)
if found {
- // Parse the member properties.
- for pStr := range strings.SplitSeq(properties, propertyDelimiter) {
- p, err := parseProperty(pStr)
- if err != nil {
- return newInvalidMember(), err
- }
- props = append(props, p)
+ if invalid, ok := validateMetadata(rawMetadata); !ok {
+ return newInvalidMember(), fmt.Errorf("%w: %q", errInvalidProperty, invalid)
}
+ metadata = normalizeMetadata(rawMetadata)
}
// Parse the member key/value pair.
@@ -345,7 +412,7 @@ func parseMember(member string) (Member, error) {
}
value := replaceInvalidUTF8Sequences(len(rawVal), unescapeVal)
- return Member{key: key, value: value, properties: props, hasData: true}, nil
+ return Member{key: key, value: value, metadata: metadata, hasData: true}, nil
}
// replaceInvalidUTF8Sequences replaces invalid UTF-8 sequences with '�'.
@@ -395,10 +462,14 @@ func (m Member) Key() string { return m.key }
func (m Member) Value() string { return m.value }
// Properties returns a copy of the Member properties.
-func (m Member) Properties() []Property { return m.properties.Copy() }
+func (m Member) Properties() []Property {
+ if m.metadata != "" {
+ return propertiesFromMetadata(m.metadata)
+ }
+ return m.properties.Copy()
+}
-// String encodes Member into a header string compliant with the W3C Baggage
-// specification.
+// String encodes Member into a baggage header string.
// It would return empty string if the key is invalid with the W3C Baggage
// specification. This could happen for a UTF-8 key, as it may contain
// invalid characters.
@@ -409,12 +480,31 @@ func (m Member) String() string {
}
s := m.key + keyValueDelimiter + valueEscape(m.value)
- if len(m.properties) > 0 {
+ if m.metadata != "" {
+ s += propertyDelimiter + m.metadata
+ } else if len(m.properties) > 0 {
s += propertyDelimiter + m.properties.String()
}
return s
}
+func memberFromItem(key string, item baggage.Item) Member {
+ return Member{
+ key: key,
+ value: item.Value(),
+ metadata: item.Metadata(),
+ properties: fromInternalProperties(item.Properties()),
+ hasData: true,
+ }
+}
+
+func itemFromMember(member Member) baggage.Item {
+ if member.metadata != "" {
+ return baggage.NewItemWithMetadata(member.value, member.metadata)
+ }
+ return baggage.NewItemWithProperties(member.value, member.properties.asInternal())
+}
+
// Baggage is a list of baggage members representing the baggage-string as
// defined by the W3C Baggage specification.
type Baggage struct { //nolint:golint
@@ -440,10 +530,7 @@ func New(members ...Member) (Baggage, error) {
return Baggage{}, errInvalidMember
}
// OpenTelemetry resolves duplicates by last-one-wins.
- b[m.key] = baggage.Item{
- Value: m.value,
- Properties: m.properties.asInternal(),
- }
+ b[m.key] = itemFromMember(m)
}
var truncateErr error
@@ -463,11 +550,7 @@ func New(members ...Member) (Baggage, error) {
totalBytes := 0
first := true
for k := range b {
- m := Member{
- key: k,
- value: b[k].Value,
- properties: fromInternalProperties(b[k].Properties),
- }
+ m := memberFromItem(k, b[k])
memberSize := len(m.String())
if !first {
memberSize++ // comma separator
@@ -493,9 +576,15 @@ func New(members ...Member) (Baggage, error) {
// from the W3C Baggage specification which allows duplicate list-members, but
// conforms to the OpenTelemetry Baggage specification.
//
-// If the baggage-string exceeds the maximum allowed members (64) or bytes
-// (8192), members are dropped until the limits are satisfied and an error is
-// returned along with the partial result.
+// If the raw baggage-string exceeds the maximum allowed bytes (8192), an
+// empty Baggage and an error are returned.
+//
+// Otherwise, members are parsed left-to-right and accumulated until one of
+// the following conditions is reached, at which point parsing stops and an
+// error is returned alongside the partial result:
+// - accepting the next member would cause the encoded baggage to exceed
+// 8192 bytes, or
+// - the baggage already contains 64 distinct keys.
//
// Invalid members are skipped and the error is returned along with the
// partial result containing the valid members.
@@ -504,9 +593,14 @@ func Parse(bStr string) (Baggage, error) {
return Baggage{}, nil
}
+ if n := len(bStr); n > maxBytesPerBaggageString {
+ return Baggage{}, fmt.Errorf("%w: %d", errBaggageBytes, n)
+ }
+
b := make(baggage.List)
sizes := make(map[string]int) // Track per-key byte sizes
var totalBytes int
+ var parseErrors int
var truncateErr error
for memberStr := range strings.SplitSeq(bStr, listDelimiter) {
// Check member count limit.
@@ -517,7 +611,10 @@ func Parse(bStr string) (Baggage, error) {
m, err := parseMember(memberStr)
if err != nil {
- truncateErr = errors.Join(truncateErr, err)
+ parseErrors++
+ if parseErrors <= maxParseErrors {
+ truncateErr = errors.Join(truncateErr, err)
+ }
continue // skip invalid member, keep processing
}
@@ -545,14 +642,15 @@ func Parse(bStr string) (Baggage, error) {
}
// OpenTelemetry resolves duplicates by last-one-wins.
- b[m.key] = baggage.Item{
- Value: m.value,
- Properties: m.properties.asInternal(),
- }
+ b[m.key] = itemFromMember(m)
sizes[m.key] = memberBytes
totalBytes = newTotalBytes
}
+ if dropped := parseErrors - maxParseErrors; dropped > 0 {
+ truncateErr = errors.Join(truncateErr, fmt.Errorf("and %d more invalid member(s)", dropped))
+ }
+
if len(b) == 0 {
return Baggage{}, truncateErr
}
@@ -575,12 +673,7 @@ func (b Baggage) Member(key string) Member {
return newInvalidMember()
}
- return Member{
- key: key,
- value: v.Value,
- properties: fromInternalProperties(v.Properties),
- hasData: true,
- }
+ return memberFromItem(key, v)
}
// Members returns all the baggage list-members.
@@ -595,12 +688,7 @@ func (b Baggage) Members() []Member {
members := make([]Member, 0, len(b.list))
for k, v := range b.list {
- members = append(members, Member{
- key: k,
- value: v.Value,
- properties: fromInternalProperties(v.Properties),
- hasData: true,
- })
+ members = append(members, memberFromItem(k, v))
}
return members
}
@@ -630,10 +718,7 @@ func (b Baggage) SetMember(member Member) (Baggage, error) {
list[k] = v
}
- list[member.key] = baggage.Item{
- Value: member.value,
- Properties: member.properties.asInternal(),
- }
+ list[member.key] = itemFromMember(member)
return Baggage{list: list}, nil
}
@@ -670,11 +755,7 @@ func (b Baggage) Len() int {
func (b Baggage) String() string {
members := make([]string, 0, len(b.list))
for k, v := range b.list {
- s := Member{
- key: k,
- value: v.Value,
- properties: fromInternalProperties(v.Properties),
- }.String()
+ s := memberFromItem(k, v).String()
// Ignored empty members.
if s != "" {
@@ -684,9 +765,14 @@ func (b Baggage) String() string {
return strings.Join(members, listDelimiter)
}
-// parsePropertyInternal attempts to decode a Property from the passed string.
-// It follows the spec at https://www.w3.org/TR/baggage/#definition.
-func parsePropertyInternal(s string) (p Property, ok bool) {
+type propertyFields struct {
+ key, rawValue string
+ hasValue bool
+}
+
+// parsePropertyFields validates and locates a property's fields without
+// decoding or allocating them.
+func parsePropertyFields(s string) (fields propertyFields, ok bool) {
// For the entire function we will use " key = value " as an example.
// Attempting to parse the key.
// First skip spaces at the beginning "< >key = value " (they could be empty).
@@ -705,7 +791,7 @@ func parsePropertyInternal(s string) (p Property, ok bool) {
// If we couldn't find any valid key character,
// it means the key is either empty or invalid.
if keyStart == keyEnd {
- return p, ok
+ return fields, ok
}
// Skip spaces after the key: " key< >= value ".
@@ -713,15 +799,14 @@ func parsePropertyInternal(s string) (p Property, ok bool) {
if index == len(s) {
// A key can have no value, like: " key ".
- ok = true
- p.key = s[keyStart:keyEnd]
- return p, ok
+ fields.key = s[keyStart:keyEnd]
+ return fields, true
}
// If we have not reached the end and we can't find the '=' delimiter,
// it means the property is invalid.
if s[index] != keyValueDelimiter[0] {
- return p, ok
+ return fields, ok
}
// Attempting to parse the value.
@@ -747,23 +832,59 @@ func parsePropertyInternal(s string) (p Property, ok bool) {
// we have not reached the end, it means the property is
// invalid, something like: " key = value value1".
if index != len(s) {
- return p, ok
+ return fields, ok
+ }
+ rawVal := s[valueStart:valueEnd]
+ if !validPercentEncoding(rawVal) {
+ return fields, ok
+ }
+
+ fields.key = s[keyStart:keyEnd]
+ fields.rawValue = rawVal
+ fields.hasValue = true
+ return fields, true
+}
+
+func validPercentEncoding(s string) bool {
+ for i := 0; i < len(s); i++ {
+ if s[i] != '%' {
+ continue
+ }
+ if i+2 >= len(s) || !isHex(s[i+1]) || !isHex(s[i+2]) {
+ return false
+ }
+ i += 2
+ }
+ return true
+}
+
+func isHex(c byte) bool {
+ return '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F'
+}
+
+// parsePropertyInternal attempts to decode a Property from the passed string.
+// It follows the spec at https://www.w3.org/TR/baggage/#definition.
+func parsePropertyInternal(s string) (p Property, ok bool) {
+ fields, ok := parsePropertyFields(s)
+ if !ok {
+ return p, false
+ }
+ if !fields.hasValue {
+ p.key = fields.key
+ return p, true
}
// Decode a percent-encoded value.
- rawVal := s[valueStart:valueEnd]
- unescapeVal, err := url.PathUnescape(rawVal)
+ unescapeVal, err := url.PathUnescape(fields.rawValue)
if err != nil {
- return p, ok
+ return p, false
}
- value := replaceInvalidUTF8Sequences(len(rawVal), unescapeVal)
+ value := replaceInvalidUTF8Sequences(len(fields.rawValue), unescapeVal)
- ok = true
- p.key = s[keyStart:keyEnd]
+ p.key = fields.key
p.hasValue = true
-
p.value = value
- return p, ok
+ return p, true
}
func skipSpace(s string, offset int) int {
diff --git a/vendor/go.opentelemetry.io/otel/baggage/context.go b/vendor/go.opentelemetry.io/otel/baggage/context.go
index a572461a0..4d09b59aa 100644
--- a/vendor/go.opentelemetry.io/otel/baggage/context.go
+++ b/vendor/go.opentelemetry.io/otel/baggage/context.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package baggage // import "go.opentelemetry.io/otel/baggage"
+package baggage
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/baggage/doc.go b/vendor/go.opentelemetry.io/otel/baggage/doc.go
index b51d87cab..74d3a8709 100644
--- a/vendor/go.opentelemetry.io/otel/baggage/doc.go
+++ b/vendor/go.opentelemetry.io/otel/baggage/doc.go
@@ -6,4 +6,4 @@ Package baggage provides functionality for storing and retrieving
baggage items in Go context. For propagating the baggage, see the
go.opentelemetry.io/otel/propagation package.
*/
-package baggage // import "go.opentelemetry.io/otel/baggage"
+package baggage
diff --git a/vendor/go.opentelemetry.io/otel/codes/codes.go b/vendor/go.opentelemetry.io/otel/codes/codes.go
index d48847ed8..1502de350 100644
--- a/vendor/go.opentelemetry.io/otel/codes/codes.go
+++ b/vendor/go.opentelemetry.io/otel/codes/codes.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package codes // import "go.opentelemetry.io/otel/codes"
+package codes
import (
"encoding/json"
@@ -32,7 +32,7 @@ const (
maxCode = 3
)
-// Code is an 32-bit representation of a status state.
+// Code is a 32-bit representation of a status state.
type Code uint32
var codeToStr = map[Code]string{
@@ -81,7 +81,7 @@ func (c *Code) UnmarshalJSON(b []byte) error {
case float64:
if ci, err := strconv.ParseUint(string(b), 10, 32); err == nil {
if ci >= maxCode {
- return fmt.Errorf("invalid code: %q", ci)
+ return fmt.Errorf("invalid code: %d", ci)
}
*c = Code(ci) // nolint: gosec // Bit size of 32 check above.
diff --git a/vendor/go.opentelemetry.io/otel/codes/doc.go b/vendor/go.opentelemetry.io/otel/codes/doc.go
index ee8db448b..1073f6543 100644
--- a/vendor/go.opentelemetry.io/otel/codes/doc.go
+++ b/vendor/go.opentelemetry.io/otel/codes/doc.go
@@ -7,4 +7,4 @@ Package codes defines the canonical error codes used by OpenTelemetry.
It conforms to [the OpenTelemetry
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.20.0/specification/trace/api.md#set-status).
*/
-package codes // import "go.opentelemetry.io/otel/codes"
+package codes
diff --git a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile
index 7a9b3c055..82653bca9 100644
--- a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile
+++ b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile
@@ -1,4 +1,4 @@
# This is a renovate-friendly source of Docker images.
FROM python:3.13.6-slim-bullseye@sha256:e98b521460ee75bca92175c16247bdf7275637a8faaeb2bcfa19d879ae5c4b9a AS python
-FROM otel/weaver:v0.22.1@sha256:33ae522ae4b71c1c562563c1d81f46aa0f79f088a0873199143a1f11ac30e5c9 AS weaver
+FROM otel/weaver:v0.26.1@sha256:9094862c0ab261bdbcb079bb981f9a573b3659b130a6d2ab8616eca6ba37aaec AS weaver
FROM avtodev/markdown-lint:v1@sha256:6aeedc2f49138ce7a1cd0adffc1b1c0321b841dc2102408967d9301c031949ee AS markdown
diff --git a/vendor/go.opentelemetry.io/otel/doc.go b/vendor/go.opentelemetry.io/otel/doc.go
index 921f85961..92b7a0566 100644
--- a/vendor/go.opentelemetry.io/otel/doc.go
+++ b/vendor/go.opentelemetry.io/otel/doc.go
@@ -22,4 +22,4 @@ To read more about logs, see go.opentelemetry.io/otel/log.
To read more about propagation, see go.opentelemetry.io/otel/propagation and
go.opentelemetry.io/otel/baggage.
*/
-package otel // import "go.opentelemetry.io/otel"
+package otel
diff --git a/vendor/go.opentelemetry.io/otel/error_handler.go b/vendor/go.opentelemetry.io/otel/error_handler.go
index 67414c71e..06fd49da2 100644
--- a/vendor/go.opentelemetry.io/otel/error_handler.go
+++ b/vendor/go.opentelemetry.io/otel/error_handler.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otel // import "go.opentelemetry.io/otel"
+package otel
// ErrorHandler handles irremediable events.
type ErrorHandler interface {
diff --git a/vendor/go.opentelemetry.io/otel/handler.go b/vendor/go.opentelemetry.io/otel/handler.go
index 07623b679..1f45ea388 100644
--- a/vendor/go.opentelemetry.io/otel/handler.go
+++ b/vendor/go.opentelemetry.io/otel/handler.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otel // import "go.opentelemetry.io/otel"
+package otel
import (
"go.opentelemetry.io/otel/internal/global"
diff --git a/vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go b/vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go
index b4f85f44a..d682f8c81 100644
--- a/vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go
+++ b/vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go
@@ -10,18 +10,41 @@ this need this package would not need to exist and the
`go.opentelemetry.io/otel/baggage` package would be the singular place where
W3C baggage is handled.
*/
-package baggage // import "go.opentelemetry.io/otel/internal/baggage"
+package baggage
// List is the collection of baggage members. The W3C allows for duplicates,
// but OpenTelemetry does not, therefore, this is represented as a map.
type List map[string]Item
-// Item is the value and metadata properties part of a list-member.
+// Item is the value and metadata or properties part of a list-member.
+// Metadata and properties are mutually exclusive representations.
type Item struct {
- Value string
- Properties []Property
+ value string
+ metadata string
+ properties []Property
}
+// NewItemWithMetadata returns an Item with opaque W3C metadata.
+func NewItemWithMetadata(value, metadata string) Item {
+ return Item{value: value, metadata: metadata}
+}
+
+// NewItemWithProperties returns an Item with materialized properties.
+func NewItemWithProperties(value string, properties []Property) Item {
+ return Item{value: value, properties: properties}
+}
+
+// Value returns the value of i.
+func (i Item) Value() string { return i.value }
+
+// Metadata returns the opaque W3C metadata of i. It is empty for an Item
+// created with properties.
+func (i Item) Metadata() string { return i.metadata }
+
+// Properties returns the materialized properties of i. It is nil for an Item
+// created with metadata.
+func (i Item) Properties() []Property { return i.properties }
+
// Property is a metadata entry for a list-member.
type Property struct {
Key, Value string
diff --git a/vendor/go.opentelemetry.io/otel/internal/baggage/context.go b/vendor/go.opentelemetry.io/otel/internal/baggage/context.go
index 3aea9c491..f3bece165 100644
--- a/vendor/go.opentelemetry.io/otel/internal/baggage/context.go
+++ b/vendor/go.opentelemetry.io/otel/internal/baggage/context.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package baggage // import "go.opentelemetry.io/otel/internal/baggage"
+package baggage
import "context"
diff --git a/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go b/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go
index 3f0ab3131..1234ead63 100644
--- a/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go
+++ b/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go
@@ -5,7 +5,7 @@
//
// This package has no OTel dependencies, allowing it to be imported by any
// package in the module without creating import cycles.
-package errorhandler // import "go.opentelemetry.io/otel/internal/errorhandler"
+package errorhandler
import (
"errors"
@@ -21,6 +21,9 @@ type ErrorHandler interface {
Handle(error)
}
+// ErrDelegator is an ErrorHandler that forwards errors to a delegate
+// ErrorHandler set with setDelegate. Before a delegate is set, it logs
+// errors to STDERR.
type ErrDelegator struct {
delegate atomic.Pointer[ErrorHandler]
}
@@ -28,6 +31,8 @@ type ErrDelegator struct {
// Compile-time check that delegator implements ErrorHandler.
var _ ErrorHandler = (*ErrDelegator)(nil)
+// Handle handles err by forwarding it to the configured delegate, or
+// logging it to STDERR if no delegate is set.
func (d *ErrDelegator) Handle(err error) {
if eh := d.delegate.Load(); eh != nil {
(*eh).Handle(err)
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/handler.go b/vendor/go.opentelemetry.io/otel/internal/global/handler.go
index 77d0425f5..6fb8034f8 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/handler.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/handler.go
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
// Package global provides the OpenTelemetry global API.
-package global // import "go.opentelemetry.io/otel/internal/global"
+package global
import (
"go.opentelemetry.io/otel/internal/errorhandler"
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/instruments.go b/vendor/go.opentelemetry.io/otel/internal/global/instruments.go
index 55255cddf..4db3fdcde 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/instruments.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/instruments.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package global // import "go.opentelemetry.io/otel/internal/global"
+package global
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go b/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go
index 86d7f4ba0..8e1327354 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package global // import "go.opentelemetry.io/otel/internal/global"
+package global
import (
"log"
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/logger.go b/vendor/go.opentelemetry.io/otel/internal/global/logger.go
new file mode 100644
index 000000000..e4328daa9
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/internal/global/logger.go
@@ -0,0 +1,96 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package global
+
+import (
+ "context"
+ "sync"
+ "sync/atomic"
+
+ "go.opentelemetry.io/otel/log"
+ "go.opentelemetry.io/otel/log/embedded"
+)
+
+type loggerProvider struct {
+ embedded.LoggerProvider
+
+ mu sync.Mutex
+ loggers map[il]*logger
+ delegate log.LoggerProvider
+}
+
+// This is a compile-time guarantee that loggerProvider implements LoggerProvider.
+var _ log.LoggerProvider = (*loggerProvider)(nil)
+
+func (p *loggerProvider) Logger(name string, options ...log.LoggerOption) log.Logger {
+ p.mu.Lock()
+ defer p.mu.Unlock()
+
+ if p.delegate != nil {
+ return p.delegate.Logger(name, options...)
+ }
+
+ cfg := log.NewLoggerConfig(options...)
+ key := il{
+ name: name,
+ version: cfg.InstrumentationVersion(),
+ schema: cfg.SchemaURL(),
+ attrs: cfg.InstrumentationAttributes(),
+ }
+
+ if p.loggers == nil {
+ l := &logger{name: name, options: options}
+ p.loggers = map[il]*logger{key: l}
+ return l
+ }
+
+ if l, ok := p.loggers[key]; ok {
+ return l
+ }
+
+ l := &logger{name: name, options: options}
+ p.loggers[key] = l
+ return l
+}
+
+func (p *loggerProvider) setDelegate(provider log.LoggerProvider) {
+ p.mu.Lock()
+ defer p.mu.Unlock()
+
+ p.delegate = provider
+ for _, l := range p.loggers {
+ l.setDelegate(provider)
+ }
+ p.loggers = nil // Only set logger delegates once.
+}
+
+type logger struct {
+ embedded.Logger
+
+ name string
+ options []log.LoggerOption
+
+ delegate atomic.Value // log.Logger
+}
+
+// This is a compile-time guarantee that logger implements Logger.
+var _ log.Logger = (*logger)(nil)
+
+func (l *logger) Emit(ctx context.Context, r log.Record) {
+ if del, ok := l.delegate.Load().(log.Logger); ok {
+ del.Emit(ctx, r)
+ }
+}
+
+func (l *logger) Enabled(ctx context.Context, param log.EnabledParameters) bool {
+ var enabled bool
+ if del, ok := l.delegate.Load().(log.Logger); ok {
+ enabled = del.Enabled(ctx, param)
+ }
+ return enabled
+}
+
+func (l *logger) setDelegate(provider log.LoggerProvider) {
+ l.delegate.Store(provider.Logger(l.name, l.options...))
+}
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/meter.go b/vendor/go.opentelemetry.io/otel/internal/global/meter.go
index 50043d669..48be49037 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/meter.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/meter.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package global // import "go.opentelemetry.io/otel/internal/global"
+package global
import (
"container/list"
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/propagator.go b/vendor/go.opentelemetry.io/otel/internal/global/propagator.go
index 38560ff99..90c462ef0 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/propagator.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/propagator.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package global // import "go.opentelemetry.io/otel/internal/global"
+package global
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/state.go b/vendor/go.opentelemetry.io/otel/internal/global/state.go
index 225c9e501..bd388d834 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/state.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/state.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package global // import "go.opentelemetry.io/otel/internal/global"
+package global
import (
"errors"
@@ -9,6 +9,7 @@ import (
"sync/atomic"
"go.opentelemetry.io/otel/internal/errorhandler"
+ "go.opentelemetry.io/otel/log"
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/propagation"
"go.opentelemetry.io/otel/trace"
@@ -26,16 +27,22 @@ type (
meterProviderHolder struct {
mp metric.MeterProvider
}
+
+ loggerProviderHolder struct {
+ provider log.LoggerProvider
+ }
)
var (
- globalTracer = defaultTracerValue()
- globalPropagators = defaultPropagatorsValue()
- globalMeterProvider = defaultMeterProvider()
+ globalTracer = defaultTracerValue()
+ globalPropagators = defaultPropagatorsValue()
+ globalMeterProvider = defaultMeterProvider()
+ globalLoggerProvider = defaultLoggerProvider()
delegateTraceOnce sync.Once
delegateTextMapPropagatorOnce sync.Once
delegateMeterOnce sync.Once
+ delegateLoggerOnce sync.Once
)
// GetErrorHandler returns the global ErrorHandler instance.
@@ -150,6 +157,32 @@ func SetMeterProvider(mp metric.MeterProvider) {
globalMeterProvider.Store(meterProviderHolder{mp: mp})
}
+// LoggerProvider is the internal implementation for global.LoggerProvider.
+func LoggerProvider() log.LoggerProvider {
+ return globalLoggerProvider.Load().(loggerProviderHolder).provider
+}
+
+// SetLoggerProvider is the internal implementation for global.SetLoggerProvider.
+func SetLoggerProvider(provider log.LoggerProvider) {
+ current := LoggerProvider()
+ if _, cOk := current.(*loggerProvider); cOk {
+ if _, lpOk := provider.(*loggerProvider); lpOk && current == provider {
+ Error(
+ errors.New("no delegate configured in logger provider"),
+ "Setting logger provider to its current value. No delegate will be configured",
+ )
+ return
+ }
+ }
+
+ delegateLoggerOnce.Do(func() {
+ if def, ok := current.(*loggerProvider); ok {
+ def.setDelegate(provider)
+ }
+ })
+ globalLoggerProvider.Store(loggerProviderHolder{provider: provider})
+}
+
func defaultTracerValue() *atomic.Value {
v := &atomic.Value{}
v.Store(tracerProviderHolder{tp: &tracerProvider{}})
@@ -167,3 +200,9 @@ func defaultMeterProvider() *atomic.Value {
v.Store(meterProviderHolder{mp: &meterProvider{}})
return v
}
+
+func defaultLoggerProvider() *atomic.Value {
+ v := &atomic.Value{}
+ v.Store(loggerProviderHolder{provider: &loggerProvider{}})
+ return v
+}
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/trace.go b/vendor/go.opentelemetry.io/otel/internal/global/trace.go
index bf5cf3119..45899f8c0 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/trace.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/trace.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package global // import "go.opentelemetry.io/otel/internal/global"
+package global
/*
This file contains the forwarding implementation of the TracerProvider used as
diff --git a/vendor/go.opentelemetry.io/otel/internal_logging.go b/vendor/go.opentelemetry.io/otel/internal_logging.go
index 6de7f2e4d..3f6b7b10d 100644
--- a/vendor/go.opentelemetry.io/otel/internal_logging.go
+++ b/vendor/go.opentelemetry.io/otel/internal_logging.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otel // import "go.opentelemetry.io/otel"
+package otel
import (
"github.com/go-logr/logr"
diff --git a/vendor/go.opentelemetry.io/otel/log.go b/vendor/go.opentelemetry.io/otel/log.go
new file mode 100644
index 000000000..1758913fa
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log.go
@@ -0,0 +1,41 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package otel
+
+import (
+ "go.opentelemetry.io/otel/internal/global"
+ "go.opentelemetry.io/otel/log"
+)
+
+// Logger returns a [log.Logger] configured with the provided name and options
+// from the globally configured [log.LoggerProvider].
+//
+// If this is called before a global LoggerProvider is configured, the returned
+// Logger will be a No-Op implementation of a Logger. When a global
+// LoggerProvider is registered for the first time, the returned Logger is
+// updated in place to report to this new LoggerProvider. There is no need to
+// call this function again for an updated instance.
+//
+// This is a convenience function. It is equivalent to:
+//
+// GetLoggerProvider().Logger(name, options...)
+func Logger(name string, options ...log.LoggerOption) log.Logger {
+ return GetLoggerProvider().Logger(name, options...)
+}
+
+// GetLoggerProvider returns the globally configured [log.LoggerProvider].
+//
+// If a global LoggerProvider has not been configured with [SetLoggerProvider],
+// the returned LoggerProvider will be a No-Op implementation. When
+// a global LoggerProvider is registered for the first time, the returned
+// LoggerProvider and all Loggers it has created are updated in place. There is
+// no need to call this function again for an updated instance.
+func GetLoggerProvider() log.LoggerProvider {
+ return global.LoggerProvider()
+}
+
+// SetLoggerProvider configures provider as the global [log.LoggerProvider].
+func SetLoggerProvider(provider log.LoggerProvider) {
+ global.SetLoggerProvider(provider)
+}
diff --git a/vendor/go.opentelemetry.io/otel/log/DESIGN.md b/vendor/go.opentelemetry.io/otel/log/DESIGN.md
new file mode 100644
index 000000000..d36c96773
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/DESIGN.md
@@ -0,0 +1,566 @@
+# Logs API
+
+## Abstract
+
+`go.opentelemetry.io/otel/log` provides
+[Logs API](https://opentelemetry.io/docs/specs/otel/logs/api/).
+
+The prototype was created in
+[#4725](https://github.com/open-telemetry/opentelemetry-go/pull/4725).
+
+## Background
+
+The key challenge is to create a performant API compliant with the [specification](https://opentelemetry.io/docs/specs/otel/logs/api/)
+with an intuitive and user friendly design.
+Performance is seen as one of the most important characteristics of logging libraries in Go.
+
+## Design
+
+This proposed design aims to:
+
+- be specification compliant,
+- be similar to Trace and Metrics API,
+- take advantage of both OpenTelemetry and `slog` experience to achieve acceptable performance.
+
+### Module structure
+
+The API is published as a single `go.opentelemetry.io/otel/log` Go module.
+
+The package structure is similar to Trace API and Metrics API.
+The Go module consists of the following packages:
+
+- `go.opentelemetry.io/otel/log`
+- `go.opentelemetry.io/otel/log/embedded`
+- `go.opentelemetry.io/otel/log/logtest`
+- `go.opentelemetry.io/otel/log/noop`
+
+Rejected alternative:
+
+- [Reuse slog](#reuse-slog)
+
+### LoggerProvider
+
+The [`LoggerProvider` abstraction](https://opentelemetry.io/docs/specs/otel/logs/api/#loggerprovider)
+is defined as `LoggerProvider` interface in [provider.go](provider.go).
+
+The specification may add new operations to `LoggerProvider`.
+The interface may have methods added without a package major version bump.
+This embeds `embedded.LoggerProvider` to help inform an API implementation
+author about this non-standard API evolution.
+This approach is already used in Trace API and Metrics API.
+
+#### LoggerProvider.Logger
+
+The `Logger` method implements the [`Get a Logger` operation](https://opentelemetry.io/docs/specs/otel/logs/api/#get-a-logger).
+
+The required `name` parameter is accepted as a `string` method argument.
+
+The `LoggerOption` options are defined to support optional parameters.
+
+Implementation requirements:
+
+- The [specification requires](https://opentelemetry.io/docs/specs/otel/logs/api/#concurrency-requirements)
+ the method to be safe to be called concurrently.
+
+- If the passed name is empty, this should be reported as invalid as specified
+ by the [Logs SDK specification](https://opentelemetry.io/docs/specs/otel/logs/sdk/#logger-creation).
+ The method should still use it as the instrumentation scope name and return
+ a working logger.
+
+`Logger` can be extended by adding new `LoggerOption` options
+and adding new exported fields to the `LoggerConfig` struct.
+This design is already used in Trace API for getting tracers
+and in Metrics API for getting meters.
+
+Rejected alternative:
+
+- [Passing struct as parameter to LoggerProvider.Logger](#passing-struct-as-parameter-to-loggerproviderlogger).
+
+### Logger
+
+The [`Logger` abstraction](https://opentelemetry.io/docs/specs/otel/logs/api/#logger)
+is defined as `Logger` interface in [logger.go](logger.go).
+
+The specification may add new operations to `Logger`.
+The interface may have methods added without a package major version bump.
+This embeds `embedded.Logger` to help inform an API implementation
+author about this non-standard API evolution.
+This approach is already used in Trace API and Metrics API.
+
+### Logger.Emit
+
+The `Emit` method implements the [`Emit a LogRecord` operation](https://opentelemetry.io/docs/specs/otel/logs/api/#emit-a-logrecord).
+
+[`Context` associated with the `LogRecord`](https://opentelemetry.io/docs/specs/otel/context/)
+is accepted as a `context.Context` method argument.
+
+Calls to `Emit` are supposed to be on the hot path.
+Therefore, in order to reduce the number of heap allocations,
+the [`LogRecord` abstraction](https://opentelemetry.io/docs/specs/otel/logs/api/#emit-a-logrecord),
+is defined as `Record` struct in [record.go](record.go).
+
+[`Timestamp`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-timestamp)
+is accessed using following methods:
+
+```go
+func (r *Record) Timestamp() time.Time
+func (r *Record) SetTimestamp(t time.Time)
+```
+
+[`ObservedTimestamp`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-observedtimestamp)
+is accessed using following methods:
+
+```go
+func (r *Record) ObservedTimestamp() time.Time
+func (r *Record) SetObservedTimestamp(t time.Time)
+```
+
+[`EventName`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-eventname)
+is accessed using following methods:
+
+```go
+func (r *Record) EventName() string
+func (r *Record) SetEventName(s string)
+```
+
+[`SeverityNumber`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitynumber)
+is accessed using following methods:
+
+```go
+func (r *Record) Severity() Severity
+func (r *Record) SetSeverity(s Severity)
+```
+
+`Severity` type is defined in [severity.go](severity.go).
+The constants are are based on
+[Displaying Severity recommendation](https://opentelemetry.io/docs/specs/otel/logs/data-model/#displaying-severity).
+Additionally, `Severity[Level]` constants are defined to make the API more readable and user friendly.
+
+[`SeverityText`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitytext)
+is accessed using following methods:
+
+```go
+func (r *Record) SeverityText() string
+func (r *Record) SetSeverityText(s string)
+```
+
+[`Body`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-body)
+is accessed using following methods:
+
+```go
+func (r *Record) Body() attribute.Value
+func (r *Record) SetBody(v attribute.Value)
+```
+
+[Log record attributes](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-attributes)
+are accessed using following methods:
+
+```go
+func (r *Record) WalkAttributes(f func(attribute.KeyValue) bool)
+func (r *Record) AddAttributes(attrs ...attribute.KeyValue)
+```
+
+`Record` has a `AttributesLen` method that returns
+the number of attributes to allow slice preallocation
+when converting records to a different representation:
+
+```go
+func (r *Record) AttributesLen() int
+```
+
+The records attributes design and implementation is based on
+[`slog.Record`](https://pkg.go.dev/log/slog#Record).
+It allows achieving high-performance access and manipulation of the attributes
+while keeping the API user friendly.
+It relieves the user from making his own improvements
+for reducing the number of allocations when passing attributes.
+
+Log body and attributes use the common
+[`attribute.Value`](https://pkg.go.dev/go.opentelemetry.io/otel/attribute#Value)
+and
+[`attribute.KeyValue`](https://pkg.go.dev/go.opentelemetry.io/otel/attribute#KeyValue)
+types.
+These types cover the Logs Data Model `any` value shape, including empty
+values, byte slices, generic slices, and maps.
+Reusing the attribute package keeps the API consistent across signals and
+avoids maintaining a second value model with conversion helpers.
+
+The zero value of `attribute.Value` represents an empty body.
+Log maps use `attribute.MAP`, which may contain duplicate keys when callers
+construct one that way. Duplicate-key normalization is an SDK policy, not an
+API behavior.
+
+The caller must not subsequently mutate the record passed to `Emit`.
+This would allow the implementation to not clone the record,
+but simply retain, modify or discard it.
+The implementation may still choose to clone the record or copy its attributes
+if it needs to retain or modify it,
+e.g. in case of asynchronous processing to eliminate the possibility of data races,
+because the user can technically reuse the record and add new attributes
+after the call (even when the documentation says that the caller must not do it).
+
+Implementation requirements:
+
+- The [specification requires](https://opentelemetry.io/docs/specs/otel/logs/api/#concurrency-requirements)
+ the method to be safe to be called concurrently.
+
+- The method must not interrupt the record processing if the context is canceled
+ per ["ignoring context cancellation" guideline](../CONTRIBUTING.md#ignoring-context-cancellation).
+
+- The [specification requires](https://opentelemetry.io/docs/specs/otel/logs/api/#emit-a-logrecord)
+ use the current time as observed timestamp if the passed is empty.
+
+- The method should handle the trace context passed via `ctx` argument in order to meet the
+ [specification's SDK requirement](https://opentelemetry.io/docs/specs/otel/logs/sdk/#readablelogrecord)
+ to populate the trace context fields from the resolved context.
+
+`Emit` can be extended by adding new exported fields to the `Record` struct.
+
+Rejected alternatives:
+
+- [Record as interface](#record-as-interface)
+- [Options as parameter to Logger.Emit](#options-as-parameter-to-loggeremit)
+- [Passing record as pointer to Logger.Emit](#passing-record-as-pointer-to-loggeremit)
+- [Logger.WithAttributes](#loggerwithattributes)
+- [Record attributes as slice](#record-attributes-as-slice)
+- [Use any instead of attribute.Value](#use-any-instead-of-attributevalue)
+- [Severity type encapsulating number and text](#severity-type-encapsulating-number-and-text)
+- [Define log-specific value types](#define-log-specific-value-types)
+- [Mix receiver types for Record](#mix-receiver-types-for-record)
+- [Add XYZ method to Logger](#add-xyz-method-to-logger)
+
+### Logger.Enabled
+
+The `Enabled` method implements the [`Enabled` operation](https://opentelemetry.io/docs/specs/otel/logs/api/#enabled).
+
+[`Context` associated with the `LogRecord`](https://opentelemetry.io/docs/specs/otel/context/)
+is accepted as a `context.Context` method argument.
+
+Calls to `Enabled` are supposed to be on the hot path and the list of arguments
+can be extendend in future. Therefore, in order to reduce the number of heap
+allocations and make it possible to handle new arguments, `Enabled` accepts
+a `EnabledParameters` struct, defined in [logger.go](logger.go), as the second
+method argument.
+
+The `EnabledParameters` uses fields, instead of getters and setters, to allow
+simpler usage which allows configuring the `EnabledParameters` in the same line
+where `Enabled` is called.
+
+### noop package
+
+The `go.opentelemetry.io/otel/log/noop` package provides
+[Logs API No-Op Implementation](https://opentelemetry.io/docs/specs/otel/logs/noop/).
+
+### Trace context correlation
+
+The bridge implementation should do its best to pass
+the `ctx` containing the trace context from the caller
+so it can later be passed via `Logger.Emit`.
+
+It is not expected that users (caller or bridge implementation) reconstruct
+a `context.Context`. Reconstructing a `context.Context` with
+[`trace.ContextWithSpanContext`](https://pkg.go.dev/go.opentelemetry.io/otel/trace#ContextWithSpanContext)
+and [`trace.NewSpanContext`](https://pkg.go.dev/go.opentelemetry.io/otel/trace#NewSpanContext)
+would usually involve more memory allocations.
+
+The logging libraries which have recording methods that accepts `context.Context`,
+such us [`slog`](https://pkg.go.dev/log/slog),
+[`logrus`](https://pkg.go.dev/github.com/sirupsen/logrus),
+[`zerolog`](https://pkg.go.dev/github.com/rs/zerolog),
+makes passing the trace context trivial.
+
+However, some libraries do not accept a `context.Context` in their recording methods.
+Structured logging libraries,
+such as [`logr`](https://pkg.go.dev/github.com/go-logr/logr)
+and [`zap`](https://pkg.go.dev/go.uber.org/zap),
+offer passing `any` type as a log attribute/field.
+Therefore, their bridge implementations can define a "special" log attributes/field
+that will be used to capture the trace context.
+
+[The prototype](https://github.com/open-telemetry/opentelemetry-go/pull/4725)
+has bridge implementations that handle trace context correlation efficiently.
+
+## Benchmarking
+
+The benchmarks take inspiration from [`slog`](https://pkg.go.dev/log/slog),
+because for the Go team it was also critical to create API that would be fast
+and interoperable with existing logging packages.[^2][^3]
+
+The benchmark results can be found in [the prototype](https://github.com/open-telemetry/opentelemetry-go/pull/4725).
+
+## Rejected alternatives
+
+### Reuse slog
+
+The API must not be coupled to [`slog`](https://pkg.go.dev/log/slog),
+nor any other logging library.
+
+The API needs to evolve orthogonally to `slog`.
+
+`slog` is not compliant with the [Logs API](https://opentelemetry.io/docs/specs/otel/logs/api/).
+and we cannot expect the Go team to make `slog` compliant with it.
+
+The interoperability can be achieved using [a log bridge](https://opentelemetry.io/docs/specs/otel/glossary/#log-appender--bridge).
+
+You can read more about OpenTelemetry Logs design on [opentelemetry.io](https://opentelemetry.io/docs/concepts/signals/logs/).
+
+### Record as interface
+
+`Record` is defined as a `struct` because of the following reasons.
+
+Log record is a value object without any behavior.
+It is used as data input for Logger methods.
+
+The log record resembles the instrument config structs like [metric.Float64CounterConfig](https://pkg.go.dev/go.opentelemetry.io/otel/metric#Float64CounterConfig).
+
+Using `struct` instead of `interface` improves the performance as e.g.
+indirect calls are less optimized,
+usage of interfaces tend to increase heap allocations.[^3]
+
+### Options as parameter to Logger.Emit
+
+One of the initial ideas was to have:
+
+```go
+type Logger interface{
+ embedded.Logger
+ Emit(ctx context.Context, options ...RecordOption)
+}
+```
+
+The main reason was that design would be similar
+to the [Meter API](https://pkg.go.dev/go.opentelemetry.io/otel/metric#Meter)
+for creating instruments.
+
+However, passing `Record` directly, instead of using options,
+is more performant as it reduces heap allocations.[^4]
+
+Another advantage of passing `Record` is that API would not have functions like `NewRecord(options...)`,
+which would be used by the SDK and not by the users.
+
+Finally, the definition would be similar to [`slog.Handler.Handle`](https://pkg.go.dev/log/slog#Handler)
+that was designed to provide optimization opportunities.[^2]
+
+### Passing record as pointer to Logger.Emit
+
+So far the benchmarks do not show differences that would
+favor passing the record via pointer (and vice versa).
+
+Passing via value feels safer because of the following reasons.
+
+The user would not be able to pass `nil`.
+Therefore, it reduces the possibility to have a nil pointer dereference.
+
+It should reduce the possibility of a heap allocation.
+
+It follows the design of [`slog.Handler`](https://pkg.go.dev/log/slog#Handler).
+
+If follows one of Google's Go Style Decisions
+to prefer [passing values](https://google.github.io/styleguide/go/decisions#pass-values).
+
+### Passing struct as parameter to LoggerProvider.Logger
+
+Similarly to `Logger.Emit`, we could have something like:
+
+```go
+type LoggerProvider interface{
+ embedded.LoggerProvider
+ Logger(name string, config LoggerConfig)
+}
+```
+
+The drawback of this idea would be that this would be
+a different design from Trace and Metrics API.
+
+The performance of acquiring a logger is not as critical
+as the performance of emitting a log record. While a single
+HTTP/RPC handler could write hundreds of logs, it should not
+create a new logger for each log entry.
+The bridge implementation should reuse loggers whenever possible.
+
+### Logger.WithAttributes
+
+We could add `WithAttributes` to the `Logger` interface.
+Then `Record` could be a simple struct with only exported fields.
+The idea was that the SDK would implement the performance improvements
+instead of doing it in the API.
+This would allow having different optimization strategies.
+
+During the analysis[^5], it occurred that the main problem of this proposal
+is that the variadic slice passed to an interface method is always heap allocated.
+
+Moreover, the logger returned by `WithAttribute` was allocated on the heap.
+
+Lastly, the proposal was not specification compliant.
+
+### Record attributes as slice
+
+One of the proposals[^6] was to have `Record` as a simple struct:
+
+```go
+type Record struct {
+ Timestamp time.Time
+ ObservedTimestamp time.Time
+ EventName string
+ Severity Severity
+ SeverityText string
+ Body Value
+ Attributes []KeyValue
+}
+```
+
+The bridge implementations could use [`sync.Pool`](https://pkg.go.dev/sync#Pool)
+for reducing the number of allocations when passing attributes.
+
+The benchmarks results were better.
+
+In such a design, most bridges would have a `sync.Pool`
+to reduce the number of heap allocations.
+However, the `sync.Pool` will not work correctly with API implementations
+that would take ownership of the record
+(e.g. implementations that do not copy records for asynchronous processing).
+The current design, even in case of improper API implementation,
+has lower chances of encountering a bug as most bridges would
+create a record, pass it, and forget about it.
+
+For reference, here is the reason why `slog` does not use `sync.Pool`[^3]
+as well:
+
+> We can use a sync pool for records though we decided not to.
+You can but it's a bad idea for us. Why?
+Because users have control of Records.
+Handler writers can get their hands on a record
+and we'd have to ask them to free it
+or try to free it magically at some some point.
+But either way, they could get themselves in trouble by freeing it twice
+or holding on to one after they free it.
+That's a use after free bug and that's why `zerolog` was problematic for us.
+`zerolog` as as part of its speed exposes a pool allocated value to users
+if you use `zerolog` the normal way, that you'll see in all the examples,
+you will never encounter a problem.
+But if you do something a little out of the ordinary you can get
+use after free bugs and we just didn't want to put that in the standard library.
+
+Therefore, we decided to not follow the proposal as it is
+less user friendly (users and bridges would use e.g. a `sync.Pool` to reduce
+the number of heap allocation), less safe (more prone to use after free bugs
+and race conditions), and the benchmark differences were not significant.
+
+### Use any instead of attribute.Value
+
+[Logs Data Model](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-body)
+defines Body to be `any`.
+One could propose to define `Body` (and attribute values) as `any`
+instead of using `attribute.Value`.
+
+First of all, [`any` type defined in the specification](https://opentelemetry.io/docs/specs/otel/logs/data-model/#type-any)
+is not the same as `any` (`interface{}`) in Go.
+
+Moreover, using `any` as a field would decrease the performance.[^7]
+
+Using `attribute.Value` preserves a typed, allocation-conscious representation
+of the Logs Data Model `any` values while avoiding unconstrained `interface{}`
+handling in bridge implementations.
+
+### Severity type encapsulating number and text
+
+We could combine severity into a single field defining a type:
+
+```go
+type Severity struct {
+ Number SeverityNumber
+ Text string
+}
+```
+
+However, the [Logs Data Model](https://opentelemetry.io/docs/specs/otel/logs/data-model/#log-and-event-record-definition)
+define it as independent fields.
+It should be more user friendly to have them separated.
+Especially when having getter and setter methods, setting one value
+when the other is already set would be unpleasant.
+
+### Define log-specific value types
+
+The original design defined `Kind`, `Value`, and `KeyValue` in
+`go.opentelemetry.io/otel/log`.
+That avoided coupling log bodies to the common attribute package while logs were
+still exploring structured value support.
+
+The Logs Data Model and common attribute value model now share the structured
+`any` shapes needed by Go: empty, bool, int64, float64, string, byte slice,
+homogeneous slices, generic slices, and maps.
+The specification direction is to reuse these value shapes across signals.
+Keeping log-specific types would duplicate API surface, require conversion
+helpers, and make bridge code choose between two equivalent value models.
+
+Therefore log records now use `attribute.Value` for body values and
+`attribute.KeyValue` for attributes and map entries.
+
+### Mix receiver types for Record
+
+Methods of [`slog.Record`](https://pkg.go.dev/log/slog#Record)
+have different receiver types.
+
+In `log/slog` GitHub issue we can only find that the reason is:[^8]
+
+>> some receiver of Record struct is by value
+> Passing Records by value means they incur no heap allocation.
+> That improves performance overall, even though they are copied.
+
+However, the benchmarks do not show any noticeable differences.[^9]
+
+The compiler is smart-enough to not make a heap allocation for any of these methods.
+The use of a pointer receiver does not cause any heap allocation.
+From Go FAQ:[^10]
+
+> In the current compilers, if a variable has its address taken,
+> that variable is a candidate for allocation on the heap.
+> However, a basic escape analysis recognizes some cases
+> when such variables will not live past the return from the function
+> and can reside on the stack.
+
+The [Understanding Allocations: the Stack and the Heap](https://www.youtube.com/watch?v=ZMZpH4yT7M0)
+presentation by Jacob Walker describes the escape analysis with details.
+
+Moreover, also from Go FAQ:[^10]
+
+> Also, if a local variable is very large,
+> it might make more sense to store it on the heap rather than the stack.
+
+Therefore, even if we use a value receiver and the value is very large
+it may be heap allocated.
+
+Both [Go Code Review Comments](https://go.dev/wiki/CodeReviewComments#receiver-type)
+and [Google's Go Style Decisions](https://google.github.io/styleguide/go/decisions#receiver-type)
+highly recommend making the methods for a type either all pointer methods
+or all value methods. Google's Go Style Decisions even goes further and says:
+
+> There is a lot of misinformation about whether passing a value or a pointer
+> to a function can affect performance.
+> The compiler can choose to pass pointers to values on the stack
+> as well as copying values on the stack,
+> but these considerations should not outweigh the readability
+> and correctness of the code in most circumstances.
+> When the performance does matter, it is important to profile both approaches
+> with a realistic benchmark before deciding that one approach outperforms the other.
+
+Because, the benchmarks[^9] do not proof any performance difference
+and the general recommendation is to not mix receiver types,
+we decided to use pointer receivers for all `Record` methods.
+
+### Add XYZ method to Logger
+
+The `Logger` does not have methods like `SetSeverity`, etc.
+as the Logs API needs to follow (be compliant with)
+the [specification](https://opentelemetry.io/docs/specs/otel/logs/api/)
+
+[^1]: [Handle structured body and attributes](https://github.com/pellared/opentelemetry-go/pull/7)
+[^2]: Jonathan Amsterdam, [The Go Blog: Structured Logging with slog](https://go.dev/blog/slog)
+[^3]: Jonathan Amsterdam, [GopherCon Europe 2023: A Fast Structured Logging Package](https://www.youtube.com/watch?v=tC4Jt3i62ns)
+[^4]: [Emit definition discussion with benchmarks](https://github.com/open-telemetry/opentelemetry-go/pull/4725#discussion_r1400869566)
+[^5]: [Logger.WithAttributes analysis](https://github.com/pellared/opentelemetry-go/pull/3)
+[^6]: [Record attributes as field and use sync.Pool for reducing allocations](https://github.com/pellared/opentelemetry-go/pull/4) and [Record attributes based on slog.Record](https://github.com/pellared/opentelemetry-go/pull/6)
+[^7]: [Record.Body as any](https://github.com/pellared/opentelemetry-go/pull/5)
+[^8]: [log/slog: structured, leveled logging](https://github.com/golang/go/issues/56345#issuecomment-1302563756)
+[^9]: [Record with pointer receivers only](https://github.com/pellared/opentelemetry-go/pull/8)
+[^10]: [Go FAQ: Stack or heap](https://go.dev/doc/faq#stack_or_heap)
diff --git a/vendor/go.opentelemetry.io/otel/log/LICENSE b/vendor/go.opentelemetry.io/otel/log/LICENSE
new file mode 100644
index 000000000..f1aee0f11
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/LICENSE
@@ -0,0 +1,231 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ 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.
+
+--------------------------------------------------------------------------------
+
+Copyright 2009 The Go Authors.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google LLC nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/vendor/go.opentelemetry.io/otel/log/README.md b/vendor/go.opentelemetry.io/otel/log/README.md
new file mode 100644
index 000000000..3f7142711
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/README.md
@@ -0,0 +1,3 @@
+# Log API
+
+[](https://pkg.go.dev/go.opentelemetry.io/otel/log)
diff --git a/vendor/go.opentelemetry.io/otel/log/doc.go b/vendor/go.opentelemetry.io/otel/log/doc.go
new file mode 100644
index 000000000..211de35f5
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/doc.go
@@ -0,0 +1,85 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+/*
+Package log provides the OpenTelemetry Logs API.
+
+This API is separate from its implementation, so the instrumentation built
+from it is reusable. See [go.opentelemetry.io/otel/sdk/log] for the official
+OpenTelemetry implementation of this API.
+
+The log package provides the OpenTelemetry Logs API, which serves as a standard
+interface for generating and managing log records within the OpenTelemetry ecosystem.
+This package allows users to emit LogRecords, enabling structured, context-rich logging
+that can be easily integrated with observability tools. It ensures that log data is captured
+in a way that is consistent with OpenTelemetry's data model.
+
+This package can be used to create bridges between existing logging libraries and OpenTelemetry.
+Log bridges allow existing logging setups to be integrated with OpenTelemetry.
+Log bridges can be found in the [registry].
+
+# API Implementations
+
+This package does not conform to the standard Go versioning policy; all of its
+interfaces may have methods added to them without a package major version bump.
+This non-standard API evolution could surprise an uninformed implementation
+author. They could unknowingly build their implementation in a way that would
+result in a runtime panic for their users who update to the new API.
+
+The API is designed to help inform an instrumentation author about this
+non-standard API evolution. It requires them to choose a default behavior for
+unimplemented interface methods. There are three behavior choices they can
+make:
+
+ - Compilation failure
+ - Panic
+ - Default to another implementation
+
+All interfaces in this API embed a corresponding interface from
+[go.opentelemetry.io/otel/log/embedded]. If an author wants the default
+behavior of their implementations to be a compilation failure, signaling to
+their users that they need to update to the latest version of that implementation,
+they need to embed the corresponding interface from
+[go.opentelemetry.io/otel/log/embedded] in their implementation. For example,
+
+ import "go.opentelemetry.io/otel/log/embedded"
+
+ type LoggerProvider struct {
+ embedded.LoggerProvider
+ // ...
+ }
+
+If an author wants the default behavior of their implementations to panic,
+they need to embed the API interface directly.
+
+ import "go.opentelemetry.io/otel/log"
+
+ type LoggerProvider struct {
+ log.LoggerProvider
+ // ...
+ }
+
+This is not a recommended behavior as it could lead to publishing packages that
+contain runtime panics when users update other packages that use newer versions
+of [go.opentelemetry.io/otel/log].
+
+Finally, an author can embed another implementation in theirs. The embedded
+implementation will be used for methods not defined by the author. For example,
+an author who wants to default to silently dropping the call can use
+[go.opentelemetry.io/otel/log/noop]:
+
+ import "go.opentelemetry.io/otel/log/noop"
+
+ type LoggerProvider struct {
+ noop.LoggerProvider
+ // ...
+ }
+
+It is strongly recommended that authors only embed
+go.opentelemetry.io/otel/log/noop if they choose this default behavior. That
+implementation is the only one OpenTelemetry authors can guarantee will fully
+implement all the API interfaces when a user updates their API.
+
+[registry]: https://opentelemetry.io/ecosystem/registry/?language=go&component=log-bridge
+*/
+package log
diff --git a/vendor/go.opentelemetry.io/otel/log/embedded/README.md b/vendor/go.opentelemetry.io/otel/log/embedded/README.md
new file mode 100644
index 000000000..bae4ac68f
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/embedded/README.md
@@ -0,0 +1,3 @@
+# Log Embedded
+
+[](https://pkg.go.dev/go.opentelemetry.io/otel/log/embedded)
diff --git a/vendor/go.opentelemetry.io/otel/log/embedded/embedded.go b/vendor/go.opentelemetry.io/otel/log/embedded/embedded.go
new file mode 100644
index 000000000..3b97fcddc
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/embedded/embedded.go
@@ -0,0 +1,36 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// Package embedded provides interfaces embedded within the [OpenTelemetry Logs
+// Bridge API].
+//
+// Implementers of the [OpenTelemetry Logs API] can embed the relevant
+// type from this package into their implementation directly. Doing so will
+// result in a compilation error for users when the [OpenTelemetry Logs Bridge
+// API] is extended (which is something that can happen without a major version
+// bump of the API package).
+//
+// [OpenTelemetry Logs API]: https://pkg.go.dev/go.opentelemetry.io/otel/log
+package embedded
+
+// LoggerProvider is embedded in the [Logs API LoggerProvider].
+//
+// Embed this interface in your implementation of the [Logs API
+// LoggerProvider] if you want users to experience a compilation error when the
+// [Logs Bridge API LoggerProvider] interface is extended (which is something
+// that can happen without a major version bump of the API package). This error
+// signals that they need to update to your latest implementation.
+//
+// [Logs API LoggerProvider]: https://pkg.go.dev/go.opentelemetry.io/otel/log#LoggerProvider
+type LoggerProvider interface{ loggerProvider() }
+
+// Logger is embedded in the [Logs API Logger].
+//
+// Embed this interface in your implementation of the [Logs API Logger]
+// if you want users to experience a compilation error when the [Logs API
+// Logger] interface is extended (which is something that can happen without a
+// major version bump of the API package). This error signals that they need to
+// update to your latest implementation.
+//
+// [Logs API Logger]: https://pkg.go.dev/go.opentelemetry.io/otel/log#Logger
+type Logger interface{ logger() }
diff --git a/vendor/go.opentelemetry.io/otel/log/logger.go b/vendor/go.opentelemetry.io/otel/log/logger.go
new file mode 100644
index 000000000..c0e4ca7ae
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/logger.go
@@ -0,0 +1,197 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package log
+
+import (
+ "context"
+ "slices"
+
+ "go.opentelemetry.io/otel/attribute"
+ "go.opentelemetry.io/otel/log/embedded"
+)
+
+// Logger emits log records.
+//
+// Warning: Methods may be added to this interface in minor releases. See
+// package documentation on API implementation for information on how to set
+// the default behavior for unimplemented methods.
+type Logger interface {
+ // Users of the interface can ignore this. This embedded type is only used
+ // by implementations of this interface. See the "API Implementations"
+ // section of the package documentation for more information.
+ embedded.Logger
+
+ // Emit emits a log record.
+ //
+ // The record may be held by the implementation. Callers should not mutate
+ // the record after it is passed.
+ //
+ // Implementations of this method need to be safe for a user to call
+ // concurrently.
+ Emit(ctx context.Context, record Record)
+
+ // Enabled reports whether the Logger emits for the given context and
+ // param.
+ //
+ // Calling Enabled is optional. It is not required before calling
+ // [Logger.Emit].
+ //
+ // Enabled is useful when constructing a [Record] is expensive. A caller can
+ // call Enabled first and skip record construction when it returns false.
+ // When constructing the Record is inexpensive, a caller can emit it
+ // directly.
+ //
+ // The returned value is not static and may change over time. A cached value
+ // can become stale.
+ //
+ // The passed param is likely to contain only partial information about a
+ // record (e.g., a param with only the Severity set).
+ // If a Logger needs more information than is provided, it
+ // is said to be in an indeterminate state (see below).
+ //
+ // The returned value is true if the Logger emits for the provided context
+ // and param, and false if the Logger does not emit. The returned value may be
+ // true or false in an indeterminate state.
+ // An implementation should default to returning true for an indeterminate
+ // state, but may return false if there are valid reasons to do so in
+ // particular circumstances (e.g., performance or correctness).
+ //
+ // The param should not be held by the implementation. A copy should be
+ // made if the param needs to be held after the call returns.
+ //
+ // Implementations of this method need to be safe for a user to call
+ // concurrently.
+ Enabled(ctx context.Context, param EnabledParameters) bool
+}
+
+// LoggerOption applies configuration options to a [Logger].
+type LoggerOption interface {
+ // applyLogger applies a LoggerOption to a LoggerConfig.
+ applyLogger(LoggerConfig) LoggerConfig
+}
+
+// LoggerConfig contains options for a [Logger].
+type LoggerConfig struct {
+ // Ensure forward compatibility by explicitly making this not comparable.
+ noCmp [0]func() //nolint: unused // This is indeed used.
+
+ version string
+ schemaURL string
+ attrs attribute.Set
+}
+
+type experimentalOption interface {
+ Experimental()
+}
+
+// NewLoggerConfig returns a new [LoggerConfig] with all the options applied.
+func NewLoggerConfig(options ...LoggerOption) LoggerConfig {
+ var c LoggerConfig
+ for _, opt := range options {
+ if _, ok := opt.(experimentalOption); ok {
+ continue
+ }
+ c = opt.applyLogger(c)
+ }
+ return c
+}
+
+// InstrumentationVersion returns the version of the library providing
+// instrumentation.
+func (cfg LoggerConfig) InstrumentationVersion() string {
+ return cfg.version
+}
+
+// InstrumentationAttributes returns the attributes associated with the library
+// providing instrumentation.
+func (cfg LoggerConfig) InstrumentationAttributes() attribute.Set {
+ return cfg.attrs
+}
+
+// SchemaURL returns the schema URL of the library providing instrumentation.
+func (cfg LoggerConfig) SchemaURL() string {
+ return cfg.schemaURL
+}
+
+type loggerOptionFunc func(LoggerConfig) LoggerConfig
+
+func (fn loggerOptionFunc) applyLogger(cfg LoggerConfig) LoggerConfig {
+ return fn(cfg)
+}
+
+// WithInstrumentationVersion returns a [LoggerOption] that sets the
+// instrumentation version of a [Logger].
+func WithInstrumentationVersion(version string) LoggerOption {
+ return loggerOptionFunc(func(config LoggerConfig) LoggerConfig {
+ config.version = version
+ return config
+ })
+}
+
+// mergeSets returns the union of the keys in a and b. For duplicate keys, the
+// value associated with b is used.
+func mergeSets(a, b attribute.Set) attribute.Set {
+ // NewMergeIterator uses the first value for any duplicates.
+ iter := attribute.NewMergeIterator(&b, &a)
+ merged := make([]attribute.KeyValue, 0, a.Len()+b.Len())
+ for iter.Next() {
+ merged = append(merged, iter.Attribute())
+ }
+ return attribute.NewSet(merged...)
+}
+
+// WithInstrumentationAttributes returns a [LoggerOption] that sets the
+// instrumentation attributes of a [Logger].
+//
+// This is equivalent to calling WithInstrumentationAttributeSet with an
+// [attribute.Set] created from a clone of the passed attributes.
+// [WithInstrumentationAttributeSet] is recommended for more control.
+//
+// If multiple [WithInstrumentationAttributes] or [WithInstrumentationAttributeSet]
+// options are passed, the attributes will be merged together in the order
+// they are passed. For attributes with duplicate keys, the last value passed
+// will be used.
+func WithInstrumentationAttributes(attr ...attribute.KeyValue) LoggerOption {
+ set := attribute.NewSet(slices.Clone(attr)...)
+ return WithInstrumentationAttributeSet(set)
+}
+
+// WithInstrumentationAttributeSet returns a [LoggerOption] that adds
+// instrumentation attributes to a [Logger].
+//
+// If multiple [WithInstrumentationAttributes] or [WithInstrumentationAttributeSet]
+// options are passed, the attributes will be merged together in the order
+// they are passed. For attributes with duplicate keys, the last value passed
+// will be used.
+func WithInstrumentationAttributeSet(set attribute.Set) LoggerOption {
+ if set.Len() == 0 {
+ return loggerOptionFunc(func(config LoggerConfig) LoggerConfig {
+ return config
+ })
+ }
+
+ return loggerOptionFunc(func(config LoggerConfig) LoggerConfig {
+ if config.attrs.Len() == 0 {
+ config.attrs = set
+ } else {
+ config.attrs = mergeSets(config.attrs, set)
+ }
+ return config
+ })
+}
+
+// WithSchemaURL returns a [LoggerOption] that sets the schema URL for a
+// [Logger].
+func WithSchemaURL(schemaURL string) LoggerOption {
+ return loggerOptionFunc(func(config LoggerConfig) LoggerConfig {
+ config.schemaURL = schemaURL
+ return config
+ })
+}
+
+// EnabledParameters represents the payload for [Logger.Enabled].
+type EnabledParameters struct {
+ Severity Severity
+ EventName string
+}
diff --git a/vendor/go.opentelemetry.io/otel/log/provider.go b/vendor/go.opentelemetry.io/otel/log/provider.go
new file mode 100644
index 000000000..10969b415
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/provider.go
@@ -0,0 +1,38 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package log
+
+import "go.opentelemetry.io/otel/log/embedded"
+
+// LoggerProvider provides access to [Logger].
+//
+// Warning: Methods may be added to this interface in minor releases. See
+// package documentation on API implementation for information on how to set
+// the default behavior for unimplemented methods.
+type LoggerProvider interface {
+ // Users of the interface can ignore this. This embedded type is only used
+ // by implementations of this interface. See the "API Implementations"
+ // section of the package documentation for more information.
+ embedded.LoggerProvider
+
+ // Logger returns a new [Logger] with the provided name and configuration.
+ //
+ // The name needs to uniquely identify the source of logged code. It is
+ // recommended that name be the Go package name of the library using a log
+ // bridge (note: this is not the name of the bridge package). Most
+ // commonly, this means a bridge will need to accept this value from its
+ // users.
+ //
+ // An empty name is invalid. Implementations should retain the empty value as the
+ // instrumentation scope name, return a working Logger, and report the invalid value.
+ //
+ // The version of the package using a bridge can be critical information
+ // to include when logging. The bridge should accept this version
+ // information and use the [WithInstrumentationVersion] option to configure
+ // the Logger appropriately.
+ //
+ // Implementations of this method need to be safe for a user to call
+ // concurrently.
+ Logger(name string, options ...LoggerOption) Logger
+}
diff --git a/vendor/go.opentelemetry.io/otel/log/record.go b/vendor/go.opentelemetry.io/otel/log/record.go
new file mode 100644
index 000000000..351657e95
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/record.go
@@ -0,0 +1,168 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package log
+
+import (
+ "slices"
+ "time"
+
+ "go.opentelemetry.io/otel/attribute"
+)
+
+// attributesInlineCount is the number of attributes that are efficiently
+// stored in an array within a Record. This value is borrowed from slog, which
+// performed a quantitative survey of log library use and found that this value
+// covers 95% of all use cases (https://go.dev/blog/slog#performance).
+const attributesInlineCount = 5
+
+// Record represents a log record.
+// A log record with a non-empty event name is interpreted as an event record.
+type Record struct {
+ // Ensure forward compatibility by explicitly making this not comparable.
+ noCmp [0]func() //nolint: unused // This is indeed used.
+
+ eventName string
+ timestamp time.Time
+ observedTimestamp time.Time
+ severity Severity
+ severityText string
+ body attribute.Value
+ err error
+
+ // The fields below are for optimizing the implementation of Attributes and
+ // AddAttributes. This design is borrowed from the slog Record type:
+ // https://cs.opensource.google/go/go/+/refs/tags/go1.22.0:src/log/slog/record.go;l=20
+
+ // Allocation optimization: an inline array sized to hold
+ // the majority of log calls (based on examination of open-source
+ // code). It holds the start of the list of attributes.
+ front [attributesInlineCount]attribute.KeyValue
+
+ // The number of attributes in front.
+ nFront int
+
+ // The list of attributes except for those in front.
+ // Invariants:
+ // - len(back) > 0 if nFront == len(front)
+ // - Unused array elements are zeroed to detect mistakes.
+ back []attribute.KeyValue
+}
+
+// EventName returns the event name.
+// A log record with a non-empty event name is interpreted as an event record.
+func (r *Record) EventName() string {
+ return r.eventName
+}
+
+// SetEventName sets the event name.
+// A log record with a non-empty event name is interpreted as an event record.
+// Event names should uniquely identify the structure of the event's attributes
+// and body.
+func (r *Record) SetEventName(s string) {
+ r.eventName = s
+}
+
+// Timestamp returns the time when the log record occurred.
+func (r *Record) Timestamp() time.Time {
+ return r.timestamp
+}
+
+// SetTimestamp sets the time when the log record occurred.
+func (r *Record) SetTimestamp(t time.Time) {
+ r.timestamp = t
+}
+
+// ObservedTimestamp returns the time when the log record was observed.
+func (r *Record) ObservedTimestamp() time.Time {
+ return r.observedTimestamp
+}
+
+// SetObservedTimestamp sets the time when the log record was observed.
+func (r *Record) SetObservedTimestamp(t time.Time) {
+ r.observedTimestamp = t
+}
+
+// Severity returns the [Severity] of the log record.
+func (r *Record) Severity() Severity {
+ return r.severity
+}
+
+// SetSeverity sets the [Severity] level of the log record.
+func (r *Record) SetSeverity(level Severity) {
+ r.severity = level
+}
+
+// SeverityText returns the text of the severity (also known as the log level)
+// as originally known at the source.
+func (r *Record) SeverityText() string {
+ return r.severityText
+}
+
+// SetSeverityText sets the text of the severity (also known as the log level)
+// as originally known at the source.
+func (r *Record) SetSeverityText(text string) {
+ r.severityText = text
+}
+
+// Body returns the body of the log record.
+func (r *Record) Body() attribute.Value {
+ return r.body
+}
+
+// SetBody sets the body of the log record.
+func (r *Record) SetBody(v attribute.Value) {
+ r.body = v
+}
+
+// Err returns the associated error if one has been set.
+func (r *Record) Err() error {
+ return r.err
+}
+
+// SetErr sets the associated error. Passing nil clears the error.
+func (r *Record) SetErr(err error) {
+ r.err = err
+}
+
+// WalkAttributes walks all attributes in the log record by calling f for each
+// [attribute.KeyValue] in the [Record]. Iteration stops if f returns false.
+func (r *Record) WalkAttributes(f func(attribute.KeyValue) bool) {
+ for i := 0; i < r.nFront; i++ {
+ if !f(r.front[i]) {
+ return
+ }
+ }
+ for _, a := range r.back {
+ if !f(a) {
+ return
+ }
+ }
+}
+
+// AddAttributes adds attributes to the log record.
+func (r *Record) AddAttributes(attrs ...attribute.KeyValue) {
+ var i int
+ for i = 0; i < len(attrs) && r.nFront < len(r.front); i++ {
+ a := attrs[i]
+ r.front[r.nFront] = a
+ r.nFront++
+ }
+
+ r.back = slices.Grow(r.back, len(attrs[i:]))
+ r.back = append(r.back, attrs[i:]...)
+}
+
+// AttributesLen returns the number of attributes in the log record.
+func (r *Record) AttributesLen() int {
+ return r.nFront + len(r.back)
+}
+
+// Clone returns a copy of the record with no shared state.
+// The original record and the clone can both be modified without interfering
+// with each other.
+func (r *Record) Clone() Record {
+ res := *r
+ res.back = slices.Clone(r.back)
+ return res
+}
diff --git a/vendor/go.opentelemetry.io/otel/log/severity.go b/vendor/go.opentelemetry.io/otel/log/severity.go
new file mode 100644
index 000000000..4f305be36
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/severity.go
@@ -0,0 +1,69 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+//go:generate stringer -type=Severity -linecomment
+
+package log
+
+// Severity represents a log record's severity (also known as its log level).
+// Smaller numerical values correspond to less severe log records (such as
+// debug events); larger numerical values correspond to more severe log records
+// (such as errors and critical events).
+type Severity int
+
+// The following Severity values are defined by OpenTelemetry.
+const (
+ // SeverityUndefined represents an unset Severity.
+ SeverityUndefined Severity = 0 // UNDEFINED
+
+ // The following are severity values for fine-grained debugging log records.
+ // They are typically disabled in default configurations.
+ SeverityTrace1 Severity = 1 // TRACE
+ SeverityTrace2 Severity = 2 // TRACE2
+ SeverityTrace3 Severity = 3 // TRACE3
+ SeverityTrace4 Severity = 4 // TRACE4
+
+ // The following are severity values for debugging log records.
+ SeverityDebug1 Severity = 5 // DEBUG
+ SeverityDebug2 Severity = 6 // DEBUG2
+ SeverityDebug3 Severity = 7 // DEBUG3
+ SeverityDebug4 Severity = 8 // DEBUG4
+
+ // The following are severity values for informational log records indicating
+ // that an event happened.
+ SeverityInfo1 Severity = 9 // INFO
+ SeverityInfo2 Severity = 10 // INFO2
+ SeverityInfo3 Severity = 11 // INFO3
+ SeverityInfo4 Severity = 12 // INFO4
+
+ // The following are severity values for warning log records. These records
+ // are not errors, but they are likely more important than informational
+ // events.
+ SeverityWarn1 Severity = 13 // WARN
+ SeverityWarn2 Severity = 14 // WARN2
+ SeverityWarn3 Severity = 15 // WARN3
+ SeverityWarn4 Severity = 16 // WARN4
+
+ // The following are severity values for error log records indicating that
+ // something went wrong.
+ SeverityError1 Severity = 17 // ERROR
+ SeverityError2 Severity = 18 // ERROR2
+ SeverityError3 Severity = 19 // ERROR3
+ SeverityError4 Severity = 20 // ERROR4
+
+ // The following are severity values for fatal log records, such as those
+ // associated with an application or system crash.
+ SeverityFatal1 Severity = 21 // FATAL
+ SeverityFatal2 Severity = 22 // FATAL2
+ SeverityFatal3 Severity = 23 // FATAL3
+ SeverityFatal4 Severity = 24 // FATAL4
+
+ // The following are convenience definitions for the base severity of each
+ // level.
+ SeverityTrace = SeverityTrace1
+ SeverityDebug = SeverityDebug1
+ SeverityInfo = SeverityInfo1
+ SeverityWarn = SeverityWarn1
+ SeverityError = SeverityError1
+ SeverityFatal = SeverityFatal1
+)
diff --git a/vendor/go.opentelemetry.io/otel/log/severity_string.go b/vendor/go.opentelemetry.io/otel/log/severity_string.go
new file mode 100644
index 000000000..fb94caeab
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/log/severity_string.go
@@ -0,0 +1,48 @@
+// Code generated by "stringer -type=Severity -linecomment"; DO NOT EDIT.
+
+package log
+
+import "strconv"
+
+func _() {
+ // An "invalid array index" compiler error signifies that the constant values have changed.
+ // Re-run the stringer command to generate them again.
+ var x [1]struct{}
+ _ = x[SeverityUndefined-0]
+ _ = x[SeverityTrace1-1]
+ _ = x[SeverityTrace2-2]
+ _ = x[SeverityTrace3-3]
+ _ = x[SeverityTrace4-4]
+ _ = x[SeverityDebug1-5]
+ _ = x[SeverityDebug2-6]
+ _ = x[SeverityDebug3-7]
+ _ = x[SeverityDebug4-8]
+ _ = x[SeverityInfo1-9]
+ _ = x[SeverityInfo2-10]
+ _ = x[SeverityInfo3-11]
+ _ = x[SeverityInfo4-12]
+ _ = x[SeverityWarn1-13]
+ _ = x[SeverityWarn2-14]
+ _ = x[SeverityWarn3-15]
+ _ = x[SeverityWarn4-16]
+ _ = x[SeverityError1-17]
+ _ = x[SeverityError2-18]
+ _ = x[SeverityError3-19]
+ _ = x[SeverityError4-20]
+ _ = x[SeverityFatal1-21]
+ _ = x[SeverityFatal2-22]
+ _ = x[SeverityFatal3-23]
+ _ = x[SeverityFatal4-24]
+}
+
+const _Severity_name = "UNDEFINEDTRACETRACE2TRACE3TRACE4DEBUGDEBUG2DEBUG3DEBUG4INFOINFO2INFO3INFO4WARNWARN2WARN3WARN4ERRORERROR2ERROR3ERROR4FATALFATAL2FATAL3FATAL4"
+
+var _Severity_index = [...]uint8{0, 9, 14, 20, 26, 32, 37, 43, 49, 55, 59, 64, 69, 74, 78, 83, 88, 93, 98, 104, 110, 116, 121, 127, 133, 139}
+
+func (i Severity) String() string {
+ idx := int(i) - 0
+ if i < 0 || idx >= len(_Severity_index)-1 {
+ return "Severity(" + strconv.FormatInt(int64(i), 10) + ")"
+ }
+ return _Severity_name[_Severity_index[idx]:_Severity_index[idx+1]]
+}
diff --git a/vendor/go.opentelemetry.io/otel/metric.go b/vendor/go.opentelemetry.io/otel/metric.go
index 527d9aec8..30dbb4118 100644
--- a/vendor/go.opentelemetry.io/otel/metric.go
+++ b/vendor/go.opentelemetry.io/otel/metric.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otel // import "go.opentelemetry.io/otel"
+package otel
import (
"go.opentelemetry.io/otel/internal/global"
diff --git a/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go b/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
index 466812d34..11e5b282f 100644
--- a/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
+++ b/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package metric // import "go.opentelemetry.io/otel/metric"
+package metric
import (
"context"
@@ -51,6 +51,9 @@ type Float64ObservableCounterConfig struct {
func NewFloat64ObservableCounterConfig(opts ...Float64ObservableCounterOption) Float64ObservableCounterConfig {
var config Float64ObservableCounterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyFloat64ObservableCounter(config)
}
return config
@@ -111,6 +114,9 @@ func NewFloat64ObservableUpDownCounterConfig(
) Float64ObservableUpDownCounterConfig {
var config Float64ObservableUpDownCounterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyFloat64ObservableUpDownCounter(config)
}
return config
@@ -168,6 +174,9 @@ type Float64ObservableGaugeConfig struct {
func NewFloat64ObservableGaugeConfig(opts ...Float64ObservableGaugeOption) Float64ObservableGaugeConfig {
var config Float64ObservableGaugeConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyFloat64ObservableGauge(config)
}
return config
diff --git a/vendor/go.opentelemetry.io/otel/metric/asyncint64.go b/vendor/go.opentelemetry.io/otel/metric/asyncint64.go
index 66c971bd8..f5577b0c5 100644
--- a/vendor/go.opentelemetry.io/otel/metric/asyncint64.go
+++ b/vendor/go.opentelemetry.io/otel/metric/asyncint64.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package metric // import "go.opentelemetry.io/otel/metric"
+package metric
import (
"context"
@@ -50,6 +50,9 @@ type Int64ObservableCounterConfig struct {
func NewInt64ObservableCounterConfig(opts ...Int64ObservableCounterOption) Int64ObservableCounterConfig {
var config Int64ObservableCounterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyInt64ObservableCounter(config)
}
return config
@@ -110,6 +113,9 @@ func NewInt64ObservableUpDownCounterConfig(
) Int64ObservableUpDownCounterConfig {
var config Int64ObservableUpDownCounterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyInt64ObservableUpDownCounter(config)
}
return config
@@ -167,6 +173,9 @@ type Int64ObservableGaugeConfig struct {
func NewInt64ObservableGaugeConfig(opts ...Int64ObservableGaugeOption) Int64ObservableGaugeConfig {
var config Int64ObservableGaugeConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyInt64ObservableGauge(config)
}
return config
diff --git a/vendor/go.opentelemetry.io/otel/metric/config.go b/vendor/go.opentelemetry.io/otel/metric/config.go
index e42dd6e70..31a5da817 100644
--- a/vendor/go.opentelemetry.io/otel/metric/config.go
+++ b/vendor/go.opentelemetry.io/otel/metric/config.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package metric // import "go.opentelemetry.io/otel/metric"
+package metric
import (
"slices"
@@ -42,11 +42,18 @@ type MeterOption interface {
applyMeter(MeterConfig) MeterConfig
}
+type experimentalOption interface {
+ Experimental()
+}
+
// NewMeterConfig creates a new MeterConfig and applies
// all the given options.
func NewMeterConfig(opts ...MeterOption) MeterConfig {
var config MeterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyMeter(config)
}
return config
diff --git a/vendor/go.opentelemetry.io/otel/metric/doc.go b/vendor/go.opentelemetry.io/otel/metric/doc.go
index f153745b0..235e81f3a 100644
--- a/vendor/go.opentelemetry.io/otel/metric/doc.go
+++ b/vendor/go.opentelemetry.io/otel/metric/doc.go
@@ -24,10 +24,10 @@ all instruments fall into two overlapping logical categories: asynchronous or
synchronous, and int64 or float64.
All synchronous instruments ([Int64Counter], [Int64UpDownCounter],
-[Int64Histogram], [Float64Counter], [Float64UpDownCounter], and
-[Float64Histogram]) are used to measure the operation and performance of source
-code during the source code execution. These instruments only make measurements
-when the source code they instrument is run.
+[Int64Histogram], [Int64Gauge], [Float64Counter], [Float64UpDownCounter],
+[Float64Histogram], and [Float64Gauge]) are used to measure the operation and
+performance of source code during the source code execution. These instruments
+only make measurements when the source code they instrument is run.
All asynchronous instruments ([Int64ObservableCounter],
[Int64ObservableUpDownCounter], [Int64ObservableGauge],
@@ -50,9 +50,11 @@ incrementally increase in value. UpDownCounters ([Int64UpDownCounter],
values that can increase and decrease. When more information needs to be
conveyed about all the synchronous measurements made during a collection cycle,
a Histogram ([Int64Histogram] and [Float64Histogram]) should be used. Finally,
-when just the most recent measurement needs to be conveyed about an
-asynchronous measurement, a Gauge ([Int64ObservableGauge] and
-[Float64ObservableGauge]) should be used.
+when just the most recent measurement needs to be conveyed, a Gauge
+([Int64Gauge], [Float64Gauge], [Int64ObservableGauge], and
+[Float64ObservableGauge]) should be used: the synchronous variants record an
+instantaneous value at a specific point in code, while the observable variants
+sample the value via a callback once per collection cycle.
See the [OpenTelemetry documentation] for more information about instruments
and their intended use.
@@ -80,11 +82,11 @@ Measurements are made by recording values and information about the values with
an instrument. How these measurements are recorded depends on the instrument.
Measurements for synchronous instruments ([Int64Counter], [Int64UpDownCounter],
-[Int64Histogram], [Float64Counter], [Float64UpDownCounter], and
-[Float64Histogram]) are recorded using the instrument methods directly. All
-counter instruments have an Add method that is used to measure an increment
-value, and all histogram instruments have a Record method to measure a data
-point.
+[Int64Histogram], [Int64Gauge], [Float64Counter], [Float64UpDownCounter],
+[Float64Histogram], and [Float64Gauge]) are recorded using the instrument
+methods directly. All counter instruments have an Add method that is used to
+measure an increment value, and all histogram and synchronous gauge
+instruments have a Record method to measure a data point.
Asynchronous instruments ([Int64ObservableCounter],
[Int64ObservableUpDownCounter], [Int64ObservableGauge],
@@ -107,6 +109,31 @@ respectively):
If the criteria are not met, use the RegisterCallback method of the [Meter] that
created the instrument to register a [Callback].
+# Avoiding Expensive Computations
+
+All synchronous instruments provide an Enabled method that reports whether the
+instrument will process measurements for the given context. When no SDK is
+registered or the instrument is otherwise disabled, Enabled returns false. This
+can be used to avoid expensive measurement work when a measurement will not be
+recorded:
+
+ if counter.Enabled(ctx) {
+ counter.Add(ctx, 1, metric.WithAttributes(expensiveAttributes()...))
+ }
+
+This is especially valuable when computing attributes is expensive.
+[WithAttributes] performs non-trivial work on every call to build an
+[attribute.Set] from the provided attributes, and that work is wasted if the
+measurement is not recorded.
+
+For performance sensitive code where the same attribute set is used repeatedly,
+prefer [WithAttributeSet]. It accepts a pre-built [attribute.Set], letting you
+pay the construction cost once and reuse it across many measurements:
+
+ attrs := attribute.NewSet(attribute.String("key", "val"))
+ // ... later, on each call:
+ counter.Add(ctx, 1, metric.WithAttributeSet(attrs))
+
# API Implementations
This package does not conform to the standard Go versioning policy, all of its
@@ -174,4 +201,4 @@ fully implement all the API interfaces when a user updates their API.
[OpenTelemetry documentation]: https://opentelemetry.io/docs/concepts/signals/metrics/
[GetMeterProvider]: https://pkg.go.dev/go.opentelemetry.io/otel#GetMeterProvider
*/
-package metric // import "go.opentelemetry.io/otel/metric"
+package metric
diff --git a/vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go b/vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go
index 1a9dc6809..10f361b5b 100644
--- a/vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go
+++ b/vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go
@@ -11,7 +11,7 @@
// the API package).
//
// [OpenTelemetry metric API]: https://pkg.go.dev/go.opentelemetry.io/otel/metric
-package embedded // import "go.opentelemetry.io/otel/metric/embedded"
+package embedded
// MeterProvider is embedded in
// [go.opentelemetry.io/otel/metric.MeterProvider].
diff --git a/vendor/go.opentelemetry.io/otel/metric/instrument.go b/vendor/go.opentelemetry.io/otel/metric/instrument.go
index 9f48d5f11..e8c1c96cb 100644
--- a/vendor/go.opentelemetry.io/otel/metric/instrument.go
+++ b/vendor/go.opentelemetry.io/otel/metric/instrument.go
@@ -1,9 +1,11 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package metric // import "go.opentelemetry.io/otel/metric"
+package metric
-import "go.opentelemetry.io/otel/attribute"
+import (
+ "go.opentelemetry.io/otel/attribute"
+)
// Observable is used as a grouping mechanism for all instruments that are
// updated within a Callback.
@@ -228,6 +230,9 @@ type AddConfig struct {
func NewAddConfig(opts []AddOption) AddConfig {
config := AddConfig{attrs: *attribute.EmptySet()}
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyAdd(config)
}
return config
@@ -253,6 +258,9 @@ type RecordConfig struct {
func NewRecordConfig(opts []RecordOption) RecordConfig {
config := RecordConfig{attrs: *attribute.EmptySet()}
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyRecord(config)
}
return config
@@ -278,6 +286,9 @@ type ObserveConfig struct {
func NewObserveConfig(opts []ObserveOption) ObserveConfig {
config := ObserveConfig{attrs: *attribute.EmptySet()}
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyObserve(config)
}
return config
@@ -299,6 +310,10 @@ type attrOpt struct {
set attribute.Set
}
+func (o *attrOpt) Set(set attribute.Set) {
+ o.set = set
+}
+
// mergeSets returns the union of keys between a and b. Any duplicate keys will
// use the value associated with b.
func mergeSets(a, b attribute.Set) attribute.Set {
@@ -311,7 +326,7 @@ func mergeSets(a, b attribute.Set) attribute.Set {
return attribute.NewSet(merged...)
}
-func (o attrOpt) applyAdd(c AddConfig) AddConfig {
+func (o *attrOpt) applyAdd(c AddConfig) AddConfig {
switch {
case o.set.Len() == 0:
case c.attrs.Len() == 0:
@@ -322,7 +337,7 @@ func (o attrOpt) applyAdd(c AddConfig) AddConfig {
return c
}
-func (o attrOpt) applyRecord(c RecordConfig) RecordConfig {
+func (o *attrOpt) applyRecord(c RecordConfig) RecordConfig {
switch {
case o.set.Len() == 0:
case c.attrs.Len() == 0:
@@ -333,7 +348,7 @@ func (o attrOpt) applyRecord(c RecordConfig) RecordConfig {
return c
}
-func (o attrOpt) applyObserve(c ObserveConfig) ObserveConfig {
+func (o *attrOpt) applyObserve(c ObserveConfig) ObserveConfig {
switch {
case o.set.Len() == 0:
case c.attrs.Len() == 0:
@@ -350,8 +365,14 @@ func (o attrOpt) applyObserve(c ObserveConfig) ObserveConfig {
// If multiple WithAttributeSet or WithAttributes options are passed the
// attributes will be merged together in the order they are passed. Attributes
// with duplicate keys will use the last value passed.
+//
+// Experimental: The returned option may implement
+// [go.opentelemetry.io/otel/metric/x.Settable][attribute.Set], which can be
+// used to replace the option's attribute set and reuse the option without
+// additional allocations. This behavior is experimental and may be changed or
+// removed in a future release without notice.
func WithAttributeSet(attributes attribute.Set) MeasurementOption {
- return attrOpt{set: attributes}
+ return &attrOpt{set: attributes}
}
// WithAttributes converts attributes into an attribute Set and sets the Set to
@@ -369,8 +390,14 @@ func WithAttributeSet(attributes attribute.Set) MeasurementOption {
//
// See [WithAttributeSet] for information about how multiple WithAttributes are
// merged.
+//
+// Experimental: The returned option may implement
+// [go.opentelemetry.io/otel/metric/x.Settable][[]attribute.KeyValue], which can be
+// used to replace the option's attributes and reuse the option without
+// additional allocations. This behavior is experimental and may be changed or
+// removed in a future release without notice.
func WithAttributes(attributes ...attribute.KeyValue) MeasurementOption {
cp := make([]attribute.KeyValue, len(attributes))
copy(cp, attributes)
- return attrOpt{set: attribute.NewSet(cp...)}
+ return &attrOpt{set: attribute.NewSet(cp...)}
}
diff --git a/vendor/go.opentelemetry.io/otel/metric/meter.go b/vendor/go.opentelemetry.io/otel/metric/meter.go
index 5606ec4bd..971241572 100644
--- a/vendor/go.opentelemetry.io/otel/metric/meter.go
+++ b/vendor/go.opentelemetry.io/otel/metric/meter.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package metric // import "go.opentelemetry.io/otel/metric"
+package metric
import (
"context"
@@ -320,7 +320,7 @@ type Observer interface {
ObserveInt64(obsrv Int64Observable, value int64, opts ...ObserveOption)
}
-// Registration is an token representing the unique registration of a callback
+// Registration is a token representing the unique registration of a callback
// for a set of instruments with a Meter.
//
// Warning: Methods may be added to this interface in minor releases. See
diff --git a/vendor/go.opentelemetry.io/otel/metric/noop/noop.go b/vendor/go.opentelemetry.io/otel/metric/noop/noop.go
index 634e73aee..80c0f2f22 100644
--- a/vendor/go.opentelemetry.io/otel/metric/noop/noop.go
+++ b/vendor/go.opentelemetry.io/otel/metric/noop/noop.go
@@ -10,7 +10,7 @@
// This implementation can be embedded in other implementations of the
// OpenTelemetry metric API. Doing so will mean the implementation defaults to
// no operation for methods it does not implement.
-package noop // import "go.opentelemetry.io/otel/metric/noop"
+package noop
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go b/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
index abb3051d7..2770ac2dc 100644
--- a/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
+++ b/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package metric // import "go.opentelemetry.io/otel/metric"
+package metric
import (
"context"
@@ -51,6 +51,9 @@ type Float64CounterConfig struct {
func NewFloat64CounterConfig(opts ...Float64CounterOption) Float64CounterConfig {
var config Float64CounterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyFloat64Counter(config)
}
return config
@@ -116,6 +119,9 @@ type Float64UpDownCounterConfig struct {
func NewFloat64UpDownCounterConfig(opts ...Float64UpDownCounterOption) Float64UpDownCounterConfig {
var config Float64UpDownCounterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyFloat64UpDownCounter(config)
}
return config
@@ -152,6 +158,8 @@ type Float64Histogram interface {
// Record adds an additional value to the distribution.
//
+ // The incr value is expected to be non-negative.
+ //
// Use the WithAttributeSet (or, if performance is not a concern,
// the WithAttributes) option to include measurement attributes.
//
@@ -182,6 +190,9 @@ type Float64HistogramConfig struct {
func NewFloat64HistogramConfig(opts ...Float64HistogramOption) Float64HistogramConfig {
var config Float64HistogramConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyFloat64Histogram(config)
}
return config
@@ -251,6 +262,9 @@ type Float64GaugeConfig struct {
func NewFloat64GaugeConfig(opts ...Float64GaugeOption) Float64GaugeConfig {
var config Float64GaugeConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyFloat64Gauge(config)
}
return config
diff --git a/vendor/go.opentelemetry.io/otel/metric/syncint64.go b/vendor/go.opentelemetry.io/otel/metric/syncint64.go
index 5bbfaf039..c8a739c90 100644
--- a/vendor/go.opentelemetry.io/otel/metric/syncint64.go
+++ b/vendor/go.opentelemetry.io/otel/metric/syncint64.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package metric // import "go.opentelemetry.io/otel/metric"
+package metric
import (
"context"
@@ -51,6 +51,9 @@ type Int64CounterConfig struct {
func NewInt64CounterConfig(opts ...Int64CounterOption) Int64CounterConfig {
var config Int64CounterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyInt64Counter(config)
}
return config
@@ -116,6 +119,9 @@ type Int64UpDownCounterConfig struct {
func NewInt64UpDownCounterConfig(opts ...Int64UpDownCounterOption) Int64UpDownCounterConfig {
var config Int64UpDownCounterConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyInt64UpDownCounter(config)
}
return config
@@ -152,6 +158,8 @@ type Int64Histogram interface {
// Record adds an additional value to the distribution.
//
+ // The incr value is expected to be non-negative.
+ //
// Use the WithAttributeSet (or, if performance is not a concern,
// the WithAttributes) option to include measurement attributes.
//
@@ -182,6 +190,9 @@ type Int64HistogramConfig struct {
func NewInt64HistogramConfig(opts ...Int64HistogramOption) Int64HistogramConfig {
var config Int64HistogramConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyInt64Histogram(config)
}
return config
@@ -251,6 +262,9 @@ type Int64GaugeConfig struct {
func NewInt64GaugeConfig(opts ...Int64GaugeOption) Int64GaugeConfig {
var config Int64GaugeConfig
for _, o := range opts {
+ if _, ok := o.(experimentalOption); ok {
+ continue
+ }
config = o.applyInt64Gauge(config)
}
return config
diff --git a/vendor/go.opentelemetry.io/otel/propagation.go b/vendor/go.opentelemetry.io/otel/propagation.go
index 2fd949733..05e9b11ce 100644
--- a/vendor/go.opentelemetry.io/otel/propagation.go
+++ b/vendor/go.opentelemetry.io/otel/propagation.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otel // import "go.opentelemetry.io/otel"
+package otel
import (
"go.opentelemetry.io/otel/internal/global"
diff --git a/vendor/go.opentelemetry.io/otel/propagation/baggage.go b/vendor/go.opentelemetry.io/otel/propagation/baggage.go
index 2ecca3fed..9d7ef7c89 100644
--- a/vendor/go.opentelemetry.io/otel/propagation/baggage.go
+++ b/vendor/go.opentelemetry.io/otel/propagation/baggage.go
@@ -1,10 +1,13 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package propagation // import "go.opentelemetry.io/otel/propagation"
+package propagation
import (
"context"
+ "errors"
+ "fmt"
+ "sync"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/internal/errorhandler"
@@ -13,11 +16,18 @@ import (
const (
baggageHeader = "baggage"
+ maxParseErrors = 5
+
// W3C Baggage specification limits.
// https://www.w3.org/TR/baggage/#limits
- maxMembers = 64
+ maxMembers = 64
+ maxBytesPerBaggageString = 8192
)
+// handleExtractErrOnce limits error reporting for attacker-controlled baggage headers
+// to one process-wide emission, preventing repeated extraction from flooding logs.
+var handleExtractErrOnce sync.Once
+
// Baggage is a propagator that supports the W3C Baggage format.
//
// This propagates user-defined baggage associated with a trace. The complete
@@ -57,7 +67,9 @@ func extractSingleBaggage(parent context.Context, carrier TextMapCarrier) contex
bag, err := baggage.Parse(bStr)
if err != nil {
- errorhandler.GetErrorHandler().Handle(err)
+ handleExtractErrOnce.Do(func() {
+ errorhandler.GetErrorHandler().Handle(err)
+ })
}
if bag.Len() == 0 {
return parent
@@ -72,24 +84,60 @@ func extractMultiBaggage(parent context.Context, carrier ValuesGetter) context.C
}
var members []baggage.Member
- for _, bStr := range bVals {
- currBag, err := baggage.Parse(bStr)
- if err != nil {
- errorhandler.GetErrorHandler().Handle(err)
+ var totalBytes int
+ var parseErrors int
+ var truncateErr error
+ for i, bStr := range bVals {
+ if i > 0 {
+ totalBytes++ // comma separator between combined header values
}
- if currBag.Len() == 0 {
- continue
+ totalBytes += len(bStr)
+ if totalBytes > maxBytesPerBaggageString {
+ // Per the W3C Baggage spec, the byte limit applies to the
+ // combination of all baggage headers, not each header
+ // individually. Mirror the single-header behavior of
+ // reporting the error and returning the parent context
+ // with no baggage attached.
+ handleExtractErrOnce.Do(func() {
+ errorhandler.GetErrorHandler().Handle(fmt.Errorf(
+ "baggage: aggregate header size %d exceeds %d byte limit",
+ totalBytes,
+ maxBytesPerBaggageString,
+ ))
+ })
+ return parent
}
- members = append(members, currBag.Members()...)
- if len(members) >= maxMembers {
- break
+
+ // If members exceed the limit, stop parsing baggage.
+ if len(members) <= maxMembers {
+ currBag, err := baggage.Parse(bStr)
+ if err != nil {
+ parseErrors++
+ if parseErrors <= maxParseErrors {
+ truncateErr = errors.Join(truncateErr, err)
+ }
+ }
+ if currBag.Len() == 0 {
+ continue
+ }
+ members = append(members, currBag.Members()...)
}
}
+ if dropped := parseErrors - maxParseErrors; dropped > 0 {
+ truncateErr = errors.Join(truncateErr, fmt.Errorf("and %d more error(s)", dropped))
+ }
+
b, err := baggage.New(members...)
if err != nil {
- errorhandler.GetErrorHandler().Handle(err)
+ truncateErr = errors.Join(truncateErr, err)
}
+ if truncateErr != nil {
+ handleExtractErrOnce.Do(func() {
+ errorhandler.GetErrorHandler().Handle(truncateErr)
+ })
+ }
+
if b.Len() == 0 {
return parent
}
diff --git a/vendor/go.opentelemetry.io/otel/propagation/doc.go b/vendor/go.opentelemetry.io/otel/propagation/doc.go
index 33a3baf15..6e2bbbb18 100644
--- a/vendor/go.opentelemetry.io/otel/propagation/doc.go
+++ b/vendor/go.opentelemetry.io/otel/propagation/doc.go
@@ -10,4 +10,4 @@ package is the W3C Trace Context encoding
(https://www.w3.org/TR/trace-context/), and W3C Baggage
(https://www.w3.org/TR/baggage/).
*/
-package propagation // import "go.opentelemetry.io/otel/propagation"
+package propagation
diff --git a/vendor/go.opentelemetry.io/otel/propagation/internal/hextable/hextable.go b/vendor/go.opentelemetry.io/otel/propagation/internal/hextable/hextable.go
new file mode 100644
index 000000000..3d63244c2
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/propagation/internal/hextable/hextable.go
@@ -0,0 +1,32 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// Package hextable provides a lookup table for decoding lowercase
+// hexadecimal.
+package hextable
+
+// Rev is a reverse hex lookup table for lowercase hex digits. Valid
+// hexadecimal characters are indexed at their respective values. All other
+// characters, including the upper-case A-F disallowed by the W3C trace
+// context specification, are represented with '\xff'.
+//
+// The '\xff' character is used as invalid because no valid character has the
+// upper 4 bits set. Meaning, an efficient validation can be performed over
+// multiple character parsing by checking these bits remain zero.
+const Rev = "" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\x0a\x0b\x0c\x0d\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
diff --git a/vendor/go.opentelemetry.io/otel/propagation/propagation.go b/vendor/go.opentelemetry.io/otel/propagation/propagation.go
index 0a32c59aa..a3891fbe7 100644
--- a/vendor/go.opentelemetry.io/otel/propagation/propagation.go
+++ b/vendor/go.opentelemetry.io/otel/propagation/propagation.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package propagation // import "go.opentelemetry.io/otel/propagation"
+package propagation
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/propagation/trace_context.go b/vendor/go.opentelemetry.io/otel/propagation/trace_context.go
index 11f404deb..1eb36b88e 100644
--- a/vendor/go.opentelemetry.io/otel/propagation/trace_context.go
+++ b/vendor/go.opentelemetry.io/otel/propagation/trace_context.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package propagation // import "go.opentelemetry.io/otel/propagation"
+package propagation
import (
"context"
@@ -9,6 +9,7 @@ import (
"fmt"
"strings"
+ "go.opentelemetry.io/otel/propagation/internal/hextable"
"go.opentelemetry.io/otel/trace"
)
@@ -126,27 +127,23 @@ func (TraceContext) extract(carrier TextMapCarrier) trace.SpanContext {
return sc
}
-// upperHex detect hex is upper case Unicode characters.
-func upperHex(v string) bool {
- for _, c := range v {
- if c >= 'A' && c <= 'F' {
- return true
- }
- }
- return false
-}
-
func extractPart(dst []byte, h *string, n int) bool {
part, left, _ := strings.Cut(*h, delimiter)
*h = left
- // hex.Decode decodes unsupported upper-case characters, so exclude explicitly.
- if len(part) != n || upperHex(part) {
+ if len(part) != n {
return false
}
- if p, err := hex.Decode(dst, []byte(part)); err != nil || p != n/2 {
- return false
+ // hextable.Rev maps every invalid character to 0xff, including the
+ // upper-case A-F the specification disallows. OR-ing every looked-up value
+ // together lets a single check detect any invalid character, because no
+ // valid value has the upper 4 bits set.
+ invalidMark := byte(0)
+ for i := 0; i < n; i += 2 {
+ hi, lo := hextable.Rev[part[i]], hextable.Rev[part[i+1]]
+ dst[i/2] = (hi << 4) | lo
+ invalidMark |= hi | lo
}
- return true
+ return invalidMark&0xf0 == 0
}
// Fields returns the keys who's values are set with Inject.
diff --git a/vendor/go.opentelemetry.io/otel/renovate.json b/vendor/go.opentelemetry.io/otel/renovate.json
index fa5acf2d3..5008ab2bf 100644
--- a/vendor/go.opentelemetry.io/otel/renovate.json
+++ b/vendor/go.opentelemetry.io/otel/renovate.json
@@ -15,6 +15,13 @@
"matchDepTypes": ["indirect"],
"enabled": true
},
+ {
+ "description": "Disable Go module major updates to v2+",
+ "matchManagers": ["gomod"],
+ "matchUpdateTypes": ["major"],
+ "matchNewValue": "/^v?([2-9]|[1-9][0-9]+)\\./",
+ "enabled": false
+ },
{
"matchPackageNames": ["go.opentelemetry.io/build-tools/**"],
"groupName": "build-tools"
diff --git a/vendor/go.opentelemetry.io/otel/requirements.txt b/vendor/go.opentelemetry.io/otel/requirements.txt
index 7c541dee7..b2666ab48 100644
--- a/vendor/go.opentelemetry.io/otel/requirements.txt
+++ b/vendor/go.opentelemetry.io/otel/requirements.txt
@@ -1 +1 @@
-codespell==2.4.2
+codespell==2.4.3
diff --git a/vendor/go.opentelemetry.io/otel/semconv/internal/metricpool/pool.go b/vendor/go.opentelemetry.io/otel/semconv/internal/metricpool/pool.go
new file mode 100644
index 000000000..c5f5ad46e
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/internal/metricpool/pool.go
@@ -0,0 +1,48 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// Package metricpool provides shared pools for semantic convention metric
+// measurement options.
+package metricpool
+
+import (
+ "sync"
+
+ "go.opentelemetry.io/otel/metric"
+)
+
+var (
+ addOptionsPool = sync.Pool{New: func() any {
+ o := make([]metric.AddOption, 0, 1)
+ return &o
+ }}
+ recOptionsPool = sync.Pool{New: func() any {
+ o := make([]metric.RecordOption, 0, 1)
+ return &o
+ }}
+)
+
+// AddOptions returns a pooled AddOption slice.
+func AddOptions() *[]metric.AddOption {
+ return addOptionsPool.Get().(*[]metric.AddOption)
+}
+
+// PutAddOptions clears, resets, and returns o to the shared AddOption pool.
+func PutAddOptions(o *[]metric.AddOption) {
+ clear(*o)
+ *o = (*o)[:0]
+ addOptionsPool.Put(o)
+}
+
+// RecordOptions returns a pooled RecordOption slice.
+func RecordOptions() *[]metric.RecordOption {
+ return recOptionsPool.Get().(*[]metric.RecordOption)
+}
+
+// PutRecordOptions clears, resets, and returns o to the shared RecordOption
+// pool.
+func PutRecordOptions(o *[]metric.RecordOption) {
+ clear(*o)
+ *o = (*o)[:0]
+ recOptionsPool.Put(o)
+}
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go
index b6b27498f..d20ad49ef 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go
@@ -3,7 +3,7 @@
// Code generated from semantic convention specification. DO NOT EDIT.
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0"
+package semconv
import "go.opentelemetry.io/otel/attribute"
@@ -1447,9 +1447,11 @@ func AWSExtendedRequestID(val string) attribute.KeyValue {
// AWSKinesisStreamName returns an attribute KeyValue conforming to the
// "aws.kinesis.stream_name" semantic conventions. It represents the name of the
// AWS Kinesis [stream] the request refers to. Corresponds to the `--stream-name`
-// parameter of the Kinesis [describe-stream] operation.
+//
+// parameter of the Kinesis [describe-stream] operation.
//
// [stream]: https://docs.aws.amazon.com/streams/latest/dev/introduction.html
+//
// [describe-stream]: https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream.html
func AWSKinesisStreamName(val string) attribute.KeyValue {
return AWSKinesisStreamNameKey.String(val)
@@ -1459,7 +1461,8 @@ func AWSKinesisStreamName(val string) attribute.KeyValue {
// "aws.lambda.invoked_arn" semantic conventions. It represents the full invoked
// ARN as provided on the `Context` passed to the function (
// `Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next`
-// applicable).
+//
+// applicable).
func AWSLambdaInvokedARN(val string) attribute.KeyValue {
return AWSLambdaInvokedARNKey.String(val)
}
@@ -2635,7 +2638,8 @@ func CloudRegion(val string) attribute.KeyValue {
// "cloud.resource_id" semantic conventions. It represents the cloud
// provider-specific native identifier of the monitored cloud resource (e.g. an
// [ARN] on AWS, a [fully qualified resource ID] on Azure, a [full resource name]
-// on GCP).
+//
+// on GCP).
//
// [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
// [fully qualified resource ID]: https://learn.microsoft.com/rest/api/resources/resources/get-by-id
@@ -15190,4 +15194,4 @@ func ZOSSmfID(val string) attribute.KeyValue {
// to which the z/OS system belongs too.
func ZOSSysplexName(val string) attribute.KeyValue {
return ZOSSysplexNameKey.String(val)
-}
\ No newline at end of file
+}
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go
index 111010321..b67c64b96 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go
@@ -6,4 +6,4 @@
// OpenTelemetry semantic conventions are agreed standardized naming
// patterns for OpenTelemetry things. This package represents the v1.37.0
// version of the OpenTelemetry semantic conventions.
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0"
+package semconv
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go
index 267979c05..719241429 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0"
+package semconv
import (
"reflect"
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go
index e67469a4f..3fe84aae0 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0"
+package semconv
const (
// ExceptionEventName is the name of the Span event representing an exception.
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go
index f8a0b7044..0009b185b 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0"
+package semconv
// SchemaURL is the schema URL that matches the version of the semantic conventions
// that this package defines. Semconv packages starting from v1.4.0 must declare
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/MIGRATION.md b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/MIGRATION.md
deleted file mode 100644
index e246b1692..000000000
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/MIGRATION.md
+++ /dev/null
@@ -1,27 +0,0 @@
-
-# Migration from v1.39.0 to v1.40.0
-
-The `go.opentelemetry.io/otel/semconv/v1.40.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.39.0` with the following exceptions.
-
-## Removed
-
-The following declarations have been removed.
-Refer to the [OpenTelemetry Semantic Conventions documentation] for deprecation instructions.
-
-If the type is not listed in the documentation as deprecated, it has been removed in this version due to lack of applicability or use.
-If you use any of these non-deprecated declarations in your Go application, please [open an issue] describing your use-case.
-
-- `ErrorMessage`
-- `ErrorMessageKey`
-- `RPCMessageCompressedSize`
-- `RPCMessageCompressedSizeKey`
-- `RPCMessageID`
-- `RPCMessageIDKey`
-- `RPCMessageTypeKey`
-- `RPCMessageTypeReceived`
-- `RPCMessageTypeSent`
-- `RPCMessageUncompressedSize`
-- `RPCMessageUncompressedSizeKey`
-
-[OpenTelemetry Semantic Conventions documentation]: https://github.com/open-telemetry/semantic-conventions
-[open an issue]: https://github.com/open-telemetry/opentelemetry-go/issues/new?template=Blank+issue
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/README.md b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/README.md
deleted file mode 100644
index c51b7fb7b..000000000
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Semconv v1.40.0
-
-[](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.40.0)
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/MIGRATION.md b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/MIGRATION.md
new file mode 100644
index 000000000..54d8e7d70
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/MIGRATION.md
@@ -0,0 +1,4 @@
+
+# Migration from v1.42.0 to v1.43.0
+
+The `go.opentelemetry.io/otel/semconv/v1.43.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.42.0`.
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/README.md b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/README.md
new file mode 100644
index 000000000..20e64d795
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/README.md
@@ -0,0 +1,3 @@
+# Semconv v1.43.0
+
+[](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.43.0)
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/attribute_group.go b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/attribute_group.go
similarity index 90%
rename from vendor/go.opentelemetry.io/otel/semconv/v1.40.0/attribute_group.go
rename to vendor/go.opentelemetry.io/otel/semconv/v1.43.0/attribute_group.go
index ee6b1f79d..770388dfc 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/attribute_group.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/attribute_group.go
@@ -3,7 +3,7 @@
// Code generated from semantic convention specification. DO NOT EDIT.
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0"
+package semconv
import "go.opentelemetry.io/otel/attribute"
@@ -22,7 +22,7 @@ const (
// [Activity lifecycle callbacks], and from which the `OS identifiers` are
// derived.
//
- // [Activity lifecycle callbacks]: https://developer.android.com/guide/components/activities/activity-lifecycle#lc
+ // [Activity lifecycle callbacks]: https://developer.android.com/guide/components/activities/activity-lifecycle#lifecycle-callbacks
AndroidAppStateKey = attribute.Key("android.app.state")
// AndroidOSAPILevelKey is the attribute Key conforming to the
@@ -87,6 +87,24 @@ const (
// "9f2b833506aa6973a92fde9733e6271f", "my-app-1.0.0-code-123"
AppBuildIDKey = attribute.Key("app.build_id")
+ // AppCrashIDKey is the attribute Key conforming to the "app.crash.id" semantic
+ // conventions. It represents a unique identifier representing an instance of an
+ // end-user facing app crash.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "083d3d2d-9a0e-47f8-be3d-bc3c5538ba38"
+ // Note: Its value MAY be meaningful and be used as a reference for telemetry
+ // and metadata recorded by
+ // the same instrumentation (e.g. it is an ID generated by an external source
+ // that captured the crash).
+ // It MAY come from a source external to the instrumentation such that it can be
+ // used to look up additional
+ // data from other sources as well as facilitate deduplication.
+ AppCrashIDKey = attribute.Key("app.crash.id")
+
// AppInstallationIDKey is the attribute Key conforming to the
// "app.installation.id" semantic conventions. It represents a unique identifier
// representing the installation of an application on a specific device.
@@ -252,6 +270,13 @@ func AppBuildID(val string) attribute.KeyValue {
return AppBuildIDKey.String(val)
}
+// AppCrashID returns an attribute KeyValue conforming to the "app.crash.id"
+// semantic conventions. It represents a unique identifier representing an
+// instance of an end-user facing app crash.
+func AppCrashID(val string) attribute.KeyValue {
+ return AppCrashIDKey.String(val)
+}
+
// AppInstallationID returns an attribute KeyValue conforming to the
// "app.installation.id" semantic conventions. It represents a unique identifier
// representing the installation of an application on a specific device.
@@ -950,7 +975,7 @@ const (
// of the [AWS Lambda EvenSource Mapping]. An event source is mapped to a lambda
// function. It's contents are read by Lambda and used to trigger a function.
// This isn't available in the lambda execution context or the lambda runtime
- // environtment. This is going to be populated by the AWS SDK for each language
+ // environment. This is going to be populated by the AWS SDK for each language
// when that UUID is present. Some of these operations are
// Create/Delete/Get/List/Update EventSourceMapping.
//
@@ -1186,7 +1211,7 @@ const (
// AWSSecretsmanagerSecretARNKey is the attribute Key conforming to the
// "aws.secretsmanager.secret.arn" semantic conventions. It represents the ARN
- // of the Secret stored in the Secrets Mangger.
+ // of the Secret stored in the Secrets Manager.
//
// Type: string
// RequirementLevel: Recommended
@@ -1515,7 +1540,7 @@ func AWSLambdaInvokedARN(val string) attribute.KeyValue {
// of the [AWS Lambda EvenSource Mapping]. An event source is mapped to a lambda
// function. It's contents are read by Lambda and used to trigger a function.
// This isn't available in the lambda execution context or the lambda runtime
-// environtment. This is going to be populated by the AWS SDK for each language
+// environment. This is going to be populated by the AWS SDK for each language
// when that UUID is present. Some of these operations are
// Create/Delete/Get/List/Update EventSourceMapping.
//
@@ -1609,7 +1634,7 @@ func AWSS3UploadID(val string) attribute.KeyValue {
// AWSSecretsmanagerSecretARN returns an attribute KeyValue conforming to the
// "aws.secretsmanager.secret.arn" semantic conventions. It represents the ARN of
-// the Secret stored in the Secrets Mangger.
+// the Secret stored in the Secrets Manager.
func AWSSecretsmanagerSecretARN(val string) attribute.KeyValue {
return AWSSecretsmanagerSecretARNKey.String(val)
}
@@ -1744,6 +1769,19 @@ const (
// Examples: 1000, 1002
AzureCosmosDBResponseSubStatusCodeKey = attribute.Key("azure.cosmosdb.response.sub_status_code")
+ // AzureResourceGroupNameKey is the attribute Key conforming to the
+ // "azure.resource_group.name" semantic conventions. It represents the name of
+ // the Azure [resource group] the resource belongs to.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-resource-group", "rg-myapp-prod"
+ //
+ // [resource group]: https://learn.microsoft.com/azure/azure-resource-manager/management/manage-resource-groups-portal
+ AzureResourceGroupNameKey = attribute.Key("azure.resource_group.name")
+
// AzureResourceProviderNamespaceKey is the attribute Key conforming to the
// "azure.resource_provider.namespace" semantic conventions. It represents the
// [Azure Resource Provider Namespace] as recognized by the client.
@@ -1808,6 +1846,15 @@ func AzureCosmosDBResponseSubStatusCode(val int) attribute.KeyValue {
return AzureCosmosDBResponseSubStatusCodeKey.Int(val)
}
+// AzureResourceGroupName returns an attribute KeyValue conforming to the
+// "azure.resource_group.name" semantic conventions. It represents the name of
+// the Azure [resource group] the resource belongs to.
+//
+// [resource group]: https://learn.microsoft.com/azure/azure-resource-manager/management/manage-resource-groups-portal
+func AzureResourceGroupName(val string) attribute.KeyValue {
+ return AzureResourceGroupNameKey.String(val)
+}
+
// AzureResourceProviderNamespace returns an attribute KeyValue conforming to the
// "azure.resource_provider.namespace" semantic conventions. It represents the
// [Azure Resource Provider Namespace] as recognized by the client.
@@ -1871,6 +1918,19 @@ const (
// [UA client hints API]: https://wicg.github.io/ua-client-hints/#interface
BrowserBrandsKey = attribute.Key("browser.brands")
+ // BrowserDocumentURLFullKey is the attribute Key conforming to the
+ // "browser.document.url.full" semantic conventions. It represents the absolute
+ // URL of the current browser document according to [RFC3986].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "https://www.example.com/search?q=OpenTelemetry#SemConv"
+ //
+ // [RFC3986]: https://www.rfc-editor.org/rfc/rfc3986
+ BrowserDocumentURLFullKey = attribute.Key("browser.document.url.full")
+
// BrowserLanguageKey is the attribute Key conforming to the "browser.language"
// semantic conventions. It represents the preferred language of the user using
// the browser.
@@ -1933,6 +1993,15 @@ func BrowserBrands(val ...string) attribute.KeyValue {
return BrowserBrandsKey.StringSlice(val)
}
+// BrowserDocumentURLFull returns an attribute KeyValue conforming to the
+// "browser.document.url.full" semantic conventions. It represents the absolute
+// URL of the current browser document according to [RFC3986].
+//
+// [RFC3986]: https://www.rfc-editor.org/rfc/rfc3986
+func BrowserDocumentURLFull(val string) attribute.KeyValue {
+ return BrowserDocumentURLFullKey.String(val)
+}
+
// BrowserLanguage returns an attribute KeyValue conforming to the
// "browser.language" semantic conventions. It represents the preferred language
// of the user using the browser.
@@ -2107,7 +2176,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "BUILD", "RUN", "SYNC"
CICDPipelineActionNameKey = attribute.Key("cicd.pipeline.action.name")
@@ -2118,7 +2187,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "Build and Test", "Lint", "Deploy Go Project",
// "deploy_to_environment"
@@ -2130,9 +2199,9 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
- // Examples: "success", "failure", "timeout", "skipped"
+ // Examples: "success", "failure", "timeout", "skip"
CICDPipelineResultKey = attribute.Key("cicd.pipeline.result")
// CICDPipelineRunIDKey is the attribute Key conforming to the
@@ -2141,7 +2210,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "120912"
CICDPipelineRunIDKey = attribute.Key("cicd.pipeline.run.id")
@@ -2152,7 +2221,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "pending", "executing", "finalizing"
CICDPipelineRunStateKey = attribute.Key("cicd.pipeline.run.state")
@@ -2164,7 +2233,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples:
// "https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075"
@@ -2180,7 +2249,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "Run GoLang Linter", "Go Build", "go-test", "deploy_binary"
//
@@ -2193,9 +2262,14 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "12097"
+ // Note: For a given pipeline run and task, the `cicd.pipeline.task.run.id` MUST
+ // be unique within that run. For the same task across different runs of the
+ // same pipeline, the `cicd.pipeline.task.run.id` MAY remain the same, enabling
+ // correlation of `cicd.pipeline.task.run.result` values across multiple
+ // pipeline runs.
CICDPipelineTaskRunIDKey = attribute.Key("cicd.pipeline.task.run.id")
// CICDPipelineTaskRunResultKey is the attribute Key conforming to the
@@ -2204,9 +2278,9 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
- // Examples: "success", "failure", "timeout", "skipped"
+ // Examples: "success", "failure", "timeout", "skip"
CICDPipelineTaskRunResultKey = attribute.Key("cicd.pipeline.task.run.result")
// CICDPipelineTaskRunURLFullKey is the attribute Key conforming to the
@@ -2216,7 +2290,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples:
// "https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075"
@@ -2230,52 +2304,52 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "build", "test", "deploy"
CICDPipelineTaskTypeKey = attribute.Key("cicd.pipeline.task.type")
// CICDSystemComponentKey is the attribute Key conforming to the
// "cicd.system.component" semantic conventions. It represents the name of a
- // component of the CICD system.
+ // component of the CI/CD system.
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "controller", "scheduler", "agent"
CICDSystemComponentKey = attribute.Key("cicd.system.component")
// CICDWorkerIDKey is the attribute Key conforming to the "cicd.worker.id"
// semantic conventions. It represents the unique identifier of a worker within
- // a CICD system.
+ // a CI/CD system.
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "abc123", "10.0.1.2", "controller"
CICDWorkerIDKey = attribute.Key("cicd.worker.id")
// CICDWorkerNameKey is the attribute Key conforming to the "cicd.worker.name"
- // semantic conventions. It represents the name of a worker within a CICD
+ // semantic conventions. It represents the name of a worker within a CI/CD
// system.
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "agent-abc", "controller", "Ubuntu LTS"
CICDWorkerNameKey = attribute.Key("cicd.worker.name")
// CICDWorkerStateKey is the attribute Key conforming to the "cicd.worker.state"
- // semantic conventions. It represents the state of a CICD worker / agent.
+ // semantic conventions. It represents the state of a CI/CD worker / agent.
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
- // Examples: "idle", "busy", "down"
+ // Examples: "available", "busy", "offline"
CICDWorkerStateKey = attribute.Key("cicd.worker.state")
// CICDWorkerURLFullKey is the attribute Key conforming to the
@@ -2285,7 +2359,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "https://cicd.example.org/worker/abc123"
//
@@ -2347,21 +2421,21 @@ func CICDPipelineTaskRunURLFull(val string) attribute.KeyValue {
// CICDSystemComponent returns an attribute KeyValue conforming to the
// "cicd.system.component" semantic conventions. It represents the name of a
-// component of the CICD system.
+// component of the CI/CD system.
func CICDSystemComponent(val string) attribute.KeyValue {
return CICDSystemComponentKey.String(val)
}
// CICDWorkerID returns an attribute KeyValue conforming to the "cicd.worker.id"
// semantic conventions. It represents the unique identifier of a worker within a
-// CICD system.
+// CI/CD system.
func CICDWorkerID(val string) attribute.KeyValue {
return CICDWorkerIDKey.String(val)
}
// CICDWorkerName returns an attribute KeyValue conforming to the
// "cicd.worker.name" semantic conventions. It represents the name of a worker
-// within a CICD system.
+// within a CI/CD system.
func CICDWorkerName(val string) attribute.KeyValue {
return CICDWorkerNameKey.String(val)
}
@@ -2379,39 +2453,39 @@ func CICDWorkerURLFull(val string) attribute.KeyValue {
// Enum values for cicd.pipeline.action.name
var (
// The pipeline run is executing a build.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineActionNameBuild = CICDPipelineActionNameKey.String("BUILD")
// The pipeline run is executing.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineActionNameRun = CICDPipelineActionNameKey.String("RUN")
// The pipeline run is executing a sync.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineActionNameSync = CICDPipelineActionNameKey.String("SYNC")
)
// Enum values for cicd.pipeline.result
var (
// The pipeline run finished successfully.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineResultSuccess = CICDPipelineResultKey.String("success")
// The pipeline run did not finish successfully, eg. due to a compile error or a
// failing test. Such failures are usually detected by non-zero exit codes of
// the tools executed in the pipeline run.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineResultFailure = CICDPipelineResultKey.String("failure")
- // The pipeline run failed due to an error in the CICD system, eg. due to the
+ // The pipeline run failed due to an error in the CI/CD system, eg. due to the
// worker being killed.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineResultError = CICDPipelineResultKey.String("error")
// A timeout caused the pipeline run to be interrupted.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineResultTimeout = CICDPipelineResultKey.String("timeout")
// The pipeline run was cancelled, eg. by a user manually cancelling the
// pipeline run.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineResultCancellation = CICDPipelineResultKey.String("cancellation")
// The pipeline run was skipped, eg. due to a precondition not being met.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineResultSkip = CICDPipelineResultKey.String("skip")
)
@@ -2421,66 +2495,66 @@ var (
// the execution of the run starts (eg. time spent in a queue, provisioning
// agents, creating run resources).
//
- // Stability: development
+ // Stability: release_candidate
CICDPipelineRunStatePending = CICDPipelineRunStateKey.String("pending")
// The executing state spans the execution of any run tasks (eg. build, test).
- // Stability: development
+ // Stability: release_candidate
CICDPipelineRunStateExecuting = CICDPipelineRunStateKey.String("executing")
// The finalizing state spans from when the run has finished executing (eg.
// cleanup of run resources).
- // Stability: development
+ // Stability: release_candidate
CICDPipelineRunStateFinalizing = CICDPipelineRunStateKey.String("finalizing")
)
// Enum values for cicd.pipeline.task.run.result
var (
// The task run finished successfully.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineTaskRunResultSuccess = CICDPipelineTaskRunResultKey.String("success")
// The task run did not finish successfully, eg. due to a compile error or a
// failing test. Such failures are usually detected by non-zero exit codes of
// the tools executed in the task run.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineTaskRunResultFailure = CICDPipelineTaskRunResultKey.String("failure")
- // The task run failed due to an error in the CICD system, eg. due to the worker
- // being killed.
- // Stability: development
+ // The task run failed due to an error in the CI/CD system, eg. due to the
+ // worker being killed.
+ // Stability: release_candidate
CICDPipelineTaskRunResultError = CICDPipelineTaskRunResultKey.String("error")
// A timeout caused the task run to be interrupted.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineTaskRunResultTimeout = CICDPipelineTaskRunResultKey.String("timeout")
// The task run was cancelled, eg. by a user manually cancelling the task run.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineTaskRunResultCancellation = CICDPipelineTaskRunResultKey.String("cancellation")
// The task run was skipped, eg. due to a precondition not being met.
- // Stability: development
+ // Stability: release_candidate
CICDPipelineTaskRunResultSkip = CICDPipelineTaskRunResultKey.String("skip")
)
// Enum values for cicd.pipeline.task.type
var (
// build
- // Stability: development
+ // Stability: release_candidate
CICDPipelineTaskTypeBuild = CICDPipelineTaskTypeKey.String("build")
// test
- // Stability: development
+ // Stability: release_candidate
CICDPipelineTaskTypeTest = CICDPipelineTaskTypeKey.String("test")
// deploy
- // Stability: development
+ // Stability: release_candidate
CICDPipelineTaskTypeDeploy = CICDPipelineTaskTypeKey.String("deploy")
)
// Enum values for cicd.worker.state
var (
- // The worker is not performing work for the CICD system. It is available to the
- // CICD system to perform work on (online / idle).
- // Stability: development
+ // The worker is not performing work for the CI/CD system. It is available to
+ // the CI/CD system to perform work on (online / idle).
+ // Stability: release_candidate
CICDWorkerStateAvailable = CICDWorkerStateKey.String("available")
- // The worker is performing work for the CICD system.
- // Stability: development
+ // The worker is performing work for the CI/CD system.
+ // Stability: release_candidate
CICDWorkerStateBusy = CICDWorkerStateKey.String("busy")
- // The worker is not available to the CICD system (disconnected / down).
- // Stability: development
+ // The worker is not available to the CI/CD system (disconnected / down).
+ // Stability: release_candidate
CICDWorkerStateOffline = CICDWorkerStateKey.String("offline")
)
@@ -2539,7 +2613,9 @@ const (
// RequirementLevel: Recommended
// Stability: Development
//
- // Examples: "111111111111", "opentelemetry"
+ // Examples: "111111111111", "opentelemetry",
+ // "22222222-2222-2222-2222-222222222222"
+ // Note: For Azure, this is the subscription ID.
CloudAccountIDKey = attribute.Key("cloud.account.id")
// CloudAvailabilityZoneKey is the attribute Key conforming to the
@@ -3431,7 +3507,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "a3bf90e006b2"
//
@@ -3467,7 +3543,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "gcr.io/opentelemetry/operator"
ContainerImageNameKey = attribute.Key("container.image.name")
@@ -3478,7 +3554,7 @@ const (
//
// Type: string[]
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples:
// "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb",
@@ -3497,7 +3573,7 @@ const (
//
// Type: string[]
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "v1.27.1", "3.5.7-0"
//
@@ -3518,7 +3594,7 @@ const (
// ContainerRuntimeDescriptionKey is the attribute Key conforming to the
// "container.runtime.description" semantic conventions. It represents a
// description about the runtime which could include, for example details about
- // the CRI/API version being used or other customisations.
+ // the CRI/API version being used or other customizations.
//
// Type: string
// RequirementLevel: Recommended
@@ -3649,7 +3725,7 @@ func ContainerName(val string) attribute.KeyValue {
// ContainerRuntimeDescription returns an attribute KeyValue conforming to the
// "container.runtime.description" semantic conventions. It represents a
// description about the runtime which could include, for example details about
-// the CRI/API version being used or other customisations.
+// the CRI/API version being used or other customizations.
func ContainerRuntimeDescription(val string) attribute.KeyValue {
return ContainerRuntimeDescriptionKey.String(val)
}
@@ -3686,7 +3762,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "user", "system"
CPUModeKey = attribute.Key("cpu.mode")
@@ -3702,29 +3778,26 @@ func CPULogicalNumber(val int) attribute.KeyValue {
// Enum values for cpu.mode
var (
// User
- // Stability: development
+ // Stability: release_candidate
CPUModeUser = CPUModeKey.String("user")
// System
- // Stability: development
+ // Stability: release_candidate
CPUModeSystem = CPUModeKey.String("system")
// Nice
- // Stability: development
+ // Stability: release_candidate
CPUModeNice = CPUModeKey.String("nice")
// Idle
- // Stability: development
+ // Stability: release_candidate
CPUModeIdle = CPUModeKey.String("idle")
// IO Wait
- // Stability: development
+ // Stability: release_candidate
CPUModeIOWait = CPUModeKey.String("iowait")
// Interrupt
- // Stability: development
+ // Stability: release_candidate
CPUModeInterrupt = CPUModeKey.String("interrupt")
// Steal
- // Stability: development
+ // Stability: release_candidate
CPUModeSteal = CPUModeKey.String("steal")
- // Kernel
- // Stability: development
- CPUModeKernel = CPUModeKey.String("kernel")
)
// Namespace: db
@@ -3798,15 +3871,46 @@ const (
// DBOperationBatchSizeKey is the attribute Key conforming to the
// "db.operation.batch.size" semantic conventions. It represents the number of
- // queries included in a batch operation.
+ // database operations included in a batch operation.
//
// Type: int
// RequirementLevel: Recommended
// Stability: Stable
//
// Examples: 2, 3, 4
- // Note: Operations are only considered batches when they contain two or more
- // operations, and so `db.operation.batch.size` SHOULD never be `1`.
+ // Note: Except for empty batch requests described below, a batch operation
+ // contains two
+ // or more database operations explicitly submitted as separate operations in a
+ // single
+ // client call, protocol message, or database command.
+ //
+ // Requests to batch APIs that contain only one operation SHOULD be modeled as
+ // single
+ // operations, not as batch operations.
+ //
+ // A database call is not a batch operation solely because one operation accepts
+ // multiple operands, such as keys, rows, documents, points, or other data
+ // elements,
+ // including Redis [`MGET`] with
+ // multiple keys.
+ //
+ // In batch APIs that execute the same parameterized operation with parameter
+ // sets,
+ // each parameter set represents one database operation for determining whether
+ // the
+ // request is a batch operation. Requests with only one parameter set SHOULD be
+ // modeled
+ // as single operations, not as batch operations.
+ //
+ // `db.operation.batch.size` SHOULD be set to the number of operations in the
+ // batch.
+ // It SHOULD NOT be set for non-batch operations.
+ //
+ // A request to execute a batch operation with no operations SHOULD also be
+ // treated
+ // as a batch operation, and `db.operation.batch.size` SHOULD be set to `0`.
+ //
+ // [`MGET`]: https://redis.io/docs/latest/commands/mget/
DBOperationBatchSizeKey = attribute.Key("db.operation.batch.size")
// DBOperationNameKey is the attribute Key conforming to the "db.operation.name"
@@ -3975,7 +4079,7 @@ func DBNamespace(val string) attribute.KeyValue {
// DBOperationBatchSize returns an attribute KeyValue conforming to the
// "db.operation.batch.size" semantic conventions. It represents the number of
-// queries included in a batch operation.
+// database operations included in a batch operation.
func DBOperationBatchSize(val int) attribute.KeyValue {
return DBOperationBatchSizeKey.Int(val)
}
@@ -4260,9 +4364,9 @@ const (
// "deployment.environment.name" semantic conventions. It represents the name of
// the [deployment environment] (aka deployment tier).
//
- // Type: string
+ // Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Stable
//
// Examples: "staging", "production"
// Note: `deployment.environment.name` does not affect the uniqueness
@@ -4312,15 +4416,6 @@ const (
DeploymentStatusKey = attribute.Key("deployment.status")
)
-// DeploymentEnvironmentName returns an attribute KeyValue conforming to the
-// "deployment.environment.name" semantic conventions. It represents the name of
-// the [deployment environment] (aka deployment tier).
-//
-// [deployment environment]: https://wikipedia.org/wiki/Deployment_environment
-func DeploymentEnvironmentName(val string) attribute.KeyValue {
- return DeploymentEnvironmentNameKey.String(val)
-}
-
// DeploymentID returns an attribute KeyValue conforming to the "deployment.id"
// semantic conventions. It represents the id of the deployment.
func DeploymentID(val string) attribute.KeyValue {
@@ -4334,6 +4429,22 @@ func DeploymentName(val string) attribute.KeyValue {
return DeploymentNameKey.String(val)
}
+// Enum values for deployment.environment.name
+var (
+ // Production environment
+ // Stability: stable
+ DeploymentEnvironmentNameProduction = DeploymentEnvironmentNameKey.String("production")
+ // Staging environment
+ // Stability: stable
+ DeploymentEnvironmentNameStaging = DeploymentEnvironmentNameKey.String("staging")
+ // Testing environment
+ // Stability: stable
+ DeploymentEnvironmentNameTest = DeploymentEnvironmentNameKey.String("test")
+ // Development environment
+ // Stability: stable
+ DeploymentEnvironmentNameDevelopment = DeploymentEnvironmentNameKey.String("development")
+)
+
// Enum values for deployment.status
var (
// failed
@@ -4499,7 +4610,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "read"
DiskIODirectionKey = attribute.Key("disk.io.direction")
@@ -4508,10 +4619,10 @@ const (
// Enum values for disk.io.direction
var (
// read
- // Stability: development
+ // Stability: release_candidate
DiskIODirectionRead = DiskIODirectionKey.String("read")
// write
- // Stability: development
+ // Stability: release_candidate
DiskIODirectionWrite = DiskIODirectionKey.String("write")
)
@@ -4645,6 +4756,12 @@ const (
// When `error.type` is set to a type (e.g., an exception type), its
// canonical class name identifying the type within the artifact SHOULD be used.
//
+ // If the recorded error type is a wrapper that is not meaningful for
+ // failure classification, instrumentation MAY use the type of the inner
+ // error instead. For example, in Go, errors created with `fmt.Errorf`
+ // using `%w` MAY be unwrapped when the wrapper type does not help
+ // classify the failure.
+ //
// Instrumentations SHOULD document the list of errors they report.
//
// The cardinality of `error.type` within one instrumentation library SHOULD be
@@ -4718,6 +4835,11 @@ const (
// Stability: Stable
//
// Examples: "java.net.ConnectException", "OSError"
+ // Note: If the recorded exception type is a wrapper that is not meaningful for
+ // failure classification, instrumentation MAY use the type of the inner
+ // exception instead. For example, in Go, errors created with `fmt.Errorf`
+ // using `%w` MAY be unwrapped when the wrapper type does not help
+ // classify the failure.
ExceptionTypeKey = attribute.Key("exception.type")
)
@@ -5473,6 +5595,45 @@ const (
// Examples: "256383"
FileInodeKey = attribute.Key("file.inode")
+ // FileLockMechanismKey is the attribute Key conforming to the
+ // "file.lock.mechanism" semantic conventions. It represents the lock mechanism
+ // such as noted by [POSIX].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "POSIX", "FLOCK", "DELEG", "LEASE"
+ //
+ // [POSIX]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
+ FileLockMechanismKey = attribute.Key("file.lock.mechanism")
+
+ // FileLockModeKey is the attribute Key conforming to the "file.lock.mode"
+ // semantic conventions. It represents the mode of lock or operation such as
+ // documented by [POSIX].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "ADVISORY", "MANDATORY", "BREAKING", "ACTIVE", "BREAKER"
+ //
+ // [POSIX]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
+ FileLockModeKey = attribute.Key("file.lock.mode")
+
+ // FileLockTypeKey is the attribute Key conforming to the "file.lock.type"
+ // semantic conventions. It represents the lock type as represented by i.e.
+ // [POSIX]'s l_type.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "read"
+ //
+ // [POSIX]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
+ FileLockTypeKey = attribute.Key("file.lock.type")
+
// FileModeKey is the attribute Key conforming to the "file.mode" semantic
// conventions. It represents the mode of the file in octal representation.
//
@@ -5629,6 +5790,24 @@ func FileInode(val string) attribute.KeyValue {
return FileInodeKey.String(val)
}
+// FileLockMechanism returns an attribute KeyValue conforming to the
+// "file.lock.mechanism" semantic conventions. It represents the lock mechanism
+// such as noted by [POSIX].
+//
+// [POSIX]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
+func FileLockMechanism(val string) attribute.KeyValue {
+ return FileLockMechanismKey.String(val)
+}
+
+// FileLockMode returns an attribute KeyValue conforming to the "file.lock.mode"
+// semantic conventions. It represents the mode of lock or operation such as
+// documented by [POSIX].
+//
+// [POSIX]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
+func FileLockMode(val string) attribute.KeyValue {
+ return FileLockModeKey.String(val)
+}
+
// FileMode returns an attribute KeyValue conforming to the "file.mode" semantic
// conventions. It represents the mode of the file in octal representation.
func FileMode(val string) attribute.KeyValue {
@@ -5683,6 +5862,16 @@ func FileSymbolicLinkTargetPath(val string) attribute.KeyValue {
return FileSymbolicLinkTargetPathKey.String(val)
}
+// Enum values for file.lock.type
+var (
+ // read
+ // Stability: development
+ FileLockTypeRead = FileLockTypeKey.String("read")
+ // write
+ // Stability: development
+ FileLockTypeWrite = FileLockTypeKey.String("write")
+)
+
// Namespace: gcp
const (
// GCPAppHubApplicationContainerKey is the attribute Key conforming to the
@@ -6129,6 +6318,13 @@ func GCPGCEInstanceHostname(val string) attribute.KeyValue {
return GCPGCEInstanceHostnameKey.String(val)
}
+// GCPGCEInstanceLabels returns an attribute KeyValue conforming to the
+// "gcp.gce.instance.labels" semantic conventions. It represents the GCE instance
+// labels, `` being the label name and the value being the label value.
+func GCPGCEInstanceLabels(key string, val string) attribute.KeyValue {
+ return attribute.String("gcp.gce.instance.labels."+key, val)
+}
+
// GCPGCEInstanceName returns an attribute KeyValue conforming to the
// "gcp.gce.instance.name" semantic conventions. It represents the instance name
// of a GCE instance. This is the value provided by `host.name`, the visible name
@@ -6291,1183 +6487,90 @@ var (
GCPAppHubDestinationWorkloadEnvironmentTypeDevelopment = GCPAppHubDestinationWorkloadEnvironmentTypeKey.String("DEVELOPMENT")
)
-// Namespace: gen_ai
+// Namespace: geo
const (
- // GenAIAgentDescriptionKey is the attribute Key conforming to the
- // "gen_ai.agent.description" semantic conventions. It represents the free-form
- // description of the GenAI agent provided by the application.
+ // GeoContinentCodeKey is the attribute Key conforming to the
+ // "geo.continent.code" semantic conventions. It represents the two-letter code
+ // representing continent’s name.
//
- // Type: string
+ // Type: Enum
// RequirementLevel: Recommended
// Stability: Development
//
- // Examples: "Helps with math problems", "Generates fiction stories"
- GenAIAgentDescriptionKey = attribute.Key("gen_ai.agent.description")
+ // Examples:
+ GeoContinentCodeKey = attribute.Key("geo.continent.code")
- // GenAIAgentIDKey is the attribute Key conforming to the "gen_ai.agent.id"
- // semantic conventions. It represents the unique identifier of the GenAI agent.
+ // GeoCountryISOCodeKey is the attribute Key conforming to the
+ // "geo.country.iso_code" semantic conventions. It represents the two-letter ISO
+ // Country Code ([ISO 3166-1 alpha2]).
//
// Type: string
// RequirementLevel: Recommended
// Stability: Development
//
- // Examples: "asst_5j66UpCpwteGg4YSxUnt7lPY"
- GenAIAgentIDKey = attribute.Key("gen_ai.agent.id")
-
- // GenAIAgentNameKey is the attribute Key conforming to the "gen_ai.agent.name"
- // semantic conventions. It represents the human-readable name of the GenAI
- // agent provided by the application.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
+ // Examples: "CA"
//
- // Examples: "Math Tutor", "Fiction Writer"
- GenAIAgentNameKey = attribute.Key("gen_ai.agent.name")
+ // [ISO 3166-1 alpha2]: https://wikipedia.org/wiki/ISO_3166-1#Codes
+ GeoCountryISOCodeKey = attribute.Key("geo.country.iso_code")
- // GenAIAgentVersionKey is the attribute Key conforming to the
- // "gen_ai.agent.version" semantic conventions. It represents the version of the
- // GenAI agent.
+ // GeoLocalityNameKey is the attribute Key conforming to the "geo.locality.name"
+ // semantic conventions. It represents the locality name. Represents the name of
+ // a city, town, village, or similar populated place.
//
// Type: string
// RequirementLevel: Recommended
// Stability: Development
//
- // Examples: "1.0.0", "2025-05-01"
- GenAIAgentVersionKey = attribute.Key("gen_ai.agent.version")
+ // Examples: "Montreal", "Berlin"
+ GeoLocalityNameKey = attribute.Key("geo.locality.name")
- // GenAIConversationIDKey is the attribute Key conforming to the
- // "gen_ai.conversation.id" semantic conventions. It represents the unique
- // identifier for a conversation (session, thread), used to store and correlate
- // messages within this conversation.
+ // GeoLocationLatKey is the attribute Key conforming to the "geo.location.lat"
+ // semantic conventions. It represents the latitude of the geo location in
+ // [WGS84].
//
- // Type: string
+ // Type: double
// RequirementLevel: Recommended
// Stability: Development
//
- // Examples: "conv_5j66UpCpwteGg4YSxUnt7lPY"
- GenAIConversationIDKey = attribute.Key("gen_ai.conversation.id")
-
- // GenAIDataSourceIDKey is the attribute Key conforming to the
- // "gen_ai.data_source.id" semantic conventions. It represents the data source
- // identifier.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
+ // Examples: 45.505918
//
- // Examples: "H7STPQYOND"
- // Note: Data sources are used by AI agents and RAG applications to store
- // grounding data. A data source may be an external database, object store,
- // document collection, website, or any other storage system used by the GenAI
- // agent or application. The `gen_ai.data_source.id` SHOULD match the identifier
- // used by the GenAI system rather than a name specific to the external storage,
- // such as a database or object store. Semantic conventions referencing
- // `gen_ai.data_source.id` MAY also leverage additional attributes, such as
- // `db.*`, to further identify and describe the data source.
- GenAIDataSourceIDKey = attribute.Key("gen_ai.data_source.id")
+ // [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84
+ GeoLocationLatKey = attribute.Key("geo.location.lat")
- // GenAIEmbeddingsDimensionCountKey is the attribute Key conforming to the
- // "gen_ai.embeddings.dimension.count" semantic conventions. It represents the
- // number of dimensions the resulting output embeddings should have.
+ // GeoLocationLonKey is the attribute Key conforming to the "geo.location.lon"
+ // semantic conventions. It represents the longitude of the geo location in
+ // [WGS84].
//
- // Type: int
+ // Type: double
// RequirementLevel: Recommended
// Stability: Development
//
- // Examples: 512, 1024
- GenAIEmbeddingsDimensionCountKey = attribute.Key("gen_ai.embeddings.dimension.count")
-
- // GenAIEvaluationExplanationKey is the attribute Key conforming to the
- // "gen_ai.evaluation.explanation" semantic conventions. It represents a
- // free-form explanation for the assigned score provided by the evaluator.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
+ // Examples: -73.61483
//
- // Examples: "The response is factually accurate but lacks sufficient detail to
- // fully address the question."
- GenAIEvaluationExplanationKey = attribute.Key("gen_ai.evaluation.explanation")
+ // [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84
+ GeoLocationLonKey = attribute.Key("geo.location.lon")
- // GenAIEvaluationNameKey is the attribute Key conforming to the
- // "gen_ai.evaluation.name" semantic conventions. It represents the name of the
- // evaluation metric used for the GenAI response.
+ // GeoPostalCodeKey is the attribute Key conforming to the "geo.postal_code"
+ // semantic conventions. It represents the postal code associated with the
+ // location. Values appropriate for this field may also be known as a postcode
+ // or ZIP code and will vary widely from country to country.
//
// Type: string
// RequirementLevel: Recommended
// Stability: Development
//
- // Examples: "Relevance", "IntentResolution"
- GenAIEvaluationNameKey = attribute.Key("gen_ai.evaluation.name")
+ // Examples: "94040"
+ GeoPostalCodeKey = attribute.Key("geo.postal_code")
- // GenAIEvaluationScoreLabelKey is the attribute Key conforming to the
- // "gen_ai.evaluation.score.label" semantic conventions. It represents the human
- // readable label for evaluation.
+ // GeoRegionISOCodeKey is the attribute Key conforming to the
+ // "geo.region.iso_code" semantic conventions. It represents the region ISO code
+ // ([ISO 3166-2]).
//
// Type: string
// RequirementLevel: Recommended
// Stability: Development
//
- // Examples: "relevant", "not_relevant", "correct", "incorrect", "pass", "fail"
- // Note: This attribute provides a human-readable interpretation of the
- // evaluation score produced by an evaluator. For example, a score value of 1
- // could mean "relevant" in one evaluation system and "not relevant" in another,
- // depending on the scoring range and evaluator. The label SHOULD have low
- // cardinality. Possible values depend on the evaluation metric and evaluator
- // used; implementations SHOULD document the possible values.
- GenAIEvaluationScoreLabelKey = attribute.Key("gen_ai.evaluation.score.label")
-
- // GenAIEvaluationScoreValueKey is the attribute Key conforming to the
- // "gen_ai.evaluation.score.value" semantic conventions. It represents the
- // evaluation score returned by the evaluator.
- //
- // Type: double
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 4.0
- GenAIEvaluationScoreValueKey = attribute.Key("gen_ai.evaluation.score.value")
-
- // GenAIInputMessagesKey is the attribute Key conforming to the
- // "gen_ai.input.messages" semantic conventions. It represents the chat history
- // provided to the model as an input.
- //
- // Type: any
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "[\n {\n "role": "user",\n "parts": [\n {\n "type": "text",\n
- // "content": "Weather in Paris?"\n }\n ]\n },\n {\n "role": "assistant",\n
- // "parts": [\n {\n "type": "tool_call",\n "id":
- // "call_VSPygqKTWdrhaFErNvMV18Yl",\n "name": "get_weather",\n "arguments": {\n
- // "location": "Paris"\n }\n }\n ]\n },\n {\n "role": "tool",\n "parts": [\n {\n
- // "type": "tool_call_response",\n "id": " call_VSPygqKTWdrhaFErNvMV18Yl",\n
- // "result": "rainy, 57°F"\n }\n ]\n }\n]\n"
- // Note: Instrumentations MUST follow [Input messages JSON schema].
- // When the attribute is recorded on events, it MUST be recorded in structured
- // form. When recorded on spans, it MAY be recorded as a JSON string if
- // structured
- // format is not supported and SHOULD be recorded in structured form otherwise.
- //
- // Messages MUST be provided in the order they were sent to the model.
- // Instrumentations MAY provide a way for users to filter or truncate
- // input messages.
- //
- // > [!Warning]
- // > This attribute is likely to contain sensitive information including
- // > user/PII data.
- //
- // See [Recording content on attributes]
- // section for more details.
- //
- // [Input messages JSON schema]: /docs/gen-ai/gen-ai-input-messages.json
- // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes
- GenAIInputMessagesKey = attribute.Key("gen_ai.input.messages")
-
- // GenAIOperationNameKey is the attribute Key conforming to the
- // "gen_ai.operation.name" semantic conventions. It represents the name of the
- // operation being performed.
- //
- // Type: Enum
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples:
- // Note: If one of the predefined values applies, but specific system uses a
- // different name it's RECOMMENDED to document it in the semantic conventions
- // for specific GenAI system and use system-specific name in the
- // instrumentation. If a different name is not documented, instrumentation
- // libraries SHOULD use applicable predefined value.
- GenAIOperationNameKey = attribute.Key("gen_ai.operation.name")
-
- // GenAIOutputMessagesKey is the attribute Key conforming to the
- // "gen_ai.output.messages" semantic conventions. It represents the messages
- // returned by the model where each message represents a specific model response
- // (choice, candidate).
- //
- // Type: any
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "[\n {\n "role": "assistant",\n "parts": [\n {\n "type": "text",\n
- // "content": "The weather in Paris is currently rainy with a temperature of
- // 57°F."\n }\n ],\n "finish_reason": "stop"\n }\n]\n"
- // Note: Instrumentations MUST follow [Output messages JSON schema]
- //
- // Each message represents a single output choice/candidate generated by
- // the model. Each message corresponds to exactly one generation
- // (choice/candidate) and vice versa - one choice cannot be split across
- // multiple messages or one message cannot contain parts from multiple choices.
- //
- // When the attribute is recorded on events, it MUST be recorded in structured
- // form. When recorded on spans, it MAY be recorded as a JSON string if
- // structured
- // format is not supported and SHOULD be recorded in structured form otherwise.
- //
- // Instrumentations MAY provide a way for users to filter or truncate
- // output messages.
- //
- // > [!Warning]
- // > This attribute is likely to contain sensitive information including
- // > user/PII data.
- //
- // See [Recording content on attributes]
- // section for more details.
- //
- // [Output messages JSON schema]: /docs/gen-ai/gen-ai-output-messages.json
- // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes
- GenAIOutputMessagesKey = attribute.Key("gen_ai.output.messages")
-
- // GenAIOutputTypeKey is the attribute Key conforming to the
- // "gen_ai.output.type" semantic conventions. It represents the represents the
- // content type requested by the client.
- //
- // Type: Enum
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples:
- // Note: This attribute SHOULD be used when the client requests output of a
- // specific type. The model may return zero or more outputs of this type.
- // This attribute specifies the output modality and not the actual output
- // format. For example, if an image is requested, the actual output could be a
- // URL pointing to an image file.
- // Additional output format details may be recorded in the future in the
- // `gen_ai.output.{type}.*` attributes.
- GenAIOutputTypeKey = attribute.Key("gen_ai.output.type")
-
- // GenAIPromptNameKey is the attribute Key conforming to the
- // "gen_ai.prompt.name" semantic conventions. It represents the name of the
- // prompt that uniquely identifies it.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "analyze-code"
- GenAIPromptNameKey = attribute.Key("gen_ai.prompt.name")
-
- // GenAIProviderNameKey is the attribute Key conforming to the
- // "gen_ai.provider.name" semantic conventions. It represents the Generative AI
- // provider as identified by the client or server instrumentation.
- //
- // Type: Enum
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples:
- // Note: The attribute SHOULD be set based on the instrumentation's best
- // knowledge and may differ from the actual model provider.
- //
- // Multiple providers, including Azure OpenAI, Gemini, and AI hosting platforms
- // are accessible using the OpenAI REST API and corresponding client libraries,
- // but may proxy or host models from different providers.
- //
- // The `gen_ai.request.model`, `gen_ai.response.model`, and `server.address`
- // attributes may help identify the actual system in use.
- //
- // The `gen_ai.provider.name` attribute acts as a discriminator that
- // identifies the GenAI telemetry format flavor specific to that provider
- // within GenAI semantic conventions.
- // It SHOULD be set consistently with provider-specific attributes and signals.
- // For example, GenAI spans, metrics, and events related to AWS Bedrock
- // should have the `gen_ai.provider.name` set to `aws.bedrock` and include
- // applicable `aws.bedrock.*` attributes and are not expected to include
- // `openai.*` attributes.
- GenAIProviderNameKey = attribute.Key("gen_ai.provider.name")
-
- // GenAIRequestChoiceCountKey is the attribute Key conforming to the
- // "gen_ai.request.choice.count" semantic conventions. It represents the target
- // number of candidate completions to return.
- //
- // Type: int
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 3
- GenAIRequestChoiceCountKey = attribute.Key("gen_ai.request.choice.count")
-
- // GenAIRequestEncodingFormatsKey is the attribute Key conforming to the
- // "gen_ai.request.encoding_formats" semantic conventions. It represents the
- // encoding formats requested in an embeddings operation, if specified.
- //
- // Type: string[]
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "base64"], ["float", "binary"
- // Note: In some GenAI systems the encoding formats are called embedding types.
- // Also, some GenAI systems only accept a single format per request.
- GenAIRequestEncodingFormatsKey = attribute.Key("gen_ai.request.encoding_formats")
-
- // GenAIRequestFrequencyPenaltyKey is the attribute Key conforming to the
- // "gen_ai.request.frequency_penalty" semantic conventions. It represents the
- // frequency penalty setting for the GenAI request.
- //
- // Type: double
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 0.1
- GenAIRequestFrequencyPenaltyKey = attribute.Key("gen_ai.request.frequency_penalty")
-
- // GenAIRequestMaxTokensKey is the attribute Key conforming to the
- // "gen_ai.request.max_tokens" semantic conventions. It represents the maximum
- // number of tokens the model generates for a request.
- //
- // Type: int
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 100
- GenAIRequestMaxTokensKey = attribute.Key("gen_ai.request.max_tokens")
-
- // GenAIRequestModelKey is the attribute Key conforming to the
- // "gen_ai.request.model" semantic conventions. It represents the name of the
- // GenAI model a request is being made to.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: gpt-4
- GenAIRequestModelKey = attribute.Key("gen_ai.request.model")
-
- // GenAIRequestPresencePenaltyKey is the attribute Key conforming to the
- // "gen_ai.request.presence_penalty" semantic conventions. It represents the
- // presence penalty setting for the GenAI request.
- //
- // Type: double
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 0.1
- GenAIRequestPresencePenaltyKey = attribute.Key("gen_ai.request.presence_penalty")
-
- // GenAIRequestSeedKey is the attribute Key conforming to the
- // "gen_ai.request.seed" semantic conventions. It represents the requests with
- // same seed value more likely to return same result.
- //
- // Type: int
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 100
- GenAIRequestSeedKey = attribute.Key("gen_ai.request.seed")
-
- // GenAIRequestStopSequencesKey is the attribute Key conforming to the
- // "gen_ai.request.stop_sequences" semantic conventions. It represents the list
- // of sequences that the model will use to stop generating further tokens.
- //
- // Type: string[]
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "forest", "lived"
- GenAIRequestStopSequencesKey = attribute.Key("gen_ai.request.stop_sequences")
-
- // GenAIRequestTemperatureKey is the attribute Key conforming to the
- // "gen_ai.request.temperature" semantic conventions. It represents the
- // temperature setting for the GenAI request.
- //
- // Type: double
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 0.0
- GenAIRequestTemperatureKey = attribute.Key("gen_ai.request.temperature")
-
- // GenAIRequestTopKKey is the attribute Key conforming to the
- // "gen_ai.request.top_k" semantic conventions. It represents the top_k sampling
- // setting for the GenAI request.
- //
- // Type: double
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 1.0
- GenAIRequestTopKKey = attribute.Key("gen_ai.request.top_k")
-
- // GenAIRequestTopPKey is the attribute Key conforming to the
- // "gen_ai.request.top_p" semantic conventions. It represents the top_p sampling
- // setting for the GenAI request.
- //
- // Type: double
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 1.0
- GenAIRequestTopPKey = attribute.Key("gen_ai.request.top_p")
-
- // GenAIResponseFinishReasonsKey is the attribute Key conforming to the
- // "gen_ai.response.finish_reasons" semantic conventions. It represents the
- // array of reasons the model stopped generating tokens, corresponding to each
- // generation received.
- //
- // Type: string[]
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "stop"], ["stop", "length"
- GenAIResponseFinishReasonsKey = attribute.Key("gen_ai.response.finish_reasons")
-
- // GenAIResponseIDKey is the attribute Key conforming to the
- // "gen_ai.response.id" semantic conventions. It represents the unique
- // identifier for the completion.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "chatcmpl-123"
- GenAIResponseIDKey = attribute.Key("gen_ai.response.id")
-
- // GenAIResponseModelKey is the attribute Key conforming to the
- // "gen_ai.response.model" semantic conventions. It represents the name of the
- // model that generated the response.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "gpt-4-0613"
- GenAIResponseModelKey = attribute.Key("gen_ai.response.model")
-
- // GenAIRetrievalDocumentsKey is the attribute Key conforming to the
- // "gen_ai.retrieval.documents" semantic conventions. It represents the
- // documents retrieved.
- //
- // Type: any
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "[\n {\n "id": "doc_123",\n "score": 0.95\n },\n {\n "id":
- // "doc_456",\n "score": 0.87\n },\n {\n "id": "doc_789",\n "score": 0.82\n
- // }\n]\n"
- // Note: Instrumentations MUST follow [Retrieval documents JSON schema].
- // When the attribute is recorded on events, it MUST be recorded in structured
- // form. When recorded on spans, it MAY be recorded as a JSON string if
- // structured
- // format is not supported and SHOULD be recorded in structured form otherwise.
- //
- // Each document object SHOULD contain at least the following properties:
- // `id` (string): A unique identifier for the document, `score` (double): The
- // relevance score of the document
- //
- // [Retrieval documents JSON schema]: /docs/gen-ai/gen-ai-retrieval-documents.json
- GenAIRetrievalDocumentsKey = attribute.Key("gen_ai.retrieval.documents")
-
- // GenAIRetrievalQueryTextKey is the attribute Key conforming to the
- // "gen_ai.retrieval.query.text" semantic conventions. It represents the query
- // text used for retrieval.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "What is the capital of France?", "weather in Paris"
- // Note: > [!Warning]
- //
- // > This attribute may contain sensitive information.
- GenAIRetrievalQueryTextKey = attribute.Key("gen_ai.retrieval.query.text")
-
- // GenAISystemInstructionsKey is the attribute Key conforming to the
- // "gen_ai.system_instructions" semantic conventions. It represents the system
- // message or instructions provided to the GenAI model separately from the chat
- // history.
- //
- // Type: any
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "[\n {\n "type": "text",\n "content": "You are an Agent that greet
- // users, always use greetings tool to respond"\n }\n]\n", "[\n {\n "type":
- // "text",\n "content": "You are a language translator."\n },\n {\n "type":
- // "text",\n "content": "Your mission is to translate text in English to
- // French."\n }\n]\n"
- // Note: This attribute SHOULD be used when the corresponding provider or API
- // allows to provide system instructions or messages separately from the
- // chat history.
- //
- // Instructions that are part of the chat history SHOULD be recorded in
- // `gen_ai.input.messages` attribute instead.
- //
- // Instrumentations MUST follow [System instructions JSON schema].
- //
- // When recorded on spans, it MAY be recorded as a JSON string if structured
- // format is not supported and SHOULD be recorded in structured form otherwise.
- //
- // Instrumentations MAY provide a way for users to filter or truncate
- // system instructions.
- //
- // > [!Warning]
- // > This attribute may contain sensitive information.
- //
- // See [Recording content on attributes]
- // section for more details.
- //
- // [System instructions JSON schema]: /docs/gen-ai/gen-ai-system-instructions.json
- // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes
- GenAISystemInstructionsKey = attribute.Key("gen_ai.system_instructions")
-
- // GenAITokenTypeKey is the attribute Key conforming to the "gen_ai.token.type"
- // semantic conventions. It represents the type of token being counted.
- //
- // Type: Enum
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "input", "output"
- GenAITokenTypeKey = attribute.Key("gen_ai.token.type")
-
- // GenAIToolCallArgumentsKey is the attribute Key conforming to the
- // "gen_ai.tool.call.arguments" semantic conventions. It represents the
- // parameters passed to the tool call.
- //
- // Type: any
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "{\n "location": "San Francisco?",\n "date": "2025-10-01"\n}\n"
- // Note: > [!WARNING]
- //
- // > This attribute may contain sensitive information.
- //
- // It's expected to be an object - in case a serialized string is available
- // to the instrumentation, the instrumentation SHOULD do the best effort to
- // deserialize it to an object. When recorded on spans, it MAY be recorded as a
- // JSON string if structured format is not supported and SHOULD be recorded in
- // structured form otherwise.
- GenAIToolCallArgumentsKey = attribute.Key("gen_ai.tool.call.arguments")
-
- // GenAIToolCallIDKey is the attribute Key conforming to the
- // "gen_ai.tool.call.id" semantic conventions. It represents the tool call
- // identifier.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "call_mszuSIzqtI65i1wAUOE8w5H4"
- GenAIToolCallIDKey = attribute.Key("gen_ai.tool.call.id")
-
- // GenAIToolCallResultKey is the attribute Key conforming to the
- // "gen_ai.tool.call.result" semantic conventions. It represents the result
- // returned by the tool call (if any and if execution was successful).
- //
- // Type: any
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "{\n "temperature_range": {\n "high": 75,\n "low": 60\n },\n
- // "conditions": "sunny"\n}\n"
- // Note: > [!WARNING]
- //
- // > This attribute may contain sensitive information.
- //
- // It's expected to be an object - in case a serialized string is available
- // to the instrumentation, the instrumentation SHOULD do the best effort to
- // deserialize it to an object. When recorded on spans, it MAY be recorded as a
- // JSON string if structured format is not supported and SHOULD be recorded in
- // structured form otherwise.
- GenAIToolCallResultKey = attribute.Key("gen_ai.tool.call.result")
-
- // GenAIToolDefinitionsKey is the attribute Key conforming to the
- // "gen_ai.tool.definitions" semantic conventions. It represents the list of
- // source system tool definitions available to the GenAI agent or model.
- //
- // Type: any
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "[\n {\n "type": "function",\n "name": "get_current_weather",\n
- // "description": "Get the current weather in a given location",\n "parameters":
- // {\n "type": "object",\n "properties": {\n "location": {\n "type": "string",\n
- // "description": "The city and state, e.g. San Francisco, CA"\n },\n "unit":
- // {\n "type": "string",\n "enum": [\n "celsius",\n "fahrenheit"\n ]\n }\n },\n
- // "required": [\n "location",\n "unit"\n ]\n }\n }\n]\n"
- // Note: The value of this attribute matches source system tool definition
- // format.
- //
- // It's expected to be an array of objects where each object represents a tool
- // definition. In case a serialized string is available
- // to the instrumentation, the instrumentation SHOULD do the best effort to
- // deserialize it to an array. When recorded on spans, it MAY be recorded as a
- // JSON string if structured format is not supported and SHOULD be recorded in
- // structured form otherwise.
- //
- // Since this attribute could be large, it's NOT RECOMMENDED to populate
- // it by default. Instrumentations MAY provide a way to enable
- // populating this attribute.
- GenAIToolDefinitionsKey = attribute.Key("gen_ai.tool.definitions")
-
- // GenAIToolDescriptionKey is the attribute Key conforming to the
- // "gen_ai.tool.description" semantic conventions. It represents the tool
- // description.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "Multiply two numbers"
- GenAIToolDescriptionKey = attribute.Key("gen_ai.tool.description")
-
- // GenAIToolNameKey is the attribute Key conforming to the "gen_ai.tool.name"
- // semantic conventions. It represents the name of the tool utilized by the
- // agent.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "Flights"
- GenAIToolNameKey = attribute.Key("gen_ai.tool.name")
-
- // GenAIToolTypeKey is the attribute Key conforming to the "gen_ai.tool.type"
- // semantic conventions. It represents the type of the tool utilized by the
- // agent.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "function", "extension", "datastore"
- // Note: Extension: A tool executed on the agent-side to directly call external
- // APIs, bridging the gap between the agent and real-world systems.
- // Agent-side operations involve actions that are performed by the agent on the
- // server or within the agent's controlled environment.
- // Function: A tool executed on the client-side, where the agent generates
- // parameters for a predefined function, and the client executes the logic.
- // Client-side operations are actions taken on the user's end or within the
- // client application.
- // Datastore: A tool used by the agent to access and query structured or
- // unstructured external data for retrieval-augmented tasks or knowledge
- // updates.
- GenAIToolTypeKey = attribute.Key("gen_ai.tool.type")
-
- // GenAIUsageCacheCreationInputTokensKey is the attribute Key conforming to the
- // "gen_ai.usage.cache_creation.input_tokens" semantic conventions. It
- // represents the number of input tokens written to a provider-managed cache.
- //
- // Type: int
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 25
- // Note: The value SHOULD be included in `gen_ai.usage.input_tokens`.
- GenAIUsageCacheCreationInputTokensKey = attribute.Key("gen_ai.usage.cache_creation.input_tokens")
-
- // GenAIUsageCacheReadInputTokensKey is the attribute Key conforming to the
- // "gen_ai.usage.cache_read.input_tokens" semantic conventions. It represents
- // the number of input tokens served from a provider-managed cache.
- //
- // Type: int
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 50
- // Note: The value SHOULD be included in `gen_ai.usage.input_tokens`.
- GenAIUsageCacheReadInputTokensKey = attribute.Key("gen_ai.usage.cache_read.input_tokens")
-
- // GenAIUsageInputTokensKey is the attribute Key conforming to the
- // "gen_ai.usage.input_tokens" semantic conventions. It represents the number of
- // tokens used in the GenAI input (prompt).
- //
- // Type: int
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 100
- // Note: This value SHOULD include all types of input tokens, including cached
- // tokens.
- // Instrumentations SHOULD make a best effort to populate this value, using a
- // total
- // provided by the provider when available or, depending on the provider API,
- // by summing different token types parsed from the provider output.
- GenAIUsageInputTokensKey = attribute.Key("gen_ai.usage.input_tokens")
-
- // GenAIUsageOutputTokensKey is the attribute Key conforming to the
- // "gen_ai.usage.output_tokens" semantic conventions. It represents the number
- // of tokens used in the GenAI response (completion).
- //
- // Type: int
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 180
- GenAIUsageOutputTokensKey = attribute.Key("gen_ai.usage.output_tokens")
-)
-
-// GenAIAgentDescription returns an attribute KeyValue conforming to the
-// "gen_ai.agent.description" semantic conventions. It represents the free-form
-// description of the GenAI agent provided by the application.
-func GenAIAgentDescription(val string) attribute.KeyValue {
- return GenAIAgentDescriptionKey.String(val)
-}
-
-// GenAIAgentID returns an attribute KeyValue conforming to the "gen_ai.agent.id"
-// semantic conventions. It represents the unique identifier of the GenAI agent.
-func GenAIAgentID(val string) attribute.KeyValue {
- return GenAIAgentIDKey.String(val)
-}
-
-// GenAIAgentName returns an attribute KeyValue conforming to the
-// "gen_ai.agent.name" semantic conventions. It represents the human-readable
-// name of the GenAI agent provided by the application.
-func GenAIAgentName(val string) attribute.KeyValue {
- return GenAIAgentNameKey.String(val)
-}
-
-// GenAIAgentVersion returns an attribute KeyValue conforming to the
-// "gen_ai.agent.version" semantic conventions. It represents the version of the
-// GenAI agent.
-func GenAIAgentVersion(val string) attribute.KeyValue {
- return GenAIAgentVersionKey.String(val)
-}
-
-// GenAIConversationID returns an attribute KeyValue conforming to the
-// "gen_ai.conversation.id" semantic conventions. It represents the unique
-// identifier for a conversation (session, thread), used to store and correlate
-// messages within this conversation.
-func GenAIConversationID(val string) attribute.KeyValue {
- return GenAIConversationIDKey.String(val)
-}
-
-// GenAIDataSourceID returns an attribute KeyValue conforming to the
-// "gen_ai.data_source.id" semantic conventions. It represents the data source
-// identifier.
-func GenAIDataSourceID(val string) attribute.KeyValue {
- return GenAIDataSourceIDKey.String(val)
-}
-
-// GenAIEmbeddingsDimensionCount returns an attribute KeyValue conforming to the
-// "gen_ai.embeddings.dimension.count" semantic conventions. It represents the
-// number of dimensions the resulting output embeddings should have.
-func GenAIEmbeddingsDimensionCount(val int) attribute.KeyValue {
- return GenAIEmbeddingsDimensionCountKey.Int(val)
-}
-
-// GenAIEvaluationExplanation returns an attribute KeyValue conforming to the
-// "gen_ai.evaluation.explanation" semantic conventions. It represents a
-// free-form explanation for the assigned score provided by the evaluator.
-func GenAIEvaluationExplanation(val string) attribute.KeyValue {
- return GenAIEvaluationExplanationKey.String(val)
-}
-
-// GenAIEvaluationName returns an attribute KeyValue conforming to the
-// "gen_ai.evaluation.name" semantic conventions. It represents the name of the
-// evaluation metric used for the GenAI response.
-func GenAIEvaluationName(val string) attribute.KeyValue {
- return GenAIEvaluationNameKey.String(val)
-}
-
-// GenAIEvaluationScoreLabel returns an attribute KeyValue conforming to the
-// "gen_ai.evaluation.score.label" semantic conventions. It represents the human
-// readable label for evaluation.
-func GenAIEvaluationScoreLabel(val string) attribute.KeyValue {
- return GenAIEvaluationScoreLabelKey.String(val)
-}
-
-// GenAIEvaluationScoreValue returns an attribute KeyValue conforming to the
-// "gen_ai.evaluation.score.value" semantic conventions. It represents the
-// evaluation score returned by the evaluator.
-func GenAIEvaluationScoreValue(val float64) attribute.KeyValue {
- return GenAIEvaluationScoreValueKey.Float64(val)
-}
-
-// GenAIPromptName returns an attribute KeyValue conforming to the
-// "gen_ai.prompt.name" semantic conventions. It represents the name of the
-// prompt that uniquely identifies it.
-func GenAIPromptName(val string) attribute.KeyValue {
- return GenAIPromptNameKey.String(val)
-}
-
-// GenAIRequestChoiceCount returns an attribute KeyValue conforming to the
-// "gen_ai.request.choice.count" semantic conventions. It represents the target
-// number of candidate completions to return.
-func GenAIRequestChoiceCount(val int) attribute.KeyValue {
- return GenAIRequestChoiceCountKey.Int(val)
-}
-
-// GenAIRequestEncodingFormats returns an attribute KeyValue conforming to the
-// "gen_ai.request.encoding_formats" semantic conventions. It represents the
-// encoding formats requested in an embeddings operation, if specified.
-func GenAIRequestEncodingFormats(val ...string) attribute.KeyValue {
- return GenAIRequestEncodingFormatsKey.StringSlice(val)
-}
-
-// GenAIRequestFrequencyPenalty returns an attribute KeyValue conforming to the
-// "gen_ai.request.frequency_penalty" semantic conventions. It represents the
-// frequency penalty setting for the GenAI request.
-func GenAIRequestFrequencyPenalty(val float64) attribute.KeyValue {
- return GenAIRequestFrequencyPenaltyKey.Float64(val)
-}
-
-// GenAIRequestMaxTokens returns an attribute KeyValue conforming to the
-// "gen_ai.request.max_tokens" semantic conventions. It represents the maximum
-// number of tokens the model generates for a request.
-func GenAIRequestMaxTokens(val int) attribute.KeyValue {
- return GenAIRequestMaxTokensKey.Int(val)
-}
-
-// GenAIRequestModel returns an attribute KeyValue conforming to the
-// "gen_ai.request.model" semantic conventions. It represents the name of the
-// GenAI model a request is being made to.
-func GenAIRequestModel(val string) attribute.KeyValue {
- return GenAIRequestModelKey.String(val)
-}
-
-// GenAIRequestPresencePenalty returns an attribute KeyValue conforming to the
-// "gen_ai.request.presence_penalty" semantic conventions. It represents the
-// presence penalty setting for the GenAI request.
-func GenAIRequestPresencePenalty(val float64) attribute.KeyValue {
- return GenAIRequestPresencePenaltyKey.Float64(val)
-}
-
-// GenAIRequestSeed returns an attribute KeyValue conforming to the
-// "gen_ai.request.seed" semantic conventions. It represents the requests with
-// same seed value more likely to return same result.
-func GenAIRequestSeed(val int) attribute.KeyValue {
- return GenAIRequestSeedKey.Int(val)
-}
-
-// GenAIRequestStopSequences returns an attribute KeyValue conforming to the
-// "gen_ai.request.stop_sequences" semantic conventions. It represents the list
-// of sequences that the model will use to stop generating further tokens.
-func GenAIRequestStopSequences(val ...string) attribute.KeyValue {
- return GenAIRequestStopSequencesKey.StringSlice(val)
-}
-
-// GenAIRequestTemperature returns an attribute KeyValue conforming to the
-// "gen_ai.request.temperature" semantic conventions. It represents the
-// temperature setting for the GenAI request.
-func GenAIRequestTemperature(val float64) attribute.KeyValue {
- return GenAIRequestTemperatureKey.Float64(val)
-}
-
-// GenAIRequestTopK returns an attribute KeyValue conforming to the
-// "gen_ai.request.top_k" semantic conventions. It represents the top_k sampling
-// setting for the GenAI request.
-func GenAIRequestTopK(val float64) attribute.KeyValue {
- return GenAIRequestTopKKey.Float64(val)
-}
-
-// GenAIRequestTopP returns an attribute KeyValue conforming to the
-// "gen_ai.request.top_p" semantic conventions. It represents the top_p sampling
-// setting for the GenAI request.
-func GenAIRequestTopP(val float64) attribute.KeyValue {
- return GenAIRequestTopPKey.Float64(val)
-}
-
-// GenAIResponseFinishReasons returns an attribute KeyValue conforming to the
-// "gen_ai.response.finish_reasons" semantic conventions. It represents the array
-// of reasons the model stopped generating tokens, corresponding to each
-// generation received.
-func GenAIResponseFinishReasons(val ...string) attribute.KeyValue {
- return GenAIResponseFinishReasonsKey.StringSlice(val)
-}
-
-// GenAIResponseID returns an attribute KeyValue conforming to the
-// "gen_ai.response.id" semantic conventions. It represents the unique identifier
-// for the completion.
-func GenAIResponseID(val string) attribute.KeyValue {
- return GenAIResponseIDKey.String(val)
-}
-
-// GenAIResponseModel returns an attribute KeyValue conforming to the
-// "gen_ai.response.model" semantic conventions. It represents the name of the
-// model that generated the response.
-func GenAIResponseModel(val string) attribute.KeyValue {
- return GenAIResponseModelKey.String(val)
-}
-
-// GenAIRetrievalQueryText returns an attribute KeyValue conforming to the
-// "gen_ai.retrieval.query.text" semantic conventions. It represents the query
-// text used for retrieval.
-func GenAIRetrievalQueryText(val string) attribute.KeyValue {
- return GenAIRetrievalQueryTextKey.String(val)
-}
-
-// GenAIToolCallID returns an attribute KeyValue conforming to the
-// "gen_ai.tool.call.id" semantic conventions. It represents the tool call
-// identifier.
-func GenAIToolCallID(val string) attribute.KeyValue {
- return GenAIToolCallIDKey.String(val)
-}
-
-// GenAIToolDescription returns an attribute KeyValue conforming to the
-// "gen_ai.tool.description" semantic conventions. It represents the tool
-// description.
-func GenAIToolDescription(val string) attribute.KeyValue {
- return GenAIToolDescriptionKey.String(val)
-}
-
-// GenAIToolName returns an attribute KeyValue conforming to the
-// "gen_ai.tool.name" semantic conventions. It represents the name of the tool
-// utilized by the agent.
-func GenAIToolName(val string) attribute.KeyValue {
- return GenAIToolNameKey.String(val)
-}
-
-// GenAIToolType returns an attribute KeyValue conforming to the
-// "gen_ai.tool.type" semantic conventions. It represents the type of the tool
-// utilized by the agent.
-func GenAIToolType(val string) attribute.KeyValue {
- return GenAIToolTypeKey.String(val)
-}
-
-// GenAIUsageCacheCreationInputTokens returns an attribute KeyValue conforming to
-// the "gen_ai.usage.cache_creation.input_tokens" semantic conventions. It
-// represents the number of input tokens written to a provider-managed cache.
-func GenAIUsageCacheCreationInputTokens(val int) attribute.KeyValue {
- return GenAIUsageCacheCreationInputTokensKey.Int(val)
-}
-
-// GenAIUsageCacheReadInputTokens returns an attribute KeyValue conforming to the
-// "gen_ai.usage.cache_read.input_tokens" semantic conventions. It represents the
-// number of input tokens served from a provider-managed cache.
-func GenAIUsageCacheReadInputTokens(val int) attribute.KeyValue {
- return GenAIUsageCacheReadInputTokensKey.Int(val)
-}
-
-// GenAIUsageInputTokens returns an attribute KeyValue conforming to the
-// "gen_ai.usage.input_tokens" semantic conventions. It represents the number of
-// tokens used in the GenAI input (prompt).
-func GenAIUsageInputTokens(val int) attribute.KeyValue {
- return GenAIUsageInputTokensKey.Int(val)
-}
-
-// GenAIUsageOutputTokens returns an attribute KeyValue conforming to the
-// "gen_ai.usage.output_tokens" semantic conventions. It represents the number of
-// tokens used in the GenAI response (completion).
-func GenAIUsageOutputTokens(val int) attribute.KeyValue {
- return GenAIUsageOutputTokensKey.Int(val)
-}
-
-// Enum values for gen_ai.operation.name
-var (
- // Chat completion operation such as [OpenAI Chat API]
- // Stability: development
- //
- // [OpenAI Chat API]: https://platform.openai.com/docs/api-reference/chat
- GenAIOperationNameChat = GenAIOperationNameKey.String("chat")
- // Multimodal content generation operation such as [Gemini Generate Content]
- // Stability: development
- //
- // [Gemini Generate Content]: https://ai.google.dev/api/generate-content
- GenAIOperationNameGenerateContent = GenAIOperationNameKey.String("generate_content")
- // Text completions operation such as [OpenAI Completions API (Legacy)]
- // Stability: development
- //
- // [OpenAI Completions API (Legacy)]: https://platform.openai.com/docs/api-reference/completions
- GenAIOperationNameTextCompletion = GenAIOperationNameKey.String("text_completion")
- // Embeddings operation such as [OpenAI Create embeddings API]
- // Stability: development
- //
- // [OpenAI Create embeddings API]: https://platform.openai.com/docs/api-reference/embeddings/create
- GenAIOperationNameEmbeddings = GenAIOperationNameKey.String("embeddings")
- // Retrieval operation such as [OpenAI Search Vector Store API]
- // Stability: development
- //
- // [OpenAI Search Vector Store API]: https://platform.openai.com/docs/api-reference/vector-stores/search
- GenAIOperationNameRetrieval = GenAIOperationNameKey.String("retrieval")
- // Create GenAI agent
- // Stability: development
- GenAIOperationNameCreateAgent = GenAIOperationNameKey.String("create_agent")
- // Invoke GenAI agent
- // Stability: development
- GenAIOperationNameInvokeAgent = GenAIOperationNameKey.String("invoke_agent")
- // Execute a tool
- // Stability: development
- GenAIOperationNameExecuteTool = GenAIOperationNameKey.String("execute_tool")
-)
-
-// Enum values for gen_ai.output.type
-var (
- // Plain text
- // Stability: development
- GenAIOutputTypeText = GenAIOutputTypeKey.String("text")
- // JSON object with known or unknown schema
- // Stability: development
- GenAIOutputTypeJSON = GenAIOutputTypeKey.String("json")
- // Image
- // Stability: development
- GenAIOutputTypeImage = GenAIOutputTypeKey.String("image")
- // Speech
- // Stability: development
- GenAIOutputTypeSpeech = GenAIOutputTypeKey.String("speech")
-)
-
-// Enum values for gen_ai.provider.name
-var (
- // [OpenAI]
- // Stability: development
- //
- // [OpenAI]: https://openai.com/
- GenAIProviderNameOpenAI = GenAIProviderNameKey.String("openai")
- // Any Google generative AI endpoint
- // Stability: development
- GenAIProviderNameGCPGenAI = GenAIProviderNameKey.String("gcp.gen_ai")
- // [Vertex AI]
- // Stability: development
- //
- // [Vertex AI]: https://cloud.google.com/vertex-ai
- GenAIProviderNameGCPVertexAI = GenAIProviderNameKey.String("gcp.vertex_ai")
- // [Gemini]
- // Stability: development
- //
- // [Gemini]: https://cloud.google.com/products/gemini
- GenAIProviderNameGCPGemini = GenAIProviderNameKey.String("gcp.gemini")
- // [Anthropic]
- // Stability: development
- //
- // [Anthropic]: https://www.anthropic.com/
- GenAIProviderNameAnthropic = GenAIProviderNameKey.String("anthropic")
- // [Cohere]
- // Stability: development
- //
- // [Cohere]: https://cohere.com/
- GenAIProviderNameCohere = GenAIProviderNameKey.String("cohere")
- // Azure AI Inference
- // Stability: development
- GenAIProviderNameAzureAIInference = GenAIProviderNameKey.String("azure.ai.inference")
- // [Azure OpenAI]
- // Stability: development
- //
- // [Azure OpenAI]: https://azure.microsoft.com/products/ai-services/openai-service/
- GenAIProviderNameAzureAIOpenAI = GenAIProviderNameKey.String("azure.ai.openai")
- // [IBM Watsonx AI]
- // Stability: development
- //
- // [IBM Watsonx AI]: https://www.ibm.com/products/watsonx-ai
- GenAIProviderNameIBMWatsonxAI = GenAIProviderNameKey.String("ibm.watsonx.ai")
- // [AWS Bedrock]
- // Stability: development
- //
- // [AWS Bedrock]: https://aws.amazon.com/bedrock
- GenAIProviderNameAWSBedrock = GenAIProviderNameKey.String("aws.bedrock")
- // [Perplexity]
- // Stability: development
- //
- // [Perplexity]: https://www.perplexity.ai/
- GenAIProviderNamePerplexity = GenAIProviderNameKey.String("perplexity")
- // [xAI]
- // Stability: development
- //
- // [xAI]: https://x.ai/
- GenAIProviderNameXAI = GenAIProviderNameKey.String("x_ai")
- // [DeepSeek]
- // Stability: development
- //
- // [DeepSeek]: https://www.deepseek.com/
- GenAIProviderNameDeepseek = GenAIProviderNameKey.String("deepseek")
- // [Groq]
- // Stability: development
- //
- // [Groq]: https://groq.com/
- GenAIProviderNameGroq = GenAIProviderNameKey.String("groq")
- // [Mistral AI]
- // Stability: development
- //
- // [Mistral AI]: https://mistral.ai/
- GenAIProviderNameMistralAI = GenAIProviderNameKey.String("mistral_ai")
-)
-
-// Enum values for gen_ai.token.type
-var (
- // Input tokens (prompt, input, etc.)
- // Stability: development
- GenAITokenTypeInput = GenAITokenTypeKey.String("input")
- // Output tokens (completion, response, etc.)
- // Stability: development
- GenAITokenTypeOutput = GenAITokenTypeKey.String("output")
-)
-
-// Namespace: geo
-const (
- // GeoContinentCodeKey is the attribute Key conforming to the
- // "geo.continent.code" semantic conventions. It represents the two-letter code
- // representing continent’s name.
- //
- // Type: Enum
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples:
- GeoContinentCodeKey = attribute.Key("geo.continent.code")
-
- // GeoCountryISOCodeKey is the attribute Key conforming to the
- // "geo.country.iso_code" semantic conventions. It represents the two-letter ISO
- // Country Code ([ISO 3166-1 alpha2]).
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "CA"
- //
- // [ISO 3166-1 alpha2]: https://wikipedia.org/wiki/ISO_3166-1#Codes
- GeoCountryISOCodeKey = attribute.Key("geo.country.iso_code")
-
- // GeoLocalityNameKey is the attribute Key conforming to the "geo.locality.name"
- // semantic conventions. It represents the locality name. Represents the name of
- // a city, town, village, or similar populated place.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "Montreal", "Berlin"
- GeoLocalityNameKey = attribute.Key("geo.locality.name")
-
- // GeoLocationLatKey is the attribute Key conforming to the "geo.location.lat"
- // semantic conventions. It represents the latitude of the geo location in
- // [WGS84].
- //
- // Type: double
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: 45.505918
- //
- // [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84
- GeoLocationLatKey = attribute.Key("geo.location.lat")
-
- // GeoLocationLonKey is the attribute Key conforming to the "geo.location.lon"
- // semantic conventions. It represents the longitude of the geo location in
- // [WGS84].
- //
- // Type: double
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: -73.61483
- //
- // [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84
- GeoLocationLonKey = attribute.Key("geo.location.lon")
-
- // GeoPostalCodeKey is the attribute Key conforming to the "geo.postal_code"
- // semantic conventions. It represents the postal code associated with the
- // location. Values appropriate for this field may also be known as a postcode
- // or ZIP code and will vary widely from country to country.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "94040"
- GeoPostalCodeKey = attribute.Key("geo.postal_code")
-
- // GeoRegionISOCodeKey is the attribute Key conforming to the
- // "geo.region.iso_code" semantic conventions. It represents the region ISO code
- // ([ISO 3166-2]).
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "CA-QC"
+ // Examples: "CA-QC"
//
// [ISO 3166-2]: https://wikipedia.org/wiki/ISO_3166-2
GeoRegionISOCodeKey = attribute.Key("geo.region.iso_code")
@@ -7549,8 +6652,46 @@ var (
GeoContinentCodeSa = GeoContinentCodeKey.String("SA")
)
-// Namespace: go
-const (
+// Namespace: go
+const (
+ // GoCPUDetailedStateKey is the attribute Key conforming to the
+ // "go.cpu.detailed_state" semantic conventions. It represents the detailed
+ // state of the CPU.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "gc/pause", "gc/mark/assist"
+ // Note: Value SHOULD match the specific CPU class reported by the Go runtime
+ // under `/cpu/classes/...`. The list of possible values is subject to change
+ // with the Go version used.
+ GoCPUDetailedStateKey = attribute.Key("go.cpu.detailed_state")
+
+ // GoCPUStateKey is the attribute Key conforming to the "go.cpu.state" semantic
+ // conventions. It represents the state of the CPU.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "user", "gc"
+ GoCPUStateKey = attribute.Key("go.cpu.state")
+
+ // GoMemoryDetailedTypeKey is the attribute Key conforming to the
+ // "go.memory.detailed_type" semantic conventions. It represents the detailed
+ // type of memory.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "heap/objects", "heap/free"
+ // Note: Value SHOULD match the specific memory class reported by the Go runtime
+ // under `/memory/classes/...`. The list of possible values is subject to change
+ // with the Go version used.
+ GoMemoryDetailedTypeKey = attribute.Key("go.memory.detailed_type")
+
// GoMemoryTypeKey is the attribute Key conforming to the "go.memory.type"
// semantic conventions. It represents the type of memory.
//
@@ -7562,6 +6703,36 @@ const (
GoMemoryTypeKey = attribute.Key("go.memory.type")
)
+// GoCPUDetailedState returns an attribute KeyValue conforming to the
+// "go.cpu.detailed_state" semantic conventions. It represents the detailed state
+// of the CPU.
+func GoCPUDetailedState(val string) attribute.KeyValue {
+ return GoCPUDetailedStateKey.String(val)
+}
+
+// GoMemoryDetailedType returns an attribute KeyValue conforming to the
+// "go.memory.detailed_type" semantic conventions. It represents the detailed
+// type of memory.
+func GoMemoryDetailedType(val string) attribute.KeyValue {
+ return GoMemoryDetailedTypeKey.String(val)
+}
+
+// Enum values for go.cpu.state
+var (
+ // CPU time spent running user Go code.
+ // Stability: development
+ GoCPUStateUser = GoCPUStateKey.String("user")
+ // CPU time spent performing garbage collection tasks.
+ // Stability: development
+ GoCPUStateGC = GoCPUStateKey.String("gc")
+ // CPU time spent returning unused memory to the underlying platform.
+ // Stability: development
+ GoCPUStateScavenge = GoCPUStateKey.String("scavenge")
+ // Available CPU time not spent executing any Go or Go runtime code.
+ // Stability: development
+ GoCPUStateIdle = GoCPUStateKey.String("idle")
+)
+
// Enum values for go.memory.type
var (
// Memory allocated from the heap that is reserved for stack space, whether or
@@ -7584,7 +6755,8 @@ const (
// Stability: Development
//
// Examples: query findBookById { bookById(id: ?) { name } }
- // Note: The value may be sanitized to exclude sensitive information.
+ // Note: If instrumentation can reliably identify and redact sensitive
+ // information it SHOULD do it.
GraphQLDocumentKey = attribute.Key("graphql.document")
// GraphQLOperationNameKey is the attribute Key conforming to the
@@ -8335,7 +7507,7 @@ var (
const (
// HwBatteryCapacityKey is the attribute Key conforming to the
// "hw.battery.capacity" semantic conventions. It represents the design capacity
- // in Watts-hours or Amper-hours.
+ // in Watts-hours or Ampere-hours.
//
// Type: string
// RequirementLevel: Recommended
@@ -8637,7 +7809,7 @@ const (
// HwBatteryCapacity returns an attribute KeyValue conforming to the
// "hw.battery.capacity" semantic conventions. It represents the design capacity
-// in Watts-hours or Amper-hours.
+// in Watts-hours or Ampere-hours.
func HwBatteryCapacity(val string) attribute.KeyValue {
return HwBatteryCapacityKey.String(val)
}
@@ -9026,7 +8198,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "opentelemetry-cluster"
K8SClusterNameKey = attribute.Key("k8s.cluster.name")
@@ -9037,7 +8209,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "218fc5a9-a5f1-4b54-aa05-46717d0ab26d"
// Note: K8s doesn't have support for obtaining a cluster ID. If this is ever
@@ -9066,6 +8238,19 @@ const (
// [ISO/IEC 9834-8 and ITU-T X.667]: https://www.itu.int/ITU-T/studygroups/com17/oid.html
K8SClusterUIDKey = attribute.Key("k8s.cluster.uid")
+ // K8SContainerEphemeralStorageFsTypeKey is the attribute Key conforming to the
+ // "k8s.container.ephemeral_storage.fs_type" semantic conventions. It represents
+ // the type of file system component for ephemeral storage.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "rootfs", "logs"
+ // Note: Eviction decisions based on ephemeral-storage resource limits are made
+ // based on the total container usage.
+ K8SContainerEphemeralStorageFsTypeKey = attribute.Key("k8s.container.ephemeral_storage.fs_type")
+
// K8SContainerNameKey is the attribute Key conforming to the
// "k8s.container.name" semantic conventions. It represents the name of the
// Container from Pod specification, must be unique within a Pod. Container
@@ -9073,7 +8258,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "redis"
K8SContainerNameKey = attribute.Key("k8s.container.name")
@@ -9085,7 +8270,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples:
K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count")
@@ -9114,8 +8299,8 @@ const (
// "CreateContainerConfigError", "ErrImagePull", "ImagePullBackOff",
// "OOMKilled", "Completed", "Error", "ContainerCannotRun"
//
- // [K8s ContainerStateWaiting]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstatewaiting-v1-core
- // [K8s ContainerStateTerminated]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstateterminated-v1-core
+ // [K8s ContainerStateWaiting]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#containerstatewaiting-v1-core
+ // [K8s ContainerStateTerminated]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#containerstateterminated-v1-core
K8SContainerStatusReasonKey = attribute.Key("k8s.container.status.reason")
// K8SContainerStatusStateKey is the attribute Key conforming to the
@@ -9128,7 +8313,7 @@ const (
//
// Examples: "terminated", "running", "waiting"
//
- // [K8s ContainerState]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstate-v1-core
+ // [K8s ContainerState]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#containerstate-v1-core
K8SContainerStatusStateKey = attribute.Key("k8s.container.status.state")
// K8SCronJobNameKey is the attribute Key conforming to the "k8s.cronjob.name"
@@ -9136,7 +8321,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "opentelemetry"
K8SCronJobNameKey = attribute.Key("k8s.cronjob.name")
@@ -9146,7 +8331,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid")
@@ -9157,7 +8342,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "opentelemetry"
K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name")
@@ -9167,7 +8352,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid")
@@ -9178,7 +8363,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "opentelemetry"
K8SDeploymentNameKey = attribute.Key("k8s.deployment.name")
@@ -9189,7 +8374,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid")
@@ -9279,7 +8464,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "opentelemetry"
K8SJobNameKey = attribute.Key("k8s.job.name")
@@ -9289,7 +8474,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
K8SJobUIDKey = attribute.Key("k8s.job.uid")
@@ -9300,7 +8485,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "default"
K8SNamespaceNameKey = attribute.Key("k8s.namespace.name")
@@ -9317,7 +8502,7 @@ const (
// Note: This attribute aligns with the `phase` field of the
// [K8s NamespaceStatus]
//
- // [K8s NamespaceStatus]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#namespacestatus-v1-core
+ // [K8s NamespaceStatus]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#namespacestatus-v1-core
K8SNamespacePhaseKey = attribute.Key("k8s.namespace.phase")
// K8SNodeConditionStatusKey is the attribute Key conforming to the
@@ -9332,7 +8517,7 @@ const (
// Note: This attribute aligns with the `status` field of the
// [NodeCondition]
//
- // [NodeCondition]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#nodecondition-v1-core
+ // [NodeCondition]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodecondition-v1-core
K8SNodeConditionStatusKey = attribute.Key("k8s.node.condition.status")
// K8SNodeConditionTypeKey is the attribute Key conforming to the
@@ -9356,8 +8541,8 @@ const (
// When this occurs, the exact value as reported by the Kubernetes API SHOULD be
// used.
//
- // [K8s documentation]: https://v1-32.docs.kubernetes.io/docs/reference/node/node-status/#condition
- // [NodeCondition]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#nodecondition-v1-core
+ // [K8s documentation]: https://kubernetes.io/docs/reference/node/node-status/#condition
+ // [NodeCondition]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodecondition-v1-core
K8SNodeConditionTypeKey = attribute.Key("k8s.node.condition.type")
// K8SNodeNameKey is the attribute Key conforming to the "k8s.node.name"
@@ -9365,27 +8550,128 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "node-1"
K8SNodeNameKey = attribute.Key("k8s.node.name")
+ // K8SNodeSystemContainerNameKey is the attribute Key conforming to the
+ // "k8s.node.system_container.name" semantic conventions. It represents the name
+ // of the system container running on the K8s Node.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "kubelet", "runtime", "pods", "misc"
+ K8SNodeSystemContainerNameKey = attribute.Key("k8s.node.system_container.name")
+
// K8SNodeUIDKey is the attribute Key conforming to the "k8s.node.uid" semantic
// conventions. It represents the UID of the Node.
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2"
K8SNodeUIDKey = attribute.Key("k8s.node.uid")
+ // K8SPersistentvolumeNameKey is the attribute Key conforming to the
+ // "k8s.persistentvolume.name" semantic conventions. It represents the name of
+ // the PersistentVolume.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "pv-data-01"
+ K8SPersistentvolumeNameKey = attribute.Key("k8s.persistentvolume.name")
+
+ // K8SPersistentvolumeReclaimPolicyKey is the attribute Key conforming to the
+ // "k8s.persistentvolume.reclaim_policy" semantic conventions. It represents the
+ // reclaim policy of the PersistentVolume.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Delete", "Retain", "Recycle"
+ // Note: This attribute aligns with the `persistentVolumeReclaimPolicy` field of
+ // the
+ // [K8s PersistentVolumeSpec].
+ //
+ // [K8s PersistentVolumeSpec]: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-v1/#PersistentVolumeSpec
+ K8SPersistentvolumeReclaimPolicyKey = attribute.Key("k8s.persistentvolume.reclaim_policy")
+
+ // K8SPersistentvolumeStatusPhaseKey is the attribute Key conforming to the
+ // "k8s.persistentvolume.status.phase" semantic conventions. It represents the
+ // phase of the PersistentVolume.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Pending", "Available", "Bound", "Released", "Failed"
+ // Note: This attribute aligns with the `phase` field of the
+ // [K8s PersistentVolumeStatus].
+ //
+ // [K8s PersistentVolumeStatus]: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-v1/#PersistentVolumeStatus
+ K8SPersistentvolumeStatusPhaseKey = attribute.Key("k8s.persistentvolume.status.phase")
+
+ // K8SPersistentvolumeUIDKey is the attribute Key conforming to the
+ // "k8s.persistentvolume.uid" semantic conventions. It represents the UID of the
+ // PersistentVolume.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SPersistentvolumeUIDKey = attribute.Key("k8s.persistentvolume.uid")
+
+ // K8SPersistentvolumeclaimNameKey is the attribute Key conforming to the
+ // "k8s.persistentvolumeclaim.name" semantic conventions. It represents the name
+ // of the PersistentVolumeClaim.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "pvc-data-01"
+ K8SPersistentvolumeclaimNameKey = attribute.Key("k8s.persistentvolumeclaim.name")
+
+ // K8SPersistentvolumeclaimStatusPhaseKey is the attribute Key conforming to the
+ // "k8s.persistentvolumeclaim.status.phase" semantic conventions. It represents
+ // the phase of the PersistentVolumeClaim.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Pending", "Bound", "Lost"
+ // Note: This attribute aligns with the `phase` field of the
+ // [K8s PersistentVolumeClaimStatus].
+ //
+ // [K8s PersistentVolumeClaimStatus]: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#PersistentVolumeClaimStatus
+ K8SPersistentvolumeclaimStatusPhaseKey = attribute.Key("k8s.persistentvolumeclaim.status.phase")
+
+ // K8SPersistentvolumeclaimUIDKey is the attribute Key conforming to the
+ // "k8s.persistentvolumeclaim.uid" semantic conventions. It represents the UID
+ // of the PersistentVolumeClaim.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SPersistentvolumeclaimUIDKey = attribute.Key("k8s.persistentvolumeclaim.uid")
+
// K8SPodHostnameKey is the attribute Key conforming to the "k8s.pod.hostname"
// semantic conventions. It represents the specifies the hostname of the Pod.
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "collector-gateway"
// Note: The K8s Pod spec has an optional hostname field, which can be used to
@@ -9405,7 +8691,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "172.18.0.2"
// Note: This attribute aligns with the `podIP` field of the
@@ -9419,7 +8705,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "opentelemetry-pod-autoconf"
K8SPodNameKey = attribute.Key("k8s.pod.name")
@@ -9430,7 +8716,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "2025-12-04T08:41:03Z"
// Note: Date and time at which the object was acknowledged by the Kubelet.
@@ -9474,7 +8760,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
K8SPodUIDKey = attribute.Key("k8s.pod.uid")
@@ -9485,7 +8771,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "opentelemetry"
K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name")
@@ -9496,7 +8782,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid")
@@ -9709,7 +8995,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "opentelemetry"
K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name")
@@ -9720,7 +9006,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Beta
+ // Stability: Stable
//
// Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid")
@@ -9735,7 +9021,7 @@ const (
//
// Examples: "gold.storageclass.storage.k8s.io"
//
- // [StorageClass]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#storageclass-v1-storage-k8s-io
+ // [StorageClass]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#storageclass-v1-storage-k8s-io
K8SStorageclassNameKey = attribute.Key("k8s.storageclass.name")
// K8SVolumeNameKey is the attribute Key conforming to the "k8s.volume.name"
@@ -10005,12 +9291,80 @@ func K8SNodeName(val string) attribute.KeyValue {
return K8SNodeNameKey.String(val)
}
+// K8SNodeSystemContainerName returns an attribute KeyValue conforming to the
+// "k8s.node.system_container.name" semantic conventions. It represents the name
+// of the system container running on the K8s Node.
+func K8SNodeSystemContainerName(val string) attribute.KeyValue {
+ return K8SNodeSystemContainerNameKey.String(val)
+}
+
// K8SNodeUID returns an attribute KeyValue conforming to the "k8s.node.uid"
// semantic conventions. It represents the UID of the Node.
func K8SNodeUID(val string) attribute.KeyValue {
return K8SNodeUIDKey.String(val)
}
+// K8SPersistentvolumeAnnotation returns an attribute KeyValue conforming to the
+// "k8s.persistentvolume.annotation" semantic conventions. It represents the
+// annotation placed on the PersistentVolume, the `` being the annotation
+// name, the value being the annotation value, even if the value is empty.
+func K8SPersistentvolumeAnnotation(key string, val string) attribute.KeyValue {
+ return attribute.String("k8s.persistentvolume.annotation."+key, val)
+}
+
+// K8SPersistentvolumeLabel returns an attribute KeyValue conforming to the
+// "k8s.persistentvolume.label" semantic conventions. It represents the label
+// placed on the PersistentVolume, the `` being the label name, the value
+// being the label value, even if the value is empty.
+func K8SPersistentvolumeLabel(key string, val string) attribute.KeyValue {
+ return attribute.String("k8s.persistentvolume.label."+key, val)
+}
+
+// K8SPersistentvolumeName returns an attribute KeyValue conforming to the
+// "k8s.persistentvolume.name" semantic conventions. It represents the name of
+// the PersistentVolume.
+func K8SPersistentvolumeName(val string) attribute.KeyValue {
+ return K8SPersistentvolumeNameKey.String(val)
+}
+
+// K8SPersistentvolumeUID returns an attribute KeyValue conforming to the
+// "k8s.persistentvolume.uid" semantic conventions. It represents the UID of the
+// PersistentVolume.
+func K8SPersistentvolumeUID(val string) attribute.KeyValue {
+ return K8SPersistentvolumeUIDKey.String(val)
+}
+
+// K8SPersistentvolumeclaimAnnotation returns an attribute KeyValue conforming to
+// the "k8s.persistentvolumeclaim.annotation" semantic conventions. It represents
+// the annotation placed on the PersistentVolumeClaim, the `` being the
+// annotation name, the value being the annotation value, even if the value is
+// empty.
+func K8SPersistentvolumeclaimAnnotation(key string, val string) attribute.KeyValue {
+ return attribute.String("k8s.persistentvolumeclaim.annotation."+key, val)
+}
+
+// K8SPersistentvolumeclaimLabel returns an attribute KeyValue conforming to the
+// "k8s.persistentvolumeclaim.label" semantic conventions. It represents the
+// label placed on the PersistentVolumeClaim, the `` being the label name,
+// the value being the label value, even if the value is empty.
+func K8SPersistentvolumeclaimLabel(key string, val string) attribute.KeyValue {
+ return attribute.String("k8s.persistentvolumeclaim.label."+key, val)
+}
+
+// K8SPersistentvolumeclaimName returns an attribute KeyValue conforming to the
+// "k8s.persistentvolumeclaim.name" semantic conventions. It represents the name
+// of the PersistentVolumeClaim.
+func K8SPersistentvolumeclaimName(val string) attribute.KeyValue {
+ return K8SPersistentvolumeclaimNameKey.String(val)
+}
+
+// K8SPersistentvolumeclaimUID returns an attribute KeyValue conforming to the
+// "k8s.persistentvolumeclaim.uid" semantic conventions. It represents the UID of
+// the PersistentVolumeClaim.
+func K8SPersistentvolumeclaimUID(val string) attribute.KeyValue {
+ return K8SPersistentvolumeclaimUIDKey.String(val)
+}
+
// K8SPodAnnotation returns an attribute KeyValue conforming to the
// "k8s.pod.annotation" semantic conventions. It represents the annotation placed
// on the Pod, the `` being the annotation name, the value being the
@@ -10215,7 +9569,7 @@ func K8SStatefulSetUID(val string) attribute.KeyValue {
// "k8s.storageclass.name" semantic conventions. It represents the name of K8s
// [StorageClass] object.
//
-// [StorageClass]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#storageclass-v1-storage-k8s-io
+// [StorageClass]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#storageclass-v1-storage-k8s-io
func K8SStorageclassName(val string) attribute.KeyValue {
return K8SStorageclassNameKey.String(val)
}
@@ -10227,6 +9581,16 @@ func K8SVolumeName(val string) attribute.KeyValue {
return K8SVolumeNameKey.String(val)
}
+// Enum values for k8s.container.ephemeral_storage.fs_type
+var (
+ // For the container's writable layer usage.
+ // Stability: development
+ K8SContainerEphemeralStorageFsTypeRootfs = K8SContainerEphemeralStorageFsTypeKey.String("rootfs")
+ // For the container's log files usage (stdout/stderr).
+ // Stability: development
+ K8SContainerEphemeralStorageFsTypeLogs = K8SContainerEphemeralStorageFsTypeKey.String("logs")
+)
+
// Enum values for k8s.container.status.reason
var (
// The container is being created.
@@ -10318,6 +9682,51 @@ var (
K8SNodeConditionTypeNetworkUnavailable = K8SNodeConditionTypeKey.String("NetworkUnavailable")
)
+// Enum values for k8s.persistentvolume.reclaim_policy
+var (
+ // The volume will be deleted when released from its claim.
+ // Stability: development
+ K8SPersistentvolumeReclaimPolicyDelete = K8SPersistentvolumeReclaimPolicyKey.String("Delete")
+ // The volume will be recycled (basic scrub) when released from its claim.
+ // Stability: development
+ K8SPersistentvolumeReclaimPolicyRecycle = K8SPersistentvolumeReclaimPolicyKey.String("Recycle")
+ // The volume will be retained when released from its claim.
+ // Stability: development
+ K8SPersistentvolumeReclaimPolicyRetain = K8SPersistentvolumeReclaimPolicyKey.String("Retain")
+)
+
+// Enum values for k8s.persistentvolume.status.phase
+var (
+ // The volume is available and not yet bound to a claim.
+ // Stability: development
+ K8SPersistentvolumeStatusPhaseAvailable = K8SPersistentvolumeStatusPhaseKey.String("Available")
+ // The volume is bound to a claim.
+ // Stability: development
+ K8SPersistentvolumeStatusPhaseBound = K8SPersistentvolumeStatusPhaseKey.String("Bound")
+ // The volume has failed its automatic reclamation.
+ // Stability: development
+ K8SPersistentvolumeStatusPhaseFailed = K8SPersistentvolumeStatusPhaseKey.String("Failed")
+ // The volume is being provisioned.
+ // Stability: development
+ K8SPersistentvolumeStatusPhasePending = K8SPersistentvolumeStatusPhaseKey.String("Pending")
+ // The claim has been deleted but the volume is not yet available.
+ // Stability: development
+ K8SPersistentvolumeStatusPhaseReleased = K8SPersistentvolumeStatusPhaseKey.String("Released")
+)
+
+// Enum values for k8s.persistentvolumeclaim.status.phase
+var (
+ // The claim is bound to a volume.
+ // Stability: development
+ K8SPersistentvolumeclaimStatusPhaseBound = K8SPersistentvolumeclaimStatusPhaseKey.String("Bound")
+ // The claim has lost its underlying volume (the volume does not exist anymore).
+ // Stability: development
+ K8SPersistentvolumeclaimStatusPhaseLost = K8SPersistentvolumeclaimStatusPhaseKey.String("Lost")
+ // The claim has not yet been bound to a volume.
+ // Stability: development
+ K8SPersistentvolumeclaimStatusPhasePending = K8SPersistentvolumeclaimStatusPhaseKey.String("Pending")
+)
+
// Enum values for k8s.pod.status.phase
var (
// The pod has been accepted by the system, but one or more of the containers
@@ -10420,32 +9829,32 @@ var (
// A [persistentVolumeClaim] volume
// Stability: development
//
- // [persistentVolumeClaim]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim
+ // [persistentVolumeClaim]: https://kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim
K8SVolumeTypePersistentVolumeClaim = K8SVolumeTypeKey.String("persistentVolumeClaim")
// A [configMap] volume
// Stability: development
//
- // [configMap]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap
+ // [configMap]: https://kubernetes.io/docs/concepts/storage/volumes/#configmap
K8SVolumeTypeConfigMap = K8SVolumeTypeKey.String("configMap")
// A [downwardAPI] volume
// Stability: development
//
- // [downwardAPI]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi
+ // [downwardAPI]: https://kubernetes.io/docs/concepts/storage/volumes/#downwardapi
K8SVolumeTypeDownwardAPI = K8SVolumeTypeKey.String("downwardAPI")
// An [emptyDir] volume
// Stability: development
//
- // [emptyDir]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir
+ // [emptyDir]: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir
K8SVolumeTypeEmptyDir = K8SVolumeTypeKey.String("emptyDir")
// A [secret] volume
// Stability: development
//
- // [secret]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret
+ // [secret]: https://kubernetes.io/docs/concepts/storage/volumes/#secret
K8SVolumeTypeSecret = K8SVolumeTypeKey.String("secret")
// A [local] volume
// Stability: development
//
- // [local]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local
+ // [local]: https://kubernetes.io/docs/concepts/storage/volumes/#local
K8SVolumeTypeLocal = K8SVolumeTypeKey.String("local")
)
@@ -10590,207 +9999,25 @@ var (
// Namespace: mainframe
const (
- // MainframeLparNameKey is the attribute Key conforming to the
- // "mainframe.lpar.name" semantic conventions. It represents the name of the
- // logical partition that hosts a systems with a mainframe operating system.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "LPAR01"
- MainframeLparNameKey = attribute.Key("mainframe.lpar.name")
-)
-
-// MainframeLparName returns an attribute KeyValue conforming to the
-// "mainframe.lpar.name" semantic conventions. It represents the name of the
-// logical partition that hosts a systems with a mainframe operating system.
-func MainframeLparName(val string) attribute.KeyValue {
- return MainframeLparNameKey.String(val)
-}
-
-// Namespace: mcp
-const (
- // McpMethodNameKey is the attribute Key conforming to the "mcp.method.name"
- // semantic conventions. It represents the name of the request or notification
- // method.
- //
- // Type: Enum
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples:
- McpMethodNameKey = attribute.Key("mcp.method.name")
-
- // McpProtocolVersionKey is the attribute Key conforming to the
- // "mcp.protocol.version" semantic conventions. It represents the [version] of
- // the Model Context Protocol used.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "2025-06-18"
- //
- // [version]: https://modelcontextprotocol.io/specification/versioning
- McpProtocolVersionKey = attribute.Key("mcp.protocol.version")
-
- // McpResourceURIKey is the attribute Key conforming to the "mcp.resource.uri"
- // semantic conventions. It represents the value of the resource uri.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "postgres://database/customers/schema",
- // "file:///home/user/documents/report.pdf"
- // Note: This is a URI of the resource provided in the following requests or
- // notifications: `resources/read`, `resources/subscribe`,
- // `resources/unsubscribe`, or `notifications/resources/updated`.
- McpResourceURIKey = attribute.Key("mcp.resource.uri")
-
- // McpSessionIDKey is the attribute Key conforming to the "mcp.session.id"
- // semantic conventions. It represents the identifies [MCP session].
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "191c4850af6c49e08843a3f6c80e5046"
- //
- // [MCP session]: https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#session-management
- McpSessionIDKey = attribute.Key("mcp.session.id")
-)
-
-// McpProtocolVersion returns an attribute KeyValue conforming to the
-// "mcp.protocol.version" semantic conventions. It represents the [version] of
-// the Model Context Protocol used.
-//
-// [version]: https://modelcontextprotocol.io/specification/versioning
-func McpProtocolVersion(val string) attribute.KeyValue {
- return McpProtocolVersionKey.String(val)
-}
-
-// McpResourceURI returns an attribute KeyValue conforming to the
-// "mcp.resource.uri" semantic conventions. It represents the value of the
-// resource uri.
-func McpResourceURI(val string) attribute.KeyValue {
- return McpResourceURIKey.String(val)
-}
-
-// McpSessionID returns an attribute KeyValue conforming to the "mcp.session.id"
-// semantic conventions. It represents the identifies [MCP session].
-//
-// [MCP session]: https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#session-management
-func McpSessionID(val string) attribute.KeyValue {
- return McpSessionIDKey.String(val)
-}
-
-// Enum values for mcp.method.name
-var (
- // Notification cancelling a previously-issued request.
- //
- // Stability: development
- McpMethodNameNotificationsCancelled = McpMethodNameKey.String("notifications/cancelled")
- // Request to initialize the MCP client.
- //
- // Stability: development
- McpMethodNameInitialize = McpMethodNameKey.String("initialize")
- // Notification indicating that the MCP client has been initialized.
- //
- // Stability: development
- McpMethodNameNotificationsInitialized = McpMethodNameKey.String("notifications/initialized")
- // Notification indicating the progress for a long-running operation.
- //
- // Stability: development
- McpMethodNameNotificationsProgress = McpMethodNameKey.String("notifications/progress")
- // Request to check that the other party is still alive.
- //
- // Stability: development
- McpMethodNamePing = McpMethodNameKey.String("ping")
- // Request to list resources available on server.
- //
- // Stability: development
- McpMethodNameResourcesList = McpMethodNameKey.String("resources/list")
- // Request to list resource templates available on server.
- //
- // Stability: development
- McpMethodNameResourcesTemplatesList = McpMethodNameKey.String("resources/templates/list")
- // Request to read a resource.
- //
- // Stability: development
- McpMethodNameResourcesRead = McpMethodNameKey.String("resources/read")
- // Notification indicating that the list of resources has changed.
- //
- // Stability: development
- McpMethodNameNotificationsResourcesListChanged = McpMethodNameKey.String("notifications/resources/list_changed")
- // Request to subscribe to a resource.
- //
- // Stability: development
- McpMethodNameResourcesSubscribe = McpMethodNameKey.String("resources/subscribe")
- // Request to unsubscribe from resource updates.
- //
- // Stability: development
- McpMethodNameResourcesUnsubscribe = McpMethodNameKey.String("resources/unsubscribe")
- // Notification indicating that a resource has been updated.
- //
- // Stability: development
- McpMethodNameNotificationsResourcesUpdated = McpMethodNameKey.String("notifications/resources/updated")
- // Request to list prompts available on server.
- //
- // Stability: development
- McpMethodNamePromptsList = McpMethodNameKey.String("prompts/list")
- // Request to get a prompt.
- //
- // Stability: development
- McpMethodNamePromptsGet = McpMethodNameKey.String("prompts/get")
- // Notification indicating that the list of prompts has changed.
- //
- // Stability: development
- McpMethodNameNotificationsPromptsListChanged = McpMethodNameKey.String("notifications/prompts/list_changed")
- // Request to list tools available on server.
- //
- // Stability: development
- McpMethodNameToolsList = McpMethodNameKey.String("tools/list")
- // Request to call a tool.
- //
- // Stability: development
- McpMethodNameToolsCall = McpMethodNameKey.String("tools/call")
- // Notification indicating that the list of tools has changed.
- //
- // Stability: development
- McpMethodNameNotificationsToolsListChanged = McpMethodNameKey.String("notifications/tools/list_changed")
- // Request to set the logging level.
- //
- // Stability: development
- McpMethodNameLoggingSetLevel = McpMethodNameKey.String("logging/setLevel")
- // Notification indicating that a message has been received.
- //
- // Stability: development
- McpMethodNameNotificationsMessage = McpMethodNameKey.String("notifications/message")
- // Request to create a sampling message.
- //
- // Stability: development
- McpMethodNameSamplingCreateMessage = McpMethodNameKey.String("sampling/createMessage")
- // Request to complete a prompt.
- //
- // Stability: development
- McpMethodNameCompletionComplete = McpMethodNameKey.String("completion/complete")
- // Request to list roots available on server.
- //
- // Stability: development
- McpMethodNameRootsList = McpMethodNameKey.String("roots/list")
- // Notification indicating that the list of roots has changed.
+ // MainframeLparNameKey is the attribute Key conforming to the
+ // "mainframe.lpar.name" semantic conventions. It represents the name of the
+ // logical partition that hosts a systems with a mainframe operating system.
//
- // Stability: development
- McpMethodNameNotificationsRootsListChanged = McpMethodNameKey.String("notifications/roots/list_changed")
- // Request from the server to elicit additional information from the user via
- // the client
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
//
- // Stability: development
- McpMethodNameElicitationCreate = McpMethodNameKey.String("elicitation/create")
+ // Examples: "LPAR01"
+ MainframeLparNameKey = attribute.Key("mainframe.lpar.name")
)
+// MainframeLparName returns an attribute KeyValue conforming to the
+// "mainframe.lpar.name" semantic conventions. It represents the name of the
+// logical partition that hosts a systems with a mainframe operating system.
+func MainframeLparName(val string) attribute.KeyValue {
+ return MainframeLparNameKey.String(val)
+}
+
// Namespace: messaging
const (
// MessagingBatchMessageCountKey is the attribute Key conforming to the
@@ -11684,12 +10911,14 @@ const (
NetworkInterfaceNameKey = attribute.Key("network.interface.name")
// NetworkIODirectionKey is the attribute Key conforming to the
- // "network.io.direction" semantic conventions. It represents the network IO
- // operation direction.
+ // "network.io.direction" semantic conventions. It represents the direction of
+ // traffic from the perspective of the observing host's physical or virtual
+ // network interface. It should not be used to represent the logical direction
+ // of a stateful connection or network flow.
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "transmit"
NetworkIODirectionKey = attribute.Key("network.io.direction")
@@ -12006,10 +11235,10 @@ var (
// Enum values for network.io.direction
var (
// transmit
- // Stability: development
+ // Stability: release_candidate
NetworkIODirectionTransmit = NetworkIODirectionKey.String("transmit")
// receive
- // Stability: development
+ // Stability: release_candidate
NetworkIODirectionReceive = NetworkIODirectionKey.String("receive")
)
@@ -12188,90 +11417,6 @@ func OncRPCVersion(val int) attribute.KeyValue {
return OncRPCVersionKey.Int(val)
}
-// Namespace: openai
-const (
- // OpenAIAPITypeKey is the attribute Key conforming to the "openai.api.type"
- // semantic conventions. It represents the type of OpenAI API being used.
- //
- // Type: Enum
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples:
- OpenAIAPITypeKey = attribute.Key("openai.api.type")
-
- // OpenAIRequestServiceTierKey is the attribute Key conforming to the
- // "openai.request.service_tier" semantic conventions. It represents the service
- // tier requested. May be a specific tier, default, or auto.
- //
- // Type: Enum
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "auto", "default"
- OpenAIRequestServiceTierKey = attribute.Key("openai.request.service_tier")
-
- // OpenAIResponseServiceTierKey is the attribute Key conforming to the
- // "openai.response.service_tier" semantic conventions. It represents the
- // service tier used for the response.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "scale", "default"
- OpenAIResponseServiceTierKey = attribute.Key("openai.response.service_tier")
-
- // OpenAIResponseSystemFingerprintKey is the attribute Key conforming to the
- // "openai.response.system_fingerprint" semantic conventions. It represents a
- // fingerprint to track any eventual change in the Generative AI environment.
- //
- // Type: string
- // RequirementLevel: Recommended
- // Stability: Development
- //
- // Examples: "fp_44709d6fcb"
- OpenAIResponseSystemFingerprintKey = attribute.Key("openai.response.system_fingerprint")
-)
-
-// OpenAIResponseServiceTier returns an attribute KeyValue conforming to the
-// "openai.response.service_tier" semantic conventions. It represents the service
-// tier used for the response.
-func OpenAIResponseServiceTier(val string) attribute.KeyValue {
- return OpenAIResponseServiceTierKey.String(val)
-}
-
-// OpenAIResponseSystemFingerprint returns an attribute KeyValue conforming to
-// the "openai.response.system_fingerprint" semantic conventions. It represents a
-// fingerprint to track any eventual change in the Generative AI environment.
-func OpenAIResponseSystemFingerprint(val string) attribute.KeyValue {
- return OpenAIResponseSystemFingerprintKey.String(val)
-}
-
-// Enum values for openai.api.type
-var (
- // The OpenAI [Chat Completions API].
- // Stability: development
- //
- // [Chat Completions API]: https://developers.openai.com/api/reference/chat-completions/overview
- OpenAIAPITypeChatCompletions = OpenAIAPITypeKey.String("chat_completions")
- // The OpenAI [Responses API].
- // Stability: development
- //
- // [Responses API]: https://developers.openai.com/api/reference/responses/overview
- OpenAIAPITypeResponses = OpenAIAPITypeKey.String("responses")
-)
-
-// Enum values for openai.request.service_tier
-var (
- // The system will utilize scale tier credits until they are exhausted.
- // Stability: development
- OpenAIRequestServiceTierAuto = OpenAIRequestServiceTierKey.String("auto")
- // The system will utilize the default scale tier.
- // Stability: development
- OpenAIRequestServiceTierDefault = OpenAIRequestServiceTierKey.String("default")
-)
-
// Namespace: openshift
const (
// OpenShiftClusterquotaNameKey is the attribute Key conforming to the
@@ -12344,7 +11489,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "example.com", "corp.internal", "prod.db.local"
// Note: This attribute SHOULD be set to the value of the `DB_DOMAIN`
@@ -12364,7 +11509,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "ORCL1", "ORCL2", "ORCL3"
// Note: There can be multiple instances associated with a single database
@@ -12380,7 +11525,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "ORCL1", "FREE"
// Note: This attribute SHOULD be set to the value of the parameter `DB_NAME`
@@ -12393,7 +11538,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "PDB1", "FREEPDB"
// Note: This attribute SHOULD reflect the PDB that the session is currently
@@ -12411,7 +11556,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "order-processing-service", "db_low.adb.oraclecloud.com",
// "db_high.adb.oraclecloud.com"
@@ -12669,7 +11814,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Stable
//
// Examples: "browser.mouse.click", "device.app.lifecycle"
// Note: This attribute SHOULD be used by non-OTLP exporters when destination
@@ -13140,7 +12285,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 4
// Note: This field can be useful for querying or performing bucket analysis on
@@ -13156,7 +12301,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "cmd/otelcol"
ProcessCommandKey = attribute.Key("process.command")
@@ -13172,7 +12317,7 @@ const (
//
// Type: string[]
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "cmd/otecol", "--config=config.yaml"
ProcessCommandArgsKey = attribute.Key("process.command_args")
@@ -13187,7 +12332,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "C:\cmd\otecol --config="my directory\config.yaml""
ProcessCommandLineKey = attribute.Key("process.command_line")
@@ -13199,7 +12344,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples:
ProcessContextSwitchTypeKey = attribute.Key("process.context_switch.type")
@@ -13210,7 +12355,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "2023-11-21T09:25:34.853Z"
ProcessCreationTimeKey = attribute.Key("process.creation.time")
@@ -13221,7 +12366,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "c89b11207f6479603b0d49bf291c092c2b719293"
ProcessExecutableBuildIDGNUKey = attribute.Key("process.executable.build_id.gnu")
@@ -13232,7 +12377,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples:
// "foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY"
@@ -13240,14 +12385,27 @@ const (
// ProcessExecutableBuildIDHtlhashKey is the attribute Key conforming to the
// "process.executable.build_id.htlhash" semantic conventions. It represents the
- // profiling specific build ID for executables. See the OTel specification for
- // Profiles for more information.
+ // deterministic build ID for executables.
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "600DCAFE4A110000F2BF38C493F5FB92"
+ // Note: GNU and Go build IDs may be stripped or unavailable in some
+ // environments
+ // (e.g., Alpine Linux, Docker images). This attribute provides a deterministic
+ // build ID computed by hashing the first and last 4096 bytes of the file
+ // along with its length:
+ //
+ // ```
+ // Input ← Concat(File[:4096], File[-4096:], BigEndianUInt64(Len(File)))
+ // Digest ← SHA256(Input)
+ // BuildID ← Digest[:16]
+ // ```
+ //
+ // The result is the first 16 bytes (128 bits) of the SHA256 digest,
+ // represented as a hex string.
ProcessExecutableBuildIDHtlhashKey = attribute.Key("process.executable.build_id.htlhash")
// ProcessExecutableNameKey is the attribute Key conforming to the
@@ -13258,7 +12416,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "otelcol"
ProcessExecutableNameKey = attribute.Key("process.executable.name")
@@ -13271,7 +12429,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "/usr/bin/cmd/otelcol"
ProcessExecutablePathKey = attribute.Key("process.executable.path")
@@ -13281,7 +12439,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 127
ProcessExitCodeKey = attribute.Key("process.exit.code")
@@ -13292,7 +12450,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "2023-11-21T09:26:12.315Z"
ProcessExitTimeKey = attribute.Key("process.exit.time")
@@ -13304,7 +12462,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 23
ProcessGroupLeaderPIDKey = attribute.Key("process.group_leader.pid")
@@ -13315,7 +12473,7 @@ const (
//
// Type: boolean
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples:
ProcessInteractiveKey = attribute.Key("process.interactive")
@@ -13326,7 +12484,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "1:name=systemd:/user.slice/user-1000.slice/session-3.scope",
// "0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope"
@@ -13344,7 +12502,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "root"
ProcessOwnerKey = attribute.Key("process.owner")
@@ -13355,7 +12513,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 111
ProcessParentPIDKey = attribute.Key("process.parent_pid")
@@ -13365,7 +12523,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 1234
ProcessPIDKey = attribute.Key("process.pid")
@@ -13376,7 +12534,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 1000
ProcessRealUserIDKey = attribute.Key("process.real_user.id")
@@ -13387,7 +12545,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "operator"
ProcessRealUserNameKey = attribute.Key("process.real_user.name")
@@ -13399,7 +12557,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0
ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description")
@@ -13410,7 +12568,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "OpenJDK Runtime Environment"
ProcessRuntimeNameKey = attribute.Key("process.runtime.name")
@@ -13421,7 +12579,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 14.0.2
ProcessRuntimeVersionKey = attribute.Key("process.runtime.version")
@@ -13432,7 +12590,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 1002
ProcessSavedUserIDKey = attribute.Key("process.saved_user.id")
@@ -13443,7 +12601,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "operator"
ProcessSavedUserNameKey = attribute.Key("process.saved_user.name")
@@ -13455,7 +12613,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 14
ProcessSessionLeaderPIDKey = attribute.Key("process.session_leader.pid")
@@ -13466,7 +12624,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "running"
//
@@ -13478,7 +12636,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "cat /etc/hostname", "xfce4-session", "bash"
// Note: In many Unix-like systems, process title (proctitle), is the string
@@ -13492,7 +12650,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 1001
ProcessUserIDKey = attribute.Key("process.user.id")
@@ -13503,7 +12661,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "root"
ProcessUserNameKey = attribute.Key("process.user.name")
@@ -13513,7 +12671,7 @@ const (
//
// Type: int
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: 12
// Note: The process ID within a PID namespace. This is not necessarily unique
@@ -13527,7 +12685,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "/root"
ProcessWorkingDirectoryKey = attribute.Key("process.working_directory")
@@ -13603,8 +12761,7 @@ func ProcessExecutableBuildIDGo(val string) attribute.KeyValue {
// ProcessExecutableBuildIDHtlhash returns an attribute KeyValue conforming to
// the "process.executable.build_id.htlhash" semantic conventions. It represents
-// the profiling specific build ID for executables. See the OTel specification
-// for Profiles for more information.
+// the deterministic build ID for executables.
func ProcessExecutableBuildIDHtlhash(val string) attribute.KeyValue {
return ProcessExecutableBuildIDHtlhashKey.String(val)
}
@@ -13777,26 +12934,26 @@ func ProcessWorkingDirectory(val string) attribute.KeyValue {
// Enum values for process.context_switch.type
var (
// voluntary
- // Stability: development
+ // Stability: release_candidate
ProcessContextSwitchTypeVoluntary = ProcessContextSwitchTypeKey.String("voluntary")
// involuntary
- // Stability: development
+ // Stability: release_candidate
ProcessContextSwitchTypeInvoluntary = ProcessContextSwitchTypeKey.String("involuntary")
)
// Enum values for process.state
var (
// running
- // Stability: development
+ // Stability: release_candidate
ProcessStateRunning = ProcessStateKey.String("running")
// sleeping
- // Stability: development
+ // Stability: release_candidate
ProcessStateSleeping = ProcessStateKey.String("sleeping")
// stopped
- // Stability: development
+ // Stability: release_candidate
ProcessStateStopped = ProcessStateKey.String("stopped")
// defunct
- // Stability: development
+ // Stability: release_candidate
ProcessStateDefunct = ProcessStateKey.String("defunct")
)
@@ -13892,6 +13049,12 @@ var (
//
// [Rust]: https://wikipedia.org/wiki/Rust_(programming_language)
ProfileFrameTypeRust = ProfileFrameTypeKey.String("rust")
+ // [LuaJIT]
+ //
+ // Stability: development
+ //
+ // [LuaJIT]: https://en.wikipedia.org/wiki/LuaJIT
+ ProfileFrameTypeLuajit = ProfileFrameTypeKey.String("luajit")
)
// Namespace: rpc
@@ -14241,7 +13404,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Alpha
//
// Examples: "critical", "high", "medium", "low"
// Note: Application developers are encouraged to set `service.criticality` to
@@ -14317,9 +13480,11 @@ const (
// Examples: "shoppingcart"
// Note: MUST be the same for all instances of horizontally scaled services. If
// the value was not specified, SDKs MUST fallback to `unknown_service:`
- // concatenated with [`process.executable.name`], e.g. `unknown_service:bash`.
- // If `process.executable.name` is not available, the value MUST be set to
+ // concatenated with the process executable name, e.g. `unknown_service:bash`.
+ // If the process executable name is not available, the value MUST be set to
// `unknown_service`.
+ // The process executable name is the name of the process executable, the same
+ // value as described by the [`process.executable.name`] resource attribute.
//
// [`process.executable.name`]: process.md
ServiceNameKey = attribute.Key("service.name")
@@ -14437,21 +13602,21 @@ var (
// Service is business-critical; downtime directly impacts revenue, user
// experience, or core functionality.
//
- // Stability: development
+ // Stability: alpha
ServiceCriticalityCritical = ServiceCriticalityKey.String("critical")
// Service is important but has degradation tolerance or fallback mechanisms.
//
- // Stability: development
+ // Stability: alpha
ServiceCriticalityHigh = ServiceCriticalityKey.String("high")
// Service provides supplementary functionality; degradation has limited user
// impact.
//
- // Stability: development
+ // Stability: alpha
ServiceCriticalityMedium = ServiceCriticalityKey.String("medium")
// Service is non-essential to core operations; used for background tasks or
// internal tools.
//
- // Stability: development
+ // Stability: alpha
ServiceCriticalityLow = ServiceCriticalityKey.String("low")
)
@@ -14643,6 +13808,17 @@ const (
// Examples: "ext4"
SystemFilesystemTypeKey = attribute.Key("system.filesystem.type")
+ // SystemMemoryLinuxHugepagesStateKey is the attribute Key conforming to the
+ // "system.memory.linux.hugepages.state" semantic conventions. It represents the
+ // Linux HugePages memory state.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "free", "used"
+ SystemMemoryLinuxHugepagesStateKey = attribute.Key("system.memory.linux.hugepages.state")
+
// SystemMemoryLinuxSlabStateKey is the attribute Key conforming to the
// "system.memory.linux.slab.state" semantic conventions. It represents the
// Linux Slab memory state.
@@ -14681,7 +13857,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "minor"
SystemPagingFaultTypeKey = attribute.Key("system.paging.fault.type")
@@ -14753,6 +13929,16 @@ var (
SystemFilesystemTypeExt4 = SystemFilesystemTypeKey.String("ext4")
)
+// Enum values for system.memory.linux.hugepages.state
+var (
+ // free
+ // Stability: development
+ SystemMemoryLinuxHugepagesStateFree = SystemMemoryLinuxHugepagesStateKey.String("free")
+ // used
+ // Stability: development
+ SystemMemoryLinuxHugepagesStateUsed = SystemMemoryLinuxHugepagesStateKey.String("used")
+)
+
// Enum values for system.memory.linux.slab.state
var (
// reclaimable
@@ -14792,10 +13978,10 @@ var (
// Enum values for system.paging.fault.type
var (
// major
- // Stability: development
+ // Stability: release_candidate
SystemPagingFaultTypeMajor = SystemPagingFaultTypeKey.String("major")
// minor
- // Stability: development
+ // Stability: release_candidate
SystemPagingFaultTypeMinor = SystemPagingFaultTypeKey.String("minor")
)
@@ -14817,7 +14003,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Stable
//
// Examples: "parts-unlimited-java"
// Note: Official auto instrumentation agents and distributions SHOULD set the
@@ -14832,7 +14018,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Stable
//
// Examples: "1.2.3"
TelemetryDistroVersionKey = attribute.Key("telemetry.distro.version")
@@ -14926,6 +14112,9 @@ var (
// java
// Stability: stable
TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java")
+ // kotlin
+ // Stability: stable
+ TelemetrySDKLanguageKotlin = TelemetrySDKLanguageKey.String("kotlin")
// nodejs
// Stability: stable
TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs")
@@ -15767,8 +14956,9 @@ const (
// replaced by the
// value `REDACTED`:
//
- // - [`AWSAccessKeyId`]
- // - [`Signature`]
+ // - [`X-Amz-Signature`]
+ // - [`X-Amz-Credential`]
+ // - [`X-Amz-Security-Token`]
// - [`sig`]
// - [`X-Goog-Signature`]
//
@@ -15791,8 +14981,9 @@ const (
// `https://www.example.com/path?color=blue&sig=REDACTED`.
//
// [RFC3986]: https://www.rfc-editor.org/rfc/rfc3986
- // [`AWSAccessKeyId`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth
- // [`Signature`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth
+ // [`X-Amz-Signature`]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html
+ // [`X-Amz-Credential`]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html
+ // [`X-Amz-Security-Token`]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html
// [`sig`]: https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token
// [`X-Goog-Signature`]: https://cloud.google.com/storage/docs/access-control/signed-urls
URLFullKey = attribute.Key("url.full")
@@ -15854,8 +15045,9 @@ const (
// Query string values for the following keys SHOULD be redacted by default and
// replaced by the value `REDACTED`:
//
- // - [`AWSAccessKeyId`]
- // - [`Signature`]
+ // - [`X-Amz-Signature`]
+ // - [`X-Amz-Credential`]
+ // - [`X-Amz-Security-Token`]
// - [`sig`]
// - [`X-Goog-Signature`]
//
@@ -15877,8 +15069,9 @@ const (
// `q=OpenTelemetry&sig=REDACTED`.
//
// [URI query]: https://www.rfc-editor.org/rfc/rfc3986#section-3.4
- // [`AWSAccessKeyId`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth
- // [`Signature`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth
+ // [`X-Amz-Signature`]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html
+ // [`X-Amz-Credential`]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html
+ // [`X-Amz-Security-Token`]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html
// [`sig`]: https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token
// [`X-Goog-Signature`]: https://cloud.google.com/storage/docs/access-control/signed-urls
URLQueryKey = attribute.Key("url.query")
@@ -16328,7 +15521,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "123"
VCSChangeIDKey = attribute.Key("vcs.change.id")
@@ -16339,7 +15532,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "open", "closed", "merged"
VCSChangeStateKey = attribute.Key("vcs.change.state")
@@ -16351,7 +15544,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "Fixes broken thing", "feat: add my new feature", "[chore] update
// dependency"
@@ -16363,7 +15556,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "added", "removed"
VCSLineChangeTypeKey = attribute.Key("vcs.line_change.type")
@@ -16374,7 +15567,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "my-org", "myteam", "business-unit"
VCSOwnerNameKey = attribute.Key("vcs.owner.name")
@@ -16385,7 +15578,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "github", "gitlab", "gitea", "bitbucket"
VCSProviderNameKey = attribute.Key("vcs.provider.name")
@@ -16396,7 +15589,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "my-feature-branch", "tag-1-test"
// Note: `base` refers to the starting point of a change. For example, `main`
@@ -16413,7 +15606,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc",
// "main", "123", "HEAD"
@@ -16445,7 +15638,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "branch", "tag"
// Note: `base` refers to the starting point of a change. For example, `main`
@@ -16461,7 +15654,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "my-feature-branch", "tag-1-test"
// Note: `head` refers to where you are right now; the current reference at a
@@ -16477,7 +15670,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc",
// "main", "123", "HEAD"
@@ -16507,7 +15700,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "branch", "tag"
// Note: `head` refers to where you are right now; the current reference at a
@@ -16521,7 +15714,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "branch", "tag"
//
@@ -16535,7 +15728,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "semantic-conventions", "my-cool-repo"
// Note: Due to it only being the name, it can clash with forks of the same
@@ -16550,7 +15743,7 @@ const (
//
// Type: string
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples:
// "https://github.com/opentelemetry/open-telemetry-collector-contrib",
@@ -16567,7 +15760,7 @@ const (
//
// Type: Enum
// RequirementLevel: Recommended
- // Stability: Development
+ // Stability: Release_Candidate
//
// Examples: "ahead", "behind"
VCSRevisionDeltaDirectionKey = attribute.Key("vcs.revision_delta.direction")
@@ -16658,53 +15851,53 @@ var (
// Open means the change is currently active and under review. It hasn't been
// merged into the target branch yet, and it's still possible to make changes or
// add comments.
- // Stability: development
+ // Stability: release_candidate
VCSChangeStateOpen = VCSChangeStateKey.String("open")
// WIP (work-in-progress, draft) means the change is still in progress and not
// yet ready for a full review. It might still undergo significant changes.
- // Stability: development
+ // Stability: release_candidate
VCSChangeStateWip = VCSChangeStateKey.String("wip")
// Closed means the merge request has been closed without merging. This can
// happen for various reasons, such as the changes being deemed unnecessary, the
// issue being resolved in another way, or the author deciding to withdraw the
// request.
- // Stability: development
+ // Stability: release_candidate
VCSChangeStateClosed = VCSChangeStateKey.String("closed")
// Merged indicates that the change has been successfully integrated into the
// target codebase.
- // Stability: development
+ // Stability: release_candidate
VCSChangeStateMerged = VCSChangeStateKey.String("merged")
)
// Enum values for vcs.line_change.type
var (
// How many lines were added.
- // Stability: development
+ // Stability: release_candidate
VCSLineChangeTypeAdded = VCSLineChangeTypeKey.String("added")
// How many lines were removed.
- // Stability: development
+ // Stability: release_candidate
VCSLineChangeTypeRemoved = VCSLineChangeTypeKey.String("removed")
)
// Enum values for vcs.provider.name
var (
// [GitHub]
- // Stability: development
+ // Stability: release_candidate
//
// [GitHub]: https://github.com
VCSProviderNameGithub = VCSProviderNameKey.String("github")
// [GitLab]
- // Stability: development
+ // Stability: release_candidate
//
// [GitLab]: https://gitlab.com
VCSProviderNameGitlab = VCSProviderNameKey.String("gitlab")
// [Gitea]
- // Stability: development
+ // Stability: release_candidate
//
// [Gitea]: https://gitea.io
VCSProviderNameGitea = VCSProviderNameKey.String("gitea")
// [Bitbucket]
- // Stability: development
+ // Stability: release_candidate
//
// [Bitbucket]: https://bitbucket.org
VCSProviderNameBitbucket = VCSProviderNameKey.String("bitbucket")
@@ -16713,12 +15906,12 @@ var (
// Enum values for vcs.ref.base.type
var (
// [branch]
- // Stability: development
+ // Stability: release_candidate
//
// [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch
VCSRefBaseTypeBranch = VCSRefBaseTypeKey.String("branch")
// [tag]
- // Stability: development
+ // Stability: release_candidate
//
// [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag
VCSRefBaseTypeTag = VCSRefBaseTypeKey.String("tag")
@@ -16727,12 +15920,12 @@ var (
// Enum values for vcs.ref.head.type
var (
// [branch]
- // Stability: development
+ // Stability: release_candidate
//
// [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch
VCSRefHeadTypeBranch = VCSRefHeadTypeKey.String("branch")
// [tag]
- // Stability: development
+ // Stability: release_candidate
//
// [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag
VCSRefHeadTypeTag = VCSRefHeadTypeKey.String("tag")
@@ -16741,12 +15934,12 @@ var (
// Enum values for vcs.ref.type
var (
// [branch]
- // Stability: development
+ // Stability: release_candidate
//
// [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch
VCSRefTypeBranch = VCSRefTypeKey.String("branch")
// [tag]
- // Stability: development
+ // Stability: release_candidate
//
// [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag
VCSRefTypeTag = VCSRefTypeKey.String("tag")
@@ -16755,10 +15948,10 @@ var (
// Enum values for vcs.revision_delta.direction
var (
// How many revisions the change is behind the target ref.
- // Stability: development
+ // Stability: release_candidate
VCSRevisionDeltaDirectionBehind = VCSRevisionDeltaDirectionKey.String("behind")
// How many revisions the change is ahead of the target ref.
- // Stability: development
+ // Stability: release_candidate
VCSRevisionDeltaDirectionAhead = VCSRevisionDeltaDirectionKey.String("ahead")
)
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/doc.go b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/doc.go
similarity index 77%
rename from vendor/go.opentelemetry.io/otel/semconv/v1.40.0/doc.go
rename to vendor/go.opentelemetry.io/otel/semconv/v1.43.0/doc.go
index c5c41e4d2..aadce15c0 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/doc.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/doc.go
@@ -1,9 +1,11 @@
+// Code generated from semantic convention specification. DO NOT EDIT.
+
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
// Package semconv implements OpenTelemetry semantic conventions.
//
// OpenTelemetry semantic conventions are agreed standardized naming
-// patterns for OpenTelemetry things. This package represents the v1.40.0
+// patterns for OpenTelemetry things. This package represents the v1.43.0
// version of the OpenTelemetry semantic conventions.
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0"
+package semconv
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/error_type.go b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/error_type.go
similarity index 74%
rename from vendor/go.opentelemetry.io/otel/semconv/v1.40.0/error_type.go
rename to vendor/go.opentelemetry.io/otel/semconv/v1.43.0/error_type.go
index 6d26e5282..5d8eff222 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/error_type.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/error_type.go
@@ -1,10 +1,13 @@
+// Code generated from semantic convention specification. DO NOT EDIT.
+
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0"
+package semconv
import (
"errors"
+ "fmt"
"reflect"
"go.opentelemetry.io/otel/attribute"
@@ -22,7 +25,8 @@ import (
// the returned attribute has that method's return value. If multiple errors in
// the chain implement this method, the value from the first match found by
// [errors.As] is used. Otherwise, the returned attribute has a value derived
-// from the concrete type of err.
+// from the concrete type of err after unwrapping any wrappers created with
+// [fmt.Errorf].
//
// The key of the returned attribute is [ErrorTypeKey].
func ErrorType(err error) attribute.KeyValue {
@@ -50,7 +54,7 @@ func errorType(err error) string {
// Fallback to reflection if the ErrorType method is not supported or
// returns an empty value.
- t := reflect.TypeOf(err)
+ t := reflect.TypeOf(unwrapFmtWrapped(err))
pkg, name := t.PkgPath(), t.Name()
if pkg != "" && name != "" {
s = pkg + "." + name
@@ -64,3 +68,16 @@ func errorType(err error) string {
}
return s
}
+
+var fmtWrapErrorType = reflect.TypeOf(fmt.Errorf("wrapped: %w", errors.New("err")))
+
+func unwrapFmtWrapped(err error) error {
+ for reflect.TypeOf(err) == fmtWrapErrorType {
+ u := errors.Unwrap(err)
+ if u == nil {
+ return err // When the wrapped error is nil, use the concrete type of the wrapper.
+ }
+ err = u
+ }
+ return err
+}
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/exception.go b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/exception.go
similarity index 69%
rename from vendor/go.opentelemetry.io/otel/semconv/v1.40.0/exception.go
rename to vendor/go.opentelemetry.io/otel/semconv/v1.43.0/exception.go
index 6a26231a1..6c9b05adb 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/exception.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/exception.go
@@ -1,7 +1,9 @@
+// Code generated from semantic convention specification. DO NOT EDIT.
+
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0"
+package semconv
const (
// ExceptionEventName is the name of the Span event representing an exception.
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/httpconv/metric.go b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/httpconv/metric.go
similarity index 80%
rename from vendor/go.opentelemetry.io/otel/semconv/v1.40.0/httpconv/metric.go
rename to vendor/go.opentelemetry.io/otel/semconv/v1.43.0/httpconv/metric.go
index 7264925ba..1eb8c9e2a 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/httpconv/metric.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/httpconv/metric.go
@@ -9,16 +9,11 @@ package httpconv
import (
"context"
- "sync"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/metric/noop"
-)
-
-var (
- addOptPool = &sync.Pool{New: func() any { return &[]metric.AddOption{} }}
- recOptPool = &sync.Pool{New: func() any { return &[]metric.RecordOption{} }}
+ "go.opentelemetry.io/otel/semconv/internal/metricpool"
)
// ErrorTypeAttr is an attribute conforming to the error.type semantic
@@ -159,6 +154,9 @@ func (m ClientActiveRequests) Add(
serverPort int,
attrs ...attribute.KeyValue,
) {
+ if !m.Int64UpDownCounter.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Int64UpDownCounter.Add(ctx, incr, metric.WithAttributes(
attribute.String("server.address", serverAddress),
@@ -167,11 +165,8 @@ func (m ClientActiveRequests) Add(
return
}
- o := addOptPool.Get().(*[]metric.AddOption)
- defer func() {
- *o = (*o)[:0]
- addOptPool.Put(o)
- }()
+ o := metricpool.AddOptions()
+ defer metricpool.PutAddOptions(o)
*o = append(
*o,
@@ -189,16 +184,16 @@ func (m ClientActiveRequests) Add(
// AddSet adds incr to the existing count for set.
func (m ClientActiveRequests) AddSet(ctx context.Context, incr int64, set attribute.Set) {
+ if !m.Int64UpDownCounter.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Int64UpDownCounter.Add(ctx, incr)
return
}
- o := addOptPool.Get().(*[]metric.AddOption)
- defer func() {
- *o = (*o)[:0]
- addOptPool.Put(o)
- }()
+ o := metricpool.AddOptions()
+ defer metricpool.PutAddOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Int64UpDownCounter.Add(ctx, incr, *o...)
@@ -228,6 +223,102 @@ func (ClientActiveRequests) AttrURLScheme(val string) attribute.KeyValue {
return attribute.String("url.scheme", val)
}
+// ClientActiveRequestsObservable is an instrument used to record metric values
+// conforming to the "http.client.active_requests" semantic conventions. It
+// represents the number of active HTTP requests.
+type ClientActiveRequestsObservable struct {
+ metric.Int64ObservableUpDownCounter
+}
+
+var newClientActiveRequestsObservableOpts = []metric.Int64ObservableUpDownCounterOption{
+ metric.WithDescription("Number of active HTTP requests."),
+ metric.WithUnit("{request}"),
+}
+
+// NewClientActiveRequestsObservable returns a new ClientActiveRequestsObservable
+// instrument.
+func NewClientActiveRequestsObservable(
+ m metric.Meter,
+ opt ...metric.Int64ObservableUpDownCounterOption,
+) (ClientActiveRequestsObservable, error) {
+ // Check if the meter is nil.
+ if m == nil {
+ return ClientActiveRequestsObservable{noop.Int64ObservableUpDownCounter{}}, nil
+ }
+
+ if len(opt) == 0 {
+ opt = newClientActiveRequestsObservableOpts
+ } else {
+ opt = append(opt, newClientActiveRequestsObservableOpts...)
+ }
+
+ i, err := m.Int64ObservableUpDownCounter(
+ "http.client.active_requests",
+ opt...,
+ )
+ if err != nil {
+ return ClientActiveRequestsObservable{noop.Int64ObservableUpDownCounter{}}, err
+ }
+ return ClientActiveRequestsObservable{i}, nil
+}
+
+// Inst returns the underlying metric instrument.
+func (m ClientActiveRequestsObservable) Inst() metric.Int64ObservableUpDownCounter {
+ return m.Int64ObservableUpDownCounter
+}
+
+// Name returns the semantic convention name of the instrument.
+func (ClientActiveRequestsObservable) Name() string {
+ return "http.client.active_requests"
+}
+
+// Unit returns the semantic convention unit of the instrument
+func (ClientActiveRequestsObservable) Unit() string {
+ return "{request}"
+}
+
+// Description returns the semantic convention description of the instrument
+func (ClientActiveRequestsObservable) Description() string {
+ return "Number of active HTTP requests."
+}
+
+// AttrServerAddress returns a required attribute for the "server.address"
+// semantic convention. It represents the server domain name if available without
+// reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+func (ClientActiveRequestsObservable) AttrServerAddress(val string) attribute.KeyValue {
+ return attribute.String("server.address", val)
+}
+
+// AttrServerPort returns a required attribute for the "server.port" semantic
+// convention. It represents the server port number.
+func (ClientActiveRequestsObservable) AttrServerPort(val int) attribute.KeyValue {
+ return attribute.Int("server.port", val)
+}
+
+// AttrURLTemplate returns an optional attribute for the "url.template" semantic
+// convention. It represents the low-cardinality template of an
+// [absolute path reference].
+//
+// [absolute path reference]: https://www.rfc-editor.org/rfc/rfc3986#section-4.2
+func (ClientActiveRequestsObservable) AttrURLTemplate(val string) attribute.KeyValue {
+ return attribute.String("url.template", val)
+}
+
+// AttrRequestMethod returns an optional attribute for the "http.request.method"
+// semantic convention. It represents the HTTP request method.
+func (ClientActiveRequestsObservable) AttrRequestMethod(val RequestMethodAttr) attribute.KeyValue {
+ return attribute.String("http.request.method", string(val))
+}
+
+// AttrURLScheme returns an optional attribute for the "url.scheme" semantic
+// convention. It represents the [URI scheme] component identifying the used
+// protocol.
+//
+// [URI scheme]: https://www.rfc-editor.org/rfc/rfc3986#section-3.1
+func (ClientActiveRequestsObservable) AttrURLScheme(val string) attribute.KeyValue {
+ return attribute.String("url.scheme", val)
+}
+
// ClientConnectionDuration is an instrument used to record metric values
// conforming to the "http.client.connection.duration" semantic conventions. It
// represents the duration of the successfully established outbound HTTP
@@ -302,6 +393,9 @@ func (m ClientConnectionDuration) Record(
serverPort int,
attrs ...attribute.KeyValue,
) {
+ if !m.Float64Histogram.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Float64Histogram.Record(ctx, val, metric.WithAttributes(
attribute.String("server.address", serverAddress),
@@ -310,11 +404,8 @@ func (m ClientConnectionDuration) Record(
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(
*o,
@@ -332,28 +423,21 @@ func (m ClientConnectionDuration) Record(
// RecordSet records val to the current distribution for set.
func (m ClientConnectionDuration) RecordSet(ctx context.Context, val float64, set attribute.Set) {
+ if !m.Float64Histogram.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Float64Histogram.Record(ctx, val)
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Float64Histogram.Record(ctx, val, *o...)
}
-// AttrNetworkPeerAddress returns an optional attribute for the
-// "network.peer.address" semantic convention. It represents the peer address of
-// the network connection - IP address or Unix domain socket name.
-func (ClientConnectionDuration) AttrNetworkPeerAddress(val string) attribute.KeyValue {
- return attribute.String("network.peer.address", val)
-}
-
// AttrNetworkProtocolVersion returns an optional attribute for the
// "network.protocol.version" semantic convention. It represents the actual
// version of the protocol used for network communication.
@@ -361,6 +445,13 @@ func (ClientConnectionDuration) AttrNetworkProtocolVersion(val string) attribute
return attribute.String("network.protocol.version", val)
}
+// AttrNetworkPeerAddress returns an optional attribute for the
+// "network.peer.address" semantic convention. It represents the peer address of
+// the network connection - IP address or Unix domain socket name.
+func (ClientConnectionDuration) AttrNetworkPeerAddress(val string) attribute.KeyValue {
+ return attribute.String("network.peer.address", val)
+}
+
// AttrURLScheme returns an optional attribute for the "url.scheme" semantic
// convention. It represents the [URI scheme] component identifying the used
// protocol.
@@ -448,6 +539,9 @@ func (m ClientOpenConnections) Add(
serverPort int,
attrs ...attribute.KeyValue,
) {
+ if !m.Int64UpDownCounter.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Int64UpDownCounter.Add(ctx, incr, metric.WithAttributes(
attribute.String("http.connection.state", string(connectionState)),
@@ -457,11 +551,8 @@ func (m ClientOpenConnections) Add(
return
}
- o := addOptPool.Get().(*[]metric.AddOption)
- defer func() {
- *o = (*o)[:0]
- addOptPool.Put(o)
- }()
+ o := metricpool.AddOptions()
+ defer metricpool.PutAddOptions(o)
*o = append(
*o,
@@ -480,21 +571,28 @@ func (m ClientOpenConnections) Add(
// AddSet adds incr to the existing count for set.
func (m ClientOpenConnections) AddSet(ctx context.Context, incr int64, set attribute.Set) {
+ if !m.Int64UpDownCounter.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Int64UpDownCounter.Add(ctx, incr)
return
}
- o := addOptPool.Get().(*[]metric.AddOption)
- defer func() {
- *o = (*o)[:0]
- addOptPool.Put(o)
- }()
+ o := metricpool.AddOptions()
+ defer metricpool.PutAddOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Int64UpDownCounter.Add(ctx, incr, *o...)
}
+// AttrNetworkProtocolVersion returns an optional attribute for the
+// "network.protocol.version" semantic convention. It represents the actual
+// version of the protocol used for network communication.
+func (ClientOpenConnections) AttrNetworkProtocolVersion(val string) attribute.KeyValue {
+ return attribute.String("network.protocol.version", val)
+}
+
// AttrNetworkPeerAddress returns an optional attribute for the
// "network.peer.address" semantic convention. It represents the peer address of
// the network connection - IP address or Unix domain socket name.
@@ -502,19 +600,115 @@ func (ClientOpenConnections) AttrNetworkPeerAddress(val string) attribute.KeyVal
return attribute.String("network.peer.address", val)
}
+// AttrURLScheme returns an optional attribute for the "url.scheme" semantic
+// convention. It represents the [URI scheme] component identifying the used
+// protocol.
+//
+// [URI scheme]: https://www.rfc-editor.org/rfc/rfc3986#section-3.1
+func (ClientOpenConnections) AttrURLScheme(val string) attribute.KeyValue {
+ return attribute.String("url.scheme", val)
+}
+
+// ClientOpenConnectionsObservable is an instrument used to record metric values
+// conforming to the "http.client.open_connections" semantic conventions. It
+// represents the number of outbound HTTP connections that are currently active
+// or idle on the client.
+type ClientOpenConnectionsObservable struct {
+ metric.Int64ObservableUpDownCounter
+}
+
+var newClientOpenConnectionsObservableOpts = []metric.Int64ObservableUpDownCounterOption{
+ metric.WithDescription("Number of outbound HTTP connections that are currently active or idle on the client."),
+ metric.WithUnit("{connection}"),
+}
+
+// NewClientOpenConnectionsObservable returns a new
+// ClientOpenConnectionsObservable instrument.
+func NewClientOpenConnectionsObservable(
+ m metric.Meter,
+ opt ...metric.Int64ObservableUpDownCounterOption,
+) (ClientOpenConnectionsObservable, error) {
+ // Check if the meter is nil.
+ if m == nil {
+ return ClientOpenConnectionsObservable{noop.Int64ObservableUpDownCounter{}}, nil
+ }
+
+ if len(opt) == 0 {
+ opt = newClientOpenConnectionsObservableOpts
+ } else {
+ opt = append(opt, newClientOpenConnectionsObservableOpts...)
+ }
+
+ i, err := m.Int64ObservableUpDownCounter(
+ "http.client.open_connections",
+ opt...,
+ )
+ if err != nil {
+ return ClientOpenConnectionsObservable{noop.Int64ObservableUpDownCounter{}}, err
+ }
+ return ClientOpenConnectionsObservable{i}, nil
+}
+
+// Inst returns the underlying metric instrument.
+func (m ClientOpenConnectionsObservable) Inst() metric.Int64ObservableUpDownCounter {
+ return m.Int64ObservableUpDownCounter
+}
+
+// Name returns the semantic convention name of the instrument.
+func (ClientOpenConnectionsObservable) Name() string {
+ return "http.client.open_connections"
+}
+
+// Unit returns the semantic convention unit of the instrument
+func (ClientOpenConnectionsObservable) Unit() string {
+ return "{connection}"
+}
+
+// Description returns the semantic convention description of the instrument
+func (ClientOpenConnectionsObservable) Description() string {
+ return "Number of outbound HTTP connections that are currently active or idle on the client."
+}
+
+// AttrConnectionState returns a required attribute for the
+// "http.connection.state" semantic convention. It represents the state of the
+// HTTP connection in the HTTP connection pool.
+func (ClientOpenConnectionsObservable) AttrConnectionState(val ConnectionStateAttr) attribute.KeyValue {
+ return attribute.String("http.connection.state", string(val))
+}
+
+// AttrServerAddress returns a required attribute for the "server.address"
+// semantic convention. It represents the server domain name if available without
+// reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+func (ClientOpenConnectionsObservable) AttrServerAddress(val string) attribute.KeyValue {
+ return attribute.String("server.address", val)
+}
+
+// AttrServerPort returns a required attribute for the "server.port" semantic
+// convention. It represents the server port number.
+func (ClientOpenConnectionsObservable) AttrServerPort(val int) attribute.KeyValue {
+ return attribute.Int("server.port", val)
+}
+
// AttrNetworkProtocolVersion returns an optional attribute for the
// "network.protocol.version" semantic convention. It represents the actual
// version of the protocol used for network communication.
-func (ClientOpenConnections) AttrNetworkProtocolVersion(val string) attribute.KeyValue {
+func (ClientOpenConnectionsObservable) AttrNetworkProtocolVersion(val string) attribute.KeyValue {
return attribute.String("network.protocol.version", val)
}
+// AttrNetworkPeerAddress returns an optional attribute for the
+// "network.peer.address" semantic convention. It represents the peer address of
+// the network connection - IP address or Unix domain socket name.
+func (ClientOpenConnectionsObservable) AttrNetworkPeerAddress(val string) attribute.KeyValue {
+ return attribute.String("network.peer.address", val)
+}
+
// AttrURLScheme returns an optional attribute for the "url.scheme" semantic
// convention. It represents the [URI scheme] component identifying the used
// protocol.
//
// [URI scheme]: https://www.rfc-editor.org/rfc/rfc3986#section-3.1
-func (ClientOpenConnections) AttrURLScheme(val string) attribute.KeyValue {
+func (ClientOpenConnectionsObservable) AttrURLScheme(val string) attribute.KeyValue {
return attribute.String("url.scheme", val)
}
@@ -601,6 +795,9 @@ func (m ClientRequestBodySize) Record(
serverPort int,
attrs ...attribute.KeyValue,
) {
+ if !m.Int64Histogram.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Int64Histogram.Record(ctx, val, metric.WithAttributes(
attribute.String("http.request.method", string(requestMethod)),
@@ -610,11 +807,8 @@ func (m ClientRequestBodySize) Record(
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(
*o,
@@ -640,16 +834,16 @@ func (m ClientRequestBodySize) Record(
//
// [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length
func (m ClientRequestBodySize) RecordSet(ctx context.Context, val int64, set attribute.Set) {
+ if !m.Int64Histogram.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Int64Histogram.Record(ctx, val)
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Int64Histogram.Record(ctx, val, *o...)
@@ -715,6 +909,7 @@ type ClientRequestDuration struct {
var newClientRequestDurationOpts = []metric.Float64HistogramOption{
metric.WithDescription("Duration of HTTP client requests."),
metric.WithUnit("s"),
+ metric.WithExplicitBucketBoundaries([]float64{0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10}...),
}
// NewClientRequestDuration returns a new ClientRequestDuration instrument.
@@ -781,6 +976,9 @@ func (m ClientRequestDuration) Record(
serverPort int,
attrs ...attribute.KeyValue,
) {
+ if !m.Float64Histogram.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Float64Histogram.Record(ctx, val, metric.WithAttributes(
attribute.String("http.request.method", string(requestMethod)),
@@ -790,11 +988,8 @@ func (m ClientRequestDuration) Record(
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(
*o,
@@ -813,16 +1008,16 @@ func (m ClientRequestDuration) Record(
// RecordSet records val to the current distribution for set.
func (m ClientRequestDuration) RecordSet(ctx context.Context, val float64, set attribute.Set) {
+ if !m.Float64Histogram.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Float64Histogram.Record(ctx, val)
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Float64Histogram.Record(ctx, val, *o...)
@@ -961,6 +1156,9 @@ func (m ClientResponseBodySize) Record(
serverPort int,
attrs ...attribute.KeyValue,
) {
+ if !m.Int64Histogram.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Int64Histogram.Record(ctx, val, metric.WithAttributes(
attribute.String("http.request.method", string(requestMethod)),
@@ -970,11 +1168,8 @@ func (m ClientResponseBodySize) Record(
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(
*o,
@@ -1000,16 +1195,16 @@ func (m ClientResponseBodySize) Record(
//
// [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length
func (m ClientResponseBodySize) RecordSet(ctx context.Context, val int64, set attribute.Set) {
+ if !m.Int64Histogram.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Int64Histogram.Record(ctx, val)
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Int64Histogram.Record(ctx, val, *o...)
@@ -1139,6 +1334,9 @@ func (m ServerActiveRequests) Add(
urlScheme string,
attrs ...attribute.KeyValue,
) {
+ if !m.Int64UpDownCounter.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Int64UpDownCounter.Add(ctx, incr, metric.WithAttributes(
attribute.String("http.request.method", string(requestMethod)),
@@ -1147,11 +1345,8 @@ func (m ServerActiveRequests) Add(
return
}
- o := addOptPool.Get().(*[]metric.AddOption)
- defer func() {
- *o = (*o)[:0]
- addOptPool.Put(o)
- }()
+ o := metricpool.AddOptions()
+ defer metricpool.PutAddOptions(o)
*o = append(
*o,
@@ -1169,16 +1364,16 @@ func (m ServerActiveRequests) Add(
// AddSet adds incr to the existing count for set.
func (m ServerActiveRequests) AddSet(ctx context.Context, incr int64, set attribute.Set) {
+ if !m.Int64UpDownCounter.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Int64UpDownCounter.Add(ctx, incr)
return
}
- o := addOptPool.Get().(*[]metric.AddOption)
- defer func() {
- *o = (*o)[:0]
- addOptPool.Put(o)
- }()
+ o := metricpool.AddOptions()
+ defer metricpool.PutAddOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Int64UpDownCounter.Add(ctx, incr, *o...)
@@ -1198,6 +1393,94 @@ func (ServerActiveRequests) AttrServerPort(val int) attribute.KeyValue {
return attribute.Int("server.port", val)
}
+// ServerActiveRequestsObservable is an instrument used to record metric values
+// conforming to the "http.server.active_requests" semantic conventions. It
+// represents the number of active HTTP server requests.
+type ServerActiveRequestsObservable struct {
+ metric.Int64ObservableUpDownCounter
+}
+
+var newServerActiveRequestsObservableOpts = []metric.Int64ObservableUpDownCounterOption{
+ metric.WithDescription("Number of active HTTP server requests."),
+ metric.WithUnit("{request}"),
+}
+
+// NewServerActiveRequestsObservable returns a new ServerActiveRequestsObservable
+// instrument.
+func NewServerActiveRequestsObservable(
+ m metric.Meter,
+ opt ...metric.Int64ObservableUpDownCounterOption,
+) (ServerActiveRequestsObservable, error) {
+ // Check if the meter is nil.
+ if m == nil {
+ return ServerActiveRequestsObservable{noop.Int64ObservableUpDownCounter{}}, nil
+ }
+
+ if len(opt) == 0 {
+ opt = newServerActiveRequestsObservableOpts
+ } else {
+ opt = append(opt, newServerActiveRequestsObservableOpts...)
+ }
+
+ i, err := m.Int64ObservableUpDownCounter(
+ "http.server.active_requests",
+ opt...,
+ )
+ if err != nil {
+ return ServerActiveRequestsObservable{noop.Int64ObservableUpDownCounter{}}, err
+ }
+ return ServerActiveRequestsObservable{i}, nil
+}
+
+// Inst returns the underlying metric instrument.
+func (m ServerActiveRequestsObservable) Inst() metric.Int64ObservableUpDownCounter {
+ return m.Int64ObservableUpDownCounter
+}
+
+// Name returns the semantic convention name of the instrument.
+func (ServerActiveRequestsObservable) Name() string {
+ return "http.server.active_requests"
+}
+
+// Unit returns the semantic convention unit of the instrument
+func (ServerActiveRequestsObservable) Unit() string {
+ return "{request}"
+}
+
+// Description returns the semantic convention description of the instrument
+func (ServerActiveRequestsObservable) Description() string {
+ return "Number of active HTTP server requests."
+}
+
+// AttrRequestMethod returns a required attribute for the "http.request.method"
+// semantic convention. It represents the HTTP request method.
+func (ServerActiveRequestsObservable) AttrRequestMethod(val RequestMethodAttr) attribute.KeyValue {
+ return attribute.String("http.request.method", string(val))
+}
+
+// AttrURLScheme returns a required attribute for the "url.scheme" semantic
+// convention. It represents the [URI scheme] component identifying the used
+// protocol.
+//
+// [URI scheme]: https://www.rfc-editor.org/rfc/rfc3986#section-3.1
+func (ServerActiveRequestsObservable) AttrURLScheme(val string) attribute.KeyValue {
+ return attribute.String("url.scheme", val)
+}
+
+// AttrServerAddress returns an optional attribute for the "server.address"
+// semantic convention. It represents the name of the local HTTP server that
+// received the request.
+func (ServerActiveRequestsObservable) AttrServerAddress(val string) attribute.KeyValue {
+ return attribute.String("server.address", val)
+}
+
+// AttrServerPort returns an optional attribute for the "server.port" semantic
+// convention. It represents the port of the local HTTP server that received the
+// request.
+func (ServerActiveRequestsObservable) AttrServerPort(val int) attribute.KeyValue {
+ return attribute.Int("server.port", val)
+}
+
// ServerRequestBodySize is an instrument used to record metric values conforming
// to the "http.server.request.body.size" semantic conventions. It represents the
// size of HTTP server request bodies.
@@ -1279,6 +1562,9 @@ func (m ServerRequestBodySize) Record(
urlScheme string,
attrs ...attribute.KeyValue,
) {
+ if !m.Int64Histogram.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Int64Histogram.Record(ctx, val, metric.WithAttributes(
attribute.String("http.request.method", string(requestMethod)),
@@ -1287,11 +1573,8 @@ func (m ServerRequestBodySize) Record(
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(
*o,
@@ -1316,16 +1599,16 @@ func (m ServerRequestBodySize) Record(
//
// [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length
func (m ServerRequestBodySize) RecordSet(ctx context.Context, val int64, set attribute.Set) {
+ if !m.Int64Histogram.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Int64Histogram.Record(ctx, val)
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Int64Histogram.Record(ctx, val, *o...)
@@ -1402,6 +1685,7 @@ type ServerRequestDuration struct {
var newServerRequestDurationOpts = []metric.Float64HistogramOption{
metric.WithDescription("Duration of HTTP server requests."),
metric.WithUnit("s"),
+ metric.WithExplicitBucketBoundaries([]float64{0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10}...),
}
// NewServerRequestDuration returns a new ServerRequestDuration instrument.
@@ -1466,6 +1750,9 @@ func (m ServerRequestDuration) Record(
urlScheme string,
attrs ...attribute.KeyValue,
) {
+ if !m.Float64Histogram.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Float64Histogram.Record(ctx, val, metric.WithAttributes(
attribute.String("http.request.method", string(requestMethod)),
@@ -1474,11 +1761,8 @@ func (m ServerRequestDuration) Record(
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(
*o,
@@ -1496,16 +1780,16 @@ func (m ServerRequestDuration) Record(
// RecordSet records val to the current distribution for set.
func (m ServerRequestDuration) RecordSet(ctx context.Context, val float64, set attribute.Set) {
+ if !m.Float64Histogram.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Float64Histogram.Record(ctx, val)
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Float64Histogram.Record(ctx, val, *o...)
@@ -1653,6 +1937,9 @@ func (m ServerResponseBodySize) Record(
urlScheme string,
attrs ...attribute.KeyValue,
) {
+ if !m.Int64Histogram.Enabled(ctx) {
+ return
+ }
if len(attrs) == 0 {
m.Int64Histogram.Record(ctx, val, metric.WithAttributes(
attribute.String("http.request.method", string(requestMethod)),
@@ -1661,11 +1948,8 @@ func (m ServerResponseBodySize) Record(
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(
*o,
@@ -1690,16 +1974,16 @@ func (m ServerResponseBodySize) Record(
//
// [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length
func (m ServerResponseBodySize) RecordSet(ctx context.Context, val int64, set attribute.Set) {
+ if !m.Int64Histogram.Enabled(ctx) {
+ return
+ }
if set.Len() == 0 {
m.Int64Histogram.Record(ctx, val)
return
}
- o := recOptPool.Get().(*[]metric.RecordOption)
- defer func() {
- *o = (*o)[:0]
- recOptPool.Put(o)
- }()
+ o := metricpool.RecordOptions()
+ defer metricpool.PutRecordOptions(o)
*o = append(*o, metric.WithAttributeSet(set))
m.Int64Histogram.Record(ctx, val, *o...)
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/schema.go b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/schema.go
similarity index 68%
rename from vendor/go.opentelemetry.io/otel/semconv/v1.40.0/schema.go
rename to vendor/go.opentelemetry.io/otel/semconv/v1.43.0/schema.go
index a07ffa336..ce5f5f5c5 100644
--- a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/schema.go
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.43.0/schema.go
@@ -1,9 +1,11 @@
+// Code generated from semantic convention specification. DO NOT EDIT.
+
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0"
+package semconv
// SchemaURL is the schema URL that matches the version of the semantic conventions
// that this package defines. Semconv packages starting from v1.4.0 must declare
// non-empty schema URL in the form https://opentelemetry.io/schemas/
-const SchemaURL = "https://opentelemetry.io/schemas/1.40.0"
+const SchemaURL = "https://opentelemetry.io/schemas/1.43.0"
diff --git a/vendor/go.opentelemetry.io/otel/trace.go b/vendor/go.opentelemetry.io/otel/trace.go
index 6836c6547..9c1567a2e 100644
--- a/vendor/go.opentelemetry.io/otel/trace.go
+++ b/vendor/go.opentelemetry.io/otel/trace.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otel // import "go.opentelemetry.io/otel"
+package otel
import (
"go.opentelemetry.io/otel/internal/global"
diff --git a/vendor/go.opentelemetry.io/otel/trace/auto.go b/vendor/go.opentelemetry.io/otel/trace/auto.go
index 9316fd0ac..be4a96445 100644
--- a/vendor/go.opentelemetry.io/otel/trace/auto.go
+++ b/vendor/go.opentelemetry.io/otel/trace/auto.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import (
"context"
@@ -20,7 +20,7 @@ import (
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/codes"
- semconv "go.opentelemetry.io/otel/semconv/v1.40.0"
+ semconv "go.opentelemetry.io/otel/semconv/v1.43.0"
"go.opentelemetry.io/otel/trace/embedded"
"go.opentelemetry.io/otel/trace/internal/telemetry"
)
@@ -314,6 +314,14 @@ func convAttrValue(value attribute.Value) telemetry.Value {
case attribute.STRING:
v := truncate(maxSpan.AttrValueLen, value.AsString())
return telemetry.StringValue(v)
+ case attribute.BYTESLICE:
+ // len(v.AsString()) is identical to len(v.AsByteSlice()) but
+ // avoids allocating the full slice before truncation.
+ s := value.AsString()
+ if maxSpan.AttrValueLen >= 0 && len(s) > maxSpan.AttrValueLen {
+ return telemetry.BytesValue([]byte(s[:maxSpan.AttrValueLen]))
+ }
+ return telemetry.BytesValue([]byte(s))
case attribute.BOOLSLICE:
slice := value.AsBoolSlice()
out := make([]telemetry.Value, 0, len(slice))
@@ -343,11 +351,28 @@ func convAttrValue(value attribute.Value) telemetry.Value {
out = append(out, telemetry.StringValue(v))
}
return telemetry.SliceValue(out...)
+ case attribute.SLICE:
+ slice := value.AsSlice()
+ out := make([]telemetry.Value, 0, len(slice))
+ for _, v := range slice {
+ out = append(out, convAttrValue(v))
+ }
+ return telemetry.SliceValue(out...)
+ case attribute.MAP:
+ kvs := value.AsMap()
+ out := make([]telemetry.Attr, 0, len(kvs))
+ for _, kv := range kvs {
+ out = append(out, telemetry.Attr{
+ Key: string(kv.Key),
+ Value: convAttrValue(kv.Value),
+ })
+ }
+ return telemetry.MapValue(out...)
}
return telemetry.Value{}
}
-// truncate returns a truncated version of s such that it contains less than
+// truncate returns a truncated version of s such that it contains at most
// the limit number of characters. Truncation is applied by returning the limit
// number of valid characters contained in s.
//
@@ -356,7 +381,7 @@ func convAttrValue(value attribute.Value) telemetry.Value {
// UTF-8 is supported. When truncating, all invalid characters are dropped
// before applying truncation.
//
-// If s already contains less than the limit number of bytes, it is returned
+// If s already contains at most the limit number of bytes, it is returned
// unchanged. No invalid characters are removed.
func truncate(limit int, s string) string {
// This prioritize performance in the following order based on the most
@@ -382,6 +407,10 @@ func truncate(limit int, s string) string {
continue
}
+ // A zero limit also truncates a leading invalid byte or U+FFFD.
+ if limit == 0 {
+ return ""
+ }
_, size := utf8.DecodeRuneInString(s[i:])
if size == 1 {
// Invalid encoding.
@@ -390,6 +419,12 @@ func truncate(limit int, s string) string {
s = s[i:]
break
}
+
+ // A valid U+FFFD still consumes one character of the limit.
+ count++
+ if count > limit {
+ return s[:i]
+ }
}
// Fast-path, no invalid input.
@@ -463,7 +498,8 @@ func (s *autoSpan) RecordError(err error, opts ...EventOption) {
cfg := NewEventConfig(opts...)
attrs := cfg.Attributes()
- attrs = append(attrs,
+ attrs = append(
+ attrs,
semconv.ExceptionType(typeStr(err)),
semconv.ExceptionMessage(err.Error()),
)
diff --git a/vendor/go.opentelemetry.io/otel/trace/config.go b/vendor/go.opentelemetry.io/otel/trace/config.go
index d9ecef1ca..862ecc898 100644
--- a/vendor/go.opentelemetry.io/otel/trace/config.go
+++ b/vendor/go.opentelemetry.io/otel/trace/config.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import (
"slices"
@@ -34,10 +34,17 @@ func (t *TracerConfig) SchemaURL() string {
return t.schemaURL
}
+type experimentalOption interface {
+ Experimental()
+}
+
// NewTracerConfig applies all the options to a returned TracerConfig.
func NewTracerConfig(options ...TracerOption) TracerConfig {
var config TracerConfig
for _, option := range options {
+ if _, ok := option.(experimentalOption); ok {
+ continue
+ }
config = option.apply(config)
}
return config
@@ -103,6 +110,9 @@ func (cfg *SpanConfig) SpanKind() SpanKind {
func NewSpanStartConfig(options ...SpanStartOption) SpanConfig {
var c SpanConfig
for _, option := range options {
+ if _, ok := option.(experimentalOption); ok {
+ continue
+ }
c = option.applySpanStart(c)
}
return c
@@ -115,6 +125,9 @@ func NewSpanStartConfig(options ...SpanStartOption) SpanConfig {
func NewSpanEndConfig(options ...SpanEndOption) SpanConfig {
var c SpanConfig
for _, option := range options {
+ if _, ok := option.(experimentalOption); ok {
+ continue
+ }
c = option.applySpanEnd(c)
}
return c
@@ -167,6 +180,9 @@ func (cfg *EventConfig) StackTrace() bool {
func NewEventConfig(options ...EventOption) EventConfig {
var c EventConfig
for _, option := range options {
+ if _, ok := option.(experimentalOption); ok {
+ continue
+ }
c = option.applyEvent(c)
}
if c.timestamp.IsZero() {
diff --git a/vendor/go.opentelemetry.io/otel/trace/context.go b/vendor/go.opentelemetry.io/otel/trace/context.go
index 8c45a7107..89927eda6 100644
--- a/vendor/go.opentelemetry.io/otel/trace/context.go
+++ b/vendor/go.opentelemetry.io/otel/trace/context.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import "context"
diff --git a/vendor/go.opentelemetry.io/otel/trace/doc.go b/vendor/go.opentelemetry.io/otel/trace/doc.go
index cdbf41d6d..57de8f348 100644
--- a/vendor/go.opentelemetry.io/otel/trace/doc.go
+++ b/vendor/go.opentelemetry.io/otel/trace/doc.go
@@ -116,4 +116,4 @@ It is strongly recommended that authors only embed
That implementation is the only one OpenTelemetry authors can guarantee will
fully implement all the API interfaces when a user updates their API.
*/
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
diff --git a/vendor/go.opentelemetry.io/otel/trace/embedded/embedded.go b/vendor/go.opentelemetry.io/otel/trace/embedded/embedded.go
index 3e359a00b..59d8a510b 100644
--- a/vendor/go.opentelemetry.io/otel/trace/embedded/embedded.go
+++ b/vendor/go.opentelemetry.io/otel/trace/embedded/embedded.go
@@ -11,7 +11,7 @@
// the API package).
//
// [OpenTelemetry trace API]: https://pkg.go.dev/go.opentelemetry.io/otel/trace
-package embedded // import "go.opentelemetry.io/otel/trace/embedded"
+package embedded
// TracerProvider is embedded in
// [go.opentelemetry.io/otel/trace.TracerProvider].
diff --git a/vendor/go.opentelemetry.io/otel/trace/hex.go b/vendor/go.opentelemetry.io/otel/trace/hex.go
index 1cbef1d4b..5f156b0dc 100644
--- a/vendor/go.opentelemetry.io/otel/trace/hex.go
+++ b/vendor/go.opentelemetry.io/otel/trace/hex.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
const (
// hexLU is a hex lookup table of the 16 lowercase hex digits.
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go
index ff0f6eac6..9503318eb 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
// Attr is a key-value pair.
type Attr struct {
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/doc.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/doc.go
index 5debe90bb..949e2165c 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/doc.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/doc.go
@@ -5,4 +5,4 @@
Package telemetry provides a lightweight representations of OpenTelemetry
telemetry that is compatible with the OTLP JSON protobuf encoding.
*/
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go
index bea56f2e7..3a6d6b87a 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
import (
"encoding/hex"
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go
index f5e3a8cec..5bb3b16c7 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
import (
"encoding/json"
@@ -41,7 +41,7 @@ func (i *protoInt64) UnmarshalJSON(data []byte) error {
// strings or integers.
type protoUint64 uint64
-// Int64 returns the protoUint64 as a uint64.
+// Uint64 returns the protoUint64 as a uint64.
func (i *protoUint64) Uint64() uint64 { return uint64(*i) }
// UnmarshalJSON decodes both strings and integers.
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/resource.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/resource.go
index 1798a702d..cecad8bae 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/resource.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/resource.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
import (
"bytes"
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/scope.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/scope.go
index c2b4c635b..b6f2e28d4 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/scope.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/scope.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
import (
"bytes"
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/span.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/span.go
index e7ca62c66..0da6e5fd6 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/span.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/span.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
import (
"bytes"
@@ -314,9 +314,9 @@ type SpanEvent struct {
}
// MarshalJSON encodes e into OTLP formatted JSON.
-func (e SpanEvent) MarshalJSON() ([]byte, error) {
- t := e.Time.UnixNano()
- if e.Time.IsZero() || t < 0 {
+func (se SpanEvent) MarshalJSON() ([]byte, error) {
+ t := se.Time.UnixNano()
+ if se.Time.IsZero() || t < 0 {
t = 0
}
@@ -325,7 +325,7 @@ func (e SpanEvent) MarshalJSON() ([]byte, error) {
Alias
Time uint64 `json:"timeUnixNano,omitempty"`
}{
- Alias: Alias(e),
+ Alias: Alias(se),
Time: uint64(t), // nolint: gosec // >0 checked above
})
}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/status.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/status.go
index 1039bf40c..5dac1b2cb 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/status.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/status.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
// StatusCode is the status of a Span.
//
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/traces.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/traces.go
index e5f10767c..44197b808 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/traces.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/traces.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
import (
"bytes"
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go
index cb7927b81..b7b0e8b58 100644
--- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+package telemetry
import (
"bytes"
@@ -327,7 +327,7 @@ func (v Value) String() string {
// Try to handle this as gracefully as possible.
//
// Don't panic here. The goal here is to have developers find this
- // first if a slog.Kind is is not handled. It is
+ // first if a slog.Kind is not handled. It is
// preferable to have user's open issue asking why their attributes
// have a "unhandled: " prefix than say that their code is panicking.
return fmt.Sprintf("", v.Kind())
diff --git a/vendor/go.opentelemetry.io/otel/trace/nonrecording.go b/vendor/go.opentelemetry.io/otel/trace/nonrecording.go
index c00221e7b..d672f03c2 100644
--- a/vendor/go.opentelemetry.io/otel/trace/nonrecording.go
+++ b/vendor/go.opentelemetry.io/otel/trace/nonrecording.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
// nonRecordingSpan is a minimal implementation of a Span that wraps a
// SpanContext. It performs no operations other than to return the wrapped
diff --git a/vendor/go.opentelemetry.io/otel/trace/noop.go b/vendor/go.opentelemetry.io/otel/trace/noop.go
index 400fab123..b954251b2 100644
--- a/vendor/go.opentelemetry.io/otel/trace/noop.go
+++ b/vendor/go.opentelemetry.io/otel/trace/noop.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/trace/noop/noop.go b/vendor/go.opentelemetry.io/otel/trace/noop/noop.go
index 689d220df..4f8190e41 100644
--- a/vendor/go.opentelemetry.io/otel/trace/noop/noop.go
+++ b/vendor/go.opentelemetry.io/otel/trace/noop/noop.go
@@ -10,7 +10,7 @@
// This implementation can be embedded in other implementations of the
// OpenTelemetry trace API. Doing so will mean the implementation defaults to
// no operation for methods it does not implement.
-package noop // import "go.opentelemetry.io/otel/trace/noop"
+package noop
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/trace/provider.go b/vendor/go.opentelemetry.io/otel/trace/provider.go
index ef85cb70c..891cc0b8c 100644
--- a/vendor/go.opentelemetry.io/otel/trace/provider.go
+++ b/vendor/go.opentelemetry.io/otel/trace/provider.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import "go.opentelemetry.io/otel/trace/embedded"
diff --git a/vendor/go.opentelemetry.io/otel/trace/span.go b/vendor/go.opentelemetry.io/otel/trace/span.go
index d01e79366..603b2c146 100644
--- a/vendor/go.opentelemetry.io/otel/trace/span.go
+++ b/vendor/go.opentelemetry.io/otel/trace/span.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/trace/trace.go b/vendor/go.opentelemetry.io/otel/trace/trace.go
index e3d103c4b..66b967e7d 100644
--- a/vendor/go.opentelemetry.io/otel/trace/trace.go
+++ b/vendor/go.opentelemetry.io/otel/trace/trace.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import (
"encoding/json"
@@ -134,13 +134,49 @@ func TraceIDFromHex(h string) (TraceID, error) {
if len(h) != 32 {
return [16]byte{}, errInvalidTraceIDLength
}
- var b [16]byte
- invalidMark := byte(0)
- for i := 0; i < len(h); i += 4 {
- b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]]
- b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]]
- invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]]
+ // Decoding every character at a constant index allows the compiler to
+ // eliminate the bounds checks a loop over h would retain.
+ n0, n1 := hexRev[h[0]], hexRev[h[1]]
+ n2, n3 := hexRev[h[2]], hexRev[h[3]]
+ n4, n5 := hexRev[h[4]], hexRev[h[5]]
+ n6, n7 := hexRev[h[6]], hexRev[h[7]]
+ n8, n9 := hexRev[h[8]], hexRev[h[9]]
+ n10, n11 := hexRev[h[10]], hexRev[h[11]]
+ n12, n13 := hexRev[h[12]], hexRev[h[13]]
+ n14, n15 := hexRev[h[14]], hexRev[h[15]]
+ n16, n17 := hexRev[h[16]], hexRev[h[17]]
+ n18, n19 := hexRev[h[18]], hexRev[h[19]]
+ n20, n21 := hexRev[h[20]], hexRev[h[21]]
+ n22, n23 := hexRev[h[22]], hexRev[h[23]]
+ n24, n25 := hexRev[h[24]], hexRev[h[25]]
+ n26, n27 := hexRev[h[26]], hexRev[h[27]]
+ n28, n29 := hexRev[h[28]], hexRev[h[29]]
+ n30, n31 := hexRev[h[30]], hexRev[h[31]]
+
+ b := [16]byte{
+ (n0 << 4) | n1,
+ (n2 << 4) | n3,
+ (n4 << 4) | n5,
+ (n6 << 4) | n7,
+ (n8 << 4) | n9,
+ (n10 << 4) | n11,
+ (n12 << 4) | n13,
+ (n14 << 4) | n15,
+ (n16 << 4) | n17,
+ (n18 << 4) | n19,
+ (n20 << 4) | n21,
+ (n22 << 4) | n23,
+ (n24 << 4) | n25,
+ (n26 << 4) | n27,
+ (n28 << 4) | n29,
+ (n30 << 4) | n31,
}
+
+ invalidMark := n0 | n1 | n2 | n3 | n4 | n5 | n6 | n7 |
+ n8 | n9 | n10 | n11 | n12 | n13 | n14 | n15 |
+ n16 | n17 | n18 | n19 | n20 | n21 | n22 | n23 |
+ n24 | n25 | n26 | n27 | n28 | n29 | n30 | n31
+
// If the upper 4 bits of any byte are not zero, there was an invalid hex
// character since invalid hex characters are 0xff in hexRev.
if invalidMark&0xf0 != 0 {
@@ -160,13 +196,31 @@ func SpanIDFromHex(h string) (SpanID, error) {
if len(h) != 16 {
return [8]byte{}, errInvalidSpanIDLength
}
- var b [8]byte
- invalidMark := byte(0)
- for i := 0; i < len(h); i += 4 {
- b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]]
- b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]]
- invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]]
+ // Decoding every character at a constant index allows the compiler to
+ // eliminate the bounds checks a loop over h would retain.
+ n0, n1 := hexRev[h[0]], hexRev[h[1]]
+ n2, n3 := hexRev[h[2]], hexRev[h[3]]
+ n4, n5 := hexRev[h[4]], hexRev[h[5]]
+ n6, n7 := hexRev[h[6]], hexRev[h[7]]
+ n8, n9 := hexRev[h[8]], hexRev[h[9]]
+ n10, n11 := hexRev[h[10]], hexRev[h[11]]
+ n12, n13 := hexRev[h[12]], hexRev[h[13]]
+ n14, n15 := hexRev[h[14]], hexRev[h[15]]
+
+ b := [8]byte{
+ (n0 << 4) | n1,
+ (n2 << 4) | n3,
+ (n4 << 4) | n5,
+ (n6 << 4) | n7,
+ (n8 << 4) | n9,
+ (n10 << 4) | n11,
+ (n12 << 4) | n13,
+ (n14 << 4) | n15,
}
+
+ invalidMark := n0 | n1 | n2 | n3 | n4 | n5 | n6 | n7 |
+ n8 | n9 | n10 | n11 | n12 | n13 | n14 | n15
+
// If the upper 4 bits of any byte are not zero, there was an invalid hex
// character since invalid hex characters are 0xff in hexRev.
if invalidMark&0xf0 != 0 {
diff --git a/vendor/go.opentelemetry.io/otel/trace/tracer.go b/vendor/go.opentelemetry.io/otel/trace/tracer.go
index 77952d2a0..7e6e5ee93 100644
--- a/vendor/go.opentelemetry.io/otel/trace/tracer.go
+++ b/vendor/go.opentelemetry.io/otel/trace/tracer.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import (
"context"
diff --git a/vendor/go.opentelemetry.io/otel/trace/tracestate.go b/vendor/go.opentelemetry.io/otel/trace/tracestate.go
index e9cb3fd4d..062ceb2ad 100644
--- a/vendor/go.opentelemetry.io/otel/trace/tracestate.go
+++ b/vendor/go.opentelemetry.io/otel/trace/tracestate.go
@@ -1,7 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package trace // import "go.opentelemetry.io/otel/trace"
+package trace
import (
"encoding/json"
@@ -283,7 +283,7 @@ func (ts TraceState) Walk(f func(key, value string) bool) {
// specification an error is returned with the original TraceState.
//
// If adding a new list-member means the TraceState would have more members
-// then is allowed, the new list-member will be inserted and the right-most
+// than is allowed, the new list-member will be inserted and the right-most
// list-member will be dropped in the returned TraceState.
func (ts TraceState) Insert(key, value string) (TraceState, error) {
m, err := newMember(key, value)
diff --git a/vendor/go.opentelemetry.io/otel/version.go b/vendor/go.opentelemetry.io/otel/version.go
index 1db4f47e4..29ff1801f 100644
--- a/vendor/go.opentelemetry.io/otel/version.go
+++ b/vendor/go.opentelemetry.io/otel/version.go
@@ -1,9 +1,9 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
-package otel // import "go.opentelemetry.io/otel"
+package otel
// Version is the current release version of OpenTelemetry in use.
func Version() string {
- return "1.43.0"
+ return "1.47.0"
}
diff --git a/vendor/go.opentelemetry.io/otel/versions.yaml b/vendor/go.opentelemetry.io/otel/versions.yaml
index bcc6ee78a..a0cb35f4d 100644
--- a/vendor/go.opentelemetry.io/otel/versions.yaml
+++ b/vendor/go.opentelemetry.io/otel/versions.yaml
@@ -3,7 +3,7 @@
module-sets:
stable-v1:
- version: v1.43.0
+ version: v1.47.0
modules:
- go.opentelemetry.io/otel
- go.opentelemetry.io/otel/bridge/opencensus
@@ -17,26 +17,31 @@ module-sets:
- go.opentelemetry.io/otel/exporters/stdout/stdoutmetric
- go.opentelemetry.io/otel/exporters/stdout/stdouttrace
- go.opentelemetry.io/otel/exporters/zipkin
+ - go.opentelemetry.io/otel/log
- go.opentelemetry.io/otel/metric
- go.opentelemetry.io/otel/sdk
+ - go.opentelemetry.io/otel/sdk/log
- go.opentelemetry.io/otel/sdk/metric
- go.opentelemetry.io/otel/trace
experimental-metrics:
- version: v0.65.0
+ version: v0.69.0
modules:
- go.opentelemetry.io/otel/exporters/prometheus
+ - go.opentelemetry.io/otel/metric/x
experimental-logs:
- version: v0.19.0
+ version: v0.23.0
modules:
- - go.opentelemetry.io/otel/log
- go.opentelemetry.io/otel/log/logtest
- - go.opentelemetry.io/otel/sdk/log
- go.opentelemetry.io/otel/sdk/log/logtest
- go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc
- go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp
- go.opentelemetry.io/otel/exporters/stdout/stdoutlog
+ experimental-traces:
+ version: v0.1.0
+ modules:
+ - go.opentelemetry.io/otel/sdk/trace/x
experimental-schema:
- version: v0.0.16
+ version: v0.0.19
modules:
- go.opentelemetry.io/otel/schema
excluded-modules:
@@ -55,6 +60,9 @@ modules:
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc:
version-refs:
- ./internal/version.go
+ go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp:
+ version-refs:
+ - ./internal/version.go
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc:
version-refs:
- ./internal/version.go
diff --git a/vendor/go.yaml.in/yaml/v3/parserc.go b/vendor/go.yaml.in/yaml/v3/parserc.go
index 25fe82363..f35829db4 100644
--- a/vendor/go.yaml.in/yaml/v3/parserc.go
+++ b/vendor/go.yaml.in/yaml/v3/parserc.go
@@ -226,9 +226,9 @@ func yaml_parser_state_machine(parser *yaml_parser_t, event *yaml_event_t) bool
}
// Parse the production:
-// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END
//
-// ************
+// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END
+// ************
func yaml_parser_parse_stream_start(parser *yaml_parser_t, event *yaml_event_t) bool {
token := peek_token(parser)
if token == nil {
@@ -249,13 +249,11 @@ func yaml_parser_parse_stream_start(parser *yaml_parser_t, event *yaml_event_t)
}
// Parse the productions:
-// implicit_document ::= block_node DOCUMENT-END*
-//
-// *
//
-// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*
-//
-// *************************
+// implicit_document ::= block_node DOCUMENT-END*
+// *
+// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*
+// *************************
func yaml_parser_parse_document_start(parser *yaml_parser_t, event *yaml_event_t, implicit bool) bool {
token := peek_token(parser)
@@ -359,9 +357,9 @@ func yaml_parser_parse_document_start(parser *yaml_parser_t, event *yaml_event_t
}
// Parse the productions:
-// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*
//
-// ***********
+// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*
+// ***********
func yaml_parser_parse_document_content(parser *yaml_parser_t, event *yaml_event_t) bool {
token := peek_token(parser)
if token == nil {
@@ -382,11 +380,10 @@ func yaml_parser_parse_document_content(parser *yaml_parser_t, event *yaml_event
}
// Parse the productions:
-// implicit_document ::= block_node DOCUMENT-END*
-//
-// *************
//
-// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*
+// implicit_document ::= block_node DOCUMENT-END*
+// *************
+// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*
func yaml_parser_parse_document_end(parser *yaml_parser_t, event *yaml_event_t) bool {
token := peek_token(parser)
if token == nil {
@@ -432,42 +429,32 @@ func yaml_parser_set_event_comments(parser *yaml_parser_t, event *yaml_event_t)
}
// Parse the productions:
-// block_node_or_indentless_sequence ::=
-//
-// ALIAS
-// *****
-// | properties (block_content | indentless_block_sequence)?
-// ********** *
-// | block_content | indentless_block_sequence
-// *
-//
-// block_node ::= ALIAS
-//
-// *****
-// | properties block_content?
-// ********** *
-// | block_content
-// *
-//
-// flow_node ::= ALIAS
-//
-// *****
-// | properties flow_content?
-// ********** *
-// | flow_content
-// *
-//
-// properties ::= TAG ANCHOR? | ANCHOR TAG?
-//
-// *************************
-//
-// block_content ::= block_collection | flow_collection | SCALAR
-//
-// ******
//
-// flow_content ::= flow_collection | SCALAR
-//
-// ******
+// block_node_or_indentless_sequence ::=
+// ALIAS
+// *****
+// | properties (block_content | indentless_block_sequence)?
+// ********** *
+// | block_content | indentless_block_sequence
+// *
+// block_node ::= ALIAS
+// *****
+// | properties block_content?
+// ********** *
+// | block_content
+// *
+// flow_node ::= ALIAS
+// *****
+// | properties flow_content?
+// ********** *
+// | flow_content
+// *
+// properties ::= TAG ANCHOR? | ANCHOR TAG?
+// *************************
+// block_content ::= block_collection | flow_collection | SCALAR
+// ******
+// flow_content ::= flow_collection | SCALAR
+// ******
func yaml_parser_parse_node(parser *yaml_parser_t, event *yaml_event_t, block, indentless_sequence bool) bool {
//defer trace("yaml_parser_parse_node", "block:", block, "indentless_sequence:", indentless_sequence)()
@@ -697,9 +684,9 @@ func yaml_parser_parse_node(parser *yaml_parser_t, event *yaml_event_t, block, i
}
// Parse the productions:
-// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END
//
-// ******************** *********** * *********
+// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END
+// ******************** *********** * *********
func yaml_parser_parse_block_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool {
if first {
token := peek_token(parser)
@@ -755,9 +742,9 @@ func yaml_parser_parse_block_sequence_entry(parser *yaml_parser_t, event *yaml_e
}
// Parse the productions:
-// indentless_sequence ::= (BLOCK-ENTRY block_node?)+
//
-// *********** *
+// indentless_sequence ::= (BLOCK-ENTRY block_node?)+
+// *********** *
func yaml_parser_parse_indentless_sequence_entry(parser *yaml_parser_t, event *yaml_event_t) bool {
token := peek_token(parser)
if token == nil {
@@ -821,15 +808,15 @@ func yaml_parser_split_stem_comment(parser *yaml_parser_t, stem_len int) {
}
// Parse the productions:
-// block_mapping ::= BLOCK-MAPPING_START
//
-// *******************
-// ((KEY block_node_or_indentless_sequence?)?
-// *** *
-// (VALUE block_node_or_indentless_sequence?)?)*
+// block_mapping ::= BLOCK-MAPPING_START
+// *******************
+// ((KEY block_node_or_indentless_sequence?)?
+// *** *
+// (VALUE block_node_or_indentless_sequence?)?)*
//
-// BLOCK-END
-// *********
+// BLOCK-END
+// *********
func yaml_parser_parse_block_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool {
if first {
token := peek_token(parser)
@@ -896,13 +883,14 @@ func yaml_parser_parse_block_mapping_key(parser *yaml_parser_t, event *yaml_even
}
// Parse the productions:
-// block_mapping ::= BLOCK-MAPPING_START
//
-// ((KEY block_node_or_indentless_sequence?)?
+// block_mapping ::= BLOCK-MAPPING_START
+//
+// ((KEY block_node_or_indentless_sequence?)?
//
-// (VALUE block_node_or_indentless_sequence?)?)*
-// ***** *
-// BLOCK-END
+// (VALUE block_node_or_indentless_sequence?)?)*
+// ***** *
+// BLOCK-END
func yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool {
token := peek_token(parser)
if token == nil {
@@ -929,19 +917,17 @@ func yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_ev
}
// Parse the productions:
-// flow_sequence ::= FLOW-SEQUENCE-START
-//
-// *******************
-// (flow_sequence_entry FLOW-ENTRY)*
-// * **********
-// flow_sequence_entry?
-// *
-// FLOW-SEQUENCE-END
-// *****************
//
-// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
-//
-// *
+// flow_sequence ::= FLOW-SEQUENCE-START
+// *******************
+// (flow_sequence_entry FLOW-ENTRY)*
+// * **********
+// flow_sequence_entry?
+// *
+// FLOW-SEQUENCE-END
+// *****************
+// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+// *
func yaml_parser_parse_flow_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool {
if first {
token := peek_token(parser)
@@ -1005,9 +991,9 @@ func yaml_parser_parse_flow_sequence_entry(parser *yaml_parser_t, event *yaml_ev
}
// Parse the productions:
-// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
//
-// *** *
+// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+// *** *
func yaml_parser_parse_flow_sequence_entry_mapping_key(parser *yaml_parser_t, event *yaml_event_t) bool {
token := peek_token(parser)
if token == nil {
@@ -1026,9 +1012,9 @@ func yaml_parser_parse_flow_sequence_entry_mapping_key(parser *yaml_parser_t, ev
}
// Parse the productions:
-// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
//
-// ***** *
+// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+// ***** *
func yaml_parser_parse_flow_sequence_entry_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool {
token := peek_token(parser)
if token == nil {
@@ -1050,9 +1036,9 @@ func yaml_parser_parse_flow_sequence_entry_mapping_value(parser *yaml_parser_t,
}
// Parse the productions:
-// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
//
-// *
+// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+// *
func yaml_parser_parse_flow_sequence_entry_mapping_end(parser *yaml_parser_t, event *yaml_event_t) bool {
token := peek_token(parser)
if token == nil {
@@ -1068,18 +1054,17 @@ func yaml_parser_parse_flow_sequence_entry_mapping_end(parser *yaml_parser_t, ev
}
// Parse the productions:
-// flow_mapping ::= FLOW-MAPPING-START
-//
-// ******************
-// (flow_mapping_entry FLOW-ENTRY)*
-// * **********
-// flow_mapping_entry?
-// ******************
-// FLOW-MAPPING-END
-// ****************
//
-// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
-// - *** *
+// flow_mapping ::= FLOW-MAPPING-START
+// ******************
+// (flow_mapping_entry FLOW-ENTRY)*
+// * **********
+// flow_mapping_entry?
+// ******************
+// FLOW-MAPPING-END
+// ****************
+// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+// * *** *
func yaml_parser_parse_flow_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool {
if first {
token := peek_token(parser)
@@ -1144,8 +1129,9 @@ func yaml_parser_parse_flow_mapping_key(parser *yaml_parser_t, event *yaml_event
}
// Parse the productions:
-// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
-// - ***** *
+//
+// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+// * ***** *
func yaml_parser_parse_flow_mapping_value(parser *yaml_parser_t, event *yaml_event_t, empty bool) bool {
token := peek_token(parser)
if token == nil {
diff --git a/vendor/go.yaml.in/yaml/v3/yamlh.go b/vendor/go.yaml.in/yaml/v3/yamlh.go
index f59aa40f6..07c442361 100644
--- a/vendor/go.yaml.in/yaml/v3/yamlh.go
+++ b/vendor/go.yaml.in/yaml/v3/yamlh.go
@@ -433,21 +433,19 @@ type yaml_document_t struct {
// The prototype of a read handler.
//
-// The read handler is called when the parser needs to read more bytes from the
-// source. The handler should write not more than size bytes to the buffer.
-// The number of written bytes should be set to the size_read variable.
+// The read handler is called when the parser needs to read more bytes from the
+// source. The handler should write not more than size bytes to the buffer.
+// The number of written bytes should be set to the size_read variable.
//
-// [in,out] data A pointer to an application data specified by
+// [in,out] data A pointer to an application data specified by
+// yaml_parser_set_input().
+// [out] buffer The buffer to write the data from the source.
+// [in] size The size of the buffer.
+// [out] size_read The actual number of bytes read from the source.
//
-// yaml_parser_set_input().
-//
-// [out] buffer The buffer to write the data from the source.
-// [in] size The size of the buffer.
-// [out] size_read The actual number of bytes read from the source.
-//
-// On success, the handler should return 1. If the handler failed,
-// the returned value should be 0. On EOF, the handler should set the
-// size_read to 0 and return 1.
+// On success, the handler should return 1. If the handler failed,
+// the returned value should be 0. On EOF, the handler should set the
+// size_read to 0 and return 1.
type yaml_read_handler_t func(parser *yaml_parser_t, buffer []byte) (n int, err error)
// This structure holds information about a potential simple key.
@@ -655,19 +653,17 @@ type yaml_comment_t struct {
// The prototype of a write handler.
//
-// The write handler is called when the emitter needs to flush the accumulated
-// characters to the output. The handler should write @a size bytes of the
-// @a buffer to the output.
-//
-// @param[in,out] data A pointer to an application data specified by
-//
-// yaml_emitter_set_output().
+// The write handler is called when the emitter needs to flush the accumulated
+// characters to the output. The handler should write @a size bytes of the
+// @a buffer to the output.
//
-// @param[in] buffer The buffer with bytes to be written.
-// @param[in] size The size of the buffer.
+// @param[in,out] data A pointer to an application data specified by
+// yaml_emitter_set_output().
+// @param[in] buffer The buffer with bytes to be written.
+// @param[in] size The size of the buffer.
//
-// @returns On success, the handler should return @c 1. If the handler failed,
-// the returned value should be @c 0.
+// @returns On success, the handler should return @c 1. If the handler failed,
+// the returned value should be @c 0.
type yaml_write_handler_t func(emitter *yaml_emitter_t, buffer []byte) error
type yaml_emitter_state_t int
diff --git a/vendor/golang.org/x/crypto/chacha20/chacha_loong64.go b/vendor/golang.org/x/crypto/chacha20/chacha_loong64.go
new file mode 100644
index 000000000..9679f9ee0
--- /dev/null
+++ b/vendor/golang.org/x/crypto/chacha20/chacha_loong64.go
@@ -0,0 +1,22 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build gc && !purego
+
+package chacha20
+
+import "golang.org/x/sys/cpu"
+
+const bufSize = 256
+
+//go:noescape
+func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32)
+
+func (c *Cipher) xorKeyStreamBlocks(dst, src []byte) {
+ if cpu.Loong64.HasLSX {
+ xorKeyStreamVX(dst, src, &c.key, &c.nonce, &c.counter)
+ } else {
+ c.xorKeyStreamBlocksGeneric(dst, src)
+ }
+}
diff --git a/vendor/golang.org/x/crypto/chacha20/chacha_loong64.s b/vendor/golang.org/x/crypto/chacha20/chacha_loong64.s
new file mode 100644
index 000000000..e377b4327
--- /dev/null
+++ b/vendor/golang.org/x/crypto/chacha20/chacha_loong64.s
@@ -0,0 +1,342 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// derived from chacha_arm64.s
+
+//go:build gc && !purego
+
+#include "textflag.h"
+
+DATA ·constants+0x00(SB)/4, $0x61707865
+DATA ·constants+0x04(SB)/4, $0x3320646e
+DATA ·constants+0x08(SB)/4, $0x79622d32
+DATA ·constants+0x0c(SB)/4, $0x6b206574
+GLOBL ·constants(SB), NOPTR|RODATA, $32
+
+DATA ·incRotMatrix+0x00(SB)/4, $0x00000000
+DATA ·incRotMatrix+0x04(SB)/4, $0x00000001
+DATA ·incRotMatrix+0x08(SB)/4, $0x00000002
+DATA ·incRotMatrix+0x0c(SB)/4, $0x00000003
+GLOBL ·incRotMatrix(SB), NOPTR|RODATA, $32
+
+#define NUM_ROUNDS 10
+
+// func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32)
+TEXT ·xorKeyStreamVX(SB), NOSPLIT, $0
+ MOVV dst+0(FP), R4
+ MOVV src+24(FP), R5
+ MOVV src_len+32(FP), R6
+ MOVV key+48(FP), R7
+ MOVV nonce+56(FP), R8
+ MOVV counter+64(FP), R9
+
+ MOVV $·constants(SB), R10
+ MOVV $·incRotMatrix(SB), R11
+
+ MOVW (R9), R12
+
+loop:
+ MOVV $NUM_ROUNDS, R15
+ // load 4-32bit data from incRotMatrix added to counter
+ VMOVQ (R11), V30
+
+ // load contants
+ VMOVQ (R10), V0.W4
+ VMOVQ 4(R10), V1.W4
+ VMOVQ 8(R10), V2.W4
+ VMOVQ 12(R10), V3.W4
+
+ // load keys
+ VMOVQ (R7), V4.W4
+ VMOVQ 4(R7), V5.W4
+ VMOVQ 8(R7), V6.W4
+ VMOVQ 12(R7), V7.W4
+ VMOVQ 16(R7), V8.W4
+ VMOVQ 20(R7), V9.W4
+ VMOVQ 24(R7), V10.W4
+ VMOVQ 28(R7), V11.W4
+
+ // load counter + nonce
+ VMOVQ (R9), V12.W4
+
+ VMOVQ (R8), V13.W4
+ VMOVQ 4(R8), V14.W4
+ VMOVQ 8(R8), V15.W4
+
+ // update counter
+ VADDW V30, V12, V12
+
+chacha:
+ // V0..V3 += V4..V7
+ // V12..V15 <<<= ((V12..V15 XOR V0..V3), 16)
+ VADDW V0, V4, V0
+ VADDW V1, V5, V1
+ VADDW V2, V6, V2
+ VADDW V3, V7, V3
+ VXORV V12, V0, V12
+ VXORV V13, V1, V13
+ VXORV V14, V2, V14
+ VXORV V15, V3, V15
+ VROTRW $16, V12, V12
+ VROTRW $16, V13, V13
+ VROTRW $16, V14, V14
+ VROTRW $16, V15, V15
+
+ // V8..V11 += V12..V15
+ // V4..V7 <<<= ((V4..V7 XOR V8..V11), 12)
+ VADDW V8, V12, V8
+ VADDW V9, V13, V9
+ VADDW V10, V14, V10
+ VADDW V11, V15, V11
+ VXORV V4, V8, V4
+ VXORV V5, V9, V5
+ VXORV V6, V10, V6
+ VXORV V7, V11, V7
+ VROTRW $20, V4, V4
+ VROTRW $20, V5, V5
+ VROTRW $20, V6, V6
+ VROTRW $20, V7, V7
+
+ // V0..V3 += V4..V7
+ // V12..V15 <<<= ((V12..V15 XOR V0..V3), 8)
+ VADDW V0, V4, V0
+ VADDW V1, V5, V1
+ VADDW V2, V6, V2
+ VADDW V3, V7, V3
+ VXORV V12, V0, V12
+ VXORV V13, V1, V13
+ VXORV V14, V2, V14
+ VXORV V15, V3, V15
+ VROTRW $24, V12, V12
+ VROTRW $24, V13, V13
+ VROTRW $24, V14, V14
+ VROTRW $24, V15, V15
+
+ // V8..V11 += V12..V15
+ // V4..V7 <<<= ((V4..V7 XOR V8..V11), 7)
+ VADDW V12, V8, V8
+ VADDW V13, V9, V9
+ VADDW V14, V10, V10
+ VADDW V15, V11, V11
+ VXORV V4, V8, V4
+ VXORV V5, V9, V5
+ VXORV V6, V10, V6
+ VXORV V7, V11, V7
+ VROTRW $25, V4, V4
+ VROTRW $25, V5, V5
+ VROTRW $25, V6, V6
+ VROTRW $25, V7, V7
+
+ // V0..V3 += V5..V7, V4
+ // V15,V12-V14 <<<= ((V15,V12-V14 XOR V0..V3), 16)
+ VADDW V0, V5, V0
+ VADDW V1, V6, V1
+ VADDW V2, V7, V2
+ VADDW V3, V4, V3
+ VXORV V15, V0, V15
+ VXORV V12, V1, V12
+ VXORV V13, V2, V13
+ VXORV V14, V3, V14
+ VROTRW $16, V15, V15
+ VROTRW $16, V12, V12
+ VROTRW $16, V13, V13
+ VROTRW $16, V14, V14
+
+ // V10,V11,V8,V9 += V15,V12,V13,V14
+ // V5,V6,V7,V4 <<<= ((V5,V6,V7,V4 XOR V10,V11,V8,V9), 12)
+ VADDW V10, V15, V10
+ VADDW V11, V12, V11
+ VADDW V8, V13, V8
+ VADDW V9, V14, V9
+ VXORV V5, V10, V5
+ VXORV V6, V11, V6
+ VXORV V7, V8, V7
+ VXORV V4, V9, V4
+ VROTRW $20, V5, V5
+ VROTRW $20, V6, V6
+ VROTRW $20, V7, V7
+ VROTRW $20, V4, V4
+
+ // V0..V3 += V5..V7, V4
+ // V15,V12-V14 <<<= ((V15,V12-V14 XOR V0..V3), 8)
+ VADDW V5, V0, V0
+ VADDW V6, V1, V1
+ VADDW V7, V2, V2
+ VADDW V4, V3, V3
+ VXORV V15, V0, V15
+ VXORV V12, V1, V12
+ VXORV V13, V2, V13
+ VXORV V14, V3, V14
+ VROTRW $24, V15, V15
+ VROTRW $24, V12, V12
+ VROTRW $24, V13, V13
+ VROTRW $24, V14, V14
+
+ // V10,V11,V8,V9 += V15,V12,V13,V14
+ // V5,V6,V7,V4 <<<= ((V5,V6,V7,V4 XOR V10,V11,V8,V9), 7)
+ VADDW V15, V10, V10
+ VADDW V12, V11, V11
+ VADDW V13, V8, V8
+ VADDW V14, V9, V9
+ VXORV V5, V10, V5
+ VXORV V6, V11, V6
+ VXORV V7, V8, V7
+ VXORV V4, V9, V4
+ VROTRW $25, V5, V5
+ VROTRW $25, V6, V6
+ VROTRW $25, V7, V7
+ VROTRW $25, V4, V4
+
+ SUBV $1, R15
+ BNE R15, R0, chacha
+
+ // load origin contants
+ VMOVQ (R10), V16.W4
+ VMOVQ 4(R10), V17.W4
+ VMOVQ 8(R10), V18.W4
+ VMOVQ 12(R10), V19.W4
+
+ // load origin keys
+ VMOVQ (R7), V20.W4
+ VMOVQ 4(R7), V21.W4
+ VMOVQ 8(R7), V22.W4
+ VMOVQ 12(R7), V23.W4
+ VMOVQ 16(R7), V24.W4
+ VMOVQ 20(R7), V25.W4
+ VMOVQ 24(R7), V26.W4
+ VMOVQ 28(R7), V27.W4
+
+ // add back the initial state to generate the key stream
+ VADDW V30, V12, V12 // update counter in advance to prevent V30 from being overwritten
+ VADDW V16, V0, V0
+ VADDW V17, V1, V1
+ VADDW V18, V2, V2
+ VADDW V19, V3, V3
+
+ // load origin counter + nonce
+ VMOVQ (R9), V28.W4
+ VMOVQ (R8), V29.W4
+ VMOVQ 4(R8), V30.W4
+ VMOVQ 8(R8), V31.W4
+
+ VADDW V20, V4, V4
+ VADDW V21, V5, V5
+ VADDW V22, V6, V6
+ VADDW V23, V7, V7
+ VADDW V24, V8, V8
+ VADDW V25, V9, V9
+ VADDW V26, V10, V10
+ VADDW V27, V11, V11
+ VADDW V28, V12, V12
+ VADDW V29, V13, V13
+ VADDW V30, V14, V14
+ VADDW V31, V15, V15
+
+ // shuffle
+ VILVLW V0, V1, V16
+ VILVHW V0, V1, V17
+ VILVLW V2, V3, V18
+ VILVHW V2, V3, V19
+ VILVLW V4, V5 ,V20
+ VILVHW V4, V5, V21
+ VILVLW V6, V7, V22
+ VILVHW V6, V7, V23
+ VILVLW V8, V9, V24
+ VILVHW V8, V9, V25
+ VILVLW V10, V11, V26
+ VILVHW V10, V11, V27
+ VILVLW V12, V13, V28
+ VILVHW V12, V13, V29
+ VILVLW V14, V15, V30
+ VILVHW V14, V15, V31
+ VILVLV V16, V18, V0
+ VILVHV V16, V18, V4
+ VILVLV V17, V19, V8
+ VILVHV V17, V19, V12
+
+ // load src data from R5
+ VMOVQ 0(R5), V16
+ VMOVQ 16(R5), V17
+ VMOVQ 32(R5), V18
+ VMOVQ 48(R5), V19
+
+ VILVLV V20, V22, V1
+ VILVHV V20, V22, V5
+ VILVLV V21, V23, V9
+ VILVHV V21, V23, V13
+
+ VMOVQ 64(R5), V20
+ VMOVQ 80(R5), V21
+ VMOVQ 96(R5), V22
+ VMOVQ 112(R5), V23
+
+ VILVLV V24, V26, V2
+ VILVHV V24, V26, V6
+ VILVLV V25, V27, V10
+ VILVHV V25, V27, V14
+
+ VMOVQ 128(R5), V24
+ VMOVQ 144(R5), V25
+ VMOVQ 160(R5), V26
+ VMOVQ 176(R5), V27
+
+ VILVLV V28, V30, V3
+ VILVHV V28, V30, V7
+ VILVLV V29, V31, V11
+ VILVHV V29, V31, V15
+
+ VMOVQ 192(R5), V28
+ VMOVQ 208(R5), V29
+ VMOVQ 224(R5), V30
+ VMOVQ 240(R5), V31
+
+ VXORV V0, V16, V16
+ VXORV V1, V17, V17
+ VXORV V2, V18, V18
+ VXORV V3, V19, V19
+
+ VMOVQ V16, 0(R4)
+ VMOVQ V17, 16(R4)
+ VMOVQ V18, 32(R4)
+ VMOVQ V19, 48(R4)
+
+ VXORV V4, V20, V20
+ VXORV V5, V21, V21
+ VXORV V6, V22, V22
+ VXORV V7, V23, V23
+
+ VMOVQ V20, 64(R4)
+ VMOVQ V21, 80(R4)
+ VMOVQ V22, 96(R4)
+ VMOVQ V23, 112(R4)
+
+ VXORV V8, V24, V24
+ VXORV V9, V25, V25
+ VXORV V10, V26, V26
+ VXORV V11, V27, V27
+
+ VMOVQ V24, 128(R4)
+ VMOVQ V25, 144(R4)
+ VMOVQ V26, 160(R4)
+ VMOVQ V27, 176(R4)
+
+ VXORV V12, V28, V28
+ VXORV V13, V29, V29
+ VXORV V14, V30, V30
+ VXORV V15, V31, V31
+
+ VMOVQ V28, 192(R4)
+ VMOVQ V29, 208(R4)
+ VMOVQ V30, 224(R4)
+ VMOVQ V31, 240(R4)
+
+ ADD $4, R12, R12
+ MOVW R12, (R9) // update counter
+
+ ADDV $256, R4, R4
+ ADDV $256, R5, R5
+ SUBV $256, R6, R6
+ BNE R6, R0, loop
+
+ RET
diff --git a/vendor/golang.org/x/crypto/chacha20/chacha_noasm.go b/vendor/golang.org/x/crypto/chacha20/chacha_noasm.go
index c709b7284..3853cc0e0 100644
--- a/vendor/golang.org/x/crypto/chacha20/chacha_noasm.go
+++ b/vendor/golang.org/x/crypto/chacha20/chacha_noasm.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build (!arm64 && !s390x && !ppc64 && !ppc64le) || !gc || purego
+//go:build (!arm64 && !loong64 && !s390x && !ppc64 && !ppc64le) || !gc || purego
package chacha20
diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go
index b850e772e..bfe546b60 100644
--- a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go
+++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go
@@ -20,7 +20,7 @@ func chacha20Poly1305Open(dst []byte, key []uint32, src, ad []byte) bool
func chacha20Poly1305Seal(dst []byte, key []uint32, src, ad []byte)
var (
- useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI2
+ useAVX2 = cpu.X86.HasSSSE3 && cpu.X86.HasAVX2 && cpu.X86.HasBMI2
)
// setupState writes a ChaCha20 input matrix to state. See
@@ -47,7 +47,7 @@ func setupState(state *[16]uint32, key *[32]byte, nonce []byte) {
}
func (c *chacha20poly1305) seal(dst, nonce, plaintext, additionalData []byte) []byte {
- if !cpu.X86.HasSSSE3 {
+ if !useAVX2 {
return c.sealGeneric(dst, nonce, plaintext, additionalData)
}
@@ -66,7 +66,7 @@ func (c *chacha20poly1305) seal(dst, nonce, plaintext, additionalData []byte) []
}
func (c *chacha20poly1305) open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) {
- if !cpu.X86.HasSSSE3 {
+ if !useAVX2 {
return c.openGeneric(dst, nonce, ciphertext, additionalData)
}
diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s
index fd5ee845f..c703c1347 100644
--- a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s
+++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s
@@ -6,27 +6,6 @@
// func polyHashADInternal<>()
TEXT polyHashADInternal<>(SB), NOSPLIT, $0
- // Hack: Must declare #define macros inside of a function due to Avo constraints
- // ROL rotates the uint32s in register R left by N bits, using temporary T.
- #define ROL(N, R, T) \
- MOVO R, T; \
- PSLLL $(N), T; \
- PSRLL $(32-(N)), R; \
- PXOR T, R
-
- // ROL8 rotates the uint32s in register R left by 8, using temporary T if needed.
- #ifdef GOAMD64_v2
- #define ROL8(R, T) PSHUFB ·rol8<>(SB), R
- #else
- #define ROL8(R, T) ROL(8, R, T)
- #endif
-
- // ROL16 rotates the uint32s in register R left by 16, using temporary T if needed.
- #ifdef GOAMD64_v2
- #define ROL16(R, T) PSHUFB ·rol16<>(SB), R
- #else
- #define ROL16(R, T) ROL(16, R, T)
- #endif
XORQ R10, R10
XORQ R11, R11
XORQ R12, R12
@@ -192,676 +171,112 @@ hashADDone:
// Requires: AVX, AVX2, BMI2, CMOV, SSE2
TEXT ·chacha20Poly1305Open(SB), $288-97
// For aligned stack access
- MOVQ SP, BP
- ADDQ $0x20, BP
- ANDQ $-32, BP
- MOVQ dst_base+0(FP), DI
- MOVQ key_base+24(FP), R8
- MOVQ src_base+48(FP), SI
- MOVQ src_len+56(FP), BX
- MOVQ ad_base+72(FP), CX
-
- // Check for AVX2 support
- CMPB ·useAVX2+0(SB), $0x01
- JE chacha20Poly1305Open_AVX2
+ MOVQ SP, BP
+ ADDQ $0x20, BP
+ ANDQ $-32, BP
+ MOVQ dst_base+0(FP), DI
+ MOVQ key_base+24(FP), R8
+ MOVQ src_base+48(FP), SI
+ MOVQ src_len+56(FP), BX
+ MOVQ ad_base+72(FP), CX
+ VZEROUPPER
+ VMOVDQU ·chacha20Constants<>+0(SB), Y0
+ VBROADCASTI128 16(R8), Y14
+ VBROADCASTI128 32(R8), Y12
+ VBROADCASTI128 48(R8), Y4
+ VPADDD ·avx2InitMask<>+0(SB), Y4, Y4
// Special optimization, for very short buffers
- CMPQ BX, $0x80
- JBE openSSE128
-
- // For long buffers, prepare the poly key first
- MOVOU ·chacha20Constants<>+0(SB), X0
- MOVOU 16(R8), X3
- MOVOU 32(R8), X6
- MOVOU 48(R8), X9
- MOVO X9, X13
-
- // Store state on stack for future use
- MOVO X3, 32(BP)
- MOVO X6, 48(BP)
- MOVO X9, 128(BP)
- MOVQ $0x0000000a, R9
-
-openSSEPreparePolyKey:
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- DECQ R9
- JNE openSSEPreparePolyKey
+ CMPQ BX, $0xc0
+ JBE openAVX2192
+ CMPQ BX, $0x00000140
+ JBE openAVX2320
+
+ // For the general key prepare the key first - as a byproduct we have 64 bytes of cipher stream
+ VMOVDQA Y14, 32(BP)
+ VMOVDQA Y12, 64(BP)
+ VMOVDQA Y4, 192(BP)
+ MOVQ $0x0000000a, R9
+
+openAVX2PreparePolyKey:
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x0c, Y14, Y3
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPALIGNR $0x04, Y14, Y14, Y14
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x0c, Y4, Y4, Y4
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x0c, Y14, Y3
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPALIGNR $0x0c, Y14, Y14, Y14
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x04, Y4, Y4, Y4
+ DECQ R9
+ JNE openAVX2PreparePolyKey
+ VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
+ VPADDD 32(BP), Y14, Y14
+ VPADDD 64(BP), Y12, Y12
+ VPADDD 192(BP), Y4, Y4
+ VPERM2I128 $0x02, Y0, Y14, Y3
- // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded
- PADDL ·chacha20Constants<>+0(SB), X0
- PADDL 32(BP), X3
+ // Clamp and store poly key
+ VPAND ·polyClampMask<>+0(SB), Y3, Y3
+ VMOVDQA Y3, (BP)
- // Clamp and store the key
- PAND ·polyClampMask<>+0(SB), X0
- MOVO X0, (BP)
- MOVO X3, 16(BP)
+ // Stream for the first 64 bytes
+ VPERM2I128 $0x13, Y0, Y14, Y0
+ VPERM2I128 $0x13, Y12, Y4, Y14
- // Hash AAD
+ // Hash AD + first 64 bytes
MOVQ ad_len+80(FP), R9
CALL polyHashADInternal<>(SB)
+ XORQ CX, CX
-openSSEMainLoop:
- CMPQ BX, $0x00000100
- JB openSSEMainLoopDone
-
- // Load state, increment counter blocks
- MOVO ·chacha20Constants<>+0(SB), X0
- MOVO 32(BP), X3
- MOVO 48(BP), X6
- MOVO 128(BP), X9
- PADDL ·sseIncMask<>+0(SB), X9
- MOVO X0, X1
- MOVO X3, X4
- MOVO X6, X7
- MOVO X9, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X1, X2
- MOVO X4, X5
- MOVO X7, X8
- MOVO X10, X11
- PADDL ·sseIncMask<>+0(SB), X11
- MOVO X2, X12
- MOVO X5, X13
- MOVO X8, X14
- MOVO X11, X15
- PADDL ·sseIncMask<>+0(SB), X15
-
- // Store counters
- MOVO X9, 80(BP)
- MOVO X10, 96(BP)
- MOVO X11, 112(BP)
- MOVO X15, 128(BP)
-
- // There are 10 ChaCha20 iterations of 2QR each, so for 6 iterations we hash
- // 2 blocks, and for the remaining 4 only 1 block - for a total of 16
- MOVQ $0x00000004, CX
- MOVQ SI, R9
-
-openSSEInternalLoop:
- MOVO X14, 64(BP)
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X3
- PXOR X14, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X3
- PXOR X14, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X4
- PXOR X14, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X4
- PXOR X14, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X5
- PXOR X14, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X5
- PXOR X14, X5
- MOVO 64(BP), X14
- MOVO X7, 64(BP)
- PADDD X13, X12
- PXOR X12, X15
- ROL16(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x0c, X7
- PSRLL $0x14, X13
- PXOR X7, X13
- PADDD X13, X12
- PXOR X12, X15
- ROL8(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x07, X7
- PSRLL $0x19, X13
- PXOR X7, X13
- MOVO 64(BP), X7
- ADDQ (R9), R10
- ADCQ 8(R9), R11
- ADCQ $0x01, R12
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x0c
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- LEAQ 16(R9), R9
- MOVO X14, 64(BP)
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X3
- PXOR X14, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X3
- PXOR X14, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X4
- PXOR X14, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X4
- PXOR X14, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X5
- PXOR X14, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X5
- PXOR X14, X5
- MOVO 64(BP), X14
- MOVO X7, 64(BP)
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- PADDD X13, X12
- PXOR X12, X15
- ROL16(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x0c, X7
- PSRLL $0x14, X13
- PXOR X7, X13
- PADDD X13, X12
- PXOR X12, X15
- ROL8(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x07, X7
- PSRLL $0x19, X13
- PXOR X7, X13
- MOVO 64(BP), X7
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x04
- DECQ CX
- JGE openSSEInternalLoop
- ADDQ (R9), R10
- ADCQ 8(R9), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 16(R9), R9
- CMPQ CX, $-6
- JG openSSEInternalLoop
-
- // Add in the state
- PADDD ·chacha20Constants<>+0(SB), X0
- PADDD ·chacha20Constants<>+0(SB), X1
- PADDD ·chacha20Constants<>+0(SB), X2
- PADDD ·chacha20Constants<>+0(SB), X12
- PADDD 32(BP), X3
- PADDD 32(BP), X4
- PADDD 32(BP), X5
- PADDD 32(BP), X13
- PADDD 48(BP), X6
- PADDD 48(BP), X7
- PADDD 48(BP), X8
- PADDD 48(BP), X14
- PADDD 80(BP), X9
- PADDD 96(BP), X10
- PADDD 112(BP), X11
- PADDD 128(BP), X15
-
- // Load - xor - store
- MOVO X15, 64(BP)
- MOVOU (SI), X15
- PXOR X15, X0
- MOVOU X0, (DI)
- MOVOU 16(SI), X15
- PXOR X15, X3
- MOVOU X3, 16(DI)
- MOVOU 32(SI), X15
- PXOR X15, X6
- MOVOU X6, 32(DI)
- MOVOU 48(SI), X15
- PXOR X15, X9
- MOVOU X9, 48(DI)
- MOVOU 64(SI), X9
- PXOR X9, X1
- MOVOU X1, 64(DI)
- MOVOU 80(SI), X9
- PXOR X9, X4
- MOVOU X4, 80(DI)
- MOVOU 96(SI), X9
- PXOR X9, X7
- MOVOU X7, 96(DI)
- MOVOU 112(SI), X9
- PXOR X9, X10
- MOVOU X10, 112(DI)
- MOVOU 128(SI), X9
- PXOR X9, X2
- MOVOU X2, 128(DI)
- MOVOU 144(SI), X9
- PXOR X9, X5
- MOVOU X5, 144(DI)
- MOVOU 160(SI), X9
- PXOR X9, X8
- MOVOU X8, 160(DI)
- MOVOU 176(SI), X9
- PXOR X9, X11
- MOVOU X11, 176(DI)
- MOVOU 192(SI), X9
- PXOR X9, X12
- MOVOU X12, 192(DI)
- MOVOU 208(SI), X9
- PXOR X9, X13
- MOVOU X13, 208(DI)
- MOVOU 224(SI), X9
- PXOR X9, X14
- MOVOU X14, 224(DI)
- MOVOU 240(SI), X9
- PXOR 64(BP), X9
- MOVOU X9, 240(DI)
- LEAQ 256(SI), SI
- LEAQ 256(DI), DI
- SUBQ $0x00000100, BX
- JMP openSSEMainLoop
-
-openSSEMainLoopDone:
- // Handle the various tail sizes efficiently
- TESTQ BX, BX
- JE openSSEFinalize
- CMPQ BX, $0x40
- JBE openSSETail64
- CMPQ BX, $0x80
- JBE openSSETail128
- CMPQ BX, $0xc0
- JBE openSSETail192
- JMP openSSETail256
-
-openSSEFinalize:
- // Hash in the PT, AAD lengths
- ADDQ ad_len+80(FP), R10
- ADCQ src_len+56(FP), R11
+openAVX2InitialHash64:
+ ADDQ (SI)(CX*1), R10
+ ADCQ 8(SI)(CX*1), R11
ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
IMULQ R12, R15
+ MULXQ R11, AX, DX
ADDQ AX, R14
ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
ADCQ DX, R8
MOVQ R13, R10
MOVQ R14, R11
@@ -878,3187 +293,494 @@ openSSEFinalize:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
+ ADDQ $0x10, CX
+ CMPQ CX, $0x40
+ JNE openAVX2InitialHash64
- // Final reduce
- MOVQ R10, R13
- MOVQ R11, R14
- MOVQ R12, R15
- SUBQ $-5, R10
- SBBQ $-1, R11
- SBBQ $0x03, R12
- CMOVQCS R13, R10
- CMOVQCS R14, R11
- CMOVQCS R15, R12
-
- // Add in the "s" part of the key
- ADDQ 16(BP), R10
- ADCQ 24(BP), R11
-
- // Finally, constant time compare to the tag at the end of the message
- XORQ AX, AX
- MOVQ $0x00000001, DX
- XORQ (SI), R10
- XORQ 8(SI), R11
- ORQ R11, R10
- CMOVQEQ DX, AX
+ // Decrypt the first 64 bytes
+ VPXOR (SI), Y0, Y0
+ VPXOR 32(SI), Y14, Y14
+ VMOVDQU Y0, (DI)
+ VMOVDQU Y14, 32(DI)
+ LEAQ 64(SI), SI
+ LEAQ 64(DI), DI
+ SUBQ $0x40, BX
- // Return true iff tags are equal
- MOVB AX, ret+96(FP)
- RET
+openAVX2MainLoop:
+ CMPQ BX, $0x00000200
+ JB openAVX2MainLoopDone
-openSSE128:
- MOVOU ·chacha20Constants<>+0(SB), X0
- MOVOU 16(R8), X3
- MOVOU 32(R8), X6
- MOVOU 48(R8), X9
- MOVO X0, X1
- MOVO X3, X4
- MOVO X6, X7
- MOVO X9, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X1, X2
- MOVO X4, X5
- MOVO X7, X8
- MOVO X10, X11
- PADDL ·sseIncMask<>+0(SB), X11
- MOVO X3, X13
- MOVO X6, X14
- MOVO X10, X15
- MOVQ $0x0000000a, R9
-
-openSSE128InnerCipherLoop:
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X5
- PXOR X12, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X5
- PXOR X12, X5
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X5
- PXOR X12, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X5
- PXOR X12, X5
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- DECQ R9
- JNE openSSE128InnerCipherLoop
-
- // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded
- PADDL ·chacha20Constants<>+0(SB), X0
- PADDL ·chacha20Constants<>+0(SB), X1
- PADDL ·chacha20Constants<>+0(SB), X2
- PADDL X13, X3
- PADDL X13, X4
- PADDL X13, X5
- PADDL X14, X7
- PADDL X14, X8
- PADDL X15, X10
- PADDL ·sseIncMask<>+0(SB), X15
- PADDL X15, X11
-
- // Clamp and store the key
- PAND ·polyClampMask<>+0(SB), X0
- MOVOU X0, (BP)
- MOVOU X3, 16(BP)
+ // Load state, increment counter blocks, store the incremented counters
+ VMOVDQU ·chacha20Constants<>+0(SB), Y0
+ VMOVDQA Y0, Y5
+ VMOVDQA Y0, Y6
+ VMOVDQA Y0, Y7
+ VMOVDQA 32(BP), Y14
+ VMOVDQA Y14, Y9
+ VMOVDQA Y14, Y10
+ VMOVDQA Y14, Y11
+ VMOVDQA 64(BP), Y12
+ VMOVDQA Y12, Y13
+ VMOVDQA Y12, Y8
+ VMOVDQA Y12, Y15
+ VMOVDQA 192(BP), Y4
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y4
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
+ VPADDD ·avx2IncMask<>+0(SB), Y1, Y2
+ VPADDD ·avx2IncMask<>+0(SB), Y2, Y3
+ VMOVDQA Y4, 96(BP)
+ VMOVDQA Y1, 128(BP)
+ VMOVDQA Y2, 160(BP)
+ VMOVDQA Y3, 192(BP)
+ XORQ CX, CX
- // Hash
- MOVQ ad_len+80(FP), R9
- CALL polyHashADInternal<>(SB)
-
-openSSE128Open:
- CMPQ BX, $0x10
- JB openSSETail16
- SUBQ $0x10, BX
-
- // Load for hashing
- ADDQ (SI), R10
- ADCQ 8(SI), R11
- ADCQ $0x01, R12
-
- // Load for decryption
- MOVOU (SI), X12
- PXOR X12, X1
- MOVOU X1, (DI)
- LEAQ 16(SI), SI
- LEAQ 16(DI), DI
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
-
- // Shift the stream "left"
- MOVO X4, X1
- MOVO X7, X4
- MOVO X10, X7
- MOVO X2, X10
- MOVO X5, X2
- MOVO X8, X5
- MOVO X11, X8
- JMP openSSE128Open
-
-openSSETail16:
- TESTQ BX, BX
- JE openSSEFinalize
-
- // We can safely load the CT from the end, because it is padded with the MAC
- MOVQ BX, R9
- SHLQ $0x04, R9
- LEAQ ·andMask<>+0(SB), R13
- MOVOU (SI), X12
- ADDQ BX, SI
- PAND -16(R13)(R9*1), X12
- MOVO X12, 64(BP)
- MOVQ X12, R13
- MOVQ 72(BP), R14
- PXOR X1, X12
-
- // We can only store one byte at a time, since plaintext can be shorter than 16 bytes
-openSSETail16Store:
- MOVQ X12, R8
- MOVB R8, (DI)
- PSRLDQ $0x01, X12
- INCQ DI
- DECQ BX
- JNE openSSETail16Store
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- JMP openSSEFinalize
-
-openSSETail64:
- MOVO ·chacha20Constants<>+0(SB), X0
- MOVO 32(BP), X3
- MOVO 48(BP), X6
- MOVO 128(BP), X9
- PADDL ·sseIncMask<>+0(SB), X9
- MOVO X9, 80(BP)
- XORQ R9, R9
- MOVQ BX, CX
- CMPQ CX, $0x10
- JB openSSETail64LoopB
-
-openSSETail64LoopA:
- ADDQ (SI)(R9*1), R10
- ADCQ 8(SI)(R9*1), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- SUBQ $0x10, CX
-
-openSSETail64LoopB:
- ADDQ $0x10, R9
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- CMPQ CX, $0x10
- JAE openSSETail64LoopA
- CMPQ R9, $0xa0
- JNE openSSETail64LoopB
- PADDL ·chacha20Constants<>+0(SB), X0
- PADDL 32(BP), X3
- PADDL 48(BP), X6
- PADDL 80(BP), X9
-
-openSSETail64DecLoop:
- CMPQ BX, $0x10
- JB openSSETail64DecLoopDone
- SUBQ $0x10, BX
- MOVOU (SI), X12
- PXOR X12, X0
- MOVOU X0, (DI)
- LEAQ 16(SI), SI
- LEAQ 16(DI), DI
- MOVO X3, X0
- MOVO X6, X3
- MOVO X9, X6
- JMP openSSETail64DecLoop
-
-openSSETail64DecLoopDone:
- MOVO X0, X1
- JMP openSSETail16
-
-openSSETail128:
- MOVO ·chacha20Constants<>+0(SB), X1
- MOVO 32(BP), X4
- MOVO 48(BP), X7
- MOVO 128(BP), X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X10, 80(BP)
- MOVO X1, X0
- MOVO X4, X3
- MOVO X7, X6
- MOVO X10, X9
- PADDL ·sseIncMask<>+0(SB), X9
- MOVO X9, 96(BP)
- XORQ R9, R9
- MOVQ BX, CX
- ANDQ $-16, CX
-
-openSSETail128LoopA:
- ADDQ (SI)(R9*1), R10
- ADCQ 8(SI)(R9*1), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
-
-openSSETail128LoopB:
- ADDQ $0x10, R9
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- CMPQ R9, CX
- JB openSSETail128LoopA
- CMPQ R9, $0xa0
- JNE openSSETail128LoopB
- PADDL ·chacha20Constants<>+0(SB), X0
- PADDL ·chacha20Constants<>+0(SB), X1
- PADDL 32(BP), X3
- PADDL 32(BP), X4
- PADDL 48(BP), X6
- PADDL 48(BP), X7
- PADDL 96(BP), X9
- PADDL 80(BP), X10
- MOVOU (SI), X12
- MOVOU 16(SI), X13
- MOVOU 32(SI), X14
- MOVOU 48(SI), X15
- PXOR X12, X1
- PXOR X13, X4
- PXOR X14, X7
- PXOR X15, X10
- MOVOU X1, (DI)
- MOVOU X4, 16(DI)
- MOVOU X7, 32(DI)
- MOVOU X10, 48(DI)
- SUBQ $0x40, BX
- LEAQ 64(SI), SI
- LEAQ 64(DI), DI
- JMP openSSETail64DecLoop
-
-openSSETail192:
- MOVO ·chacha20Constants<>+0(SB), X2
- MOVO 32(BP), X5
- MOVO 48(BP), X8
- MOVO 128(BP), X11
- PADDL ·sseIncMask<>+0(SB), X11
- MOVO X11, 80(BP)
- MOVO X2, X1
- MOVO X5, X4
- MOVO X8, X7
- MOVO X11, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X10, 96(BP)
- MOVO X1, X0
- MOVO X4, X3
- MOVO X7, X6
- MOVO X10, X9
- PADDL ·sseIncMask<>+0(SB), X9
- MOVO X9, 112(BP)
- MOVQ BX, CX
- MOVQ $0x000000a0, R9
- CMPQ CX, $0xa0
- CMOVQGT R9, CX
- ANDQ $-16, CX
- XORQ R9, R9
-
-openSSLTail192LoopA:
- ADDQ (SI)(R9*1), R10
- ADCQ 8(SI)(R9*1), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
-
-openSSLTail192LoopB:
- ADDQ $0x10, R9
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X5
- PXOR X12, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X5
- PXOR X12, X5
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X5
- PXOR X12, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X5
- PXOR X12, X5
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- CMPQ R9, CX
- JB openSSLTail192LoopA
- CMPQ R9, $0xa0
- JNE openSSLTail192LoopB
- CMPQ BX, $0xb0
- JB openSSLTail192Store
- ADDQ 160(SI), R10
- ADCQ 168(SI), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- CMPQ BX, $0xc0
- JB openSSLTail192Store
- ADDQ 176(SI), R10
- ADCQ 184(SI), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
-
-openSSLTail192Store:
- PADDL ·chacha20Constants<>+0(SB), X0
- PADDL ·chacha20Constants<>+0(SB), X1
- PADDL ·chacha20Constants<>+0(SB), X2
- PADDL 32(BP), X3
- PADDL 32(BP), X4
- PADDL 32(BP), X5
- PADDL 48(BP), X6
- PADDL 48(BP), X7
- PADDL 48(BP), X8
- PADDL 112(BP), X9
- PADDL 96(BP), X10
- PADDL 80(BP), X11
- MOVOU (SI), X12
- MOVOU 16(SI), X13
- MOVOU 32(SI), X14
- MOVOU 48(SI), X15
- PXOR X12, X2
- PXOR X13, X5
- PXOR X14, X8
- PXOR X15, X11
- MOVOU X2, (DI)
- MOVOU X5, 16(DI)
- MOVOU X8, 32(DI)
- MOVOU X11, 48(DI)
- MOVOU 64(SI), X12
- MOVOU 80(SI), X13
- MOVOU 96(SI), X14
- MOVOU 112(SI), X15
- PXOR X12, X1
- PXOR X13, X4
- PXOR X14, X7
- PXOR X15, X10
- MOVOU X1, 64(DI)
- MOVOU X4, 80(DI)
- MOVOU X7, 96(DI)
- MOVOU X10, 112(DI)
- SUBQ $0x80, BX
- LEAQ 128(SI), SI
- LEAQ 128(DI), DI
- JMP openSSETail64DecLoop
-
-openSSETail256:
- MOVO ·chacha20Constants<>+0(SB), X0
- MOVO 32(BP), X3
- MOVO 48(BP), X6
- MOVO 128(BP), X9
- PADDL ·sseIncMask<>+0(SB), X9
- MOVO X0, X1
- MOVO X3, X4
- MOVO X6, X7
- MOVO X9, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X1, X2
- MOVO X4, X5
- MOVO X7, X8
- MOVO X10, X11
- PADDL ·sseIncMask<>+0(SB), X11
- MOVO X2, X12
- MOVO X5, X13
- MOVO X8, X14
- MOVO X11, X15
- PADDL ·sseIncMask<>+0(SB), X15
-
- // Store counters
- MOVO X9, 80(BP)
- MOVO X10, 96(BP)
- MOVO X11, 112(BP)
- MOVO X15, 128(BP)
- XORQ R9, R9
-
-openSSETail256Loop:
- ADDQ (SI)(R9*1), R10
- ADCQ 8(SI)(R9*1), R11
- ADCQ $0x01, R12
- MOVO X14, 64(BP)
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X3
- PXOR X14, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X3
- PXOR X14, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X4
- PXOR X14, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X4
- PXOR X14, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X5
- PXOR X14, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X5
- PXOR X14, X5
- MOVO 64(BP), X14
- MOVO X7, 64(BP)
- PADDD X13, X12
- PXOR X12, X15
- ROL16(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x0c, X7
- PSRLL $0x14, X13
- PXOR X7, X13
- PADDD X13, X12
- PXOR X12, X15
- ROL8(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x07, X7
- PSRLL $0x19, X13
- PXOR X7, X13
- MOVO 64(BP), X7
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x0c
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- MOVO X14, 64(BP)
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X3
- PXOR X14, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X3
- PXOR X14, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X4
- PXOR X14, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X4
- PXOR X14, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X5
- PXOR X14, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X5
- PXOR X14, X5
- MOVO 64(BP), X14
- MOVO X7, 64(BP)
- PADDD X13, X12
- PXOR X12, X15
- ROL16(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x0c, X7
- PSRLL $0x14, X13
- PXOR X7, X13
- PADDD X13, X12
- PXOR X12, X15
- ROL8(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x07, X7
- PSRLL $0x19, X13
- PXOR X7, X13
- MOVO 64(BP), X7
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x04
- ADDQ $0x10, R9
- CMPQ R9, $0xa0
- JB openSSETail256Loop
- MOVQ BX, CX
- ANDQ $-16, CX
-
-openSSETail256HashLoop:
- ADDQ (SI)(R9*1), R10
- ADCQ 8(SI)(R9*1), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- ADDQ $0x10, R9
- CMPQ R9, CX
- JB openSSETail256HashLoop
-
- // Add in the state
- PADDD ·chacha20Constants<>+0(SB), X0
- PADDD ·chacha20Constants<>+0(SB), X1
- PADDD ·chacha20Constants<>+0(SB), X2
- PADDD ·chacha20Constants<>+0(SB), X12
- PADDD 32(BP), X3
- PADDD 32(BP), X4
- PADDD 32(BP), X5
- PADDD 32(BP), X13
- PADDD 48(BP), X6
- PADDD 48(BP), X7
- PADDD 48(BP), X8
- PADDD 48(BP), X14
- PADDD 80(BP), X9
- PADDD 96(BP), X10
- PADDD 112(BP), X11
- PADDD 128(BP), X15
- MOVO X15, 64(BP)
-
- // Load - xor - store
- MOVOU (SI), X15
- PXOR X15, X0
- MOVOU 16(SI), X15
- PXOR X15, X3
- MOVOU 32(SI), X15
- PXOR X15, X6
- MOVOU 48(SI), X15
- PXOR X15, X9
- MOVOU X0, (DI)
- MOVOU X3, 16(DI)
- MOVOU X6, 32(DI)
- MOVOU X9, 48(DI)
- MOVOU 64(SI), X0
- MOVOU 80(SI), X3
- MOVOU 96(SI), X6
- MOVOU 112(SI), X9
- PXOR X0, X1
- PXOR X3, X4
- PXOR X6, X7
- PXOR X9, X10
- MOVOU X1, 64(DI)
- MOVOU X4, 80(DI)
- MOVOU X7, 96(DI)
- MOVOU X10, 112(DI)
- MOVOU 128(SI), X0
- MOVOU 144(SI), X3
- MOVOU 160(SI), X6
- MOVOU 176(SI), X9
- PXOR X0, X2
- PXOR X3, X5
- PXOR X6, X8
- PXOR X9, X11
- MOVOU X2, 128(DI)
- MOVOU X5, 144(DI)
- MOVOU X8, 160(DI)
- MOVOU X11, 176(DI)
- LEAQ 192(SI), SI
- LEAQ 192(DI), DI
- SUBQ $0xc0, BX
- MOVO X12, X0
- MOVO X13, X3
- MOVO X14, X6
- MOVO 64(BP), X9
- JMP openSSETail64DecLoop
-
-chacha20Poly1305Open_AVX2:
- VZEROUPPER
- VMOVDQU ·chacha20Constants<>+0(SB), Y0
- BYTE $0xc4
- BYTE $0x42
- BYTE $0x7d
- BYTE $0x5a
- BYTE $0x70
- BYTE $0x10
- BYTE $0xc4
- BYTE $0x42
- BYTE $0x7d
- BYTE $0x5a
- BYTE $0x60
- BYTE $0x20
- BYTE $0xc4
- BYTE $0xc2
- BYTE $0x7d
- BYTE $0x5a
- BYTE $0x60
- BYTE $0x30
- VPADDD ·avx2InitMask<>+0(SB), Y4, Y4
-
- // Special optimization, for very short buffers
- CMPQ BX, $0xc0
- JBE openAVX2192
- CMPQ BX, $0x00000140
- JBE openAVX2320
-
- // For the general key prepare the key first - as a byproduct we have 64 bytes of cipher stream
- VMOVDQA Y14, 32(BP)
- VMOVDQA Y12, 64(BP)
- VMOVDQA Y4, 192(BP)
- MOVQ $0x0000000a, R9
-
-openAVX2PreparePolyKey:
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPALIGNR $0x04, Y14, Y14, Y14
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x0c, Y4, Y4, Y4
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPALIGNR $0x0c, Y14, Y14, Y14
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x04, Y4, Y4, Y4
- DECQ R9
- JNE openAVX2PreparePolyKey
- VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
- VPADDD 32(BP), Y14, Y14
- VPADDD 64(BP), Y12, Y12
- VPADDD 192(BP), Y4, Y4
- VPERM2I128 $0x02, Y0, Y14, Y3
-
- // Clamp and store poly key
- VPAND ·polyClampMask<>+0(SB), Y3, Y3
- VMOVDQA Y3, (BP)
-
- // Stream for the first 64 bytes
- VPERM2I128 $0x13, Y0, Y14, Y0
- VPERM2I128 $0x13, Y12, Y4, Y14
-
- // Hash AD + first 64 bytes
- MOVQ ad_len+80(FP), R9
- CALL polyHashADInternal<>(SB)
- XORQ CX, CX
-
-openAVX2InitialHash64:
- ADDQ (SI)(CX*1), R10
- ADCQ 8(SI)(CX*1), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- ADDQ $0x10, CX
- CMPQ CX, $0x40
- JNE openAVX2InitialHash64
-
- // Decrypt the first 64 bytes
- VPXOR (SI), Y0, Y0
- VPXOR 32(SI), Y14, Y14
- VMOVDQU Y0, (DI)
- VMOVDQU Y14, 32(DI)
- LEAQ 64(SI), SI
- LEAQ 64(DI), DI
- SUBQ $0x40, BX
-
-openAVX2MainLoop:
- CMPQ BX, $0x00000200
- JB openAVX2MainLoopDone
-
- // Load state, increment counter blocks, store the incremented counters
- VMOVDQU ·chacha20Constants<>+0(SB), Y0
- VMOVDQA Y0, Y5
- VMOVDQA Y0, Y6
- VMOVDQA Y0, Y7
- VMOVDQA 32(BP), Y14
- VMOVDQA Y14, Y9
- VMOVDQA Y14, Y10
- VMOVDQA Y14, Y11
- VMOVDQA 64(BP), Y12
- VMOVDQA Y12, Y13
- VMOVDQA Y12, Y8
- VMOVDQA Y12, Y15
- VMOVDQA 192(BP), Y4
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y4
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
- VPADDD ·avx2IncMask<>+0(SB), Y1, Y2
- VPADDD ·avx2IncMask<>+0(SB), Y2, Y3
- VMOVDQA Y4, 96(BP)
- VMOVDQA Y1, 128(BP)
- VMOVDQA Y2, 160(BP)
- VMOVDQA Y3, 192(BP)
- XORQ CX, CX
-
-openAVX2InternalLoop:
- ADDQ (SI)(CX*1), R10
- ADCQ 8(SI)(CX*1), R11
- ADCQ $0x01, R12
- VPADDD Y14, Y0, Y0
- VPADDD Y9, Y5, Y5
- VPADDD Y10, Y6, Y6
- VPADDD Y11, Y7, Y7
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- VPXOR Y0, Y4, Y4
- VPXOR Y5, Y1, Y1
- VPXOR Y6, Y2, Y2
- VPXOR Y7, Y3, Y3
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y2, Y2
- VPSHUFB ·rol16<>+0(SB), Y3, Y3
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- VPADDD Y4, Y12, Y12
- VPADDD Y1, Y13, Y13
- VPADDD Y2, Y8, Y8
- VPADDD Y3, Y15, Y15
- VPXOR Y12, Y14, Y14
- VPXOR Y13, Y9, Y9
- VPXOR Y8, Y10, Y10
- VPXOR Y15, Y11, Y11
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- VMOVDQA Y15, 224(BP)
- VPSLLD $0x0c, Y14, Y15
- VPSRLD $0x14, Y14, Y14
- VPXOR Y15, Y14, Y14
- VPSLLD $0x0c, Y9, Y15
- VPSRLD $0x14, Y9, Y9
- VPXOR Y15, Y9, Y9
- VPSLLD $0x0c, Y10, Y15
- VPSRLD $0x14, Y10, Y10
- VPXOR Y15, Y10, Y10
- VPSLLD $0x0c, Y11, Y15
- VPSRLD $0x14, Y11, Y11
- VPXOR Y15, Y11, Y11
- VMOVDQA 224(BP), Y15
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- VPADDD Y14, Y0, Y0
- VPADDD Y9, Y5, Y5
- VPADDD Y10, Y6, Y6
- VPADDD Y11, Y7, Y7
- VPXOR Y0, Y4, Y4
- VPXOR Y5, Y1, Y1
- VPXOR Y6, Y2, Y2
- VPXOR Y7, Y3, Y3
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y2, Y2
- VPSHUFB ·rol8<>+0(SB), Y3, Y3
- ADDQ 16(SI)(CX*1), R10
- ADCQ 24(SI)(CX*1), R11
- ADCQ $0x01, R12
- VPADDD Y4, Y12, Y12
- VPADDD Y1, Y13, Y13
- VPADDD Y2, Y8, Y8
- VPADDD Y3, Y15, Y15
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- VPXOR Y12, Y14, Y14
- VPXOR Y13, Y9, Y9
- VPXOR Y8, Y10, Y10
- VPXOR Y15, Y11, Y11
- VMOVDQA Y15, 224(BP)
- VPSLLD $0x07, Y14, Y15
- VPSRLD $0x19, Y14, Y14
- VPXOR Y15, Y14, Y14
- VPSLLD $0x07, Y9, Y15
- VPSRLD $0x19, Y9, Y9
- VPXOR Y15, Y9, Y9
- VPSLLD $0x07, Y10, Y15
- VPSRLD $0x19, Y10, Y10
- VPXOR Y15, Y10, Y10
- VPSLLD $0x07, Y11, Y15
- VPSRLD $0x19, Y11, Y11
- VPXOR Y15, Y11, Y11
- VMOVDQA 224(BP), Y15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- VPALIGNR $0x04, Y14, Y14, Y14
- VPALIGNR $0x04, Y9, Y9, Y9
- VPALIGNR $0x04, Y10, Y10, Y10
- VPALIGNR $0x04, Y11, Y11, Y11
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x08, Y8, Y8, Y8
- VPALIGNR $0x08, Y15, Y15, Y15
- VPALIGNR $0x0c, Y4, Y4, Y4
- VPALIGNR $0x0c, Y1, Y1, Y1
- VPALIGNR $0x0c, Y2, Y2, Y2
- VPALIGNR $0x0c, Y3, Y3, Y3
- VPADDD Y14, Y0, Y0
- VPADDD Y9, Y5, Y5
- VPADDD Y10, Y6, Y6
- VPADDD Y11, Y7, Y7
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- VPXOR Y0, Y4, Y4
- VPXOR Y5, Y1, Y1
- VPXOR Y6, Y2, Y2
- VPXOR Y7, Y3, Y3
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y2, Y2
- VPSHUFB ·rol16<>+0(SB), Y3, Y3
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- VPADDD Y4, Y12, Y12
- VPADDD Y1, Y13, Y13
- VPADDD Y2, Y8, Y8
- VPADDD Y3, Y15, Y15
- VPXOR Y12, Y14, Y14
- VPXOR Y13, Y9, Y9
- VPXOR Y8, Y10, Y10
- VPXOR Y15, Y11, Y11
- ADDQ 32(SI)(CX*1), R10
- ADCQ 40(SI)(CX*1), R11
- ADCQ $0x01, R12
- LEAQ 48(CX), CX
- VMOVDQA Y15, 224(BP)
- VPSLLD $0x0c, Y14, Y15
- VPSRLD $0x14, Y14, Y14
- VPXOR Y15, Y14, Y14
- VPSLLD $0x0c, Y9, Y15
- VPSRLD $0x14, Y9, Y9
- VPXOR Y15, Y9, Y9
- VPSLLD $0x0c, Y10, Y15
- VPSRLD $0x14, Y10, Y10
- VPXOR Y15, Y10, Y10
- VPSLLD $0x0c, Y11, Y15
- VPSRLD $0x14, Y11, Y11
- VPXOR Y15, Y11, Y11
- VMOVDQA 224(BP), Y15
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- VPADDD Y14, Y0, Y0
- VPADDD Y9, Y5, Y5
- VPADDD Y10, Y6, Y6
- VPADDD Y11, Y7, Y7
- VPXOR Y0, Y4, Y4
- VPXOR Y5, Y1, Y1
- VPXOR Y6, Y2, Y2
- VPXOR Y7, Y3, Y3
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y2, Y2
- VPSHUFB ·rol8<>+0(SB), Y3, Y3
- VPADDD Y4, Y12, Y12
- VPADDD Y1, Y13, Y13
- VPADDD Y2, Y8, Y8
- VPADDD Y3, Y15, Y15
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- VPXOR Y12, Y14, Y14
- VPXOR Y13, Y9, Y9
- VPXOR Y8, Y10, Y10
- VPXOR Y15, Y11, Y11
- VMOVDQA Y15, 224(BP)
- VPSLLD $0x07, Y14, Y15
- VPSRLD $0x19, Y14, Y14
- VPXOR Y15, Y14, Y14
- VPSLLD $0x07, Y9, Y15
- VPSRLD $0x19, Y9, Y9
- VPXOR Y15, Y9, Y9
- VPSLLD $0x07, Y10, Y15
- VPSRLD $0x19, Y10, Y10
- VPXOR Y15, Y10, Y10
- VPSLLD $0x07, Y11, Y15
- VPSRLD $0x19, Y11, Y11
- VPXOR Y15, Y11, Y11
- VMOVDQA 224(BP), Y15
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- VPALIGNR $0x0c, Y14, Y14, Y14
- VPALIGNR $0x0c, Y9, Y9, Y9
- VPALIGNR $0x0c, Y10, Y10, Y10
- VPALIGNR $0x0c, Y11, Y11, Y11
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x08, Y8, Y8, Y8
- VPALIGNR $0x08, Y15, Y15, Y15
- VPALIGNR $0x04, Y4, Y4, Y4
- VPALIGNR $0x04, Y1, Y1, Y1
- VPALIGNR $0x04, Y2, Y2, Y2
- VPALIGNR $0x04, Y3, Y3, Y3
- CMPQ CX, $0x000001e0
- JNE openAVX2InternalLoop
- VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
- VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
- VPADDD ·chacha20Constants<>+0(SB), Y6, Y6
- VPADDD ·chacha20Constants<>+0(SB), Y7, Y7
- VPADDD 32(BP), Y14, Y14
- VPADDD 32(BP), Y9, Y9
- VPADDD 32(BP), Y10, Y10
- VPADDD 32(BP), Y11, Y11
- VPADDD 64(BP), Y12, Y12
- VPADDD 64(BP), Y13, Y13
- VPADDD 64(BP), Y8, Y8
- VPADDD 64(BP), Y15, Y15
- VPADDD 96(BP), Y4, Y4
- VPADDD 128(BP), Y1, Y1
- VPADDD 160(BP), Y2, Y2
- VPADDD 192(BP), Y3, Y3
- VMOVDQA Y15, 224(BP)
-
- // We only hashed 480 of the 512 bytes available - hash the remaining 32 here
- ADDQ 480(SI), R10
- ADCQ 488(SI), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- VPERM2I128 $0x02, Y0, Y14, Y15
- VPERM2I128 $0x13, Y0, Y14, Y14
- VPERM2I128 $0x02, Y12, Y4, Y0
- VPERM2I128 $0x13, Y12, Y4, Y12
- VPXOR (SI), Y15, Y15
- VPXOR 32(SI), Y0, Y0
- VPXOR 64(SI), Y14, Y14
- VPXOR 96(SI), Y12, Y12
- VMOVDQU Y15, (DI)
- VMOVDQU Y0, 32(DI)
- VMOVDQU Y14, 64(DI)
- VMOVDQU Y12, 96(DI)
- VPERM2I128 $0x02, Y5, Y9, Y0
- VPERM2I128 $0x02, Y13, Y1, Y14
- VPERM2I128 $0x13, Y5, Y9, Y12
- VPERM2I128 $0x13, Y13, Y1, Y4
- VPXOR 128(SI), Y0, Y0
- VPXOR 160(SI), Y14, Y14
- VPXOR 192(SI), Y12, Y12
- VPXOR 224(SI), Y4, Y4
- VMOVDQU Y0, 128(DI)
- VMOVDQU Y14, 160(DI)
- VMOVDQU Y12, 192(DI)
- VMOVDQU Y4, 224(DI)
-
- // and here
- ADDQ 496(SI), R10
- ADCQ 504(SI), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- VPERM2I128 $0x02, Y6, Y10, Y0
- VPERM2I128 $0x02, Y8, Y2, Y14
- VPERM2I128 $0x13, Y6, Y10, Y12
- VPERM2I128 $0x13, Y8, Y2, Y4
- VPXOR 256(SI), Y0, Y0
- VPXOR 288(SI), Y14, Y14
- VPXOR 320(SI), Y12, Y12
- VPXOR 352(SI), Y4, Y4
- VMOVDQU Y0, 256(DI)
- VMOVDQU Y14, 288(DI)
- VMOVDQU Y12, 320(DI)
- VMOVDQU Y4, 352(DI)
- VPERM2I128 $0x02, Y7, Y11, Y0
- VPERM2I128 $0x02, 224(BP), Y3, Y14
- VPERM2I128 $0x13, Y7, Y11, Y12
- VPERM2I128 $0x13, 224(BP), Y3, Y4
- VPXOR 384(SI), Y0, Y0
- VPXOR 416(SI), Y14, Y14
- VPXOR 448(SI), Y12, Y12
- VPXOR 480(SI), Y4, Y4
- VMOVDQU Y0, 384(DI)
- VMOVDQU Y14, 416(DI)
- VMOVDQU Y12, 448(DI)
- VMOVDQU Y4, 480(DI)
- LEAQ 512(SI), SI
- LEAQ 512(DI), DI
- SUBQ $0x00000200, BX
- JMP openAVX2MainLoop
-
-openAVX2MainLoopDone:
- // Handle the various tail sizes efficiently
- TESTQ BX, BX
- JE openSSEFinalize
- CMPQ BX, $0x80
- JBE openAVX2Tail128
- CMPQ BX, $0x00000100
- JBE openAVX2Tail256
- CMPQ BX, $0x00000180
- JBE openAVX2Tail384
- JMP openAVX2Tail512
-
-openAVX2192:
- VMOVDQA Y0, Y5
- VMOVDQA Y14, Y9
- VMOVDQA Y12, Y13
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
- VMOVDQA Y0, Y6
- VMOVDQA Y14, Y10
- VMOVDQA Y12, Y8
- VMOVDQA Y4, Y2
- VMOVDQA Y1, Y15
- MOVQ $0x0000000a, R9
-
-openAVX2192InnerCipherLoop:
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
- VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
- VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPALIGNR $0x04, Y14, Y14, Y14
- VPALIGNR $0x04, Y9, Y9, Y9
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x0c, Y4, Y4, Y4
- VPALIGNR $0x0c, Y1, Y1, Y1
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
- VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
- VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPALIGNR $0x0c, Y14, Y14, Y14
- VPALIGNR $0x0c, Y9, Y9, Y9
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x04, Y4, Y4, Y4
- VPALIGNR $0x04, Y1, Y1, Y1
- DECQ R9
- JNE openAVX2192InnerCipherLoop
- VPADDD Y6, Y0, Y0
- VPADDD Y6, Y5, Y5
- VPADDD Y10, Y14, Y14
- VPADDD Y10, Y9, Y9
- VPADDD Y8, Y12, Y12
- VPADDD Y8, Y13, Y13
- VPADDD Y2, Y4, Y4
- VPADDD Y15, Y1, Y1
- VPERM2I128 $0x02, Y0, Y14, Y3
-
- // Clamp and store poly key
- VPAND ·polyClampMask<>+0(SB), Y3, Y3
- VMOVDQA Y3, (BP)
-
- // Stream for up to 192 bytes
- VPERM2I128 $0x13, Y0, Y14, Y0
- VPERM2I128 $0x13, Y12, Y4, Y14
- VPERM2I128 $0x02, Y5, Y9, Y12
- VPERM2I128 $0x02, Y13, Y1, Y4
- VPERM2I128 $0x13, Y5, Y9, Y5
- VPERM2I128 $0x13, Y13, Y1, Y9
-
-openAVX2ShortOpen:
- // Hash
- MOVQ ad_len+80(FP), R9
- CALL polyHashADInternal<>(SB)
-
-openAVX2ShortOpenLoop:
- CMPQ BX, $0x20
- JB openAVX2ShortTail32
- SUBQ $0x20, BX
-
- // Load for hashing
- ADDQ (SI), R10
- ADCQ 8(SI), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- ADDQ 16(SI), R10
- ADCQ 24(SI), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
-
- // Load for decryption
- VPXOR (SI), Y0, Y0
- VMOVDQU Y0, (DI)
- LEAQ 32(SI), SI
- LEAQ 32(DI), DI
-
- // Shift stream left
- VMOVDQA Y14, Y0
- VMOVDQA Y12, Y14
- VMOVDQA Y4, Y12
- VMOVDQA Y5, Y4
- VMOVDQA Y9, Y5
- VMOVDQA Y13, Y9
- VMOVDQA Y1, Y13
- VMOVDQA Y6, Y1
- VMOVDQA Y10, Y6
- JMP openAVX2ShortOpenLoop
-
-openAVX2ShortTail32:
- CMPQ BX, $0x10
- VMOVDQA X0, X1
- JB openAVX2ShortDone
- SUBQ $0x10, BX
-
- // Load for hashing
- ADDQ (SI), R10
- ADCQ 8(SI), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
-
- // Load for decryption
- VPXOR (SI), X0, X12
- VMOVDQU X12, (DI)
- LEAQ 16(SI), SI
- LEAQ 16(DI), DI
- VPERM2I128 $0x11, Y0, Y0, Y0
- VMOVDQA X0, X1
-
-openAVX2ShortDone:
- VZEROUPPER
- JMP openSSETail16
-
-openAVX2320:
- VMOVDQA Y0, Y5
- VMOVDQA Y14, Y9
- VMOVDQA Y12, Y13
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
- VMOVDQA Y0, Y6
- VMOVDQA Y14, Y10
- VMOVDQA Y12, Y8
- VPADDD ·avx2IncMask<>+0(SB), Y1, Y2
- VMOVDQA Y14, Y7
- VMOVDQA Y12, Y11
- VMOVDQA Y4, Y15
- MOVQ $0x0000000a, R9
-
-openAVX2320InnerCipherLoop:
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
- VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
- VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y10, Y6, Y6
- VPXOR Y6, Y2, Y2
- VPSHUFB ·rol16<>+0(SB), Y2, Y2
- VPADDD Y2, Y8, Y8
- VPXOR Y8, Y10, Y10
- VPSLLD $0x0c, Y10, Y3
- VPSRLD $0x14, Y10, Y10
- VPXOR Y3, Y10, Y10
- VPADDD Y10, Y6, Y6
- VPXOR Y6, Y2, Y2
- VPSHUFB ·rol8<>+0(SB), Y2, Y2
- VPADDD Y2, Y8, Y8
- VPXOR Y8, Y10, Y10
- VPSLLD $0x07, Y10, Y3
- VPSRLD $0x19, Y10, Y10
- VPXOR Y3, Y10, Y10
- VPALIGNR $0x04, Y14, Y14, Y14
- VPALIGNR $0x04, Y9, Y9, Y9
- VPALIGNR $0x04, Y10, Y10, Y10
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x08, Y8, Y8, Y8
- VPALIGNR $0x0c, Y4, Y4, Y4
- VPALIGNR $0x0c, Y1, Y1, Y1
- VPALIGNR $0x0c, Y2, Y2, Y2
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
- VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
- VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y10, Y6, Y6
- VPXOR Y6, Y2, Y2
- VPSHUFB ·rol16<>+0(SB), Y2, Y2
- VPADDD Y2, Y8, Y8
- VPXOR Y8, Y10, Y10
- VPSLLD $0x0c, Y10, Y3
- VPSRLD $0x14, Y10, Y10
- VPXOR Y3, Y10, Y10
- VPADDD Y10, Y6, Y6
- VPXOR Y6, Y2, Y2
- VPSHUFB ·rol8<>+0(SB), Y2, Y2
- VPADDD Y2, Y8, Y8
- VPXOR Y8, Y10, Y10
- VPSLLD $0x07, Y10, Y3
- VPSRLD $0x19, Y10, Y10
- VPXOR Y3, Y10, Y10
- VPALIGNR $0x0c, Y14, Y14, Y14
- VPALIGNR $0x0c, Y9, Y9, Y9
- VPALIGNR $0x0c, Y10, Y10, Y10
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x08, Y8, Y8, Y8
- VPALIGNR $0x04, Y4, Y4, Y4
- VPALIGNR $0x04, Y1, Y1, Y1
- VPALIGNR $0x04, Y2, Y2, Y2
- DECQ R9
- JNE openAVX2320InnerCipherLoop
- VMOVDQA ·chacha20Constants<>+0(SB), Y3
- VPADDD Y3, Y0, Y0
- VPADDD Y3, Y5, Y5
- VPADDD Y3, Y6, Y6
- VPADDD Y7, Y14, Y14
- VPADDD Y7, Y9, Y9
- VPADDD Y7, Y10, Y10
- VPADDD Y11, Y12, Y12
- VPADDD Y11, Y13, Y13
- VPADDD Y11, Y8, Y8
- VMOVDQA ·avx2IncMask<>+0(SB), Y3
- VPADDD Y15, Y4, Y4
- VPADDD Y3, Y15, Y15
- VPADDD Y15, Y1, Y1
- VPADDD Y3, Y15, Y15
- VPADDD Y15, Y2, Y2
-
- // Clamp and store poly key
- VPERM2I128 $0x02, Y0, Y14, Y3
- VPAND ·polyClampMask<>+0(SB), Y3, Y3
- VMOVDQA Y3, (BP)
-
- // Stream for up to 320 bytes
- VPERM2I128 $0x13, Y0, Y14, Y0
- VPERM2I128 $0x13, Y12, Y4, Y14
- VPERM2I128 $0x02, Y5, Y9, Y12
- VPERM2I128 $0x02, Y13, Y1, Y4
- VPERM2I128 $0x13, Y5, Y9, Y5
- VPERM2I128 $0x13, Y13, Y1, Y9
- VPERM2I128 $0x02, Y6, Y10, Y13
- VPERM2I128 $0x02, Y8, Y2, Y1
- VPERM2I128 $0x13, Y6, Y10, Y6
- VPERM2I128 $0x13, Y8, Y2, Y10
- JMP openAVX2ShortOpen
-
-openAVX2Tail128:
- // Need to decrypt up to 128 bytes - prepare two blocks
- VMOVDQA ·chacha20Constants<>+0(SB), Y5
- VMOVDQA 32(BP), Y9
- VMOVDQA 64(BP), Y13
- VMOVDQA 192(BP), Y1
- VPADDD ·avx2IncMask<>+0(SB), Y1, Y1
- VMOVDQA Y1, Y4
- XORQ R9, R9
- MOVQ BX, CX
- ANDQ $-16, CX
- TESTQ CX, CX
- JE openAVX2Tail128LoopB
-
-openAVX2Tail128LoopA:
- ADDQ (SI)(R9*1), R10
- ADCQ 8(SI)(R9*1), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
-
-openAVX2Tail128LoopB:
- ADDQ $0x10, R9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
- VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
- VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPALIGNR $0x04, Y9, Y9, Y9
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x0c, Y1, Y1, Y1
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
- VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
- VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPALIGNR $0x0c, Y9, Y9, Y9
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x04, Y1, Y1, Y1
- CMPQ R9, CX
- JB openAVX2Tail128LoopA
- CMPQ R9, $0xa0
- JNE openAVX2Tail128LoopB
- VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
- VPADDD 32(BP), Y9, Y9
- VPADDD 64(BP), Y13, Y13
- VPADDD Y4, Y1, Y1
- VPERM2I128 $0x02, Y5, Y9, Y0
- VPERM2I128 $0x02, Y13, Y1, Y14
- VPERM2I128 $0x13, Y5, Y9, Y12
- VPERM2I128 $0x13, Y13, Y1, Y4
-
-openAVX2TailLoop:
- CMPQ BX, $0x20
- JB openAVX2Tail
- SUBQ $0x20, BX
-
- // Load for decryption
- VPXOR (SI), Y0, Y0
- VMOVDQU Y0, (DI)
- LEAQ 32(SI), SI
- LEAQ 32(DI), DI
- VMOVDQA Y14, Y0
- VMOVDQA Y12, Y14
- VMOVDQA Y4, Y12
- JMP openAVX2TailLoop
-
-openAVX2Tail:
- CMPQ BX, $0x10
- VMOVDQA X0, X1
- JB openAVX2TailDone
- SUBQ $0x10, BX
-
- // Load for decryption
- VPXOR (SI), X0, X12
- VMOVDQU X12, (DI)
- LEAQ 16(SI), SI
- LEAQ 16(DI), DI
- VPERM2I128 $0x11, Y0, Y0, Y0
- VMOVDQA X0, X1
-
-openAVX2TailDone:
- VZEROUPPER
- JMP openSSETail16
-
-openAVX2Tail256:
- VMOVDQA ·chacha20Constants<>+0(SB), Y0
- VMOVDQA Y0, Y5
- VMOVDQA 32(BP), Y14
- VMOVDQA Y14, Y9
- VMOVDQA 64(BP), Y12
- VMOVDQA Y12, Y13
- VMOVDQA 192(BP), Y4
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y4
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
- VMOVDQA Y4, Y7
- VMOVDQA Y1, Y11
-
- // Compute the number of iterations that will hash data
- MOVQ BX, 224(BP)
- MOVQ BX, CX
- SUBQ $0x80, CX
- SHRQ $0x04, CX
- MOVQ $0x0000000a, R9
- CMPQ CX, $0x0a
- CMOVQGT R9, CX
- MOVQ SI, BX
- XORQ R9, R9
-
-openAVX2Tail256LoopA:
- ADDQ (BX), R10
- ADCQ 8(BX), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 16(BX), BX
-
-openAVX2Tail256LoopB:
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
+openAVX2InternalLoop:
+ ADDQ (SI)(CX*1), R10
+ ADCQ 8(SI)(CX*1), R11
+ ADCQ $0x01, R12
VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
VPADDD Y9, Y5, Y5
+ VPADDD Y10, Y6, Y6
+ VPADDD Y11, Y7, Y7
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ VPXOR Y0, Y4, Y4
VPXOR Y5, Y1, Y1
+ VPXOR Y6, Y2, Y2
+ VPXOR Y7, Y3, Y3
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y2, Y2
+ VPSHUFB ·rol16<>+0(SB), Y3, Y3
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ VPADDD Y4, Y12, Y12
VPADDD Y1, Y13, Y13
+ VPADDD Y2, Y8, Y8
+ VPADDD Y3, Y15, Y15
+ VPXOR Y12, Y14, Y14
VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
+ VPXOR Y8, Y10, Y10
+ VPXOR Y15, Y11, Y11
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ VMOVDQA Y15, 224(BP)
+ VPSLLD $0x0c, Y14, Y15
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y15, Y14, Y14
+ VPSLLD $0x0c, Y9, Y15
VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
+ VPXOR Y15, Y9, Y9
+ VPSLLD $0x0c, Y10, Y15
+ VPSRLD $0x14, Y10, Y10
+ VPXOR Y15, Y10, Y10
+ VPSLLD $0x0c, Y11, Y15
+ VPSRLD $0x14, Y11, Y11
+ VPXOR Y15, Y11, Y11
+ VMOVDQA 224(BP), Y15
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ VPADDD Y14, Y0, Y0
VPADDD Y9, Y5, Y5
+ VPADDD Y10, Y6, Y6
+ VPADDD Y11, Y7, Y7
+ VPXOR Y0, Y4, Y4
VPXOR Y5, Y1, Y1
+ VPXOR Y6, Y2, Y2
+ VPXOR Y7, Y3, Y3
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y2, Y2
+ VPSHUFB ·rol8<>+0(SB), Y3, Y3
+ ADDQ 16(SI)(CX*1), R10
+ ADCQ 24(SI)(CX*1), R11
+ ADCQ $0x01, R12
+ VPADDD Y4, Y12, Y12
VPADDD Y1, Y13, Y13
+ VPADDD Y2, Y8, Y8
+ VPADDD Y3, Y15, Y15
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ VPXOR Y12, Y14, Y14
VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
+ VPXOR Y8, Y10, Y10
+ VPXOR Y15, Y11, Y11
+ VMOVDQA Y15, 224(BP)
+ VPSLLD $0x07, Y14, Y15
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y15, Y14, Y14
+ VPSLLD $0x07, Y9, Y15
VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
+ VPXOR Y15, Y9, Y9
+ VPSLLD $0x07, Y10, Y15
+ VPSRLD $0x19, Y10, Y10
+ VPXOR Y15, Y10, Y10
+ VPSLLD $0x07, Y11, Y15
+ VPSRLD $0x19, Y11, Y11
+ VPXOR Y15, Y11, Y11
+ VMOVDQA 224(BP), Y15
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
VPALIGNR $0x04, Y14, Y14, Y14
VPALIGNR $0x04, Y9, Y9, Y9
+ VPALIGNR $0x04, Y10, Y10, Y10
+ VPALIGNR $0x04, Y11, Y11, Y11
VPALIGNR $0x08, Y12, Y12, Y12
VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x08, Y8, Y8, Y8
+ VPALIGNR $0x08, Y15, Y15, Y15
VPALIGNR $0x0c, Y4, Y4, Y4
VPALIGNR $0x0c, Y1, Y1, Y1
- INCQ R9
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
+ VPALIGNR $0x0c, Y2, Y2, Y2
+ VPALIGNR $0x0c, Y3, Y3, Y3
VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
VPADDD Y9, Y5, Y5
+ VPADDD Y10, Y6, Y6
+ VPADDD Y11, Y7, Y7
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ VPXOR Y0, Y4, Y4
VPXOR Y5, Y1, Y1
+ VPXOR Y6, Y2, Y2
+ VPXOR Y7, Y3, Y3
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y2, Y2
+ VPSHUFB ·rol16<>+0(SB), Y3, Y3
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ VPADDD Y4, Y12, Y12
VPADDD Y1, Y13, Y13
+ VPADDD Y2, Y8, Y8
+ VPADDD Y3, Y15, Y15
+ VPXOR Y12, Y14, Y14
VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
+ VPXOR Y8, Y10, Y10
+ VPXOR Y15, Y11, Y11
+ ADDQ 32(SI)(CX*1), R10
+ ADCQ 40(SI)(CX*1), R11
+ ADCQ $0x01, R12
+ LEAQ 48(CX), CX
+ VMOVDQA Y15, 224(BP)
+ VPSLLD $0x0c, Y14, Y15
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y15, Y14, Y14
+ VPSLLD $0x0c, Y9, Y15
VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
+ VPXOR Y15, Y9, Y9
+ VPSLLD $0x0c, Y10, Y15
+ VPSRLD $0x14, Y10, Y10
+ VPXOR Y15, Y10, Y10
+ VPSLLD $0x0c, Y11, Y15
+ VPSRLD $0x14, Y11, Y11
+ VPXOR Y15, Y11, Y11
+ VMOVDQA 224(BP), Y15
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ VPADDD Y14, Y0, Y0
VPADDD Y9, Y5, Y5
+ VPADDD Y10, Y6, Y6
+ VPADDD Y11, Y7, Y7
+ VPXOR Y0, Y4, Y4
VPXOR Y5, Y1, Y1
+ VPXOR Y6, Y2, Y2
+ VPXOR Y7, Y3, Y3
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y2, Y2
+ VPSHUFB ·rol8<>+0(SB), Y3, Y3
+ VPADDD Y4, Y12, Y12
VPADDD Y1, Y13, Y13
+ VPADDD Y2, Y8, Y8
+ VPADDD Y3, Y15, Y15
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ VPXOR Y12, Y14, Y14
VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
+ VPXOR Y8, Y10, Y10
+ VPXOR Y15, Y11, Y11
+ VMOVDQA Y15, 224(BP)
+ VPSLLD $0x07, Y14, Y15
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y15, Y14, Y14
+ VPSLLD $0x07, Y9, Y15
VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPALIGNR $0x0c, Y14, Y14, Y14
- VPALIGNR $0x0c, Y9, Y9, Y9
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x04, Y4, Y4, Y4
- VPALIGNR $0x04, Y1, Y1, Y1
- CMPQ R9, CX
- JB openAVX2Tail256LoopA
- CMPQ R9, $0x0a
- JNE openAVX2Tail256LoopB
- MOVQ BX, R9
- SUBQ SI, BX
- MOVQ BX, CX
- MOVQ 224(BP), BX
-
-openAVX2Tail256Hash:
- ADDQ $0x10, CX
- CMPQ CX, BX
- JGT openAVX2Tail256HashEnd
- ADDQ (R9), R10
- ADCQ 8(R9), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 16(R9), R9
- JMP openAVX2Tail256Hash
+ VPXOR Y15, Y9, Y9
+ VPSLLD $0x07, Y10, Y15
+ VPSRLD $0x19, Y10, Y10
+ VPXOR Y15, Y10, Y10
+ VPSLLD $0x07, Y11, Y15
+ VPSRLD $0x19, Y11, Y11
+ VPXOR Y15, Y11, Y11
+ VMOVDQA 224(BP), Y15
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ VPALIGNR $0x0c, Y14, Y14, Y14
+ VPALIGNR $0x0c, Y9, Y9, Y9
+ VPALIGNR $0x0c, Y10, Y10, Y10
+ VPALIGNR $0x0c, Y11, Y11, Y11
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x08, Y8, Y8, Y8
+ VPALIGNR $0x08, Y15, Y15, Y15
+ VPALIGNR $0x04, Y4, Y4, Y4
+ VPALIGNR $0x04, Y1, Y1, Y1
+ VPALIGNR $0x04, Y2, Y2, Y2
+ VPALIGNR $0x04, Y3, Y3, Y3
+ CMPQ CX, $0x000001e0
+ JNE openAVX2InternalLoop
+ VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
+ VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
+ VPADDD ·chacha20Constants<>+0(SB), Y6, Y6
+ VPADDD ·chacha20Constants<>+0(SB), Y7, Y7
+ VPADDD 32(BP), Y14, Y14
+ VPADDD 32(BP), Y9, Y9
+ VPADDD 32(BP), Y10, Y10
+ VPADDD 32(BP), Y11, Y11
+ VPADDD 64(BP), Y12, Y12
+ VPADDD 64(BP), Y13, Y13
+ VPADDD 64(BP), Y8, Y8
+ VPADDD 64(BP), Y15, Y15
+ VPADDD 96(BP), Y4, Y4
+ VPADDD 128(BP), Y1, Y1
+ VPADDD 160(BP), Y2, Y2
+ VPADDD 192(BP), Y3, Y3
+ VMOVDQA Y15, 224(BP)
-openAVX2Tail256HashEnd:
- VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
- VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
- VPADDD 32(BP), Y14, Y14
- VPADDD 32(BP), Y9, Y9
- VPADDD 64(BP), Y12, Y12
- VPADDD 64(BP), Y13, Y13
- VPADDD Y7, Y4, Y4
- VPADDD Y11, Y1, Y1
- VPERM2I128 $0x02, Y0, Y14, Y6
- VPERM2I128 $0x02, Y12, Y4, Y10
- VPERM2I128 $0x13, Y0, Y14, Y8
- VPERM2I128 $0x13, Y12, Y4, Y2
+ // We only hashed 480 of the 512 bytes available - hash the remaining 32 here
+ ADDQ 480(SI), R10
+ ADCQ 488(SI), R11
+ ADCQ $0x01, R12
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ VPERM2I128 $0x02, Y0, Y14, Y15
+ VPERM2I128 $0x13, Y0, Y14, Y14
+ VPERM2I128 $0x02, Y12, Y4, Y0
+ VPERM2I128 $0x13, Y12, Y4, Y12
+ VPXOR (SI), Y15, Y15
+ VPXOR 32(SI), Y0, Y0
+ VPXOR 64(SI), Y14, Y14
+ VPXOR 96(SI), Y12, Y12
+ VMOVDQU Y15, (DI)
+ VMOVDQU Y0, 32(DI)
+ VMOVDQU Y14, 64(DI)
+ VMOVDQU Y12, 96(DI)
VPERM2I128 $0x02, Y5, Y9, Y0
VPERM2I128 $0x02, Y13, Y1, Y14
VPERM2I128 $0x13, Y5, Y9, Y12
VPERM2I128 $0x13, Y13, Y1, Y4
- VPXOR (SI), Y6, Y6
- VPXOR 32(SI), Y10, Y10
- VPXOR 64(SI), Y8, Y8
- VPXOR 96(SI), Y2, Y2
- VMOVDQU Y6, (DI)
- VMOVDQU Y10, 32(DI)
- VMOVDQU Y8, 64(DI)
- VMOVDQU Y2, 96(DI)
- LEAQ 128(SI), SI
- LEAQ 128(DI), DI
- SUBQ $0x80, BX
- JMP openAVX2TailLoop
+ VPXOR 128(SI), Y0, Y0
+ VPXOR 160(SI), Y14, Y14
+ VPXOR 192(SI), Y12, Y12
+ VPXOR 224(SI), Y4, Y4
+ VMOVDQU Y0, 128(DI)
+ VMOVDQU Y14, 160(DI)
+ VMOVDQU Y12, 192(DI)
+ VMOVDQU Y4, 224(DI)
-openAVX2Tail384:
- // Need to decrypt up to 384 bytes - prepare six blocks
- VMOVDQA ·chacha20Constants<>+0(SB), Y0
- VMOVDQA Y0, Y5
- VMOVDQA Y0, Y6
- VMOVDQA 32(BP), Y14
- VMOVDQA Y14, Y9
- VMOVDQA Y14, Y10
- VMOVDQA 64(BP), Y12
- VMOVDQA Y12, Y13
- VMOVDQA Y12, Y8
- VMOVDQA 192(BP), Y4
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y4
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
- VPADDD ·avx2IncMask<>+0(SB), Y1, Y2
- VMOVDQA Y4, 96(BP)
- VMOVDQA Y1, 128(BP)
- VMOVDQA Y2, 160(BP)
+ // and here
+ ADDQ 496(SI), R10
+ ADCQ 504(SI), R11
+ ADCQ $0x01, R12
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ VPERM2I128 $0x02, Y6, Y10, Y0
+ VPERM2I128 $0x02, Y8, Y2, Y14
+ VPERM2I128 $0x13, Y6, Y10, Y12
+ VPERM2I128 $0x13, Y8, Y2, Y4
+ VPXOR 256(SI), Y0, Y0
+ VPXOR 288(SI), Y14, Y14
+ VPXOR 320(SI), Y12, Y12
+ VPXOR 352(SI), Y4, Y4
+ VMOVDQU Y0, 256(DI)
+ VMOVDQU Y14, 288(DI)
+ VMOVDQU Y12, 320(DI)
+ VMOVDQU Y4, 352(DI)
+ VPERM2I128 $0x02, Y7, Y11, Y0
+ VPERM2I128 $0x02, 224(BP), Y3, Y14
+ VPERM2I128 $0x13, Y7, Y11, Y12
+ VPERM2I128 $0x13, 224(BP), Y3, Y4
+ VPXOR 384(SI), Y0, Y0
+ VPXOR 416(SI), Y14, Y14
+ VPXOR 448(SI), Y12, Y12
+ VPXOR 480(SI), Y4, Y4
+ VMOVDQU Y0, 384(DI)
+ VMOVDQU Y14, 416(DI)
+ VMOVDQU Y12, 448(DI)
+ VMOVDQU Y4, 480(DI)
+ LEAQ 512(SI), SI
+ LEAQ 512(DI), DI
+ SUBQ $0x00000200, BX
+ JMP openAVX2MainLoop
- // Compute the number of iterations that will hash two blocks of data
- MOVQ BX, 224(BP)
- MOVQ BX, CX
- SUBQ $0x00000100, CX
- SHRQ $0x04, CX
- ADDQ $0x06, CX
- MOVQ $0x0000000a, R9
- CMPQ CX, $0x0a
- CMOVQGT R9, CX
- MOVQ SI, BX
- XORQ R9, R9
+openAVX2MainLoopDone:
+ // Handle the various tail sizes efficiently
+ TESTQ BX, BX
+ JE openSSEFinalize
+ CMPQ BX, $0x80
+ JBE openAVX2Tail128
+ CMPQ BX, $0x00000100
+ JBE openAVX2Tail256
+ CMPQ BX, $0x00000180
+ JBE openAVX2Tail384
+ JMP openAVX2Tail512
-openAVX2Tail384LoopB:
- ADDQ (BX), R10
- ADCQ 8(BX), R11
+openSSEFinalize:
+ // Hash in the PT, AAD lengths
+ ADDQ ad_len+80(FP), R10
+ ADCQ src_len+56(FP), R11
ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
+ MOVQ (BP), AX
+ MOVQ AX, R15
+ MULQ R10
+ MOVQ AX, R13
+ MOVQ DX, R14
+ MOVQ (BP), AX
+ MULQ R11
IMULQ R12, R15
- MULXQ R11, AX, DX
ADDQ AX, R14
ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
+ MOVQ 8(BP), AX
+ MOVQ AX, R8
+ MULQ R10
+ ADDQ AX, R14
+ ADCQ $0x00, DX
+ MOVQ DX, R10
+ MOVQ 8(BP), AX
+ MULQ R11
ADDQ AX, R15
+ ADCQ $0x00, DX
+ IMULQ R12, R8
+ ADDQ R10, R15
ADCQ DX, R8
MOVQ R13, R10
MOVQ R14, R11
@@ -4075,174 +797,261 @@ openAVX2Tail384LoopB:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
- LEAQ 16(BX), BX
-openAVX2Tail384LoopA:
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
- VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
- VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y10, Y6, Y6
- VPXOR Y6, Y2, Y2
- VPSHUFB ·rol16<>+0(SB), Y2, Y2
- VPADDD Y2, Y8, Y8
- VPXOR Y8, Y10, Y10
- VPSLLD $0x0c, Y10, Y3
- VPSRLD $0x14, Y10, Y10
- VPXOR Y3, Y10, Y10
- VPADDD Y10, Y6, Y6
- VPXOR Y6, Y2, Y2
- VPSHUFB ·rol8<>+0(SB), Y2, Y2
- VPADDD Y2, Y8, Y8
- VPXOR Y8, Y10, Y10
- VPSLLD $0x07, Y10, Y3
- VPSRLD $0x19, Y10, Y10
- VPXOR Y3, Y10, Y10
- VPALIGNR $0x04, Y14, Y14, Y14
- VPALIGNR $0x04, Y9, Y9, Y9
- VPALIGNR $0x04, Y10, Y10, Y10
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x08, Y8, Y8, Y8
- VPALIGNR $0x0c, Y4, Y4, Y4
- VPALIGNR $0x0c, Y1, Y1, Y1
- VPALIGNR $0x0c, Y2, Y2, Y2
- ADDQ (BX), R10
- ADCQ 8(BX), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 16(BX), BX
- INCQ R9
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x0c, Y14, Y3
- VPSRLD $0x14, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y14, Y0, Y0
- VPXOR Y0, Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPADDD Y4, Y12, Y12
- VPXOR Y12, Y14, Y14
- VPSLLD $0x07, Y14, Y3
- VPSRLD $0x19, Y14, Y14
- VPXOR Y3, Y14, Y14
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x0c, Y9, Y3
- VPSRLD $0x14, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y9, Y5, Y5
- VPXOR Y5, Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPADDD Y1, Y13, Y13
- VPXOR Y13, Y9, Y9
- VPSLLD $0x07, Y9, Y3
- VPSRLD $0x19, Y9, Y9
- VPXOR Y3, Y9, Y9
- VPADDD Y10, Y6, Y6
- VPXOR Y6, Y2, Y2
- VPSHUFB ·rol16<>+0(SB), Y2, Y2
- VPADDD Y2, Y8, Y8
- VPXOR Y8, Y10, Y10
- VPSLLD $0x0c, Y10, Y3
- VPSRLD $0x14, Y10, Y10
- VPXOR Y3, Y10, Y10
- VPADDD Y10, Y6, Y6
- VPXOR Y6, Y2, Y2
- VPSHUFB ·rol8<>+0(SB), Y2, Y2
- VPADDD Y2, Y8, Y8
- VPXOR Y8, Y10, Y10
- VPSLLD $0x07, Y10, Y3
- VPSRLD $0x19, Y10, Y10
- VPXOR Y3, Y10, Y10
- VPALIGNR $0x0c, Y14, Y14, Y14
- VPALIGNR $0x0c, Y9, Y9, Y9
- VPALIGNR $0x0c, Y10, Y10, Y10
- VPALIGNR $0x08, Y12, Y12, Y12
- VPALIGNR $0x08, Y13, Y13, Y13
- VPALIGNR $0x08, Y8, Y8, Y8
- VPALIGNR $0x04, Y4, Y4, Y4
- VPALIGNR $0x04, Y1, Y1, Y1
- VPALIGNR $0x04, Y2, Y2, Y2
- CMPQ R9, CX
- JB openAVX2Tail384LoopB
- CMPQ R9, $0x0a
- JNE openAVX2Tail384LoopA
- MOVQ BX, R9
- SUBQ SI, BX
- MOVQ BX, CX
- MOVQ 224(BP), BX
+ // Final reduce
+ MOVQ R10, R13
+ MOVQ R11, R14
+ MOVQ R12, R15
+ SUBQ $-5, R10
+ SBBQ $-1, R11
+ SBBQ $0x03, R12
+ CMOVQCS R13, R10
+ CMOVQCS R14, R11
+ CMOVQCS R15, R12
+
+ // Add in the "s" part of the key
+ ADDQ 16(BP), R10
+ ADCQ 24(BP), R11
+
+ // Finally, constant time compare to the tag at the end of the message
+ XORQ AX, AX
+ MOVQ $0x00000001, DX
+ XORQ (SI), R10
+ XORQ 8(SI), R11
+ ORQ R11, R10
+ CMOVQEQ DX, AX
+
+ // Return true iff tags are equal
+ MOVB AX, ret+96(FP)
+ RET
+
+openSSETail16:
+ TESTQ BX, BX
+ JE openSSEFinalize
+
+ // We can safely load the CT from the end, because it is padded with the MAC
+ MOVQ BX, R9
+ SHLQ $0x04, R9
+ LEAQ ·andMask<>+0(SB), R13
+ MOVOU (SI), X12
+ ADDQ BX, SI
+ PAND -16(R13)(R9*1), X12
+ MOVO X12, 64(BP)
+ MOVQ X12, R13
+ MOVQ 72(BP), R14
+ PXOR X1, X12
+
+ // We can only store one byte at a time, since plaintext can be shorter than 16 bytes
+openSSETail16Store:
+ MOVQ X12, R8
+ MOVB R8, (DI)
+ PSRLDQ $0x01, X12
+ INCQ DI
+ DECQ BX
+ JNE openSSETail16Store
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x01, R12
+ MOVQ (BP), AX
+ MOVQ AX, R15
+ MULQ R10
+ MOVQ AX, R13
+ MOVQ DX, R14
+ MOVQ (BP), AX
+ MULQ R11
+ IMULQ R12, R15
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), AX
+ MOVQ AX, R8
+ MULQ R10
+ ADDQ AX, R14
+ ADCQ $0x00, DX
+ MOVQ DX, R10
+ MOVQ 8(BP), AX
+ MULQ R11
+ ADDQ AX, R15
+ ADCQ $0x00, DX
+ IMULQ R12, R8
+ ADDQ R10, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ JMP openSSEFinalize
-openAVX2Tail384Hash:
- ADDQ $0x10, CX
- CMPQ CX, BX
- JGT openAVX2Tail384HashEnd
- ADDQ (R9), R10
- ADCQ 8(R9), R11
+openAVX2192:
+ VMOVDQA Y0, Y5
+ VMOVDQA Y14, Y9
+ VMOVDQA Y12, Y13
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
+ VMOVDQA Y0, Y6
+ VMOVDQA Y14, Y10
+ VMOVDQA Y12, Y8
+ VMOVDQA Y4, Y2
+ VMOVDQA Y1, Y15
+ MOVQ $0x0000000a, R9
+
+openAVX2192InnerCipherLoop:
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x0c, Y14, Y3
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPALIGNR $0x04, Y14, Y14, Y14
+ VPALIGNR $0x04, Y9, Y9, Y9
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x0c, Y4, Y4, Y4
+ VPALIGNR $0x0c, Y1, Y1, Y1
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x0c, Y14, Y3
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPALIGNR $0x0c, Y14, Y14, Y14
+ VPALIGNR $0x0c, Y9, Y9, Y9
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x04, Y4, Y4, Y4
+ VPALIGNR $0x04, Y1, Y1, Y1
+ DECQ R9
+ JNE openAVX2192InnerCipherLoop
+ VPADDD Y6, Y0, Y0
+ VPADDD Y6, Y5, Y5
+ VPADDD Y10, Y14, Y14
+ VPADDD Y10, Y9, Y9
+ VPADDD Y8, Y12, Y12
+ VPADDD Y8, Y13, Y13
+ VPADDD Y2, Y4, Y4
+ VPADDD Y15, Y1, Y1
+ VPERM2I128 $0x02, Y0, Y14, Y3
+
+ // Clamp and store poly key
+ VPAND ·polyClampMask<>+0(SB), Y3, Y3
+ VMOVDQA Y3, (BP)
+
+ // Stream for up to 192 bytes
+ VPERM2I128 $0x13, Y0, Y14, Y0
+ VPERM2I128 $0x13, Y12, Y4, Y14
+ VPERM2I128 $0x02, Y5, Y9, Y12
+ VPERM2I128 $0x02, Y13, Y1, Y4
+ VPERM2I128 $0x13, Y5, Y9, Y5
+ VPERM2I128 $0x13, Y13, Y1, Y9
+
+openAVX2ShortOpen:
+ // Hash
+ MOVQ ad_len+80(FP), R9
+ CALL polyHashADInternal<>(SB)
+
+openAVX2ShortOpenLoop:
+ CMPQ BX, $0x20
+ JB openAVX2ShortTail32
+ SUBQ $0x20, BX
+
+ // Load for hashing
+ ADDQ (SI), R10
+ ADCQ 8(SI), R11
+ ADCQ $0x01, R12
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ ADDQ 16(SI), R10
+ ADCQ 24(SI), R11
ADCQ $0x01, R12
MOVQ (BP), DX
MOVQ DX, R15
@@ -4275,83 +1084,34 @@ openAVX2Tail384Hash:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
- LEAQ 16(R9), R9
- JMP openAVX2Tail384Hash
-openAVX2Tail384HashEnd:
- VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
- VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
- VPADDD ·chacha20Constants<>+0(SB), Y6, Y6
- VPADDD 32(BP), Y14, Y14
- VPADDD 32(BP), Y9, Y9
- VPADDD 32(BP), Y10, Y10
- VPADDD 64(BP), Y12, Y12
- VPADDD 64(BP), Y13, Y13
- VPADDD 64(BP), Y8, Y8
- VPADDD 96(BP), Y4, Y4
- VPADDD 128(BP), Y1, Y1
- VPADDD 160(BP), Y2, Y2
- VPERM2I128 $0x02, Y0, Y14, Y3
- VPERM2I128 $0x02, Y12, Y4, Y7
- VPERM2I128 $0x13, Y0, Y14, Y11
- VPERM2I128 $0x13, Y12, Y4, Y15
- VPXOR (SI), Y3, Y3
- VPXOR 32(SI), Y7, Y7
- VPXOR 64(SI), Y11, Y11
- VPXOR 96(SI), Y15, Y15
- VMOVDQU Y3, (DI)
- VMOVDQU Y7, 32(DI)
- VMOVDQU Y11, 64(DI)
- VMOVDQU Y15, 96(DI)
- VPERM2I128 $0x02, Y5, Y9, Y3
- VPERM2I128 $0x02, Y13, Y1, Y7
- VPERM2I128 $0x13, Y5, Y9, Y11
- VPERM2I128 $0x13, Y13, Y1, Y15
- VPXOR 128(SI), Y3, Y3
- VPXOR 160(SI), Y7, Y7
- VPXOR 192(SI), Y11, Y11
- VPXOR 224(SI), Y15, Y15
- VMOVDQU Y3, 128(DI)
- VMOVDQU Y7, 160(DI)
- VMOVDQU Y11, 192(DI)
- VMOVDQU Y15, 224(DI)
- VPERM2I128 $0x02, Y6, Y10, Y0
- VPERM2I128 $0x02, Y8, Y2, Y14
- VPERM2I128 $0x13, Y6, Y10, Y12
- VPERM2I128 $0x13, Y8, Y2, Y4
- LEAQ 256(SI), SI
- LEAQ 256(DI), DI
- SUBQ $0x00000100, BX
- JMP openAVX2TailLoop
+ // Load for decryption
+ VPXOR (SI), Y0, Y0
+ VMOVDQU Y0, (DI)
+ LEAQ 32(SI), SI
+ LEAQ 32(DI), DI
-openAVX2Tail512:
- VMOVDQU ·chacha20Constants<>+0(SB), Y0
- VMOVDQA Y0, Y5
- VMOVDQA Y0, Y6
- VMOVDQA Y0, Y7
- VMOVDQA 32(BP), Y14
- VMOVDQA Y14, Y9
- VMOVDQA Y14, Y10
- VMOVDQA Y14, Y11
- VMOVDQA 64(BP), Y12
- VMOVDQA Y12, Y13
- VMOVDQA Y12, Y8
- VMOVDQA Y12, Y15
- VMOVDQA 192(BP), Y4
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y4
- VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
- VPADDD ·avx2IncMask<>+0(SB), Y1, Y2
- VPADDD ·avx2IncMask<>+0(SB), Y2, Y3
- VMOVDQA Y4, 96(BP)
- VMOVDQA Y1, 128(BP)
- VMOVDQA Y2, 160(BP)
- VMOVDQA Y3, 192(BP)
- XORQ CX, CX
- MOVQ SI, R9
+ // Shift stream left
+ VMOVDQA Y14, Y0
+ VMOVDQA Y12, Y14
+ VMOVDQA Y4, Y12
+ VMOVDQA Y5, Y4
+ VMOVDQA Y9, Y5
+ VMOVDQA Y13, Y9
+ VMOVDQA Y1, Y13
+ VMOVDQA Y6, Y1
+ VMOVDQA Y10, Y6
+ JMP openAVX2ShortOpenLoop
+
+openAVX2ShortTail32:
+ CMPQ BX, $0x10
+ VMOVDQA X0, X1
+ JB openAVX2ShortDone
+ SUBQ $0x10, BX
-openAVX2Tail512LoopB:
- ADDQ (R9), R10
- ADCQ 8(R9), R11
+ // Load for hashing
+ ADDQ (SI), R10
+ ADCQ 8(SI), R11
ADCQ $0x01, R12
MOVQ (BP), DX
MOVQ DX, R15
@@ -4384,252 +1144,202 @@ openAVX2Tail512LoopB:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
- LEAQ 16(R9), R9
-openAVX2Tail512LoopA:
+ // Load for decryption
+ VPXOR (SI), X0, X12
+ VMOVDQU X12, (DI)
+ LEAQ 16(SI), SI
+ LEAQ 16(DI), DI
+ VPERM2I128 $0x11, Y0, Y0, Y0
+ VMOVDQA X0, X1
+
+openAVX2ShortDone:
+ VZEROUPPER
+ JMP openSSETail16
+
+openAVX2320:
+ VMOVDQA Y0, Y5
+ VMOVDQA Y14, Y9
+ VMOVDQA Y12, Y13
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
+ VMOVDQA Y0, Y6
+ VMOVDQA Y14, Y10
+ VMOVDQA Y12, Y8
+ VPADDD ·avx2IncMask<>+0(SB), Y1, Y2
+ VMOVDQA Y14, Y7
+ VMOVDQA Y12, Y11
+ VMOVDQA Y4, Y15
+ MOVQ $0x0000000a, R9
+
+openAVX2320InnerCipherLoop:
VPADDD Y14, Y0, Y0
- VPADDD Y9, Y5, Y5
- VPADDD Y10, Y6, Y6
- VPADDD Y11, Y7, Y7
VPXOR Y0, Y4, Y4
- VPXOR Y5, Y1, Y1
- VPXOR Y6, Y2, Y2
- VPXOR Y7, Y3, Y3
VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y2, Y2
- VPSHUFB ·rol16<>+0(SB), Y3, Y3
VPADDD Y4, Y12, Y12
- VPADDD Y1, Y13, Y13
- VPADDD Y2, Y8, Y8
- VPADDD Y3, Y15, Y15
VPXOR Y12, Y14, Y14
- VPXOR Y13, Y9, Y9
- VPXOR Y8, Y10, Y10
- VPXOR Y15, Y11, Y11
- VMOVDQA Y15, 224(BP)
- VPSLLD $0x0c, Y14, Y15
+ VPSLLD $0x0c, Y14, Y3
VPSRLD $0x14, Y14, Y14
- VPXOR Y15, Y14, Y14
- VPSLLD $0x0c, Y9, Y15
- VPSRLD $0x14, Y9, Y9
- VPXOR Y15, Y9, Y9
- VPSLLD $0x0c, Y10, Y15
- VPSRLD $0x14, Y10, Y10
- VPXOR Y15, Y10, Y10
- VPSLLD $0x0c, Y11, Y15
- VPSRLD $0x14, Y11, Y11
- VPXOR Y15, Y11, Y11
- VMOVDQA 224(BP), Y15
- ADDQ (R9), R10
- ADCQ 8(R9), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
+ VPXOR Y3, Y14, Y14
VPADDD Y14, Y0, Y0
- VPADDD Y9, Y5, Y5
- VPADDD Y10, Y6, Y6
- VPADDD Y11, Y7, Y7
VPXOR Y0, Y4, Y4
- VPXOR Y5, Y1, Y1
- VPXOR Y6, Y2, Y2
- VPXOR Y7, Y3, Y3
VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
- VPSHUFB ·rol8<>+0(SB), Y2, Y2
- VPSHUFB ·rol8<>+0(SB), Y3, Y3
VPADDD Y4, Y12, Y12
- VPADDD Y1, Y13, Y13
- VPADDD Y2, Y8, Y8
- VPADDD Y3, Y15, Y15
VPXOR Y12, Y14, Y14
- VPXOR Y13, Y9, Y9
- VPXOR Y8, Y10, Y10
- VPXOR Y15, Y11, Y11
- VMOVDQA Y15, 224(BP)
- VPSLLD $0x07, Y14, Y15
+ VPSLLD $0x07, Y14, Y3
VPSRLD $0x19, Y14, Y14
- VPXOR Y15, Y14, Y14
- VPSLLD $0x07, Y9, Y15
+ VPXOR Y3, Y14, Y14
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
VPSRLD $0x19, Y9, Y9
- VPXOR Y15, Y9, Y9
- VPSLLD $0x07, Y10, Y15
+ VPXOR Y3, Y9, Y9
+ VPADDD Y10, Y6, Y6
+ VPXOR Y6, Y2, Y2
+ VPSHUFB ·rol16<>+0(SB), Y2, Y2
+ VPADDD Y2, Y8, Y8
+ VPXOR Y8, Y10, Y10
+ VPSLLD $0x0c, Y10, Y3
+ VPSRLD $0x14, Y10, Y10
+ VPXOR Y3, Y10, Y10
+ VPADDD Y10, Y6, Y6
+ VPXOR Y6, Y2, Y2
+ VPSHUFB ·rol8<>+0(SB), Y2, Y2
+ VPADDD Y2, Y8, Y8
+ VPXOR Y8, Y10, Y10
+ VPSLLD $0x07, Y10, Y3
VPSRLD $0x19, Y10, Y10
- VPXOR Y15, Y10, Y10
- VPSLLD $0x07, Y11, Y15
- VPSRLD $0x19, Y11, Y11
- VPXOR Y15, Y11, Y11
- VMOVDQA 224(BP), Y15
+ VPXOR Y3, Y10, Y10
VPALIGNR $0x04, Y14, Y14, Y14
VPALIGNR $0x04, Y9, Y9, Y9
VPALIGNR $0x04, Y10, Y10, Y10
- VPALIGNR $0x04, Y11, Y11, Y11
VPALIGNR $0x08, Y12, Y12, Y12
VPALIGNR $0x08, Y13, Y13, Y13
VPALIGNR $0x08, Y8, Y8, Y8
- VPALIGNR $0x08, Y15, Y15, Y15
VPALIGNR $0x0c, Y4, Y4, Y4
VPALIGNR $0x0c, Y1, Y1, Y1
VPALIGNR $0x0c, Y2, Y2, Y2
- VPALIGNR $0x0c, Y3, Y3, Y3
VPADDD Y14, Y0, Y0
- VPADDD Y9, Y5, Y5
- VPADDD Y10, Y6, Y6
- VPADDD Y11, Y7, Y7
VPXOR Y0, Y4, Y4
- VPXOR Y5, Y1, Y1
- VPXOR Y6, Y2, Y2
- VPXOR Y7, Y3, Y3
VPSHUFB ·rol16<>+0(SB), Y4, Y4
- VPSHUFB ·rol16<>+0(SB), Y1, Y1
- VPSHUFB ·rol16<>+0(SB), Y2, Y2
- VPSHUFB ·rol16<>+0(SB), Y3, Y3
VPADDD Y4, Y12, Y12
- VPADDD Y1, Y13, Y13
- VPADDD Y2, Y8, Y8
- VPADDD Y3, Y15, Y15
VPXOR Y12, Y14, Y14
- VPXOR Y13, Y9, Y9
- VPXOR Y8, Y10, Y10
- VPXOR Y15, Y11, Y11
- ADDQ 16(R9), R10
- ADCQ 24(R9), R11
- ADCQ $0x01, R12
- MOVQ (BP), DX
- MOVQ DX, R15
- MULXQ R10, R13, R14
- IMULQ R12, R15
- MULXQ R11, AX, DX
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), DX
- MULXQ R10, R10, AX
- ADDQ R10, R14
- MULXQ R11, R11, R8
- ADCQ R11, R15
- ADCQ $0x00, R8
- IMULQ R12, DX
- ADDQ AX, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 32(R9), R9
- VMOVDQA Y15, 224(BP)
- VPSLLD $0x0c, Y14, Y15
+ VPSLLD $0x0c, Y14, Y3
VPSRLD $0x14, Y14, Y14
- VPXOR Y15, Y14, Y14
- VPSLLD $0x0c, Y9, Y15
- VPSRLD $0x14, Y9, Y9
- VPXOR Y15, Y9, Y9
- VPSLLD $0x0c, Y10, Y15
- VPSRLD $0x14, Y10, Y10
- VPXOR Y15, Y10, Y10
- VPSLLD $0x0c, Y11, Y15
- VPSRLD $0x14, Y11, Y11
- VPXOR Y15, Y11, Y11
- VMOVDQA 224(BP), Y15
+ VPXOR Y3, Y14, Y14
VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y10, Y6, Y6
+ VPXOR Y6, Y2, Y2
+ VPSHUFB ·rol16<>+0(SB), Y2, Y2
+ VPADDD Y2, Y8, Y8
+ VPXOR Y8, Y10, Y10
+ VPSLLD $0x0c, Y10, Y3
+ VPSRLD $0x14, Y10, Y10
+ VPXOR Y3, Y10, Y10
VPADDD Y10, Y6, Y6
- VPADDD Y11, Y7, Y7
- VPXOR Y0, Y4, Y4
- VPXOR Y5, Y1, Y1
VPXOR Y6, Y2, Y2
- VPXOR Y7, Y3, Y3
- VPSHUFB ·rol8<>+0(SB), Y4, Y4
- VPSHUFB ·rol8<>+0(SB), Y1, Y1
VPSHUFB ·rol8<>+0(SB), Y2, Y2
- VPSHUFB ·rol8<>+0(SB), Y3, Y3
- VPADDD Y4, Y12, Y12
- VPADDD Y1, Y13, Y13
VPADDD Y2, Y8, Y8
- VPADDD Y3, Y15, Y15
- VPXOR Y12, Y14, Y14
- VPXOR Y13, Y9, Y9
VPXOR Y8, Y10, Y10
- VPXOR Y15, Y11, Y11
- VMOVDQA Y15, 224(BP)
- VPSLLD $0x07, Y14, Y15
- VPSRLD $0x19, Y14, Y14
- VPXOR Y15, Y14, Y14
- VPSLLD $0x07, Y9, Y15
- VPSRLD $0x19, Y9, Y9
- VPXOR Y15, Y9, Y9
- VPSLLD $0x07, Y10, Y15
+ VPSLLD $0x07, Y10, Y3
VPSRLD $0x19, Y10, Y10
- VPXOR Y15, Y10, Y10
- VPSLLD $0x07, Y11, Y15
- VPSRLD $0x19, Y11, Y11
- VPXOR Y15, Y11, Y11
- VMOVDQA 224(BP), Y15
+ VPXOR Y3, Y10, Y10
VPALIGNR $0x0c, Y14, Y14, Y14
VPALIGNR $0x0c, Y9, Y9, Y9
VPALIGNR $0x0c, Y10, Y10, Y10
- VPALIGNR $0x0c, Y11, Y11, Y11
VPALIGNR $0x08, Y12, Y12, Y12
VPALIGNR $0x08, Y13, Y13, Y13
VPALIGNR $0x08, Y8, Y8, Y8
- VPALIGNR $0x08, Y15, Y15, Y15
VPALIGNR $0x04, Y4, Y4, Y4
VPALIGNR $0x04, Y1, Y1, Y1
VPALIGNR $0x04, Y2, Y2, Y2
- VPALIGNR $0x04, Y3, Y3, Y3
- INCQ CX
- CMPQ CX, $0x04
- JLT openAVX2Tail512LoopB
- CMPQ CX, $0x0a
- JNE openAVX2Tail512LoopA
- MOVQ BX, CX
- SUBQ $0x00000180, CX
- ANDQ $-16, CX
+ DECQ R9
+ JNE openAVX2320InnerCipherLoop
+ VMOVDQA ·chacha20Constants<>+0(SB), Y3
+ VPADDD Y3, Y0, Y0
+ VPADDD Y3, Y5, Y5
+ VPADDD Y3, Y6, Y6
+ VPADDD Y7, Y14, Y14
+ VPADDD Y7, Y9, Y9
+ VPADDD Y7, Y10, Y10
+ VPADDD Y11, Y12, Y12
+ VPADDD Y11, Y13, Y13
+ VPADDD Y11, Y8, Y8
+ VMOVDQA ·avx2IncMask<>+0(SB), Y3
+ VPADDD Y15, Y4, Y4
+ VPADDD Y3, Y15, Y15
+ VPADDD Y15, Y1, Y1
+ VPADDD Y3, Y15, Y15
+ VPADDD Y15, Y2, Y2
-openAVX2Tail512HashLoop:
- TESTQ CX, CX
- JE openAVX2Tail512HashEnd
- ADDQ (R9), R10
- ADCQ 8(R9), R11
+ // Clamp and store poly key
+ VPERM2I128 $0x02, Y0, Y14, Y3
+ VPAND ·polyClampMask<>+0(SB), Y3, Y3
+ VMOVDQA Y3, (BP)
+
+ // Stream for up to 320 bytes
+ VPERM2I128 $0x13, Y0, Y14, Y0
+ VPERM2I128 $0x13, Y12, Y4, Y14
+ VPERM2I128 $0x02, Y5, Y9, Y12
+ VPERM2I128 $0x02, Y13, Y1, Y4
+ VPERM2I128 $0x13, Y5, Y9, Y5
+ VPERM2I128 $0x13, Y13, Y1, Y9
+ VPERM2I128 $0x02, Y6, Y10, Y13
+ VPERM2I128 $0x02, Y8, Y2, Y1
+ VPERM2I128 $0x13, Y6, Y10, Y6
+ VPERM2I128 $0x13, Y8, Y2, Y10
+ JMP openAVX2ShortOpen
+
+openAVX2Tail128:
+ // Need to decrypt up to 128 bytes - prepare two blocks
+ VMOVDQA ·chacha20Constants<>+0(SB), Y5
+ VMOVDQA 32(BP), Y9
+ VMOVDQA 64(BP), Y13
+ VMOVDQA 192(BP), Y1
+ VPADDD ·avx2IncMask<>+0(SB), Y1, Y1
+ VMOVDQA Y1, Y4
+ XORQ R9, R9
+ MOVQ BX, CX
+ ANDQ $-16, CX
+ TESTQ CX, CX
+ JE openAVX2Tail128LoopB
+
+openAVX2Tail128LoopA:
+ ADDQ (SI)(R9*1), R10
+ ADCQ 8(SI)(R9*1), R11
ADCQ $0x01, R12
MOVQ (BP), DX
MOVQ DX, R15
@@ -4662,884 +1372,137 @@ openAVX2Tail512HashLoop:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
- LEAQ 16(R9), R9
- SUBQ $0x10, CX
- JMP openAVX2Tail512HashLoop
-openAVX2Tail512HashEnd:
- VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
+openAVX2Tail128LoopB:
+ ADDQ $0x10, R9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPALIGNR $0x04, Y9, Y9, Y9
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x0c, Y1, Y1, Y1
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPALIGNR $0x0c, Y9, Y9, Y9
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x04, Y1, Y1, Y1
+ CMPQ R9, CX
+ JB openAVX2Tail128LoopA
+ CMPQ R9, $0xa0
+ JNE openAVX2Tail128LoopB
VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
- VPADDD ·chacha20Constants<>+0(SB), Y6, Y6
- VPADDD ·chacha20Constants<>+0(SB), Y7, Y7
- VPADDD 32(BP), Y14, Y14
VPADDD 32(BP), Y9, Y9
- VPADDD 32(BP), Y10, Y10
- VPADDD 32(BP), Y11, Y11
- VPADDD 64(BP), Y12, Y12
VPADDD 64(BP), Y13, Y13
- VPADDD 64(BP), Y8, Y8
- VPADDD 64(BP), Y15, Y15
- VPADDD 96(BP), Y4, Y4
- VPADDD 128(BP), Y1, Y1
- VPADDD 160(BP), Y2, Y2
- VPADDD 192(BP), Y3, Y3
- VMOVDQA Y15, 224(BP)
- VPERM2I128 $0x02, Y0, Y14, Y15
- VPERM2I128 $0x13, Y0, Y14, Y14
- VPERM2I128 $0x02, Y12, Y4, Y0
- VPERM2I128 $0x13, Y12, Y4, Y12
- VPXOR (SI), Y15, Y15
- VPXOR 32(SI), Y0, Y0
- VPXOR 64(SI), Y14, Y14
- VPXOR 96(SI), Y12, Y12
- VMOVDQU Y15, (DI)
- VMOVDQU Y0, 32(DI)
- VMOVDQU Y14, 64(DI)
- VMOVDQU Y12, 96(DI)
- VPERM2I128 $0x02, Y5, Y9, Y0
- VPERM2I128 $0x02, Y13, Y1, Y14
- VPERM2I128 $0x13, Y5, Y9, Y12
- VPERM2I128 $0x13, Y13, Y1, Y4
- VPXOR 128(SI), Y0, Y0
- VPXOR 160(SI), Y14, Y14
- VPXOR 192(SI), Y12, Y12
- VPXOR 224(SI), Y4, Y4
- VMOVDQU Y0, 128(DI)
- VMOVDQU Y14, 160(DI)
- VMOVDQU Y12, 192(DI)
- VMOVDQU Y4, 224(DI)
- VPERM2I128 $0x02, Y6, Y10, Y0
- VPERM2I128 $0x02, Y8, Y2, Y14
- VPERM2I128 $0x13, Y6, Y10, Y12
- VPERM2I128 $0x13, Y8, Y2, Y4
- VPXOR 256(SI), Y0, Y0
- VPXOR 288(SI), Y14, Y14
- VPXOR 320(SI), Y12, Y12
- VPXOR 352(SI), Y4, Y4
- VMOVDQU Y0, 256(DI)
- VMOVDQU Y14, 288(DI)
- VMOVDQU Y12, 320(DI)
- VMOVDQU Y4, 352(DI)
- VPERM2I128 $0x02, Y7, Y11, Y0
- VPERM2I128 $0x02, 224(BP), Y3, Y14
- VPERM2I128 $0x13, Y7, Y11, Y12
- VPERM2I128 $0x13, 224(BP), Y3, Y4
- LEAQ 384(SI), SI
- LEAQ 384(DI), DI
- SUBQ $0x00000180, BX
- JMP openAVX2TailLoop
-
-DATA ·chacha20Constants<>+0(SB)/4, $0x61707865
-DATA ·chacha20Constants<>+4(SB)/4, $0x3320646e
-DATA ·chacha20Constants<>+8(SB)/4, $0x79622d32
-DATA ·chacha20Constants<>+12(SB)/4, $0x6b206574
-DATA ·chacha20Constants<>+16(SB)/4, $0x61707865
-DATA ·chacha20Constants<>+20(SB)/4, $0x3320646e
-DATA ·chacha20Constants<>+24(SB)/4, $0x79622d32
-DATA ·chacha20Constants<>+28(SB)/4, $0x6b206574
-GLOBL ·chacha20Constants<>(SB), RODATA|NOPTR, $32
-
-DATA ·polyClampMask<>+0(SB)/8, $0x0ffffffc0fffffff
-DATA ·polyClampMask<>+8(SB)/8, $0x0ffffffc0ffffffc
-DATA ·polyClampMask<>+16(SB)/8, $0xffffffffffffffff
-DATA ·polyClampMask<>+24(SB)/8, $0xffffffffffffffff
-GLOBL ·polyClampMask<>(SB), RODATA|NOPTR, $32
-
-DATA ·sseIncMask<>+0(SB)/8, $0x0000000000000001
-DATA ·sseIncMask<>+8(SB)/8, $0x0000000000000000
-GLOBL ·sseIncMask<>(SB), RODATA|NOPTR, $16
-
-DATA ·andMask<>+0(SB)/8, $0x00000000000000ff
-DATA ·andMask<>+8(SB)/8, $0x0000000000000000
-DATA ·andMask<>+16(SB)/8, $0x000000000000ffff
-DATA ·andMask<>+24(SB)/8, $0x0000000000000000
-DATA ·andMask<>+32(SB)/8, $0x0000000000ffffff
-DATA ·andMask<>+40(SB)/8, $0x0000000000000000
-DATA ·andMask<>+48(SB)/8, $0x00000000ffffffff
-DATA ·andMask<>+56(SB)/8, $0x0000000000000000
-DATA ·andMask<>+64(SB)/8, $0x000000ffffffffff
-DATA ·andMask<>+72(SB)/8, $0x0000000000000000
-DATA ·andMask<>+80(SB)/8, $0x0000ffffffffffff
-DATA ·andMask<>+88(SB)/8, $0x0000000000000000
-DATA ·andMask<>+96(SB)/8, $0x00ffffffffffffff
-DATA ·andMask<>+104(SB)/8, $0x0000000000000000
-DATA ·andMask<>+112(SB)/8, $0xffffffffffffffff
-DATA ·andMask<>+120(SB)/8, $0x0000000000000000
-DATA ·andMask<>+128(SB)/8, $0xffffffffffffffff
-DATA ·andMask<>+136(SB)/8, $0x00000000000000ff
-DATA ·andMask<>+144(SB)/8, $0xffffffffffffffff
-DATA ·andMask<>+152(SB)/8, $0x000000000000ffff
-DATA ·andMask<>+160(SB)/8, $0xffffffffffffffff
-DATA ·andMask<>+168(SB)/8, $0x0000000000ffffff
-DATA ·andMask<>+176(SB)/8, $0xffffffffffffffff
-DATA ·andMask<>+184(SB)/8, $0x00000000ffffffff
-DATA ·andMask<>+192(SB)/8, $0xffffffffffffffff
-DATA ·andMask<>+200(SB)/8, $0x000000ffffffffff
-DATA ·andMask<>+208(SB)/8, $0xffffffffffffffff
-DATA ·andMask<>+216(SB)/8, $0x0000ffffffffffff
-DATA ·andMask<>+224(SB)/8, $0xffffffffffffffff
-DATA ·andMask<>+232(SB)/8, $0x00ffffffffffffff
-GLOBL ·andMask<>(SB), RODATA|NOPTR, $240
+ VPADDD Y4, Y1, Y1
+ VPERM2I128 $0x02, Y5, Y9, Y0
+ VPERM2I128 $0x02, Y13, Y1, Y14
+ VPERM2I128 $0x13, Y5, Y9, Y12
+ VPERM2I128 $0x13, Y13, Y1, Y4
-DATA ·avx2InitMask<>+0(SB)/8, $0x0000000000000000
-DATA ·avx2InitMask<>+8(SB)/8, $0x0000000000000000
-DATA ·avx2InitMask<>+16(SB)/8, $0x0000000000000001
-DATA ·avx2InitMask<>+24(SB)/8, $0x0000000000000000
-GLOBL ·avx2InitMask<>(SB), RODATA|NOPTR, $32
+openAVX2TailLoop:
+ CMPQ BX, $0x20
+ JB openAVX2Tail
+ SUBQ $0x20, BX
-DATA ·rol16<>+0(SB)/8, $0x0504070601000302
-DATA ·rol16<>+8(SB)/8, $0x0d0c0f0e09080b0a
-DATA ·rol16<>+16(SB)/8, $0x0504070601000302
-DATA ·rol16<>+24(SB)/8, $0x0d0c0f0e09080b0a
-GLOBL ·rol16<>(SB), RODATA|NOPTR, $32
+ // Load for decryption
+ VPXOR (SI), Y0, Y0
+ VMOVDQU Y0, (DI)
+ LEAQ 32(SI), SI
+ LEAQ 32(DI), DI
+ VMOVDQA Y14, Y0
+ VMOVDQA Y12, Y14
+ VMOVDQA Y4, Y12
+ JMP openAVX2TailLoop
-DATA ·rol8<>+0(SB)/8, $0x0605040702010003
-DATA ·rol8<>+8(SB)/8, $0x0e0d0c0f0a09080b
-DATA ·rol8<>+16(SB)/8, $0x0605040702010003
-DATA ·rol8<>+24(SB)/8, $0x0e0d0c0f0a09080b
-GLOBL ·rol8<>(SB), RODATA|NOPTR, $32
+openAVX2Tail:
+ CMPQ BX, $0x10
+ VMOVDQA X0, X1
+ JB openAVX2TailDone
+ SUBQ $0x10, BX
-DATA ·avx2IncMask<>+0(SB)/8, $0x0000000000000002
-DATA ·avx2IncMask<>+8(SB)/8, $0x0000000000000000
-DATA ·avx2IncMask<>+16(SB)/8, $0x0000000000000002
-DATA ·avx2IncMask<>+24(SB)/8, $0x0000000000000000
-GLOBL ·avx2IncMask<>(SB), RODATA|NOPTR, $32
+ // Load for decryption
+ VPXOR (SI), X0, X12
+ VMOVDQU X12, (DI)
+ LEAQ 16(SI), SI
+ LEAQ 16(DI), DI
+ VPERM2I128 $0x11, Y0, Y0, Y0
+ VMOVDQA X0, X1
-// func chacha20Poly1305Seal(dst []byte, key []uint32, src []byte, ad []byte)
-// Requires: AVX, AVX2, BMI2, CMOV, SSE2
-TEXT ·chacha20Poly1305Seal(SB), $288-96
- MOVQ SP, BP
- ADDQ $0x20, BP
- ANDQ $-32, BP
- MOVQ dst_base+0(FP), DI
- MOVQ key_base+24(FP), R8
- MOVQ src_base+48(FP), SI
- MOVQ src_len+56(FP), BX
- MOVQ ad_base+72(FP), CX
- CMPB ·useAVX2+0(SB), $0x01
- JE chacha20Poly1305Seal_AVX2
+openAVX2TailDone:
+ VZEROUPPER
+ JMP openSSETail16
- // Special optimization, for very short buffers
- CMPQ BX, $0x80
- JBE sealSSE128
-
- // In the seal case - prepare the poly key + 3 blocks of stream in the first iteration
- MOVOU ·chacha20Constants<>+0(SB), X0
- MOVOU 16(R8), X3
- MOVOU 32(R8), X6
- MOVOU 48(R8), X9
-
- // Store state on stack for future use
- MOVO X3, 32(BP)
- MOVO X6, 48(BP)
-
- // Load state, increment counter blocks
- MOVO X0, X1
- MOVO X3, X4
- MOVO X6, X7
- MOVO X9, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X1, X2
- MOVO X4, X5
- MOVO X7, X8
- MOVO X10, X11
- PADDL ·sseIncMask<>+0(SB), X11
- MOVO X2, X12
- MOVO X5, X13
- MOVO X8, X14
- MOVO X11, X15
- PADDL ·sseIncMask<>+0(SB), X15
-
- // Store counters
- MOVO X9, 80(BP)
- MOVO X10, 96(BP)
- MOVO X11, 112(BP)
- MOVO X15, 128(BP)
- MOVQ $0x0000000a, R9
-
-sealSSEIntroLoop:
- MOVO X14, 64(BP)
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X3
- PXOR X14, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X3
- PXOR X14, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X4
- PXOR X14, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X4
- PXOR X14, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X5
- PXOR X14, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X5
- PXOR X14, X5
- MOVO 64(BP), X14
- MOVO X7, 64(BP)
- PADDD X13, X12
- PXOR X12, X15
- ROL16(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x0c, X7
- PSRLL $0x14, X13
- PXOR X7, X13
- PADDD X13, X12
- PXOR X12, X15
- ROL8(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x07, X7
- PSRLL $0x19, X13
- PXOR X7, X13
- MOVO 64(BP), X7
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x0c
- MOVO X14, 64(BP)
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X3
- PXOR X14, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X3
- PXOR X14, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X4
- PXOR X14, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X4
- PXOR X14, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X5
- PXOR X14, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X5
- PXOR X14, X5
- MOVO 64(BP), X14
- MOVO X7, 64(BP)
- PADDD X13, X12
- PXOR X12, X15
- ROL16(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x0c, X7
- PSRLL $0x14, X13
- PXOR X7, X13
- PADDD X13, X12
- PXOR X12, X15
- ROL8(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x07, X7
- PSRLL $0x19, X13
- PXOR X7, X13
- MOVO 64(BP), X7
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x04
- DECQ R9
- JNE sealSSEIntroLoop
-
- // Add in the state
- PADDD ·chacha20Constants<>+0(SB), X0
- PADDD ·chacha20Constants<>+0(SB), X1
- PADDD ·chacha20Constants<>+0(SB), X2
- PADDD ·chacha20Constants<>+0(SB), X12
- PADDD 32(BP), X3
- PADDD 32(BP), X4
- PADDD 32(BP), X5
- PADDD 32(BP), X13
- PADDD 48(BP), X7
- PADDD 48(BP), X8
- PADDD 48(BP), X14
- PADDD 96(BP), X10
- PADDD 112(BP), X11
- PADDD 128(BP), X15
-
- // Clamp and store the key
- PAND ·polyClampMask<>+0(SB), X0
- MOVO X0, (BP)
- MOVO X3, 16(BP)
-
- // Hash AAD
- MOVQ ad_len+80(FP), R9
- CALL polyHashADInternal<>(SB)
- MOVOU (SI), X0
- MOVOU 16(SI), X3
- MOVOU 32(SI), X6
- MOVOU 48(SI), X9
- PXOR X0, X1
- PXOR X3, X4
- PXOR X6, X7
- PXOR X9, X10
- MOVOU X1, (DI)
- MOVOU X4, 16(DI)
- MOVOU X7, 32(DI)
- MOVOU X10, 48(DI)
- MOVOU 64(SI), X0
- MOVOU 80(SI), X3
- MOVOU 96(SI), X6
- MOVOU 112(SI), X9
- PXOR X0, X2
- PXOR X3, X5
- PXOR X6, X8
- PXOR X9, X11
- MOVOU X2, 64(DI)
- MOVOU X5, 80(DI)
- MOVOU X8, 96(DI)
- MOVOU X11, 112(DI)
- MOVQ $0x00000080, CX
- SUBQ $0x80, BX
- LEAQ 128(SI), SI
- MOVO X12, X1
- MOVO X13, X4
- MOVO X14, X7
- MOVO X15, X10
- CMPQ BX, $0x40
- JBE sealSSE128SealHash
- MOVOU (SI), X0
- MOVOU 16(SI), X3
- MOVOU 32(SI), X6
- MOVOU 48(SI), X9
- PXOR X0, X12
- PXOR X3, X13
- PXOR X6, X14
- PXOR X9, X15
- MOVOU X12, 128(DI)
- MOVOU X13, 144(DI)
- MOVOU X14, 160(DI)
- MOVOU X15, 176(DI)
- ADDQ $0x40, CX
- SUBQ $0x40, BX
- LEAQ 64(SI), SI
- MOVQ $0x00000002, CX
- MOVQ $0x00000008, R9
- CMPQ BX, $0x40
- JBE sealSSETail64
- CMPQ BX, $0x80
- JBE sealSSETail128
- CMPQ BX, $0xc0
- JBE sealSSETail192
-
-sealSSEMainLoop:
- // Load state, increment counter blocks
- MOVO ·chacha20Constants<>+0(SB), X0
- MOVO 32(BP), X3
- MOVO 48(BP), X6
- MOVO 128(BP), X9
- PADDL ·sseIncMask<>+0(SB), X9
- MOVO X0, X1
- MOVO X3, X4
- MOVO X6, X7
- MOVO X9, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X1, X2
- MOVO X4, X5
- MOVO X7, X8
- MOVO X10, X11
- PADDL ·sseIncMask<>+0(SB), X11
- MOVO X2, X12
- MOVO X5, X13
- MOVO X8, X14
- MOVO X11, X15
- PADDL ·sseIncMask<>+0(SB), X15
-
- // Store counters
- MOVO X9, 80(BP)
- MOVO X10, 96(BP)
- MOVO X11, 112(BP)
- MOVO X15, 128(BP)
-
-sealSSEInnerLoop:
- MOVO X14, 64(BP)
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X3
- PXOR X14, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X3
- PXOR X14, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X4
- PXOR X14, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X4
- PXOR X14, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X5
- PXOR X14, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X5
- PXOR X14, X5
- MOVO 64(BP), X14
- MOVO X7, 64(BP)
- PADDD X13, X12
- PXOR X12, X15
- ROL16(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x0c, X7
- PSRLL $0x14, X13
- PXOR X7, X13
- PADDD X13, X12
- PXOR X12, X15
- ROL8(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x07, X7
- PSRLL $0x19, X13
- PXOR X7, X13
- MOVO 64(BP), X7
- ADDQ (DI), R10
- ADCQ 8(DI), R11
+openAVX2Tail256:
+ VMOVDQA ·chacha20Constants<>+0(SB), Y0
+ VMOVDQA Y0, Y5
+ VMOVDQA 32(BP), Y14
+ VMOVDQA Y14, Y9
+ VMOVDQA 64(BP), Y12
+ VMOVDQA Y12, Y13
+ VMOVDQA 192(BP), Y4
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y4
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
+ VMOVDQA Y4, Y7
+ VMOVDQA Y1, Y11
+
+ // Compute the number of iterations that will hash data
+ MOVQ BX, 224(BP)
+ MOVQ BX, CX
+ SUBQ $0x80, CX
+ SHRQ $0x04, CX
+ MOVQ $0x0000000a, R9
+ CMPQ CX, $0x0a
+ CMOVQGT R9, CX
+ MOVQ SI, BX
+ XORQ R9, R9
+
+openAVX2Tail256LoopA:
+ ADDQ (BX), R10
+ ADCQ 8(BX), R11
ADCQ $0x01, R12
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x0c
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
IMULQ R12, R15
+ MULXQ R11, AX, DX
ADDQ AX, R14
ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
ADDQ AX, R15
- ADCQ $0x00, DX
- LEAQ 16(DI), DI
- MOVO X14, 64(BP)
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X3
- PXOR X14, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X14)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X3
- PXOR X14, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X4
- PXOR X14, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X14)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X4
- PXOR X14, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x0c, X14
- PSRLL $0x14, X5
- PXOR X14, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X14)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X14
- PSLLL $0x07, X14
- PSRLL $0x19, X5
- PXOR X14, X5
- MOVO 64(BP), X14
- MOVO X7, 64(BP)
- IMULQ R12, R8
- ADDQ R10, R15
ADCQ DX, R8
- PADDD X13, X12
- PXOR X12, X15
- ROL16(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x0c, X7
- PSRLL $0x14, X13
- PXOR X7, X13
- PADDD X13, X12
- PXOR X12, X15
- ROL8(X15, X7)
- PADDD X15, X14
- PXOR X14, X13
- MOVO X13, X7
- PSLLL $0x07, X7
- PSRLL $0x19, X13
- PXOR X7, X13
- MOVO 64(BP), X7
MOVQ R13, R10
MOVQ R14, R11
MOVQ R15, R12
@@ -5555,112 +1518,117 @@ sealSSEInnerLoop:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x04
- DECQ R9
- JGE sealSSEInnerLoop
- ADDQ (DI), R10
- ADCQ 8(DI), R11
+ LEAQ 16(BX), BX
+
+openAVX2Tail256LoopB:
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x0c, Y14, Y3
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPALIGNR $0x04, Y14, Y14, Y14
+ VPALIGNR $0x04, Y9, Y9, Y9
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x0c, Y4, Y4, Y4
+ VPALIGNR $0x0c, Y1, Y1, Y1
+ INCQ R9
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x0c, Y14, Y3
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPALIGNR $0x0c, Y14, Y14, Y14
+ VPALIGNR $0x0c, Y9, Y9, Y9
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x04, Y4, Y4, Y4
+ VPALIGNR $0x04, Y1, Y1, Y1
+ CMPQ R9, CX
+ JB openAVX2Tail256LoopA
+ CMPQ R9, $0x0a
+ JNE openAVX2Tail256LoopB
+ MOVQ BX, R9
+ SUBQ SI, BX
+ MOVQ BX, CX
+ MOVQ 224(BP), BX
+
+openAVX2Tail256Hash:
+ ADDQ $0x10, CX
+ CMPQ CX, BX
+ JGT openAVX2Tail256HashEnd
+ ADDQ (R9), R10
+ ADCQ 8(R9), R11
ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
IMULQ R12, R15
+ MULXQ R11, AX, DX
ADDQ AX, R14
ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
ADCQ DX, R8
MOVQ R13, R10
MOVQ R14, R11
@@ -5672,143 +1640,94 @@ sealSSEInnerLoop:
SHRQ $0x02, R8, R15
SHRQ $0x02, R8
ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 16(DI), DI
- DECQ CX
- JG sealSSEInnerLoop
-
- // Add in the state
- PADDD ·chacha20Constants<>+0(SB), X0
- PADDD ·chacha20Constants<>+0(SB), X1
- PADDD ·chacha20Constants<>+0(SB), X2
- PADDD ·chacha20Constants<>+0(SB), X12
- PADDD 32(BP), X3
- PADDD 32(BP), X4
- PADDD 32(BP), X5
- PADDD 32(BP), X13
- PADDD 48(BP), X6
- PADDD 48(BP), X7
- PADDD 48(BP), X8
- PADDD 48(BP), X14
- PADDD 80(BP), X9
- PADDD 96(BP), X10
- PADDD 112(BP), X11
- PADDD 128(BP), X15
- MOVO X15, 64(BP)
-
- // Load - xor - store
- MOVOU (SI), X15
- PXOR X15, X0
- MOVOU 16(SI), X15
- PXOR X15, X3
- MOVOU 32(SI), X15
- PXOR X15, X6
- MOVOU 48(SI), X15
- PXOR X15, X9
- MOVOU X0, (DI)
- MOVOU X3, 16(DI)
- MOVOU X6, 32(DI)
- MOVOU X9, 48(DI)
- MOVO 64(BP), X15
- MOVOU 64(SI), X0
- MOVOU 80(SI), X3
- MOVOU 96(SI), X6
- MOVOU 112(SI), X9
- PXOR X0, X1
- PXOR X3, X4
- PXOR X6, X7
- PXOR X9, X10
- MOVOU X1, 64(DI)
- MOVOU X4, 80(DI)
- MOVOU X7, 96(DI)
- MOVOU X10, 112(DI)
- MOVOU 128(SI), X0
- MOVOU 144(SI), X3
- MOVOU 160(SI), X6
- MOVOU 176(SI), X9
- PXOR X0, X2
- PXOR X3, X5
- PXOR X6, X8
- PXOR X9, X11
- MOVOU X2, 128(DI)
- MOVOU X5, 144(DI)
- MOVOU X8, 160(DI)
- MOVOU X11, 176(DI)
- ADDQ $0xc0, SI
- MOVQ $0x000000c0, CX
- SUBQ $0xc0, BX
- MOVO X12, X1
- MOVO X13, X4
- MOVO X14, X7
- MOVO X15, X10
- CMPQ BX, $0x40
- JBE sealSSE128SealHash
- MOVOU (SI), X0
- MOVOU 16(SI), X3
- MOVOU 32(SI), X6
- MOVOU 48(SI), X9
- PXOR X0, X12
- PXOR X3, X13
- PXOR X6, X14
- PXOR X9, X15
- MOVOU X12, 192(DI)
- MOVOU X13, 208(DI)
- MOVOU X14, 224(DI)
- MOVOU X15, 240(DI)
- LEAQ 64(SI), SI
- SUBQ $0x40, BX
- MOVQ $0x00000006, CX
- MOVQ $0x00000004, R9
- CMPQ BX, $0xc0
- JG sealSSEMainLoop
- MOVQ BX, CX
- TESTQ BX, BX
- JE sealSSE128SealHash
- MOVQ $0x00000006, CX
- CMPQ BX, $0x40
- JBE sealSSETail64
- CMPQ BX, $0x80
- JBE sealSSETail128
- JMP sealSSETail192
-
-sealSSETail64:
- MOVO ·chacha20Constants<>+0(SB), X1
- MOVO 32(BP), X4
- MOVO 48(BP), X7
- MOVO 128(BP), X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X10, 80(BP)
-
-sealSSETail64LoopA:
- ADDQ (DI), R10
- ADCQ 8(DI), R11
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ LEAQ 16(R9), R9
+ JMP openAVX2Tail256Hash
+
+openAVX2Tail256HashEnd:
+ VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
+ VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
+ VPADDD 32(BP), Y14, Y14
+ VPADDD 32(BP), Y9, Y9
+ VPADDD 64(BP), Y12, Y12
+ VPADDD 64(BP), Y13, Y13
+ VPADDD Y7, Y4, Y4
+ VPADDD Y11, Y1, Y1
+ VPERM2I128 $0x02, Y0, Y14, Y6
+ VPERM2I128 $0x02, Y12, Y4, Y10
+ VPERM2I128 $0x13, Y0, Y14, Y8
+ VPERM2I128 $0x13, Y12, Y4, Y2
+ VPERM2I128 $0x02, Y5, Y9, Y0
+ VPERM2I128 $0x02, Y13, Y1, Y14
+ VPERM2I128 $0x13, Y5, Y9, Y12
+ VPERM2I128 $0x13, Y13, Y1, Y4
+ VPXOR (SI), Y6, Y6
+ VPXOR 32(SI), Y10, Y10
+ VPXOR 64(SI), Y8, Y8
+ VPXOR 96(SI), Y2, Y2
+ VMOVDQU Y6, (DI)
+ VMOVDQU Y10, 32(DI)
+ VMOVDQU Y8, 64(DI)
+ VMOVDQU Y2, 96(DI)
+ LEAQ 128(SI), SI
+ LEAQ 128(DI), DI
+ SUBQ $0x80, BX
+ JMP openAVX2TailLoop
+
+openAVX2Tail384:
+ // Need to decrypt up to 384 bytes - prepare six blocks
+ VMOVDQA ·chacha20Constants<>+0(SB), Y0
+ VMOVDQA Y0, Y5
+ VMOVDQA Y0, Y6
+ VMOVDQA 32(BP), Y14
+ VMOVDQA Y14, Y9
+ VMOVDQA Y14, Y10
+ VMOVDQA 64(BP), Y12
+ VMOVDQA Y12, Y13
+ VMOVDQA Y12, Y8
+ VMOVDQA 192(BP), Y4
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y4
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
+ VPADDD ·avx2IncMask<>+0(SB), Y1, Y2
+ VMOVDQA Y4, 96(BP)
+ VMOVDQA Y1, 128(BP)
+ VMOVDQA Y2, 160(BP)
+
+ // Compute the number of iterations that will hash two blocks of data
+ MOVQ BX, 224(BP)
+ MOVQ BX, CX
+ SUBQ $0x00000100, CX
+ SHRQ $0x04, CX
+ ADDQ $0x06, CX
+ MOVQ $0x0000000a, R9
+ CMPQ CX, $0x0a
+ CMOVQGT R9, CX
+ MOVQ SI, BX
+ XORQ R9, R9
+
+openAVX2Tail384LoopB:
+ ADDQ (BX), R10
+ ADCQ 8(BX), R11
ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
IMULQ R12, R15
+ MULXQ R11, AX, DX
ADDQ AX, R14
ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
ADCQ DX, R8
MOVQ R13, R10
MOVQ R14, R11
@@ -5825,175 +1744,190 @@ sealSSETail64LoopA:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
- LEAQ 16(DI), DI
+ LEAQ 16(BX), BX
+
+openAVX2Tail384LoopA:
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x0c, Y14, Y3
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y10, Y6, Y6
+ VPXOR Y6, Y2, Y2
+ VPSHUFB ·rol16<>+0(SB), Y2, Y2
+ VPADDD Y2, Y8, Y8
+ VPXOR Y8, Y10, Y10
+ VPSLLD $0x0c, Y10, Y3
+ VPSRLD $0x14, Y10, Y10
+ VPXOR Y3, Y10, Y10
+ VPADDD Y10, Y6, Y6
+ VPXOR Y6, Y2, Y2
+ VPSHUFB ·rol8<>+0(SB), Y2, Y2
+ VPADDD Y2, Y8, Y8
+ VPXOR Y8, Y10, Y10
+ VPSLLD $0x07, Y10, Y3
+ VPSRLD $0x19, Y10, Y10
+ VPXOR Y3, Y10, Y10
+ VPALIGNR $0x04, Y14, Y14, Y14
+ VPALIGNR $0x04, Y9, Y9, Y9
+ VPALIGNR $0x04, Y10, Y10, Y10
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x08, Y8, Y8, Y8
+ VPALIGNR $0x0c, Y4, Y4, Y4
+ VPALIGNR $0x0c, Y1, Y1, Y1
+ VPALIGNR $0x0c, Y2, Y2, Y2
+ ADDQ (BX), R10
+ ADCQ 8(BX), R11
+ ADCQ $0x01, R12
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ LEAQ 16(BX), BX
+ INCQ R9
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x0c, Y14, Y3
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y14, Y0, Y0
+ VPXOR Y0, Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPADDD Y4, Y12, Y12
+ VPXOR Y12, Y14, Y14
+ VPSLLD $0x07, Y14, Y3
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y3, Y14, Y14
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x0c, Y9, Y3
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y9, Y5, Y5
+ VPXOR Y5, Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPADDD Y1, Y13, Y13
+ VPXOR Y13, Y9, Y9
+ VPSLLD $0x07, Y9, Y3
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y3, Y9, Y9
+ VPADDD Y10, Y6, Y6
+ VPXOR Y6, Y2, Y2
+ VPSHUFB ·rol16<>+0(SB), Y2, Y2
+ VPADDD Y2, Y8, Y8
+ VPXOR Y8, Y10, Y10
+ VPSLLD $0x0c, Y10, Y3
+ VPSRLD $0x14, Y10, Y10
+ VPXOR Y3, Y10, Y10
+ VPADDD Y10, Y6, Y6
+ VPXOR Y6, Y2, Y2
+ VPSHUFB ·rol8<>+0(SB), Y2, Y2
+ VPADDD Y2, Y8, Y8
+ VPXOR Y8, Y10, Y10
+ VPSLLD $0x07, Y10, Y3
+ VPSRLD $0x19, Y10, Y10
+ VPXOR Y3, Y10, Y10
+ VPALIGNR $0x0c, Y14, Y14, Y14
+ VPALIGNR $0x0c, Y9, Y9, Y9
+ VPALIGNR $0x0c, Y10, Y10, Y10
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x08, Y8, Y8, Y8
+ VPALIGNR $0x04, Y4, Y4, Y4
+ VPALIGNR $0x04, Y1, Y1, Y1
+ VPALIGNR $0x04, Y2, Y2, Y2
+ CMPQ R9, CX
+ JB openAVX2Tail384LoopB
+ CMPQ R9, $0x0a
+ JNE openAVX2Tail384LoopA
+ MOVQ BX, R9
+ SUBQ SI, BX
+ MOVQ BX, CX
+ MOVQ 224(BP), BX
-sealSSETail64LoopB:
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X13)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X13
- PSLLL $0x0c, X13
- PSRLL $0x14, X4
- PXOR X13, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X13)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X13
- PSLLL $0x07, X13
- PSRLL $0x19, X4
- PXOR X13, X4
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X13)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X13
- PSLLL $0x0c, X13
- PSRLL $0x14, X4
- PXOR X13, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X13)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X13
- PSLLL $0x07, X13
- PSRLL $0x19, X4
- PXOR X13, X4
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- ADDQ (DI), R10
- ADCQ 8(DI), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 16(DI), DI
- DECQ CX
- JG sealSSETail64LoopA
- DECQ R9
- JGE sealSSETail64LoopB
- PADDL ·chacha20Constants<>+0(SB), X1
- PADDL 32(BP), X4
- PADDL 48(BP), X7
- PADDL 80(BP), X10
- JMP sealSSE128Seal
-
-sealSSETail128:
- MOVO ·chacha20Constants<>+0(SB), X0
- MOVO 32(BP), X3
- MOVO 48(BP), X6
- MOVO 128(BP), X9
- PADDL ·sseIncMask<>+0(SB), X9
- MOVO X9, 80(BP)
- MOVO X0, X1
- MOVO X3, X4
- MOVO X6, X7
- MOVO X9, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X10, 96(BP)
-
-sealSSETail128LoopA:
- ADDQ (DI), R10
- ADCQ 8(DI), R11
+openAVX2Tail384Hash:
+ ADDQ $0x10, CX
+ CMPQ CX, BX
+ JGT openAVX2Tail384HashEnd
+ ADDQ (R9), R10
+ ADCQ 8(R9), R11
ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
IMULQ R12, R15
+ MULXQ R11, AX, DX
ADDQ AX, R14
ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
ADCQ DX, R8
MOVQ R13, R10
MOVQ R14, R11
@@ -6010,430 +1944,99 @@ sealSSETail128LoopA:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
- LEAQ 16(DI), DI
+ LEAQ 16(R9), R9
+ JMP openAVX2Tail384Hash
-sealSSETail128LoopB:
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- ADDQ (DI), R10
- ADCQ 8(DI), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 16(DI), DI
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- DECQ CX
- JG sealSSETail128LoopA
- DECQ R9
- JGE sealSSETail128LoopB
- PADDL ·chacha20Constants<>+0(SB), X0
- PADDL ·chacha20Constants<>+0(SB), X1
- PADDL 32(BP), X3
- PADDL 32(BP), X4
- PADDL 48(BP), X6
- PADDL 48(BP), X7
- PADDL 80(BP), X9
- PADDL 96(BP), X10
- MOVOU (SI), X12
- MOVOU 16(SI), X13
- MOVOU 32(SI), X14
- MOVOU 48(SI), X15
- PXOR X12, X0
- PXOR X13, X3
- PXOR X14, X6
- PXOR X15, X9
- MOVOU X0, (DI)
- MOVOU X3, 16(DI)
- MOVOU X6, 32(DI)
- MOVOU X9, 48(DI)
- MOVQ $0x00000040, CX
- LEAQ 64(SI), SI
- SUBQ $0x40, BX
- JMP sealSSE128SealHash
-
-sealSSETail192:
- MOVO ·chacha20Constants<>+0(SB), X0
- MOVO 32(BP), X3
- MOVO 48(BP), X6
- MOVO 128(BP), X9
- PADDL ·sseIncMask<>+0(SB), X9
- MOVO X9, 80(BP)
- MOVO X0, X1
- MOVO X3, X4
- MOVO X6, X7
- MOVO X9, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X10, 96(BP)
- MOVO X1, X2
- MOVO X4, X5
- MOVO X7, X8
- MOVO X10, X11
- PADDL ·sseIncMask<>+0(SB), X11
- MOVO X11, 112(BP)
-
-sealSSETail192LoopA:
- ADDQ (DI), R10
- ADCQ 8(DI), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- LEAQ 16(DI), DI
+openAVX2Tail384HashEnd:
+ VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
+ VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
+ VPADDD ·chacha20Constants<>+0(SB), Y6, Y6
+ VPADDD 32(BP), Y14, Y14
+ VPADDD 32(BP), Y9, Y9
+ VPADDD 32(BP), Y10, Y10
+ VPADDD 64(BP), Y12, Y12
+ VPADDD 64(BP), Y13, Y13
+ VPADDD 64(BP), Y8, Y8
+ VPADDD 96(BP), Y4, Y4
+ VPADDD 128(BP), Y1, Y1
+ VPADDD 160(BP), Y2, Y2
+ VPERM2I128 $0x02, Y0, Y14, Y3
+ VPERM2I128 $0x02, Y12, Y4, Y7
+ VPERM2I128 $0x13, Y0, Y14, Y11
+ VPERM2I128 $0x13, Y12, Y4, Y15
+ VPXOR (SI), Y3, Y3
+ VPXOR 32(SI), Y7, Y7
+ VPXOR 64(SI), Y11, Y11
+ VPXOR 96(SI), Y15, Y15
+ VMOVDQU Y3, (DI)
+ VMOVDQU Y7, 32(DI)
+ VMOVDQU Y11, 64(DI)
+ VMOVDQU Y15, 96(DI)
+ VPERM2I128 $0x02, Y5, Y9, Y3
+ VPERM2I128 $0x02, Y13, Y1, Y7
+ VPERM2I128 $0x13, Y5, Y9, Y11
+ VPERM2I128 $0x13, Y13, Y1, Y15
+ VPXOR 128(SI), Y3, Y3
+ VPXOR 160(SI), Y7, Y7
+ VPXOR 192(SI), Y11, Y11
+ VPXOR 224(SI), Y15, Y15
+ VMOVDQU Y3, 128(DI)
+ VMOVDQU Y7, 160(DI)
+ VMOVDQU Y11, 192(DI)
+ VMOVDQU Y15, 224(DI)
+ VPERM2I128 $0x02, Y6, Y10, Y0
+ VPERM2I128 $0x02, Y8, Y2, Y14
+ VPERM2I128 $0x13, Y6, Y10, Y12
+ VPERM2I128 $0x13, Y8, Y2, Y4
+ LEAQ 256(SI), SI
+ LEAQ 256(DI), DI
+ SUBQ $0x00000100, BX
+ JMP openAVX2TailLoop
-sealSSETail192LoopB:
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X5
- PXOR X12, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X5
- PXOR X12, X5
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- ADDQ (DI), R10
- ADCQ 8(DI), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
+openAVX2Tail512:
+ VMOVDQU ·chacha20Constants<>+0(SB), Y0
+ VMOVDQA Y0, Y5
+ VMOVDQA Y0, Y6
+ VMOVDQA Y0, Y7
+ VMOVDQA 32(BP), Y14
+ VMOVDQA Y14, Y9
+ VMOVDQA Y14, Y10
+ VMOVDQA Y14, Y11
+ VMOVDQA 64(BP), Y12
+ VMOVDQA Y12, Y13
+ VMOVDQA Y12, Y8
+ VMOVDQA Y12, Y15
+ VMOVDQA 192(BP), Y4
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y4
+ VPADDD ·avx2IncMask<>+0(SB), Y4, Y1
+ VPADDD ·avx2IncMask<>+0(SB), Y1, Y2
+ VPADDD ·avx2IncMask<>+0(SB), Y2, Y3
+ VMOVDQA Y4, 96(BP)
+ VMOVDQA Y1, 128(BP)
+ VMOVDQA Y2, 160(BP)
+ VMOVDQA Y3, 192(BP)
+ XORQ CX, CX
+ MOVQ SI, R9
+
+openAVX2Tail512LoopB:
+ ADDQ (R9), R10
+ ADCQ 8(R9), R11
+ ADCQ $0x01, R12
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
IMULQ R12, R15
+ MULXQ R11, AX, DX
ADDQ AX, R14
ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
ADCQ DX, R8
MOVQ R13, R10
MOVQ R14, R11
@@ -6450,465 +2053,268 @@ sealSSETail192LoopB:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
- LEAQ 16(DI), DI
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X5
- PXOR X12, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X5
- PXOR X12, X5
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- DECQ CX
- JG sealSSETail192LoopA
- DECQ R9
- JGE sealSSETail192LoopB
- PADDL ·chacha20Constants<>+0(SB), X0
- PADDL ·chacha20Constants<>+0(SB), X1
- PADDL ·chacha20Constants<>+0(SB), X2
- PADDL 32(BP), X3
- PADDL 32(BP), X4
- PADDL 32(BP), X5
- PADDL 48(BP), X6
- PADDL 48(BP), X7
- PADDL 48(BP), X8
- PADDL 80(BP), X9
- PADDL 96(BP), X10
- PADDL 112(BP), X11
- MOVOU (SI), X12
- MOVOU 16(SI), X13
- MOVOU 32(SI), X14
- MOVOU 48(SI), X15
- PXOR X12, X0
- PXOR X13, X3
- PXOR X14, X6
- PXOR X15, X9
- MOVOU X0, (DI)
- MOVOU X3, 16(DI)
- MOVOU X6, 32(DI)
- MOVOU X9, 48(DI)
- MOVOU 64(SI), X12
- MOVOU 80(SI), X13
- MOVOU 96(SI), X14
- MOVOU 112(SI), X15
- PXOR X12, X1
- PXOR X13, X4
- PXOR X14, X7
- PXOR X15, X10
- MOVOU X1, 64(DI)
- MOVOU X4, 80(DI)
- MOVOU X7, 96(DI)
- MOVOU X10, 112(DI)
- MOVO X2, X1
- MOVO X5, X4
- MOVO X8, X7
- MOVO X11, X10
- MOVQ $0x00000080, CX
- LEAQ 128(SI), SI
- SUBQ $0x80, BX
- JMP sealSSE128SealHash
-
-sealSSE128:
- MOVOU ·chacha20Constants<>+0(SB), X0
- MOVOU 16(R8), X3
- MOVOU 32(R8), X6
- MOVOU 48(R8), X9
- MOVO X0, X1
- MOVO X3, X4
- MOVO X6, X7
- MOVO X9, X10
- PADDL ·sseIncMask<>+0(SB), X10
- MOVO X1, X2
- MOVO X4, X5
- MOVO X7, X8
- MOVO X10, X11
- PADDL ·sseIncMask<>+0(SB), X11
- MOVO X3, X13
- MOVO X6, X14
- MOVO X10, X15
- MOVQ $0x0000000a, R9
-
-sealSSE128InnerCipherLoop:
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X5
- PXOR X12, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X5
- PXOR X12, X5
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x04
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- PADDD X3, X0
- PXOR X0, X9
- ROL16(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X3
- PXOR X12, X3
- PADDD X3, X0
- PXOR X0, X9
- ROL8(X9, X12)
- PADDD X9, X6
- PXOR X6, X3
- MOVO X3, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X3
- PXOR X12, X3
- PADDD X4, X1
- PXOR X1, X10
- ROL16(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X4
- PXOR X12, X4
- PADDD X4, X1
- PXOR X1, X10
- ROL8(X10, X12)
- PADDD X10, X7
- PXOR X7, X4
- MOVO X4, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X4
- PXOR X12, X4
- PADDD X5, X2
- PXOR X2, X11
- ROL16(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x0c, X12
- PSRLL $0x14, X5
- PXOR X12, X5
- PADDD X5, X2
- PXOR X2, X11
- ROL8(X11, X12)
- PADDD X11, X8
- PXOR X8, X5
- MOVO X5, X12
- PSLLL $0x07, X12
- PSRLL $0x19, X5
- PXOR X12, X5
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xe4
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xed
- BYTE $0x0c
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xf6
- BYTE $0x08
- BYTE $0x66
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xff
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc0
- BYTE $0x08
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xc9
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xd2
- BYTE $0x04
- BYTE $0x66
- BYTE $0x45
- BYTE $0x0f
- BYTE $0x3a
- BYTE $0x0f
- BYTE $0xdb
- BYTE $0x04
- DECQ R9
- JNE sealSSE128InnerCipherLoop
-
- // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded
- PADDL ·chacha20Constants<>+0(SB), X0
- PADDL ·chacha20Constants<>+0(SB), X1
- PADDL ·chacha20Constants<>+0(SB), X2
- PADDL X13, X3
- PADDL X13, X4
- PADDL X13, X5
- PADDL X14, X7
- PADDL X14, X8
- PADDL X15, X10
- PADDL ·sseIncMask<>+0(SB), X15
- PADDL X15, X11
- PAND ·polyClampMask<>+0(SB), X0
- MOVOU X0, (BP)
- MOVOU X3, 16(BP)
+ LEAQ 16(R9), R9
- // Hash
- MOVQ ad_len+80(FP), R9
- CALL polyHashADInternal<>(SB)
- XORQ CX, CX
+openAVX2Tail512LoopA:
+ VPADDD Y14, Y0, Y0
+ VPADDD Y9, Y5, Y5
+ VPADDD Y10, Y6, Y6
+ VPADDD Y11, Y7, Y7
+ VPXOR Y0, Y4, Y4
+ VPXOR Y5, Y1, Y1
+ VPXOR Y6, Y2, Y2
+ VPXOR Y7, Y3, Y3
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y2, Y2
+ VPSHUFB ·rol16<>+0(SB), Y3, Y3
+ VPADDD Y4, Y12, Y12
+ VPADDD Y1, Y13, Y13
+ VPADDD Y2, Y8, Y8
+ VPADDD Y3, Y15, Y15
+ VPXOR Y12, Y14, Y14
+ VPXOR Y13, Y9, Y9
+ VPXOR Y8, Y10, Y10
+ VPXOR Y15, Y11, Y11
+ VMOVDQA Y15, 224(BP)
+ VPSLLD $0x0c, Y14, Y15
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y15, Y14, Y14
+ VPSLLD $0x0c, Y9, Y15
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y15, Y9, Y9
+ VPSLLD $0x0c, Y10, Y15
+ VPSRLD $0x14, Y10, Y10
+ VPXOR Y15, Y10, Y10
+ VPSLLD $0x0c, Y11, Y15
+ VPSRLD $0x14, Y11, Y11
+ VPXOR Y15, Y11, Y11
+ VMOVDQA 224(BP), Y15
+ ADDQ (R9), R10
+ ADCQ 8(R9), R11
+ ADCQ $0x01, R12
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ VPADDD Y14, Y0, Y0
+ VPADDD Y9, Y5, Y5
+ VPADDD Y10, Y6, Y6
+ VPADDD Y11, Y7, Y7
+ VPXOR Y0, Y4, Y4
+ VPXOR Y5, Y1, Y1
+ VPXOR Y6, Y2, Y2
+ VPXOR Y7, Y3, Y3
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y2, Y2
+ VPSHUFB ·rol8<>+0(SB), Y3, Y3
+ VPADDD Y4, Y12, Y12
+ VPADDD Y1, Y13, Y13
+ VPADDD Y2, Y8, Y8
+ VPADDD Y3, Y15, Y15
+ VPXOR Y12, Y14, Y14
+ VPXOR Y13, Y9, Y9
+ VPXOR Y8, Y10, Y10
+ VPXOR Y15, Y11, Y11
+ VMOVDQA Y15, 224(BP)
+ VPSLLD $0x07, Y14, Y15
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y15, Y14, Y14
+ VPSLLD $0x07, Y9, Y15
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y15, Y9, Y9
+ VPSLLD $0x07, Y10, Y15
+ VPSRLD $0x19, Y10, Y10
+ VPXOR Y15, Y10, Y10
+ VPSLLD $0x07, Y11, Y15
+ VPSRLD $0x19, Y11, Y11
+ VPXOR Y15, Y11, Y11
+ VMOVDQA 224(BP), Y15
+ VPALIGNR $0x04, Y14, Y14, Y14
+ VPALIGNR $0x04, Y9, Y9, Y9
+ VPALIGNR $0x04, Y10, Y10, Y10
+ VPALIGNR $0x04, Y11, Y11, Y11
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x08, Y8, Y8, Y8
+ VPALIGNR $0x08, Y15, Y15, Y15
+ VPALIGNR $0x0c, Y4, Y4, Y4
+ VPALIGNR $0x0c, Y1, Y1, Y1
+ VPALIGNR $0x0c, Y2, Y2, Y2
+ VPALIGNR $0x0c, Y3, Y3, Y3
+ VPADDD Y14, Y0, Y0
+ VPADDD Y9, Y5, Y5
+ VPADDD Y10, Y6, Y6
+ VPADDD Y11, Y7, Y7
+ VPXOR Y0, Y4, Y4
+ VPXOR Y5, Y1, Y1
+ VPXOR Y6, Y2, Y2
+ VPXOR Y7, Y3, Y3
+ VPSHUFB ·rol16<>+0(SB), Y4, Y4
+ VPSHUFB ·rol16<>+0(SB), Y1, Y1
+ VPSHUFB ·rol16<>+0(SB), Y2, Y2
+ VPSHUFB ·rol16<>+0(SB), Y3, Y3
+ VPADDD Y4, Y12, Y12
+ VPADDD Y1, Y13, Y13
+ VPADDD Y2, Y8, Y8
+ VPADDD Y3, Y15, Y15
+ VPXOR Y12, Y14, Y14
+ VPXOR Y13, Y9, Y9
+ VPXOR Y8, Y10, Y10
+ VPXOR Y15, Y11, Y11
+ ADDQ 16(R9), R10
+ ADCQ 24(R9), R11
+ ADCQ $0x01, R12
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
+ IMULQ R12, R15
+ MULXQ R11, AX, DX
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
+ ADDQ AX, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ LEAQ 32(R9), R9
+ VMOVDQA Y15, 224(BP)
+ VPSLLD $0x0c, Y14, Y15
+ VPSRLD $0x14, Y14, Y14
+ VPXOR Y15, Y14, Y14
+ VPSLLD $0x0c, Y9, Y15
+ VPSRLD $0x14, Y9, Y9
+ VPXOR Y15, Y9, Y9
+ VPSLLD $0x0c, Y10, Y15
+ VPSRLD $0x14, Y10, Y10
+ VPXOR Y15, Y10, Y10
+ VPSLLD $0x0c, Y11, Y15
+ VPSRLD $0x14, Y11, Y11
+ VPXOR Y15, Y11, Y11
+ VMOVDQA 224(BP), Y15
+ VPADDD Y14, Y0, Y0
+ VPADDD Y9, Y5, Y5
+ VPADDD Y10, Y6, Y6
+ VPADDD Y11, Y7, Y7
+ VPXOR Y0, Y4, Y4
+ VPXOR Y5, Y1, Y1
+ VPXOR Y6, Y2, Y2
+ VPXOR Y7, Y3, Y3
+ VPSHUFB ·rol8<>+0(SB), Y4, Y4
+ VPSHUFB ·rol8<>+0(SB), Y1, Y1
+ VPSHUFB ·rol8<>+0(SB), Y2, Y2
+ VPSHUFB ·rol8<>+0(SB), Y3, Y3
+ VPADDD Y4, Y12, Y12
+ VPADDD Y1, Y13, Y13
+ VPADDD Y2, Y8, Y8
+ VPADDD Y3, Y15, Y15
+ VPXOR Y12, Y14, Y14
+ VPXOR Y13, Y9, Y9
+ VPXOR Y8, Y10, Y10
+ VPXOR Y15, Y11, Y11
+ VMOVDQA Y15, 224(BP)
+ VPSLLD $0x07, Y14, Y15
+ VPSRLD $0x19, Y14, Y14
+ VPXOR Y15, Y14, Y14
+ VPSLLD $0x07, Y9, Y15
+ VPSRLD $0x19, Y9, Y9
+ VPXOR Y15, Y9, Y9
+ VPSLLD $0x07, Y10, Y15
+ VPSRLD $0x19, Y10, Y10
+ VPXOR Y15, Y10, Y10
+ VPSLLD $0x07, Y11, Y15
+ VPSRLD $0x19, Y11, Y11
+ VPXOR Y15, Y11, Y11
+ VMOVDQA 224(BP), Y15
+ VPALIGNR $0x0c, Y14, Y14, Y14
+ VPALIGNR $0x0c, Y9, Y9, Y9
+ VPALIGNR $0x0c, Y10, Y10, Y10
+ VPALIGNR $0x0c, Y11, Y11, Y11
+ VPALIGNR $0x08, Y12, Y12, Y12
+ VPALIGNR $0x08, Y13, Y13, Y13
+ VPALIGNR $0x08, Y8, Y8, Y8
+ VPALIGNR $0x08, Y15, Y15, Y15
+ VPALIGNR $0x04, Y4, Y4, Y4
+ VPALIGNR $0x04, Y1, Y1, Y1
+ VPALIGNR $0x04, Y2, Y2, Y2
+ VPALIGNR $0x04, Y3, Y3, Y3
+ INCQ CX
+ CMPQ CX, $0x04
+ JLT openAVX2Tail512LoopB
+ CMPQ CX, $0x0a
+ JNE openAVX2Tail512LoopA
+ MOVQ BX, CX
+ SUBQ $0x00000180, CX
+ ANDQ $-16, CX
-sealSSE128SealHash:
- CMPQ CX, $0x10
- JB sealSSE128Seal
- ADDQ (DI), R10
- ADCQ 8(DI), R11
+openAVX2Tail512HashLoop:
+ TESTQ CX, CX
+ JE openAVX2Tail512HashEnd
+ ADDQ (R9), R10
+ ADCQ 8(R9), R11
ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
+ MOVQ (BP), DX
+ MOVQ DX, R15
+ MULXQ R10, R13, R14
IMULQ R12, R15
+ MULXQ R11, AX, DX
ADDQ AX, R14
ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
+ MOVQ 8(BP), DX
+ MULXQ R10, R10, AX
+ ADDQ R10, R14
+ MULXQ R11, R11, R8
+ ADCQ R11, R15
+ ADCQ $0x00, R8
+ IMULQ R12, DX
ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
ADCQ DX, R8
MOVQ R13, R10
MOVQ R14, R11
@@ -6925,238 +2331,162 @@ sealSSE128SealHash:
ADDQ R15, R10
ADCQ R8, R11
ADCQ $0x00, R12
+ LEAQ 16(R9), R9
SUBQ $0x10, CX
- ADDQ $0x10, DI
- JMP sealSSE128SealHash
-
-sealSSE128Seal:
- CMPQ BX, $0x10
- JB sealSSETail
- SUBQ $0x10, BX
-
- // Load for decryption
- MOVOU (SI), X12
- PXOR X12, X1
- MOVOU X1, (DI)
- LEAQ 16(SI), SI
- LEAQ 16(DI), DI
-
- // Extract for hashing
- MOVQ X1, R13
- PSRLDQ $0x08, X1
- MOVQ X1, R14
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
-
- // Shift the stream "left"
- MOVO X4, X1
- MOVO X7, X4
- MOVO X10, X7
- MOVO X2, X10
- MOVO X5, X2
- MOVO X8, X5
- MOVO X11, X8
- JMP sealSSE128Seal
+ JMP openAVX2Tail512HashLoop
-sealSSETail:
- TESTQ BX, BX
- JE sealSSEFinalize
+openAVX2Tail512HashEnd:
+ VPADDD ·chacha20Constants<>+0(SB), Y0, Y0
+ VPADDD ·chacha20Constants<>+0(SB), Y5, Y5
+ VPADDD ·chacha20Constants<>+0(SB), Y6, Y6
+ VPADDD ·chacha20Constants<>+0(SB), Y7, Y7
+ VPADDD 32(BP), Y14, Y14
+ VPADDD 32(BP), Y9, Y9
+ VPADDD 32(BP), Y10, Y10
+ VPADDD 32(BP), Y11, Y11
+ VPADDD 64(BP), Y12, Y12
+ VPADDD 64(BP), Y13, Y13
+ VPADDD 64(BP), Y8, Y8
+ VPADDD 64(BP), Y15, Y15
+ VPADDD 96(BP), Y4, Y4
+ VPADDD 128(BP), Y1, Y1
+ VPADDD 160(BP), Y2, Y2
+ VPADDD 192(BP), Y3, Y3
+ VMOVDQA Y15, 224(BP)
+ VPERM2I128 $0x02, Y0, Y14, Y15
+ VPERM2I128 $0x13, Y0, Y14, Y14
+ VPERM2I128 $0x02, Y12, Y4, Y0
+ VPERM2I128 $0x13, Y12, Y4, Y12
+ VPXOR (SI), Y15, Y15
+ VPXOR 32(SI), Y0, Y0
+ VPXOR 64(SI), Y14, Y14
+ VPXOR 96(SI), Y12, Y12
+ VMOVDQU Y15, (DI)
+ VMOVDQU Y0, 32(DI)
+ VMOVDQU Y14, 64(DI)
+ VMOVDQU Y12, 96(DI)
+ VPERM2I128 $0x02, Y5, Y9, Y0
+ VPERM2I128 $0x02, Y13, Y1, Y14
+ VPERM2I128 $0x13, Y5, Y9, Y12
+ VPERM2I128 $0x13, Y13, Y1, Y4
+ VPXOR 128(SI), Y0, Y0
+ VPXOR 160(SI), Y14, Y14
+ VPXOR 192(SI), Y12, Y12
+ VPXOR 224(SI), Y4, Y4
+ VMOVDQU Y0, 128(DI)
+ VMOVDQU Y14, 160(DI)
+ VMOVDQU Y12, 192(DI)
+ VMOVDQU Y4, 224(DI)
+ VPERM2I128 $0x02, Y6, Y10, Y0
+ VPERM2I128 $0x02, Y8, Y2, Y14
+ VPERM2I128 $0x13, Y6, Y10, Y12
+ VPERM2I128 $0x13, Y8, Y2, Y4
+ VPXOR 256(SI), Y0, Y0
+ VPXOR 288(SI), Y14, Y14
+ VPXOR 320(SI), Y12, Y12
+ VPXOR 352(SI), Y4, Y4
+ VMOVDQU Y0, 256(DI)
+ VMOVDQU Y14, 288(DI)
+ VMOVDQU Y12, 320(DI)
+ VMOVDQU Y4, 352(DI)
+ VPERM2I128 $0x02, Y7, Y11, Y0
+ VPERM2I128 $0x02, 224(BP), Y3, Y14
+ VPERM2I128 $0x13, Y7, Y11, Y12
+ VPERM2I128 $0x13, 224(BP), Y3, Y4
+ LEAQ 384(SI), SI
+ LEAQ 384(DI), DI
+ SUBQ $0x00000180, BX
+ JMP openAVX2TailLoop
- // We can only load the PT one byte at a time to avoid read after end of buffer
- MOVQ BX, R9
- SHLQ $0x04, R9
- LEAQ ·andMask<>+0(SB), R13
- MOVQ BX, CX
- LEAQ -1(SI)(BX*1), SI
- XORQ R15, R15
- XORQ R8, R8
- XORQ AX, AX
+DATA ·chacha20Constants<>+0(SB)/4, $0x61707865
+DATA ·chacha20Constants<>+4(SB)/4, $0x3320646e
+DATA ·chacha20Constants<>+8(SB)/4, $0x79622d32
+DATA ·chacha20Constants<>+12(SB)/4, $0x6b206574
+DATA ·chacha20Constants<>+16(SB)/4, $0x61707865
+DATA ·chacha20Constants<>+20(SB)/4, $0x3320646e
+DATA ·chacha20Constants<>+24(SB)/4, $0x79622d32
+DATA ·chacha20Constants<>+28(SB)/4, $0x6b206574
+GLOBL ·chacha20Constants<>(SB), RODATA|NOPTR, $32
-sealSSETailLoadLoop:
- SHLQ $0x08, R15, R8
- SHLQ $0x08, R15
- MOVB (SI), AX
- XORQ AX, R15
- LEAQ -1(SI), SI
- DECQ CX
- JNE sealSSETailLoadLoop
- MOVQ R15, 64(BP)
- MOVQ R8, 72(BP)
- PXOR 64(BP), X1
- MOVOU X1, (DI)
- MOVOU -16(R13)(R9*1), X12
- PAND X12, X1
- MOVQ X1, R13
- PSRLDQ $0x08, X1
- MOVQ X1, R14
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
- ADDQ BX, DI
+DATA ·avx2InitMask<>+0(SB)/8, $0x0000000000000000
+DATA ·avx2InitMask<>+8(SB)/8, $0x0000000000000000
+DATA ·avx2InitMask<>+16(SB)/8, $0x0000000000000001
+DATA ·avx2InitMask<>+24(SB)/8, $0x0000000000000000
+GLOBL ·avx2InitMask<>(SB), RODATA|NOPTR, $32
-sealSSEFinalize:
- // Hash in the buffer lengths
- ADDQ ad_len+80(FP), R10
- ADCQ src_len+56(FP), R11
- ADCQ $0x01, R12
- MOVQ (BP), AX
- MOVQ AX, R15
- MULQ R10
- MOVQ AX, R13
- MOVQ DX, R14
- MOVQ (BP), AX
- MULQ R11
- IMULQ R12, R15
- ADDQ AX, R14
- ADCQ DX, R15
- MOVQ 8(BP), AX
- MOVQ AX, R8
- MULQ R10
- ADDQ AX, R14
- ADCQ $0x00, DX
- MOVQ DX, R10
- MOVQ 8(BP), AX
- MULQ R11
- ADDQ AX, R15
- ADCQ $0x00, DX
- IMULQ R12, R8
- ADDQ R10, R15
- ADCQ DX, R8
- MOVQ R13, R10
- MOVQ R14, R11
- MOVQ R15, R12
- ANDQ $0x03, R12
- MOVQ R15, R13
- ANDQ $-4, R13
- MOVQ R8, R14
- SHRQ $0x02, R8, R15
- SHRQ $0x02, R8
- ADDQ R13, R10
- ADCQ R14, R11
- ADCQ $0x00, R12
- ADDQ R15, R10
- ADCQ R8, R11
- ADCQ $0x00, R12
+DATA ·rol16<>+0(SB)/8, $0x0504070601000302
+DATA ·rol16<>+8(SB)/8, $0x0d0c0f0e09080b0a
+DATA ·rol16<>+16(SB)/8, $0x0504070601000302
+DATA ·rol16<>+24(SB)/8, $0x0d0c0f0e09080b0a
+GLOBL ·rol16<>(SB), RODATA|NOPTR, $32
- // Final reduce
- MOVQ R10, R13
- MOVQ R11, R14
- MOVQ R12, R15
- SUBQ $-5, R10
- SBBQ $-1, R11
- SBBQ $0x03, R12
- CMOVQCS R13, R10
- CMOVQCS R14, R11
- CMOVQCS R15, R12
+DATA ·rol8<>+0(SB)/8, $0x0605040702010003
+DATA ·rol8<>+8(SB)/8, $0x0e0d0c0f0a09080b
+DATA ·rol8<>+16(SB)/8, $0x0605040702010003
+DATA ·rol8<>+24(SB)/8, $0x0e0d0c0f0a09080b
+GLOBL ·rol8<>(SB), RODATA|NOPTR, $32
- // Add in the "s" part of the key
- ADDQ 16(BP), R10
- ADCQ 24(BP), R11
+DATA ·polyClampMask<>+0(SB)/8, $0x0ffffffc0fffffff
+DATA ·polyClampMask<>+8(SB)/8, $0x0ffffffc0ffffffc
+DATA ·polyClampMask<>+16(SB)/8, $0xffffffffffffffff
+DATA ·polyClampMask<>+24(SB)/8, $0xffffffffffffffff
+GLOBL ·polyClampMask<>(SB), RODATA|NOPTR, $32
- // Finally store the tag at the end of the message
- MOVQ R10, (DI)
- MOVQ R11, 8(DI)
- RET
+DATA ·avx2IncMask<>+0(SB)/8, $0x0000000000000002
+DATA ·avx2IncMask<>+8(SB)/8, $0x0000000000000000
+DATA ·avx2IncMask<>+16(SB)/8, $0x0000000000000002
+DATA ·avx2IncMask<>+24(SB)/8, $0x0000000000000000
+GLOBL ·avx2IncMask<>(SB), RODATA|NOPTR, $32
+
+DATA ·andMask<>+0(SB)/8, $0x00000000000000ff
+DATA ·andMask<>+8(SB)/8, $0x0000000000000000
+DATA ·andMask<>+16(SB)/8, $0x000000000000ffff
+DATA ·andMask<>+24(SB)/8, $0x0000000000000000
+DATA ·andMask<>+32(SB)/8, $0x0000000000ffffff
+DATA ·andMask<>+40(SB)/8, $0x0000000000000000
+DATA ·andMask<>+48(SB)/8, $0x00000000ffffffff
+DATA ·andMask<>+56(SB)/8, $0x0000000000000000
+DATA ·andMask<>+64(SB)/8, $0x000000ffffffffff
+DATA ·andMask<>+72(SB)/8, $0x0000000000000000
+DATA ·andMask<>+80(SB)/8, $0x0000ffffffffffff
+DATA ·andMask<>+88(SB)/8, $0x0000000000000000
+DATA ·andMask<>+96(SB)/8, $0x00ffffffffffffff
+DATA ·andMask<>+104(SB)/8, $0x0000000000000000
+DATA ·andMask<>+112(SB)/8, $0xffffffffffffffff
+DATA ·andMask<>+120(SB)/8, $0x0000000000000000
+DATA ·andMask<>+128(SB)/8, $0xffffffffffffffff
+DATA ·andMask<>+136(SB)/8, $0x00000000000000ff
+DATA ·andMask<>+144(SB)/8, $0xffffffffffffffff
+DATA ·andMask<>+152(SB)/8, $0x000000000000ffff
+DATA ·andMask<>+160(SB)/8, $0xffffffffffffffff
+DATA ·andMask<>+168(SB)/8, $0x0000000000ffffff
+DATA ·andMask<>+176(SB)/8, $0xffffffffffffffff
+DATA ·andMask<>+184(SB)/8, $0x00000000ffffffff
+DATA ·andMask<>+192(SB)/8, $0xffffffffffffffff
+DATA ·andMask<>+200(SB)/8, $0x000000ffffffffff
+DATA ·andMask<>+208(SB)/8, $0xffffffffffffffff
+DATA ·andMask<>+216(SB)/8, $0x0000ffffffffffff
+DATA ·andMask<>+224(SB)/8, $0xffffffffffffffff
+DATA ·andMask<>+232(SB)/8, $0x00ffffffffffffff
+GLOBL ·andMask<>(SB), RODATA|NOPTR, $240
-chacha20Poly1305Seal_AVX2:
+// func chacha20Poly1305Seal(dst []byte, key []uint32, src []byte, ad []byte)
+// Requires: AVX, AVX2, BMI2, CMOV, SSE2
+TEXT ·chacha20Poly1305Seal(SB), $288-96
+ MOVQ SP, BP
+ ADDQ $0x20, BP
+ ANDQ $-32, BP
+ MOVQ dst_base+0(FP), DI
+ MOVQ key_base+24(FP), R8
+ MOVQ src_base+48(FP), SI
+ MOVQ src_len+56(FP), BX
+ MOVQ ad_base+72(FP), CX
VZEROUPPER
- VMOVDQU ·chacha20Constants<>+0(SB), Y0
- BYTE $0xc4
- BYTE $0x42
- BYTE $0x7d
- BYTE $0x5a
- BYTE $0x70
- BYTE $0x10
- BYTE $0xc4
- BYTE $0x42
- BYTE $0x7d
- BYTE $0x5a
- BYTE $0x60
- BYTE $0x20
- BYTE $0xc4
- BYTE $0xc2
- BYTE $0x7d
- BYTE $0x5a
- BYTE $0x60
- BYTE $0x30
- VPADDD ·avx2InitMask<>+0(SB), Y4, Y4
+ VMOVDQU ·chacha20Constants<>+0(SB), Y0
+ VBROADCASTI128 16(R8), Y14
+ VBROADCASTI128 32(R8), Y12
+ VBROADCASTI128 48(R8), Y4
+ VPADDD ·avx2InitMask<>+0(SB), Y4, Y4
// Special optimizations, for very short buffers
CMPQ BX, $0x000000c0
@@ -8170,6 +3500,144 @@ sealAVX2InternalLoopStart:
JBE sealAVX2Tail384
JMP sealAVX2Tail512
+sealSSETail:
+ TESTQ BX, BX
+ JE sealSSEFinalize
+
+ // We can only load the PT one byte at a time to avoid read after end of buffer
+ MOVQ BX, R9
+ SHLQ $0x04, R9
+ LEAQ ·andMask<>+0(SB), R13
+ MOVQ BX, CX
+ LEAQ -1(SI)(BX*1), SI
+ XORQ R15, R15
+ XORQ R8, R8
+ XORQ AX, AX
+
+sealSSETailLoadLoop:
+ SHLQ $0x08, R15, R8
+ SHLQ $0x08, R15
+ MOVB (SI), AX
+ XORQ AX, R15
+ LEAQ -1(SI), SI
+ DECQ CX
+ JNE sealSSETailLoadLoop
+ MOVQ R15, 64(BP)
+ MOVQ R8, 72(BP)
+ PXOR 64(BP), X1
+ MOVOU X1, (DI)
+ MOVOU -16(R13)(R9*1), X12
+ PAND X12, X1
+ MOVQ X1, R13
+ PSRLDQ $0x08, X1
+ MOVQ X1, R14
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x01, R12
+ MOVQ (BP), AX
+ MOVQ AX, R15
+ MULQ R10
+ MOVQ AX, R13
+ MOVQ DX, R14
+ MOVQ (BP), AX
+ MULQ R11
+ IMULQ R12, R15
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), AX
+ MOVQ AX, R8
+ MULQ R10
+ ADDQ AX, R14
+ ADCQ $0x00, DX
+ MOVQ DX, R10
+ MOVQ 8(BP), AX
+ MULQ R11
+ ADDQ AX, R15
+ ADCQ $0x00, DX
+ IMULQ R12, R8
+ ADDQ R10, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+ ADDQ BX, DI
+
+sealSSEFinalize:
+ // Hash in the buffer lengths
+ ADDQ ad_len+80(FP), R10
+ ADCQ src_len+56(FP), R11
+ ADCQ $0x01, R12
+ MOVQ (BP), AX
+ MOVQ AX, R15
+ MULQ R10
+ MOVQ AX, R13
+ MOVQ DX, R14
+ MOVQ (BP), AX
+ MULQ R11
+ IMULQ R12, R15
+ ADDQ AX, R14
+ ADCQ DX, R15
+ MOVQ 8(BP), AX
+ MOVQ AX, R8
+ MULQ R10
+ ADDQ AX, R14
+ ADCQ $0x00, DX
+ MOVQ DX, R10
+ MOVQ 8(BP), AX
+ MULQ R11
+ ADDQ AX, R15
+ ADCQ $0x00, DX
+ IMULQ R12, R8
+ ADDQ R10, R15
+ ADCQ DX, R8
+ MOVQ R13, R10
+ MOVQ R14, R11
+ MOVQ R15, R12
+ ANDQ $0x03, R12
+ MOVQ R15, R13
+ ANDQ $-4, R13
+ MOVQ R8, R14
+ SHRQ $0x02, R8, R15
+ SHRQ $0x02, R8
+ ADDQ R13, R10
+ ADCQ R14, R11
+ ADCQ $0x00, R12
+ ADDQ R15, R10
+ ADCQ R8, R11
+ ADCQ $0x00, R12
+
+ // Final reduce
+ MOVQ R10, R13
+ MOVQ R11, R14
+ MOVQ R12, R15
+ SUBQ $-5, R10
+ SBBQ $-1, R11
+ SBBQ $0x03, R12
+ CMOVQCS R13, R10
+ CMOVQCS R14, R11
+ CMOVQCS R15, R12
+
+ // Add in the "s" part of the key
+ ADDQ 16(BP), R10
+ ADCQ 24(BP), R11
+
+ // Finally store the tag at the end of the message
+ MOVQ R10, (DI)
+ MOVQ R11, 8(DI)
+ RET
+
seal192AVX2:
VMOVDQA Y0, Y5
VMOVDQA Y14, Y9
diff --git a/vendor/golang.org/x/crypto/hkdf/hkdf.go b/vendor/golang.org/x/crypto/hkdf/hkdf.go
index 3bee66294..49f3a5582 100644
--- a/vendor/golang.org/x/crypto/hkdf/hkdf.go
+++ b/vendor/golang.org/x/crypto/hkdf/hkdf.go
@@ -11,6 +11,7 @@
package hkdf
import (
+ "crypto/hkdf"
"crypto/hmac"
"errors"
"hash"
@@ -24,15 +25,19 @@ import (
// Expand invocations and different context values. Most common scenarios,
// including the generation of multiple keys, should use New instead.
func Extract(hash func() hash.Hash, secret, salt []byte) []byte {
- if salt == nil {
- salt = make([]byte, hash().Size())
+ // Use the stdlib Extract, which disables FIPS 140 enforcement of the HMAC
+ // key (which in HKDF is the salt). The only possible error is FIPS 140
+ // enforcement of the hash, which had to panic under this API anyway. We
+ // don't use the stdlib Expand, because it switched to returning a []byte
+ // instead of an io.Reader, and Expand uses the HMAC key as a key.
+ out, err := hkdf.Extract(hash, secret, salt)
+ if err != nil {
+ panic(err)
}
- extractor := hmac.New(hash, salt)
- extractor.Write(secret)
- return extractor.Sum(nil)
+ return out
}
-type hkdf struct {
+type hkdfReader struct {
expander hash.Hash
size int
@@ -43,7 +48,7 @@ type hkdf struct {
buf []byte
}
-func (f *hkdf) Read(p []byte) (int, error) {
+func (f *hkdfReader) Read(p []byte) (int, error) {
// Check whether enough data can be generated
need := len(p)
remains := len(f.buf) + int(255-f.counter+1)*f.size
@@ -84,7 +89,7 @@ func (f *hkdf) Read(p []byte) (int, error) {
// 3.3. Most common scenarios will want to use New instead.
func Expand(hash func() hash.Hash, pseudorandomKey, info []byte) io.Reader {
expander := hmac.New(hash, pseudorandomKey)
- return &hkdf{expander, expander.Size(), info, 1, nil, nil}
+ return &hkdfReader{expander, expander.Size(), info, 1, nil, nil}
}
// New returns a Reader, from which keys can be read, using the given hash,
diff --git a/vendor/golang.org/x/crypto/internal/poly1305/mac_noasm.go b/vendor/golang.org/x/crypto/internal/poly1305/mac_noasm.go
index 8d99551fe..b1da45687 100644
--- a/vendor/golang.org/x/crypto/internal/poly1305/mac_noasm.go
+++ b/vendor/golang.org/x/crypto/internal/poly1305/mac_noasm.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build (!amd64 && !loong64 && !ppc64le && !ppc64 && !s390x) || !gc || purego
+//go:build (!amd64 && !loong64 && !ppc64le && !ppc64 && !riscv64 && !s390x) || !gc || purego
package poly1305
diff --git a/vendor/golang.org/x/crypto/internal/poly1305/sum_asm.go b/vendor/golang.org/x/crypto/internal/poly1305/sum_asm.go
index 315b84ac3..55041bf51 100644
--- a/vendor/golang.org/x/crypto/internal/poly1305/sum_asm.go
+++ b/vendor/golang.org/x/crypto/internal/poly1305/sum_asm.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build gc && !purego && (amd64 || loong64 || ppc64 || ppc64le)
+//go:build gc && !purego && (amd64 || loong64 || ppc64 || ppc64le || riscv64)
package poly1305
diff --git a/vendor/golang.org/x/crypto/internal/poly1305/sum_riscv64.s b/vendor/golang.org/x/crypto/internal/poly1305/sum_riscv64.s
new file mode 100644
index 000000000..ce5eb3d43
--- /dev/null
+++ b/vendor/golang.org/x/crypto/internal/poly1305/sum_riscv64.s
@@ -0,0 +1,158 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build gc && !purego
+
+#define LOAD64U(base, offset, t0, t1, t2, t3, dst) \
+ MOVBU (offset+0*1)(base), t0; \
+ MOVBU (offset+1*1)(base), t1; \
+ MOVBU (offset+2*1)(base), t2; \
+ MOVBU (offset+3*1)(base), t3; \
+ SLL $8, t1; \
+ SLL $16, t2; \
+ SLL $24, t3; \
+ OR t1, t0; \
+ OR t3, t2; \
+ OR t2, t0, dst; \
+ MOVBU (offset+4*1)(base), t0; \
+ MOVBU (offset+5*1)(base), t1; \
+ MOVBU (offset+6*1)(base), t2; \
+ MOVBU (offset+7*1)(base), t3; \
+ SLL $32, t0; \
+ SLL $40, t1; \
+ SLL $48, t2; \
+ SLL $56, t3; \
+ OR t1, t0; \
+ OR t3, t2; \
+ OR t2, t0; \
+ OR t0, dst
+
+// func update(state *macState, msg []byte)
+TEXT ·update(SB), $0-32
+ MOV state+0(FP), X5
+ MOV msg_base+8(FP), X6
+ MOV msg_len+16(FP), X7
+
+ MOV $16, X8
+
+ AND $7, X6, X28
+
+ MOV (0*8)(X5), X9 // h0
+ MOV (1*8)(X5), X10 // h1
+ MOV (2*8)(X5), X11 // h2
+ MOV (3*8)(X5), X12 // r0
+ MOV (4*8)(X5), X13 // r1
+
+ BLT X7, X8, tail
+
+loop:
+ BEQZ X28, aligned_load
+
+ LOAD64U(X6, 0*8, X16, X18, X19, X20, X15) // msg[0:8]
+ LOAD64U(X6, 1*8, X16, X18, X19, X20, X17) // msg[8:16]
+ JMP block
+
+aligned_load:
+ MOV (0*8)(X6), X15 // msg[0:8]
+ MOV (1*8)(X6), X17 // msg[8:16]
+
+block:
+ ADD X15, X9 // h0 (x1 + y1 = z1', if z1' < x1 then z1' overflow)
+ SLTU X15, X9, X19 // h0.carry
+ ADD X17, X10, X22
+ SLTU X17, X22, X23
+ ADD X22, X19, X10 // h1
+ SLTU X22, X10, X19
+ OR X23, X19 // h1.carry
+ ADD $1, X19
+ ADD X19, X11 // h2
+
+ ADD $16, X6 // msg = msg[16:]
+
+multiply:
+ MULHU X9, X12, X16 // h0r0.hi
+ MUL X9, X12, X15 // h0r0.lo
+ MULHU X10, X12, X17 // h1r0.hi
+ MUL X10, X12, X14 // h1r0.lo
+ ADD X14, X16
+ SLTU X14, X16, X19
+ ADD X19, X17
+ MUL X11, X12, X20
+ ADD X17, X20
+ MULHU X9, X13, X17 // h0r1.hi
+ MUL X9, X13, X14 // h0r1.lo
+ ADD X14, X16
+ SLTU X14, X16, X19
+ ADD X19, X17
+ MOV X17, X9
+ MUL X11, X13, X21 // h2r1
+ MULHU X10, X13, X17 // h1r1.hi
+ MUL X10, X13, X14 // h1r1.lo
+ ADD X14, X20
+ ADD X17, X21, X22
+ SLTU X14, X20, X19
+ ADD X22, X19, X21
+ ADD X9, X20
+ SLTU X9, X20, X19
+ ADD X19, X21
+ AND $3, X20, X11
+ AND $-4, X20, X18
+ ADD X18, X15, X9
+ ADD X21, X16, X22
+ SLTU X18, X9, X19
+ SLTU X21, X22, X23
+ ADD X22, X19, X10
+ SLTU X22, X10, X19
+ OR X19, X23, X19
+ ADD X19, X11
+ SLL $62, X21, X22
+ SRL $2, X20, X23
+ SRL $2, X21, X21
+ OR X22, X23, X20
+ ADD X20, X9, X9
+ ADD X21, X10, X22
+ SLTU X20, X9, X19
+ SLTU X21, X22, X23
+ ADD X22, X19, X10
+ SLTU X22, X10, X19
+ OR X19, X23, X19
+ ADD X19, X11, X11
+
+ SUB $16, X7, X7
+ BGE X7, X8, loop
+
+tail:
+ BEQ X7, X0, done
+ MOV $1, X15
+ MOV $0, X16
+ ADD X7, X6, X6
+
+flush_buffer:
+ MOVBU -1(X6), X20
+ SRL $56, X15, X19
+ SLL $8, X16, X23
+ SLL $8, X15, X15
+ OR X19, X23, X16
+ XOR X20, X15
+ SUB $1, X7, X7
+ SUB $1, X6, X6
+ BNE X7, X0, flush_buffer
+
+ ADD X15, X9
+ SLTU X15, X9, X19
+ ADD X16, X10, X22
+ SLTU X16, X22, X23
+ ADD X22, X19, X10
+ SLTU X22, X10, X19
+ OR X23, X19
+ ADD X19, X11
+
+ MOV $16, X7
+ JMP multiply
+
+done:
+ MOV X9, (0*8)(X5) // h0
+ MOV X10, (1*8)(X5)
+ MOV X11, (2*8)(X5)
+ RET
diff --git a/vendor/golang.org/x/crypto/pkcs12/crypto.go b/vendor/golang.org/x/crypto/pkcs12/crypto.go
index 212538cb5..3f307323c 100644
--- a/vendor/golang.org/x/crypto/pkcs12/crypto.go
+++ b/vendor/golang.org/x/crypto/pkcs12/crypto.go
@@ -80,6 +80,10 @@ func pbDecrypterFor(algorithm pkix.AlgorithmIdentifier, password []byte) (cipher
return nil, 0, err
}
+ if params.Iterations < 0 || params.Iterations > maxIterations {
+ return nil, 0, NotImplementedError("iteration count is invalid or too high")
+ }
+
key := cipherType.deriveKey(params.Salt, password, params.Iterations)
iv := cipherType.deriveIV(params.Salt, password, params.Iterations)
diff --git a/vendor/golang.org/x/crypto/pkcs12/mac.go b/vendor/golang.org/x/crypto/pkcs12/mac.go
index 5f38aa7de..84039cee1 100644
--- a/vendor/golang.org/x/crypto/pkcs12/mac.go
+++ b/vendor/golang.org/x/crypto/pkcs12/mac.go
@@ -27,11 +27,19 @@ var (
oidSHA1 = asn1.ObjectIdentifier([]int{1, 3, 14, 3, 2, 26})
)
+// maxIterations is a safety limit to prevent CPU exhaustion from
+// crafted PKCS#12 files with unreasonable iteration counts.
+const maxIterations = 1 << 20 // ~1 million
+
func verifyMac(macData *macData, message, password []byte) error {
if !macData.Mac.Algorithm.Algorithm.Equal(oidSHA1) {
return NotImplementedError("unknown digest algorithm: " + macData.Mac.Algorithm.Algorithm.String())
}
+ if macData.Iterations < 0 || macData.Iterations > maxIterations {
+ return NotImplementedError("iteration count is invalid or too high")
+ }
+
key := pbkdf(sha1Sum, 20, 64, macData.MacSalt, password, macData.Iterations, 3, 20)
mac := hmac.New(sha1.New, key)
diff --git a/vendor/golang.org/x/net/http2/README.md b/vendor/golang.org/x/net/http2/README.md
new file mode 100644
index 000000000..9314f9333
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/README.md
@@ -0,0 +1,19 @@
+This package (golang.org/x/net/http2) is the original source of truth
+of the Go HTTP/2 implementation.
+
+As of Go 1.27, the source of truth has moved to the standard library
+package net/http/internal/http2.
+All new feature development should happen in that package.
+Only critical bug fixes and security fixes will be backported to x/net.
+
+The x/net package contains two implementations of the HTTP/2 transport and server:
+
+The original implementation (no longer the source of truth).
+
+A reimplementation of the x/net/http2 APIs in terms of net/http.
+This is called "the wrapping implementation", since it wraps net/http.
+
+The original implementation is used when the Go version is less than 1.27.
+
+The wrapping implementation is used when the Go version is at least 1.27.
+The build tag "http2legacy" may be set to use the original implementation.
diff --git a/vendor/golang.org/x/net/http2/ascii.go b/vendor/golang.org/x/net/http2/ascii.go
index 17caa2058..3a7aed12c 100644
--- a/vendor/golang.org/x/net/http2/ascii.go
+++ b/vendor/golang.org/x/net/http2/ascii.go
@@ -4,7 +4,9 @@
package http2
-import "strings"
+import (
+ "strings"
+)
// The HTTP protocols are defined in terms of ASCII, not Unicode. This file
// contains helper functions which may use Unicode-aware functions which would
@@ -43,6 +45,16 @@ func isASCIIPrint(s string) bool {
return true
}
+// isASCII returns whether s is ASCII.
+func isASCII(s string) bool {
+ for i := 0; i < len(s); i++ {
+ if s[i] > 0x7f {
+ return false
+ }
+ }
+ return true
+}
+
// asciiToLower returns the lowercase version of s if s is ASCII and printable,
// and whether or not it was.
func asciiToLower(s string) (lower string, ok bool) {
diff --git a/vendor/golang.org/x/net/http2/client_conn_pool.go b/vendor/golang.org/x/net/http2/client_conn_pool.go
index e81b73e6a..68179e425 100644
--- a/vendor/golang.org/x/net/http2/client_conn_pool.go
+++ b/vendor/golang.org/x/net/http2/client_conn_pool.go
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
// Transport code's client connection pooling.
package http2
@@ -14,18 +16,6 @@ import (
"sync"
)
-// ClientConnPool manages a pool of HTTP/2 client connections.
-type ClientConnPool interface {
- // GetClientConn returns a specific HTTP/2 connection (usually
- // a TLS-TCP connection) to an HTTP/2 server. On success, the
- // returned ClientConn accounts for the upcoming RoundTrip
- // call, so the caller should not omit it. If the caller needs
- // to, ClientConn.RoundTrip can be called with a bogus
- // new(http.Request) to release the stream reservation.
- GetClientConn(req *http.Request, addr string) (*ClientConn, error)
- MarkDead(*ClientConn)
-}
-
// clientConnPoolIdleCloser is the interface implemented by ClientConnPool
// implementations which can close their idle connections.
type clientConnPoolIdleCloser interface {
diff --git a/vendor/golang.org/x/net/http2/clientconn.go b/vendor/golang.org/x/net/http2/clientconn.go
new file mode 100644
index 000000000..775d3b11a
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/clientconn.go
@@ -0,0 +1,57 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package http2
+
+import (
+ "context"
+ "net/http"
+)
+
+func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
+ return cc.roundTrip(req)
+}
+
+// SetDoNotReuse marks cc as not reusable for future HTTP requests.
+func (cc *ClientConn) SetDoNotReuse() {
+ cc.setDoNotReuse()
+}
+
+// CanTakeNewRequest reports whether the connection can take a new request,
+// meaning it has not been closed or received or sent a GOAWAY.
+//
+// If the caller is going to immediately make a new request on this
+// connection, use ReserveNewRequest instead.
+func (cc *ClientConn) CanTakeNewRequest() bool {
+ return cc.canTakeNewRequest()
+}
+
+// ReserveNewRequest is like CanTakeNewRequest but also reserves a
+// concurrent stream in cc. The reservation is decremented on the
+// next call to RoundTrip.
+func (cc *ClientConn) ReserveNewRequest() bool {
+ return cc.reserveNewRequest()
+}
+
+// State returns a snapshot of cc's state.
+func (cc *ClientConn) State() ClientConnState {
+ return cc.state()
+}
+
+// Shutdown gracefully closes the client connection, waiting for running streams to complete.
+func (cc *ClientConn) Shutdown(ctx context.Context) error {
+ return cc.shutdown(ctx)
+}
+
+// Close closes the client connection immediately.
+//
+// In-flight requests are interrupted. For a graceful shutdown, use Shutdown instead.
+func (cc *ClientConn) Close() error {
+ return cc.close()
+}
+
+// Ping sends a PING frame to the server and waits for the ack.
+func (cc *ClientConn) Ping(ctx context.Context) error {
+ return cc.ping(ctx)
+}
diff --git a/vendor/golang.org/x/net/http2/config.go b/vendor/golang.org/x/net/http2/config.go
index 8a7a89d01..081dfb5b1 100644
--- a/vendor/golang.org/x/net/http2/config.go
+++ b/vendor/golang.org/x/net/http2/config.go
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
package http2
import (
diff --git a/vendor/golang.org/x/net/http2/databuffer.go b/vendor/golang.org/x/net/http2/databuffer.go
index e6f55cbd1..9763ab134 100644
--- a/vendor/golang.org/x/net/http2/databuffer.go
+++ b/vendor/golang.org/x/net/http2/databuffer.go
@@ -121,10 +121,7 @@ func (b *dataBuffer) Write(p []byte) (int, error) {
// If the last chunk is empty, allocate a new chunk. Try to allocate
// enough to fully copy p plus any additional bytes we expect to
// receive. However, this may allocate less than len(p).
- want := int64(len(p))
- if b.expected > want {
- want = b.expected
- }
+ want := max(int64(len(p)), b.expected)
chunk := b.lastChunkOrAlloc(want)
n := copy(chunk[b.w:], p)
p = p[n:]
diff --git a/vendor/golang.org/x/net/http2/flow.go b/vendor/golang.org/x/net/http2/flow.go
index b7dbd1869..5066a3991 100644
--- a/vendor/golang.org/x/net/http2/flow.go
+++ b/vendor/golang.org/x/net/http2/flow.go
@@ -10,6 +10,9 @@ package http2
// flow control window update.
const inflowMinRefresh = 4 << 10
+// maxFlowWindow is the maximum size of a flow control window.
+const maxFlowWindow = (1 << 31) - 1
+
// inflow accounts for an inbound flow control window.
// It tracks both the latest window sent to the peer (used for enforcement)
// and the accumulated unsent window.
@@ -74,47 +77,99 @@ func takeInflows(f1, f2 *inflow, n uint32) bool {
return true
}
-// outflow is the outbound flow control window's size.
+// connOutflow is connection-level outbound flow control.
+type connOutflow struct {
+ initial int32 // SETTINGS_INITIAL_WINDOW_SIZE, changes with settings updates
+ n int32 // connection-level flow control window
+ flowErr bool // set when a flow control error is encountered
+}
+
+func (f *connOutflow) init() {
+ f.initial = initialWindowSize // initial stream window size
+ f.n = initialWindowSize // current connection window size
+}
+
+func (f *connOutflow) changeInitialWindowSize(size int64) bool {
+ if size > maxFlowWindow {
+ f.flowErr = true
+ return false
+ }
+ f.initial = int32(size)
+ return true
+}
+
+func (f *connOutflow) add(n int32) bool {
+ sum := int64(f.n) + int64(n)
+ if sum > maxFlowWindow {
+ f.flowErr = true
+ return false
+ }
+ f.n += n
+ return true
+}
+
+// outflow is the stream-level outbound flow control window's size.
type outflow struct {
_ incomparable
- // n is the number of DATA bytes we're allowed to send.
- // An outflow is kept both on a conn and a per-stream.
- n int32
+ // delta is the difference between the stream's flow control window and
+ // the connection's initial window size (conn.initial).
+ //
+ // Another view is that delta is the number of flow control bytes provided to this
+ // stream in WINDOW_UPDATE frames, less the number of bytes sent on the stream.
+ delta int32
// conn points to the shared connection-level outflow that is
- // shared by all streams on that conn. It is nil for the outflow
- // that's on the conn directly.
- conn *outflow
+ // shared by all streams on that conn.
+ conn *connOutflow
}
-func (f *outflow) setConnFlow(cf *outflow) { f.conn = cf }
-
-func (f *outflow) available() int32 {
- n := f.n
- if f.conn != nil && f.conn.n < n {
- n = f.conn.n
+func (f *outflow) available() (int32, bool) {
+ if f.conn == nil {
+ return maxFlowWindow, true // only happens in tests
}
- return n
+ if f.conn.flowErr {
+ // Block all sending once any stream observes a flow control error.
+ return 0, false
+ }
+ n := int64(f.conn.initial) + int64(f.delta)
+ if n > maxFlowWindow {
+ f.conn.flowErr = true
+ return 0, false
+ }
+ return min(int32(n), f.conn.n), true
}
func (f *outflow) take(n int32) {
- if n > f.available() {
- panic("internal error: took too much")
+ if f.conn == nil {
+ return // only happens in tests
}
- f.n -= n
- if f.conn != nil {
- f.conn.n -= n
+ avail, _ := f.available()
+ if n > avail {
+ panic("internal error: took too much")
}
+ f.delta -= n
+ f.conn.n -= n
}
// add adds n bytes (positive or negative) to the flow control window.
// It returns false if the sum would exceed 2^31-1.
func (f *outflow) add(n int32) bool {
- sum := f.n + n
- if (sum > n) == (f.n > 0) {
- f.n = sum
- return true
+ if f.conn == nil {
+ return true // only happens in tests
+ }
+ avail := int64(f.conn.initial) + int64(f.delta)
+ if avail > maxFlowWindow {
+ // An earlier change to the initial window pushed this stream over the limit.
+ // This is a connection-level flow control error.
+ f.conn.flowErr = true
+ return false
}
- return false
+ if avail+int64(n) > maxFlowWindow {
+ // This update would push the stream over the limit.
+ // This is a stream-level flow control error.
+ return false
+ }
+ f.delta += n
+ return true
}
diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go
index be75badcc..3363bbafc 100644
--- a/vendor/golang.org/x/net/http2/frame.go
+++ b/vendor/golang.org/x/net/http2/frame.go
@@ -1711,7 +1711,8 @@ func (fr *Framer) readMetaFrame(hf *HeadersFrame) (Frame, error) {
mh := &MetaHeadersFrame{
HeadersFrame: hf,
}
- var remainSize = fr.maxHeaderListSize()
+ var headersRemainSize = fr.maxHeaderListSize()
+ var trailersRemainSize = fr.maxHeaderListSize()
var sawRegular bool
var invalid error // pseudo header field errors
@@ -1743,14 +1744,29 @@ func (fr *Framer) readMetaFrame(hf *HeadersFrame) (Frame, error) {
return
}
- size := hf.Size()
- if size > remainSize {
+ var remainSize *uint32
+ var size uint32
+ if hf.Name == "trailer" {
+ remainSize = &trailersRemainSize
+ fieldCount := strings.Count(hf.Value, ",") + 1
+ // Rather than actually constructing hpack.HeaderField for each
+ // trailer field and cumulatively adding its Size, just do the math
+ // manually to avoid unnecessary work. This does make it so
+ // whitespaces after comma are counted against the budget, but that
+ // should be innocuous.
+ size = uint32(len(hf.Value)-fieldCount+1) + uint32(fieldCount)*hpack.HeaderField{}.Size()
+ } else {
+ remainSize = &headersRemainSize
+ size = hf.Size()
+ }
+ if size > *remainSize {
hdec.SetEmitEnabled(false)
mh.Truncated = true
- remainSize = 0
+ headersRemainSize = 0
+ trailersRemainSize = 0
return
}
- remainSize -= size
+ *remainSize -= size
mh.Fields = append(mh.Fields, hf)
})
@@ -1766,10 +1782,10 @@ func (fr *Framer) readMetaFrame(hf *HeadersFrame) (Frame, error) {
// skip parsing the fragment and close the connection.
//
// "Too much" is either any CONTINUATION frame after we've already
- // exceeded the max header list size (in which case remainSize is 0),
- // or a frame whose encoded size is more than twice the remaining
- // header list bytes we're willing to accept.
- if int64(len(frag)) > int64(2*remainSize) {
+ // exceeded the max header list size (if so, both budgets are 0), or a
+ // frame whose encoded size is more than twice the remaining header
+ // list bytes we're willing to accept.
+ if int64(len(frag)) > 2*int64(headersRemainSize+trailersRemainSize) {
if VerboseLogs {
log.Printf("http2: header list too large")
}
diff --git a/vendor/golang.org/x/net/http2/hpack/encode.go b/vendor/golang.org/x/net/http2/hpack/encode.go
index 46219da2b..e6d0c265a 100644
--- a/vendor/golang.org/x/net/http2/hpack/encode.go
+++ b/vendor/golang.org/x/net/http2/hpack/encode.go
@@ -39,7 +39,6 @@ func NewEncoder(w io.Writer) *Encoder {
tableSizeUpdate: false,
w: w,
}
- e.dynTab.table.init()
e.dynTab.setMaxSize(initialHeaderTableSize)
return e
}
diff --git a/vendor/golang.org/x/net/http2/hpack/hpack.go b/vendor/golang.org/x/net/http2/hpack/hpack.go
index 7a1d97669..ecd3eeca9 100644
--- a/vendor/golang.org/x/net/http2/hpack/hpack.go
+++ b/vendor/golang.org/x/net/http2/hpack/hpack.go
@@ -105,7 +105,6 @@ func NewDecoder(maxDynamicTableSize uint32, emitFunc func(f HeaderField)) *Decod
emitEnabled: true,
firstField: true,
}
- d.dynTab.table.init()
d.dynTab.allowedMaxSize = maxDynamicTableSize
d.dynTab.setMaxSize(maxDynamicTableSize)
return d
diff --git a/vendor/golang.org/x/net/http2/hpack/tables.go b/vendor/golang.org/x/net/http2/hpack/tables.go
index 8cbdf3f01..3bd7eb753 100644
--- a/vendor/golang.org/x/net/http2/hpack/tables.go
+++ b/vendor/golang.org/x/net/http2/hpack/tables.go
@@ -31,10 +31,18 @@ type headerFieldTable struct {
// byName maps a HeaderField name to the unique id of the newest entry with
// the same name. See above for a definition of "unique id".
+ //
+ // byName and byNameValue are used only by search, which is only called
+ // for tables used by encoders. For tables used only by decoders, the
+ // maps are never built, as a memory optimization for servers with many
+ // mostly-idle connections, each pinning a dynamic table. The maps are
+ // built lazily by the first search call and are nil until then. The two
+ // maps are always both nil or both non-nil.
byName map[string]uint64
// byNameValue maps a HeaderField name/value pair to the unique id of the newest
// entry with the same name and value. See above for a definition of "unique id".
+ // See byName for when this map is non-nil.
byNameValue map[pairNameValue]uint64
}
@@ -42,9 +50,17 @@ type pairNameValue struct {
name, value string
}
-func (t *headerFieldTable) init() {
- t.byName = make(map[string]uint64)
- t.byNameValue = make(map[pairNameValue]uint64)
+// buildMaps initializes byName and byNameValue from ents.
+func (t *headerFieldTable) buildMaps() {
+ t.byName = make(map[string]uint64, len(t.ents))
+ t.byNameValue = make(map[pairNameValue]uint64, len(t.ents))
+ for k, f := range t.ents {
+ // Map to the newest matching entry: later (newer) entries
+ // overwrite earlier ones, matching addEntry's behavior.
+ id := t.evictCount + uint64(k) + 1
+ t.byName[f.Name] = id
+ t.byNameValue[pairNameValue{f.Name, f.Value}] = id
+ }
}
// len reports the number of entries in the table.
@@ -54,9 +70,11 @@ func (t *headerFieldTable) len() int {
// addEntry adds a new entry.
func (t *headerFieldTable) addEntry(f HeaderField) {
- id := uint64(t.len()) + t.evictCount + 1
- t.byName[f.Name] = id
- t.byNameValue[pairNameValue{f.Name, f.Value}] = id
+ if t.byName != nil {
+ id := uint64(t.len()) + t.evictCount + 1
+ t.byName[f.Name] = id
+ t.byNameValue[pairNameValue{f.Name, f.Value}] = id
+ }
t.ents = append(t.ents, f)
}
@@ -65,14 +83,16 @@ func (t *headerFieldTable) evictOldest(n int) {
if n > t.len() {
panic(fmt.Sprintf("evictOldest(%v) on table with %v entries", n, t.len()))
}
- for k := 0; k < n; k++ {
- f := t.ents[k]
- id := t.evictCount + uint64(k) + 1
- if t.byName[f.Name] == id {
- delete(t.byName, f.Name)
- }
- if p := (pairNameValue{f.Name, f.Value}); t.byNameValue[p] == id {
- delete(t.byNameValue, p)
+ if t.byName != nil {
+ for k := 0; k < n; k++ {
+ f := t.ents[k]
+ id := t.evictCount + uint64(k) + 1
+ if t.byName[f.Name] == id {
+ delete(t.byName, f.Name)
+ }
+ if p := (pairNameValue{f.Name, f.Value}); t.byNameValue[p] == id {
+ delete(t.byNameValue, p)
+ }
}
}
copy(t.ents, t.ents[n:])
@@ -100,6 +120,9 @@ func (t *headerFieldTable) evictOldest(n int) {
//
// See Section 2.3.3.
func (t *headerFieldTable) search(f HeaderField) (i uint64, nameValueMatch bool) {
+ if t.byName == nil {
+ t.buildMaps()
+ }
if !f.Sensitive {
if id := t.byNameValue[pairNameValue{f.Name, f.Value}]; id != 0 {
return t.idToIndex(id), true
diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go
index 0b99d832f..2b625d9e9 100644
--- a/vendor/golang.org/x/net/http2/http2.go
+++ b/vendor/golang.org/x/net/http2/http2.go
@@ -195,7 +195,7 @@ func (s SettingID) String() string {
}
// validWireHeaderFieldName reports whether v is a valid header field
-// name (key). See httpguts.ValidHeaderName for the base rules.
+// name (key). See httpguts.ValidHeaderFieldName for the base rules.
//
// Further, http2 says:
//
diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go
index 65da5175c..a6cd66226 100644
--- a/vendor/golang.org/x/net/http2/server.go
+++ b/vendor/golang.org/x/net/http2/server.go
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
// TODO: turn off the serve goroutine when idle, so
// an idle conn only has the readFrames goroutine active. (which could
// also be optimized probably to pin less memory in crypto/tls). This
@@ -88,98 +90,6 @@ var (
testHookOnPanic func(sc *serverConn, panicVal interface{}) (rePanic bool)
)
-// Server is an HTTP/2 server.
-type Server struct {
- // MaxHandlers limits the number of http.Handler ServeHTTP goroutines
- // which may run at a time over all connections.
- // Negative or zero no limit.
- // TODO: implement
- MaxHandlers int
-
- // MaxConcurrentStreams optionally specifies the number of
- // concurrent streams that each client may have open at a
- // time. This is unrelated to the number of http.Handler goroutines
- // which may be active globally, which is MaxHandlers.
- // If zero, MaxConcurrentStreams defaults to at least 100, per
- // the HTTP/2 spec's recommendations.
- MaxConcurrentStreams uint32
-
- // MaxDecoderHeaderTableSize optionally specifies the http2
- // SETTINGS_HEADER_TABLE_SIZE to send in the initial settings frame. It
- // informs the remote endpoint of the maximum size of the header compression
- // table used to decode header blocks, in octets. If zero, the default value
- // of 4096 is used.
- MaxDecoderHeaderTableSize uint32
-
- // MaxEncoderHeaderTableSize optionally specifies an upper limit for the
- // header compression table used for encoding request headers. Received
- // SETTINGS_HEADER_TABLE_SIZE settings are capped at this limit. If zero,
- // the default value of 4096 is used.
- MaxEncoderHeaderTableSize uint32
-
- // MaxReadFrameSize optionally specifies the largest frame
- // this server is willing to read. A valid value is between
- // 16k and 16M, inclusive. If zero or otherwise invalid, a
- // default value is used.
- MaxReadFrameSize uint32
-
- // PermitProhibitedCipherSuites, if true, permits the use of
- // cipher suites prohibited by the HTTP/2 spec.
- PermitProhibitedCipherSuites bool
-
- // IdleTimeout specifies how long until idle clients should be
- // closed with a GOAWAY frame. PING frames are not considered
- // activity for the purposes of IdleTimeout.
- // If zero or negative, there is no timeout.
- IdleTimeout time.Duration
-
- // ReadIdleTimeout is the timeout after which a health check using a ping
- // frame will be carried out if no frame is received on the connection.
- // If zero, no health check is performed.
- ReadIdleTimeout time.Duration
-
- // PingTimeout is the timeout after which the connection will be closed
- // if a response to a ping is not received.
- // If zero, a default of 15 seconds is used.
- PingTimeout time.Duration
-
- // WriteByteTimeout is the timeout after which a connection will be
- // closed if no data can be written to it. The timeout begins when data is
- // available to write, and is extended whenever any bytes are written.
- // If zero or negative, there is no timeout.
- WriteByteTimeout time.Duration
-
- // MaxUploadBufferPerConnection is the size of the initial flow
- // control window for each connections. The HTTP/2 spec does not
- // allow this to be smaller than 65535 or larger than 2^32-1.
- // If the value is outside this range, a default value will be
- // used instead.
- MaxUploadBufferPerConnection int32
-
- // MaxUploadBufferPerStream is the size of the initial flow control
- // window for each stream. The HTTP/2 spec does not allow this to
- // be larger than 2^32-1. If the value is zero or larger than the
- // maximum, a default value will be used instead.
- MaxUploadBufferPerStream int32
-
- // NewWriteScheduler constructs a write scheduler for a connection.
- // If nil, a default scheduler is chosen.
- //
- // Deprecated: User-provided write schedulers are deprecated.
- NewWriteScheduler func() WriteScheduler
-
- // CountError, if non-nil, is called on HTTP/2 server errors.
- // It's intended to increment a metric for monitoring, such
- // as an expvar or Prometheus metric.
- // The errType consists of only ASCII word characters.
- CountError func(errType string)
-
- // Internal state. This is a pointer (rather than embedded directly)
- // so that we don't embed a Mutex in this struct, which will make the
- // struct non-copyable, which might break some callers.
- state *serverInternalState
-}
-
type serverInternalState struct {
mu sync.Mutex
activeConns map[*serverConn]struct{}
@@ -187,6 +97,9 @@ type serverInternalState struct {
// Pool of error channels. This is per-Server rather than global
// because channels can't be reused across synctest bubbles.
errChanPool sync.Pool
+
+ // Used in tests.
+ testNewConn func(*serverConn)
}
func (s *serverInternalState) registerConn(sc *serverConn) {
@@ -239,12 +152,7 @@ func (s *serverInternalState) putErrChan(ch chan error) {
s.errChanPool.Put(ch)
}
-// ConfigureServer adds HTTP/2 support to a net/http Server.
-//
-// The configuration conf may be nil.
-//
-// ConfigureServer must be called before s begins serving.
-func ConfigureServer(s *http.Server, conf *Server) error {
+func configureServer(s *http.Server, conf *Server) error {
if s == nil {
panic("nil *http.Server")
}
@@ -349,83 +257,6 @@ func ConfigureServer(s *http.Server, conf *Server) error {
return nil
}
-// ServeConnOpts are options for the Server.ServeConn method.
-type ServeConnOpts struct {
- // Context is the base context to use.
- // If nil, context.Background is used.
- Context context.Context
-
- // BaseConfig optionally sets the base configuration
- // for values. If nil, defaults are used.
- BaseConfig *http.Server
-
- // Handler specifies which handler to use for processing
- // requests. If nil, BaseConfig.Handler is used. If BaseConfig
- // or BaseConfig.Handler is nil, http.DefaultServeMux is used.
- Handler http.Handler
-
- // UpgradeRequest is an initial request received on a connection
- // undergoing an h2c upgrade. The request body must have been
- // completely read from the connection before calling ServeConn,
- // and the 101 Switching Protocols response written.
- UpgradeRequest *http.Request
-
- // Settings is the decoded contents of the HTTP2-Settings header
- // in an h2c upgrade request.
- Settings []byte
-
- // SawClientPreface is set if the HTTP/2 connection preface
- // has already been read from the connection.
- SawClientPreface bool
-}
-
-func (o *ServeConnOpts) context() context.Context {
- if o != nil && o.Context != nil {
- return o.Context
- }
- return context.Background()
-}
-
-func (o *ServeConnOpts) baseConfig() *http.Server {
- if o != nil && o.BaseConfig != nil {
- return o.BaseConfig
- }
- return new(http.Server)
-}
-
-func (o *ServeConnOpts) handler() http.Handler {
- if o != nil {
- if o.Handler != nil {
- return o.Handler
- }
- if o.BaseConfig != nil && o.BaseConfig.Handler != nil {
- return o.BaseConfig.Handler
- }
- }
- return http.DefaultServeMux
-}
-
-// ServeConn serves HTTP/2 requests on the provided connection and
-// blocks until the connection is no longer readable.
-//
-// ServeConn starts speaking HTTP/2 assuming that c has not had any
-// reads or writes. It writes its initial settings frame and expects
-// to be able to read the preface and settings frame from the
-// client. If c has a ConnectionState method like a *tls.Conn, the
-// ConnectionState is used to verify the TLS ciphersuite and to set
-// the Request.TLS field in Handlers.
-//
-// ServeConn does not support h2c by itself. Any h2c support must be
-// implemented in terms of providing a suitably-behaving net.Conn.
-//
-// The opts parameter is optional. If nil, default values are used.
-func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) {
- if opts == nil {
- opts = &ServeConnOpts{}
- }
- s.serveConn(c, opts, nil)
-}
-
func (s *Server) serveConn(c net.Conn, opts *ServeConnOpts, newf func(*serverConn)) {
baseCtx, cancel := serverConnBaseContext(c, opts)
defer cancel()
@@ -449,7 +280,6 @@ func (s *Server) serveConn(c net.Conn, opts *ServeConnOpts, newf func(*serverCon
doneServing: make(chan struct{}),
clientMaxStreams: math.MaxUint32, // Section 6.5.2: "Initially, there is no limit to this value"
advMaxStreams: conf.MaxConcurrentStreams,
- initialStreamSendWindowSize: initialWindowSize,
initialStreamRecvWindowSize: conf.MaxUploadBufferPerStream,
maxFrameSize: initialMaxFrameSize,
pingTimeout: conf.PingTimeout,
@@ -461,6 +291,9 @@ func (s *Server) serveConn(c net.Conn, opts *ServeConnOpts, newf func(*serverCon
if newf != nil {
newf(sc)
}
+ if s.state != nil && s.state.testNewConn != nil {
+ s.state.testNewConn(sc)
+ }
s.state.registerConn(sc)
defer s.state.unregisterConn(sc)
@@ -486,7 +319,7 @@ func (s *Server) serveConn(c net.Conn, opts *ServeConnOpts, newf func(*serverCon
// These start at the RFC-specified defaults. If there is a higher
// configured value for inflow, that will be updated when we send a
// WINDOW_UPDATE shortly after sending SETTINGS.
- sc.flow.add(initialWindowSize)
+ sc.flow.init()
sc.inflow.init(initialWindowSize)
sc.hpackEncoder = hpack.NewEncoder(&sc.headerWriteBuf)
sc.hpackEncoder.SetMaxDynamicTableSizeLimit(conf.MaxEncoderHeaderTableSize)
@@ -570,15 +403,6 @@ func (s *Server) serveConn(c net.Conn, opts *ServeConnOpts, newf func(*serverCon
sc.serve(conf)
}
-func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx context.Context, cancel func()) {
- ctx, cancel = context.WithCancel(opts.context())
- ctx = context.WithValue(ctx, http.LocalAddrContextKey, c.LocalAddr())
- if hs := opts.baseConfig(); hs != nil {
- ctx = context.WithValue(ctx, http.ServerContextKey, hs)
- }
- return
-}
-
func (sc *serverConn) rejectConn(err ErrCode, debug string) {
sc.vlogf("http2: server rejecting conn: %v, %s", err, debug)
// ignoring errors. hanging up anyway.
@@ -602,7 +426,7 @@ type serverConn struct {
wroteFrameCh chan frameWriteResult // from writeFrameAsync -> serve, tickles more frame writes
bodyReadCh chan bodyReadMsg // from handlers -> serve
serveMsgCh chan interface{} // misc messages & code to send to / run on the serve loop
- flow outflow // conn-wide (not stream-specific) outbound flow control
+ flow connOutflow // conn-wide (not stream-specific) outbound flow control
inflow inflow // conn-wide inbound flow control
tlsState *tls.ConnectionState // shared by all handlers, like net/http
remoteAddrStr string
@@ -616,6 +440,9 @@ type serverConn struct {
sawFirstSettings bool // got the initial SETTINGS frame after the preface
needToSendSettingsAck bool
unackedSettings int // how many SETTINGS have we sent without ACKs?
+ pendingEncoderTableSize bool // peer changed SETTINGS_HEADER_TABLE_SIZE; apply to hpackEncoder before the next frame write
+ encoderTableSizeMin uint32 // smallest SETTINGS_HEADER_TABLE_SIZE since the last apply
+ encoderTableSize uint32 // latest SETTINGS_HEADER_TABLE_SIZE
queuedControlFrames int // control frames in the writeSched queue
clientMaxStreams uint32 // SETTINGS_MAX_CONCURRENT_STREAMS from client (our PUSH_PROMISE limit)
advMaxStreams uint32 // our SETTINGS_MAX_CONCURRENT_STREAMS advertised the client
@@ -626,7 +453,6 @@ type serverConn struct {
maxPushPromiseID uint32 // ID of the last push promise (even), or 0 if there have been no pushes
streams map[uint32]*stream
unstartedHandlers []unstartedHandler
- initialStreamSendWindowSize int32
initialStreamRecvWindowSize int32
maxFrameSize int32
peerMaxHeaderListSize uint32 // zero means unknown (default)
@@ -696,7 +522,8 @@ type stream struct {
// immutable:
sc *serverConn
id uint32
- body *pipe // non-nil if expecting DATA frames
+ body *pipe // non-nil if expecting DATA frames
+ reqBody *requestBody
cw closeWaiter // closed wait stream transitions to closed state
ctx context.Context
cancelCtx func()
@@ -1347,6 +1174,16 @@ func (sc *serverConn) startFrameWrite(wr FrameWriteRequest) {
sc.writingFrame = true
sc.needsFrameFlush = true
+ if sc.pendingEncoderTableSize {
+ // hpackEncoder may be in use by writeFrameAsync, so SETTINGS
+ // changes to it are deferred until no frame is being written.
+ // Replaying the smallest size before the latest one keeps the
+ // encoder's view identical to having applied every change
+ // (RFC 7541, Section 4.2).
+ sc.pendingEncoderTableSize = false
+ sc.hpackEncoder.SetMaxDynamicTableSize(sc.encoderTableSizeMin)
+ sc.hpackEncoder.SetMaxDynamicTableSize(sc.encoderTableSize)
+ }
if wr.write.staysWithinBuffer(sc.bw.Available()) {
sc.writingFrameAsync = false
err := wr.write.writeFrame(sc)
@@ -1446,6 +1283,11 @@ func (sc *serverConn) scheduleFrameWrite() {
}
sc.inFrameScheduleLoop = true
for !sc.writingFrameAsync {
+ if sc.flow.flowErr && (!sc.inGoAway || sc.goAwayCode == ErrCodeNo) {
+ sc.inGoAway = true
+ sc.needToSendGoAway = true
+ sc.goAwayCode = ErrCodeFlowControl
+ }
if sc.needToSendGoAway {
sc.needToSendGoAway = false
sc.startFrameWrite(FrameWriteRequest{
@@ -1469,6 +1311,9 @@ func (sc *serverConn) scheduleFrameWrite() {
sc.startFrameWrite(wr)
continue
}
+ if sc.flow.flowErr {
+ continue
+ }
}
if sc.needsFrameFlush {
sc.startFrameWrite(FrameWriteRequest{write: flushFrameWriter{}})
@@ -1701,6 +1546,10 @@ func (sc *serverConn) processWindowUpdate(f *WindowUpdateFrame) error {
return nil
}
if !st.flow.add(int32(f.Increment)) {
+ if st.flow.conn.flowErr {
+ // This is a lazily-detected connection-level flow control error.
+ return sc.countError("bad_flow", ConnectionError(ErrCodeFlowControl))
+ }
return sc.countError("bad_flow", streamError(f.StreamID, ErrCodeFlowControl))
}
default: // connection-level flow control
@@ -1759,10 +1608,6 @@ func (sc *serverConn) closeStream(st *stream, err error) {
}
}
if p := st.body; p != nil {
- // Return any buffered unread bytes worth of conn-level flow control.
- // See golang.org/issue/16481
- sc.sendWindowUpdate(nil, p.Len())
-
p.CloseWithError(err)
}
if e, ok := err.(StreamError); ok {
@@ -1816,7 +1661,12 @@ func (sc *serverConn) processSetting(s Setting) error {
}
switch s.ID {
case SettingHeaderTableSize:
- sc.hpackEncoder.SetMaxDynamicTableSize(s.Val)
+ // Applied by startFrameWrite; see comment there.
+ if !sc.pendingEncoderTableSize || s.Val < sc.encoderTableSizeMin {
+ sc.encoderTableSizeMin = s.Val
+ }
+ sc.encoderTableSize = s.Val
+ sc.pendingEncoderTableSize = true
case SettingEnablePush:
sc.pushEnabled = s.Val != 0
case SettingMaxConcurrentStreams:
@@ -1847,28 +1697,14 @@ func (sc *serverConn) processSetting(s Setting) error {
func (sc *serverConn) processSettingInitialWindowSize(val uint32) error {
sc.serveG.check()
- // Note: val already validated to be within range by
- // processSetting's Valid call.
-
- // "A SETTINGS frame can alter the initial flow control window
- // size for all current streams. When the value of
- // SETTINGS_INITIAL_WINDOW_SIZE changes, a receiver MUST
- // adjust the size of all stream flow control windows that it
- // maintains by the difference between the new value and the
- // old value."
- old := sc.initialStreamSendWindowSize
- sc.initialStreamSendWindowSize = int32(val)
- growth := int32(val) - old // may be negative
- for _, st := range sc.streams {
- if !st.flow.add(growth) {
- // 6.9.2 Initial Flow Control Window Size
- // "An endpoint MUST treat a change to
- // SETTINGS_INITIAL_WINDOW_SIZE that causes any flow
- // control window to exceed the maximum size as a
- // connection error (Section 5.4.1) of type
- // FLOW_CONTROL_ERROR."
- return sc.countError("setting_win_size", ConnectionError(ErrCodeFlowControl))
- }
+ if !sc.flow.changeInitialWindowSize(int64(val)) {
+ // 6.9.2 Initial Flow Control Window Size
+ // "An endpoint MUST treat a change to
+ // SETTINGS_INITIAL_WINDOW_SIZE that causes any flow
+ // control window to exceed the maximum size as a
+ // connection error (Section 5.4.1) of type
+ // FLOW_CONTROL_ERROR."
+ return sc.countError("setting_win_size", ConnectionError(ErrCodeFlowControl))
}
return nil
}
@@ -2141,7 +1977,7 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error {
if st.reqTrailer != nil {
st.trailer = make(http.Header)
}
- st.body = req.Body.(*requestBody).pipe // may be nil
+ st.body = st.reqBody.pipe // may be nil
st.declBodyBytes = req.ContentLength
handler := sc.handler.ServeHTTP
@@ -2164,7 +2000,7 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error {
st.readDeadline = time.AfterFunc(sc.hs.ReadTimeout, st.onReadTimeout)
}
- return sc.scheduleHandler(id, rw, req, handler)
+ return sc.scheduleHandler(st, rw, req, handler)
}
func (sc *serverConn) upgradeRequest(req *http.Request) {
@@ -2277,7 +2113,6 @@ func (sc *serverConn) newStream(id, pusherID uint32, state streamState, priority
}
st.cw.Init()
st.flow.conn = &sc.flow // link to conn-level counter
- st.flow.add(sc.initialStreamSendWindowSize)
st.inflow.init(sc.initialStreamRecvWindowSize)
if sc.hs.WriteTimeout > 0 {
st.writeDeadline = time.AfterFunc(sc.hs.WriteTimeout, st.onWriteTimeout)
@@ -2359,7 +2194,7 @@ func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*res
} else {
req.ContentLength = -1
}
- req.Body.(*requestBody).pipe = &pipe{
+ st.reqBody.pipe = &pipe{
b: &dataBuffer{expected: req.ContentLength},
}
}
@@ -2379,7 +2214,7 @@ func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp httpcommon.Server
return nil, nil, sc.countError(res.InvalidReason, streamError(st.id, ErrCodeProtocol))
}
- body := &requestBody{
+ st.reqBody = &requestBody{
conn: sc,
stream: st,
needsContinue: res.NeedsContinue,
@@ -2395,7 +2230,7 @@ func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp httpcommon.Server
ProtoMinor: 0,
TLS: tlsState,
Host: rp.Authority,
- Body: body,
+ Body: st.reqBody,
Trailer: res.Trailer,
}).WithContext(st.ctx)
rw := sc.newResponseWriter(st, req)
@@ -2419,11 +2254,12 @@ type unstartedHandler struct {
rw *responseWriter
req *http.Request
handler func(http.ResponseWriter, *http.Request)
+ body *pipe
}
// scheduleHandler starts a handler goroutine,
// or schedules one to start as soon as an existing handler finishes.
-func (sc *serverConn) scheduleHandler(streamID uint32, rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) error {
+func (sc *serverConn) scheduleHandler(st *stream, rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) error {
sc.serveG.check()
maxHandlers := sc.advMaxStreams
if sc.curHandlers < maxHandlers {
@@ -2435,10 +2271,11 @@ func (sc *serverConn) scheduleHandler(streamID uint32, rw *responseWriter, req *
return sc.countError("too_many_early_resets", ConnectionError(ErrCodeEnhanceYourCalm))
}
sc.unstartedHandlers = append(sc.unstartedHandlers, unstartedHandler{
- streamID: streamID,
+ streamID: st.id,
rw: rw,
req: req,
handler: handler,
+ body: st.body,
})
return nil
}
@@ -2452,6 +2289,10 @@ func (sc *serverConn) handlerDone() {
u := sc.unstartedHandlers[i]
if sc.streams[u.streamID] == nil {
// This stream was reset before its goroutine had a chance to start.
+ if u.body != nil {
+ u.body.BreakWithError(errClosedBody)
+ sc.sendWindowUpdate(nil, u.body.Len())
+ }
continue
}
if sc.curHandlers >= maxHandlers {
@@ -2473,6 +2314,12 @@ func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler
didPanic := true
defer func() {
rw.rws.stream.cancelCtx()
+ if b := rw.rws.stream.reqBody; b != nil {
+ // Closing the body refunds flow control credit for any unconsumed data.
+ // (reqBody is nil for Upgrade: h2c requests, but those do not use flow
+ // control for the request body.)
+ b.Close()
+ }
if req.MultipartForm != nil {
req.MultipartForm.RemoveAll()
}
@@ -2571,7 +2418,7 @@ func (sc *serverConn) noteBodyReadFromHandler(st *stream, n int, err error) {
func (sc *serverConn) noteBodyRead(st *stream, n int) {
sc.serveG.check()
sc.sendWindowUpdate(nil, n) // conn-level
- if st.state != stateHalfClosedRemote && st.state != stateClosed {
+ if st != nil && st.state != stateHalfClosedRemote && st.state != stateClosed {
// Don't send this WINDOW_UPDATE if the stream is closed
// remotely.
sc.sendWindowUpdate(st, n)
@@ -2619,6 +2466,9 @@ func (b *requestBody) Close() error {
b.closeOnce.Do(func() {
if b.pipe != nil {
b.pipe.BreakWithError(errClosedBody)
+ if unread := b.pipe.Len(); unread > 0 {
+ b.conn.noteBodyReadFromHandler(nil, unread, errClosedBody)
+ }
}
})
return nil
@@ -2636,9 +2486,6 @@ func (b *requestBody) Read(p []byte) (n int, err error) {
if err == io.EOF {
b.sawEOF = true
}
- if b.conn == nil {
- return
- }
b.conn.noteBodyReadFromHandler(b.stream, n, err)
return
}
@@ -2832,21 +2679,6 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
return len(p), nil
}
-// TrailerPrefix is a magic prefix for ResponseWriter.Header map keys
-// that, if present, signals that the map entry is actually for
-// the response trailers, and not the response headers. The prefix
-// is stripped after the ServeHTTP call finishes and the values are
-// sent in the trailers.
-//
-// This mechanism is intended only for trailers that are not known
-// prior to the headers being written. If the set of trailers is fixed
-// or known before the header is written, the normal Go trailers mechanism
-// is preferred:
-//
-// https://golang.org/pkg/net/http/#ResponseWriter
-// https://golang.org/pkg/net/http/#example_ResponseWriter_trailers
-const TrailerPrefix = "Trailer:"
-
// promoteUndeclaredTrailers permits http.Handlers to set trailers
// after the header has already been flushed. Because the Go
// ResponseWriter interface has no way to set Trailers (only the
@@ -3123,12 +2955,6 @@ func (w *responseWriter) handlerDone() {
responseWriterStatePool.Put(rws)
}
-// Push errors.
-var (
- ErrRecursivePush = errors.New("http2: recursive push not allowed")
- ErrPushLimitReached = errors.New("http2: push would exceed peer's SETTINGS_MAX_CONCURRENT_STREAMS")
-)
-
var _ http.Pusher = (*responseWriter)(nil)
func (w *responseWriter) Push(target string, opts *http.PushOptions) error {
diff --git a/vendor/golang.org/x/net/http2/server_common.go b/vendor/golang.org/x/net/http2/server_common.go
new file mode 100644
index 000000000..fec369092
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/server_common.go
@@ -0,0 +1,268 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package http2
+
+import (
+ "context"
+ "errors"
+ "net"
+ "net/http"
+ "time"
+)
+
+// TrailerPrefix is a magic prefix for ResponseWriter.Header map keys
+// that, if present, signals that the map entry is actually for
+// the response trailers, and not the response headers. The prefix
+// is stripped after the ServeHTTP call finishes and the values are
+// sent in the trailers.
+//
+// This mechanism is intended only for trailers that are not known
+// prior to the headers being written. If the set of trailers is fixed
+// or known before the header is written, the normal Go trailers mechanism
+// is preferred:
+//
+// https://golang.org/pkg/net/http/#ResponseWriter
+// https://golang.org/pkg/net/http/#example_ResponseWriter_trailers
+//
+// Deprecated: Use [http.TrailerPrefix] instead.
+const TrailerPrefix = "Trailer:"
+
+// Push errors.
+var (
+ ErrRecursivePush = errors.New("http2: recursive push not allowed")
+ ErrPushLimitReached = errors.New("http2: push would exceed peer's SETTINGS_MAX_CONCURRENT_STREAMS")
+)
+
+// ConfigureServer adds HTTP/2 support to a net/http Server.
+//
+// The configuration conf may be nil.
+//
+// ConfigureServer must be called before s begins serving.
+//
+// Deprecated: Set [http.Server.Protocols] instead.
+func ConfigureServer(s *http.Server, conf *Server) error {
+ return configureServer(s, conf)
+}
+
+// Server is an HTTP/2 server.
+//
+// Deprecated: Use [http.Server] instead.
+type Server struct {
+ // MaxHandlers limits the number of http.Handler ServeHTTP goroutines
+ // which may run at a time over all connections.
+ // Negative or zero no limit.
+ // TODO: implement
+ //
+ // Deprecated: This field has never had any effect.
+ MaxHandlers int
+
+ // MaxConcurrentStreams optionally specifies the number of
+ // concurrent streams that each client may have open at a
+ // time. This is unrelated to the number of http.Handler goroutines
+ // which may be active globally, which is MaxHandlers.
+ // If zero, MaxConcurrentStreams defaults to at least 100, per
+ // the HTTP/2 spec's recommendations.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.MaxConcurrentStreams] instead.
+ MaxConcurrentStreams uint32
+
+ // MaxDecoderHeaderTableSize optionally specifies the http2
+ // SETTINGS_HEADER_TABLE_SIZE to send in the initial settings frame. It
+ // informs the remote endpoint of the maximum size of the header compression
+ // table used to decode header blocks, in octets. If zero, the default value
+ // of 4096 is used.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.MaxDecoderHeaderTableSize] instead.
+ MaxDecoderHeaderTableSize uint32
+
+ // MaxEncoderHeaderTableSize optionally specifies an upper limit for the
+ // header compression table used for encoding request headers. Received
+ // SETTINGS_HEADER_TABLE_SIZE settings are capped at this limit. If zero,
+ // the default value of 4096 is used.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.MaxEncoderHeaderTableSize] instead.
+ MaxEncoderHeaderTableSize uint32
+
+ // MaxReadFrameSize optionally specifies the largest frame
+ // this server is willing to read. A valid value is between
+ // 16k and 16M, inclusive. If zero or otherwise invalid, a
+ // default value is used.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.MaxReadFrameSize] instead.
+ MaxReadFrameSize uint32
+
+ // PermitProhibitedCipherSuites, if true, permits the use of
+ // cipher suites prohibited by the HTTP/2 spec.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.PermitProhibitedCipherSuites] instead.
+ PermitProhibitedCipherSuites bool
+
+ // IdleTimeout specifies how long until idle clients should be
+ // closed with a GOAWAY frame. PING frames are not considered
+ // activity for the purposes of IdleTimeout.
+ // If zero or negative, there is no timeout.
+ //
+ // Deprecated: Use [http.Server.IdleTimeout] instead.
+ IdleTimeout time.Duration
+
+ // ReadIdleTimeout is the timeout after which a health check using a ping
+ // frame will be carried out if no frame is received on the connection.
+ // If zero, no health check is performed.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.SendPingTimeout] instead.
+ ReadIdleTimeout time.Duration
+
+ // PingTimeout is the timeout after which the connection will be closed
+ // if a response to a ping is not received.
+ // If zero, a default of 15 seconds is used.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.PingTimeout] instead.
+ PingTimeout time.Duration
+
+ // WriteByteTimeout is the timeout after which a connection will be
+ // closed if no data can be written to it. The timeout begins when data is
+ // available to write, and is extended whenever any bytes are written.
+ // If zero or negative, there is no timeout.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.WriteByteTimeout] instead.
+ WriteByteTimeout time.Duration
+
+ // MaxUploadBufferPerConnection is the size of the initial flow
+ // control window for each connections. The HTTP/2 spec does not
+ // allow this to be smaller than 65535 or larger than 2^32-1.
+ // If the value is outside this range, a default value will be
+ // used instead.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.MaxReceiveBufferPerConnection] instead.
+ MaxUploadBufferPerConnection int32
+
+ // MaxUploadBufferPerStream is the size of the initial flow control
+ // window for each stream. The HTTP/2 spec does not allow this to
+ // be larger than 2^32-1. If the value is zero or larger than the
+ // maximum, a default value will be used instead.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.MaxReceiveBufferPerStream] instead.
+ MaxUploadBufferPerStream int32
+
+ // NewWriteScheduler constructs a write scheduler for a connection.
+ // If nil, a default scheduler is chosen.
+ //
+ // Deprecated: User-provided write schedulers are deprecated.
+ NewWriteScheduler func() WriteScheduler
+
+ // CountError, if non-nil, is called on HTTP/2 server errors.
+ // It's intended to increment a metric for monitoring, such
+ // as an expvar or Prometheus metric.
+ // The errType consists of only ASCII word characters.
+ //
+ // Deprecated: Use [http.Server.HTTP2] and
+ // [http.HTTP2Config.CountError] instead.
+ CountError func(errType string)
+
+ // Internal state. This is a pointer (rather than embedded directly)
+ // so that we don't embed a Mutex in this struct, which will make the
+ // struct non-copyable, which might break some callers.
+ state *serverInternalState
+}
+
+// ServeConnOpts are options for the Server.ServeConn method.
+//
+// Deprecated: ServeConnOpts is deprecated.
+type ServeConnOpts struct {
+ // Context is the base context to use.
+ // If nil, context.Background is used.
+ Context context.Context
+
+ // BaseConfig optionally sets the base configuration
+ // for values. If nil, defaults are used.
+ BaseConfig *http.Server
+
+ // Handler specifies which handler to use for processing
+ // requests. If nil, BaseConfig.Handler is used. If BaseConfig
+ // or BaseConfig.Handler is nil, http.DefaultServeMux is used.
+ Handler http.Handler
+
+ // UpgradeRequest is an initial request received on a connection
+ // undergoing an h2c upgrade. The request body must have been
+ // completely read from the connection before calling ServeConn,
+ // and the 101 Switching Protocols response written.
+ UpgradeRequest *http.Request
+
+ // Settings is the decoded contents of the HTTP2-Settings header
+ // in an h2c upgrade request.
+ Settings []byte
+
+ // SawClientPreface is set if the HTTP/2 connection preface
+ // has already been read from the connection.
+ SawClientPreface bool
+}
+
+// ServeConn serves HTTP/2 requests on the provided connection and
+// blocks until the connection is no longer readable.
+//
+// ServeConn starts speaking HTTP/2 assuming that c has not had any
+// reads or writes. It writes its initial settings frame and expects
+// to be able to read the preface and settings frame from the
+// client. If c has a ConnectionState method like a *tls.Conn, the
+// ConnectionState is used to verify the TLS ciphersuite and to set
+// the Request.TLS field in Handlers.
+//
+// ServeConn does not support h2c by itself. Any h2c support must be
+// implemented in terms of providing a suitably-behaving net.Conn.
+//
+// The opts parameter is optional. If nil, default values are used.
+//
+// Deprecated: Use [http.Server.Serve] or [http.Server.ServeTLS] instead.
+func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) {
+ if opts == nil {
+ opts = &ServeConnOpts{}
+ }
+ s.serveConn(c, opts, nil)
+}
+
+func (o *ServeConnOpts) context() context.Context {
+ if o != nil && o.Context != nil {
+ return o.Context
+ }
+ return context.Background()
+}
+
+func (o *ServeConnOpts) baseConfig() *http.Server {
+ if o != nil && o.BaseConfig != nil {
+ return o.BaseConfig
+ }
+ return new(http.Server)
+}
+
+func (o *ServeConnOpts) handler() http.Handler {
+ if o != nil {
+ if o.Handler != nil {
+ return o.Handler
+ }
+ if o.BaseConfig != nil && o.BaseConfig.Handler != nil {
+ return o.BaseConfig.Handler
+ }
+ }
+ return http.DefaultServeMux
+}
+
+func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx context.Context, cancel func()) {
+ ctx, cancel = context.WithCancel(opts.context())
+ ctx = context.WithValue(ctx, http.LocalAddrContextKey, c.LocalAddr())
+ if hs := opts.baseConfig(); hs != nil {
+ ctx = context.WithValue(ctx, http.ServerContextKey, hs)
+ }
+ return
+}
diff --git a/vendor/golang.org/x/net/http2/server_wrap.go b/vendor/golang.org/x/net/http2/server_wrap.go
new file mode 100644
index 000000000..737f1f057
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/server_wrap.go
@@ -0,0 +1,217 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build go1.27 && !http2legacy
+
+// Server wrapping a net/http.Server.
+
+package http2
+
+import (
+ "context"
+ "crypto/tls"
+ "errors"
+ "net"
+ "net/http"
+ "slices"
+ "sync"
+ "time"
+)
+
+type serverInternalState struct {
+ s1 *http.Server
+ initOnce sync.Once
+ serveConnFunc func(context.Context, net.Conn, http.Handler, bool, *http.Request, []byte)
+}
+
+func configureServer(s *http.Server, conf *Server) error {
+ if s == nil {
+ panic("nil *http.Server")
+ }
+ if conf == nil {
+ conf = new(Server)
+ }
+ if conf.state != nil {
+ // This isn't a panic in the pre-wrapping implementation,
+ // but calling ConfigureServer twice with the same http2.Server
+ // overwrites internal state on the server.
+ // Make the error explicit and early here.
+ panic("ConfigureServer may be called only once per Server")
+ }
+ if h1, h2 := s, conf; h2.IdleTimeout == 0 {
+ if h1.IdleTimeout != 0 {
+ h2.IdleTimeout = h1.IdleTimeout
+ } else {
+ h2.IdleTimeout = h1.ReadTimeout
+ }
+ }
+
+ // Register h2 and http/1.1 ALPN protocols on s.TLSConfig, matching
+ // the pre-wrapping implementation in server.go, so that TLS listeners
+ // built from s.TLSConfig still negotiate HTTP/2.
+ if s.TLSConfig == nil {
+ s.TLSConfig = new(tls.Config)
+ }
+ if !slices.Contains(s.TLSConfig.NextProtos, NextProtoTLS) {
+ s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, NextProtoTLS)
+ }
+ if !slices.Contains(s.TLSConfig.NextProtos, "http/1.1") {
+ s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, "http/1.1")
+ }
+
+ conf.state = &serverInternalState{
+ s1: s,
+ }
+ sconfig := &serverConfig{s: conf}
+ if err := s.Serve(sconfig); err != nil || sconfig.serveConnFunc == nil {
+ panic("http2: net/http does not support this version of x/net/http2")
+ }
+ conf.state.serveConnFunc = sconfig.serveConnFunc
+ return nil
+}
+
+type serverConfig struct {
+ s *Server
+ serveConnFunc func(context.Context, net.Conn, http.Handler, bool, *http.Request, []byte)
+}
+
+func (*serverConfig) Accept() (net.Conn, error) {
+ return nil, errors.New("unexpected call to Accept")
+}
+func (*serverConfig) Close() error {
+ return nil
+}
+func (*serverConfig) Addr() net.Addr {
+ return nil
+}
+
+func (s *serverConfig) ServeConnFunc(f func(context.Context, net.Conn, http.Handler, bool, *http.Request, []byte)) {
+ s.serveConnFunc = f
+}
+
+func (s *serverConfig) HTTP2Config() http.HTTP2Config {
+ return http.HTTP2Config{
+ MaxConcurrentStreams: int(s.s.MaxConcurrentStreams),
+ MaxDecoderHeaderTableSize: int(s.s.MaxDecoderHeaderTableSize),
+ MaxEncoderHeaderTableSize: int(s.s.MaxEncoderHeaderTableSize),
+ MaxReadFrameSize: int(s.s.MaxReadFrameSize),
+ PermitProhibitedCipherSuites: s.s.PermitProhibitedCipherSuites,
+ MaxReceiveBufferPerConnection: int(s.s.MaxUploadBufferPerConnection),
+ MaxReceiveBufferPerStream: int(s.s.MaxUploadBufferPerStream),
+ SendPingTimeout: s.s.ReadIdleTimeout,
+ PingTimeout: s.s.PingTimeout,
+ WriteByteTimeout: s.s.WriteByteTimeout,
+ CountError: s.s.CountError,
+ }
+}
+
+func (s *serverConfig) IdleTimeout() time.Duration {
+ return s.s.IdleTimeout
+}
+
+type serverConn struct{}
+
+func (s *Server) serveConn(c net.Conn, opts *ServeConnOpts, _ func(*serverConn)) {
+ var serveConnFunc func(context.Context, net.Conn, http.Handler, bool, *http.Request, []byte)
+ switch {
+ case opts.BaseConfig != nil:
+ // The user has provided us with an http.Server to take configuration from.
+ //
+ // We can't send our request to opts.BaseConfig, because an http.Server can
+ // only be associated with a single http2.Server and the user might
+ // use this one with several http.Servers.
+ //
+ // We can't send our request to s.state.s1, because it doesn't contain
+ // the right configuration.
+ //
+ // So create a one-off copy of opts.BaseConfig and use it.
+ h1 := &http.Server{
+ TLSConfig: opts.BaseConfig.TLSConfig,
+ ReadTimeout: opts.BaseConfig.ReadTimeout,
+ ReadHeaderTimeout: opts.BaseConfig.ReadHeaderTimeout,
+ WriteTimeout: opts.BaseConfig.WriteTimeout,
+ IdleTimeout: opts.BaseConfig.IdleTimeout,
+ MaxHeaderBytes: opts.BaseConfig.MaxHeaderBytes,
+ ConnState: opts.BaseConfig.ConnState,
+ ErrorLog: opts.BaseConfig.ErrorLog,
+ BaseContext: opts.BaseConfig.BaseContext,
+ ConnContext: opts.BaseConfig.ConnContext,
+ HTTP2: opts.BaseConfig.HTTP2,
+ }
+ sconfig := &serverConfig{s: s}
+ if err := h1.Serve(sconfig); err != nil || sconfig.serveConnFunc == nil {
+ panic("http2: net/http does not support this version of x/net/http2")
+ }
+ serveConnFunc = sconfig.serveConnFunc
+ case s.state != nil:
+ serveConnFunc = s.state.serveConnFunc
+ default:
+ // Strange-but-true: Server has no concurrency-safe way to initialize
+ // its internal state, so historically ServeConn just doesn't use any
+ // persistent state if you don't call ConfigureServer first.
+ //
+ // If ConfigureServer hasn't been called, create a one-off http.Server
+ // for the connection, since we don't have any way to keep one around for reuse.
+ h1 := &http.Server{}
+ sconfig := &serverConfig{s: s}
+ if err := h1.Serve(sconfig); err != nil || sconfig.serveConnFunc == nil {
+ panic("http2: net/http does not support this version of x/net/http2")
+ }
+ serveConnFunc = sconfig.serveConnFunc
+ }
+
+ ctx, cancel := serverConnBaseContext(c, opts)
+ defer cancel()
+ serveConnFunc(ctx, c, opts.handler(), opts.SawClientPreface, opts.UpgradeRequest, opts.Settings)
+
+}
+
+// FrameWriteRequest is a request to write a frame.
+//
+// Deprecated: User-provided write schedulers are deprecated.
+type FrameWriteRequest struct {
+ // Ideally we'd define this in writesched_common.go,
+ // to avoid duplicating an exported symbol across two files,
+ // but the changes required to make this work are fairly large.
+}
+
+func (wr FrameWriteRequest) StreamID() uint32 {
+ return 0
+}
+
+func (wr FrameWriteRequest) DataSize() int {
+ return 0
+}
+
+func (wr FrameWriteRequest) Consume(n int32) (FrameWriteRequest, FrameWriteRequest, int) {
+ return FrameWriteRequest{}, FrameWriteRequest{}, 0
+}
+
+func (wr FrameWriteRequest) String() string {
+ return ""
+}
+
+// NewPriorityWriteScheduler is deprecated.
+//
+// Deprecated: User-provided write schedulers are deprecated.
+func NewPriorityWriteScheduler(cfg *PriorityWriteSchedulerConfig) WriteScheduler {
+ return unsupportedWriteScheduler{}
+}
+
+// NewRandomWriteScheduler is deprecated.
+//
+// Deprecated: User-provided write schedulers are deprecated.
+func NewRandomWriteScheduler() WriteScheduler {
+ return unsupportedWriteScheduler{}
+}
+
+type unsupportedWriteScheduler struct{}
+
+func (unsupportedWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) {}
+func (unsupportedWriteScheduler) CloseStream(streamID uint32) {}
+func (unsupportedWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) {}
+func (unsupportedWriteScheduler) Push(wr FrameWriteRequest) {}
+func (unsupportedWriteScheduler) Pop() (wr FrameWriteRequest, ok bool) {
+ return FrameWriteRequest{}, false
+}
diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go
index 2e9c2f6a5..d894c6019 100644
--- a/vendor/golang.org/x/net/http2/transport.go
+++ b/vendor/golang.org/x/net/http2/transport.go
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
// Transport code.
package http2
@@ -21,20 +23,18 @@ import (
"log"
"math"
"math/bits"
- mathrand "math/rand"
"net"
"net/http"
"net/http/httptrace"
"net/textproto"
+ "slices"
"strconv"
- "strings"
"sync"
"sync/atomic"
"time"
"golang.org/x/net/http/httpguts"
"golang.org/x/net/http2/hpack"
- "golang.org/x/net/idna"
"golang.org/x/net/internal/httpcommon"
)
@@ -60,123 +60,7 @@ const (
defaultMaxConcurrentStreams = 1000
)
-// Transport is an HTTP/2 Transport.
-//
-// A Transport internally caches connections to servers. It is safe
-// for concurrent use by multiple goroutines.
-type Transport struct {
- // DialTLSContext specifies an optional dial function with context for
- // creating TLS connections for requests.
- //
- // If DialTLSContext and DialTLS is nil, tls.Dial is used.
- //
- // If the returned net.Conn has a ConnectionState method like tls.Conn,
- // it will be used to set http.Response.TLS.
- DialTLSContext func(ctx context.Context, network, addr string, cfg *tls.Config) (net.Conn, error)
-
- // DialTLS specifies an optional dial function for creating
- // TLS connections for requests.
- //
- // If DialTLSContext and DialTLS is nil, tls.Dial is used.
- //
- // Deprecated: Use DialTLSContext instead, which allows the transport
- // to cancel dials as soon as they are no longer needed.
- // If both are set, DialTLSContext takes priority.
- DialTLS func(network, addr string, cfg *tls.Config) (net.Conn, error)
-
- // TLSClientConfig specifies the TLS configuration to use with
- // tls.Client. If nil, the default configuration is used.
- TLSClientConfig *tls.Config
-
- // ConnPool optionally specifies an alternate connection pool to use.
- // If nil, the default is used.
- ConnPool ClientConnPool
-
- // DisableCompression, if true, prevents the Transport from
- // requesting compression with an "Accept-Encoding: gzip"
- // request header when the Request contains no existing
- // Accept-Encoding value. If the Transport requests gzip on
- // its own and gets a gzipped response, it's transparently
- // decoded in the Response.Body. However, if the user
- // explicitly requested gzip it is not automatically
- // uncompressed.
- DisableCompression bool
-
- // AllowHTTP, if true, permits HTTP/2 requests using the insecure,
- // plain-text "http" scheme. Note that this does not enable h2c support.
- AllowHTTP bool
-
- // MaxHeaderListSize is the http2 SETTINGS_MAX_HEADER_LIST_SIZE to
- // send in the initial settings frame. It is how many bytes
- // of response headers are allowed. Unlike the http2 spec, zero here
- // means to use a default limit (currently 10MB). If you actually
- // want to advertise an unlimited value to the peer, Transport
- // interprets the highest possible value here (0xffffffff or 1<<32-1)
- // to mean no limit.
- MaxHeaderListSize uint32
-
- // MaxReadFrameSize is the http2 SETTINGS_MAX_FRAME_SIZE to send in the
- // initial settings frame. It is the size in bytes of the largest frame
- // payload that the sender is willing to receive. If 0, no setting is
- // sent, and the value is provided by the peer, which should be 16384
- // according to the spec:
- // https://datatracker.ietf.org/doc/html/rfc7540#section-6.5.2.
- // Values are bounded in the range 16k to 16M.
- MaxReadFrameSize uint32
-
- // MaxDecoderHeaderTableSize optionally specifies the http2
- // SETTINGS_HEADER_TABLE_SIZE to send in the initial settings frame. It
- // informs the remote endpoint of the maximum size of the header compression
- // table used to decode header blocks, in octets. If zero, the default value
- // of 4096 is used.
- MaxDecoderHeaderTableSize uint32
-
- // MaxEncoderHeaderTableSize optionally specifies an upper limit for the
- // header compression table used for encoding request headers. Received
- // SETTINGS_HEADER_TABLE_SIZE settings are capped at this limit. If zero,
- // the default value of 4096 is used.
- MaxEncoderHeaderTableSize uint32
-
- // StrictMaxConcurrentStreams controls whether the server's
- // SETTINGS_MAX_CONCURRENT_STREAMS should be respected
- // globally. If false, new TCP connections are created to the
- // server as needed to keep each under the per-connection
- // SETTINGS_MAX_CONCURRENT_STREAMS limit. If true, the
- // server's SETTINGS_MAX_CONCURRENT_STREAMS is interpreted as
- // a global limit and callers of RoundTrip block when needed,
- // waiting for their turn.
- StrictMaxConcurrentStreams bool
-
- // IdleConnTimeout is the maximum amount of time an idle
- // (keep-alive) connection will remain idle before closing
- // itself.
- // Zero means no limit.
- IdleConnTimeout time.Duration
-
- // ReadIdleTimeout is the timeout after which a health check using ping
- // frame will be carried out if no frame is received on the connection.
- // Note that a ping response will is considered a received frame, so if
- // there is no other traffic on the connection, the health check will
- // be performed every ReadIdleTimeout interval.
- // If zero, no health check is performed.
- ReadIdleTimeout time.Duration
-
- // PingTimeout is the timeout after which the connection will be closed
- // if a response to Ping is not received.
- // Defaults to 15s.
- PingTimeout time.Duration
-
- // WriteByteTimeout is the timeout after which the connection will be
- // closed no data can be written to it. The timeout begins when data is
- // available to write, and is extended whenever any bytes are written.
- WriteByteTimeout time.Duration
-
- // CountError, if non-nil, is called on HTTP/2 transport errors.
- // It's intended to increment a metric for monitoring, such
- // as an expvar or Prometheus metric.
- // The errType consists of only ASCII word characters.
- CountError func(errType string)
-
+type transportInternal struct {
// t1, if non-nil, is the standard library Transport using
// this transport. Its settings are used (but not its
// RoundTrip method, etc).
@@ -217,27 +101,18 @@ func (t *Transport) disableCompression() bool {
return t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression)
}
-// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2.
-// It returns an error if t1 has already been HTTP/2-enabled.
-//
-// Use ConfigureTransports instead to configure the HTTP/2 Transport.
-func ConfigureTransport(t1 *http.Transport) error {
- _, err := ConfigureTransports(t1)
+func configureTransport(t1 *http.Transport) error {
+ _, err := configureTransports(t1)
return err
}
-// ConfigureTransports configures a net/http HTTP/1 Transport to use HTTP/2.
-// It returns a new HTTP/2 Transport for further configuration.
-// It returns an error if t1 has already been HTTP/2-enabled.
-func ConfigureTransports(t1 *http.Transport) (*Transport, error) {
- return configureTransports(t1)
-}
-
func configureTransports(t1 *http.Transport) (*Transport, error) {
connPool := new(clientConnPool)
t2 := &Transport{
ConnPool: noDialClientConnPool{connPool},
- t1: t1,
+ transportInternal: transportInternal{
+ t1: t1,
+ },
}
connPool.t = t2
if err := registerHTTPSProtocol(t1, noDialH2RoundTripper{t2}); err != nil {
@@ -310,6 +185,8 @@ func (t *Transport) initConnPool() {
// ClientConn is the state of a single HTTP/2 client connection to an
// HTTP/2 server.
+//
+// Deprecated: Use [http.ClientConn] instead.
type ClientConn struct {
t *Transport
tconn net.Conn // usually *tls.Conn, except specialized impls
@@ -327,7 +204,7 @@ type ClientConn struct {
mu sync.Mutex // guards following
cond *sync.Cond // hold mu; broadcast on flow/closed changes
- flow outflow // our conn-level flow control quota (cs.outflow is per stream)
+ flow connOutflow // our conn-level flow control quota (cs.outflow is per stream)
inflow inflow // peer's conn-level flow control
doNotReuse bool // whether conn is marked to not be reused for any future requests
closing bool
@@ -351,7 +228,6 @@ type ClientConn struct {
maxConcurrentStreams uint32
peerMaxHeaderListSize uint64
peerMaxHeaderTableSize uint32
- initialWindowSize uint32
initialStreamRecvWindowSize int32
readIdleTimeout time.Duration
pingTimeout time.Duration
@@ -525,68 +401,7 @@ func (sew stickyErrWriter) Write(p []byte) (n int, err error) {
return n, err
}
-// noCachedConnError is the concrete type of ErrNoCachedConn, which
-// needs to be detected by net/http regardless of whether it's its
-// bundled version (in h2_bundle.go with a rewritten type name) or
-// from a user's x/net/http2. As such, as it has a unique method name
-// (IsHTTP2NoCachedConnError) that net/http sniffs for via func
-// isNoCachedConnError.
-type noCachedConnError struct{}
-
-func (noCachedConnError) IsHTTP2NoCachedConnError() {}
-func (noCachedConnError) Error() string { return "http2: no cached connection was available" }
-
-// isNoCachedConnError reports whether err is of type noCachedConnError
-// or its equivalent renamed type in net/http2's h2_bundle.go. Both types
-// may coexist in the same running program.
-func isNoCachedConnError(err error) bool {
- _, ok := err.(interface{ IsHTTP2NoCachedConnError() })
- return ok
-}
-
-var ErrNoCachedConn error = noCachedConnError{}
-
-// RoundTripOpt are options for the Transport.RoundTripOpt method.
-type RoundTripOpt struct {
- // OnlyCachedConn controls whether RoundTripOpt may
- // create a new TCP connection. If set true and
- // no cached connection is available, RoundTripOpt
- // will return ErrNoCachedConn.
- OnlyCachedConn bool
-
- allowHTTP bool // allow http:// URLs
-}
-
-func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
- return t.RoundTripOpt(req, RoundTripOpt{})
-}
-
-// authorityAddr returns a given authority (a host/IP, or host:port / ip:port)
-// and returns a host:port. The port 443 is added if needed.
-func authorityAddr(scheme string, authority string) (addr string) {
- host, port, err := net.SplitHostPort(authority)
- if err != nil { // authority didn't have a port
- host = authority
- port = ""
- }
- if port == "" { // authority's port was empty
- port = "443"
- if scheme == "http" {
- port = "80"
- }
- }
- if a, err := idna.ToASCII(host); err == nil {
- host = a
- }
- // IPv6 address literal, without a port:
- if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") {
- return host + ":" + port
- }
- return net.JoinHostPort(host, port)
-}
-
-// RoundTripOpt is like RoundTrip, but takes options.
-func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) {
+func (t *Transport) roundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) {
switch req.URL.Scheme {
case "https":
// Always okay.
@@ -597,130 +412,16 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
default:
return nil, errors.New("http2: unsupported scheme")
}
-
- addr := authorityAddr(req.URL.Scheme, req.URL.Host)
- for retry := 0; ; retry++ {
- cc, err := t.connPool().GetClientConn(req, addr)
- if err != nil {
- t.vlogf("http2: Transport failed to get client conn for %s: %v", addr, err)
- return nil, err
- }
- reused := !atomic.CompareAndSwapUint32(&cc.atomicReused, 0, 1)
- traceGotConn(req, cc, reused)
- res, err := cc.RoundTrip(req)
- if err != nil && retry <= 6 {
- roundTripErr := err
- if req, err = shouldRetryRequest(req, err); err == nil {
- // After the first retry, do exponential backoff with 10% jitter.
- if retry == 0 {
- t.vlogf("RoundTrip retrying after failure: %v", roundTripErr)
- continue
- }
- backoff := float64(uint(1) << (uint(retry) - 1))
- backoff += backoff * (0.1 * mathrand.Float64())
- d := time.Second * time.Duration(backoff)
- tm := time.NewTimer(d)
- select {
- case <-tm.C:
- t.vlogf("RoundTrip retrying after failure: %v", roundTripErr)
- continue
- case <-req.Context().Done():
- tm.Stop()
- err = req.Context().Err()
- }
- }
- }
- if err == errClientConnNotEstablished {
- // This ClientConn was created recently,
- // this is the first request to use it,
- // and the connection is closed and not usable.
- //
- // In this state, cc.idleTimer will remove the conn from the pool
- // when it fires. Stop the timer and remove it here so future requests
- // won't try to use this connection.
- //
- // If the timer has already fired and we're racing it, the redundant
- // call to MarkDead is harmless.
- if cc.idleTimer != nil {
- cc.idleTimer.Stop()
- }
- t.connPool().MarkDead(cc)
- }
- if err != nil {
- t.vlogf("RoundTrip failure: %v", err)
- return nil, err
- }
- return res, nil
- }
+ return t.roundTripViaPool(req, opt, t.connPool())
}
-// CloseIdleConnections closes any connections which were previously
-// connected from previous requests but are now sitting idle.
-// It does not interrupt any connections currently in use.
-func (t *Transport) CloseIdleConnections() {
+func (t *Transport) closeIdleConnections() {
if cp, ok := t.connPool().(clientConnPoolIdleCloser); ok {
cp.closeIdleConnections()
}
}
-var (
- errClientConnClosed = errors.New("http2: client conn is closed")
- errClientConnUnusable = errors.New("http2: client conn not usable")
- errClientConnNotEstablished = errors.New("http2: client conn could not be established")
- errClientConnGotGoAway = errors.New("http2: Transport received Server's graceful shutdown GOAWAY")
- errClientConnForceClosed = errors.New("http2: client connection force closed via ClientConn.Close")
-)
-
-// shouldRetryRequest is called by RoundTrip when a request fails to get
-// response headers. It is always called with a non-nil error.
-// It returns either a request to retry (either the same request, or a
-// modified clone), or an error if the request can't be replayed.
-func shouldRetryRequest(req *http.Request, err error) (*http.Request, error) {
- if !canRetryError(err) {
- return nil, err
- }
- // If the Body is nil (or http.NoBody), it's safe to reuse
- // this request and its Body.
- if req.Body == nil || req.Body == http.NoBody {
- return req, nil
- }
-
- // If the request body can be reset back to its original
- // state via the optional req.GetBody, do that.
- if req.GetBody != nil {
- body, err := req.GetBody()
- if err != nil {
- return nil, err
- }
- newReq := *req
- newReq.Body = body
- return &newReq, nil
- }
-
- // The Request.Body can't reset back to the beginning, but we
- // don't seem to have started to read from it yet, so reuse
- // the request directly.
- if err == errClientConnUnusable {
- return req, nil
- }
-
- return nil, fmt.Errorf("http2: Transport: cannot retry err [%v] after Request.Body was written; define Request.GetBody to avoid this error", err)
-}
-
-func canRetryError(err error) bool {
- if err == errClientConnUnusable || err == errClientConnGotGoAway {
- return true
- }
- if se, ok := err.(StreamError); ok {
- return se.Code == ErrCodeRefusedStream
- }
- return false
-}
-
func (t *Transport) dialClientConn(ctx context.Context, addr string, singleUse bool) (*ClientConn, error) {
- if t.transportTestHooks != nil {
- return t.newClientConn(nil, singleUse, nil)
- }
host, _, err := net.SplitHostPort(addr)
if err != nil {
return nil, err
@@ -746,27 +447,6 @@ func (t *Transport) newTLSConfig(host string) *tls.Config {
return cfg
}
-func (t *Transport) dialTLS(ctx context.Context, network, addr string, tlsCfg *tls.Config) (net.Conn, error) {
- if t.DialTLSContext != nil {
- return t.DialTLSContext(ctx, network, addr, tlsCfg)
- } else if t.DialTLS != nil {
- return t.DialTLS(network, addr, tlsCfg)
- }
-
- tlsCn, err := t.dialTLSWithContext(ctx, network, addr, tlsCfg)
- if err != nil {
- return nil, err
- }
- state := tlsCn.ConnectionState()
- if p := state.NegotiatedProtocol; p != NextProtoTLS {
- return nil, fmt.Errorf("http2: unexpected ALPN protocol %q; want %q", p, NextProtoTLS)
- }
- if !state.NegotiatedProtocolIsMutual {
- return nil, errors.New("http2: could not negotiate protocol mutually")
- }
- return tlsCn, nil
-}
-
// disableKeepAlives reports whether connections should be closed as
// soon as possible after handling the first request.
func (t *Transport) disableKeepAlives() bool {
@@ -780,7 +460,7 @@ func (t *Transport) expectContinueTimeout() time.Duration {
return t.t1.ExpectContinueTimeout
}
-func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {
+func (t *Transport) newUserClientConn(c net.Conn) (*ClientConn, error) {
return t.newClientConn(c, t.disableKeepAlives(), nil)
}
@@ -792,7 +472,6 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool, internalStateHook
readerDone: make(chan struct{}),
nextStreamID: 1,
maxFrameSize: 16 << 10, // spec default
- initialWindowSize: 65535, // spec default
initialStreamRecvWindowSize: conf.MaxUploadBufferPerStream,
maxConcurrentStreams: initialMaxConcurrentStreams, // "infinite", per spec. Use a smaller value until we have received server settings.
strictMaxConcurrentStreams: conf.StrictMaxConcurrentRequests,
@@ -817,7 +496,7 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool, internalStateHook
}
cc.cond = sync.NewCond(&cc.mu)
- cc.flow.add(int32(initialWindowSize))
+ cc.flow.init()
// TODO: adjust this writer size to account for frame size +
// MTU + crypto/tls record padding.
@@ -893,8 +572,7 @@ func (cc *ClientConn) healthCheck() {
}
}
-// SetDoNotReuse marks cc as not reusable for future HTTP requests.
-func (cc *ClientConn) SetDoNotReuse() {
+func (cc *ClientConn) setDoNotReuse() {
cc.mu.Lock()
defer cc.mu.Unlock()
cc.doNotReuse = true
@@ -935,21 +613,13 @@ func (cc *ClientConn) setGoAway(f *GoAwayFrame) {
}
}
-// CanTakeNewRequest reports whether the connection can take a new request,
-// meaning it has not been closed or received or sent a GOAWAY.
-//
-// If the caller is going to immediately make a new request on this
-// connection, use ReserveNewRequest instead.
-func (cc *ClientConn) CanTakeNewRequest() bool {
+func (cc *ClientConn) canTakeNewRequest() bool {
cc.mu.Lock()
defer cc.mu.Unlock()
return cc.canTakeNewRequestLocked()
}
-// ReserveNewRequest is like CanTakeNewRequest but also reserves a
-// concurrent stream in cc. The reservation is decremented on the
-// next call to RoundTrip.
-func (cc *ClientConn) ReserveNewRequest() bool {
+func (cc *ClientConn) reserveNewRequest() bool {
cc.mu.Lock()
defer cc.mu.Unlock()
if st := cc.idleStateLocked(); !st.canTakeNewRequest {
@@ -959,41 +629,7 @@ func (cc *ClientConn) ReserveNewRequest() bool {
return true
}
-// ClientConnState describes the state of a ClientConn.
-type ClientConnState struct {
- // Closed is whether the connection is closed.
- Closed bool
-
- // Closing is whether the connection is in the process of
- // closing. It may be closing due to shutdown, being a
- // single-use connection, being marked as DoNotReuse, or
- // having received a GOAWAY frame.
- Closing bool
-
- // StreamsActive is how many streams are active.
- StreamsActive int
-
- // StreamsReserved is how many streams have been reserved via
- // ClientConn.ReserveNewRequest.
- StreamsReserved int
-
- // StreamsPending is how many requests have been sent in excess
- // of the peer's advertised MaxConcurrentStreams setting and
- // are waiting for other streams to complete.
- StreamsPending int
-
- // MaxConcurrentStreams is how many concurrent streams the
- // peer advertised as acceptable. Zero means no SETTINGS
- // frame has been received yet.
- MaxConcurrentStreams uint32
-
- // LastIdle, if non-zero, is when the connection last
- // transitioned to idle state.
- LastIdle time.Time
-}
-
-// State returns a snapshot of cc's state.
-func (cc *ClientConn) State() ClientConnState {
+func (cc *ClientConn) state() ClientConnState {
cc.wmu.Lock()
maxConcurrent := cc.maxConcurrentStreams
if !cc.seenSettings {
@@ -1164,6 +800,12 @@ func (cc *ClientConn) closeIfIdle() {
cc.closeConn()
}
+func (cc *ClientConn) stopIdleTimer() {
+ if cc.idleTimer != nil {
+ cc.idleTimer.Stop()
+ }
+}
+
func (cc *ClientConn) isDoNotReuseAndIdle() bool {
cc.mu.Lock()
defer cc.mu.Unlock()
@@ -1172,8 +814,7 @@ func (cc *ClientConn) isDoNotReuseAndIdle() bool {
var shutdownEnterWaitStateHook = func() {}
-// Shutdown gracefully closes the client connection, waiting for running streams to complete.
-func (cc *ClientConn) Shutdown(ctx context.Context) error {
+func (cc *ClientConn) shutdown(ctx context.Context) error {
if err := cc.sendGoAway(); err != nil {
return err
}
@@ -1234,6 +875,33 @@ func (cc *ClientConn) sendGoAway() error {
return nil
}
+func (cc *ClientConn) goAwayAndClose(code ErrCode) {
+ cc.mu.Lock()
+ closed := cc.closed
+ cc.closing = true
+ cc.closed = true
+ cc.mu.Unlock()
+ if closed {
+ return
+ }
+ if f := cc.fr.countError; f != nil {
+ f(fmt.Sprintf("conn_close_error_%s", code.stringToken()))
+ }
+ done := make(chan struct{})
+ go func() {
+ defer close(done)
+ cc.wmu.Lock()
+ cc.fr.WriteGoAway(0, code, nil)
+ cc.bw.Flush()
+ cc.wmu.Unlock()
+ }()
+ select {
+ case <-done:
+ case <-time.After(250 * time.Millisecond):
+ }
+ cc.closeForError(fmt.Errorf("http2: closing connection with %v", code))
+}
+
// closes the client connection immediately. In-flight requests are interrupted.
// err is sent to streams.
func (cc *ClientConn) closeForError(err error) {
@@ -1247,10 +915,7 @@ func (cc *ClientConn) closeForError(err error) {
cc.closeConn()
}
-// Close closes the client connection immediately.
-//
-// In-flight requests are interrupted. For a graceful shutdown, use Shutdown instead.
-func (cc *ClientConn) Close() error {
+func (cc *ClientConn) close() error {
cc.closeForError(errClientConnForceClosed)
return nil
}
@@ -1304,11 +969,11 @@ func (cc *ClientConn) decrStreamReservationsLocked() {
}
}
-func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
- return cc.roundTrip(req, nil)
+func (cc *ClientConn) roundTrip(req *http.Request) (*http.Response, error) {
+ return cc.internalRoundTrip(req, nil)
}
-func (cc *ClientConn) roundTrip(req *http.Request, streamf func(*clientStream)) (*http.Response, error) {
+func (cc *ClientConn) internalRoundTrip(req *http.Request, streamf func(*clientStream)) (*http.Response, error) {
ctx := req.Context()
cs := &clientStream{
cc: cc,
@@ -1680,7 +1345,9 @@ func (cs *clientStream) cleanupWriteRequest(err error) {
}
if err != nil {
cs.abortStream(err) // possibly redundant, but harmless
- if cs.sentHeaders {
+ if ce, ok := err.(ConnectionError); ok {
+ cc.goAwayAndClose(ErrCode(ce))
+ } else if cs.sentHeaders {
if se, ok := err.(StreamError); ok {
if se.Cause != errFromPeer {
cc.writeStreamReset(cs.ID, se.Code, false, err)
@@ -2009,8 +1676,12 @@ func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error)
return 0, errRequestCanceled
default:
}
- if a := cs.flow.available(); a > 0 {
- take := a
+ avail, ok := cs.flow.available()
+ if !ok {
+ return 0, ConnectionError(ErrCodeFlowControl)
+ }
+ if avail > 0 {
+ take := avail
if int(take) > maxBytes {
take = int32(maxBytes) // can't truncate int; take is int32
@@ -2071,8 +1742,7 @@ type resAndError struct {
// requires cc.mu be held.
func (cc *ClientConn) addStreamLocked(cs *clientStream) {
- cs.flow.add(int32(cc.initialWindowSize))
- cs.flow.setConnFlow(&cc.flow)
+ cs.flow.conn = &cc.flow
cs.inflow.init(cc.initialStreamRecvWindowSize)
cs.ID = cc.nextStreamID
cc.nextStreamID += 2
@@ -2128,19 +1798,6 @@ func (cc *ClientConn) readLoop() {
}
}
-// GoAwayError is returned by the Transport when the server closes the
-// TCP connection after sending a GOAWAY frame.
-type GoAwayError struct {
- LastStreamID uint32
- ErrCode ErrCode
- DebugData string
-}
-
-func (e GoAwayError) Error() string {
- return fmt.Sprintf("http2: server sent GOAWAY and closed the connection; LastStreamID=%v, ErrCode=%v, debug=%q",
- e.LastStreamID, e.ErrCode, e.DebugData)
-}
-
func isEOFOrNetReadError(err error) bool {
if err == io.EOF {
return true
@@ -2469,18 +2126,42 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra
return nil, nil
}
+ // Delete various headers that might mess up framing for HTTP/1. This is
+ // not a problem for HTTP/2, but someone might use HTTP/2 transport as a
+ // reverse proxy which forwards the response to an HTTP/1 client. Our
+ // HTTP/1 client transport will properly reject improper headers such as
+ // multiple conflicting Content-Length headers, but other implementations
+ // might not.
+ // TODO: just reject such responses? We deleted them for compatibility
+ // since this was done in a security fix (go.dev/issue/81115). However,
+ // rejecting them seems entirely reasonable and relatively safe.
+
+ // Connection-specific header fields must not appear in an HTTP/2 message,
+ // and any message containing them is malformed. RFC 9113, Section 8.2.2.
+ for _, k := range connHeaders {
+ delete(res.Header, k)
+ }
res.ContentLength = -1
- if clens := res.Header["Content-Length"]; len(clens) == 1 {
- if cl, err := strconv.ParseUint(clens[0], 10, 63); err == nil {
- res.ContentLength = int64(cl)
+ if clens, ok := res.Header["Content-Length"]; ok {
+ // Repeated Content-Length values may be collapsed into one only if
+ // they are identical per RFC 9110 Section 8.6.
+ // No need to trim whitespace, HTTP/2 header values must not have
+ // extraneous whitespace per RFC 9113 Section 8.2.1.
+ // Non-canonical headers are already rejected by our framer at this
+ // point.
+ conflicting := slices.ContainsFunc(clens[1:], func(clen string) bool {
+ return clen != clens[0]
+ })
+ cl, err := strconv.ParseUint(clens[0], 10, 63)
+ if conflicting || err != nil {
+ delete(res.Header, "Content-Length")
} else {
- // TODO: care? unlike http/1, it won't mess up our framing, so it's
- // more safe smuggling-wise to ignore.
+ res.Header["Content-Length"] = clens[:1]
+ res.ContentLength = int64(cl)
}
- } else if len(clens) > 1 {
- // TODO: care? unlike http/1, it won't mess up our framing, so it's
- // more safe smuggling-wise to ignore.
- } else if f.StreamEnded() && !cs.isHead {
+ }
+
+ if res.ContentLength < 0 && f.StreamEnded() && !cs.isHead {
res.ContentLength = 0
}
@@ -2791,6 +2472,10 @@ const (
func (rl *clientConnReadLoop) streamByID(id uint32, headerOrData bool) *clientStream {
rl.cc.mu.Lock()
defer rl.cc.mu.Unlock()
+ return rl.streamByIDLocked(id, headerOrData)
+}
+
+func (rl *clientConnReadLoop) streamByIDLocked(id uint32, headerOrData bool) *clientStream {
if headerOrData {
// Work around an unfortunate gRPC behavior.
// See comment on ClientConn.rstStreamPingsBlocked for details.
@@ -2861,6 +2546,9 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error {
var seenMaxConcurrentStreams bool
err := f.ForeachSetting(func(s Setting) error {
+ if err := s.Valid(); err != nil {
+ return err
+ }
switch s.ID {
case SettingMaxFrameSize:
cc.maxFrameSize = s.Val
@@ -2870,31 +2558,14 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error {
case SettingMaxHeaderListSize:
cc.peerMaxHeaderListSize = uint64(s.Val)
case SettingInitialWindowSize:
- // Values above the maximum flow-control
- // window size of 2^31-1 MUST be treated as a
- // connection error (Section 5.4.1) of type
- // FLOW_CONTROL_ERROR.
- if s.Val > math.MaxInt32 {
+ if !cc.flow.changeInitialWindowSize(int64(s.Val)) {
return ConnectionError(ErrCodeFlowControl)
}
-
- // Adjust flow control of currently-open
- // frames by the difference of the old initial
- // window size and this one.
- delta := int32(s.Val) - int32(cc.initialWindowSize)
- for _, cs := range cc.streams {
- cs.flow.add(delta)
- }
cc.cond.Broadcast()
-
- cc.initialWindowSize = s.Val
case SettingHeaderTableSize:
cc.henc.SetMaxDynamicTableSize(s.Val)
cc.peerMaxHeaderTableSize = s.Val
case SettingEnableConnectProtocol:
- if err := s.Valid(); err != nil {
- return err
- }
// If the peer wants to send us SETTINGS_ENABLE_CONNECT_PROTOCOL,
// we require that it do so in the first SETTINGS frame.
//
@@ -2932,29 +2603,30 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error {
func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error {
cc := rl.cc
- cs := rl.streamByID(f.StreamID, notHeaderOrDataFrame)
- if f.StreamID != 0 && cs == nil {
- return nil
- }
-
cc.mu.Lock()
defer cc.mu.Unlock()
-
- fl := &cc.flow
- if cs != nil {
- fl = &cs.flow
- }
- if !fl.add(int32(f.Increment)) {
- // For stream, the sender sends RST_STREAM with an error code of FLOW_CONTROL_ERROR
- if cs != nil {
+ if f.StreamID == 0 {
+ if !cc.flow.add(int32(f.Increment)) {
+ return ConnectionError(ErrCodeFlowControl)
+ }
+ } else {
+ cs := rl.streamByIDLocked(f.StreamID, notHeaderOrDataFrame)
+ if cs == nil {
+ return nil
+ }
+ if !cs.flow.add(int32(f.Increment)) {
+ if cs.flow.conn.flowErr {
+ // This is a lazily-detected connection-level flow control error.
+ return ConnectionError(ErrCodeFlowControl)
+ }
+ // For stream, the sender sends RST_STREAM with
+ // an error code of FLOW_CONTROL_ERROR.
rl.endStreamErrorLocked(cs, StreamError{
StreamID: f.StreamID,
Code: ErrCodeFlowControl,
})
return nil
}
-
- return ConnectionError(ErrCodeFlowControl)
}
cc.cond.Broadcast()
return nil
@@ -2981,7 +2653,7 @@ func (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error {
}
// Ping sends a PING frame to the server and waits for the ack.
-func (cc *ClientConn) Ping(ctx context.Context) error {
+func (cc *ClientConn) ping(ctx context.Context) error {
c := make(chan struct{})
// Generate a random payload
var p [8]byte
@@ -3095,16 +2767,6 @@ func (cc *ClientConn) vlogf(format string, args ...interface{}) {
cc.t.vlogf(format, args...)
}
-func (t *Transport) vlogf(format string, args ...interface{}) {
- if VerboseLogs {
- t.logf(format, args...)
- }
-}
-
-func (t *Transport) logf(format string, args ...interface{}) {
- log.Printf(format, args...)
-}
-
var noBody io.ReadCloser = noBodyReader{}
type noBodyReader struct{}
@@ -3420,17 +3082,3 @@ func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.M
}
return nil
}
-
-// dialTLSWithContext uses tls.Dialer, added in Go 1.15, to open a TLS
-// connection.
-func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) {
- dialer := &tls.Dialer{
- Config: cfg,
- }
- cn, err := dialer.DialContext(ctx, network, addr)
- if err != nil {
- return nil, err
- }
- tlsCn := cn.(*tls.Conn) // DialContext comment promises this will always succeed
- return tlsCn, nil
-}
diff --git a/vendor/golang.org/x/net/http2/transport_common.go b/vendor/golang.org/x/net/http2/transport_common.go
new file mode 100644
index 000000000..4f0333a70
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/transport_common.go
@@ -0,0 +1,516 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package http2
+
+import (
+ "context"
+ "crypto/tls"
+ "errors"
+ "fmt"
+ "log"
+ mathrand "math/rand"
+ "net"
+ "net/http"
+ "strings"
+ "sync/atomic"
+ "time"
+
+ "golang.org/x/net/idna"
+)
+
+// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2.
+// It returns an error if t1 has already been HTTP/2-enabled.
+//
+// Use ConfigureTransports instead to configure the HTTP/2 Transport.
+//
+// Deprecated: Set [http.Transport.Protocols] instead.
+func ConfigureTransport(t1 *http.Transport) error {
+ return configureTransport(t1)
+}
+
+// ConfigureTransports configures a net/http HTTP/1 Transport to use HTTP/2.
+// It returns a new HTTP/2 Transport for further configuration.
+// It returns an error if t1 has already been HTTP/2-enabled.
+//
+// Deprecated: Set [http.Transport.Protocols] instead.
+func ConfigureTransports(t1 *http.Transport) (*Transport, error) {
+ return configureTransports(t1)
+}
+
+// Transport is an HTTP/2 Transport.
+//
+// A Transport internally caches connections to servers. It is safe
+// for concurrent use by multiple goroutines.
+//
+// Deprecated: Use [http.Transport] instead.
+type Transport struct {
+ // DialTLSContext specifies an optional dial function with context for
+ // creating TLS connections for requests.
+ //
+ // If DialTLSContext and DialTLS is nil, tls.Dial is used.
+ //
+ // If the returned net.Conn has a ConnectionState method like tls.Conn,
+ // it will be used to set http.Response.TLS.
+ //
+ // Deprecated: Use [http.Transport.DialTLSContext] instead.
+ DialTLSContext func(ctx context.Context, network, addr string, cfg *tls.Config) (net.Conn, error)
+
+ // DialTLS specifies an optional dial function for creating
+ // TLS connections for requests.
+ //
+ // If DialTLSContext and DialTLS is nil, tls.Dial is used.
+ //
+ // Deprecated: Use [http.Transport.DialTLSContext] instead.
+ DialTLS func(network, addr string, cfg *tls.Config) (net.Conn, error)
+
+ // TLSClientConfig specifies the TLS configuration to use with
+ // tls.Client. If nil, the default configuration is used.
+ //
+ // Deprecated: Use [http.Transport.TLSClientConfig] instead.
+ TLSClientConfig *tls.Config
+
+ // ConnPool optionally specifies an alternate connection pool to use.
+ // If nil, the default is used.
+ //
+ // Deprecated: To create a custom connection pool, implement
+ // [http.RoundTripper]. Use [http.Transport.NewClientConn]
+ // to create connections for the pool.
+ ConnPool ClientConnPool
+
+ // DisableCompression, if true, prevents the Transport from
+ // requesting compression with an "Accept-Encoding: gzip"
+ // request header when the Request contains no existing
+ // Accept-Encoding value. If the Transport requests gzip on
+ // its own and gets a gzipped response, it's transparently
+ // decoded in the Response.Body. However, if the user
+ // explicitly requested gzip it is not automatically
+ // uncompressed.
+ //
+ // Deprecated: Use [http.Transport.DisableCompression] instead.
+ DisableCompression bool
+
+ // AllowHTTP, if true, permits HTTP/2 requests using the insecure,
+ // plain-text "http" scheme. Note that this does not enable h2c support.
+ //
+ // Deprecated: Use [http.Transport.Protocols] instead.
+ AllowHTTP bool
+
+ // MaxHeaderListSize is the http2 SETTINGS_MAX_HEADER_LIST_SIZE to
+ // send in the initial settings frame. It is how many bytes
+ // of response headers are allowed. Unlike the http2 spec, zero here
+ // means to use a default limit (currently 10MB). If you actually
+ // want to advertise an unlimited value to the peer, Transport
+ // interprets the highest possible value here (0xffffffff or 1<<32-1)
+ // to mean no limit.
+ //
+ // Deprecated: Use [http.Transport.MaxResponseHeaderBytes] instead.
+ MaxHeaderListSize uint32
+
+ // MaxReadFrameSize is the http2 SETTINGS_MAX_FRAME_SIZE to send in the
+ // initial settings frame. It is the size in bytes of the largest frame
+ // payload that the sender is willing to receive. If 0, no setting is
+ // sent, and the value is provided by the peer, which should be 16384
+ // according to the spec:
+ // https://datatracker.ietf.org/doc/html/rfc7540#section-6.5.2.
+ // Values are bounded in the range 16k to 16M.
+ //
+ // Deprecated: Use [http.Transport.HTTP2] and
+ // [http.HTTP2Config.MaxReadFrameSize] instead.
+ MaxReadFrameSize uint32
+
+ // MaxDecoderHeaderTableSize optionally specifies the http2
+ // SETTINGS_HEADER_TABLE_SIZE to send in the initial settings frame. It
+ // informs the remote endpoint of the maximum size of the header compression
+ // table used to decode header blocks, in octets. If zero, the default value
+ // of 4096 is used.
+ //
+ // Deprecated: Use [http.Transport.HTTP2] and
+ // [http.HTTP2Config.MaxDecoderHeaderTableSize] instead.
+ MaxDecoderHeaderTableSize uint32
+
+ // MaxEncoderHeaderTableSize optionally specifies an upper limit for the
+ // header compression table used for encoding request headers. Received
+ // SETTINGS_HEADER_TABLE_SIZE settings are capped at this limit. If zero,
+ // the default value of 4096 is used.
+ //
+ // Deprecated: Use [http.Transport.HTTP2] and
+ // [http.HTTP2Config.MaxEncoderHeaderTableSize] instead.
+ MaxEncoderHeaderTableSize uint32
+
+ // StrictMaxConcurrentStreams controls whether the server's
+ // SETTINGS_MAX_CONCURRENT_STREAMS should be respected
+ // globally. If false, new TCP connections are created to the
+ // server as needed to keep each under the per-connection
+ // SETTINGS_MAX_CONCURRENT_STREAMS limit. If true, the
+ // server's SETTINGS_MAX_CONCURRENT_STREAMS is interpreted as
+ // a global limit and callers of RoundTrip block when needed,
+ // waiting for their turn.
+ //
+ // Deprecated: Use [http.Transport.HTTP2] and
+ // [http.HTTP2Config.StrictMaxConcurrentRequests] instead.
+ StrictMaxConcurrentStreams bool
+
+ // IdleConnTimeout is the maximum amount of time an idle
+ // (keep-alive) connection will remain idle before closing
+ // itself.
+ // Zero means no limit.
+ //
+ // Deprecated: Use [http.Transport.IdleConnTimeout] instead.
+ IdleConnTimeout time.Duration
+
+ // ReadIdleTimeout is the timeout after which a health check using ping
+ // frame will be carried out if no frame is received on the connection.
+ // Note that a ping response will is considered a received frame, so if
+ // there is no other traffic on the connection, the health check will
+ // be performed every ReadIdleTimeout interval.
+ // If zero, no health check is performed.
+ //
+ // Deprecated: Use [http.Transport.HTTP2] and
+ // [http.HTTP2Config.SendPingTimeout] instead.
+ ReadIdleTimeout time.Duration
+
+ // PingTimeout is the timeout after which the connection will be closed
+ // if a response to Ping is not received.
+ // Defaults to 15s.
+ //
+ // Deprecated: Use [http.Transport.HTTP2] and
+ // [http.HTTP2Config.PingTimeout] instead.
+ PingTimeout time.Duration
+
+ // WriteByteTimeout is the timeout after which the connection will be
+ // closed no data can be written to it. The timeout begins when data is
+ // available to write, and is extended whenever any bytes are written.
+ //
+ // Deprecated: Use [http.Transport.HTTP2] and
+ // [http.HTTP2Config.WriteByteTimeout] instead.
+ WriteByteTimeout time.Duration
+
+ // CountError, if non-nil, is called on HTTP/2 transport errors.
+ // It's intended to increment a metric for monitoring, such
+ // as an expvar or Prometheus metric.
+ // The errType consists of only ASCII word characters.
+ //
+ // Deprecated: Use [http.Transport.HTTP2] and
+ // [http.HTTP2Config.CountError] instead.
+ CountError func(errType string)
+
+ // Internal state, differs between wrapped and non-wrapped implementations.
+ transportInternal
+}
+
+var (
+ errClientConnClosed = errors.New("http2: client conn is closed")
+ errClientConnNotEstablished = errors.New("http2: client conn could not be established")
+ errClientConnGotGoAway = errors.New("http2: Transport received Server's graceful shutdown GOAWAY")
+ errClientConnForceClosed = errors.New("http2: client connection force closed via ClientConn.Close")
+ errClientConnUnusable = errors.New("http2: client conn not usable")
+)
+
+// ClientConnPool manages a pool of HTTP/2 client connections.
+//
+// Deprecated: To create a custom connection pool, implement
+// [http.RoundTripper]. Use [http.Transport.NewClientConn]
+// to create connections for the pool.
+type ClientConnPool interface {
+ // GetClientConn returns a specific HTTP/2 connection (usually
+ // a TLS-TCP connection) to an HTTP/2 server. On success, the
+ // returned ClientConn accounts for the upcoming RoundTrip
+ // call, so the caller should not omit it. If the caller needs
+ // to, ClientConn.RoundTrip can be called with a bogus
+ // new(http.Request) to release the stream reservation.
+ GetClientConn(req *http.Request, addr string) (*ClientConn, error)
+ MarkDead(*ClientConn)
+}
+
+// ClientConnState describes the state of a ClientConn.
+//
+// Deprecated: Use [http.ClientConn] instead.
+type ClientConnState struct {
+ // Closed is whether the connection is closed.
+ Closed bool
+
+ // Closing is whether the connection is in the process of
+ // closing. It may be closing due to shutdown, being a
+ // single-use connection, being marked as DoNotReuse, or
+ // having received a GOAWAY frame.
+ Closing bool
+
+ // StreamsActive is how many streams are active.
+ StreamsActive int
+
+ // StreamsReserved is how many streams have been reserved via
+ // ClientConn.ReserveNewRequest.
+ StreamsReserved int
+
+ // StreamsPending is how many requests have been sent in excess
+ // of the peer's advertised MaxConcurrentStreams setting and
+ // are waiting for other streams to complete.
+ StreamsPending int
+
+ // MaxConcurrentStreams is how many concurrent streams the
+ // peer advertised as acceptable. Zero means no SETTINGS
+ // frame has been received yet.
+ MaxConcurrentStreams uint32
+
+ // LastIdle, if non-zero, is when the connection last
+ // transitioned to idle state.
+ LastIdle time.Time
+}
+
+// RoundTripOpt are options for the Transport.RoundTripOpt method.
+//
+// Deprecated: There are no options to set.
+type RoundTripOpt struct {
+ // OnlyCachedConn controls whether RoundTripOpt may
+ // create a new TCP connection. If set true and
+ // no cached connection is available, RoundTripOpt
+ // will return ErrNoCachedConn.
+
+ // OnlyCachedConn was broken in https://go.dev/cl/16699.
+ OnlyCachedConn bool
+
+ allowHTTP bool // allow http:// URLs
+}
+
+// Deprecated: Use [http.Transport.RoundTrip] instead.
+func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
+ return t.RoundTripOpt(req, RoundTripOpt{})
+}
+
+// RoundTripOpt is like RoundTrip, but takes options.
+//
+// Deprecated: Use [http.Transport.RoundTrip] instead.
+func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) {
+ return t.roundTripOpt(req, opt)
+}
+
+// CloseIdleConnections closes any connections which were previously
+// connected from previous requests but are now sitting idle.
+// It does not interrupt any connections currently in use.
+//
+// Deprecated: Use [http.Transport.CloseIdleConnections] instead.
+func (t *Transport) CloseIdleConnections() {
+ t.closeIdleConnections()
+}
+
+// NewClientConn is deprecated.
+//
+// Deprecated: Use [http.Transport.NewClientConn] instead.
+func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {
+ return t.newUserClientConn(c)
+}
+
+// authorityAddr returns a given authority (a host/IP, or host:port / ip:port)
+// and returns a host:port. The port 443 is added if needed.
+func authorityAddr(scheme string, authority string) (addr string) {
+ host, port, err := net.SplitHostPort(authority)
+ if err != nil { // authority didn't have a port
+ host = authority
+ port = ""
+ }
+ if port == "" { // authority's port was empty
+ port = "443"
+ if scheme == "http" {
+ port = "80"
+ }
+ }
+ // Skip IDNA processing on hosts which are already ASCII.
+ // This is consistent with net/http and the WHATWG URL Specification.
+ // (We currently don't follow all of WHATWG, but we're aligned on
+ // permitting all-ASCII hostnames which fail IDNA validation.
+ // There are existing, valid domain names which TR #46 processing rejects.)
+ if !isASCII(host) {
+ if a, err := idna.Lookup.ToASCII(host); err == nil && a != "" {
+ host = a
+ }
+ }
+ // IPv6 address literal, without a port:
+ if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") {
+ return host + ":" + port
+ }
+ return net.JoinHostPort(host, port)
+}
+
+func (t *Transport) roundTripViaPool(req *http.Request, opt RoundTripOpt, pool ClientConnPool) (*http.Response, error) {
+ addr := authorityAddr(req.URL.Scheme, req.URL.Host)
+ for retry := 0; ; retry++ {
+ cc, err := pool.GetClientConn(req, addr)
+ if err != nil {
+ t.vlogf("http2: Transport failed to get client conn for %s: %v", addr, err)
+ return nil, err
+ }
+ reused := !atomic.CompareAndSwapUint32(&cc.atomicReused, 0, 1)
+ traceGotConn(req, cc, reused)
+ res, err := cc.RoundTrip(req)
+ if err != nil && retry <= 6 {
+ roundTripErr := err
+ if req, err = shouldRetryRequest(req, err); err == nil {
+ // After the first retry, do exponential backoff with 10% jitter.
+ if retry == 0 {
+ t.vlogf("RoundTrip retrying after failure: %v", roundTripErr)
+ continue
+ }
+ backoff := float64(uint(1) << (uint(retry) - 1))
+ backoff += backoff * (0.1 * mathrand.Float64())
+ d := time.Second * time.Duration(backoff)
+ tm := time.NewTimer(d)
+ select {
+ case <-tm.C:
+ t.vlogf("RoundTrip retrying after failure: %v", roundTripErr)
+ continue
+ case <-req.Context().Done():
+ tm.Stop()
+ err = req.Context().Err()
+ }
+ }
+ }
+ if err == errClientConnNotEstablished {
+ // This ClientConn was created recently,
+ // this is the first request to use it,
+ // and the connection is closed and not usable.
+ //
+ // In this state, cc.idleTimer will remove the conn from the pool
+ // when it fires. Stop the timer and remove it here so future requests
+ // won't try to use this connection.
+ //
+ // If the timer has already fired and we're racing it, the redundant
+ // call to MarkDead is harmless.
+ cc.stopIdleTimer()
+ pool.MarkDead(cc)
+ }
+ if err != nil {
+ t.vlogf("RoundTrip failure: %v", err)
+ return nil, err
+ }
+ return res, nil
+ }
+}
+
+// shouldRetryRequest is called by RoundTrip when a request fails to get
+// response headers. It is always called with a non-nil error.
+// It returns either a request to retry (either the same request, or a
+// modified clone), or an error if the request can't be replayed.
+func shouldRetryRequest(req *http.Request, err error) (*http.Request, error) {
+ if !canRetryError(err) {
+ return nil, err
+ }
+ // If the Body is nil (or http.NoBody), it's safe to reuse
+ // this request and its Body.
+ if req.Body == nil || req.Body == http.NoBody {
+ return req, nil
+ }
+
+ // If the request body can be reset back to its original
+ // state via the optional req.GetBody, do that.
+ if req.GetBody != nil {
+ body, err := req.GetBody()
+ if err != nil {
+ return nil, err
+ }
+ newReq := *req
+ newReq.Body = body
+ return &newReq, nil
+ }
+
+ // The Request.Body can't reset back to the beginning, but we
+ // don't seem to have started to read from it yet, so reuse
+ // the request directly.
+ if err == errClientConnUnusable {
+ return req, nil
+ }
+
+ return nil, fmt.Errorf("http2: Transport: cannot retry err [%v] after Request.Body was written; define Request.GetBody to avoid this error", err)
+}
+
+func canRetryError(err error) bool {
+ if err == errClientConnUnusable || err == errClientConnGotGoAway {
+ return true
+ }
+ if se, ok := err.(StreamError); ok {
+ return se.Code == ErrCodeRefusedStream
+ }
+ return false
+}
+
+func (t *Transport) vlogf(format string, args ...interface{}) {
+ if VerboseLogs {
+ t.logf(format, args...)
+ }
+}
+
+func (t *Transport) logf(format string, args ...interface{}) {
+ log.Printf(format, args...)
+}
+
+func (t *Transport) dialTLS(ctx context.Context, network, addr string, tlsCfg *tls.Config) (net.Conn, error) {
+ if t.DialTLSContext != nil {
+ return t.DialTLSContext(ctx, network, addr, tlsCfg)
+ } else if t.DialTLS != nil {
+ return t.DialTLS(network, addr, tlsCfg)
+ }
+
+ tlsCn, err := t.dialTLSWithContext(ctx, network, addr, tlsCfg)
+ if err != nil {
+ return nil, err
+ }
+ state := tlsCn.ConnectionState()
+ if p := state.NegotiatedProtocol; p != NextProtoTLS {
+ return nil, fmt.Errorf("http2: unexpected ALPN protocol %q; want %q", p, NextProtoTLS)
+ }
+ if !state.NegotiatedProtocolIsMutual {
+ return nil, errors.New("http2: could not negotiate protocol mutually")
+ }
+ return tlsCn, nil
+}
+
+// dialTLSWithContext uses tls.Dialer, added in Go 1.15, to open a TLS
+// connection.
+func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) {
+ dialer := &tls.Dialer{
+ Config: cfg,
+ }
+ cn, err := dialer.DialContext(ctx, network, addr)
+ if err != nil {
+ return nil, err
+ }
+ tlsCn := cn.(*tls.Conn) // DialContext comment promises this will always succeed
+ return tlsCn, nil
+}
+
+// GoAwayError is returned by the Transport when the server closes the
+// TCP connection after sending a GOAWAY frame.
+//
+// Deprecated: GoAwayError is deprecated.
+type GoAwayError struct {
+ LastStreamID uint32
+ ErrCode ErrCode
+ DebugData string
+}
+
+func (e GoAwayError) Error() string {
+ return fmt.Sprintf("http2: server sent GOAWAY and closed the connection; LastStreamID=%v, ErrCode=%v, debug=%q",
+ e.LastStreamID, e.ErrCode, e.DebugData)
+}
+
+// noCachedConnError is the concrete type of ErrNoCachedConn, which
+// needs to be detected by net/http regardless of whether it's its
+// bundled version (in h2_bundle.go with a rewritten type name) or
+// from a user's x/net/http2. As such, as it has a unique method name
+// (IsHTTP2NoCachedConnError) that net/http sniffs for via func
+// isNoCachedConnError.
+type noCachedConnError struct{}
+
+func (noCachedConnError) IsHTTP2NoCachedConnError() {}
+func (noCachedConnError) Error() string { return "http2: no cached connection was available" }
+
+// isNoCachedConnError reports whether err is of type noCachedConnError
+// or its equivalent renamed type in net/http2's h2_bundle.go. Both types
+// may coexist in the same running program.
+func isNoCachedConnError(err error) bool {
+ _, ok := err.(interface{ IsHTTP2NoCachedConnError() })
+ return ok
+}
+
+var ErrNoCachedConn error = noCachedConnError{}
diff --git a/vendor/golang.org/x/net/http2/transport_wrap.go b/vendor/golang.org/x/net/http2/transport_wrap.go
new file mode 100644
index 000000000..eeaa95f03
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/transport_wrap.go
@@ -0,0 +1,583 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build go1.27 && !http2legacy
+
+// Transport wrapping a net/http.Transport.
+
+package http2
+
+import (
+ "context"
+ "crypto/tls"
+ "errors"
+ "math"
+ "net"
+ "net/http"
+ "net/http/httptrace"
+ "slices"
+ "sync"
+ "time"
+)
+
+func configureTransport(t1 *http.Transport) error {
+ _, err := configureTransports(t1)
+ return err
+}
+
+func configureTransports(t1 *http.Transport) (*Transport, error) {
+ // ConfigureTransport returns an http2.Transport with a configuration
+ // linked to the http.Transport's.
+ tr2 := &Transport{}
+ tr2.configure(t1)
+ // Enable HTTP/2 on the transport, as the pre-wrapping implementation did:
+ // net/http does not auto-enable it for a transport with a custom
+ // TLSClientConfig or dialer.
+ if t1.TLSClientConfig == nil {
+ t1.TLSClientConfig = &tls.Config{}
+ }
+ if t1.Protocols == nil {
+ t1.Protocols = new(http.Protocols)
+ t1.Protocols.SetHTTP1(true)
+ }
+ t1.Protocols.SetHTTP2(true)
+ return tr2, nil
+}
+
+// transportConfig is passed to net/http.Transport.RegisterProtocol("http/2", config).
+// It provides the net/http.Transport with access to the configuration in the
+// x/net/http2.Transport.
+type transportConfig struct {
+ t *Transport
+}
+
+// Registered is called by net/http.Transport.RegisterProtocol,
+// to let us know that it understands the registration mechanism we're using.
+func (t transportConfig) Registered(t1 *http.Transport) {
+ t.t.lazyt1 = t1
+}
+
+func (t transportConfig) DisableCompression() bool {
+ return t.t.DisableCompression
+}
+
+func (t transportConfig) MaxHeaderListSize() int64 {
+ return int64(t.t.MaxHeaderListSize)
+}
+
+func (t transportConfig) IdleConnTimeout() time.Duration {
+ return t.t.IdleConnTimeout
+}
+
+func (t transportConfig) HTTP2Config() http.HTTP2Config {
+ return http.HTTP2Config{
+ StrictMaxConcurrentRequests: t.t.StrictMaxConcurrentStreams,
+ MaxDecoderHeaderTableSize: int(t.t.MaxDecoderHeaderTableSize),
+ MaxEncoderHeaderTableSize: int(t.t.MaxEncoderHeaderTableSize),
+ MaxReadFrameSize: int(t.t.MaxReadFrameSize),
+ SendPingTimeout: t.t.ReadIdleTimeout,
+ PingTimeout: t.t.PingTimeout,
+ WriteByteTimeout: t.t.WriteByteTimeout,
+ CountError: t.t.CountError,
+ }
+}
+
+// ExternalRoundTrip reports whether the Transport wants to take control of the RoundTrip call.
+// If the user hasn't configured a custom connection pool, we leave the RoundTrip up to net/http.
+func (t transportConfig) ExternalRoundTrip() bool {
+ return t.t.ConnPool != nil
+}
+
+// RoundTrip is used when the http.Transport is passing control of the full
+// RoundTrip to us--connection pooling, retries, etc.
+//
+// This is only used when the http2.Transport has a user-provided ConnPool.
+// Any other time, net/http handles everything.
+func (t transportConfig) RoundTrip(req *http.Request) (*http.Response, error) {
+ if t.t.ConnPool == nil {
+ return nil, http.ErrSkipAltProtocol
+ }
+ return t.t.RoundTrip(req)
+}
+
+// netConnContextKey passes a net.Conn to http.Transport.NewClientConn.
+// See http2.Transport.NewClientConn.
+type netConnContextKey struct{}
+
+// ConnFromContext lets the http.Transport fetch a net.Conn out of a context
+// passed to NewClientConn. See http2.Transport.NewClientConn.
+func (t transportConfig) ConnFromContext(ctx context.Context) net.Conn {
+ nc, _ := ctx.Value(netConnContextKey{}).(net.Conn)
+ return nc
+}
+
+// http2TransportContextKey marks a RoundTrip as needing its dial handled by the http2.Transport.
+// We set this for http2.RoundTrip calls, where the historical behavior is to use the
+// http2.Transport's dialer.
+type http2TransportContextKey struct{}
+
+// DialFromContext dials a new connection using the http2.Transport's DialTLS/DialTLSContext.
+func (t transportConfig) DialFromContext(ctx context.Context, network, address string) (net.Conn, error) {
+ dial, _ := ctx.Value(http2TransportContextKey{}).(*transportRoundTripState)
+ if dial == nil {
+ // We're being called from a RoundTrip that did not start with an http2.Transport.
+ // Use the http.Transport's dialer.
+ return nil, errors.ErrUnsupported
+ }
+ return t.t.dialForRoundTrip(ctx, dial, network, address)
+}
+
+type transportInternal struct {
+ initOnce sync.Once
+ lazyt1 *http.Transport
+
+ dialMu sync.Mutex
+ dials map[string]*transportDialState
+}
+
+type transportDialState struct {
+ dialc chan struct{} // close when dial returns
+ dialErr error // dial result, set before dialc is closed
+ rtdonec chan struct{} // closed when RoundTrip initiating the dial returns
+}
+
+func (t *Transport) init() *http.Transport {
+ t.initOnce.Do(func() {
+ if t.lazyt1 != nil {
+ return
+ }
+ t1 := &http.Transport{}
+ t.configure(t1)
+ })
+ return t.lazyt1
+}
+
+func (t *Transport) configure(t1 *http.Transport) {
+ t1.RegisterProtocol("http/2", transportConfig{t})
+ // tr2.lazyt1 is set by transportConfig.Registered.
+ if t.lazyt1 != t1 {
+ panic("http2: net/http does not support this version of x/net/http2")
+ }
+}
+
+// transportRoundTripState is the state of the dial for an http2.Transport.RoundTrip.
+type transportRoundTripState struct {
+ mu sync.Mutex
+ rtdone bool // set when RoundTrip returns
+ rtdonec chan struct{} // closed when RoundTrip returns
+ gotconnc chan struct{} // closed when GotConn hook is called
+}
+
+// startDial is called when a dial starts.
+//
+// It returns done=true if the RoundTrip has already returned,
+// in which case we should skip dialing.
+func (dial *transportRoundTripState) startDial() (gotconnc chan struct{}, done bool) {
+ dial.mu.Lock()
+ defer dial.mu.Unlock()
+ if dial.rtdone {
+ return nil, true
+ }
+ if dial.rtdonec == nil {
+ dial.rtdonec = make(chan struct{})
+ }
+ dial.gotconnc = make(chan struct{})
+ return dial.gotconnc, false
+}
+
+// gotConn is called when RoundTrip gets a connection.
+// This may happen multiple times per RoundTrip, if a request is retried.
+func (dial *transportRoundTripState) gotConn() {
+ dial.mu.Lock()
+ defer dial.mu.Unlock()
+ if dial.gotconnc != nil {
+ close(dial.gotconnc)
+ dial.gotconnc = nil
+ }
+}
+
+// roundTripDone is called when RoundTrip returns.
+func (dial *transportRoundTripState) roundTripDone() {
+ dial.mu.Lock()
+ defer dial.mu.Unlock()
+ dial.rtdone = true
+ if dial.rtdonec != nil {
+ close(dial.rtdonec)
+ }
+}
+
+func (t *Transport) roundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) {
+ t1 := t.init()
+
+ if req.URL.Scheme == "http" && !t.AllowHTTP {
+ return nil, errors.New("http2: unencrypted HTTP/2 not enabled")
+ }
+
+ // When the Transport has a user-provided connection pool (unusual, deprecated),
+ // we need to handle picking a connection, retrys, etc.
+ if t.ConnPool != nil {
+ return t.roundTripViaPool(req, opt, t.ConnPool)
+ }
+
+ // Setting this context key lets net/http know that if it is necessary to dial
+ // a new connection, we should handle the net.Dial.
+ //
+ // Both http.Transport and http2.Transport allow the user to provide a custom
+ // dial function, and historically you only get the dial function from the
+ // Transport you're calling RoundTrip on.
+ //
+ // In addition, http2.Transport coalesces dials, which http.Transport historically
+ // has not.
+ dial := &transportRoundTripState{}
+ defer dial.roundTripDone()
+ ctx := context.WithValue(req.Context(), http2TransportContextKey{}, dial)
+ ctx = httptrace.WithClientTrace(ctx, &httptrace.ClientTrace{
+ GotConn: func(httptrace.GotConnInfo) {
+ // Tell dialForRoundTrip that we have received a connection.
+ dial.gotConn()
+ },
+ })
+ req = req.WithContext(ctx)
+ return t1.RoundTrip(req)
+}
+
+var errCoalescedDialAbandoned = errors.New("http2: abandoned coalesced dial")
+
+const coalescedDialRetryTimeout = 50 * time.Millisecond
+
+// dialForRoundTrip is called (indirectly) by net/http when dialing a new connection
+// for a request call which originated as an http2.Transport.RoundTrip call.
+//
+// It uses the http2.Transport's Dial hooks and coalesces dials.
+func (t *Transport) dialForRoundTrip(ctx context.Context, dial *transportRoundTripState, network, address string) (net.Conn, error) {
+ gotconnc, rtdone := dial.startDial()
+ if rtdone {
+ // RoundTrip returned, no need for this dial to proceed.
+ return nil, errCoalescedDialAbandoned
+ }
+
+ var state *transportDialState
+ for {
+ // The first dial to an address registers itself with t.dials.
+ // When the dial finishes, it records the outcome and removes itself from t.dials
+ // so future dials will start a new round of coalescing.
+ //
+ // Subsequent dials observe that a dial is in progress, and skip dialing.
+ t.dialMu.Lock()
+ if t.dials == nil {
+ t.dials = make(map[string]*transportDialState)
+ }
+ leader := t.dials[address]
+ if leader == nil {
+ // No entry in t.dials to coalesce with. Add ourselves as leader.
+ state = &transportDialState{
+ dialc: make(chan struct{}),
+ rtdonec: dial.rtdonec,
+ }
+ t.dials[address] = state
+ }
+ t.dialMu.Unlock()
+ if leader == nil {
+ // We are the leader, so we should dial for real.
+ break
+ }
+
+ // Coalesce with a previous dial.
+ var (
+ done = false
+ leaderdialc = leader.dialc
+ leaderrtdonec = leader.rtdonec
+ timerc <-chan time.Time
+ )
+ for !done {
+ if leaderdialc == nil && leaderrtdonec == nil && timerc == nil {
+ // The leader finished dialing, and its RoundTrip finished.
+ //
+ // There are several possibilities, which reduce to:
+ // - The RoundTrip we are dialing for is about to receive
+ // a connection (possibly the one the leader just dialed),
+ // but we haven't observed it yet.
+ // - There's something wrong with the leader's connection,
+ // such as a TLS handshake failure.
+ //
+ // We have no good way to distinguish between these cases.
+ //
+ // Wait a short time for the leader's connection (or some
+ // other usable connection) to be delivered to our RoundTrip.
+ // If it is not, start a dial of our own.
+ timerc = time.After(coalescedDialRetryTimeout)
+ }
+ select {
+ case <-leaderdialc:
+ // The leader's dial completed.
+ if leader.dialErr != nil {
+ return nil, leader.dialErr
+ }
+ leaderdialc = nil
+ case <-leaderrtdonec:
+ // The leader's RoundTrip completed.
+ leaderrtdonec = nil
+ case <-timerc:
+ // The leader's dial and RoundTrip completed, and some time
+ // has passed. Assume we're not getting a connection and
+ // restart the dial process.
+ done = true
+ case <-dial.rtdonec:
+ // Our RoundTrip returned.
+ return nil, errCoalescedDialAbandoned
+ case <-gotconnc:
+ // Our RoundTrip got a connection.
+ return nil, errCoalescedDialAbandoned
+ case <-ctx.Done():
+ // net/http abandoned the dial.
+ return nil, ctx.Err()
+ }
+ }
+ }
+
+ // Dial for real.
+ tlsConf := t.TLSClientConfig
+ if tlsConf == nil {
+ tlsConf = &tls.Config{}
+ } else {
+ tlsConf = tlsConf.Clone()
+ }
+ if !slices.Contains(tlsConf.NextProtos, "h2") {
+ tlsConf.NextProtos = append([]string{"h2"}, tlsConf.NextProtos...)
+ }
+ if tlsConf.ServerName == "" {
+ host, _, err := net.SplitHostPort(address)
+ if err == nil {
+ tlsConf.ServerName = host
+ }
+ }
+ nc, err := t.dialTLS(ctx, network, address, tlsConf)
+
+ // Remove this dial from t.dials, so future dial attempts will not coalesce with it.
+ t.dialMu.Lock()
+ delete(t.dials, address)
+ t.dialMu.Unlock()
+
+ // Notify any dial coalesced with this one that we are done.
+ state.dialErr = err
+ close(state.dialc)
+
+ return nc, err
+}
+
+func (t *Transport) closeIdleConnections() {
+ t1 := t.init()
+ t1.CloseIdleConnections()
+}
+
+func (t *Transport) newUserClientConn(c net.Conn) (*ClientConn, error) {
+ t1 := t.init()
+ // http.Transport's NewClientConn doesn't provide a supported way to create
+ // a connection from a net.Conn. (This might be useful to add in the future?)
+ // We're going to craftily sneak one in via the context key, with the
+ // scheme of "http/2" telling NewClientConn to look for it.
+ ctx := context.WithValue(context.Background(), netConnContextKey{}, c)
+
+ nhcc, err := t1.NewClientConn(ctx, "http/2", "")
+ if err != nil {
+ return nil, err
+ }
+ cc := &ClientConn{cc: nhcc, tr: t, tconn: c}
+ nhcc.SetStateHook(cc.stateHook)
+ return cc, nil
+}
+
+// ClientConn is the state of a single HTTP/2 client connection to an
+// HTTP/2 server.
+//
+// Deprecated: Use [http.ClientConn] instead.
+type ClientConn struct {
+ cc *http.ClientConn
+ tconn net.Conn
+ tr *Transport
+ doNotReuse bool
+
+ mu sync.Mutex
+ closing bool
+ closed bool
+ roundTrips int
+ reserved int
+ starting int
+ pending int
+ maxConcurrent int
+ lastIdle time.Time
+ shutdownc chan struct{}
+
+ atomicReused uint32 // whether conn is being reused; atomic
+}
+
+func (cc *ClientConn) roundTrip(req *http.Request) (*http.Response, error) {
+ haveReservation, err := func() (bool, error) {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ if cc.doNotReuse {
+ return false, errClientConnUnusable
+ }
+
+ // ClientConn.Shutdown will not shut down the conn while
+ // cc.starting > 0 or cc.cc.InFlight() > 0.
+ //
+ // The starting state covers the gap between us deciding to
+ // start sending the request, and actually sending it.
+ cc.starting++
+
+ cc.roundTrips++
+ if cc.reserved == 0 {
+ // We do not have a concurrency slot reserved for this request.
+ return false, nil
+ }
+ cc.reserved--
+ return true, nil
+ }()
+ if err != nil {
+ return nil, err
+ }
+ // If we have no reservation, try to acquire one.
+ // (This must be done without cc.mu held, since Reserve may call back to the state hook.)
+ if !haveReservation && cc.cc.Reserve() != nil {
+ // We could not acquire a concurrency slot, so bump the pending count
+ // (requests waiting for a slot).
+ cc.mu.Lock()
+ cc.pending++
+ cc.mu.Unlock()
+ }
+ resp, err := cc.cc.RoundTrip(req)
+ cc.mu.Lock()
+ cc.starting--
+ if cc.pending > 0 {
+ // A request completing frees up a concurrency slot for
+ // a pending request to start.
+ cc.pending--
+ }
+ cc.updateStateLocked()
+ cc.mu.Unlock()
+ return resp, err
+}
+
+func (cc *ClientConn) canTakeNewRequest() bool {
+ return cc.cc.Available() > 0 && !cc.doNotReuse
+}
+
+func (cc *ClientConn) close() error {
+ return cc.cc.Close()
+}
+
+func (cc *ClientConn) ping(ctx context.Context) error {
+ // Ask net/http to ping its connection by sending a request with a method of ":ping".
+ _, err := cc.cc.RoundTrip((&http.Request{
+ Method: ":ping",
+ }).WithContext(ctx))
+ return err
+}
+
+func (cc *ClientConn) reserveNewRequest() bool {
+ if err := cc.cc.Reserve(); err != nil {
+ return false
+ }
+ reserved := true
+ cc.mu.Lock()
+ if cc.doNotReuse {
+ reserved = false
+ } else {
+ cc.reserved++
+ }
+ cc.mu.Unlock()
+ if !reserved {
+ cc.cc.Release()
+ }
+ return reserved
+}
+
+func (cc *ClientConn) setDoNotReuse() {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ cc.doNotReuse = true
+ cc.closing = true
+}
+
+func (cc *ClientConn) shutdown(ctx context.Context) error {
+ cc.mu.Lock()
+ inFlight := cc.cc.InFlight() + cc.starting
+ if inFlight > 0 && cc.shutdownc == nil {
+ cc.shutdownc = make(chan struct{})
+ }
+ shutdownc := cc.shutdownc
+ cc.mu.Unlock()
+ if shutdownc != nil {
+ // Wait for in-flight requests to finish.
+ select {
+ case <-shutdownc:
+ case <-ctx.Done():
+ return ctx.Err()
+ }
+ }
+ cc.cc.Close()
+ return nil
+}
+
+func (cc *ClientConn) state() ClientConnState {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ cc.updateStateLocked()
+ return ClientConnState{
+ Closed: cc.closed,
+ Closing: cc.closing,
+ StreamsActive: cc.cc.InFlight() - cc.reserved,
+ StreamsReserved: cc.reserved,
+ StreamsPending: cc.pending,
+ MaxConcurrentStreams: uint32(min(int64(cc.maxConcurrent), math.MaxUint32)),
+ LastIdle: cc.lastIdle,
+ }
+}
+
+// stateHook is the http.ClientConn's state hook.
+func (cc *ClientConn) stateHook(*http.ClientConn) {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ cc.updateStateLocked()
+}
+
+func (cc *ClientConn) updateStateLocked() {
+ if cc.cc.Err() != nil && !cc.closed {
+ cc.closing = true
+ cc.closed = true
+ if cc.tr.ConnPool != nil {
+ // Do the ConnPool update in another goroutine,
+ // to avoid holding the conn mutex while it runs.
+ go cc.tr.ConnPool.MarkDead(cc)
+ }
+ }
+ if cc.cc.InFlight() == 0 && cc.roundTrips > 0 && cc.starting == 0 {
+ cc.lastIdle = time.Now()
+ }
+ if !cc.closed {
+ // This is slightly racy (a request could start or finish in between
+ // the Available and InFlight calls), but the best we can do given that
+ // the net/http ClientConn API doesn't expose the conn's max concurrency.
+ cc.maxConcurrent = cc.cc.Available() + cc.cc.InFlight()
+ }
+ if cc.shutdownc != nil && cc.cc.InFlight()+cc.starting == 0 {
+ close(cc.shutdownc)
+ cc.shutdownc = nil
+ }
+}
+
+func (cc *ClientConn) stopIdleTimer() {}
+
+// traceGotConn is (when http2legacy is not enabled) only used for tracing
+// connections acquired while using a user-provided ClientConnPool.
+func traceGotConn(req *http.Request, cc *ClientConn, reused bool) {
+ trace := httptrace.ContextClientTrace(req.Context())
+ if trace == nil || trace.GotConn == nil {
+ return
+ }
+ ci := httptrace.GotConnInfo{Conn: cc.tconn}
+ ci.Reused = reused
+ trace.GotConn(ci)
+}
diff --git a/vendor/golang.org/x/net/http2/writesched.go b/vendor/golang.org/x/net/http2/writesched.go
index 551545f31..f1903a8c6 100644
--- a/vendor/golang.org/x/net/http2/writesched.go
+++ b/vendor/golang.org/x/net/http2/writesched.go
@@ -2,54 +2,12 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
package http2
import "fmt"
-// WriteScheduler is the interface implemented by HTTP/2 write schedulers.
-// Methods are never called concurrently.
-//
-// Deprecated: User-provided write schedulers are deprecated.
-type WriteScheduler interface {
- // OpenStream opens a new stream in the write scheduler.
- // It is illegal to call this with streamID=0 or with a streamID that is
- // already open -- the call may panic.
- OpenStream(streamID uint32, options OpenStreamOptions)
-
- // CloseStream closes a stream in the write scheduler. Any frames queued on
- // this stream should be discarded. It is illegal to call this on a stream
- // that is not open -- the call may panic.
- CloseStream(streamID uint32)
-
- // AdjustStream adjusts the priority of the given stream. This may be called
- // on a stream that has not yet been opened or has been closed. Note that
- // RFC 7540 allows PRIORITY frames to be sent on streams in any state. See:
- // https://tools.ietf.org/html/rfc7540#section-5.1
- AdjustStream(streamID uint32, priority PriorityParam)
-
- // Push queues a frame in the scheduler. In most cases, this will not be
- // called with wr.StreamID()!=0 unless that stream is currently open. The one
- // exception is RST_STREAM frames, which may be sent on idle or closed streams.
- Push(wr FrameWriteRequest)
-
- // Pop dequeues the next frame to write. Returns false if no frames can
- // be written. Frames with a given wr.StreamID() are Pop'd in the same
- // order they are Push'd, except RST_STREAM frames. No frames should be
- // discarded except by CloseStream.
- Pop() (wr FrameWriteRequest, ok bool)
-}
-
-// OpenStreamOptions specifies extra options for WriteScheduler.OpenStream.
-//
-// Deprecated: User-provided write schedulers are deprecated.
-type OpenStreamOptions struct {
- // PusherID is zero if the stream was initiated by the client. Otherwise,
- // PusherID names the stream that pushed the newly opened stream.
- PusherID uint32
- // priority is used to set the priority of the newly opened stream.
- priority PriorityParam
-}
-
// FrameWriteRequest is a request to write a frame.
//
// Deprecated: User-provided write schedulers are deprecated.
@@ -121,10 +79,11 @@ func (wr FrameWriteRequest) Consume(n int32) (FrameWriteRequest, FrameWriteReque
}
// Might need to split after applying limits.
- allowed := wr.stream.flow.available()
- if n < allowed {
- allowed = n
+ avail, ok := wr.stream.flow.available()
+ if !ok {
+ return empty, empty, 0
}
+ allowed := min(n, avail)
if wr.stream.sc.maxFrameSize < allowed {
allowed = wr.stream.sc.maxFrameSize
}
diff --git a/vendor/golang.org/x/net/http2/writesched_common.go b/vendor/golang.org/x/net/http2/writesched_common.go
new file mode 100644
index 000000000..75354c1ff
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/writesched_common.go
@@ -0,0 +1,90 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package http2
+
+// WriteScheduler is the interface implemented by HTTP/2 write schedulers.
+// Methods are never called concurrently.
+//
+// Deprecated: User-provided write schedulers are deprecated.
+type WriteScheduler interface {
+ // OpenStream opens a new stream in the write scheduler.
+ // It is illegal to call this with streamID=0 or with a streamID that is
+ // already open -- the call may panic.
+ OpenStream(streamID uint32, options OpenStreamOptions)
+
+ // CloseStream closes a stream in the write scheduler. Any frames queued on
+ // this stream should be discarded. It is illegal to call this on a stream
+ // that is not open -- the call may panic.
+ CloseStream(streamID uint32)
+
+ // AdjustStream adjusts the priority of the given stream. This may be called
+ // on a stream that has not yet been opened or has been closed. Note that
+ // RFC 7540 allows PRIORITY frames to be sent on streams in any state. See:
+ // https://tools.ietf.org/html/rfc7540#section-5.1
+ AdjustStream(streamID uint32, priority PriorityParam)
+
+ // Push queues a frame in the scheduler. In most cases, this will not be
+ // called with wr.StreamID()!=0 unless that stream is currently open. The one
+ // exception is RST_STREAM frames, which may be sent on idle or closed streams.
+ Push(wr FrameWriteRequest)
+
+ // Pop dequeues the next frame to write. Returns false if no frames can
+ // be written. Frames with a given wr.StreamID() are Pop'd in the same
+ // order they are Push'd, except RST_STREAM frames. No frames should be
+ // discarded except by CloseStream.
+ Pop() (wr FrameWriteRequest, ok bool)
+}
+
+// OpenStreamOptions specifies extra options for WriteScheduler.OpenStream.
+//
+// Deprecated: User-provided write schedulers are deprecated.
+type OpenStreamOptions struct {
+ // PusherID is zero if the stream was initiated by the client. Otherwise,
+ // PusherID names the stream that pushed the newly opened stream.
+ PusherID uint32
+ // priority is used to set the priority of the newly opened stream.
+ priority PriorityParam
+}
+
+// PriorityWriteSchedulerConfig configures a priorityWriteScheduler.
+//
+// Deprecated: User-provided write schedulers are deprecated.
+type PriorityWriteSchedulerConfig struct {
+ // MaxClosedNodesInTree controls the maximum number of closed streams to
+ // retain in the priority tree. Setting this to zero saves a small amount
+ // of memory at the cost of performance.
+ //
+ // See RFC 7540, Section 5.3.4:
+ // "It is possible for a stream to become closed while prioritization
+ // information ... is in transit. ... This potentially creates suboptimal
+ // prioritization, since the stream could be given a priority that is
+ // different from what is intended. To avoid these problems, an endpoint
+ // SHOULD retain stream prioritization state for a period after streams
+ // become closed. The longer state is retained, the lower the chance that
+ // streams are assigned incorrect or default priority values."
+ MaxClosedNodesInTree int
+
+ // MaxIdleNodesInTree controls the maximum number of idle streams to
+ // retain in the priority tree. Setting this to zero saves a small amount
+ // of memory at the cost of performance.
+ //
+ // See RFC 7540, Section 5.3.4:
+ // Similarly, streams that are in the "idle" state can be assigned
+ // priority or become a parent of other streams. This allows for the
+ // creation of a grouping node in the dependency tree, which enables
+ // more flexible expressions of priority. Idle streams begin with a
+ // default priority (Section 5.3.5).
+ MaxIdleNodesInTree int
+
+ // ThrottleOutOfOrderWrites enables write throttling to help ensure that
+ // data is delivered in priority order. This works around a race where
+ // stream B depends on stream A and both streams are about to call Write
+ // to queue DATA frames. If B wins the race, a naive scheduler would eagerly
+ // write as much data from B as possible, but this is suboptimal because A
+ // is a higher-priority stream. With throttling enabled, we write a small
+ // amount of data from B to minimize the amount of bandwidth that B can
+ // steal from A.
+ ThrottleOutOfOrderWrites bool
+}
diff --git a/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go b/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go
index c3d3e9bed..10e67f7ce 100644
--- a/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go
+++ b/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
package http2
import (
@@ -13,47 +15,6 @@ import (
// RFC 7540, Section 5.3.5: the default weight is 16.
const priorityDefaultWeightRFC7540 = 15 // 16 = 15 + 1
-// PriorityWriteSchedulerConfig configures a priorityWriteScheduler.
-//
-// Deprecated: User-provided write schedulers are deprecated.
-type PriorityWriteSchedulerConfig struct {
- // MaxClosedNodesInTree controls the maximum number of closed streams to
- // retain in the priority tree. Setting this to zero saves a small amount
- // of memory at the cost of performance.
- //
- // See RFC 7540, Section 5.3.4:
- // "It is possible for a stream to become closed while prioritization
- // information ... is in transit. ... This potentially creates suboptimal
- // prioritization, since the stream could be given a priority that is
- // different from what is intended. To avoid these problems, an endpoint
- // SHOULD retain stream prioritization state for a period after streams
- // become closed. The longer state is retained, the lower the chance that
- // streams are assigned incorrect or default priority values."
- MaxClosedNodesInTree int
-
- // MaxIdleNodesInTree controls the maximum number of idle streams to
- // retain in the priority tree. Setting this to zero saves a small amount
- // of memory at the cost of performance.
- //
- // See RFC 7540, Section 5.3.4:
- // Similarly, streams that are in the "idle" state can be assigned
- // priority or become a parent of other streams. This allows for the
- // creation of a grouping node in the dependency tree, which enables
- // more flexible expressions of priority. Idle streams begin with a
- // default priority (Section 5.3.5).
- MaxIdleNodesInTree int
-
- // ThrottleOutOfOrderWrites enables write throttling to help ensure that
- // data is delivered in priority order. This works around a race where
- // stream B depends on stream A and both streams are about to call Write
- // to queue DATA frames. If B wins the race, a naive scheduler would eagerly
- // write as much data from B as possible, but this is suboptimal because A
- // is a higher-priority stream. With throttling enabled, we write a small
- // amount of data from B to minimize the amount of bandwidth that B can
- // steal from A.
- ThrottleOutOfOrderWrites bool
-}
-
// NewPriorityWriteScheduler constructs a WriteScheduler that schedules
// frames by following HTTP/2 priorities as described in RFC 7540 Section 5.3.
// If cfg is nil, default options are used.
diff --git a/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go b/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go
index dfbfc1eb3..83c370822 100644
--- a/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go
+++ b/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
package http2
import (
diff --git a/vendor/golang.org/x/net/http2/writesched_random.go b/vendor/golang.org/x/net/http2/writesched_random.go
index d5d4e2214..5c04eb6f6 100644
--- a/vendor/golang.org/x/net/http2/writesched_random.go
+++ b/vendor/golang.org/x/net/http2/writesched_random.go
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
package http2
import "math"
diff --git a/vendor/golang.org/x/net/http2/writesched_roundrobin.go b/vendor/golang.org/x/net/http2/writesched_roundrobin.go
index 737cff9ec..4897cd65b 100644
--- a/vendor/golang.org/x/net/http2/writesched_roundrobin.go
+++ b/vendor/golang.org/x/net/http2/writesched_roundrobin.go
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !(go1.27 && !http2legacy)
+
package http2
import (
diff --git a/vendor/golang.org/x/net/idna/go118.go b/vendor/golang.org/x/net/idna/go118.go
deleted file mode 100644
index 712f1ad83..000000000
--- a/vendor/golang.org/x/net/idna/go118.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build go1.18
-
-package idna
-
-// Transitional processing is disabled by default in Go 1.18.
-// https://golang.org/issue/47510
-const transitionalLookup = false
diff --git a/vendor/golang.org/x/net/idna/idna10.0.0.go b/vendor/golang.org/x/net/idna/idna.go
similarity index 80%
rename from vendor/golang.org/x/net/idna/idna10.0.0.go
rename to vendor/golang.org/x/net/idna/idna.go
index 7b3717884..e2f28fed4 100644
--- a/vendor/golang.org/x/net/idna/idna10.0.0.go
+++ b/vendor/golang.org/x/net/idna/idna.go
@@ -4,8 +4,6 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build go1.10
-
// Package idna implements IDNA2008 using the compatibility processing
// defined by UTS (Unicode Technical Standard) #46, which defines a standard to
// deal with the transition from IDNA2003.
@@ -20,6 +18,7 @@ package idna // import "golang.org/x/net/idna"
import (
"fmt"
"strings"
+ "unicode"
"unicode/utf8"
"golang.org/x/text/secure/bidirule"
@@ -27,6 +26,8 @@ import (
"golang.org/x/text/unicode/norm"
)
+const unicode16 = unicode.Version >= "16.0.0"
+
// NOTE: Unlike common practice in Go APIs, the functions will return a
// sanitized domain name in case of errors. Browsers sometimes use a partially
// evaluated string as lookup.
@@ -101,6 +102,11 @@ func ValidateLabels(enable bool) Option {
}
}
+// validateLabels reports whether the ValidateLabels option is enabled.
+func (p *Profile) validateLabels() bool {
+ return p.fromPuny != nil
+}
+
// CheckHyphens sets whether to check for correct use of hyphens ('-') in
// labels. Most web browsers do not have this option set, since labels such as
// "r3---sn-apo3qvuoxuxbt-j5pe" are in common use.
@@ -263,6 +269,10 @@ func (p *Profile) String() string {
return s
}
+// Transitional processing is disabled by default as of Go 1.18.
+// https://golang.org/issue/47510
+const transitionalLookup = false
+
var (
// Punycode is a Profile that does raw punycode processing with a minimum
// of validation.
@@ -324,15 +334,30 @@ func (e labelError) Error() string {
return fmt.Sprintf("idna: invalid label %q", e.label)
}
-type runeError rune
+type runeError struct {
+ r rune
+ code_ string
+}
-func (e runeError) code() string { return "P1" }
+func (e runeError) code() string { return e.code_ }
func (e runeError) Error() string {
- return fmt.Sprintf("idna: disallowed rune %U", e)
+ return fmt.Sprintf("idna: disallowed rune %U", e.r)
}
-// process implements the algorithm described in section 4 of UTS #46,
-// see https://www.unicode.org/reports/tr46.
+// code16 returns old for Unicode < 16, new for Unicode >= 16.
+func code16(old, new string) string {
+ if unicode16 {
+ return new
+ }
+ return old
+}
+
+// process10 implements the algorithm described in section 4 of UTS #46.
+// It implements both the Unicode 10 algorithm
+// (https://www.unicode.org/reports/tr46/tr46-19.html)
+// and the Unicode 16 algorithm
+// (https://www.unicode.org/reports/tr46/tr46-35.html)
+// depending on unicode16, which in turn depends on unicode.Version.
func (p *Profile) process(s string, toASCII bool) (string, error) {
var err error
var isBidi bool
@@ -347,8 +372,12 @@ func (p *Profile) process(s string, toASCII bool) (string, error) {
// TODO: allow for a quick check of the tables data.
// It seems like we should only create this error on ToASCII, but the
// UTS 46 conformance tests suggests we should always check this.
+ labelCode := "X4_2"
+ if !unicode16 || toASCII {
+ labelCode = "A4"
+ }
if err == nil && p.verifyDNSLength && s == "" {
- err = &labelError{s, "A4"}
+ err = labelError{s, labelCode}
}
labels := labelIter{orig: s}
for ; !labels.done(); labels.next() {
@@ -357,12 +386,13 @@ func (p *Profile) process(s string, toASCII bool) (string, error) {
// Empty labels are not okay. The label iterator skips the last
// label if it is empty.
if err == nil && p.verifyDNSLength {
- err = &labelError{s, "A4"}
+ err = labelError{s, labelCode}
}
continue
}
if strings.HasPrefix(label, acePrefix) {
- u, err2 := decode(label[len(acePrefix):])
+ enc := label[len(acePrefix):]
+ u, err2 := decode(enc)
if err2 != nil {
if err == nil {
err = err2
@@ -370,6 +400,13 @@ func (p *Profile) process(s string, toASCII bool) (string, error) {
// Spec says keep the old label.
continue
}
+ if err == nil && len(u) > 0 && isASCII(u) {
+ // UTS 43 pre-revision 33 doesn't classify a xn-- label
+ // which contains only ASCII characters as an error,
+ // but that's a specification bug and a security issue.
+ // Always return an error in this case.
+ err = punyError(enc)
+ }
isBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight
labels.set(u)
if err == nil && p.fromPuny != nil {
@@ -379,16 +416,16 @@ func (p *Profile) process(s string, toASCII bool) (string, error) {
// This should be called on NonTransitional, according to the
// spec, but that currently does not have any effect. Use the
// original profile to preserve options.
- err = p.validateLabel(u)
+ err = p.validateLabel(u, labelCode)
}
} else if err == nil {
- err = p.validateLabel(label)
+ err = p.validateLabel(label, labelCode)
}
}
if isBidi && p.bidirule != nil && err == nil {
for labels.reset(); !labels.done(); labels.next() {
if !p.bidirule(labels.label()) {
- err = &labelError{s, "B"}
+ err = labelError{s, "B"}
break
}
}
@@ -406,24 +443,36 @@ func (p *Profile) process(s string, toASCII bool) (string, error) {
}
n := len(label)
if p.verifyDNSLength && err == nil && (n == 0 || n > 63) {
- err = &labelError{label, "A4"}
+ err = labelError{label, labelCode}
}
}
}
s = labels.result()
if toASCII && p.verifyDNSLength && err == nil {
+ if unicode16 && strings.HasSuffix(s, ".") {
+ err = labelError{s, labelCode}
+ }
// Compute the length of the domain name minus the root label and its dot.
n := len(s)
if n > 0 && s[n-1] == '.' {
n--
}
if len(s) < 1 || n > 253 {
- err = &labelError{s, "A4"}
+ err = labelError{s, labelCode}
}
}
return s, err
}
+func isASCII(s string) bool {
+ for _, c := range []byte(s) {
+ if c >= 0x80 {
+ return false
+ }
+ }
+ return true
+}
+
func normalize(p *Profile, s string) (mapped string, isBidi bool, err error) {
// TODO: consider first doing a quick check to see if any of these checks
// need to be done. This will make it slower in the general case, but
@@ -436,12 +485,12 @@ func normalize(p *Profile, s string) (mapped string, isBidi bool, err error) {
func validateRegistration(p *Profile, s string) (idem string, bidi bool, err error) {
// TODO: filter need for normalization in loop below.
if !norm.NFC.IsNormalString(s) {
- return s, false, &labelError{s, "V1"}
+ return s, false, labelError{s, "V1"}
}
for i := 0; i < len(s); {
v, sz := trie.lookupString(s[i:])
if sz == 0 {
- return s, bidi, runeError(utf8.RuneError)
+ return s, bidi, runeError{utf8.RuneError, "P1"}
}
bidi = bidi || info(v).isBidi(s[i:])
// Copy bytes not copied so far.
@@ -449,9 +498,12 @@ func validateRegistration(p *Profile, s string) (idem string, bidi bool, err err
// TODO: handle the NV8 defined in the Unicode idna data set to allow
// for strict conformance to IDNA2008.
case valid, deviation:
+ if sz == 1 && p.useSTD3Rules && !allowedSTD3(rune(s[i])) {
+ return s, bidi, runeError{rune(s[i]), "P1"}
+ }
case disallowed, mapped, unknown, ignored:
r, _ := utf8.DecodeRuneInString(s[i:])
- return s, bidi, runeError(r)
+ return s, bidi, runeError{r, "P1"}
}
i += sz
}
@@ -489,7 +541,7 @@ func validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) {
b = append(b, "\ufffd"...)
k = len(s)
if err == nil {
- err = runeError(utf8.RuneError)
+ err = runeError{utf8.RuneError, "P1"}
}
break
}
@@ -502,14 +554,26 @@ func validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) {
case valid:
continue
case disallowed:
- if err == nil {
+ // Unicode 16 delays the error until validateLabels.
+ // Unicode 10 gave an error now.
+ if !unicode16 && err == nil {
r, _ := utf8.DecodeRuneInString(s[start:])
- err = runeError(r)
+ err = runeError{r, "P1"}
}
continue
- case mapped, deviation:
+ case deviation:
+ if unicode16 && !p.transitional {
+ break
+ }
+ fallthrough
+ case mapped:
b = append(b, s[k:start]...)
- b = info(v).appendMapping(b, s[start:i])
+ // Unicode 16 requires a special case to handle ẞ -> ss in transitional mode.
+ if unicode16 && p.transitional && s[start:start+sz] == "ẞ" {
+ b = append(b, "ss"...)
+ } else {
+ b = info(v).appendMapping(b, s[start:i])
+ }
case ignored:
b = append(b, s[k:start]...)
// drop the rune
@@ -600,13 +664,13 @@ const acePrefix = "xn--"
func (p *Profile) simplify(cat category) category {
switch cat {
- case disallowedSTD3Mapped:
+ case disallowedSTD3Mapped: // only happens for pre-Unicode 16
if p.useSTD3Rules {
cat = disallowed
} else {
cat = mapped
}
- case disallowedSTD3Valid:
+ case disallowedSTD3Valid: // only happens for pre-Unicode 16
if p.useSTD3Rules {
cat = disallowed
} else {
@@ -625,17 +689,18 @@ func (p *Profile) simplify(cat category) category {
func validateFromPunycode(p *Profile, s string) error {
if !norm.NFC.IsNormalString(s) {
- return &labelError{s, "V1"}
+ return labelError{s, "V1"}
}
// TODO: detect whether string may have to be normalized in the following
// loop.
for i := 0; i < len(s); {
v, sz := trie.lookupString(s[i:])
if sz == 0 {
- return runeError(utf8.RuneError)
+ return runeError{utf8.RuneError, "P1"}
}
- if c := p.simplify(info(v).category()); c != valid && c != deviation {
- return &labelError{s, "V6"}
+ cat := info(v).category()
+ if c := p.simplify(cat); c != valid && c != deviation {
+ return labelError{s, code16("V6", "V7")}
}
i += sz
}
@@ -704,23 +769,51 @@ var joinStates = [][numJoinTypes]joinState{
},
}
+// allowedSTD3 reports whether r is a rune that can appear in a domain name
+// according to STD3. We allow all non-ASCII runes and then letters, digits, hyphens.
+// We also add dot so that this can be run against the whole name and not just
+// a single name element (label). The surrounding code checks dots well enough.
+func allowedSTD3(r rune) bool {
+ return r >= 0x80 || 'a' <= r && r <= 'z' || '0' <= r && r <= '9' || r == '-' || r == '.'
+}
+
// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are
// already implicitly satisfied by the overall implementation.
-func (p *Profile) validateLabel(s string) (err error) {
+func (p *Profile) validateLabel(s string, labelCode string) (err error) {
if s == "" {
if p.verifyDNSLength {
- return &labelError{s, "A4"}
+ return labelError{s, labelCode}
}
return nil
}
if p.checkHyphens {
if len(s) > 4 && s[2] == '-' && s[3] == '-' {
- return &labelError{s, "V2"}
+ return labelError{s, "V2"}
}
if s[0] == '-' || s[len(s)-1] == '-' {
- return &labelError{s, "V3"}
+ return labelError{s, "V3"}
}
}
+
+ // Unicode 16's TR 46 delays the rune validity checks until after the label is decoded.
+ // (validateAndMap did not reject them earlier.)
+ if unicode16 && p.validateLabels() {
+ for i := 0; i < len(s); {
+ v, sz := trie.lookupString(s[i:])
+ if sz == 0 {
+ return runeError{utf8.RuneError, "P1"}
+ }
+ cat := info(v).category()
+ if c := p.simplify(cat); c != valid && (!p.transitional || c != deviation) {
+ return labelError{s, "V7"}
+ }
+ if sz == 1 && p.useSTD3Rules && !allowedSTD3(rune(s[i])) {
+ return runeError{rune(s[i]), "U1"}
+ }
+ i += sz
+ }
+ }
+
if !p.checkJoiners {
return nil
}
@@ -729,7 +822,7 @@ func (p *Profile) validateLabel(s string) (err error) {
v, sz := trie.lookupString(s)
x := info(v)
if x.isModifier() {
- return &labelError{s, "V5"}
+ return labelError{s, code16("V5", "V6")}
}
// Quickly return in the absence of zero-width (non) joiners.
if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 {
@@ -754,8 +847,9 @@ func (p *Profile) validateLabel(s string) (err error) {
x = info(v)
}
if st == stateFAIL || st == stateAfter {
- return &labelError{s, "C"}
+ return labelError{s, "C"}
}
+
return nil
}
@@ -767,3 +861,24 @@ func ascii(s string) bool {
}
return true
}
+
+// appendMapping appends the mapping for the respective rune. isMapped must be
+// true. A mapping is a categorization of a rune as defined in UTS #46.
+func (c info) appendMapping(b []byte, s string) []byte {
+ index := int(c >> indexShift)
+ if c&xorBit == 0 {
+ p := index
+ return append(b, mappings[mappingIndex[p]:mappingIndex[p+1]]...)
+ }
+ b = append(b, s...)
+ if c&inlineXOR == inlineXOR {
+ // TODO: support and handle two-byte inline masks
+ b[len(b)-1] ^= byte(index)
+ } else {
+ for p := len(b) - int(xorData[index]); p < len(b); p++ {
+ index++
+ b[p] ^= xorData[index]
+ }
+ }
+ return b
+}
diff --git a/vendor/golang.org/x/net/idna/idna9.0.0.go b/vendor/golang.org/x/net/idna/idna9.0.0.go
deleted file mode 100644
index cc6a892a4..000000000
--- a/vendor/golang.org/x/net/idna/idna9.0.0.go
+++ /dev/null
@@ -1,717 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !go1.10
-
-// Package idna implements IDNA2008 using the compatibility processing
-// defined by UTS (Unicode Technical Standard) #46, which defines a standard to
-// deal with the transition from IDNA2003.
-//
-// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC
-// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
-// UTS #46 is defined in https://www.unicode.org/reports/tr46.
-// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the
-// differences between these two standards.
-package idna // import "golang.org/x/net/idna"
-
-import (
- "fmt"
- "strings"
- "unicode/utf8"
-
- "golang.org/x/text/secure/bidirule"
- "golang.org/x/text/unicode/norm"
-)
-
-// NOTE: Unlike common practice in Go APIs, the functions will return a
-// sanitized domain name in case of errors. Browsers sometimes use a partially
-// evaluated string as lookup.
-// TODO: the current error handling is, in my opinion, the least opinionated.
-// Other strategies are also viable, though:
-// Option 1) Return an empty string in case of error, but allow the user to
-// specify explicitly which errors to ignore.
-// Option 2) Return the partially evaluated string if it is itself a valid
-// string, otherwise return the empty string in case of error.
-// Option 3) Option 1 and 2.
-// Option 4) Always return an empty string for now and implement Option 1 as
-// needed, and document that the return string may not be empty in case of
-// error in the future.
-// I think Option 1 is best, but it is quite opinionated.
-
-// ToASCII is a wrapper for Punycode.ToASCII.
-func ToASCII(s string) (string, error) {
- return Punycode.process(s, true)
-}
-
-// ToUnicode is a wrapper for Punycode.ToUnicode.
-func ToUnicode(s string) (string, error) {
- return Punycode.process(s, false)
-}
-
-// An Option configures a Profile at creation time.
-type Option func(*options)
-
-// Transitional sets a Profile to use the Transitional mapping as defined in UTS
-// #46. This will cause, for example, "ß" to be mapped to "ss". Using the
-// transitional mapping provides a compromise between IDNA2003 and IDNA2008
-// compatibility. It is used by some browsers when resolving domain names. This
-// option is only meaningful if combined with MapForLookup.
-func Transitional(transitional bool) Option {
- return func(o *options) { o.transitional = transitional }
-}
-
-// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts
-// are longer than allowed by the RFC.
-//
-// This option corresponds to the VerifyDnsLength flag in UTS #46.
-func VerifyDNSLength(verify bool) Option {
- return func(o *options) { o.verifyDNSLength = verify }
-}
-
-// RemoveLeadingDots removes leading label separators. Leading runes that map to
-// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well.
-func RemoveLeadingDots(remove bool) Option {
- return func(o *options) { o.removeLeadingDots = remove }
-}
-
-// ValidateLabels sets whether to check the mandatory label validation criteria
-// as defined in Section 5.4 of RFC 5891. This includes testing for correct use
-// of hyphens ('-'), normalization, validity of runes, and the context rules.
-// In particular, ValidateLabels also sets the CheckHyphens and CheckJoiners flags
-// in UTS #46.
-func ValidateLabels(enable bool) Option {
- return func(o *options) {
- // Don't override existing mappings, but set one that at least checks
- // normalization if it is not set.
- if o.mapping == nil && enable {
- o.mapping = normalize
- }
- o.trie = trie
- o.checkJoiners = enable
- o.checkHyphens = enable
- if enable {
- o.fromPuny = validateFromPunycode
- } else {
- o.fromPuny = nil
- }
- }
-}
-
-// CheckHyphens sets whether to check for correct use of hyphens ('-') in
-// labels. Most web browsers do not have this option set, since labels such as
-// "r3---sn-apo3qvuoxuxbt-j5pe" are in common use.
-//
-// This option corresponds to the CheckHyphens flag in UTS #46.
-func CheckHyphens(enable bool) Option {
- return func(o *options) { o.checkHyphens = enable }
-}
-
-// CheckJoiners sets whether to check the ContextJ rules as defined in Appendix
-// A of RFC 5892, concerning the use of joiner runes.
-//
-// This option corresponds to the CheckJoiners flag in UTS #46.
-func CheckJoiners(enable bool) Option {
- return func(o *options) {
- o.trie = trie
- o.checkJoiners = enable
- }
-}
-
-// StrictDomainName limits the set of permissible ASCII characters to those
-// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the
-// hyphen). This is set by default for MapForLookup and ValidateForRegistration,
-// but is only useful if ValidateLabels is set.
-//
-// This option is useful, for instance, for browsers that allow characters
-// outside this range, for example a '_' (U+005F LOW LINE). See
-// http://www.rfc-editor.org/std/std3.txt for more details.
-//
-// This option corresponds to the UseSTD3ASCIIRules flag in UTS #46.
-func StrictDomainName(use bool) Option {
- return func(o *options) { o.useSTD3Rules = use }
-}
-
-// NOTE: the following options pull in tables. The tables should not be linked
-// in as long as the options are not used.
-
-// BidiRule enables the Bidi rule as defined in RFC 5893. Any application
-// that relies on proper validation of labels should include this rule.
-//
-// This option corresponds to the CheckBidi flag in UTS #46.
-func BidiRule() Option {
- return func(o *options) { o.bidirule = bidirule.ValidString }
-}
-
-// ValidateForRegistration sets validation options to verify that a given IDN is
-// properly formatted for registration as defined by Section 4 of RFC 5891.
-func ValidateForRegistration() Option {
- return func(o *options) {
- o.mapping = validateRegistration
- StrictDomainName(true)(o)
- ValidateLabels(true)(o)
- VerifyDNSLength(true)(o)
- BidiRule()(o)
- }
-}
-
-// MapForLookup sets validation and mapping options such that a given IDN is
-// transformed for domain name lookup according to the requirements set out in
-// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894,
-// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option
-// to add this check.
-//
-// The mappings include normalization and mapping case, width and other
-// compatibility mappings.
-func MapForLookup() Option {
- return func(o *options) {
- o.mapping = validateAndMap
- StrictDomainName(true)(o)
- ValidateLabels(true)(o)
- RemoveLeadingDots(true)(o)
- }
-}
-
-type options struct {
- transitional bool
- useSTD3Rules bool
- checkHyphens bool
- checkJoiners bool
- verifyDNSLength bool
- removeLeadingDots bool
-
- trie *idnaTrie
-
- // fromPuny calls validation rules when converting A-labels to U-labels.
- fromPuny func(p *Profile, s string) error
-
- // mapping implements a validation and mapping step as defined in RFC 5895
- // or UTS 46, tailored to, for example, domain registration or lookup.
- mapping func(p *Profile, s string) (string, error)
-
- // bidirule, if specified, checks whether s conforms to the Bidi Rule
- // defined in RFC 5893.
- bidirule func(s string) bool
-}
-
-// A Profile defines the configuration of a IDNA mapper.
-type Profile struct {
- options
-}
-
-func apply(o *options, opts []Option) {
- for _, f := range opts {
- f(o)
- }
-}
-
-// New creates a new Profile.
-//
-// With no options, the returned Profile is the most permissive and equals the
-// Punycode Profile. Options can be passed to further restrict the Profile. The
-// MapForLookup and ValidateForRegistration options set a collection of options,
-// for lookup and registration purposes respectively, which can be tailored by
-// adding more fine-grained options, where later options override earlier
-// options.
-func New(o ...Option) *Profile {
- p := &Profile{}
- apply(&p.options, o)
- return p
-}
-
-// ToASCII converts a domain or domain label to its ASCII form. For example,
-// ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and
-// ToASCII("golang") is "golang". If an error is encountered it will return
-// an error and a (partially) processed result.
-func (p *Profile) ToASCII(s string) (string, error) {
- return p.process(s, true)
-}
-
-// ToUnicode converts a domain or domain label to its Unicode form. For example,
-// ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and
-// ToUnicode("golang") is "golang". If an error is encountered it will return
-// an error and a (partially) processed result.
-func (p *Profile) ToUnicode(s string) (string, error) {
- pp := *p
- pp.transitional = false
- return pp.process(s, false)
-}
-
-// String reports a string with a description of the profile for debugging
-// purposes. The string format may change with different versions.
-func (p *Profile) String() string {
- s := ""
- if p.transitional {
- s = "Transitional"
- } else {
- s = "NonTransitional"
- }
- if p.useSTD3Rules {
- s += ":UseSTD3Rules"
- }
- if p.checkHyphens {
- s += ":CheckHyphens"
- }
- if p.checkJoiners {
- s += ":CheckJoiners"
- }
- if p.verifyDNSLength {
- s += ":VerifyDNSLength"
- }
- return s
-}
-
-var (
- // Punycode is a Profile that does raw punycode processing with a minimum
- // of validation.
- Punycode *Profile = punycode
-
- // Lookup is the recommended profile for looking up domain names, according
- // to Section 5 of RFC 5891. The exact configuration of this profile may
- // change over time.
- Lookup *Profile = lookup
-
- // Display is the recommended profile for displaying domain names.
- // The configuration of this profile may change over time.
- Display *Profile = display
-
- // Registration is the recommended profile for checking whether a given
- // IDN is valid for registration, according to Section 4 of RFC 5891.
- Registration *Profile = registration
-
- punycode = &Profile{}
- lookup = &Profile{options{
- transitional: true,
- removeLeadingDots: true,
- useSTD3Rules: true,
- checkHyphens: true,
- checkJoiners: true,
- trie: trie,
- fromPuny: validateFromPunycode,
- mapping: validateAndMap,
- bidirule: bidirule.ValidString,
- }}
- display = &Profile{options{
- useSTD3Rules: true,
- removeLeadingDots: true,
- checkHyphens: true,
- checkJoiners: true,
- trie: trie,
- fromPuny: validateFromPunycode,
- mapping: validateAndMap,
- bidirule: bidirule.ValidString,
- }}
- registration = &Profile{options{
- useSTD3Rules: true,
- verifyDNSLength: true,
- checkHyphens: true,
- checkJoiners: true,
- trie: trie,
- fromPuny: validateFromPunycode,
- mapping: validateRegistration,
- bidirule: bidirule.ValidString,
- }}
-
- // TODO: profiles
- // Register: recommended for approving domain names: don't do any mappings
- // but rather reject on invalid input. Bundle or block deviation characters.
-)
-
-type labelError struct{ label, code_ string }
-
-func (e labelError) code() string { return e.code_ }
-func (e labelError) Error() string {
- return fmt.Sprintf("idna: invalid label %q", e.label)
-}
-
-type runeError rune
-
-func (e runeError) code() string { return "P1" }
-func (e runeError) Error() string {
- return fmt.Sprintf("idna: disallowed rune %U", e)
-}
-
-// process implements the algorithm described in section 4 of UTS #46,
-// see https://www.unicode.org/reports/tr46.
-func (p *Profile) process(s string, toASCII bool) (string, error) {
- var err error
- if p.mapping != nil {
- s, err = p.mapping(p, s)
- }
- // Remove leading empty labels.
- if p.removeLeadingDots {
- for ; len(s) > 0 && s[0] == '.'; s = s[1:] {
- }
- }
- // It seems like we should only create this error on ToASCII, but the
- // UTS 46 conformance tests suggests we should always check this.
- if err == nil && p.verifyDNSLength && s == "" {
- err = &labelError{s, "A4"}
- }
- labels := labelIter{orig: s}
- for ; !labels.done(); labels.next() {
- label := labels.label()
- if label == "" {
- // Empty labels are not okay. The label iterator skips the last
- // label if it is empty.
- if err == nil && p.verifyDNSLength {
- err = &labelError{s, "A4"}
- }
- continue
- }
- if strings.HasPrefix(label, acePrefix) {
- u, err2 := decode(label[len(acePrefix):])
- if err2 != nil {
- if err == nil {
- err = err2
- }
- // Spec says keep the old label.
- continue
- }
- labels.set(u)
- if err == nil && p.fromPuny != nil {
- err = p.fromPuny(p, u)
- }
- if err == nil {
- // This should be called on NonTransitional, according to the
- // spec, but that currently does not have any effect. Use the
- // original profile to preserve options.
- err = p.validateLabel(u)
- }
- } else if err == nil {
- err = p.validateLabel(label)
- }
- }
- if toASCII {
- for labels.reset(); !labels.done(); labels.next() {
- label := labels.label()
- if !ascii(label) {
- a, err2 := encode(acePrefix, label)
- if err == nil {
- err = err2
- }
- label = a
- labels.set(a)
- }
- n := len(label)
- if p.verifyDNSLength && err == nil && (n == 0 || n > 63) {
- err = &labelError{label, "A4"}
- }
- }
- }
- s = labels.result()
- if toASCII && p.verifyDNSLength && err == nil {
- // Compute the length of the domain name minus the root label and its dot.
- n := len(s)
- if n > 0 && s[n-1] == '.' {
- n--
- }
- if len(s) < 1 || n > 253 {
- err = &labelError{s, "A4"}
- }
- }
- return s, err
-}
-
-func normalize(p *Profile, s string) (string, error) {
- return norm.NFC.String(s), nil
-}
-
-func validateRegistration(p *Profile, s string) (string, error) {
- if !norm.NFC.IsNormalString(s) {
- return s, &labelError{s, "V1"}
- }
- for i := 0; i < len(s); {
- v, sz := trie.lookupString(s[i:])
- // Copy bytes not copied so far.
- switch p.simplify(info(v).category()) {
- // TODO: handle the NV8 defined in the Unicode idna data set to allow
- // for strict conformance to IDNA2008.
- case valid, deviation:
- case disallowed, mapped, unknown, ignored:
- r, _ := utf8.DecodeRuneInString(s[i:])
- return s, runeError(r)
- }
- i += sz
- }
- return s, nil
-}
-
-func validateAndMap(p *Profile, s string) (string, error) {
- var (
- err error
- b []byte
- k int
- )
- for i := 0; i < len(s); {
- v, sz := trie.lookupString(s[i:])
- start := i
- i += sz
- // Copy bytes not copied so far.
- switch p.simplify(info(v).category()) {
- case valid:
- continue
- case disallowed:
- if err == nil {
- r, _ := utf8.DecodeRuneInString(s[start:])
- err = runeError(r)
- }
- continue
- case mapped, deviation:
- b = append(b, s[k:start]...)
- b = info(v).appendMapping(b, s[start:i])
- case ignored:
- b = append(b, s[k:start]...)
- // drop the rune
- case unknown:
- b = append(b, s[k:start]...)
- b = append(b, "\ufffd"...)
- }
- k = i
- }
- if k == 0 {
- // No changes so far.
- s = norm.NFC.String(s)
- } else {
- b = append(b, s[k:]...)
- if norm.NFC.QuickSpan(b) != len(b) {
- b = norm.NFC.Bytes(b)
- }
- // TODO: the punycode converters require strings as input.
- s = string(b)
- }
- return s, err
-}
-
-// A labelIter allows iterating over domain name labels.
-type labelIter struct {
- orig string
- slice []string
- curStart int
- curEnd int
- i int
-}
-
-func (l *labelIter) reset() {
- l.curStart = 0
- l.curEnd = 0
- l.i = 0
-}
-
-func (l *labelIter) done() bool {
- return l.curStart >= len(l.orig)
-}
-
-func (l *labelIter) result() string {
- if l.slice != nil {
- return strings.Join(l.slice, ".")
- }
- return l.orig
-}
-
-func (l *labelIter) label() string {
- if l.slice != nil {
- return l.slice[l.i]
- }
- p := strings.IndexByte(l.orig[l.curStart:], '.')
- l.curEnd = l.curStart + p
- if p == -1 {
- l.curEnd = len(l.orig)
- }
- return l.orig[l.curStart:l.curEnd]
-}
-
-// next sets the value to the next label. It skips the last label if it is empty.
-func (l *labelIter) next() {
- l.i++
- if l.slice != nil {
- if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" {
- l.curStart = len(l.orig)
- }
- } else {
- l.curStart = l.curEnd + 1
- if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' {
- l.curStart = len(l.orig)
- }
- }
-}
-
-func (l *labelIter) set(s string) {
- if l.slice == nil {
- l.slice = strings.Split(l.orig, ".")
- }
- l.slice[l.i] = s
-}
-
-// acePrefix is the ASCII Compatible Encoding prefix.
-const acePrefix = "xn--"
-
-func (p *Profile) simplify(cat category) category {
- switch cat {
- case disallowedSTD3Mapped:
- if p.useSTD3Rules {
- cat = disallowed
- } else {
- cat = mapped
- }
- case disallowedSTD3Valid:
- if p.useSTD3Rules {
- cat = disallowed
- } else {
- cat = valid
- }
- case deviation:
- if !p.transitional {
- cat = valid
- }
- case validNV8, validXV8:
- // TODO: handle V2008
- cat = valid
- }
- return cat
-}
-
-func validateFromPunycode(p *Profile, s string) error {
- if !norm.NFC.IsNormalString(s) {
- return &labelError{s, "V1"}
- }
- for i := 0; i < len(s); {
- v, sz := trie.lookupString(s[i:])
- if c := p.simplify(info(v).category()); c != valid && c != deviation {
- return &labelError{s, "V6"}
- }
- i += sz
- }
- return nil
-}
-
-const (
- zwnj = "\u200c"
- zwj = "\u200d"
-)
-
-type joinState int8
-
-const (
- stateStart joinState = iota
- stateVirama
- stateBefore
- stateBeforeVirama
- stateAfter
- stateFAIL
-)
-
-var joinStates = [][numJoinTypes]joinState{
- stateStart: {
- joiningL: stateBefore,
- joiningD: stateBefore,
- joinZWNJ: stateFAIL,
- joinZWJ: stateFAIL,
- joinVirama: stateVirama,
- },
- stateVirama: {
- joiningL: stateBefore,
- joiningD: stateBefore,
- },
- stateBefore: {
- joiningL: stateBefore,
- joiningD: stateBefore,
- joiningT: stateBefore,
- joinZWNJ: stateAfter,
- joinZWJ: stateFAIL,
- joinVirama: stateBeforeVirama,
- },
- stateBeforeVirama: {
- joiningL: stateBefore,
- joiningD: stateBefore,
- joiningT: stateBefore,
- },
- stateAfter: {
- joiningL: stateFAIL,
- joiningD: stateBefore,
- joiningT: stateAfter,
- joiningR: stateStart,
- joinZWNJ: stateFAIL,
- joinZWJ: stateFAIL,
- joinVirama: stateAfter, // no-op as we can't accept joiners here
- },
- stateFAIL: {
- 0: stateFAIL,
- joiningL: stateFAIL,
- joiningD: stateFAIL,
- joiningT: stateFAIL,
- joiningR: stateFAIL,
- joinZWNJ: stateFAIL,
- joinZWJ: stateFAIL,
- joinVirama: stateFAIL,
- },
-}
-
-// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are
-// already implicitly satisfied by the overall implementation.
-func (p *Profile) validateLabel(s string) error {
- if s == "" {
- if p.verifyDNSLength {
- return &labelError{s, "A4"}
- }
- return nil
- }
- if p.bidirule != nil && !p.bidirule(s) {
- return &labelError{s, "B"}
- }
- if p.checkHyphens {
- if len(s) > 4 && s[2] == '-' && s[3] == '-' {
- return &labelError{s, "V2"}
- }
- if s[0] == '-' || s[len(s)-1] == '-' {
- return &labelError{s, "V3"}
- }
- }
- if !p.checkJoiners {
- return nil
- }
- trie := p.trie // p.checkJoiners is only set if trie is set.
- // TODO: merge the use of this in the trie.
- v, sz := trie.lookupString(s)
- x := info(v)
- if x.isModifier() {
- return &labelError{s, "V5"}
- }
- // Quickly return in the absence of zero-width (non) joiners.
- if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 {
- return nil
- }
- st := stateStart
- for i := 0; ; {
- jt := x.joinType()
- if s[i:i+sz] == zwj {
- jt = joinZWJ
- } else if s[i:i+sz] == zwnj {
- jt = joinZWNJ
- }
- st = joinStates[st][jt]
- if x.isViramaModifier() {
- st = joinStates[st][joinVirama]
- }
- if i += sz; i == len(s) {
- break
- }
- v, sz = trie.lookupString(s[i:])
- x = info(v)
- }
- if st == stateFAIL || st == stateAfter {
- return &labelError{s, "C"}
- }
- return nil
-}
-
-func ascii(s string) bool {
- for i := 0; i < len(s); i++ {
- if s[i] >= utf8.RuneSelf {
- return false
- }
- }
- return true
-}
diff --git a/vendor/golang.org/x/net/idna/pre_go118.go b/vendor/golang.org/x/net/idna/pre_go118.go
deleted file mode 100644
index 40e74bb3d..000000000
--- a/vendor/golang.org/x/net/idna/pre_go118.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !go1.18
-
-package idna
-
-const transitionalLookup = true
diff --git a/vendor/golang.org/x/net/idna/punycode.go b/vendor/golang.org/x/net/idna/punycode.go
index e8e3ac11a..73503e452 100644
--- a/vendor/golang.org/x/net/idna/punycode.go
+++ b/vendor/golang.org/x/net/idna/punycode.go
@@ -28,7 +28,7 @@ const (
tmin int32 = 1
)
-func punyError(s string) error { return &labelError{s, "A3"} }
+func punyError(s string) error { return &labelError{s, code16("A3", "P4")} }
// decode decodes a string as specified in section 6.2.
func decode(encoded string) (string, error) {
@@ -108,6 +108,9 @@ func encode(prefix, s string) (string, error) {
delta, n, bias := int32(0), initialN, initialBias
b, remaining := int32(0), int32(0)
for _, r := range s {
+ if unicode16 && r == 0xfffd {
+ return s, &labelError{s, "A3"}
+ }
if r < 0x80 {
b++
output = append(output, byte(r))
diff --git a/vendor/golang.org/x/net/idna/tables10.0.0.go b/vendor/golang.org/x/net/idna/tables10.0.0.go
deleted file mode 100644
index c6c2bf10a..000000000
--- a/vendor/golang.org/x/net/idna/tables10.0.0.go
+++ /dev/null
@@ -1,4559 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-//go:build go1.10 && !go1.13
-
-package idna
-
-// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "10.0.0"
-
-var mappings string = "" + // Size: 8175 bytes
- "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" +
- "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" +
- "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" +
- "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" +
- "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" +
- "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" +
- "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" +
- "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" +
- "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" +
- "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" +
- "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" +
- "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" +
- "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" +
- "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" +
- "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" +
- "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" +
- "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" +
- "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" +
- "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" +
- "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" +
- "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" +
- "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" +
- "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" +
- "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" +
- "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" +
- "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" +
- ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" +
- "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" +
- "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" +
- "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" +
- "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" +
- "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" +
- "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" +
- "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" +
- "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" +
- "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" +
- "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" +
- "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" +
- "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" +
- "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" +
- "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" +
- "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" +
- "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" +
- "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" +
- "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" +
- "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" +
- "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" +
- "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" +
- "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" +
- "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" +
- "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" +
- "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" +
- "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" +
- "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" +
- "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" +
- "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" +
- "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" +
- "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" +
- "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" +
- "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" +
- "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" +
- "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" +
- "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" +
- "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" +
- "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" +
- "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" +
- "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" +
- "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" +
- "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" +
- "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" +
- "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" +
- "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" +
- "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" +
- " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" +
- "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" +
- "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" +
- "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" +
- "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" +
- "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" +
- "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" +
- "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" +
- "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" +
- "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" +
- "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" +
- "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" +
- "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" +
- "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" +
- "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" +
- "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" +
- "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" +
- "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" +
- "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" +
- "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" +
- "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" +
- "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" +
- "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" +
- "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" +
- "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" +
- "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" +
- "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" +
- "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" +
- "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" +
- "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" +
- "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" +
- "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" +
- "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" +
- "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" +
- "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" +
- "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" +
- "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" +
- "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" +
- "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" +
- "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" +
- "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" +
- "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" +
- "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" +
- "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" +
- "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" +
- "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" +
- "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" +
- "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" +
- "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" +
- "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" +
- "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" +
- "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" +
- "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" +
- "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" +
- "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" +
- "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" +
- "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" +
- "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" +
- "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" +
- "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" +
- "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" +
- "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" +
- "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" +
- "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻"
-
-var xorData string = "" + // Size: 4855 bytes
- "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" +
- "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" +
- "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" +
- "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" +
- "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" +
- "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" +
- "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" +
- "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" +
- "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" +
- "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" +
- "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" +
- "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" +
- "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" +
- "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" +
- "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" +
- "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" +
- "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" +
- "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" +
- "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" +
- "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" +
- "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" +
- "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" +
- "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" +
- "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" +
- "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" +
- "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" +
- "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" +
- "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" +
- "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" +
- "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" +
- "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" +
- "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" +
- "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" +
- "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" +
- "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" +
- "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" +
- "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " +
- "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" +
- "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" +
- "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" +
- "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" +
- "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" +
- ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" +
- "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" +
- "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" +
- "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" +
- "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" +
- "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" +
- "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" +
- "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" +
- "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" +
- "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" +
- "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" +
- "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" +
- "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" +
- "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" +
- "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" +
- "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" +
- "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" +
- "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" +
- "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" +
- "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" +
- "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" +
- "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" +
- "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" +
- "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" +
- "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" +
- "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" +
- "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" +
- "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" +
- "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" +
- "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" +
- "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" +
- "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" +
- "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" +
- "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" +
- "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" +
- "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" +
- "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" +
- "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" +
- "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" +
- "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" +
- "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" +
- "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" +
- "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" +
- "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" +
- "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" +
- "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" +
- "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," +
- "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" +
- "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" +
- "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" +
- "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" +
- ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" +
- "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" +
- "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" +
- "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" +
- "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" +
- "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" +
- "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" +
- "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" +
- "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" +
- "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" +
- "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" +
- "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" +
- "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" +
- "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" +
- "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" +
- "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" +
- "\x08\x1a\x0a\x03\x07\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03\x09\x0c" +
- "\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06!3\x03" +
- "\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05\x03\x07" +
- "<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" +
- "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" +
- "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" +
- "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" +
- "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" +
- "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" +
- "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" +
- "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" +
- "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" +
- "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" +
- "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" +
- "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" +
- "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" +
- "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" +
- "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" +
- "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" +
- "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" +
- "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." +
- "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" +
- "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" +
- "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " +
- "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" +
- "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" +
- "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" +
- "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" +
- "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" +
- "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" +
- "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," +
- "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" +
- "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" +
- "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" +
- "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" +
- "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" +
- "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" +
- "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" +
- "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" +
- "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" +
- "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" +
- "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" +
- "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" +
- "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" +
- "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" +
- "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" +
- "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" +
- "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" +
- "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" +
- "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" +
- "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" +
- "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" +
- "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" +
- "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" +
- "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" +
- "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" +
- "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" +
- "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" +
- "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" +
- "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" +
- "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" +
- "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" +
- "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" +
- "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" +
- "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" +
- "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" +
- "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" +
- "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" +
- "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" +
- "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," +
- "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" +
- "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" +
- "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" +
- "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" +
- "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" +
- "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" +
- "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" +
- "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" +
- "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" +
- "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" +
- "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" +
- "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" +
- "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" +
- "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" +
- "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" +
- "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" +
- "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" +
- "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" +
- "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" +
- "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" +
- "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" +
- "\x04\x03\x0c?\x05\x03\x0c\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" +
- "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" +
- "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" +
- "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" +
- "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" +
- "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" +
- "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" +
- "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" +
- "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" +
- "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" +
- "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" +
- "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" +
- "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" +
- "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" +
- "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" +
- "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" +
- "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" +
- "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" +
- "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" +
- "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" +
- "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" +
- "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" +
- "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" +
- "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" +
- "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" +
- "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" +
- "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" +
- "\x05\x22\x05\x03\x050\x1d"
-
-// lookup returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupUnsafe(s []byte) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// lookupString returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookupString(s string) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupStringUnsafe(s string) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// idnaTrie. Total size: 29052 bytes (28.37 KiB). Checksum: ef06e7ecc26f36dd.
-type idnaTrie struct{}
-
-func newIdnaTrie(i int) *idnaTrie {
- return &idnaTrie{}
-}
-
-// lookupValue determines the type of block n and looks up the value for b.
-func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {
- switch {
- case n < 125:
- return uint16(idnaValues[n<<6+uint32(b)])
- default:
- n -= 125
- return uint16(idnaSparse.lookup(n, b))
- }
-}
-
-// idnaValues: 127 blocks, 8128 entries, 16256 bytes
-// The third block is the zero block.
-var idnaValues = [8128]uint16{
- // Block 0x0, offset 0x0
- 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080,
- 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080,
- 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080,
- 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080,
- 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080,
- 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080,
- 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080,
- 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080,
- 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008,
- 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080,
- 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080,
- // Block 0x1, offset 0x40
- 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105,
- 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105,
- 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105,
- 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105,
- 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080,
- 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008,
- 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008,
- 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008,
- 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008,
- 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080,
- 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080,
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040,
- 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040,
- 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040,
- 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040,
- 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040,
- 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018,
- 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018,
- 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a,
- 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005,
- 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018,
- 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018,
- // Block 0x4, offset 0x100
- 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008,
- 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008,
- 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008,
- 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008,
- 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008,
- 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008,
- 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008,
- 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008,
- 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008,
- 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d,
- 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199,
- // Block 0x5, offset 0x140
- 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d,
- 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008,
- 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008,
- 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008,
- 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008,
- 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008,
- 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008,
- 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008,
- 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008,
- 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d,
- 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9,
- // Block 0x6, offset 0x180
- 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008,
- 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d,
- 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d,
- 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d,
- 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155,
- 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008,
- 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d,
- 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd,
- 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d,
- 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008,
- 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9,
- 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d,
- 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d,
- 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d,
- 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008,
- 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008,
- 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008,
- 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008,
- 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008,
- 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008,
- 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008,
- // Block 0x8, offset 0x200
- 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008,
- 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008,
- 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008,
- 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008,
- 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008,
- 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008,
- 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008,
- 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008,
- 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008,
- 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d,
- 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008,
- // Block 0x9, offset 0x240
- 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018,
- 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008,
- 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008,
- 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018,
- 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a,
- 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369,
- 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018,
- 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018,
- 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018,
- 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,
- 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,
- // Block 0xa, offset 0x280
- 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d,
- 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,
- 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,
- 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,
- 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,
- 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,
- 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,
- 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,
- 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,
- 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008,
- 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2,
- 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040,
- 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105,
- 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105,
- 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105,
- 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d,
- 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d,
- 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008,
- 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008,
- 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008,
- 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008,
- // Block 0xc, offset 0x300
- 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008,
- 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008,
- 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd,
- 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008,
- 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008,
- 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008,
- 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008,
- 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008,
- 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd,
- 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008,
- 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d,
- // Block 0xd, offset 0x340
- 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008,
- 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008,
- 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008,
- 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008,
- 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008,
- 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008,
- 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008,
- 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008,
- 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008,
- 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,
- 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,
- // Block 0xe, offset 0x380
- 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,
- 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,
- 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,
- 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,
- 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,
- 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008,
- 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008,
- 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008,
- 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008,
- 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008,
- 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d,
- 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d,
- 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008,
- 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008,
- 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008,
- 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008,
- 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008,
- 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008,
- 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008,
- 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008,
- 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008,
- // Block 0x10, offset 0x400
- 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008,
- 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008,
- 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008,
- 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008,
- 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008,
- 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008,
- 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008,
- 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008,
- 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5,
- 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,
- 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,
- // Block 0x11, offset 0x440
- 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,
- 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,
- 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,
- 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,
- 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040,
- 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,
- 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,
- 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,
- 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,
- 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,
- 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,
- // Block 0x12, offset 0x480
- 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,
- 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,
- 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,
- 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,
- 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,
- 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,
- 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,
- 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,
- 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429,
- 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,
- 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,
- 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,
- 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,
- 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,
- 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,
- 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,
- 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,
- 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,
- 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,
- 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,
- 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,
- // Block 0x14, offset 0x500
- 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,
- 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,
- 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,
- 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,
- 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,
- 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,
- 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,
- 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,
- 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,
- 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,
- 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,
- // Block 0x15, offset 0x540
- 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08,
- 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08,
- 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08,
- 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808,
- 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040,
- 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08,
- 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08,
- 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040,
- 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040,
- 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040,
- 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040,
- // Block 0x16, offset 0x580
- 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308,
- 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008,
- 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308,
- 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308,
- 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1,
- 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308,
- 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008,
- 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008,
- 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008,
- 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008,
- 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008,
- 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008,
- 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040,
- 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008,
- 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008,
- 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008,
- 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040,
- 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,
- 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040,
- 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040,
- 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008,
- // Block 0x18, offset 0x600
- 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040,
- 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008,
- 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040,
- 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008,
- 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1,
- 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308,
- 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008,
- 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,
- 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018,
- 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018,
- 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x0040, 0x63f: 0x0040,
- // Block 0x19, offset 0x640
- 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008,
- 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040,
- 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040,
- 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008,
- 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008,
- 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008,
- 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040,
- 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,
- 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008,
- 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040,
- 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008,
- // Block 0x1a, offset 0x680
- 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040,
- 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308,
- 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308,
- 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040,
- 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040,
- 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040,
- 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008,
- 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,
- 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308,
- 0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040,
- 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008,
- 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008,
- 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008,
- 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008,
- 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008,
- 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008,
- 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040,
- 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,
- 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008,
- 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040,
- 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008,
- // Block 0x1c, offset 0x700
- 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308,
- 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008,
- 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040,
- 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040,
- 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040,
- 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308,
- 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008,
- 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,
- 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040,
- 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308,
- 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308,
- // Block 0x1d, offset 0x740
- 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008,
- 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008,
- 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040,
- 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008,
- 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008,
- 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008,
- 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040,
- 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,
- 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008,
- 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040,
- 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308,
- // Block 0x1e, offset 0x780
- 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040,
- 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008,
- 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040,
- 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008,
- 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9,
- 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308,
- 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008,
- 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008,
- 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018,
- 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040,
- 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040,
- // Block 0x1f, offset 0x7c0
- 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008,
- 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040,
- 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040,
- 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040,
- 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040,
- 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008,
- 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008,
- 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008,
- 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008,
- 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040,
- 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008,
- // Block 0x20, offset 0x800
- 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040,
- 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308,
- 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040,
- 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040,
- 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040,
- 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308,
- 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008,
- 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008,
- 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040,
- 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018,
- 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018,
- // Block 0x21, offset 0x840
- 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0040, 0x845: 0x0008,
- 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008,
- 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040,
- 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008,
- 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008,
- 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008,
- 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040,
- 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,
- 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008,
- 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040,
- 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308,
- // Block 0x22, offset 0x880
- 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040,
- 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008,
- 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040,
- 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040,
- 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040,
- 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308,
- 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008,
- 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,
- 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040,
- 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040,
- 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040,
- 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008,
- 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040,
- 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008,
- 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018,
- 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308,
- 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008,
- 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,
- 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018,
- 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008,
- 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008,
- // Block 0x24, offset 0x900
- 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040,
- 0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040,
- 0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040,
- 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008,
- 0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008,
- 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008,
- 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040,
- 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008,
- 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308,
- 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308,
- 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040,
- // Block 0x25, offset 0x940
- 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008,
- 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,
- 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,
- 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79,
- 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008,
- 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008,
- 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9,
- 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040,
- 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59,
- 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308,
- 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008,
- // Block 0x26, offset 0x980
- 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018,
- 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,
- 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308,
- 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308,
- 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11,
- 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308,
- 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308,
- 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308,
- 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308,
- 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308,
- 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018,
- // Block 0x27, offset 0x9c0
- 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008,
- 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008,
- 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008,
- 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008,
- 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008,
- 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008,
- 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008,
- 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008,
- 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41,
- 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008,
- 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269,
- // Block 0x28, offset 0xa00
- 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1,
- 0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011,
- 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041,
- 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9,
- 0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099,
- 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269,
- 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1,
- 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008,
- 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008,
- 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008,
- 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008,
- // Block 0x29, offset 0xa40
- 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008,
- 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008,
- 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008,
- 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008,
- 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169,
- 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9,
- 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251,
- 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9,
- 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359,
- 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1,
- 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429,
- // Block 0x2a, offset 0xa80
- 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008,
- 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008,
- 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008,
- 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008,
- 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008,
- 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008,
- 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008,
- 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008,
- 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008,
- 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008,
- 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008,
- // Block 0x2b, offset 0xac0
- 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008,
- 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008,
- 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008,
- 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008,
- 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008,
- 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008,
- 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008,
- 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008,
- 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008,
- 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008,
- 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008,
- // Block 0x2c, offset 0xb00
- 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008,
- 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045,
- 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008,
- 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008,
- 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045,
- 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008,
- 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045,
- 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045,
- 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489,
- 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1,
- 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040,
- // Block 0x2d, offset 0xb40
- 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1,
- 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591,
- 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1,
- 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1,
- 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771,
- 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891,
- 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831,
- 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951,
- 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040,
- 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459,
- 0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686,
- // Block 0x2e, offset 0xb80
- 0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040,
- 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489,
- 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008,
- 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008,
- 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2,
- 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61,
- 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045,
- 0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa,
- 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040,
- 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9,
- 0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040,
- // Block 0x2f, offset 0xbc0
- 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a,
- 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0,
- 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d,
- 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e,
- 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018,
- 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018,
- 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040,
- 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a,
- 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018,
- 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018,
- 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018,
- // Block 0x30, offset 0xc00
- 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018,
- 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018,
- 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018,
- 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9,
- 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018,
- 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340,
- 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040,
- 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340,
- 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61,
- 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd,
- 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71,
- // Block 0x31, offset 0xc40
- 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61,
- 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5,
- 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09,
- 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359,
- 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040,
- 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018,
- 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018,
- 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018,
- 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018,
- 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018,
- 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018,
- // Block 0x32, offset 0xc80
- 0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e,
- 0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249,
- 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41,
- 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018,
- 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269,
- 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018,
- 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018,
- 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09,
- 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9,
- 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd,
- 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109,
- // Block 0x33, offset 0xcc0
- 0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9,
- 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018,
- 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151,
- 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279,
- 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399,
- 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439,
- 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369,
- 0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61,
- 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451,
- 0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5,
- 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61,
- // Block 0x34, offset 0xd00
- 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018,
- 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040,
- 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040,
- 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040,
- 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040,
- 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51,
- 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601,
- 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691,
- 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26,
- 0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6,
- 0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a,
- // Block 0x35, offset 0xd40
- 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a,
- 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040,
- 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040,
- 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040,
- 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46,
- 0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06,
- 0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6,
- 0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86,
- 0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46,
- 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199,
- 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259,
- // Block 0x36, offset 0xd80
- 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99,
- 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089,
- 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9,
- 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249,
- 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71,
- 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9,
- 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1,
- 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018,
- 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018,
- 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018,
- 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018,
- // Block 0x37, offset 0xdc0
- 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008,
- 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008,
- 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008,
- 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008,
- 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008,
- 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd,
- 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d,
- 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9,
- 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d,
- 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008,
- 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9,
- // Block 0x38, offset 0xe00
- 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008,
- 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008,
- 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008,
- 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008,
- 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008,
- 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008,
- 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018,
- 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308,
- 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040,
- 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018,
- 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018,
- // Block 0x39, offset 0xe40
- 0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d,
- 0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d,
- 0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d,
- 0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040,
- 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040,
- 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040,
- 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040,
- 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040,
- 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040,
- 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040,
- 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040,
- // Block 0x3a, offset 0xe80
- 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008,
- 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018,
- 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018,
- 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018,
- 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018,
- 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018,
- 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018,
- 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018,
- 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018,
- 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018,
- 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018,
- // Block 0x3b, offset 0xec0
- 0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd,
- 0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd,
- 0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d,
- 0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d,
- 0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d,
- 0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd,
- 0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d,
- 0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd,
- 0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d,
- 0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd,
- 0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d,
- // Block 0x3c, offset 0xf00
- 0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd,
- 0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d,
- 0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018,
- 0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd,
- 0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d,
- 0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008,
- 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008,
- 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008,
- 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008,
- 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040,
- 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040,
- // Block 0x3d, offset 0xf40
- 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd,
- 0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018,
- 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761,
- 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1,
- 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881,
- 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd,
- 0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d,
- 0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d,
- 0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd,
- 0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d,
- 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018,
- // Block 0x3e, offset 0xf80
- 0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d,
- 0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d,
- 0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd,
- 0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd,
- 0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d,
- 0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d,
- 0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd,
- 0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d,
- 0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999,
- 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29,
- 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89,
- // Block 0x3f, offset 0xfc0
- 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69,
- 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69,
- 0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15,
- 0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75,
- 0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded,
- 0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d,
- 0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5,
- 0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d,
- 0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d,
- 0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd,
- 0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040,
- // Block 0x40, offset 0x1000
- 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9,
- 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1,
- 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9,
- 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549,
- 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1,
- 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11,
- 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91,
- 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9,
- 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011,
- 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209,
- 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361,
- // Block 0x41, offset 0x1040
- 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541,
- 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781,
- 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979,
- 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89,
- 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1,
- 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99,
- 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9,
- 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9,
- 0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069,
- 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9,
- 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9,
- // Block 0x42, offset 0x1080
- 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271,
- 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9,
- 0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed,
- 0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371,
- 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9,
- 0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d,
- 0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211,
- 0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1,
- 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599,
- 0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9,
- 0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611,
- // Block 0x43, offset 0x10c0
- 0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671,
- 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709,
- 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781,
- 0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1,
- 0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811,
- 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901,
- 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1,
- 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11,
- 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31,
- 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51,
- 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d,
- // Block 0x44, offset 0x1100
- 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008,
- 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008,
- 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008,
- 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008,
- 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008,
- 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008,
- 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008,
- 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308,
- 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308,
- 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308,
- 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008,
- // Block 0x45, offset 0x1140
- 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008,
- 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008,
- 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008,
- 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008,
- 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11,
- 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008,
- 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008,
- 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008,
- 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008,
- 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008,
- 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008,
- // Block 0x46, offset 0x1180
- 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018,
- 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018,
- 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018,
- 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008,
- 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008,
- 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008,
- 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,
- 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008,
- 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008,
- 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008,
- 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008,
- // Block 0x47, offset 0x11c0
- 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008,
- 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008,
- 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008,
- 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008,
- 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008,
- 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008,
- 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008,
- 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008,
- 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008,
- 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d,
- 0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008,
- // Block 0x48, offset 0x1200
- 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008,
- 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d,
- 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008,
- 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008,
- 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008,
- 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008,
- 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008,
- 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0040,
- 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008,
- 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040,
- 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040,
- // Block 0x49, offset 0x1240
- 0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575,
- 0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635,
- 0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008,
- 0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715,
- 0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5,
- 0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008,
- 0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008,
- 0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935,
- 0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5,
- 0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5,
- 0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35,
- // Block 0x4a, offset 0x1280
- 0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35,
- 0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5,
- 0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19,
- 0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91,
- 0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040,
- 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040,
- 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040,
- 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040,
- 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040,
- 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040,
- 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040,
- // Block 0x4b, offset 0x12c0
- 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001,
- 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040,
- 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040,
- 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9,
- 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1,
- 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149,
- 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2,
- 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1,
- 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1,
- 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479,
- 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040,
- // Block 0x4c, offset 0x1300
- 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040,
- 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659,
- 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721,
- 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751,
- 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769,
- 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799,
- 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1,
- 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1,
- 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9,
- 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829,
- 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841,
- // Block 0x4d, offset 0x1340
- 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871,
- 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9,
- 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9,
- 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919,
- 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931,
- 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961,
- 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991,
- 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1,
- 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818,
- 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818,
- 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818,
- // Block 0x4e, offset 0x1380
- 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040,
- 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040,
- 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040,
- 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09,
- 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479,
- 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81,
- 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1,
- 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19,
- 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91,
- 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1,
- 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09,
- // Block 0x4f, offset 0x13c0
- 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1,
- 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1,
- 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1,
- 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991,
- 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81,
- 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a,
- 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99,
- 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89,
- 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79,
- 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19,
- 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469,
- // Block 0x50, offset 0x1400
- 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649,
- 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9,
- 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49,
- 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21,
- 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9,
- 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01,
- 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91,
- 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9,
- 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171,
- 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289,
- 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329,
- // Block 0x51, offset 0x1440
- 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1,
- 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621,
- 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739,
- 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1,
- 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9,
- 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29,
- 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079,
- 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1,
- 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171,
- 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261,
- 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301,
- // Block 0x52, offset 0x1480
- 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1,
- 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1,
- 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171,
- 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261,
- 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351,
- 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441,
- 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509,
- 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1,
- 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081,
- 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239,
- 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018,
- // Block 0x53, offset 0x14c0
- 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040,
- 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040,
- 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609,
- 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721,
- 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839,
- 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919,
- 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9,
- 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9,
- 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9,
- 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1,
- 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79,
- // Block 0x54, offset 0x1500
- 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989,
- 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040,
- 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040,
- 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040,
- 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040,
- 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040,
- 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040,
- 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,
- 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9,
- 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12,
- 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040,
- // Block 0x55, offset 0x1540
- 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0,
- 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0,
- 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55,
- 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75,
- 0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040,
- 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308,
- 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308,
- 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308,
- 0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2,
- 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35,
- 0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55,
- // Block 0x56, offset 0x1580
- 0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018,
- 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56,
- 0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95,
- 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa,
- 0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95,
- 0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99,
- 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda,
- 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040,
- 0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040,
- 0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081,
- 0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1,
- // Block 0x57, offset 0x15c0
- 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141,
- 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171,
- 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1,
- 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1,
- 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201,
- 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219,
- 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249,
- 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291,
- 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1,
- 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9,
- 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1,
- // Block 0x58, offset 0x1600
- 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321,
- 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339,
- 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369,
- 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381,
- 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1,
- 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9,
- 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9,
- 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1,
- 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441,
- 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9,
- 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0,
- // Block 0x59, offset 0x1640
- 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea,
- 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2,
- 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9,
- 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81,
- 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2,
- 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159,
- 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41,
- 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9,
- 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9,
- 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a,
- 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a,
- // Block 0x5a, offset 0x1680
- 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09,
- 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51,
- 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039,
- 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279,
- 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a,
- 0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115,
- 0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5,
- 0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295,
- 0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355,
- 0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415,
- 0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215,
- // Block 0x5b, offset 0x16c0
- 0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515,
- 0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595,
- 0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5,
- 0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655,
- 0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115,
- 0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735,
- 0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5,
- 0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5,
- 0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5,
- 0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5,
- 0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040,
- // Block 0x5c, offset 0x1700
- 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5,
- 0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715,
- 0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040,
- 0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935,
- 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040,
- 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6,
- 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35,
- 0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040,
- 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040,
- 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340,
- 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,
- // Block 0x5d, offset 0x1740
- 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08,
- 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808,
- 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08,
- 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908,
- 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08,
- 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808,
- 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040,
- 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18,
- 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818,
- 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040,
- 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040,
- // Block 0x5e, offset 0x1780
- 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08,
- 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08,
- 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08,
- 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040,
- 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040,
- 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040,
- 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18,
- 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818,
- 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040,
- 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040,
- 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040,
- // Block 0x5f, offset 0x17c0
- 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008,
- 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008,
- 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040,
- 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008,
- 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008,
- 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008,
- 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040,
- 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008,
- 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008,
- 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x0040,
- 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008,
- // Block 0x60, offset 0x1800
- 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040,
- 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008,
- 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040,
- 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008,
- 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008,
- 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008,
- 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308,
- 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040,
- 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040,
- 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040,
- 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040,
- // Block 0x61, offset 0x1840
- 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199,
- 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359,
- 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269,
- 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369,
- 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9,
- 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259,
- 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99,
- 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089,
- 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9,
- 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249,
- 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359,
- // Block 0x62, offset 0x1880
- 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269,
- 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369,
- 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9,
- 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259,
- 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99,
- 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089,
- 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9,
- 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249,
- 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71,
- 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9,
- 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369,
- // Block 0x63, offset 0x18c0
- 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9,
- 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259,
- 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99,
- 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089,
- 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040,
- 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040,
- 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71,
- 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9,
- 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1,
- 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199,
- 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259,
- // Block 0x64, offset 0x1900
- 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99,
- 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089,
- 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9,
- 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249,
- 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71,
- 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9,
- 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1,
- 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199,
- 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359,
- 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269,
- 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089,
- // Block 0x65, offset 0x1940
- 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9,
- 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040,
- 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71,
- 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9,
- 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040,
- 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199,
- 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359,
- 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269,
- 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369,
- 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9,
- 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040,
- // Block 0x66, offset 0x1980
- 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040,
- 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9,
- 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040,
- 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199,
- 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359,
- 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269,
- 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369,
- 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9,
- 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259,
- 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99,
- 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9,
- // Block 0x67, offset 0x19c0
- 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1,
- 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199,
- 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359,
- 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269,
- 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369,
- 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9,
- 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259,
- 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99,
- 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089,
- 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9,
- 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199,
- // Block 0x68, offset 0x1a00
- 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359,
- 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269,
- 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369,
- 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9,
- 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259,
- 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99,
- 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089,
- 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9,
- 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249,
- 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71,
- 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269,
- // Block 0x69, offset 0x1a40
- 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369,
- 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9,
- 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259,
- 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99,
- 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089,
- 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9,
- 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249,
- 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71,
- 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9,
- 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1,
- 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9,
- // Block 0x6a, offset 0x1a80
- 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259,
- 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99,
- 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089,
- 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9,
- 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249,
- 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71,
- 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9,
- 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1,
- 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199,
- 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359,
- 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99,
- // Block 0x6b, offset 0x1ac0
- 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089,
- 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9,
- 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249,
- 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71,
- 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9,
- 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1,
- 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099,
- 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429,
- 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71,
- 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9,
- 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9,
- // Block 0x6c, offset 0x1b00
- 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9,
- 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11,
- 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109,
- 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1,
- 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429,
- 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099,
- 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429,
- 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71,
- 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9,
- 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01,
- 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9,
- // Block 0x6d, offset 0x1b40
- 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11,
- 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109,
- 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1,
- 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429,
- 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099,
- 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429,
- 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71,
- 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9,
- 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01,
- 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1,
- 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11,
- // Block 0x6e, offset 0x1b80
- 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109,
- 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1,
- 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429,
- 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099,
- 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429,
- 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71,
- 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9,
- 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01,
- 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1,
- 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41,
- 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109,
- // Block 0x6f, offset 0x1bc0
- 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1,
- 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429,
- 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099,
- 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429,
- 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71,
- 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9,
- 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01,
- 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1,
- 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41,
- 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1,
- 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1,
- // Block 0x70, offset 0x1c00
- 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429,
- 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41,
- 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079,
- 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1,
- 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61,
- 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9,
- 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81,
- 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079,
- 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1,
- 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61,
- 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1,
- // Block 0x71, offset 0x1c40
- 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115,
- 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135,
- 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115,
- 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175,
- 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115,
- 0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08,
- 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08,
- 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08,
- 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08,
- 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08,
- 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08,
- // Block 0x72, offset 0x1c80
- 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411,
- 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1,
- 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9,
- 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231,
- 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949,
- 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040,
- 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429,
- 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339,
- 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1,
- 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351,
- 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040,
- // Block 0x73, offset 0x1cc0
- 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040,
- 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1,
- 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9,
- 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231,
- 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949,
- 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040,
- 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429,
- 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339,
- 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1,
- 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351,
- 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040,
- // Block 0x74, offset 0x1d00
- 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411,
- 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1,
- 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9,
- 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231,
- 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040,
- 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249,
- 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429,
- 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339,
- 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1,
- 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351,
- 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040,
- // Block 0x75, offset 0x1d40
- 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02,
- 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018,
- 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2,
- 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72,
- 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32,
- 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2,
- 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2,
- 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0040,
- 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199,
- 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359,
- 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99,
- // Block 0x76, offset 0x1d80
- 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089,
- 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1,
- 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018,
- 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018,
- 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018,
- 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018,
- 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018,
- 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040,
- 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018,
- 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018,
- 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018,
- // Block 0x77, offset 0x1dc0
- 0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040,
- 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040,
- 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289,
- 0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349,
- 0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409,
- 0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9,
- 0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589,
- 0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649,
- 0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709,
- 0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9,
- 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040,
- // Block 0x78, offset 0x1e00
- 0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79,
- 0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39,
- 0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9,
- 0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39,
- 0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9,
- 0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79,
- 0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39,
- 0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9,
- 0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059,
- 0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9,
- 0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179,
- // Block 0x79, offset 0x1e40
- 0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239,
- 0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9,
- 0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399,
- 0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459,
- 0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309,
- 0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559,
- 0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9,
- 0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679,
- 0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9,
- 0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d,
- 0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9,
- // Block 0x7a, offset 0x1e80
- 0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9,
- 0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959,
- 0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d,
- 0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d,
- 0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9,
- 0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99,
- 0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9,
- 0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9,
- 0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99,
- 0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39,
- 0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99,
- // Block 0x7b, offset 0x1ec0
- 0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639,
- 0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9,
- 0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d,
- 0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9,
- 0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d,
- 0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd,
- 0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979,
- 0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19,
- 0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d,
- 0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d,
- 0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59,
- // Block 0x7c, offset 0x1f00
- 0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99,
- 0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39,
- 0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9,
- 0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39,
- 0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd,
- 0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19,
- 0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9,
- 0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59,
- 0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd,
- 0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d,
- 0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079,
- // Block 0x7d, offset 0x1f40
- 0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d,
- 0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d,
- 0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879,
- 0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919,
- 0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd,
- 0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9,
- 0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99,
- 0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39,
- 0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9,
- 0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d,
- 0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79,
- // Block 0x7e, offset 0x1f80
- 0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19,
- 0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9,
- 0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59,
- 0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9,
- 0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d,
- 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040,
- 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040,
- 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040,
- 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040,
- 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040,
- 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040,
-}
-
-// idnaIndex: 36 blocks, 2304 entries, 4608 bytes
-// Block 0 is the zero block.
-var idnaIndex = [2304]uint16{
- // Block 0x0, offset 0x0
- // Block 0x1, offset 0x40
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,
- 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,
- 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84,
- 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88,
- 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,
- 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c,
- 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21,
- // Block 0x4, offset 0x100
- 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16,
- 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d,
- 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91,
- 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96,
- // Block 0x5, offset 0x140
- 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e,
- 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6,
- 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f,
- 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae,
- 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6,
- 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe,
- 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3,
- 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c,
- // Block 0x6, offset 0x180
- 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b,
- 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b,
- 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b,
- 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b,
- 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b,
- 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0,
- 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5,
- 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1,
- 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41,
- 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f,
- 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f,
- 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f,
- 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f,
- 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f,
- 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f,
- // Block 0x8, offset 0x200
- 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f,
- 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f,
- 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f,
- 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f,
- 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f,
- 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f,
- 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b,
- 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f,
- // Block 0x9, offset 0x240
- 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f,
- 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f,
- 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f,
- 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f,
- 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f,
- 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f,
- 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f,
- 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f,
- // Block 0xa, offset 0x280
- 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f,
- 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f,
- 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f,
- 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f,
- 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f,
- 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f,
- 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f,
- 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f,
- 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f,
- 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f,
- 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8,
- 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0,
- 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8,
- 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f,
- 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f,
- // Block 0xc, offset 0x300
- 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f,
- 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f,
- 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f,
- 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa,
- // Block 0xd, offset 0x340
- 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba,
- 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba,
- 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba,
- 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba,
- 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba,
- 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba,
- 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba,
- 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba,
- // Block 0xe, offset 0x380
- 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba,
- 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba,
- 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba,
- 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba,
- 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe,
- 0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c,
- 0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52,
- 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108,
- 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e,
- 0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba,
- 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba,
- 0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c,
- 0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba,
- 0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba,
- 0x3f8: 0xba, 0x3f9: 0x126, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba,
- // Block 0x10, offset 0x400
- 0x400: 0x127, 0x401: 0x128, 0x402: 0x129, 0x403: 0x12a, 0x404: 0x12b, 0x405: 0x12c, 0x406: 0x12d, 0x407: 0x12e,
- 0x408: 0x12f, 0x409: 0xba, 0x40a: 0x130, 0x40b: 0x131, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba,
- 0x410: 0x132, 0x411: 0x133, 0x412: 0x134, 0x413: 0x135, 0x414: 0xba, 0x415: 0xba, 0x416: 0x136, 0x417: 0x137,
- 0x418: 0x138, 0x419: 0x139, 0x41a: 0x13a, 0x41b: 0x13b, 0x41c: 0x13c, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba,
- 0x420: 0xba, 0x421: 0xba, 0x422: 0x13d, 0x423: 0x13e, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba,
- 0x428: 0x13f, 0x429: 0x140, 0x42a: 0x141, 0x42b: 0x142, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba,
- 0x430: 0x143, 0x431: 0x144, 0x432: 0x145, 0x433: 0xba, 0x434: 0x146, 0x435: 0x147, 0x436: 0xba, 0x437: 0xba,
- 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba,
- // Block 0x11, offset 0x440
- 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f,
- 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x148, 0x44f: 0xba,
- 0x450: 0x9b, 0x451: 0x149, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x14a, 0x456: 0xba, 0x457: 0xba,
- 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba,
- 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba,
- 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba,
- 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba,
- 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba,
- // Block 0x12, offset 0x480
- 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f,
- 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f,
- 0x490: 0x14b, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba,
- 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba,
- 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba,
- 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba,
- 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba,
- 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba,
- 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba,
- 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f,
- 0x4d8: 0x9f, 0x4d9: 0x14c, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba,
- 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba,
- 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba,
- 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba,
- 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba,
- // Block 0x14, offset 0x500
- 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba,
- 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba,
- 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba,
- 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba,
- 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f,
- 0x528: 0x142, 0x529: 0x14d, 0x52a: 0xba, 0x52b: 0x14e, 0x52c: 0x14f, 0x52d: 0x150, 0x52e: 0x151, 0x52f: 0xba,
- 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba,
- 0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x152, 0x53e: 0x153, 0x53f: 0x154,
- // Block 0x15, offset 0x540
- 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f,
- 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f,
- 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f,
- 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x155,
- 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f,
- 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x156, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba,
- 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba,
- 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba,
- // Block 0x16, offset 0x580
- 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x157, 0x585: 0x158, 0x586: 0x9f, 0x587: 0x9f,
- 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x159, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba,
- 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba,
- 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba,
- 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba,
- 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba,
- 0x5b0: 0x9f, 0x5b1: 0x15a, 0x5b2: 0x15b, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba,
- 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x15c, 0x5c4: 0x15d, 0x5c5: 0x15e, 0x5c6: 0x15f, 0x5c7: 0x160,
- 0x5c8: 0x9b, 0x5c9: 0x161, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x162, 0x5ce: 0xba, 0x5cf: 0xba,
- 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66,
- 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e,
- 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b,
- 0x5e8: 0x163, 0x5e9: 0x164, 0x5ea: 0x165, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba,
- 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba,
- 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba,
- // Block 0x18, offset 0x600
- 0x600: 0x166, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba,
- 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba,
- 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba,
- 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba,
- 0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x167, 0x624: 0x6f, 0x625: 0x168, 0x626: 0xba, 0x627: 0xba,
- 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba,
- 0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba,
- 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x169, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba,
- // Block 0x19, offset 0x640
- 0x640: 0x16a, 0x641: 0x9b, 0x642: 0x16b, 0x643: 0x16c, 0x644: 0x73, 0x645: 0x74, 0x646: 0x16d, 0x647: 0x16e,
- 0x648: 0x75, 0x649: 0x16f, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b,
- 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b,
- 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x170, 0x65c: 0x9b, 0x65d: 0x171, 0x65e: 0x9b, 0x65f: 0x172,
- 0x660: 0x173, 0x661: 0x174, 0x662: 0x175, 0x663: 0xba, 0x664: 0x176, 0x665: 0x177, 0x666: 0x178, 0x667: 0x179,
- 0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba,
- 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba,
- 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba,
- // Block 0x1a, offset 0x680
- 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f,
- 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f,
- 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f,
- 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x17a, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f,
- 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f,
- 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f,
- 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f,
- 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f,
- 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f,
- 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f,
- 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x17b, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f,
- 0x6e0: 0x17c, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f,
- 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f,
- 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f,
- 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f,
- // Block 0x1c, offset 0x700
- 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f,
- 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f,
- 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f,
- 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f,
- 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f,
- 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f,
- 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f,
- 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x17d, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f,
- // Block 0x1d, offset 0x740
- 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f,
- 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f,
- 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f,
- 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f,
- 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f,
- 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x17e,
- 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba,
- 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba,
- // Block 0x1e, offset 0x780
- 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba,
- 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba,
- 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba,
- 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba,
- 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x17f, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x180, 0x7a7: 0x7b,
- 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba,
- 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba,
- 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba,
- // Block 0x1f, offset 0x7c0
- 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07,
- 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17,
- 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07,
- 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c,
- 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b,
- 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b,
- // Block 0x20, offset 0x800
- 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b,
- 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b,
- 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b,
- 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b,
- 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b,
- 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b,
- 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b,
- 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b,
- // Block 0x21, offset 0x840
- 0x840: 0x181, 0x841: 0x182, 0x842: 0xba, 0x843: 0xba, 0x844: 0x183, 0x845: 0x183, 0x846: 0x183, 0x847: 0x184,
- 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba,
- 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba,
- 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba,
- 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba,
- 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba,
- 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba,
- 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba,
- // Block 0x22, offset 0x880
- 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b,
- 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b,
- 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b,
- 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b,
- 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b,
- 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b,
- 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b,
- 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b,
- 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b,
-}
-
-// idnaSparseOffset: 264 entries, 528 bytes
-var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x8a, 0x93, 0xa3, 0xb1, 0xbd, 0xc9, 0xda, 0xe4, 0xeb, 0xf8, 0x109, 0x110, 0x11b, 0x12a, 0x138, 0x142, 0x144, 0x149, 0x14c, 0x14f, 0x151, 0x15d, 0x168, 0x170, 0x176, 0x17c, 0x181, 0x186, 0x189, 0x18d, 0x193, 0x198, 0x1a4, 0x1ae, 0x1b4, 0x1c5, 0x1cf, 0x1d2, 0x1da, 0x1dd, 0x1ea, 0x1f2, 0x1f6, 0x1fd, 0x205, 0x215, 0x221, 0x223, 0x22d, 0x239, 0x245, 0x251, 0x259, 0x25e, 0x268, 0x279, 0x27d, 0x288, 0x28c, 0x295, 0x29d, 0x2a3, 0x2a8, 0x2ab, 0x2af, 0x2b5, 0x2b9, 0x2bd, 0x2c3, 0x2ca, 0x2d0, 0x2d8, 0x2df, 0x2ea, 0x2f4, 0x2f8, 0x2fb, 0x301, 0x305, 0x307, 0x30a, 0x30c, 0x30f, 0x319, 0x31c, 0x32b, 0x32f, 0x334, 0x337, 0x33b, 0x340, 0x345, 0x34b, 0x351, 0x360, 0x366, 0x36a, 0x379, 0x37e, 0x386, 0x390, 0x39b, 0x3a3, 0x3b4, 0x3bd, 0x3cd, 0x3da, 0x3e4, 0x3e9, 0x3f6, 0x3fa, 0x3ff, 0x401, 0x405, 0x407, 0x40b, 0x414, 0x41a, 0x41e, 0x42e, 0x438, 0x43d, 0x440, 0x446, 0x44d, 0x452, 0x456, 0x45c, 0x461, 0x46a, 0x46f, 0x475, 0x47c, 0x483, 0x48a, 0x48e, 0x493, 0x496, 0x49b, 0x4a7, 0x4ad, 0x4b2, 0x4b9, 0x4c1, 0x4c6, 0x4ca, 0x4da, 0x4e1, 0x4e5, 0x4e9, 0x4f0, 0x4f2, 0x4f5, 0x4f8, 0x4fc, 0x500, 0x506, 0x50f, 0x51b, 0x522, 0x52b, 0x533, 0x53a, 0x548, 0x555, 0x562, 0x56b, 0x56f, 0x57d, 0x585, 0x590, 0x599, 0x59f, 0x5a7, 0x5b0, 0x5ba, 0x5bd, 0x5c9, 0x5cc, 0x5d1, 0x5de, 0x5e7, 0x5f3, 0x5f6, 0x600, 0x609, 0x615, 0x622, 0x62a, 0x62d, 0x632, 0x635, 0x638, 0x63b, 0x642, 0x649, 0x64d, 0x658, 0x65b, 0x661, 0x666, 0x66a, 0x66d, 0x670, 0x673, 0x676, 0x679, 0x67e, 0x688, 0x68b, 0x68f, 0x69e, 0x6aa, 0x6ae, 0x6b3, 0x6b8, 0x6bc, 0x6c1, 0x6ca, 0x6d5, 0x6db, 0x6e3, 0x6e7, 0x6eb, 0x6f1, 0x6f7, 0x6fc, 0x6ff, 0x70f, 0x716, 0x719, 0x71c, 0x720, 0x726, 0x72b, 0x730, 0x735, 0x738, 0x73d, 0x740, 0x743, 0x747, 0x74b, 0x74e, 0x75e, 0x76f, 0x774, 0x776, 0x778}
-
-// idnaSparseValues: 1915 entries, 7660 bytes
-var idnaSparseValues = [1915]valueRange{
- // Block 0x0, offset 0x0
- {value: 0x0000, lo: 0x07},
- {value: 0xe105, lo: 0x80, hi: 0x96},
- {value: 0x0018, lo: 0x97, hi: 0x97},
- {value: 0xe105, lo: 0x98, hi: 0x9e},
- {value: 0x001f, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbf},
- // Block 0x1, offset 0x8
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0xe01d, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0335, lo: 0x83, hi: 0x83},
- {value: 0x034d, lo: 0x84, hi: 0x84},
- {value: 0x0365, lo: 0x85, hi: 0x85},
- {value: 0xe00d, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0xe00d, lo: 0x88, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x89},
- {value: 0xe00d, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe00d, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0x8d},
- {value: 0xe00d, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0xbf},
- // Block 0x2, offset 0x19
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x0249, lo: 0xb0, hi: 0xb0},
- {value: 0x037d, lo: 0xb1, hi: 0xb1},
- {value: 0x0259, lo: 0xb2, hi: 0xb2},
- {value: 0x0269, lo: 0xb3, hi: 0xb3},
- {value: 0x034d, lo: 0xb4, hi: 0xb4},
- {value: 0x0395, lo: 0xb5, hi: 0xb5},
- {value: 0xe1bd, lo: 0xb6, hi: 0xb6},
- {value: 0x0279, lo: 0xb7, hi: 0xb7},
- {value: 0x0289, lo: 0xb8, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbf},
- // Block 0x3, offset 0x25
- {value: 0x0000, lo: 0x01},
- {value: 0x3308, lo: 0x80, hi: 0xbf},
- // Block 0x4, offset 0x27
- {value: 0x0000, lo: 0x04},
- {value: 0x03f5, lo: 0x80, hi: 0x8f},
- {value: 0xe105, lo: 0x90, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x5, offset 0x2c
- {value: 0x0000, lo: 0x07},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x0545, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x0008, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xbf},
- // Block 0x6, offset 0x34
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0401, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x88},
- {value: 0x0018, lo: 0x89, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0xbd},
- {value: 0x0818, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x7, offset 0x3f
- {value: 0x0000, lo: 0x0b},
- {value: 0x0818, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x82},
- {value: 0x0818, lo: 0x83, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x85},
- {value: 0x0818, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0808, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x8, offset 0x4b
- {value: 0x0000, lo: 0x03},
- {value: 0x0a08, lo: 0x80, hi: 0x87},
- {value: 0x0c08, lo: 0x88, hi: 0x99},
- {value: 0x0a08, lo: 0x9a, hi: 0xbf},
- // Block 0x9, offset 0x4f
- {value: 0x0000, lo: 0x0e},
- {value: 0x3308, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0c08, lo: 0x8d, hi: 0x8d},
- {value: 0x0a08, lo: 0x8e, hi: 0x98},
- {value: 0x0c08, lo: 0x99, hi: 0x9b},
- {value: 0x0a08, lo: 0x9c, hi: 0xaa},
- {value: 0x0c08, lo: 0xab, hi: 0xac},
- {value: 0x0a08, lo: 0xad, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb1},
- {value: 0x0a08, lo: 0xb2, hi: 0xb2},
- {value: 0x0c08, lo: 0xb3, hi: 0xb4},
- {value: 0x0a08, lo: 0xb5, hi: 0xb7},
- {value: 0x0c08, lo: 0xb8, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbf},
- // Block 0xa, offset 0x5e
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xb0},
- {value: 0x0808, lo: 0xb1, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xb, offset 0x63
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x89},
- {value: 0x0a08, lo: 0x8a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0xc, offset 0x6b
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x99},
- {value: 0x0808, lo: 0x9a, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa3},
- {value: 0x0808, lo: 0xa4, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa7},
- {value: 0x0808, lo: 0xa8, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0818, lo: 0xb0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xd, offset 0x77
- {value: 0x0000, lo: 0x0d},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0a08, lo: 0xa0, hi: 0xa9},
- {value: 0x0c08, lo: 0xaa, hi: 0xac},
- {value: 0x0808, lo: 0xad, hi: 0xad},
- {value: 0x0c08, lo: 0xae, hi: 0xae},
- {value: 0x0a08, lo: 0xaf, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb2},
- {value: 0x0a08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0a08, lo: 0xb6, hi: 0xb8},
- {value: 0x0c08, lo: 0xb9, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0xe, offset 0x85
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0xa1},
- {value: 0x0840, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xbf},
- // Block 0xf, offset 0x8a
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x10, offset 0x93
- {value: 0x0000, lo: 0x0f},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x85},
- {value: 0x3008, lo: 0x86, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x3008, lo: 0x8a, hi: 0x8c},
- {value: 0x3b08, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x11, offset 0xa3
- {value: 0x0000, lo: 0x0d},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x12, offset 0xb1
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xba},
- {value: 0x3b08, lo: 0xbb, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x13, offset 0xbd
- {value: 0x0000, lo: 0x0b},
- {value: 0x0040, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x14, offset 0xc9
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x89},
- {value: 0x3b08, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x3008, lo: 0x98, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x15, offset 0xda
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb2},
- {value: 0x08f1, lo: 0xb3, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb9},
- {value: 0x3b08, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0x16, offset 0xe4
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x8e},
- {value: 0x0018, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0xbf},
- // Block 0x17, offset 0xeb
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0961, lo: 0x9c, hi: 0x9c},
- {value: 0x0999, lo: 0x9d, hi: 0x9d},
- {value: 0x0008, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x18, offset 0xf8
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe03d, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x19, offset 0x109
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0x1a, offset 0x110
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x1b, offset 0x11b
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x3008, lo: 0x96, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x3308, lo: 0x9e, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xa1},
- {value: 0x3008, lo: 0xa2, hi: 0xa4},
- {value: 0x0008, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xbf},
- // Block 0x1c, offset 0x12a
- {value: 0x0000, lo: 0x0d},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x8c},
- {value: 0x3308, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x3008, lo: 0x9a, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x1d, offset 0x138
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x86},
- {value: 0x055d, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8c},
- {value: 0x055d, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbb},
- {value: 0xe105, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0x1e, offset 0x142
- {value: 0x0000, lo: 0x01},
- {value: 0x0018, lo: 0x80, hi: 0xbf},
- // Block 0x1f, offset 0x144
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa0},
- {value: 0x2018, lo: 0xa1, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x20, offset 0x149
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa7},
- {value: 0x2018, lo: 0xa8, hi: 0xbf},
- // Block 0x21, offset 0x14c
- {value: 0x0000, lo: 0x02},
- {value: 0x2018, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0xbf},
- // Block 0x22, offset 0x14f
- {value: 0x0000, lo: 0x01},
- {value: 0x0008, lo: 0x80, hi: 0xbf},
- // Block 0x23, offset 0x151
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x24, offset 0x15d
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x25, offset 0x168
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x26, offset 0x170
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x27, offset 0x176
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x28, offset 0x17c
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x29, offset 0x181
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x2a, offset 0x186
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x2b, offset 0x189
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xbf},
- // Block 0x2c, offset 0x18d
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x2d, offset 0x193
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x2e, offset 0x198
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x3b08, lo: 0x94, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x2f, offset 0x1a4
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x30, offset 0x1ae
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xb3},
- {value: 0x3340, lo: 0xb4, hi: 0xb5},
- {value: 0x3008, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x31, offset 0x1b4
- {value: 0x0000, lo: 0x10},
- {value: 0x3008, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x91},
- {value: 0x3b08, lo: 0x92, hi: 0x92},
- {value: 0x3308, lo: 0x93, hi: 0x93},
- {value: 0x0018, lo: 0x94, hi: 0x96},
- {value: 0x0008, lo: 0x97, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x32, offset 0x1c5
- {value: 0x0000, lo: 0x09},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x86},
- {value: 0x0218, lo: 0x87, hi: 0x87},
- {value: 0x0018, lo: 0x88, hi: 0x8a},
- {value: 0x33c0, lo: 0x8b, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0208, lo: 0xa0, hi: 0xbf},
- // Block 0x33, offset 0x1cf
- {value: 0x0000, lo: 0x02},
- {value: 0x0208, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x34, offset 0x1d2
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0208, lo: 0x87, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xa9},
- {value: 0x0208, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x35, offset 0x1da
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0x36, offset 0x1dd
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x37, offset 0x1ea
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x38, offset 0x1f2
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x39, offset 0x1f6
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0028, lo: 0x9a, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xbf},
- // Block 0x3a, offset 0x1fd
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x3308, lo: 0x97, hi: 0x98},
- {value: 0x3008, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x3b, offset 0x205
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x94},
- {value: 0x3008, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3b08, lo: 0xa0, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xac},
- {value: 0x3008, lo: 0xad, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x3c, offset 0x215
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xbd},
- {value: 0x3318, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x3d, offset 0x221
- {value: 0x0000, lo: 0x01},
- {value: 0x0040, lo: 0x80, hi: 0xbf},
- // Block 0x3e, offset 0x223
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3008, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbf},
- // Block 0x3f, offset 0x22d
- {value: 0x0000, lo: 0x0b},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x3808, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x40, offset 0x239
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3808, lo: 0xaa, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xbf},
- // Block 0x41, offset 0x245
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3008, lo: 0xaa, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3808, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbf},
- // Block 0x42, offset 0x251
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x3008, lo: 0xa4, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbf},
- // Block 0x43, offset 0x259
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x44, offset 0x25e
- {value: 0x0000, lo: 0x09},
- {value: 0x0e29, lo: 0x80, hi: 0x80},
- {value: 0x0e41, lo: 0x81, hi: 0x81},
- {value: 0x0e59, lo: 0x82, hi: 0x82},
- {value: 0x0e71, lo: 0x83, hi: 0x83},
- {value: 0x0e89, lo: 0x84, hi: 0x85},
- {value: 0x0ea1, lo: 0x86, hi: 0x86},
- {value: 0x0eb9, lo: 0x87, hi: 0x87},
- {value: 0x057d, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0x45, offset 0x268
- {value: 0x0000, lo: 0x10},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x92},
- {value: 0x0018, lo: 0x93, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa8},
- {value: 0x0008, lo: 0xa9, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x46, offset 0x279
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0x47, offset 0x27d
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x87},
- {value: 0xe045, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0xe045, lo: 0x98, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0xe045, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbf},
- // Block 0x48, offset 0x288
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x3318, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbf},
- // Block 0x49, offset 0x28c
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x88},
- {value: 0x24c1, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x4a, offset 0x295
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x24f1, lo: 0xac, hi: 0xac},
- {value: 0x2529, lo: 0xad, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xae},
- {value: 0x2579, lo: 0xaf, hi: 0xaf},
- {value: 0x25b1, lo: 0xb0, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0x4b, offset 0x29d
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x9f},
- {value: 0x0080, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xad},
- {value: 0x0080, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x4c, offset 0x2a3
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xa8},
- {value: 0x09c5, lo: 0xa9, hi: 0xa9},
- {value: 0x09e5, lo: 0xaa, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xbf},
- // Block 0x4d, offset 0x2a8
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xbf},
- // Block 0x4e, offset 0x2ab
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x28c1, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x4f, offset 0x2af
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0e66, lo: 0xb4, hi: 0xb4},
- {value: 0x292a, lo: 0xb5, hi: 0xb5},
- {value: 0x0e86, lo: 0xb6, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x50, offset 0x2b5
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x9b},
- {value: 0x2941, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0xbf},
- // Block 0x51, offset 0x2b9
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x52, offset 0x2bd
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbc},
- {value: 0x0018, lo: 0xbd, hi: 0xbf},
- // Block 0x53, offset 0x2c3
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x92},
- {value: 0x0040, lo: 0x93, hi: 0xab},
- {value: 0x0018, lo: 0xac, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x54, offset 0x2ca
- {value: 0x0000, lo: 0x05},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x03f5, lo: 0x90, hi: 0x9f},
- {value: 0x0ea5, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x55, offset 0x2d0
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x56, offset 0x2d8
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xae},
- {value: 0xe075, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0x57, offset 0x2df
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x58, offset 0x2ea
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xbf},
- // Block 0x59, offset 0x2f4
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x5a, offset 0x2f8
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0xbf},
- // Block 0x5b, offset 0x2fb
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9e},
- {value: 0x0edd, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x5c, offset 0x301
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb2},
- {value: 0x0efd, lo: 0xb3, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x5d, offset 0x305
- {value: 0x0020, lo: 0x01},
- {value: 0x0f1d, lo: 0x80, hi: 0xbf},
- // Block 0x5e, offset 0x307
- {value: 0x0020, lo: 0x02},
- {value: 0x171d, lo: 0x80, hi: 0x8f},
- {value: 0x18fd, lo: 0x90, hi: 0xbf},
- // Block 0x5f, offset 0x30a
- {value: 0x0020, lo: 0x01},
- {value: 0x1efd, lo: 0x80, hi: 0xbf},
- // Block 0x60, offset 0x30c
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x61, offset 0x30f
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9a},
- {value: 0x29e2, lo: 0x9b, hi: 0x9b},
- {value: 0x2a0a, lo: 0x9c, hi: 0x9c},
- {value: 0x0008, lo: 0x9d, hi: 0x9e},
- {value: 0x2a31, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xbf},
- // Block 0x62, offset 0x319
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbe},
- {value: 0x2a69, lo: 0xbf, hi: 0xbf},
- // Block 0x63, offset 0x31c
- {value: 0x0000, lo: 0x0e},
- {value: 0x0040, lo: 0x80, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xb0},
- {value: 0x2a1d, lo: 0xb1, hi: 0xb1},
- {value: 0x2a3d, lo: 0xb2, hi: 0xb2},
- {value: 0x2a5d, lo: 0xb3, hi: 0xb3},
- {value: 0x2a7d, lo: 0xb4, hi: 0xb4},
- {value: 0x2a5d, lo: 0xb5, hi: 0xb5},
- {value: 0x2a9d, lo: 0xb6, hi: 0xb6},
- {value: 0x2abd, lo: 0xb7, hi: 0xb7},
- {value: 0x2add, lo: 0xb8, hi: 0xb9},
- {value: 0x2afd, lo: 0xba, hi: 0xbb},
- {value: 0x2b1d, lo: 0xbc, hi: 0xbd},
- {value: 0x2afd, lo: 0xbe, hi: 0xbf},
- // Block 0x64, offset 0x32b
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x65, offset 0x32f
- {value: 0x0030, lo: 0x04},
- {value: 0x2aa2, lo: 0x80, hi: 0x9d},
- {value: 0x305a, lo: 0x9e, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x30a2, lo: 0xa0, hi: 0xbf},
- // Block 0x66, offset 0x334
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xbf},
- // Block 0x67, offset 0x337
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x68, offset 0x33b
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x69, offset 0x340
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0x6a, offset 0x345
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb1},
- {value: 0x0018, lo: 0xb2, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6b, offset 0x34b
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0xb6},
- {value: 0x0008, lo: 0xb7, hi: 0xb7},
- {value: 0x2009, lo: 0xb8, hi: 0xb8},
- {value: 0x6e89, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xbf},
- // Block 0x6c, offset 0x351
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x3308, lo: 0x8b, hi: 0x8b},
- {value: 0x0008, lo: 0x8c, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x6d, offset 0x360
- {value: 0x0000, lo: 0x05},
- {value: 0x0208, lo: 0x80, hi: 0xb1},
- {value: 0x0108, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6e, offset 0x366
- {value: 0x0000, lo: 0x03},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xbf},
- // Block 0x6f, offset 0x36a
- {value: 0x0000, lo: 0x0e},
- {value: 0x3008, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xba},
- {value: 0x0008, lo: 0xbb, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x70, offset 0x379
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x71, offset 0x37e
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x91},
- {value: 0x3008, lo: 0x92, hi: 0x92},
- {value: 0x3808, lo: 0x93, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x72, offset 0x386
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb9},
- {value: 0x3008, lo: 0xba, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbf},
- // Block 0x73, offset 0x390
- {value: 0x0000, lo: 0x0a},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x74, offset 0x39b
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x75, offset 0x3a3
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8c},
- {value: 0x3008, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbd},
- {value: 0x0008, lo: 0xbe, hi: 0xbf},
- // Block 0x76, offset 0x3b4
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x77, offset 0x3bd
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x9a},
- {value: 0x0008, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3b08, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x78, offset 0x3cd
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x90},
- {value: 0x0008, lo: 0x91, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x79, offset 0x3da
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x4465, lo: 0x9c, hi: 0x9c},
- {value: 0x447d, lo: 0x9d, hi: 0x9d},
- {value: 0x2971, lo: 0x9e, hi: 0x9e},
- {value: 0xe06d, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xaf},
- {value: 0x4495, lo: 0xb0, hi: 0xbf},
- // Block 0x7a, offset 0x3e4
- {value: 0x0000, lo: 0x04},
- {value: 0x44b5, lo: 0x80, hi: 0x8f},
- {value: 0x44d5, lo: 0x90, hi: 0x9f},
- {value: 0x44f5, lo: 0xa0, hi: 0xaf},
- {value: 0x44d5, lo: 0xb0, hi: 0xbf},
- // Block 0x7b, offset 0x3e9
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3b08, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x7c, offset 0x3f6
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x7d, offset 0x3fa
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x7e, offset 0x3ff
- {value: 0x0020, lo: 0x01},
- {value: 0x4515, lo: 0x80, hi: 0xbf},
- // Block 0x7f, offset 0x401
- {value: 0x0020, lo: 0x03},
- {value: 0x4d15, lo: 0x80, hi: 0x94},
- {value: 0x4ad5, lo: 0x95, hi: 0x95},
- {value: 0x4fb5, lo: 0x96, hi: 0xbf},
- // Block 0x80, offset 0x405
- {value: 0x0020, lo: 0x01},
- {value: 0x54f5, lo: 0x80, hi: 0xbf},
- // Block 0x81, offset 0x407
- {value: 0x0020, lo: 0x03},
- {value: 0x5cf5, lo: 0x80, hi: 0x84},
- {value: 0x5655, lo: 0x85, hi: 0x85},
- {value: 0x5d95, lo: 0x86, hi: 0xbf},
- // Block 0x82, offset 0x40b
- {value: 0x0020, lo: 0x08},
- {value: 0x6b55, lo: 0x80, hi: 0x8f},
- {value: 0x6d15, lo: 0x90, hi: 0x90},
- {value: 0x6d55, lo: 0x91, hi: 0xab},
- {value: 0x6ea1, lo: 0xac, hi: 0xac},
- {value: 0x70b5, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x70d5, lo: 0xb0, hi: 0xbf},
- // Block 0x83, offset 0x414
- {value: 0x0020, lo: 0x05},
- {value: 0x72d5, lo: 0x80, hi: 0xad},
- {value: 0x6535, lo: 0xae, hi: 0xae},
- {value: 0x7895, lo: 0xaf, hi: 0xb5},
- {value: 0x6f55, lo: 0xb6, hi: 0xb6},
- {value: 0x7975, lo: 0xb7, hi: 0xbf},
- // Block 0x84, offset 0x41a
- {value: 0x0028, lo: 0x03},
- {value: 0x7c21, lo: 0x80, hi: 0x82},
- {value: 0x7be1, lo: 0x83, hi: 0x83},
- {value: 0x7c99, lo: 0x84, hi: 0xbf},
- // Block 0x85, offset 0x41e
- {value: 0x0038, lo: 0x0f},
- {value: 0x9db1, lo: 0x80, hi: 0x83},
- {value: 0x9e59, lo: 0x84, hi: 0x85},
- {value: 0x9e91, lo: 0x86, hi: 0x87},
- {value: 0x9ec9, lo: 0x88, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0xa089, lo: 0x92, hi: 0x97},
- {value: 0xa1a1, lo: 0x98, hi: 0x9c},
- {value: 0xa281, lo: 0x9d, hi: 0xb3},
- {value: 0x9d41, lo: 0xb4, hi: 0xb4},
- {value: 0x9db1, lo: 0xb5, hi: 0xb5},
- {value: 0xa789, lo: 0xb6, hi: 0xbb},
- {value: 0xa869, lo: 0xbc, hi: 0xbc},
- {value: 0xa7f9, lo: 0xbd, hi: 0xbd},
- {value: 0xa8d9, lo: 0xbe, hi: 0xbf},
- // Block 0x86, offset 0x42e
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x0008, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x87, offset 0x438
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0x88, offset 0x43d
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x89, offset 0x440
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x8a, offset 0x446
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x8b, offset 0x44d
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x8c, offset 0x452
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x8d, offset 0x456
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x8e, offset 0x45c
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xbf},
- // Block 0x8f, offset 0x461
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x90, offset 0x46a
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x91, offset 0x46f
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x92, offset 0x475
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x97},
- {value: 0x8ad5, lo: 0x98, hi: 0x9f},
- {value: 0x8aed, lo: 0xa0, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xbf},
- // Block 0x93, offset 0x47c
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x8aed, lo: 0xb0, hi: 0xb7},
- {value: 0x8ad5, lo: 0xb8, hi: 0xbf},
- // Block 0x94, offset 0x483
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x95, offset 0x48a
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x96, offset 0x48e
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xae},
- {value: 0x0018, lo: 0xaf, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x97, offset 0x493
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x98, offset 0x496
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xbf},
- // Block 0x99, offset 0x49b
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0808, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0808, lo: 0x8a, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb6},
- {value: 0x0808, lo: 0xb7, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbb},
- {value: 0x0808, lo: 0xbc, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x0808, lo: 0xbf, hi: 0xbf},
- // Block 0x9a, offset 0x4a7
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x96},
- {value: 0x0818, lo: 0x97, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb6},
- {value: 0x0818, lo: 0xb7, hi: 0xbf},
- // Block 0x9b, offset 0x4ad
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa6},
- {value: 0x0818, lo: 0xa7, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x9c, offset 0x4b2
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xba},
- {value: 0x0818, lo: 0xbb, hi: 0xbf},
- // Block 0x9d, offset 0x4b9
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0818, lo: 0x96, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbe},
- {value: 0x0818, lo: 0xbf, hi: 0xbf},
- // Block 0x9e, offset 0x4c1
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbb},
- {value: 0x0818, lo: 0xbc, hi: 0xbd},
- {value: 0x0808, lo: 0xbe, hi: 0xbf},
- // Block 0x9f, offset 0x4c6
- {value: 0x0000, lo: 0x03},
- {value: 0x0818, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x0818, lo: 0x92, hi: 0xbf},
- // Block 0xa0, offset 0x4ca
- {value: 0x0000, lo: 0x0f},
- {value: 0x0808, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x94},
- {value: 0x0808, lo: 0x95, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0x98},
- {value: 0x0808, lo: 0x99, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xa1, offset 0x4da
- {value: 0x0000, lo: 0x06},
- {value: 0x0818, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0818, lo: 0x90, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xbc},
- {value: 0x0818, lo: 0xbd, hi: 0xbf},
- // Block 0xa2, offset 0x4e1
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0x9c},
- {value: 0x0818, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xa3, offset 0x4e5
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb8},
- {value: 0x0018, lo: 0xb9, hi: 0xbf},
- // Block 0xa4, offset 0x4e9
- {value: 0x0000, lo: 0x06},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0818, lo: 0x98, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb7},
- {value: 0x0818, lo: 0xb8, hi: 0xbf},
- // Block 0xa5, offset 0x4f0
- {value: 0x0000, lo: 0x01},
- {value: 0x0808, lo: 0x80, hi: 0xbf},
- // Block 0xa6, offset 0x4f2
- {value: 0x0000, lo: 0x02},
- {value: 0x0808, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0xa7, offset 0x4f5
- {value: 0x0000, lo: 0x02},
- {value: 0x03dd, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xa8, offset 0x4f8
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xbf},
- // Block 0xa9, offset 0x4fc
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0818, lo: 0xa0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xaa, offset 0x500
- {value: 0x0000, lo: 0x05},
- {value: 0x3008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xab, offset 0x506
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x91},
- {value: 0x0018, lo: 0x92, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xac, offset 0x50f
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbc},
- {value: 0x0340, lo: 0xbd, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0xad, offset 0x51b
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xae, offset 0x522
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb2},
- {value: 0x3b08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xbf},
- // Block 0xaf, offset 0x52b
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xb0, offset 0x533
- {value: 0x0000, lo: 0x06},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xbe},
- {value: 0x3008, lo: 0xbf, hi: 0xbf},
- // Block 0xb1, offset 0x53a
- {value: 0x0000, lo: 0x0d},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x89},
- {value: 0x3308, lo: 0x8a, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xb2, offset 0x548
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3808, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xb3, offset 0x555
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0008, lo: 0x9f, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xb4, offset 0x562
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x3308, lo: 0x9f, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa9},
- {value: 0x3b08, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb5, offset 0x56b
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xb6, offset 0x56f
- {value: 0x0000, lo: 0x0d},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x84},
- {value: 0x3008, lo: 0x85, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xb7, offset 0x57d
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xb8, offset 0x585
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x85},
- {value: 0x0018, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xb9, offset 0x590
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xba, offset 0x599
- {value: 0x0000, lo: 0x05},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9b},
- {value: 0x3308, lo: 0x9c, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xbb, offset 0x59f
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xbc, offset 0x5a7
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xbd, offset 0x5b0
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb5},
- {value: 0x3808, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0xbe, offset 0x5ba
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0xbf},
- // Block 0xbf, offset 0x5bd
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0xc0, offset 0x5c9
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xbf},
- // Block 0xc1, offset 0x5cc
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0xc2, offset 0x5d1
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0xc3, offset 0x5de
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x3b08, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0xbf},
- // Block 0xc4, offset 0x5e7
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x89},
- {value: 0x3308, lo: 0x8a, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x98},
- {value: 0x3b08, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xa2},
- {value: 0x0040, lo: 0xa3, hi: 0xbf},
- // Block 0xc5, offset 0x5f3
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xc6, offset 0x5f6
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xc7, offset 0x600
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xbf},
- // Block 0xc8, offset 0x609
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xa9},
- {value: 0x3308, lo: 0xaa, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xc9, offset 0x615
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xca, offset 0x622
- {value: 0x0000, lo: 0x07},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xcb, offset 0x62a
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xcc, offset 0x62d
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xcd, offset 0x632
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0xbf},
- // Block 0xce, offset 0x635
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xbf},
- // Block 0xcf, offset 0x638
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0xbf},
- // Block 0xd0, offset 0x63b
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xd1, offset 0x642
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xd2, offset 0x649
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0xd3, offset 0x64d
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0xd4, offset 0x658
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0xd5, offset 0x65b
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3008, lo: 0x91, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xd6, offset 0x661
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x8e},
- {value: 0x3308, lo: 0x8f, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xd7, offset 0x666
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xbf},
- // Block 0xd8, offset 0x66a
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xd9, offset 0x66d
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xda, offset 0x670
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xdb, offset 0x673
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xdc, offset 0x676
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0xdd, offset 0x679
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0xde, offset 0x67e
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x03c0, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xbf},
- // Block 0xdf, offset 0x688
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xe0, offset 0x68b
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xbf},
- // Block 0xe1, offset 0x68f
- {value: 0x0000, lo: 0x0e},
- {value: 0x0018, lo: 0x80, hi: 0x9d},
- {value: 0xb5b9, lo: 0x9e, hi: 0x9e},
- {value: 0xb601, lo: 0x9f, hi: 0x9f},
- {value: 0xb649, lo: 0xa0, hi: 0xa0},
- {value: 0xb6b1, lo: 0xa1, hi: 0xa1},
- {value: 0xb719, lo: 0xa2, hi: 0xa2},
- {value: 0xb781, lo: 0xa3, hi: 0xa3},
- {value: 0xb7e9, lo: 0xa4, hi: 0xa4},
- {value: 0x3018, lo: 0xa5, hi: 0xa6},
- {value: 0x3318, lo: 0xa7, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xac},
- {value: 0x3018, lo: 0xad, hi: 0xb2},
- {value: 0x0340, lo: 0xb3, hi: 0xba},
- {value: 0x3318, lo: 0xbb, hi: 0xbf},
- // Block 0xe2, offset 0x69e
- {value: 0x0000, lo: 0x0b},
- {value: 0x3318, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0x84},
- {value: 0x3318, lo: 0x85, hi: 0x8b},
- {value: 0x0018, lo: 0x8c, hi: 0xa9},
- {value: 0x3318, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xba},
- {value: 0xb851, lo: 0xbb, hi: 0xbb},
- {value: 0xb899, lo: 0xbc, hi: 0xbc},
- {value: 0xb8e1, lo: 0xbd, hi: 0xbd},
- {value: 0xb949, lo: 0xbe, hi: 0xbe},
- {value: 0xb9b1, lo: 0xbf, hi: 0xbf},
- // Block 0xe3, offset 0x6aa
- {value: 0x0000, lo: 0x03},
- {value: 0xba19, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xbf},
- // Block 0xe4, offset 0x6ae
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x3318, lo: 0x82, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0xbf},
- // Block 0xe5, offset 0x6b3
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xe6, offset 0x6b8
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0xe7, offset 0x6bc
- {value: 0x0000, lo: 0x04},
- {value: 0x3308, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0xe8, offset 0x6c1
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x3308, lo: 0xa1, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xe9, offset 0x6ca
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa4},
- {value: 0x0040, lo: 0xa5, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xbf},
- // Block 0xea, offset 0x6d5
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x86},
- {value: 0x0818, lo: 0x87, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0xeb, offset 0x6db
- {value: 0x0000, lo: 0x07},
- {value: 0x0a08, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0818, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xec, offset 0x6e3
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xed, offset 0x6e7
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0xee, offset 0x6eb
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0xef, offset 0x6f1
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xf0, offset 0x6f7
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8f},
- {value: 0xc1c1, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xf1, offset 0x6fc
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xbf},
- // Block 0xf2, offset 0x6ff
- {value: 0x0000, lo: 0x0f},
- {value: 0xc7e9, lo: 0x80, hi: 0x80},
- {value: 0xc839, lo: 0x81, hi: 0x81},
- {value: 0xc889, lo: 0x82, hi: 0x82},
- {value: 0xc8d9, lo: 0x83, hi: 0x83},
- {value: 0xc929, lo: 0x84, hi: 0x84},
- {value: 0xc979, lo: 0x85, hi: 0x85},
- {value: 0xc9c9, lo: 0x86, hi: 0x86},
- {value: 0xca19, lo: 0x87, hi: 0x87},
- {value: 0xca69, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0xcab9, lo: 0x90, hi: 0x90},
- {value: 0xcad9, lo: 0x91, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xbf},
- // Block 0xf3, offset 0x70f
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xf4, offset 0x716
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0xf5, offset 0x719
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0xbf},
- // Block 0xf6, offset 0x71c
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0xf7, offset 0x720
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0xf8, offset 0x726
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xbf},
- // Block 0xf9, offset 0x72b
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xfa, offset 0x730
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0xfb, offset 0x735
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0xbf},
- // Block 0xfc, offset 0x738
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xbf},
- // Block 0xfd, offset 0x73d
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0xfe, offset 0x740
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xff, offset 0x743
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x100, offset 0x747
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x101, offset 0x74b
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x102, offset 0x74e
- {value: 0x0020, lo: 0x0f},
- {value: 0xdeb9, lo: 0x80, hi: 0x89},
- {value: 0x8dfd, lo: 0x8a, hi: 0x8a},
- {value: 0xdff9, lo: 0x8b, hi: 0x9c},
- {value: 0x8e1d, lo: 0x9d, hi: 0x9d},
- {value: 0xe239, lo: 0x9e, hi: 0xa2},
- {value: 0x8e3d, lo: 0xa3, hi: 0xa3},
- {value: 0xe2d9, lo: 0xa4, hi: 0xab},
- {value: 0x7ed5, lo: 0xac, hi: 0xac},
- {value: 0xe3d9, lo: 0xad, hi: 0xaf},
- {value: 0x8e5d, lo: 0xb0, hi: 0xb0},
- {value: 0xe439, lo: 0xb1, hi: 0xb6},
- {value: 0x8e7d, lo: 0xb7, hi: 0xb9},
- {value: 0xe4f9, lo: 0xba, hi: 0xba},
- {value: 0x8edd, lo: 0xbb, hi: 0xbb},
- {value: 0xe519, lo: 0xbc, hi: 0xbf},
- // Block 0x103, offset 0x75e
- {value: 0x0020, lo: 0x10},
- {value: 0x937d, lo: 0x80, hi: 0x80},
- {value: 0xf099, lo: 0x81, hi: 0x86},
- {value: 0x939d, lo: 0x87, hi: 0x8a},
- {value: 0xd9f9, lo: 0x8b, hi: 0x8b},
- {value: 0xf159, lo: 0x8c, hi: 0x96},
- {value: 0x941d, lo: 0x97, hi: 0x97},
- {value: 0xf2b9, lo: 0x98, hi: 0xa3},
- {value: 0x943d, lo: 0xa4, hi: 0xa6},
- {value: 0xf439, lo: 0xa7, hi: 0xaa},
- {value: 0x949d, lo: 0xab, hi: 0xab},
- {value: 0xf4b9, lo: 0xac, hi: 0xac},
- {value: 0x94bd, lo: 0xad, hi: 0xad},
- {value: 0xf4d9, lo: 0xae, hi: 0xaf},
- {value: 0x94dd, lo: 0xb0, hi: 0xb1},
- {value: 0xf519, lo: 0xb2, hi: 0xbe},
- {value: 0x2040, lo: 0xbf, hi: 0xbf},
- // Block 0x104, offset 0x76f
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0340, lo: 0x81, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x9f},
- {value: 0x0340, lo: 0xa0, hi: 0xbf},
- // Block 0x105, offset 0x774
- {value: 0x0000, lo: 0x01},
- {value: 0x0340, lo: 0x80, hi: 0xbf},
- // Block 0x106, offset 0x776
- {value: 0x0000, lo: 0x01},
- {value: 0x33c0, lo: 0x80, hi: 0xbf},
- // Block 0x107, offset 0x778
- {value: 0x0000, lo: 0x02},
- {value: 0x33c0, lo: 0x80, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
-}
-
-// Total table size 42114 bytes (41KiB); checksum: 355A58A4
diff --git a/vendor/golang.org/x/net/idna/tables11.0.0.go b/vendor/golang.org/x/net/idna/tables11.0.0.go
deleted file mode 100644
index 76789393c..000000000
--- a/vendor/golang.org/x/net/idna/tables11.0.0.go
+++ /dev/null
@@ -1,4653 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-//go:build go1.13 && !go1.14
-
-package idna
-
-// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "11.0.0"
-
-var mappings string = "" + // Size: 8175 bytes
- "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" +
- "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" +
- "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" +
- "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" +
- "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" +
- "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" +
- "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" +
- "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" +
- "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" +
- "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" +
- "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" +
- "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" +
- "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" +
- "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" +
- "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" +
- "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" +
- "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" +
- "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" +
- "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" +
- "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" +
- "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" +
- "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" +
- "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" +
- "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" +
- "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" +
- "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" +
- ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" +
- "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" +
- "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" +
- "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" +
- "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" +
- "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" +
- "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" +
- "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" +
- "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" +
- "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" +
- "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" +
- "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" +
- "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" +
- "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" +
- "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" +
- "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" +
- "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" +
- "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" +
- "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" +
- "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" +
- "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" +
- "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" +
- "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" +
- "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" +
- "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" +
- "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" +
- "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" +
- "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" +
- "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" +
- "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" +
- "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" +
- "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" +
- "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" +
- "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" +
- "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" +
- "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" +
- "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" +
- "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" +
- "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" +
- "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" +
- "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" +
- "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" +
- "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" +
- "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" +
- "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" +
- "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" +
- "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" +
- " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" +
- "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" +
- "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" +
- "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" +
- "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" +
- "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" +
- "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" +
- "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" +
- "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" +
- "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" +
- "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" +
- "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" +
- "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" +
- "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" +
- "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" +
- "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" +
- "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" +
- "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" +
- "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" +
- "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" +
- "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" +
- "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" +
- "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" +
- "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" +
- "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" +
- "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" +
- "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" +
- "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" +
- "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" +
- "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" +
- "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" +
- "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" +
- "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" +
- "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" +
- "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" +
- "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" +
- "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" +
- "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" +
- "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" +
- "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" +
- "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" +
- "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" +
- "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" +
- "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" +
- "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" +
- "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" +
- "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" +
- "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" +
- "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" +
- "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" +
- "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" +
- "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" +
- "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" +
- "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" +
- "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" +
- "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" +
- "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" +
- "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" +
- "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" +
- "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" +
- "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" +
- "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" +
- "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" +
- "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻"
-
-var xorData string = "" + // Size: 4855 bytes
- "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" +
- "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" +
- "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" +
- "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" +
- "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" +
- "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" +
- "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" +
- "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" +
- "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" +
- "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" +
- "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" +
- "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" +
- "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" +
- "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" +
- "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" +
- "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" +
- "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" +
- "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" +
- "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" +
- "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" +
- "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" +
- "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" +
- "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" +
- "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" +
- "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" +
- "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" +
- "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" +
- "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" +
- "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" +
- "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" +
- "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" +
- "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" +
- "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" +
- "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" +
- "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" +
- "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" +
- "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " +
- "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" +
- "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" +
- "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" +
- "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" +
- "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" +
- ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" +
- "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" +
- "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" +
- "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" +
- "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" +
- "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" +
- "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" +
- "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" +
- "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" +
- "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" +
- "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" +
- "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" +
- "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" +
- "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" +
- "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" +
- "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" +
- "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" +
- "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" +
- "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" +
- "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" +
- "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" +
- "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" +
- "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" +
- "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" +
- "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" +
- "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" +
- "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" +
- "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" +
- "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" +
- "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" +
- "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" +
- "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" +
- "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" +
- "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" +
- "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" +
- "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" +
- "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" +
- "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" +
- "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" +
- "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" +
- "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" +
- "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" +
- "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" +
- "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" +
- "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" +
- "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" +
- "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," +
- "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" +
- "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" +
- "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" +
- "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" +
- ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" +
- "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" +
- "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" +
- "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" +
- "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" +
- "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" +
- "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" +
- "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" +
- "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" +
- "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" +
- "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" +
- "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" +
- "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" +
- "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" +
- "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" +
- "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" +
- "\x08\x1a\x0a\x03\x07\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03\x09\x0c" +
- "\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06!3\x03" +
- "\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05\x03\x07" +
- "<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" +
- "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" +
- "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" +
- "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" +
- "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" +
- "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" +
- "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" +
- "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" +
- "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" +
- "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" +
- "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" +
- "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" +
- "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" +
- "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" +
- "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" +
- "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" +
- "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" +
- "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." +
- "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" +
- "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" +
- "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " +
- "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" +
- "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" +
- "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" +
- "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" +
- "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" +
- "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" +
- "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," +
- "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" +
- "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" +
- "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" +
- "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" +
- "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" +
- "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" +
- "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" +
- "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" +
- "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" +
- "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" +
- "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" +
- "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" +
- "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" +
- "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" +
- "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" +
- "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" +
- "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" +
- "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" +
- "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" +
- "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" +
- "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" +
- "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" +
- "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" +
- "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" +
- "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" +
- "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" +
- "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" +
- "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" +
- "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" +
- "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" +
- "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" +
- "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" +
- "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" +
- "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" +
- "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" +
- "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" +
- "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" +
- "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" +
- "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," +
- "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" +
- "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" +
- "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" +
- "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" +
- "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" +
- "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" +
- "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" +
- "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" +
- "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" +
- "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" +
- "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" +
- "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" +
- "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" +
- "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" +
- "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" +
- "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" +
- "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" +
- "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" +
- "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" +
- "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" +
- "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" +
- "\x04\x03\x0c?\x05\x03\x0c\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" +
- "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" +
- "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" +
- "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" +
- "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" +
- "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" +
- "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" +
- "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" +
- "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" +
- "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" +
- "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" +
- "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" +
- "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" +
- "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" +
- "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" +
- "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" +
- "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" +
- "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" +
- "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" +
- "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" +
- "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" +
- "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" +
- "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" +
- "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" +
- "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" +
- "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" +
- "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" +
- "\x05\x22\x05\x03\x050\x1d"
-
-// lookup returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupUnsafe(s []byte) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// lookupString returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookupString(s string) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupStringUnsafe(s string) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// idnaTrie. Total size: 29404 bytes (28.71 KiB). Checksum: 848c45acb5f7991c.
-type idnaTrie struct{}
-
-func newIdnaTrie(i int) *idnaTrie {
- return &idnaTrie{}
-}
-
-// lookupValue determines the type of block n and looks up the value for b.
-func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {
- switch {
- case n < 125:
- return uint16(idnaValues[n<<6+uint32(b)])
- default:
- n -= 125
- return uint16(idnaSparse.lookup(n, b))
- }
-}
-
-// idnaValues: 127 blocks, 8128 entries, 16256 bytes
-// The third block is the zero block.
-var idnaValues = [8128]uint16{
- // Block 0x0, offset 0x0
- 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080,
- 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080,
- 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080,
- 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080,
- 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080,
- 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080,
- 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080,
- 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080,
- 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008,
- 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080,
- 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080,
- // Block 0x1, offset 0x40
- 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105,
- 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105,
- 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105,
- 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105,
- 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080,
- 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008,
- 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008,
- 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008,
- 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008,
- 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080,
- 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080,
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040,
- 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040,
- 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040,
- 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040,
- 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040,
- 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018,
- 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018,
- 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a,
- 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005,
- 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018,
- 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018,
- // Block 0x4, offset 0x100
- 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008,
- 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008,
- 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008,
- 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008,
- 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008,
- 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008,
- 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008,
- 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008,
- 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008,
- 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d,
- 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199,
- // Block 0x5, offset 0x140
- 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d,
- 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008,
- 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008,
- 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008,
- 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008,
- 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008,
- 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008,
- 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008,
- 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008,
- 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d,
- 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9,
- // Block 0x6, offset 0x180
- 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008,
- 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d,
- 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d,
- 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d,
- 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155,
- 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008,
- 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d,
- 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd,
- 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d,
- 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008,
- 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9,
- 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d,
- 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d,
- 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d,
- 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008,
- 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008,
- 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008,
- 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008,
- 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008,
- 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008,
- 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008,
- // Block 0x8, offset 0x200
- 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008,
- 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008,
- 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008,
- 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008,
- 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008,
- 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008,
- 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008,
- 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008,
- 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008,
- 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d,
- 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008,
- // Block 0x9, offset 0x240
- 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018,
- 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008,
- 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008,
- 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018,
- 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a,
- 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369,
- 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018,
- 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018,
- 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018,
- 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,
- 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,
- // Block 0xa, offset 0x280
- 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d,
- 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,
- 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,
- 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,
- 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,
- 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,
- 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,
- 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,
- 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,
- 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008,
- 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2,
- 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040,
- 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105,
- 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105,
- 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105,
- 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d,
- 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d,
- 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008,
- 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008,
- 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008,
- 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008,
- // Block 0xc, offset 0x300
- 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008,
- 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008,
- 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd,
- 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008,
- 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008,
- 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008,
- 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008,
- 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008,
- 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd,
- 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008,
- 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d,
- // Block 0xd, offset 0x340
- 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008,
- 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008,
- 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008,
- 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008,
- 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008,
- 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008,
- 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008,
- 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008,
- 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008,
- 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,
- 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,
- // Block 0xe, offset 0x380
- 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,
- 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,
- 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,
- 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,
- 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,
- 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008,
- 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008,
- 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008,
- 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008,
- 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008,
- 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d,
- 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d,
- 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008,
- 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008,
- 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008,
- 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008,
- 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008,
- 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008,
- 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008,
- 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008,
- 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008,
- // Block 0x10, offset 0x400
- 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008,
- 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008,
- 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008,
- 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008,
- 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008,
- 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008,
- 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008,
- 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008,
- 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5,
- 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,
- 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,
- // Block 0x11, offset 0x440
- 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,
- 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,
- 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,
- 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,
- 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040,
- 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,
- 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,
- 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,
- 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,
- 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,
- 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,
- // Block 0x12, offset 0x480
- 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,
- 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,
- 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,
- 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,
- 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,
- 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,
- 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,
- 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,
- 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429,
- 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,
- 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,
- 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,
- 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,
- 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,
- 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,
- 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,
- 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,
- 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,
- 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,
- 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,
- 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,
- // Block 0x14, offset 0x500
- 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,
- 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,
- 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,
- 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,
- 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,
- 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,
- 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,
- 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,
- 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,
- 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,
- 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,
- // Block 0x15, offset 0x540
- 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08,
- 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08,
- 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08,
- 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808,
- 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040,
- 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08,
- 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08,
- 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040,
- 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040,
- 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040,
- 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040,
- // Block 0x16, offset 0x580
- 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308,
- 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008,
- 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308,
- 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308,
- 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1,
- 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308,
- 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008,
- 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008,
- 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008,
- 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008,
- 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008,
- 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008,
- 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040,
- 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008,
- 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008,
- 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008,
- 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040,
- 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,
- 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040,
- 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040,
- 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008,
- // Block 0x18, offset 0x600
- 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040,
- 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008,
- 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040,
- 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008,
- 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1,
- 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308,
- 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008,
- 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,
- 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018,
- 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018,
- 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040,
- // Block 0x19, offset 0x640
- 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008,
- 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040,
- 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040,
- 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008,
- 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008,
- 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008,
- 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040,
- 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,
- 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008,
- 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040,
- 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008,
- // Block 0x1a, offset 0x680
- 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040,
- 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308,
- 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308,
- 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040,
- 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040,
- 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040,
- 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008,
- 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,
- 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308,
- 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040,
- 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008,
- 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008,
- 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008,
- 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008,
- 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008,
- 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008,
- 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040,
- 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,
- 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008,
- 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040,
- 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008,
- // Block 0x1c, offset 0x700
- 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308,
- 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008,
- 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040,
- 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040,
- 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040,
- 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308,
- 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008,
- 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,
- 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040,
- 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308,
- 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308,
- // Block 0x1d, offset 0x740
- 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008,
- 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008,
- 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040,
- 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008,
- 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008,
- 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008,
- 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040,
- 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,
- 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008,
- 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040,
- 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308,
- // Block 0x1e, offset 0x780
- 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040,
- 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008,
- 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040,
- 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008,
- 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9,
- 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308,
- 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008,
- 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008,
- 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018,
- 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040,
- 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040,
- // Block 0x1f, offset 0x7c0
- 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008,
- 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040,
- 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040,
- 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040,
- 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040,
- 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008,
- 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008,
- 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008,
- 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008,
- 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040,
- 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008,
- // Block 0x20, offset 0x800
- 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040,
- 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308,
- 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040,
- 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040,
- 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040,
- 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308,
- 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008,
- 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008,
- 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040,
- 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018,
- 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018,
- // Block 0x21, offset 0x840
- 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008,
- 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008,
- 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040,
- 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008,
- 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008,
- 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008,
- 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040,
- 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,
- 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008,
- 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040,
- 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308,
- // Block 0x22, offset 0x880
- 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040,
- 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008,
- 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040,
- 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040,
- 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040,
- 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308,
- 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008,
- 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,
- 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040,
- 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040,
- 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040,
- 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008,
- 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040,
- 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008,
- 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018,
- 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308,
- 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008,
- 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,
- 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018,
- 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008,
- 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008,
- // Block 0x24, offset 0x900
- 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040,
- 0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040,
- 0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040,
- 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008,
- 0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008,
- 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008,
- 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040,
- 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008,
- 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308,
- 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308,
- 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040,
- // Block 0x25, offset 0x940
- 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008,
- 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,
- 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,
- 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79,
- 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008,
- 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008,
- 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9,
- 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040,
- 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59,
- 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308,
- 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008,
- // Block 0x26, offset 0x980
- 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018,
- 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,
- 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308,
- 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308,
- 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11,
- 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308,
- 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308,
- 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308,
- 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308,
- 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308,
- 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018,
- // Block 0x27, offset 0x9c0
- 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008,
- 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008,
- 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008,
- 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008,
- 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008,
- 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008,
- 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008,
- 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008,
- 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41,
- 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008,
- 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269,
- // Block 0x28, offset 0xa00
- 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1,
- 0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011,
- 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041,
- 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9,
- 0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099,
- 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269,
- 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1,
- 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008,
- 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008,
- 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008,
- 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008,
- // Block 0x29, offset 0xa40
- 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008,
- 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008,
- 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008,
- 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008,
- 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169,
- 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9,
- 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251,
- 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9,
- 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359,
- 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1,
- 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429,
- // Block 0x2a, offset 0xa80
- 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008,
- 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008,
- 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008,
- 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008,
- 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008,
- 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008,
- 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008,
- 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008,
- 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008,
- 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008,
- 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008,
- // Block 0x2b, offset 0xac0
- 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008,
- 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008,
- 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008,
- 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008,
- 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008,
- 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008,
- 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008,
- 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008,
- 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008,
- 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008,
- 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008,
- // Block 0x2c, offset 0xb00
- 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008,
- 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045,
- 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008,
- 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008,
- 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045,
- 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008,
- 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045,
- 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045,
- 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489,
- 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1,
- 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040,
- // Block 0x2d, offset 0xb40
- 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1,
- 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591,
- 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1,
- 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1,
- 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771,
- 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891,
- 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831,
- 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951,
- 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040,
- 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459,
- 0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686,
- // Block 0x2e, offset 0xb80
- 0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040,
- 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489,
- 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008,
- 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008,
- 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2,
- 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61,
- 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045,
- 0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa,
- 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040,
- 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9,
- 0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040,
- // Block 0x2f, offset 0xbc0
- 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a,
- 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0,
- 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d,
- 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e,
- 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018,
- 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018,
- 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040,
- 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a,
- 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018,
- 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018,
- 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018,
- // Block 0x30, offset 0xc00
- 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018,
- 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018,
- 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018,
- 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9,
- 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018,
- 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340,
- 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040,
- 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340,
- 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61,
- 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd,
- 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71,
- // Block 0x31, offset 0xc40
- 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61,
- 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5,
- 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09,
- 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359,
- 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040,
- 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018,
- 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018,
- 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018,
- 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018,
- 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018,
- 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018,
- // Block 0x32, offset 0xc80
- 0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e,
- 0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249,
- 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41,
- 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018,
- 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269,
- 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018,
- 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018,
- 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09,
- 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9,
- 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd,
- 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109,
- // Block 0x33, offset 0xcc0
- 0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9,
- 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018,
- 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151,
- 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279,
- 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399,
- 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439,
- 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369,
- 0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61,
- 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451,
- 0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5,
- 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61,
- // Block 0x34, offset 0xd00
- 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018,
- 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040,
- 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040,
- 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040,
- 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040,
- 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51,
- 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601,
- 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691,
- 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26,
- 0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6,
- 0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a,
- // Block 0x35, offset 0xd40
- 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a,
- 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040,
- 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040,
- 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040,
- 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46,
- 0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06,
- 0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6,
- 0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86,
- 0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46,
- 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199,
- 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259,
- // Block 0x36, offset 0xd80
- 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99,
- 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089,
- 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9,
- 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249,
- 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71,
- 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9,
- 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1,
- 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018,
- 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018,
- 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018,
- 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018,
- // Block 0x37, offset 0xdc0
- 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008,
- 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008,
- 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008,
- 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008,
- 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008,
- 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd,
- 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d,
- 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9,
- 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d,
- 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008,
- 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9,
- // Block 0x38, offset 0xe00
- 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008,
- 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008,
- 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008,
- 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008,
- 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008,
- 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008,
- 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018,
- 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308,
- 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040,
- 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018,
- 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018,
- // Block 0x39, offset 0xe40
- 0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d,
- 0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d,
- 0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d,
- 0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040,
- 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040,
- 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040,
- 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040,
- 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040,
- 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040,
- 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040,
- 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040,
- // Block 0x3a, offset 0xe80
- 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008,
- 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018,
- 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018,
- 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018,
- 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018,
- 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018,
- 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018,
- 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018,
- 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018,
- 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018,
- 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018,
- // Block 0x3b, offset 0xec0
- 0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd,
- 0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd,
- 0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d,
- 0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d,
- 0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d,
- 0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd,
- 0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d,
- 0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd,
- 0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d,
- 0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd,
- 0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d,
- // Block 0x3c, offset 0xf00
- 0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd,
- 0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d,
- 0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018,
- 0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd,
- 0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d,
- 0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008,
- 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008,
- 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008,
- 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008,
- 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040,
- 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040,
- // Block 0x3d, offset 0xf40
- 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd,
- 0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018,
- 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761,
- 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1,
- 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881,
- 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd,
- 0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d,
- 0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d,
- 0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd,
- 0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d,
- 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018,
- // Block 0x3e, offset 0xf80
- 0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d,
- 0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d,
- 0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd,
- 0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd,
- 0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d,
- 0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d,
- 0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd,
- 0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d,
- 0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999,
- 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29,
- 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89,
- // Block 0x3f, offset 0xfc0
- 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69,
- 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69,
- 0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15,
- 0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75,
- 0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded,
- 0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d,
- 0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5,
- 0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d,
- 0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d,
- 0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd,
- 0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040,
- // Block 0x40, offset 0x1000
- 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9,
- 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1,
- 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9,
- 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549,
- 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1,
- 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11,
- 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91,
- 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9,
- 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011,
- 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209,
- 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361,
- // Block 0x41, offset 0x1040
- 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541,
- 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781,
- 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979,
- 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89,
- 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1,
- 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99,
- 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9,
- 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9,
- 0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069,
- 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9,
- 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9,
- // Block 0x42, offset 0x1080
- 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271,
- 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9,
- 0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed,
- 0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371,
- 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9,
- 0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d,
- 0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211,
- 0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1,
- 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599,
- 0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9,
- 0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611,
- // Block 0x43, offset 0x10c0
- 0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671,
- 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709,
- 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781,
- 0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1,
- 0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811,
- 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901,
- 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1,
- 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11,
- 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31,
- 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51,
- 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d,
- // Block 0x44, offset 0x1100
- 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008,
- 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008,
- 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008,
- 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008,
- 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008,
- 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008,
- 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008,
- 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308,
- 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308,
- 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308,
- 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008,
- // Block 0x45, offset 0x1140
- 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008,
- 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008,
- 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008,
- 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008,
- 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11,
- 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008,
- 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008,
- 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008,
- 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008,
- 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008,
- 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008,
- // Block 0x46, offset 0x1180
- 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018,
- 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018,
- 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018,
- 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008,
- 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008,
- 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008,
- 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,
- 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008,
- 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008,
- 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008,
- 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008,
- // Block 0x47, offset 0x11c0
- 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008,
- 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008,
- 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008,
- 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008,
- 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008,
- 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008,
- 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008,
- 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008,
- 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008,
- 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d,
- 0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008,
- // Block 0x48, offset 0x1200
- 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008,
- 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d,
- 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008,
- 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008,
- 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008,
- 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008,
- 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008,
- 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0008,
- 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008,
- 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0008, 0x123a: 0x0040, 0x123b: 0x0040,
- 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040,
- // Block 0x49, offset 0x1240
- 0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575,
- 0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635,
- 0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008,
- 0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715,
- 0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5,
- 0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008,
- 0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008,
- 0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935,
- 0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5,
- 0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5,
- 0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35,
- // Block 0x4a, offset 0x1280
- 0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35,
- 0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5,
- 0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19,
- 0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91,
- 0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040,
- 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040,
- 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040,
- 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040,
- 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040,
- 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040,
- 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040,
- // Block 0x4b, offset 0x12c0
- 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001,
- 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040,
- 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040,
- 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9,
- 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1,
- 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149,
- 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2,
- 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1,
- 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1,
- 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479,
- 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040,
- // Block 0x4c, offset 0x1300
- 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040,
- 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659,
- 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721,
- 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751,
- 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769,
- 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799,
- 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1,
- 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1,
- 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9,
- 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829,
- 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841,
- // Block 0x4d, offset 0x1340
- 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871,
- 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9,
- 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9,
- 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919,
- 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931,
- 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961,
- 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991,
- 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1,
- 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818,
- 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818,
- 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818,
- // Block 0x4e, offset 0x1380
- 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040,
- 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040,
- 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040,
- 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09,
- 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479,
- 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81,
- 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1,
- 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19,
- 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91,
- 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1,
- 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09,
- // Block 0x4f, offset 0x13c0
- 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1,
- 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1,
- 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1,
- 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991,
- 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81,
- 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a,
- 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99,
- 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89,
- 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79,
- 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19,
- 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469,
- // Block 0x50, offset 0x1400
- 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649,
- 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9,
- 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49,
- 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21,
- 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9,
- 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01,
- 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91,
- 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9,
- 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171,
- 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289,
- 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329,
- // Block 0x51, offset 0x1440
- 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1,
- 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621,
- 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739,
- 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1,
- 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9,
- 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29,
- 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079,
- 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1,
- 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171,
- 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261,
- 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301,
- // Block 0x52, offset 0x1480
- 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1,
- 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1,
- 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171,
- 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261,
- 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351,
- 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441,
- 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509,
- 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1,
- 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081,
- 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239,
- 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018,
- // Block 0x53, offset 0x14c0
- 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040,
- 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040,
- 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609,
- 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721,
- 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839,
- 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919,
- 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9,
- 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9,
- 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9,
- 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1,
- 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79,
- // Block 0x54, offset 0x1500
- 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989,
- 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040,
- 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040,
- 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040,
- 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040,
- 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040,
- 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040,
- 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,
- 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9,
- 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12,
- 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040,
- // Block 0x55, offset 0x1540
- 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0,
- 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0,
- 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55,
- 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75,
- 0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040,
- 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308,
- 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308,
- 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308,
- 0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2,
- 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35,
- 0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55,
- // Block 0x56, offset 0x1580
- 0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018,
- 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56,
- 0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95,
- 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa,
- 0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95,
- 0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99,
- 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda,
- 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040,
- 0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040,
- 0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081,
- 0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1,
- // Block 0x57, offset 0x15c0
- 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141,
- 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171,
- 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1,
- 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1,
- 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201,
- 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219,
- 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249,
- 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291,
- 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1,
- 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9,
- 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1,
- // Block 0x58, offset 0x1600
- 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321,
- 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339,
- 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369,
- 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381,
- 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1,
- 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9,
- 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9,
- 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1,
- 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441,
- 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9,
- 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0,
- // Block 0x59, offset 0x1640
- 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea,
- 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2,
- 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9,
- 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81,
- 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2,
- 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159,
- 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41,
- 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9,
- 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9,
- 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a,
- 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a,
- // Block 0x5a, offset 0x1680
- 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09,
- 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51,
- 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039,
- 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279,
- 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a,
- 0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115,
- 0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5,
- 0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295,
- 0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355,
- 0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415,
- 0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215,
- // Block 0x5b, offset 0x16c0
- 0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515,
- 0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595,
- 0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5,
- 0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655,
- 0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115,
- 0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735,
- 0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5,
- 0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5,
- 0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5,
- 0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5,
- 0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040,
- // Block 0x5c, offset 0x1700
- 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5,
- 0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715,
- 0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040,
- 0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935,
- 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040,
- 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6,
- 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35,
- 0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040,
- 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040,
- 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340,
- 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,
- // Block 0x5d, offset 0x1740
- 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08,
- 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808,
- 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08,
- 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908,
- 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08,
- 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808,
- 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040,
- 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18,
- 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818,
- 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040,
- 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040,
- // Block 0x5e, offset 0x1780
- 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08,
- 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08,
- 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08,
- 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040,
- 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040,
- 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040,
- 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18,
- 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818,
- 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040,
- 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040,
- 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040,
- // Block 0x5f, offset 0x17c0
- 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008,
- 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008,
- 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040,
- 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008,
- 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008,
- 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008,
- 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040,
- 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008,
- 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008,
- 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x3308,
- 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008,
- // Block 0x60, offset 0x1800
- 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040,
- 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008,
- 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040,
- 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008,
- 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008,
- 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008,
- 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308,
- 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040,
- 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040,
- 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040,
- 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040,
- // Block 0x61, offset 0x1840
- 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199,
- 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359,
- 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269,
- 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369,
- 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9,
- 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259,
- 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99,
- 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089,
- 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9,
- 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249,
- 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359,
- // Block 0x62, offset 0x1880
- 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269,
- 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369,
- 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9,
- 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259,
- 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99,
- 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089,
- 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9,
- 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249,
- 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71,
- 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9,
- 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369,
- // Block 0x63, offset 0x18c0
- 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9,
- 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259,
- 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99,
- 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089,
- 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040,
- 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040,
- 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71,
- 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9,
- 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1,
- 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199,
- 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259,
- // Block 0x64, offset 0x1900
- 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99,
- 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089,
- 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9,
- 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249,
- 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71,
- 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9,
- 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1,
- 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199,
- 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359,
- 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269,
- 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089,
- // Block 0x65, offset 0x1940
- 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9,
- 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040,
- 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71,
- 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9,
- 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040,
- 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199,
- 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359,
- 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269,
- 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369,
- 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9,
- 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040,
- // Block 0x66, offset 0x1980
- 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040,
- 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9,
- 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040,
- 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199,
- 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359,
- 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269,
- 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369,
- 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9,
- 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259,
- 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99,
- 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9,
- // Block 0x67, offset 0x19c0
- 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1,
- 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199,
- 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359,
- 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269,
- 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369,
- 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9,
- 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259,
- 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99,
- 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089,
- 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9,
- 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199,
- // Block 0x68, offset 0x1a00
- 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359,
- 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269,
- 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369,
- 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9,
- 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259,
- 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99,
- 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089,
- 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9,
- 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249,
- 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71,
- 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269,
- // Block 0x69, offset 0x1a40
- 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369,
- 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9,
- 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259,
- 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99,
- 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089,
- 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9,
- 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249,
- 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71,
- 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9,
- 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1,
- 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9,
- // Block 0x6a, offset 0x1a80
- 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259,
- 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99,
- 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089,
- 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9,
- 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249,
- 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71,
- 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9,
- 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1,
- 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199,
- 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359,
- 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99,
- // Block 0x6b, offset 0x1ac0
- 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089,
- 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9,
- 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249,
- 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71,
- 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9,
- 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1,
- 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099,
- 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429,
- 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71,
- 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9,
- 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9,
- // Block 0x6c, offset 0x1b00
- 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9,
- 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11,
- 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109,
- 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1,
- 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429,
- 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099,
- 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429,
- 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71,
- 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9,
- 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01,
- 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9,
- // Block 0x6d, offset 0x1b40
- 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11,
- 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109,
- 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1,
- 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429,
- 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099,
- 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429,
- 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71,
- 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9,
- 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01,
- 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1,
- 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11,
- // Block 0x6e, offset 0x1b80
- 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109,
- 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1,
- 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429,
- 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099,
- 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429,
- 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71,
- 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9,
- 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01,
- 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1,
- 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41,
- 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109,
- // Block 0x6f, offset 0x1bc0
- 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1,
- 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429,
- 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099,
- 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429,
- 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71,
- 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9,
- 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01,
- 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1,
- 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41,
- 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1,
- 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1,
- // Block 0x70, offset 0x1c00
- 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429,
- 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41,
- 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079,
- 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1,
- 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61,
- 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9,
- 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81,
- 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079,
- 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1,
- 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61,
- 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1,
- // Block 0x71, offset 0x1c40
- 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115,
- 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135,
- 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115,
- 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175,
- 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115,
- 0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08,
- 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08,
- 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08,
- 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08,
- 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08,
- 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08,
- // Block 0x72, offset 0x1c80
- 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411,
- 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1,
- 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9,
- 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231,
- 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949,
- 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040,
- 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429,
- 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339,
- 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1,
- 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351,
- 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040,
- // Block 0x73, offset 0x1cc0
- 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040,
- 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1,
- 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9,
- 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231,
- 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949,
- 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040,
- 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429,
- 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339,
- 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1,
- 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351,
- 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040,
- // Block 0x74, offset 0x1d00
- 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411,
- 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1,
- 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9,
- 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231,
- 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040,
- 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249,
- 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429,
- 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339,
- 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1,
- 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351,
- 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040,
- // Block 0x75, offset 0x1d40
- 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02,
- 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018,
- 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2,
- 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72,
- 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32,
- 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2,
- 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2,
- 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0018,
- 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199,
- 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359,
- 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99,
- // Block 0x76, offset 0x1d80
- 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089,
- 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1,
- 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018,
- 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018,
- 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018,
- 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018,
- 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018,
- 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040,
- 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018,
- 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018,
- 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018,
- // Block 0x77, offset 0x1dc0
- 0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040,
- 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040,
- 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289,
- 0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349,
- 0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409,
- 0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9,
- 0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589,
- 0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649,
- 0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709,
- 0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9,
- 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040,
- // Block 0x78, offset 0x1e00
- 0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79,
- 0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39,
- 0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9,
- 0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39,
- 0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9,
- 0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79,
- 0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39,
- 0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9,
- 0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059,
- 0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9,
- 0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179,
- // Block 0x79, offset 0x1e40
- 0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239,
- 0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9,
- 0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399,
- 0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459,
- 0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309,
- 0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559,
- 0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9,
- 0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679,
- 0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9,
- 0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d,
- 0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9,
- // Block 0x7a, offset 0x1e80
- 0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9,
- 0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959,
- 0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d,
- 0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d,
- 0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9,
- 0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99,
- 0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9,
- 0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9,
- 0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99,
- 0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39,
- 0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99,
- // Block 0x7b, offset 0x1ec0
- 0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639,
- 0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9,
- 0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d,
- 0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9,
- 0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d,
- 0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd,
- 0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979,
- 0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19,
- 0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d,
- 0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d,
- 0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59,
- // Block 0x7c, offset 0x1f00
- 0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99,
- 0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39,
- 0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9,
- 0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39,
- 0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd,
- 0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19,
- 0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9,
- 0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59,
- 0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd,
- 0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d,
- 0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079,
- // Block 0x7d, offset 0x1f40
- 0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d,
- 0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d,
- 0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879,
- 0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919,
- 0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd,
- 0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9,
- 0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99,
- 0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39,
- 0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9,
- 0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d,
- 0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79,
- // Block 0x7e, offset 0x1f80
- 0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19,
- 0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9,
- 0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59,
- 0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9,
- 0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d,
- 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040,
- 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040,
- 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040,
- 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040,
- 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040,
- 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040,
-}
-
-// idnaIndex: 36 blocks, 2304 entries, 4608 bytes
-// Block 0 is the zero block.
-var idnaIndex = [2304]uint16{
- // Block 0x0, offset 0x0
- // Block 0x1, offset 0x40
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,
- 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,
- 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84,
- 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88,
- 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,
- 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c,
- 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21,
- // Block 0x4, offset 0x100
- 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16,
- 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d,
- 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91,
- 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96,
- // Block 0x5, offset 0x140
- 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e,
- 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6,
- 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f,
- 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae,
- 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6,
- 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe,
- 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3,
- 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c,
- // Block 0x6, offset 0x180
- 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b,
- 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b,
- 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b,
- 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b,
- 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b,
- 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0,
- 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5,
- 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1,
- 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41,
- 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f,
- 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f,
- 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f,
- 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f,
- 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f,
- 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f,
- // Block 0x8, offset 0x200
- 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f,
- 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f,
- 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f,
- 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f,
- 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f,
- 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f,
- 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b,
- 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f,
- // Block 0x9, offset 0x240
- 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f,
- 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f,
- 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f,
- 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f,
- 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f,
- 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f,
- 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f,
- 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f,
- // Block 0xa, offset 0x280
- 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f,
- 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f,
- 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f,
- 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f,
- 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f,
- 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f,
- 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f,
- 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f,
- 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f,
- 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f,
- 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8,
- 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0,
- 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8,
- 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f,
- 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f,
- // Block 0xc, offset 0x300
- 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f,
- 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f,
- 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f,
- 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa,
- // Block 0xd, offset 0x340
- 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba,
- 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba,
- 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba,
- 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba,
- 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba,
- 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba,
- 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba,
- 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba,
- // Block 0xe, offset 0x380
- 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba,
- 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba,
- 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba,
- 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba,
- 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe,
- 0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c,
- 0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52,
- 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108,
- 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e,
- 0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba,
- 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba,
- 0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c,
- 0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba,
- 0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0x126, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba,
- 0x3f8: 0xba, 0x3f9: 0x127, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0x128, 0x3fd: 0x129, 0x3fe: 0xba, 0x3ff: 0xba,
- // Block 0x10, offset 0x400
- 0x400: 0x12a, 0x401: 0x12b, 0x402: 0x12c, 0x403: 0x12d, 0x404: 0x12e, 0x405: 0x12f, 0x406: 0x130, 0x407: 0x131,
- 0x408: 0x132, 0x409: 0xba, 0x40a: 0x133, 0x40b: 0x134, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba,
- 0x410: 0x135, 0x411: 0x136, 0x412: 0x137, 0x413: 0x138, 0x414: 0xba, 0x415: 0xba, 0x416: 0x139, 0x417: 0x13a,
- 0x418: 0x13b, 0x419: 0x13c, 0x41a: 0x13d, 0x41b: 0x13e, 0x41c: 0x13f, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba,
- 0x420: 0x140, 0x421: 0xba, 0x422: 0x141, 0x423: 0x142, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba,
- 0x428: 0x143, 0x429: 0x144, 0x42a: 0x145, 0x42b: 0x146, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba,
- 0x430: 0x147, 0x431: 0x148, 0x432: 0x149, 0x433: 0xba, 0x434: 0x14a, 0x435: 0x14b, 0x436: 0x14c, 0x437: 0xba,
- 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0x14d, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba,
- // Block 0x11, offset 0x440
- 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f,
- 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x14e, 0x44f: 0xba,
- 0x450: 0x9b, 0x451: 0x14f, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x150, 0x456: 0xba, 0x457: 0xba,
- 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba,
- 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba,
- 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba,
- 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba,
- 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba,
- // Block 0x12, offset 0x480
- 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f,
- 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f,
- 0x490: 0x151, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba,
- 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba,
- 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba,
- 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba,
- 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba,
- 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba,
- 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba,
- 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f,
- 0x4d8: 0x9f, 0x4d9: 0x152, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba,
- 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba,
- 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba,
- 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba,
- 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba,
- // Block 0x14, offset 0x500
- 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba,
- 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba,
- 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba,
- 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba,
- 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f,
- 0x528: 0x146, 0x529: 0x153, 0x52a: 0xba, 0x52b: 0x154, 0x52c: 0x155, 0x52d: 0x156, 0x52e: 0x157, 0x52f: 0xba,
- 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba,
- 0x538: 0xba, 0x539: 0x158, 0x53a: 0x159, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x15a, 0x53e: 0x15b, 0x53f: 0x15c,
- // Block 0x15, offset 0x540
- 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f,
- 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f,
- 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f,
- 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x15d,
- 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f,
- 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x15e, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba,
- 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba,
- 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba,
- // Block 0x16, offset 0x580
- 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x15f, 0x585: 0x160, 0x586: 0x9f, 0x587: 0x9f,
- 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x161, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba,
- 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba,
- 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba,
- 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba,
- 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba,
- 0x5b0: 0x9f, 0x5b1: 0x162, 0x5b2: 0x163, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba,
- 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x164, 0x5c4: 0x165, 0x5c5: 0x166, 0x5c6: 0x167, 0x5c7: 0x168,
- 0x5c8: 0x9b, 0x5c9: 0x169, 0x5ca: 0xba, 0x5cb: 0x16a, 0x5cc: 0x9b, 0x5cd: 0x16b, 0x5ce: 0xba, 0x5cf: 0xba,
- 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66,
- 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e,
- 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b,
- 0x5e8: 0x16c, 0x5e9: 0x16d, 0x5ea: 0x16e, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba,
- 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba,
- 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba,
- // Block 0x18, offset 0x600
- 0x600: 0x16f, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba,
- 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba,
- 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba,
- 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba,
- 0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x170, 0x624: 0x6f, 0x625: 0x171, 0x626: 0xba, 0x627: 0xba,
- 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba,
- 0x630: 0xba, 0x631: 0x172, 0x632: 0x173, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba,
- 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x174, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba,
- // Block 0x19, offset 0x640
- 0x640: 0x175, 0x641: 0x9b, 0x642: 0x176, 0x643: 0x177, 0x644: 0x73, 0x645: 0x74, 0x646: 0x178, 0x647: 0x179,
- 0x648: 0x75, 0x649: 0x17a, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b,
- 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b,
- 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x17b, 0x65c: 0x9b, 0x65d: 0x17c, 0x65e: 0x9b, 0x65f: 0x17d,
- 0x660: 0x17e, 0x661: 0x17f, 0x662: 0x180, 0x663: 0xba, 0x664: 0x181, 0x665: 0x182, 0x666: 0x183, 0x667: 0x184,
- 0x668: 0xba, 0x669: 0x185, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba,
- 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba,
- 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba,
- // Block 0x1a, offset 0x680
- 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f,
- 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f,
- 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f,
- 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x186, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f,
- 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f,
- 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f,
- 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f,
- 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f,
- 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f,
- 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f,
- 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x187, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f,
- 0x6e0: 0x188, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f,
- 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f,
- 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f,
- 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f,
- // Block 0x1c, offset 0x700
- 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f,
- 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f,
- 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f,
- 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f,
- 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f,
- 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f,
- 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f,
- 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x189, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f,
- // Block 0x1d, offset 0x740
- 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f,
- 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f,
- 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f,
- 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f,
- 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f,
- 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x18a,
- 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba,
- 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba,
- // Block 0x1e, offset 0x780
- 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba,
- 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba,
- 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba,
- 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba,
- 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x18b, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x18c, 0x7a7: 0x7b,
- 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba,
- 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba,
- 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba,
- // Block 0x1f, offset 0x7c0
- 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07,
- 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17,
- 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07,
- 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c,
- 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b,
- 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b,
- // Block 0x20, offset 0x800
- 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b,
- 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b,
- 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b,
- 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b,
- 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b,
- 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b,
- 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b,
- 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b,
- // Block 0x21, offset 0x840
- 0x840: 0x18d, 0x841: 0x18e, 0x842: 0xba, 0x843: 0xba, 0x844: 0x18f, 0x845: 0x18f, 0x846: 0x18f, 0x847: 0x190,
- 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba,
- 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba,
- 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba,
- 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba,
- 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba,
- 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba,
- 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba,
- // Block 0x22, offset 0x880
- 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b,
- 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b,
- 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b,
- 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b,
- 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b,
- 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b,
- 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b,
- 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b,
- 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b,
-}
-
-// idnaSparseOffset: 276 entries, 552 bytes
-var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x86, 0x8b, 0x94, 0xa4, 0xb2, 0xbe, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x224, 0x22e, 0x23a, 0x246, 0x252, 0x25a, 0x25f, 0x269, 0x27a, 0x27e, 0x289, 0x28d, 0x296, 0x29e, 0x2a4, 0x2a9, 0x2ac, 0x2b0, 0x2b6, 0x2ba, 0x2be, 0x2c2, 0x2c7, 0x2cd, 0x2d5, 0x2dc, 0x2e7, 0x2f1, 0x2f5, 0x2f8, 0x2fe, 0x302, 0x304, 0x307, 0x309, 0x30c, 0x316, 0x319, 0x328, 0x32c, 0x331, 0x334, 0x338, 0x33d, 0x342, 0x348, 0x34e, 0x35d, 0x363, 0x367, 0x376, 0x37b, 0x383, 0x38d, 0x398, 0x3a0, 0x3b1, 0x3ba, 0x3ca, 0x3d7, 0x3e1, 0x3e6, 0x3f3, 0x3f7, 0x3fc, 0x3fe, 0x402, 0x404, 0x408, 0x411, 0x417, 0x41b, 0x42b, 0x435, 0x43a, 0x43d, 0x443, 0x44a, 0x44f, 0x453, 0x459, 0x45e, 0x467, 0x46c, 0x472, 0x479, 0x480, 0x487, 0x48b, 0x490, 0x493, 0x498, 0x4a4, 0x4aa, 0x4af, 0x4b6, 0x4be, 0x4c3, 0x4c7, 0x4d7, 0x4de, 0x4e2, 0x4e6, 0x4ed, 0x4ef, 0x4f2, 0x4f5, 0x4f9, 0x502, 0x506, 0x50e, 0x516, 0x51c, 0x525, 0x531, 0x538, 0x541, 0x54b, 0x552, 0x560, 0x56d, 0x57a, 0x583, 0x587, 0x596, 0x59e, 0x5a9, 0x5b2, 0x5b8, 0x5c0, 0x5c9, 0x5d3, 0x5d6, 0x5e2, 0x5eb, 0x5ee, 0x5f3, 0x5fe, 0x607, 0x613, 0x616, 0x620, 0x629, 0x635, 0x642, 0x64f, 0x65d, 0x664, 0x667, 0x66c, 0x66f, 0x672, 0x675, 0x67c, 0x683, 0x687, 0x692, 0x695, 0x698, 0x69b, 0x6a1, 0x6a6, 0x6aa, 0x6ad, 0x6b0, 0x6b3, 0x6b6, 0x6b9, 0x6be, 0x6c8, 0x6cb, 0x6cf, 0x6de, 0x6ea, 0x6ee, 0x6f3, 0x6f7, 0x6fc, 0x700, 0x705, 0x70e, 0x719, 0x71f, 0x727, 0x72a, 0x72d, 0x731, 0x735, 0x73b, 0x741, 0x746, 0x749, 0x759, 0x760, 0x763, 0x766, 0x76a, 0x770, 0x775, 0x77a, 0x782, 0x787, 0x78b, 0x78f, 0x792, 0x795, 0x799, 0x79d, 0x7a0, 0x7b0, 0x7c1, 0x7c6, 0x7c8, 0x7ca}
-
-// idnaSparseValues: 1997 entries, 7988 bytes
-var idnaSparseValues = [1997]valueRange{
- // Block 0x0, offset 0x0
- {value: 0x0000, lo: 0x07},
- {value: 0xe105, lo: 0x80, hi: 0x96},
- {value: 0x0018, lo: 0x97, hi: 0x97},
- {value: 0xe105, lo: 0x98, hi: 0x9e},
- {value: 0x001f, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbf},
- // Block 0x1, offset 0x8
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0xe01d, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0335, lo: 0x83, hi: 0x83},
- {value: 0x034d, lo: 0x84, hi: 0x84},
- {value: 0x0365, lo: 0x85, hi: 0x85},
- {value: 0xe00d, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0xe00d, lo: 0x88, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x89},
- {value: 0xe00d, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe00d, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0x8d},
- {value: 0xe00d, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0xbf},
- // Block 0x2, offset 0x19
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x0249, lo: 0xb0, hi: 0xb0},
- {value: 0x037d, lo: 0xb1, hi: 0xb1},
- {value: 0x0259, lo: 0xb2, hi: 0xb2},
- {value: 0x0269, lo: 0xb3, hi: 0xb3},
- {value: 0x034d, lo: 0xb4, hi: 0xb4},
- {value: 0x0395, lo: 0xb5, hi: 0xb5},
- {value: 0xe1bd, lo: 0xb6, hi: 0xb6},
- {value: 0x0279, lo: 0xb7, hi: 0xb7},
- {value: 0x0289, lo: 0xb8, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbf},
- // Block 0x3, offset 0x25
- {value: 0x0000, lo: 0x01},
- {value: 0x3308, lo: 0x80, hi: 0xbf},
- // Block 0x4, offset 0x27
- {value: 0x0000, lo: 0x04},
- {value: 0x03f5, lo: 0x80, hi: 0x8f},
- {value: 0xe105, lo: 0x90, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x5, offset 0x2c
- {value: 0x0000, lo: 0x06},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x0545, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x0008, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x6, offset 0x33
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0401, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0x0018, lo: 0x89, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0xbd},
- {value: 0x0818, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x7, offset 0x3e
- {value: 0x0000, lo: 0x0b},
- {value: 0x0818, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x82},
- {value: 0x0818, lo: 0x83, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x85},
- {value: 0x0818, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xae},
- {value: 0x0808, lo: 0xaf, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x8, offset 0x4a
- {value: 0x0000, lo: 0x03},
- {value: 0x0a08, lo: 0x80, hi: 0x87},
- {value: 0x0c08, lo: 0x88, hi: 0x99},
- {value: 0x0a08, lo: 0x9a, hi: 0xbf},
- // Block 0x9, offset 0x4e
- {value: 0x0000, lo: 0x0e},
- {value: 0x3308, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0c08, lo: 0x8d, hi: 0x8d},
- {value: 0x0a08, lo: 0x8e, hi: 0x98},
- {value: 0x0c08, lo: 0x99, hi: 0x9b},
- {value: 0x0a08, lo: 0x9c, hi: 0xaa},
- {value: 0x0c08, lo: 0xab, hi: 0xac},
- {value: 0x0a08, lo: 0xad, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb1},
- {value: 0x0a08, lo: 0xb2, hi: 0xb2},
- {value: 0x0c08, lo: 0xb3, hi: 0xb4},
- {value: 0x0a08, lo: 0xb5, hi: 0xb7},
- {value: 0x0c08, lo: 0xb8, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbf},
- // Block 0xa, offset 0x5d
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xb0},
- {value: 0x0808, lo: 0xb1, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xb, offset 0x62
- {value: 0x0000, lo: 0x09},
- {value: 0x0808, lo: 0x80, hi: 0x89},
- {value: 0x0a08, lo: 0x8a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x0818, lo: 0xbe, hi: 0xbf},
- // Block 0xc, offset 0x6c
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x99},
- {value: 0x0808, lo: 0x9a, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa3},
- {value: 0x0808, lo: 0xa4, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa7},
- {value: 0x0808, lo: 0xa8, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0818, lo: 0xb0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xd, offset 0x78
- {value: 0x0000, lo: 0x0d},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0a08, lo: 0xa0, hi: 0xa9},
- {value: 0x0c08, lo: 0xaa, hi: 0xac},
- {value: 0x0808, lo: 0xad, hi: 0xad},
- {value: 0x0c08, lo: 0xae, hi: 0xae},
- {value: 0x0a08, lo: 0xaf, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb2},
- {value: 0x0a08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0a08, lo: 0xb6, hi: 0xb8},
- {value: 0x0c08, lo: 0xb9, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0xe, offset 0x86
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x92},
- {value: 0x3308, lo: 0x93, hi: 0xa1},
- {value: 0x0840, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xbf},
- // Block 0xf, offset 0x8b
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x10, offset 0x94
- {value: 0x0000, lo: 0x0f},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x85},
- {value: 0x3008, lo: 0x86, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x3008, lo: 0x8a, hi: 0x8c},
- {value: 0x3b08, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x11, offset 0xa4
- {value: 0x0000, lo: 0x0d},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x12, offset 0xb2
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xba},
- {value: 0x3b08, lo: 0xbb, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x13, offset 0xbe
- {value: 0x0000, lo: 0x0b},
- {value: 0x0040, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x14, offset 0xca
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x89},
- {value: 0x3b08, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x3008, lo: 0x98, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x15, offset 0xdb
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb2},
- {value: 0x08f1, lo: 0xb3, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb9},
- {value: 0x3b08, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0x16, offset 0xe5
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x8e},
- {value: 0x0018, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0xbf},
- // Block 0x17, offset 0xec
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0961, lo: 0x9c, hi: 0x9c},
- {value: 0x0999, lo: 0x9d, hi: 0x9d},
- {value: 0x0008, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x18, offset 0xf9
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe03d, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x19, offset 0x10a
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0x1a, offset 0x111
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x1b, offset 0x11c
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x3008, lo: 0x96, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x3308, lo: 0x9e, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xa1},
- {value: 0x3008, lo: 0xa2, hi: 0xa4},
- {value: 0x0008, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xbf},
- // Block 0x1c, offset 0x12b
- {value: 0x0000, lo: 0x0d},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x8c},
- {value: 0x3308, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x3008, lo: 0x9a, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x1d, offset 0x139
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x86},
- {value: 0x055d, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8c},
- {value: 0x055d, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbb},
- {value: 0xe105, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0x1e, offset 0x143
- {value: 0x0000, lo: 0x01},
- {value: 0x0018, lo: 0x80, hi: 0xbf},
- // Block 0x1f, offset 0x145
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa0},
- {value: 0x2018, lo: 0xa1, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x20, offset 0x14a
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa7},
- {value: 0x2018, lo: 0xa8, hi: 0xbf},
- // Block 0x21, offset 0x14d
- {value: 0x0000, lo: 0x02},
- {value: 0x2018, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0xbf},
- // Block 0x22, offset 0x150
- {value: 0x0000, lo: 0x01},
- {value: 0x0008, lo: 0x80, hi: 0xbf},
- // Block 0x23, offset 0x152
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x24, offset 0x15e
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x25, offset 0x169
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x26, offset 0x171
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x27, offset 0x177
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x28, offset 0x17d
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x29, offset 0x182
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x2a, offset 0x187
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x2b, offset 0x18a
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xbf},
- // Block 0x2c, offset 0x18e
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x2d, offset 0x194
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x2e, offset 0x199
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x3b08, lo: 0x94, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x2f, offset 0x1a5
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x30, offset 0x1af
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xb3},
- {value: 0x3340, lo: 0xb4, hi: 0xb5},
- {value: 0x3008, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x31, offset 0x1b5
- {value: 0x0000, lo: 0x10},
- {value: 0x3008, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x91},
- {value: 0x3b08, lo: 0x92, hi: 0x92},
- {value: 0x3308, lo: 0x93, hi: 0x93},
- {value: 0x0018, lo: 0x94, hi: 0x96},
- {value: 0x0008, lo: 0x97, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x32, offset 0x1c6
- {value: 0x0000, lo: 0x09},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x86},
- {value: 0x0218, lo: 0x87, hi: 0x87},
- {value: 0x0018, lo: 0x88, hi: 0x8a},
- {value: 0x33c0, lo: 0x8b, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0208, lo: 0xa0, hi: 0xbf},
- // Block 0x33, offset 0x1d0
- {value: 0x0000, lo: 0x02},
- {value: 0x0208, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x34, offset 0x1d3
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0208, lo: 0x87, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xa9},
- {value: 0x0208, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x35, offset 0x1db
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0x36, offset 0x1de
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x37, offset 0x1eb
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x38, offset 0x1f3
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x39, offset 0x1f7
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0028, lo: 0x9a, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xbf},
- // Block 0x3a, offset 0x1fe
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x3308, lo: 0x97, hi: 0x98},
- {value: 0x3008, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x3b, offset 0x206
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x94},
- {value: 0x3008, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3b08, lo: 0xa0, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xac},
- {value: 0x3008, lo: 0xad, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x3c, offset 0x216
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xbd},
- {value: 0x3318, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x3d, offset 0x222
- {value: 0x0000, lo: 0x01},
- {value: 0x0040, lo: 0x80, hi: 0xbf},
- // Block 0x3e, offset 0x224
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3008, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbf},
- // Block 0x3f, offset 0x22e
- {value: 0x0000, lo: 0x0b},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x3808, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x40, offset 0x23a
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3808, lo: 0xaa, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xbf},
- // Block 0x41, offset 0x246
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3008, lo: 0xaa, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3808, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbf},
- // Block 0x42, offset 0x252
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x3008, lo: 0xa4, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbf},
- // Block 0x43, offset 0x25a
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x44, offset 0x25f
- {value: 0x0000, lo: 0x09},
- {value: 0x0e29, lo: 0x80, hi: 0x80},
- {value: 0x0e41, lo: 0x81, hi: 0x81},
- {value: 0x0e59, lo: 0x82, hi: 0x82},
- {value: 0x0e71, lo: 0x83, hi: 0x83},
- {value: 0x0e89, lo: 0x84, hi: 0x85},
- {value: 0x0ea1, lo: 0x86, hi: 0x86},
- {value: 0x0eb9, lo: 0x87, hi: 0x87},
- {value: 0x057d, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0x45, offset 0x269
- {value: 0x0000, lo: 0x10},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x92},
- {value: 0x0018, lo: 0x93, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa8},
- {value: 0x0008, lo: 0xa9, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x46, offset 0x27a
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0x47, offset 0x27e
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x87},
- {value: 0xe045, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0xe045, lo: 0x98, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0xe045, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbf},
- // Block 0x48, offset 0x289
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x3318, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbf},
- // Block 0x49, offset 0x28d
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x88},
- {value: 0x24c1, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x4a, offset 0x296
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x24f1, lo: 0xac, hi: 0xac},
- {value: 0x2529, lo: 0xad, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xae},
- {value: 0x2579, lo: 0xaf, hi: 0xaf},
- {value: 0x25b1, lo: 0xb0, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0x4b, offset 0x29e
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x9f},
- {value: 0x0080, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xad},
- {value: 0x0080, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x4c, offset 0x2a4
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xa8},
- {value: 0x09c5, lo: 0xa9, hi: 0xa9},
- {value: 0x09e5, lo: 0xaa, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xbf},
- // Block 0x4d, offset 0x2a9
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xbf},
- // Block 0x4e, offset 0x2ac
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x28c1, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x4f, offset 0x2b0
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0e66, lo: 0xb4, hi: 0xb4},
- {value: 0x292a, lo: 0xb5, hi: 0xb5},
- {value: 0x0e86, lo: 0xb6, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x50, offset 0x2b6
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x9b},
- {value: 0x2941, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0xbf},
- // Block 0x51, offset 0x2ba
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x52, offset 0x2be
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0xbf},
- // Block 0x53, offset 0x2c2
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x54, offset 0x2c7
- {value: 0x0000, lo: 0x05},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x03f5, lo: 0x90, hi: 0x9f},
- {value: 0x0ea5, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x55, offset 0x2cd
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x56, offset 0x2d5
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xae},
- {value: 0xe075, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0x57, offset 0x2dc
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x58, offset 0x2e7
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xbf},
- // Block 0x59, offset 0x2f1
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x5a, offset 0x2f5
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0xbf},
- // Block 0x5b, offset 0x2f8
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9e},
- {value: 0x0edd, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x5c, offset 0x2fe
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb2},
- {value: 0x0efd, lo: 0xb3, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x5d, offset 0x302
- {value: 0x0020, lo: 0x01},
- {value: 0x0f1d, lo: 0x80, hi: 0xbf},
- // Block 0x5e, offset 0x304
- {value: 0x0020, lo: 0x02},
- {value: 0x171d, lo: 0x80, hi: 0x8f},
- {value: 0x18fd, lo: 0x90, hi: 0xbf},
- // Block 0x5f, offset 0x307
- {value: 0x0020, lo: 0x01},
- {value: 0x1efd, lo: 0x80, hi: 0xbf},
- // Block 0x60, offset 0x309
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x61, offset 0x30c
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9a},
- {value: 0x29e2, lo: 0x9b, hi: 0x9b},
- {value: 0x2a0a, lo: 0x9c, hi: 0x9c},
- {value: 0x0008, lo: 0x9d, hi: 0x9e},
- {value: 0x2a31, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xbf},
- // Block 0x62, offset 0x316
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbe},
- {value: 0x2a69, lo: 0xbf, hi: 0xbf},
- // Block 0x63, offset 0x319
- {value: 0x0000, lo: 0x0e},
- {value: 0x0040, lo: 0x80, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xb0},
- {value: 0x2a1d, lo: 0xb1, hi: 0xb1},
- {value: 0x2a3d, lo: 0xb2, hi: 0xb2},
- {value: 0x2a5d, lo: 0xb3, hi: 0xb3},
- {value: 0x2a7d, lo: 0xb4, hi: 0xb4},
- {value: 0x2a5d, lo: 0xb5, hi: 0xb5},
- {value: 0x2a9d, lo: 0xb6, hi: 0xb6},
- {value: 0x2abd, lo: 0xb7, hi: 0xb7},
- {value: 0x2add, lo: 0xb8, hi: 0xb9},
- {value: 0x2afd, lo: 0xba, hi: 0xbb},
- {value: 0x2b1d, lo: 0xbc, hi: 0xbd},
- {value: 0x2afd, lo: 0xbe, hi: 0xbf},
- // Block 0x64, offset 0x328
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x65, offset 0x32c
- {value: 0x0030, lo: 0x04},
- {value: 0x2aa2, lo: 0x80, hi: 0x9d},
- {value: 0x305a, lo: 0x9e, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x30a2, lo: 0xa0, hi: 0xbf},
- // Block 0x66, offset 0x331
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x67, offset 0x334
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x68, offset 0x338
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x69, offset 0x33d
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0x6a, offset 0x342
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb1},
- {value: 0x0018, lo: 0xb2, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6b, offset 0x348
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0xb6},
- {value: 0x0008, lo: 0xb7, hi: 0xb7},
- {value: 0x2009, lo: 0xb8, hi: 0xb8},
- {value: 0x6e89, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xbf},
- // Block 0x6c, offset 0x34e
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x3308, lo: 0x8b, hi: 0x8b},
- {value: 0x0008, lo: 0x8c, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x6d, offset 0x35d
- {value: 0x0000, lo: 0x05},
- {value: 0x0208, lo: 0x80, hi: 0xb1},
- {value: 0x0108, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6e, offset 0x363
- {value: 0x0000, lo: 0x03},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xbf},
- // Block 0x6f, offset 0x367
- {value: 0x0000, lo: 0x0e},
- {value: 0x3008, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xba},
- {value: 0x0008, lo: 0xbb, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x70, offset 0x376
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x71, offset 0x37b
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x91},
- {value: 0x3008, lo: 0x92, hi: 0x92},
- {value: 0x3808, lo: 0x93, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x72, offset 0x383
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb9},
- {value: 0x3008, lo: 0xba, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbf},
- // Block 0x73, offset 0x38d
- {value: 0x0000, lo: 0x0a},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x74, offset 0x398
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x75, offset 0x3a0
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8c},
- {value: 0x3008, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbd},
- {value: 0x0008, lo: 0xbe, hi: 0xbf},
- // Block 0x76, offset 0x3b1
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x77, offset 0x3ba
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x9a},
- {value: 0x0008, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3b08, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x78, offset 0x3ca
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x90},
- {value: 0x0008, lo: 0x91, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x79, offset 0x3d7
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x4465, lo: 0x9c, hi: 0x9c},
- {value: 0x447d, lo: 0x9d, hi: 0x9d},
- {value: 0x2971, lo: 0x9e, hi: 0x9e},
- {value: 0xe06d, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xaf},
- {value: 0x4495, lo: 0xb0, hi: 0xbf},
- // Block 0x7a, offset 0x3e1
- {value: 0x0000, lo: 0x04},
- {value: 0x44b5, lo: 0x80, hi: 0x8f},
- {value: 0x44d5, lo: 0x90, hi: 0x9f},
- {value: 0x44f5, lo: 0xa0, hi: 0xaf},
- {value: 0x44d5, lo: 0xb0, hi: 0xbf},
- // Block 0x7b, offset 0x3e6
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3b08, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x7c, offset 0x3f3
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x7d, offset 0x3f7
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x7e, offset 0x3fc
- {value: 0x0020, lo: 0x01},
- {value: 0x4515, lo: 0x80, hi: 0xbf},
- // Block 0x7f, offset 0x3fe
- {value: 0x0020, lo: 0x03},
- {value: 0x4d15, lo: 0x80, hi: 0x94},
- {value: 0x4ad5, lo: 0x95, hi: 0x95},
- {value: 0x4fb5, lo: 0x96, hi: 0xbf},
- // Block 0x80, offset 0x402
- {value: 0x0020, lo: 0x01},
- {value: 0x54f5, lo: 0x80, hi: 0xbf},
- // Block 0x81, offset 0x404
- {value: 0x0020, lo: 0x03},
- {value: 0x5cf5, lo: 0x80, hi: 0x84},
- {value: 0x5655, lo: 0x85, hi: 0x85},
- {value: 0x5d95, lo: 0x86, hi: 0xbf},
- // Block 0x82, offset 0x408
- {value: 0x0020, lo: 0x08},
- {value: 0x6b55, lo: 0x80, hi: 0x8f},
- {value: 0x6d15, lo: 0x90, hi: 0x90},
- {value: 0x6d55, lo: 0x91, hi: 0xab},
- {value: 0x6ea1, lo: 0xac, hi: 0xac},
- {value: 0x70b5, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x70d5, lo: 0xb0, hi: 0xbf},
- // Block 0x83, offset 0x411
- {value: 0x0020, lo: 0x05},
- {value: 0x72d5, lo: 0x80, hi: 0xad},
- {value: 0x6535, lo: 0xae, hi: 0xae},
- {value: 0x7895, lo: 0xaf, hi: 0xb5},
- {value: 0x6f55, lo: 0xb6, hi: 0xb6},
- {value: 0x7975, lo: 0xb7, hi: 0xbf},
- // Block 0x84, offset 0x417
- {value: 0x0028, lo: 0x03},
- {value: 0x7c21, lo: 0x80, hi: 0x82},
- {value: 0x7be1, lo: 0x83, hi: 0x83},
- {value: 0x7c99, lo: 0x84, hi: 0xbf},
- // Block 0x85, offset 0x41b
- {value: 0x0038, lo: 0x0f},
- {value: 0x9db1, lo: 0x80, hi: 0x83},
- {value: 0x9e59, lo: 0x84, hi: 0x85},
- {value: 0x9e91, lo: 0x86, hi: 0x87},
- {value: 0x9ec9, lo: 0x88, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0xa089, lo: 0x92, hi: 0x97},
- {value: 0xa1a1, lo: 0x98, hi: 0x9c},
- {value: 0xa281, lo: 0x9d, hi: 0xb3},
- {value: 0x9d41, lo: 0xb4, hi: 0xb4},
- {value: 0x9db1, lo: 0xb5, hi: 0xb5},
- {value: 0xa789, lo: 0xb6, hi: 0xbb},
- {value: 0xa869, lo: 0xbc, hi: 0xbc},
- {value: 0xa7f9, lo: 0xbd, hi: 0xbd},
- {value: 0xa8d9, lo: 0xbe, hi: 0xbf},
- // Block 0x86, offset 0x42b
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x0008, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x87, offset 0x435
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0x88, offset 0x43a
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x89, offset 0x43d
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x8a, offset 0x443
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x8b, offset 0x44a
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x8c, offset 0x44f
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x8d, offset 0x453
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x8e, offset 0x459
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xbf},
- // Block 0x8f, offset 0x45e
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x90, offset 0x467
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x91, offset 0x46c
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x92, offset 0x472
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x97},
- {value: 0x8ad5, lo: 0x98, hi: 0x9f},
- {value: 0x8aed, lo: 0xa0, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xbf},
- // Block 0x93, offset 0x479
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x8aed, lo: 0xb0, hi: 0xb7},
- {value: 0x8ad5, lo: 0xb8, hi: 0xbf},
- // Block 0x94, offset 0x480
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x95, offset 0x487
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x96, offset 0x48b
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xae},
- {value: 0x0018, lo: 0xaf, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x97, offset 0x490
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x98, offset 0x493
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xbf},
- // Block 0x99, offset 0x498
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0808, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0808, lo: 0x8a, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb6},
- {value: 0x0808, lo: 0xb7, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbb},
- {value: 0x0808, lo: 0xbc, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x0808, lo: 0xbf, hi: 0xbf},
- // Block 0x9a, offset 0x4a4
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x96},
- {value: 0x0818, lo: 0x97, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb6},
- {value: 0x0818, lo: 0xb7, hi: 0xbf},
- // Block 0x9b, offset 0x4aa
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa6},
- {value: 0x0818, lo: 0xa7, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x9c, offset 0x4af
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xba},
- {value: 0x0818, lo: 0xbb, hi: 0xbf},
- // Block 0x9d, offset 0x4b6
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0818, lo: 0x96, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbe},
- {value: 0x0818, lo: 0xbf, hi: 0xbf},
- // Block 0x9e, offset 0x4be
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbb},
- {value: 0x0818, lo: 0xbc, hi: 0xbd},
- {value: 0x0808, lo: 0xbe, hi: 0xbf},
- // Block 0x9f, offset 0x4c3
- {value: 0x0000, lo: 0x03},
- {value: 0x0818, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x0818, lo: 0x92, hi: 0xbf},
- // Block 0xa0, offset 0x4c7
- {value: 0x0000, lo: 0x0f},
- {value: 0x0808, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x94},
- {value: 0x0808, lo: 0x95, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0x98},
- {value: 0x0808, lo: 0x99, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xa1, offset 0x4d7
- {value: 0x0000, lo: 0x06},
- {value: 0x0818, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x0818, lo: 0x90, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xbc},
- {value: 0x0818, lo: 0xbd, hi: 0xbf},
- // Block 0xa2, offset 0x4de
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0x9c},
- {value: 0x0818, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xa3, offset 0x4e2
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb8},
- {value: 0x0018, lo: 0xb9, hi: 0xbf},
- // Block 0xa4, offset 0x4e6
- {value: 0x0000, lo: 0x06},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0818, lo: 0x98, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb7},
- {value: 0x0818, lo: 0xb8, hi: 0xbf},
- // Block 0xa5, offset 0x4ed
- {value: 0x0000, lo: 0x01},
- {value: 0x0808, lo: 0x80, hi: 0xbf},
- // Block 0xa6, offset 0x4ef
- {value: 0x0000, lo: 0x02},
- {value: 0x0808, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0xa7, offset 0x4f2
- {value: 0x0000, lo: 0x02},
- {value: 0x03dd, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xa8, offset 0x4f5
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xbf},
- // Block 0xa9, offset 0x4f9
- {value: 0x0000, lo: 0x08},
- {value: 0x0908, lo: 0x80, hi: 0x80},
- {value: 0x0a08, lo: 0x81, hi: 0xa1},
- {value: 0x0c08, lo: 0xa2, hi: 0xa2},
- {value: 0x0a08, lo: 0xa3, hi: 0xa3},
- {value: 0x3308, lo: 0xa4, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0808, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xaa, offset 0x502
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0818, lo: 0xa0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xab, offset 0x506
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x9c},
- {value: 0x0818, lo: 0x9d, hi: 0xa6},
- {value: 0x0808, lo: 0xa7, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0a08, lo: 0xb0, hi: 0xb2},
- {value: 0x0c08, lo: 0xb3, hi: 0xb3},
- {value: 0x0a08, lo: 0xb4, hi: 0xbf},
- // Block 0xac, offset 0x50e
- {value: 0x0000, lo: 0x07},
- {value: 0x0a08, lo: 0x80, hi: 0x84},
- {value: 0x0808, lo: 0x85, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x90},
- {value: 0x0a18, lo: 0x91, hi: 0x93},
- {value: 0x0c18, lo: 0x94, hi: 0x94},
- {value: 0x0818, lo: 0x95, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xad, offset 0x516
- {value: 0x0000, lo: 0x05},
- {value: 0x3008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xae, offset 0x51c
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x91},
- {value: 0x0018, lo: 0x92, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xaf, offset 0x525
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0xb0, offset 0x531
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb1, offset 0x538
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb2},
- {value: 0x3b08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xbf},
- // Block 0xb2, offset 0x541
- {value: 0x0000, lo: 0x09},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x3008, lo: 0x85, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xb3, offset 0x54b
- {value: 0x0000, lo: 0x06},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xbe},
- {value: 0x3008, lo: 0xbf, hi: 0xbf},
- // Block 0xb4, offset 0x552
- {value: 0x0000, lo: 0x0d},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xb5, offset 0x560
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3808, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xb6, offset 0x56d
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0008, lo: 0x9f, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xb7, offset 0x57a
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x3308, lo: 0x9f, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa9},
- {value: 0x3b08, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb8, offset 0x583
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xb9, offset 0x587
- {value: 0x0000, lo: 0x0e},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x84},
- {value: 0x3008, lo: 0x85, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9d},
- {value: 0x3308, lo: 0x9e, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xba, offset 0x596
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xbb, offset 0x59e
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x85},
- {value: 0x0018, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xbc, offset 0x5a9
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xbd, offset 0x5b2
- {value: 0x0000, lo: 0x05},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9b},
- {value: 0x3308, lo: 0x9c, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xbe, offset 0x5b8
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xbf, offset 0x5c0
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xc0, offset 0x5c9
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb5},
- {value: 0x3808, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0xc1, offset 0x5d3
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0xbf},
- // Block 0xc2, offset 0x5d6
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0xc3, offset 0x5e2
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0xc4, offset 0x5eb
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xbf},
- // Block 0xc5, offset 0x5ee
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0xc6, offset 0x5f3
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0xc7, offset 0x5fe
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x3b08, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0xbf},
- // Block 0xc8, offset 0x607
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x89},
- {value: 0x3308, lo: 0x8a, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x98},
- {value: 0x3b08, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9c},
- {value: 0x0008, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xa2},
- {value: 0x0040, lo: 0xa3, hi: 0xbf},
- // Block 0xc9, offset 0x613
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xca, offset 0x616
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xcb, offset 0x620
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xbf},
- // Block 0xcc, offset 0x629
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xa9},
- {value: 0x3308, lo: 0xaa, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xcd, offset 0x635
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xce, offset 0x642
- {value: 0x0000, lo: 0x0c},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xbf},
- // Block 0xcf, offset 0x64f
- {value: 0x0000, lo: 0x0d},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x3008, lo: 0x8a, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x92},
- {value: 0x3008, lo: 0x93, hi: 0x94},
- {value: 0x3308, lo: 0x95, hi: 0x95},
- {value: 0x3008, lo: 0x96, hi: 0x96},
- {value: 0x3b08, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xbf},
- // Block 0xd0, offset 0x65d
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xd1, offset 0x664
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xd2, offset 0x667
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xd3, offset 0x66c
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0xbf},
- // Block 0xd4, offset 0x66f
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xbf},
- // Block 0xd5, offset 0x672
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0xbf},
- // Block 0xd6, offset 0x675
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xd7, offset 0x67c
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xd8, offset 0x683
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0xd9, offset 0x687
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0xda, offset 0x692
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0xdb, offset 0x695
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0xdc, offset 0x698
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0xdd, offset 0x69b
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3008, lo: 0x91, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xde, offset 0x6a1
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x8e},
- {value: 0x3308, lo: 0x8f, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xdf, offset 0x6a6
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xbf},
- // Block 0xe0, offset 0x6aa
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xe1, offset 0x6ad
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xe2, offset 0x6b0
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xe3, offset 0x6b3
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xe4, offset 0x6b6
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0xe5, offset 0x6b9
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0xe6, offset 0x6be
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x03c0, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xbf},
- // Block 0xe7, offset 0x6c8
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xe8, offset 0x6cb
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xbf},
- // Block 0xe9, offset 0x6cf
- {value: 0x0000, lo: 0x0e},
- {value: 0x0018, lo: 0x80, hi: 0x9d},
- {value: 0xb5b9, lo: 0x9e, hi: 0x9e},
- {value: 0xb601, lo: 0x9f, hi: 0x9f},
- {value: 0xb649, lo: 0xa0, hi: 0xa0},
- {value: 0xb6b1, lo: 0xa1, hi: 0xa1},
- {value: 0xb719, lo: 0xa2, hi: 0xa2},
- {value: 0xb781, lo: 0xa3, hi: 0xa3},
- {value: 0xb7e9, lo: 0xa4, hi: 0xa4},
- {value: 0x3018, lo: 0xa5, hi: 0xa6},
- {value: 0x3318, lo: 0xa7, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xac},
- {value: 0x3018, lo: 0xad, hi: 0xb2},
- {value: 0x0340, lo: 0xb3, hi: 0xba},
- {value: 0x3318, lo: 0xbb, hi: 0xbf},
- // Block 0xea, offset 0x6de
- {value: 0x0000, lo: 0x0b},
- {value: 0x3318, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0x84},
- {value: 0x3318, lo: 0x85, hi: 0x8b},
- {value: 0x0018, lo: 0x8c, hi: 0xa9},
- {value: 0x3318, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xba},
- {value: 0xb851, lo: 0xbb, hi: 0xbb},
- {value: 0xb899, lo: 0xbc, hi: 0xbc},
- {value: 0xb8e1, lo: 0xbd, hi: 0xbd},
- {value: 0xb949, lo: 0xbe, hi: 0xbe},
- {value: 0xb9b1, lo: 0xbf, hi: 0xbf},
- // Block 0xeb, offset 0x6ea
- {value: 0x0000, lo: 0x03},
- {value: 0xba19, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xbf},
- // Block 0xec, offset 0x6ee
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x3318, lo: 0x82, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0xbf},
- // Block 0xed, offset 0x6f3
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0xee, offset 0x6f7
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xef, offset 0x6fc
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0xf0, offset 0x700
- {value: 0x0000, lo: 0x04},
- {value: 0x3308, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0xf1, offset 0x705
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x3308, lo: 0xa1, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xf2, offset 0x70e
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa4},
- {value: 0x0040, lo: 0xa5, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xbf},
- // Block 0xf3, offset 0x719
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x86},
- {value: 0x0818, lo: 0x87, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0xf4, offset 0x71f
- {value: 0x0000, lo: 0x07},
- {value: 0x0a08, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0818, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xf5, offset 0x727
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xb0},
- {value: 0x0818, lo: 0xb1, hi: 0xbf},
- // Block 0xf6, offset 0x72a
- {value: 0x0000, lo: 0x02},
- {value: 0x0818, lo: 0x80, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xf7, offset 0x72d
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xf8, offset 0x731
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0xf9, offset 0x735
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0xfa, offset 0x73b
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xfb, offset 0x741
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8f},
- {value: 0xc1c1, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xfc, offset 0x746
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xbf},
- // Block 0xfd, offset 0x749
- {value: 0x0000, lo: 0x0f},
- {value: 0xc7e9, lo: 0x80, hi: 0x80},
- {value: 0xc839, lo: 0x81, hi: 0x81},
- {value: 0xc889, lo: 0x82, hi: 0x82},
- {value: 0xc8d9, lo: 0x83, hi: 0x83},
- {value: 0xc929, lo: 0x84, hi: 0x84},
- {value: 0xc979, lo: 0x85, hi: 0x85},
- {value: 0xc9c9, lo: 0x86, hi: 0x86},
- {value: 0xca19, lo: 0x87, hi: 0x87},
- {value: 0xca69, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0xcab9, lo: 0x90, hi: 0x90},
- {value: 0xcad9, lo: 0x91, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xbf},
- // Block 0xfe, offset 0x759
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xff, offset 0x760
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x100, offset 0x763
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0xbf},
- // Block 0x101, offset 0x766
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x102, offset 0x76a
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x103, offset 0x770
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xbf},
- // Block 0x104, offset 0x775
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x105, offset 0x77a
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb2},
- {value: 0x0018, lo: 0xb3, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbf},
- // Block 0x106, offset 0x782
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xa2},
- {value: 0x0040, lo: 0xa3, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x107, offset 0x787
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x108, offset 0x78b
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xbf},
- // Block 0x109, offset 0x78f
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0x10a, offset 0x792
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x10b, offset 0x795
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x10c, offset 0x799
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x10d, offset 0x79d
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x10e, offset 0x7a0
- {value: 0x0020, lo: 0x0f},
- {value: 0xdeb9, lo: 0x80, hi: 0x89},
- {value: 0x8dfd, lo: 0x8a, hi: 0x8a},
- {value: 0xdff9, lo: 0x8b, hi: 0x9c},
- {value: 0x8e1d, lo: 0x9d, hi: 0x9d},
- {value: 0xe239, lo: 0x9e, hi: 0xa2},
- {value: 0x8e3d, lo: 0xa3, hi: 0xa3},
- {value: 0xe2d9, lo: 0xa4, hi: 0xab},
- {value: 0x7ed5, lo: 0xac, hi: 0xac},
- {value: 0xe3d9, lo: 0xad, hi: 0xaf},
- {value: 0x8e5d, lo: 0xb0, hi: 0xb0},
- {value: 0xe439, lo: 0xb1, hi: 0xb6},
- {value: 0x8e7d, lo: 0xb7, hi: 0xb9},
- {value: 0xe4f9, lo: 0xba, hi: 0xba},
- {value: 0x8edd, lo: 0xbb, hi: 0xbb},
- {value: 0xe519, lo: 0xbc, hi: 0xbf},
- // Block 0x10f, offset 0x7b0
- {value: 0x0020, lo: 0x10},
- {value: 0x937d, lo: 0x80, hi: 0x80},
- {value: 0xf099, lo: 0x81, hi: 0x86},
- {value: 0x939d, lo: 0x87, hi: 0x8a},
- {value: 0xd9f9, lo: 0x8b, hi: 0x8b},
- {value: 0xf159, lo: 0x8c, hi: 0x96},
- {value: 0x941d, lo: 0x97, hi: 0x97},
- {value: 0xf2b9, lo: 0x98, hi: 0xa3},
- {value: 0x943d, lo: 0xa4, hi: 0xa6},
- {value: 0xf439, lo: 0xa7, hi: 0xaa},
- {value: 0x949d, lo: 0xab, hi: 0xab},
- {value: 0xf4b9, lo: 0xac, hi: 0xac},
- {value: 0x94bd, lo: 0xad, hi: 0xad},
- {value: 0xf4d9, lo: 0xae, hi: 0xaf},
- {value: 0x94dd, lo: 0xb0, hi: 0xb1},
- {value: 0xf519, lo: 0xb2, hi: 0xbe},
- {value: 0x2040, lo: 0xbf, hi: 0xbf},
- // Block 0x110, offset 0x7c1
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0340, lo: 0x81, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x9f},
- {value: 0x0340, lo: 0xa0, hi: 0xbf},
- // Block 0x111, offset 0x7c6
- {value: 0x0000, lo: 0x01},
- {value: 0x0340, lo: 0x80, hi: 0xbf},
- // Block 0x112, offset 0x7c8
- {value: 0x0000, lo: 0x01},
- {value: 0x33c0, lo: 0x80, hi: 0xbf},
- // Block 0x113, offset 0x7ca
- {value: 0x0000, lo: 0x02},
- {value: 0x33c0, lo: 0x80, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
-}
-
-// Total table size 42466 bytes (41KiB); checksum: 355A58A4
diff --git a/vendor/golang.org/x/net/idna/tables12.0.0.go b/vendor/golang.org/x/net/idna/tables12.0.0.go
deleted file mode 100644
index 0600cd2ae..000000000
--- a/vendor/golang.org/x/net/idna/tables12.0.0.go
+++ /dev/null
@@ -1,4733 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-//go:build go1.14 && !go1.16
-
-package idna
-
-// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "12.0.0"
-
-var mappings string = "" + // Size: 8178 bytes
- "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" +
- "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" +
- "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" +
- "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" +
- "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" +
- "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" +
- "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" +
- "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" +
- "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" +
- "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" +
- "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" +
- "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" +
- "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" +
- "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" +
- "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" +
- "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" +
- "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" +
- "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" +
- "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" +
- "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" +
- "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" +
- "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" +
- "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" +
- "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" +
- "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" +
- "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" +
- ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" +
- "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" +
- "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" +
- "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" +
- "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" +
- "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" +
- "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" +
- "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" +
- "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" +
- "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" +
- "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" +
- "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" +
- "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" +
- "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" +
- "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" +
- "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" +
- "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" +
- "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" +
- "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" +
- "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" +
- "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" +
- "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" +
- "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" +
- "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" +
- "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" +
- "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" +
- "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" +
- "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" +
- "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" +
- "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" +
- "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" +
- "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" +
- "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" +
- "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" +
- "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" +
- "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" +
- "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" +
- "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" +
- "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" +
- "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" +
- "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" +
- "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" +
- "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" +
- "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" +
- "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" +
- "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" +
- "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" +
- " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" +
- "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" +
- "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" +
- "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" +
- "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" +
- "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" +
- "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" +
- "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" +
- "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" +
- "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" +
- "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" +
- "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" +
- "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" +
- "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" +
- "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" +
- "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" +
- "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" +
- "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" +
- "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" +
- "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" +
- "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" +
- "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" +
- "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" +
- "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" +
- "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" +
- "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" +
- "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" +
- "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" +
- "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" +
- "c\x02mc\x02md\x02mr\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多" +
- "\x03解\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販" +
- "\x03声\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打" +
- "\x03禁\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕" +
- "\x09〔安〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你" +
- "\x03侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內" +
- "\x03冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉" +
- "\x03勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟" +
- "\x03叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙" +
- "\x03喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型" +
- "\x03堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮" +
- "\x03嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍" +
- "\x03嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰" +
- "\x03庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹" +
- "\x03悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞" +
- "\x03懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢" +
- "\x03揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙" +
- "\x03暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓" +
- "\x03㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛" +
- "\x03㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派" +
- "\x03海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆" +
- "\x03瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀" +
- "\x03犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾" +
- "\x03異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌" +
- "\x03磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒" +
- "\x03䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺" +
- "\x03者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋" +
- "\x03芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著" +
- "\x03荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜" +
- "\x03虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠" +
- "\x03衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁" +
- "\x03贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘" +
- "\x03鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲" +
- "\x03頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭" +
- "\x03鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻"
-
-var xorData string = "" + // Size: 4862 bytes
- "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" +
- "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" +
- "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" +
- "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" +
- "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" +
- "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" +
- "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" +
- "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" +
- "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" +
- "\x03\x037 \x03\x0b+\x03\x021\x00\x02\x01\x04\x02\x01\x02\x02\x019\x02" +
- "\x03\x1c\x02\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03" +
- "\xc1r\x02\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<" +
- "\x03\xc1s*\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03" +
- "\x83\xab\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96" +
- "\xe1\xcd\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03" +
- "\x9a\xec\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c" +
- "!\x03\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03" +
- "ʦ\x93\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7" +
- "\x03\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca" +
- "\xfa\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e" +
- "\x03\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca" +
- "\xe3\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99" +
- "\x03\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca" +
- "\xe8\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03" +
- "\x0b\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06" +
- "\x05\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03" +
- "\x0786\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/" +
- "\x03\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f" +
- "\x03\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-" +
- "\x03\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03" +
- "\x07\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03" +
- "\x07\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03" +
- "\x07\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b" +
- "\x0a\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03" +
- "\x07\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+" +
- "\x03\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03" +
- "\x044\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03" +
- "\x04+ \x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!" +
- "\x22\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04" +
- "\x03\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>" +
- "\x03\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03" +
- "\x054\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03" +
- "\x05):\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$" +
- "\x1e\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226" +
- "\x03\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05" +
- "\x1b\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05" +
- "\x03\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03" +
- "\x06\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08" +
- "\x03\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03" +
- "\x0a6\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a" +
- "\x1f\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03" +
- "\x0a\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f" +
- "\x02\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/" +
- "\x03\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a" +
- "\x00\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+" +
- "\x10\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#" +
- "<\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!" +
- "\x00\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18." +
- "\x03\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15" +
- "\x22\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b" +
- "\x12\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05" +
- "<\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" +
- "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" +
- "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" +
- "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" +
- "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" +
- "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" +
- "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" +
- "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" +
- "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" +
- "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" +
- "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" +
- "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" +
- "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" +
- "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" +
- "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" +
- "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" +
- "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" +
- "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" +
- "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" +
- "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" +
- "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" +
- "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" +
- "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" +
- "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" +
- "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" +
- "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" +
- "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" +
- "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," +
- "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" +
- "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" +
- "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" +
- "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" +
- ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" +
- "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" +
- "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" +
- "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" +
- "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" +
- "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" +
- "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" +
- "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" +
- "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" +
- "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" +
- "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" +
- "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" +
- "(\x04\x023 \x03\x0b)\x08\x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!" +
- "\x10\x03\x0b!0\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b" +
- "\x03\x09\x1f\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14" +
- "\x03\x0a\x01\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03" +
- "\x08='\x03\x08\x1a\x0a\x03\x07\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03" +
- "\x09\x0c\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06" +
- "!3\x03\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05" +
- "\x03\x07<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07" +
- "\x01\x00\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03" +
- "\x09\x11\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03" +
- "\x0a/1\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03" +
- "\x07<3\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06" +
- "\x13\x00\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(" +
- ";\x03\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08" +
- "\x14$\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03" +
- "\x0a\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19" +
- "\x01\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18" +
- "\x03\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03" +
- "\x07\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03" +
- "\x0a\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03" +
- "\x0b\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03" +
- "\x08\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05" +
- "\x03\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11" +
- "\x03\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03" +
- "\x09\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a" +
- ".\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" +
- "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" +
- "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " +
- "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" +
- "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" +
- "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" +
- "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" +
- "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" +
- "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" +
- "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," +
- "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" +
- "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" +
- "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" +
- "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" +
- "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" +
- "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" +
- "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" +
- "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" +
- "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" +
- "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" +
- "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" +
- "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" +
- "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" +
- "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" +
- "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" +
- "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" +
- "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" +
- "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" +
- "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" +
- "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" +
- "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" +
- "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" +
- "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" +
- "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" +
- "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" +
- "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" +
- "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" +
- "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" +
- "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" +
- "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" +
- "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" +
- "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" +
- "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" +
- "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" +
- "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" +
- "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" +
- "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" +
- "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" +
- "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," +
- "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" +
- "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" +
- "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" +
- "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" +
- "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" +
- "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" +
- "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" +
- "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" +
- "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" +
- "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" +
- "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" +
- "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" +
- "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" +
- "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" +
- "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" +
- "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" +
- "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" +
- "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" +
- "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" +
- "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" +
- "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" +
- "\x04\x03\x0c?\x05\x03\x0c\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" +
- "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" +
- "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" +
- "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" +
- "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" +
- "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" +
- "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" +
- "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" +
- "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" +
- "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" +
- "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" +
- "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" +
- "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" +
- "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" +
- "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" +
- "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" +
- "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" +
- "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" +
- "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" +
- "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" +
- "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" +
- "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" +
- "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" +
- "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" +
- "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" +
- "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" +
- "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" +
- "\x05\x22\x05\x03\x050\x1d"
-
-// lookup returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupUnsafe(s []byte) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// lookupString returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookupString(s string) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupStringUnsafe(s string) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// idnaTrie. Total size: 29708 bytes (29.01 KiB). Checksum: c3ecc76d8fffa6e6.
-type idnaTrie struct{}
-
-func newIdnaTrie(i int) *idnaTrie {
- return &idnaTrie{}
-}
-
-// lookupValue determines the type of block n and looks up the value for b.
-func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {
- switch {
- case n < 125:
- return uint16(idnaValues[n<<6+uint32(b)])
- default:
- n -= 125
- return uint16(idnaSparse.lookup(n, b))
- }
-}
-
-// idnaValues: 127 blocks, 8128 entries, 16256 bytes
-// The third block is the zero block.
-var idnaValues = [8128]uint16{
- // Block 0x0, offset 0x0
- 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080,
- 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080,
- 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080,
- 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080,
- 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080,
- 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080,
- 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080,
- 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080,
- 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008,
- 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080,
- 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080,
- // Block 0x1, offset 0x40
- 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105,
- 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105,
- 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105,
- 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105,
- 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080,
- 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008,
- 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008,
- 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008,
- 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008,
- 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080,
- 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080,
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040,
- 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040,
- 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040,
- 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040,
- 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040,
- 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018,
- 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018,
- 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a,
- 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005,
- 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018,
- 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018,
- // Block 0x4, offset 0x100
- 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008,
- 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008,
- 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008,
- 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008,
- 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008,
- 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008,
- 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008,
- 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008,
- 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008,
- 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d,
- 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199,
- // Block 0x5, offset 0x140
- 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d,
- 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008,
- 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008,
- 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008,
- 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008,
- 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008,
- 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008,
- 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008,
- 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008,
- 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d,
- 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9,
- // Block 0x6, offset 0x180
- 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008,
- 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d,
- 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d,
- 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d,
- 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155,
- 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008,
- 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d,
- 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd,
- 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d,
- 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008,
- 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9,
- 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d,
- 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d,
- 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d,
- 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008,
- 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008,
- 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008,
- 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008,
- 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008,
- 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008,
- 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008,
- // Block 0x8, offset 0x200
- 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008,
- 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008,
- 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008,
- 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008,
- 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008,
- 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008,
- 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008,
- 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008,
- 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008,
- 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d,
- 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008,
- // Block 0x9, offset 0x240
- 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018,
- 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008,
- 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008,
- 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018,
- 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a,
- 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369,
- 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018,
- 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018,
- 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018,
- 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,
- 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,
- // Block 0xa, offset 0x280
- 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d,
- 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,
- 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,
- 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,
- 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,
- 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,
- 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,
- 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,
- 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,
- 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008,
- 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2,
- 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040,
- 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105,
- 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105,
- 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105,
- 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d,
- 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d,
- 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008,
- 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008,
- 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008,
- 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008,
- // Block 0xc, offset 0x300
- 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008,
- 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008,
- 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd,
- 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008,
- 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008,
- 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008,
- 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008,
- 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008,
- 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd,
- 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008,
- 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d,
- // Block 0xd, offset 0x340
- 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008,
- 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008,
- 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008,
- 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008,
- 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008,
- 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008,
- 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008,
- 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008,
- 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008,
- 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,
- 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,
- // Block 0xe, offset 0x380
- 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,
- 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,
- 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,
- 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,
- 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,
- 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008,
- 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008,
- 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008,
- 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008,
- 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008,
- 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d,
- 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d,
- 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008,
- 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008,
- 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008,
- 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008,
- 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008,
- 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008,
- 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008,
- 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008,
- 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008,
- // Block 0x10, offset 0x400
- 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008,
- 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008,
- 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008,
- 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008,
- 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008,
- 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008,
- 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008,
- 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008,
- 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5,
- 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,
- 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,
- // Block 0x11, offset 0x440
- 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,
- 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,
- 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,
- 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,
- 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040,
- 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,
- 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,
- 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,
- 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,
- 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,
- 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,
- // Block 0x12, offset 0x480
- 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,
- 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,
- 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,
- 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,
- 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,
- 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,
- 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,
- 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,
- 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429,
- 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,
- 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,
- 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,
- 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,
- 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,
- 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,
- 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,
- 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,
- 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,
- 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,
- 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,
- 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,
- // Block 0x14, offset 0x500
- 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,
- 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,
- 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,
- 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,
- 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,
- 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,
- 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,
- 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,
- 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,
- 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,
- 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,
- // Block 0x15, offset 0x540
- 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08,
- 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08,
- 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08,
- 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808,
- 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040,
- 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08,
- 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08,
- 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040,
- 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040,
- 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040,
- 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040,
- // Block 0x16, offset 0x580
- 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308,
- 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008,
- 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308,
- 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308,
- 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1,
- 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308,
- 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008,
- 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008,
- 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008,
- 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008,
- 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008,
- 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008,
- 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040,
- 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008,
- 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008,
- 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008,
- 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040,
- 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,
- 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040,
- 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040,
- 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008,
- // Block 0x18, offset 0x600
- 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040,
- 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008,
- 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040,
- 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008,
- 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1,
- 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308,
- 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008,
- 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,
- 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018,
- 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018,
- 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040,
- // Block 0x19, offset 0x640
- 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008,
- 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040,
- 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040,
- 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008,
- 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008,
- 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008,
- 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040,
- 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,
- 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008,
- 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040,
- 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008,
- // Block 0x1a, offset 0x680
- 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040,
- 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308,
- 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308,
- 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040,
- 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040,
- 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040,
- 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008,
- 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,
- 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308,
- 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040,
- 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008,
- 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008,
- 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008,
- 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008,
- 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008,
- 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008,
- 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040,
- 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,
- 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008,
- 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040,
- 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008,
- // Block 0x1c, offset 0x700
- 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308,
- 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008,
- 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040,
- 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040,
- 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040,
- 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308,
- 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008,
- 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,
- 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040,
- 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308,
- 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308,
- // Block 0x1d, offset 0x740
- 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008,
- 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008,
- 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040,
- 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008,
- 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008,
- 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008,
- 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040,
- 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,
- 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008,
- 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040,
- 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308,
- // Block 0x1e, offset 0x780
- 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040,
- 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008,
- 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040,
- 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008,
- 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9,
- 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308,
- 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008,
- 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008,
- 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018,
- 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040,
- 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040,
- // Block 0x1f, offset 0x7c0
- 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008,
- 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040,
- 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040,
- 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040,
- 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040,
- 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008,
- 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008,
- 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008,
- 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008,
- 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040,
- 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008,
- // Block 0x20, offset 0x800
- 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040,
- 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308,
- 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040,
- 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040,
- 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040,
- 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308,
- 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008,
- 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008,
- 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040,
- 0x836: 0x0040, 0x837: 0x0018, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018,
- 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018,
- // Block 0x21, offset 0x840
- 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008,
- 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008,
- 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040,
- 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008,
- 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008,
- 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008,
- 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040,
- 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,
- 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008,
- 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040,
- 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308,
- // Block 0x22, offset 0x880
- 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040,
- 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008,
- 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040,
- 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040,
- 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040,
- 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308,
- 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008,
- 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,
- 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040,
- 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040,
- 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040,
- 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008,
- 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040,
- 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008,
- 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018,
- 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308,
- 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008,
- 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,
- 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018,
- 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008,
- 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008,
- // Block 0x24, offset 0x900
- 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040,
- 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0040,
- 0x90c: 0x0008, 0x90d: 0x0008, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008,
- 0x912: 0x0008, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008,
- 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008,
- 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008,
- 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0008,
- 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008,
- 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308,
- 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x3b08, 0x93b: 0x3308,
- 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040,
- // Block 0x25, offset 0x940
- 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008,
- 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,
- 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,
- 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79,
- 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008,
- 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008,
- 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9,
- 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040,
- 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59,
- 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308,
- 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008,
- // Block 0x26, offset 0x980
- 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018,
- 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,
- 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308,
- 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308,
- 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11,
- 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308,
- 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308,
- 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308,
- 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308,
- 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308,
- 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018,
- // Block 0x27, offset 0x9c0
- 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008,
- 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008,
- 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008,
- 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008,
- 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008,
- 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008,
- 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008,
- 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008,
- 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41,
- 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008,
- 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269,
- // Block 0x28, offset 0xa00
- 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1,
- 0xa06: 0x05b5, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011,
- 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041,
- 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05cd, 0xa15: 0x05cd, 0xa16: 0x0f99, 0xa17: 0x0fa9,
- 0xa18: 0x0fb9, 0xa19: 0x05b5, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05e5, 0xa1d: 0x1099,
- 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269,
- 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1,
- 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008,
- 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008,
- 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008,
- 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008,
- // Block 0x29, offset 0xa40
- 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008,
- 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008,
- 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008,
- 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008,
- 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169,
- 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9,
- 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05fd, 0xa68: 0x1239, 0xa69: 0x1251,
- 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9,
- 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359,
- 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x0615, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1,
- 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429,
- // Block 0x2a, offset 0xa80
- 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008,
- 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008,
- 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008,
- 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008,
- 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008,
- 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008,
- 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008,
- 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008,
- 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008,
- 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008,
- 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008,
- // Block 0x2b, offset 0xac0
- 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008,
- 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008,
- 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008,
- 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008,
- 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x062d, 0xadb: 0x064d, 0xadc: 0x0008, 0xadd: 0x0008,
- 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008,
- 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008,
- 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008,
- 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008,
- 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008,
- 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008,
- // Block 0x2c, offset 0xb00
- 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008,
- 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045,
- 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008,
- 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008,
- 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045,
- 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008,
- 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045,
- 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045,
- 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489,
- 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1,
- 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040,
- // Block 0x2d, offset 0xb40
- 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1,
- 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591,
- 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1,
- 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1,
- 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771,
- 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891,
- 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831,
- 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951,
- 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040,
- 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x0665, 0xb7b: 0x1459,
- 0xb7c: 0x19b1, 0xb7d: 0x067e, 0xb7e: 0x1a31, 0xb7f: 0x069e,
- // Block 0x2e, offset 0xb80
- 0xb80: 0x06be, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040,
- 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06dd, 0xb89: 0x1471, 0xb8a: 0x06f5, 0xb8b: 0x1489,
- 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008,
- 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008,
- 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x070d, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2,
- 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61,
- 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045,
- 0xbaa: 0x0725, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa,
- 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040,
- 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x073d, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9,
- 0xbbc: 0x1ce9, 0xbbd: 0x0756, 0xbbe: 0x0776, 0xbbf: 0x0040,
- // Block 0x2f, offset 0xbc0
- 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a,
- 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0,
- 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d,
- 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x0796,
- 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018,
- 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018,
- 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040,
- 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a,
- 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018,
- 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018,
- 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x07b6, 0xbff: 0x0018,
- // Block 0x30, offset 0xc00
- 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018,
- 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018,
- 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018,
- 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9,
- 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018,
- 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340,
- 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040,
- 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340,
- 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61,
- 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07d5,
- 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71,
- // Block 0x31, offset 0xc40
- 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61,
- 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07ed,
- 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09,
- 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359,
- 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040,
- 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018,
- 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018,
- 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018,
- 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018,
- 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018,
- 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018,
- // Block 0x32, offset 0xc80
- 0xc80: 0x0806, 0xc81: 0x0826, 0xc82: 0x1159, 0xc83: 0x0845, 0xc84: 0x0018, 0xc85: 0x0866,
- 0xc86: 0x0886, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x08a5, 0xc8a: 0x0f31, 0xc8b: 0x0249,
- 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41,
- 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018,
- 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269,
- 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08c5, 0xca2: 0x2061, 0xca3: 0x0018,
- 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018,
- 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09,
- 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9,
- 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08e5,
- 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109,
- // Block 0x33, offset 0xcc0
- 0xcc0: 0x0905, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9,
- 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018,
- 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151,
- 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279,
- 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399,
- 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x091d, 0xce3: 0x2439,
- 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x093d, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369,
- 0xcea: 0x24a9, 0xceb: 0x095d, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61,
- 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x097d, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451,
- 0xcf6: 0x099d, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09bd,
- 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61,
- // Block 0x34, offset 0xd00
- 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018,
- 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040,
- 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040,
- 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040,
- 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040,
- 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51,
- 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601,
- 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691,
- 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a1e, 0xd35: 0x0a3e,
- 0xd36: 0x0a5e, 0xd37: 0x0a7e, 0xd38: 0x0a9e, 0xd39: 0x0abe, 0xd3a: 0x0ade, 0xd3b: 0x0afe,
- 0xd3c: 0x0b1e, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a,
- // Block 0x35, offset 0xd40
- 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a,
- 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040,
- 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040,
- 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040,
- 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b3e, 0xd5d: 0x0b5e,
- 0xd5e: 0x0b7e, 0xd5f: 0x0b9e, 0xd60: 0x0bbe, 0xd61: 0x0bde, 0xd62: 0x0bfe, 0xd63: 0x0c1e,
- 0xd64: 0x0c3e, 0xd65: 0x0c5e, 0xd66: 0x0c7e, 0xd67: 0x0c9e, 0xd68: 0x0cbe, 0xd69: 0x0cde,
- 0xd6a: 0x0cfe, 0xd6b: 0x0d1e, 0xd6c: 0x0d3e, 0xd6d: 0x0d5e, 0xd6e: 0x0d7e, 0xd6f: 0x0d9e,
- 0xd70: 0x0dbe, 0xd71: 0x0dde, 0xd72: 0x0dfe, 0xd73: 0x0e1e, 0xd74: 0x0e3e, 0xd75: 0x0e5e,
- 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199,
- 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259,
- // Block 0x36, offset 0xd80
- 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99,
- 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089,
- 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9,
- 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249,
- 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71,
- 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9,
- 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1,
- 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018,
- 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018,
- 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018,
- 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018,
- // Block 0x37, offset 0xdc0
- 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008,
- 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008,
- 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008,
- 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008,
- 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008,
- 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ed5,
- 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d,
- 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9,
- 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d,
- 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008,
- 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9,
- // Block 0x38, offset 0xe00
- 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008,
- 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008,
- 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008,
- 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008,
- 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008,
- 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008,
- 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018,
- 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308,
- 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040,
- 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018,
- 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018,
- // Block 0x39, offset 0xe40
- 0xe40: 0x2715, 0xe41: 0x2735, 0xe42: 0x2755, 0xe43: 0x2775, 0xe44: 0x2795, 0xe45: 0x27b5,
- 0xe46: 0x27d5, 0xe47: 0x27f5, 0xe48: 0x2815, 0xe49: 0x2835, 0xe4a: 0x2855, 0xe4b: 0x2875,
- 0xe4c: 0x2895, 0xe4d: 0x28b5, 0xe4e: 0x28d5, 0xe4f: 0x28f5, 0xe50: 0x2915, 0xe51: 0x2935,
- 0xe52: 0x2955, 0xe53: 0x2975, 0xe54: 0x2995, 0xe55: 0x29b5, 0xe56: 0x0040, 0xe57: 0x0040,
- 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040,
- 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040,
- 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040,
- 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040,
- 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040,
- 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040,
- 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040,
- // Block 0x3a, offset 0xe80
- 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008,
- 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018,
- 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018,
- 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018,
- 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018,
- 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018,
- 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018,
- 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018,
- 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018,
- 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29d5, 0xeb9: 0x29f5, 0xeba: 0x2a15, 0xebb: 0x0018,
- 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018,
- // Block 0x3b, offset 0xec0
- 0xec0: 0x2b55, 0xec1: 0x2b75, 0xec2: 0x2b95, 0xec3: 0x2bb5, 0xec4: 0x2bd5, 0xec5: 0x2bf5,
- 0xec6: 0x2bf5, 0xec7: 0x2bf5, 0xec8: 0x2c15, 0xec9: 0x2c15, 0xeca: 0x2c15, 0xecb: 0x2c15,
- 0xecc: 0x2c35, 0xecd: 0x2c35, 0xece: 0x2c35, 0xecf: 0x2c55, 0xed0: 0x2c75, 0xed1: 0x2c75,
- 0xed2: 0x2a95, 0xed3: 0x2a95, 0xed4: 0x2c75, 0xed5: 0x2c75, 0xed6: 0x2c95, 0xed7: 0x2c95,
- 0xed8: 0x2c75, 0xed9: 0x2c75, 0xeda: 0x2a95, 0xedb: 0x2a95, 0xedc: 0x2c75, 0xedd: 0x2c75,
- 0xede: 0x2c55, 0xedf: 0x2c55, 0xee0: 0x2cb5, 0xee1: 0x2cb5, 0xee2: 0x2cd5, 0xee3: 0x2cd5,
- 0xee4: 0x0040, 0xee5: 0x2cf5, 0xee6: 0x2d15, 0xee7: 0x2d35, 0xee8: 0x2d35, 0xee9: 0x2d55,
- 0xeea: 0x2d75, 0xeeb: 0x2d95, 0xeec: 0x2db5, 0xeed: 0x2dd5, 0xeee: 0x2df5, 0xeef: 0x2e15,
- 0xef0: 0x2e35, 0xef1: 0x2e55, 0xef2: 0x2e55, 0xef3: 0x2e75, 0xef4: 0x2e95, 0xef5: 0x2e95,
- 0xef6: 0x2eb5, 0xef7: 0x2ed5, 0xef8: 0x2e75, 0xef9: 0x2ef5, 0xefa: 0x2f15, 0xefb: 0x2ef5,
- 0xefc: 0x2e75, 0xefd: 0x2f35, 0xefe: 0x2f55, 0xeff: 0x2f75,
- // Block 0x3c, offset 0xf00
- 0xf00: 0x2f95, 0xf01: 0x2fb5, 0xf02: 0x2d15, 0xf03: 0x2cf5, 0xf04: 0x2fd5, 0xf05: 0x2ff5,
- 0xf06: 0x3015, 0xf07: 0x3035, 0xf08: 0x3055, 0xf09: 0x3075, 0xf0a: 0x3095, 0xf0b: 0x30b5,
- 0xf0c: 0x30d5, 0xf0d: 0x30f5, 0xf0e: 0x3115, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018,
- 0xf12: 0x3135, 0xf13: 0x3155, 0xf14: 0x3175, 0xf15: 0x3195, 0xf16: 0x31b5, 0xf17: 0x31d5,
- 0xf18: 0x31f5, 0xf19: 0x3215, 0xf1a: 0x3235, 0xf1b: 0x3255, 0xf1c: 0x3175, 0xf1d: 0x3275,
- 0xf1e: 0x3295, 0xf1f: 0x32b5, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008,
- 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008,
- 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008,
- 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008,
- 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040,
- 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040,
- // Block 0x3d, offset 0xf40
- 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32d5, 0xf45: 0x32f5,
- 0xf46: 0x3315, 0xf47: 0x3335, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018,
- 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x3355, 0xf51: 0x3761,
- 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1,
- 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881,
- 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x3375, 0xf61: 0x3395, 0xf62: 0x33b5, 0xf63: 0x33d5,
- 0xf64: 0x33f5, 0xf65: 0x33f5, 0xf66: 0x3415, 0xf67: 0x3435, 0xf68: 0x3455, 0xf69: 0x3475,
- 0xf6a: 0x3495, 0xf6b: 0x34b5, 0xf6c: 0x34d5, 0xf6d: 0x34f5, 0xf6e: 0x3515, 0xf6f: 0x3535,
- 0xf70: 0x3555, 0xf71: 0x3575, 0xf72: 0x3595, 0xf73: 0x35b5, 0xf74: 0x35d5, 0xf75: 0x35f5,
- 0xf76: 0x3615, 0xf77: 0x3635, 0xf78: 0x3655, 0xf79: 0x3675, 0xf7a: 0x3695, 0xf7b: 0x36b5,
- 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36d5, 0xf7f: 0x0018,
- // Block 0x3e, offset 0xf80
- 0xf80: 0x36f5, 0xf81: 0x3715, 0xf82: 0x3735, 0xf83: 0x3755, 0xf84: 0x3775, 0xf85: 0x3795,
- 0xf86: 0x37b5, 0xf87: 0x37d5, 0xf88: 0x37f5, 0xf89: 0x3815, 0xf8a: 0x3835, 0xf8b: 0x3855,
- 0xf8c: 0x3875, 0xf8d: 0x3895, 0xf8e: 0x38b5, 0xf8f: 0x38d5, 0xf90: 0x38f5, 0xf91: 0x3915,
- 0xf92: 0x3935, 0xf93: 0x3955, 0xf94: 0x3975, 0xf95: 0x3995, 0xf96: 0x39b5, 0xf97: 0x39d5,
- 0xf98: 0x39f5, 0xf99: 0x3a15, 0xf9a: 0x3a35, 0xf9b: 0x3a55, 0xf9c: 0x3a75, 0xf9d: 0x3a95,
- 0xf9e: 0x3ab5, 0xf9f: 0x3ad5, 0xfa0: 0x3af5, 0xfa1: 0x3b15, 0xfa2: 0x3b35, 0xfa3: 0x3b55,
- 0xfa4: 0x3b75, 0xfa5: 0x3b95, 0xfa6: 0x1295, 0xfa7: 0x3bb5, 0xfa8: 0x3bd5, 0xfa9: 0x3bf5,
- 0xfaa: 0x3c15, 0xfab: 0x3c35, 0xfac: 0x3c55, 0xfad: 0x3c75, 0xfae: 0x23b5, 0xfaf: 0x3c95,
- 0xfb0: 0x3cb5, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999,
- 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29,
- 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89,
- // Block 0x3f, offset 0xfc0
- 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69,
- 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69,
- 0xfcc: 0x3c99, 0xfcd: 0x3cd5, 0xfce: 0x3cb1, 0xfcf: 0x3cf5, 0xfd0: 0x3d15, 0xfd1: 0x3d2d,
- 0xfd2: 0x3d45, 0xfd3: 0x3d5d, 0xfd4: 0x3d75, 0xfd5: 0x3d75, 0xfd6: 0x3d5d, 0xfd7: 0x3d8d,
- 0xfd8: 0x07d5, 0xfd9: 0x3da5, 0xfda: 0x3dbd, 0xfdb: 0x3dd5, 0xfdc: 0x3ded, 0xfdd: 0x3e05,
- 0xfde: 0x3e1d, 0xfdf: 0x3e35, 0xfe0: 0x3e4d, 0xfe1: 0x3e65, 0xfe2: 0x3e7d, 0xfe3: 0x3e95,
- 0xfe4: 0x3ead, 0xfe5: 0x3ead, 0xfe6: 0x3ec5, 0xfe7: 0x3ec5, 0xfe8: 0x3edd, 0xfe9: 0x3edd,
- 0xfea: 0x3ef5, 0xfeb: 0x3f0d, 0xfec: 0x3f25, 0xfed: 0x3f3d, 0xfee: 0x3f55, 0xfef: 0x3f55,
- 0xff0: 0x3f6d, 0xff1: 0x3f6d, 0xff2: 0x3f6d, 0xff3: 0x3f85, 0xff4: 0x3f9d, 0xff5: 0x3fb5,
- 0xff6: 0x3fcd, 0xff7: 0x3fb5, 0xff8: 0x3fe5, 0xff9: 0x3ffd, 0xffa: 0x3f85, 0xffb: 0x4015,
- 0xffc: 0x402d, 0xffd: 0x402d, 0xffe: 0x402d, 0xfff: 0x0040,
- // Block 0x40, offset 0x1000
- 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9,
- 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1,
- 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9,
- 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549,
- 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1,
- 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11,
- 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91,
- 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9,
- 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011,
- 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209,
- 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361,
- // Block 0x41, offset 0x1040
- 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541,
- 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781,
- 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979,
- 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89,
- 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1,
- 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99,
- 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9,
- 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9,
- 0x1070: 0x6009, 0x1071: 0x4045, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x4065, 0x1075: 0x6069,
- 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x4085, 0x1079: 0x4085, 0x107a: 0x60b1, 0x107b: 0x60c9,
- 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9,
- // Block 0x42, offset 0x1080
- 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x40a5, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271,
- 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40c5, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9,
- 0x108c: 0x40e5, 0x108d: 0x40e5, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x4105,
- 0x1092: 0x4125, 0x1093: 0x4145, 0x1094: 0x4165, 0x1095: 0x4185, 0x1096: 0x6359, 0x1097: 0x6371,
- 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x41a5, 0x109c: 0x63d1, 0x109d: 0x63e9,
- 0x109e: 0x6401, 0x109f: 0x41c5, 0x10a0: 0x41e5, 0x10a1: 0x6419, 0x10a2: 0x4205, 0x10a3: 0x4225,
- 0x10a4: 0x4245, 0x10a5: 0x6431, 0x10a6: 0x4265, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211,
- 0x10aa: 0x4285, 0x10ab: 0x42a5, 0x10ac: 0x42c5, 0x10ad: 0x42e5, 0x10ae: 0x64b1, 0x10af: 0x64f1,
- 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x4305, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599,
- 0x10b6: 0x4325, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9,
- 0x10bc: 0x4345, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611,
- // Block 0x43, offset 0x10c0
- 0x10c0: 0x4365, 0x10c1: 0x4385, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671,
- 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709,
- 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781,
- 0x10d2: 0x43a5, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43c5, 0x10d6: 0x43e5, 0x10d7: 0x67b1,
- 0x10d8: 0x0040, 0x10d9: 0x4405, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811,
- 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901,
- 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1,
- 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11,
- 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31,
- 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51,
- 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x4425,
- // Block 0x44, offset 0x1100
- 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008,
- 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008,
- 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008,
- 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008,
- 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008,
- 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008,
- 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008,
- 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308,
- 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308,
- 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308,
- 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008,
- // Block 0x45, offset 0x1140
- 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008,
- 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008,
- 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008,
- 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008,
- 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11,
- 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008,
- 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008,
- 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008,
- 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008,
- 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008,
- 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008,
- // Block 0x46, offset 0x1180
- 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018,
- 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018,
- 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018,
- 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008,
- 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008,
- 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008,
- 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,
- 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008,
- 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008,
- 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008,
- 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008,
- // Block 0x47, offset 0x11c0
- 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008,
- 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008,
- 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008,
- 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008,
- 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008,
- 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008,
- 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008,
- 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008,
- 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008,
- 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d,
- 0x11fc: 0x0008, 0x11fd: 0x4445, 0x11fe: 0xe00d, 0x11ff: 0x0008,
- // Block 0x48, offset 0x1200
- 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008,
- 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d,
- 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008,
- 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008,
- 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008,
- 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008,
- 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008,
- 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0008,
- 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x4465, 0x1234: 0xe00d, 0x1235: 0x0008,
- 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0xe00d, 0x1239: 0x0008, 0x123a: 0xe00d, 0x123b: 0x0008,
- 0x123c: 0xe00d, 0x123d: 0x0008, 0x123e: 0xe00d, 0x123f: 0x0008,
- // Block 0x49, offset 0x1240
- 0x1240: 0x650d, 0x1241: 0x652d, 0x1242: 0x654d, 0x1243: 0x656d, 0x1244: 0x658d, 0x1245: 0x65ad,
- 0x1246: 0x65cd, 0x1247: 0x65ed, 0x1248: 0x660d, 0x1249: 0x662d, 0x124a: 0x664d, 0x124b: 0x666d,
- 0x124c: 0x668d, 0x124d: 0x66ad, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x66cd, 0x1251: 0x0008,
- 0x1252: 0x66ed, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x670d, 0x1256: 0x672d, 0x1257: 0x674d,
- 0x1258: 0x676d, 0x1259: 0x678d, 0x125a: 0x67ad, 0x125b: 0x67cd, 0x125c: 0x67ed, 0x125d: 0x680d,
- 0x125e: 0x682d, 0x125f: 0x0008, 0x1260: 0x684d, 0x1261: 0x0008, 0x1262: 0x686d, 0x1263: 0x0008,
- 0x1264: 0x0008, 0x1265: 0x688d, 0x1266: 0x68ad, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008,
- 0x126a: 0x68cd, 0x126b: 0x68ed, 0x126c: 0x690d, 0x126d: 0x692d, 0x126e: 0x694d, 0x126f: 0x696d,
- 0x1270: 0x698d, 0x1271: 0x69ad, 0x1272: 0x69cd, 0x1273: 0x69ed, 0x1274: 0x6a0d, 0x1275: 0x6a2d,
- 0x1276: 0x6a4d, 0x1277: 0x6a6d, 0x1278: 0x6a8d, 0x1279: 0x6aad, 0x127a: 0x6acd, 0x127b: 0x6aed,
- 0x127c: 0x6b0d, 0x127d: 0x6b2d, 0x127e: 0x6b4d, 0x127f: 0x6b6d,
- // Block 0x4a, offset 0x1280
- 0x1280: 0x7acd, 0x1281: 0x7aed, 0x1282: 0x7b0d, 0x1283: 0x7b2d, 0x1284: 0x7b4d, 0x1285: 0x7b6d,
- 0x1286: 0x7b8d, 0x1287: 0x7bad, 0x1288: 0x7bcd, 0x1289: 0x7bed, 0x128a: 0x7c0d, 0x128b: 0x7c2d,
- 0x128c: 0x7c4d, 0x128d: 0x7c6d, 0x128e: 0x7c8d, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19,
- 0x1292: 0x7cad, 0x1293: 0x7ccd, 0x1294: 0x7ced, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91,
- 0x1298: 0x7d0d, 0x1299: 0x7d2d, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040,
- 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040,
- 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040,
- 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040,
- 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040,
- 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040,
- 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040,
- // Block 0x4b, offset 0x12c0
- 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d4d, 0x12c4: 0x7d6d, 0x12c5: 0x7001,
- 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040,
- 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040,
- 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9,
- 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1,
- 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149,
- 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2,
- 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1,
- 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1,
- 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479,
- 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040,
- // Block 0x4c, offset 0x1300
- 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040,
- 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659,
- 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721,
- 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751,
- 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769,
- 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799,
- 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1,
- 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1,
- 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9,
- 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829,
- 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841,
- // Block 0x4d, offset 0x1340
- 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871,
- 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9,
- 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9,
- 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919,
- 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931,
- 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961,
- 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991,
- 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1,
- 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818,
- 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818,
- 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818,
- // Block 0x4e, offset 0x1380
- 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040,
- 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040,
- 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040,
- 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09,
- 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479,
- 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81,
- 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1,
- 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19,
- 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91,
- 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1,
- 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09,
- // Block 0x4f, offset 0x13c0
- 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1,
- 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1,
- 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1,
- 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991,
- 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81,
- 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a,
- 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99,
- 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89,
- 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79,
- 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19,
- 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469,
- // Block 0x50, offset 0x1400
- 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649,
- 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9,
- 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49,
- 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21,
- 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9,
- 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01,
- 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91,
- 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9,
- 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171,
- 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289,
- 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329,
- // Block 0x51, offset 0x1440
- 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1,
- 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621,
- 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739,
- 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1,
- 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9,
- 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29,
- 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079,
- 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1,
- 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171,
- 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261,
- 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301,
- // Block 0x52, offset 0x1480
- 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1,
- 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1,
- 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171,
- 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261,
- 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351,
- 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441,
- 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509,
- 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1,
- 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081,
- 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239,
- 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018,
- // Block 0x53, offset 0x14c0
- 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040,
- 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040,
- 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609,
- 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721,
- 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839,
- 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919,
- 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9,
- 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9,
- 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9,
- 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1,
- 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79,
- // Block 0x54, offset 0x1500
- 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989,
- 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040,
- 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040,
- 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040,
- 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040,
- 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040,
- 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040,
- 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,
- 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9,
- 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12,
- 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040,
- // Block 0x55, offset 0x1540
- 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0,
- 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0,
- 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d8d,
- 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7dad,
- 0x1558: 0x7dcd, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040,
- 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308,
- 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308,
- 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308,
- 0x1570: 0x0040, 0x1571: 0x7ded, 0x1572: 0x7e0d, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2,
- 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7e2d, 0x157a: 0x7e4d, 0x157b: 0x7e6d,
- 0x157c: 0x7e2d, 0x157d: 0x7e8d, 0x157e: 0x7ead, 0x157f: 0x7e8d,
- // Block 0x56, offset 0x1580
- 0x1580: 0x7ecd, 0x1581: 0x7eed, 0x1582: 0x7f0d, 0x1583: 0x7eed, 0x1584: 0x7f2d, 0x1585: 0x0018,
- 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f4e, 0x158a: 0x7f6e, 0x158b: 0x7f8e,
- 0x158c: 0x7fae, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7fcd,
- 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa,
- 0x1598: 0x7fed, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7ecd,
- 0x159e: 0x7f2d, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99,
- 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda,
- 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040,
- 0x15b0: 0x800e, 0x15b1: 0xb009, 0x15b2: 0x802e, 0x15b3: 0x0808, 0x15b4: 0x804e, 0x15b5: 0x0040,
- 0x15b6: 0x806e, 0x15b7: 0xb031, 0x15b8: 0x808e, 0x15b9: 0xb059, 0x15ba: 0x80ae, 0x15bb: 0xb081,
- 0x15bc: 0x80ce, 0x15bd: 0xb0a9, 0x15be: 0x80ee, 0x15bf: 0xb0d1,
- // Block 0x57, offset 0x15c0
- 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141,
- 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171,
- 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1,
- 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1,
- 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201,
- 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219,
- 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249,
- 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291,
- 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1,
- 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9,
- 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1,
- // Block 0x58, offset 0x1600
- 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321,
- 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339,
- 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369,
- 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381,
- 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1,
- 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9,
- 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9,
- 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1,
- 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441,
- 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9,
- 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0,
- // Block 0x59, offset 0x1640
- 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea,
- 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2,
- 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9,
- 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81,
- 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2,
- 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159,
- 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41,
- 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9,
- 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9,
- 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a,
- 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a,
- // Block 0x5a, offset 0x1680
- 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09,
- 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51,
- 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039,
- 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279,
- 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a,
- 0x169e: 0xb532, 0x169f: 0x810d, 0x16a0: 0x812d, 0x16a1: 0x29d1, 0x16a2: 0x814d, 0x16a3: 0x814d,
- 0x16a4: 0x816d, 0x16a5: 0x818d, 0x16a6: 0x81ad, 0x16a7: 0x81cd, 0x16a8: 0x81ed, 0x16a9: 0x820d,
- 0x16aa: 0x822d, 0x16ab: 0x824d, 0x16ac: 0x826d, 0x16ad: 0x828d, 0x16ae: 0x82ad, 0x16af: 0x82cd,
- 0x16b0: 0x82ed, 0x16b1: 0x830d, 0x16b2: 0x832d, 0x16b3: 0x834d, 0x16b4: 0x836d, 0x16b5: 0x838d,
- 0x16b6: 0x83ad, 0x16b7: 0x83cd, 0x16b8: 0x83ed, 0x16b9: 0x840d, 0x16ba: 0x842d, 0x16bb: 0x844d,
- 0x16bc: 0x81ed, 0x16bd: 0x846d, 0x16be: 0x848d, 0x16bf: 0x824d,
- // Block 0x5b, offset 0x16c0
- 0x16c0: 0x84ad, 0x16c1: 0x84cd, 0x16c2: 0x84ed, 0x16c3: 0x850d, 0x16c4: 0x852d, 0x16c5: 0x854d,
- 0x16c6: 0x856d, 0x16c7: 0x858d, 0x16c8: 0x850d, 0x16c9: 0x85ad, 0x16ca: 0x850d, 0x16cb: 0x85cd,
- 0x16cc: 0x85cd, 0x16cd: 0x85ed, 0x16ce: 0x85ed, 0x16cf: 0x860d, 0x16d0: 0x854d, 0x16d1: 0x862d,
- 0x16d2: 0x864d, 0x16d3: 0x862d, 0x16d4: 0x866d, 0x16d5: 0x864d, 0x16d6: 0x868d, 0x16d7: 0x868d,
- 0x16d8: 0x86ad, 0x16d9: 0x86ad, 0x16da: 0x86cd, 0x16db: 0x86cd, 0x16dc: 0x864d, 0x16dd: 0x814d,
- 0x16de: 0x86ed, 0x16df: 0x870d, 0x16e0: 0x0040, 0x16e1: 0x872d, 0x16e2: 0x874d, 0x16e3: 0x876d,
- 0x16e4: 0x878d, 0x16e5: 0x876d, 0x16e6: 0x87ad, 0x16e7: 0x87cd, 0x16e8: 0x87ed, 0x16e9: 0x87ed,
- 0x16ea: 0x880d, 0x16eb: 0x880d, 0x16ec: 0x882d, 0x16ed: 0x882d, 0x16ee: 0x880d, 0x16ef: 0x880d,
- 0x16f0: 0x884d, 0x16f1: 0x886d, 0x16f2: 0x888d, 0x16f3: 0x88ad, 0x16f4: 0x88cd, 0x16f5: 0x88ed,
- 0x16f6: 0x88ed, 0x16f7: 0x88ed, 0x16f8: 0x890d, 0x16f9: 0x890d, 0x16fa: 0x890d, 0x16fb: 0x890d,
- 0x16fc: 0x87ed, 0x16fd: 0x87ed, 0x16fe: 0x87ed, 0x16ff: 0x0040,
- // Block 0x5c, offset 0x1700
- 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x874d, 0x1703: 0x872d, 0x1704: 0x892d, 0x1705: 0x872d,
- 0x1706: 0x874d, 0x1707: 0x872d, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x894d, 0x170b: 0x874d,
- 0x170c: 0x896d, 0x170d: 0x892d, 0x170e: 0x896d, 0x170f: 0x874d, 0x1710: 0x0040, 0x1711: 0x0040,
- 0x1712: 0x898d, 0x1713: 0x89ad, 0x1714: 0x88ad, 0x1715: 0x896d, 0x1716: 0x892d, 0x1717: 0x896d,
- 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x89cd, 0x171b: 0x89ed, 0x171c: 0x89cd, 0x171d: 0x0040,
- 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x8a0e,
- 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x8a2d, 0x1727: 0x0040, 0x1728: 0x8a4d, 0x1729: 0x8a6d,
- 0x172a: 0x8a8d, 0x172b: 0x8a6d, 0x172c: 0x8aad, 0x172d: 0x8acd, 0x172e: 0x8aed, 0x172f: 0x0040,
- 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040,
- 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340,
- 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,
- // Block 0x5d, offset 0x1740
- 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08,
- 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808,
- 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08,
- 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908,
- 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08,
- 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808,
- 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040,
- 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18,
- 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818,
- 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040,
- 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040,
- // Block 0x5e, offset 0x1780
- 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08,
- 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08,
- 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08,
- 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040,
- 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040,
- 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040,
- 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18,
- 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818,
- 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040,
- 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040,
- 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040,
- // Block 0x5f, offset 0x17c0
- 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008,
- 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008,
- 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040,
- 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008,
- 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008,
- 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008,
- 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040,
- 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008,
- 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008,
- 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x3308,
- 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008,
- // Block 0x60, offset 0x1800
- 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040,
- 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008,
- 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040,
- 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008,
- 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008,
- 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008,
- 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308,
- 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040,
- 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040,
- 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040,
- 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040,
- // Block 0x61, offset 0x1840
- 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199,
- 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359,
- 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269,
- 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369,
- 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9,
- 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259,
- 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99,
- 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089,
- 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9,
- 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249,
- 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359,
- // Block 0x62, offset 0x1880
- 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269,
- 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369,
- 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9,
- 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259,
- 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99,
- 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089,
- 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9,
- 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249,
- 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71,
- 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9,
- 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369,
- // Block 0x63, offset 0x18c0
- 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9,
- 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259,
- 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99,
- 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089,
- 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040,
- 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040,
- 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71,
- 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9,
- 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1,
- 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199,
- 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259,
- // Block 0x64, offset 0x1900
- 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99,
- 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089,
- 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9,
- 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249,
- 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71,
- 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9,
- 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1,
- 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199,
- 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359,
- 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269,
- 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089,
- // Block 0x65, offset 0x1940
- 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9,
- 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040,
- 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71,
- 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9,
- 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040,
- 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199,
- 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359,
- 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269,
- 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369,
- 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9,
- 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040,
- // Block 0x66, offset 0x1980
- 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040,
- 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9,
- 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040,
- 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199,
- 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359,
- 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269,
- 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369,
- 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9,
- 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259,
- 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99,
- 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9,
- // Block 0x67, offset 0x19c0
- 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1,
- 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199,
- 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359,
- 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269,
- 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369,
- 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9,
- 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259,
- 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99,
- 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089,
- 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9,
- 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199,
- // Block 0x68, offset 0x1a00
- 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359,
- 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269,
- 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369,
- 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9,
- 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259,
- 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99,
- 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089,
- 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9,
- 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249,
- 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71,
- 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269,
- // Block 0x69, offset 0x1a40
- 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369,
- 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9,
- 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259,
- 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99,
- 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089,
- 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9,
- 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249,
- 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71,
- 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9,
- 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1,
- 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9,
- // Block 0x6a, offset 0x1a80
- 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259,
- 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99,
- 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089,
- 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9,
- 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249,
- 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71,
- 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9,
- 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1,
- 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199,
- 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359,
- 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99,
- // Block 0x6b, offset 0x1ac0
- 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089,
- 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9,
- 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249,
- 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71,
- 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9,
- 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1,
- 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099,
- 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429,
- 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71,
- 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9,
- 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9,
- // Block 0x6c, offset 0x1b00
- 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9,
- 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11,
- 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109,
- 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1,
- 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429,
- 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099,
- 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429,
- 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71,
- 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9,
- 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01,
- 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9,
- // Block 0x6d, offset 0x1b40
- 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11,
- 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109,
- 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1,
- 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429,
- 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099,
- 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429,
- 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71,
- 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9,
- 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01,
- 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1,
- 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11,
- // Block 0x6e, offset 0x1b80
- 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109,
- 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1,
- 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429,
- 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099,
- 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429,
- 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71,
- 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9,
- 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01,
- 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1,
- 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41,
- 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109,
- // Block 0x6f, offset 0x1bc0
- 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1,
- 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429,
- 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099,
- 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429,
- 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71,
- 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9,
- 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01,
- 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1,
- 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41,
- 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1,
- 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1,
- // Block 0x70, offset 0x1c00
- 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429,
- 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41,
- 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079,
- 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1,
- 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61,
- 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9,
- 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81,
- 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079,
- 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1,
- 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61,
- 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1,
- // Block 0x71, offset 0x1c40
- 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115,
- 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135,
- 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115,
- 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175,
- 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115,
- 0x1c5e: 0x8b3d, 0x1c5f: 0x8b3d, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08,
- 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08,
- 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08,
- 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08,
- 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08,
- 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08,
- // Block 0x72, offset 0x1c80
- 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411,
- 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1,
- 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9,
- 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231,
- 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949,
- 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040,
- 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429,
- 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339,
- 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1,
- 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351,
- 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040,
- // Block 0x73, offset 0x1cc0
- 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040,
- 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1,
- 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9,
- 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231,
- 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949,
- 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040,
- 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429,
- 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339,
- 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1,
- 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351,
- 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040,
- // Block 0x74, offset 0x1d00
- 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411,
- 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1,
- 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9,
- 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231,
- 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040,
- 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249,
- 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429,
- 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339,
- 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1,
- 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351,
- 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040,
- // Block 0x75, offset 0x1d40
- 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02,
- 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018,
- 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2,
- 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72,
- 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32,
- 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2,
- 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2,
- 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0018,
- 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199,
- 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359,
- 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99,
- // Block 0x76, offset 0x1d80
- 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089,
- 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1,
- 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018,
- 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018,
- 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018,
- 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018,
- 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018,
- 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0xc1c1, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040,
- 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018,
- 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018,
- 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018,
- // Block 0x77, offset 0x1dc0
- 0x1dc0: 0xc1f1, 0x1dc1: 0xc229, 0x1dc2: 0xc261, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040,
- 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040,
- 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc281, 0x1dd1: 0xc2a1,
- 0x1dd2: 0xc2c1, 0x1dd3: 0xc2e1, 0x1dd4: 0xc301, 0x1dd5: 0xc321, 0x1dd6: 0xc341, 0x1dd7: 0xc361,
- 0x1dd8: 0xc381, 0x1dd9: 0xc3a1, 0x1dda: 0xc3c1, 0x1ddb: 0xc3e1, 0x1ddc: 0xc401, 0x1ddd: 0xc421,
- 0x1dde: 0xc441, 0x1ddf: 0xc461, 0x1de0: 0xc481, 0x1de1: 0xc4a1, 0x1de2: 0xc4c1, 0x1de3: 0xc4e1,
- 0x1de4: 0xc501, 0x1de5: 0xc521, 0x1de6: 0xc541, 0x1de7: 0xc561, 0x1de8: 0xc581, 0x1de9: 0xc5a1,
- 0x1dea: 0xc5c1, 0x1deb: 0xc5e1, 0x1dec: 0xc601, 0x1ded: 0xc621, 0x1dee: 0xc641, 0x1def: 0xc661,
- 0x1df0: 0xc681, 0x1df1: 0xc6a1, 0x1df2: 0xc6c1, 0x1df3: 0xc6e1, 0x1df4: 0xc701, 0x1df5: 0xc721,
- 0x1df6: 0xc741, 0x1df7: 0xc761, 0x1df8: 0xc781, 0x1df9: 0xc7a1, 0x1dfa: 0xc7c1, 0x1dfb: 0xc7e1,
- 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040,
- // Block 0x78, offset 0x1e00
- 0x1e00: 0xcb11, 0x1e01: 0xcb31, 0x1e02: 0xcb51, 0x1e03: 0x8b55, 0x1e04: 0xcb71, 0x1e05: 0xcb91,
- 0x1e06: 0xcbb1, 0x1e07: 0xcbd1, 0x1e08: 0xcbf1, 0x1e09: 0xcc11, 0x1e0a: 0xcc31, 0x1e0b: 0xcc51,
- 0x1e0c: 0xcc71, 0x1e0d: 0x8b75, 0x1e0e: 0xcc91, 0x1e0f: 0xccb1, 0x1e10: 0xccd1, 0x1e11: 0xccf1,
- 0x1e12: 0x8b95, 0x1e13: 0xcd11, 0x1e14: 0xcd31, 0x1e15: 0xc441, 0x1e16: 0x8bb5, 0x1e17: 0xcd51,
- 0x1e18: 0xcd71, 0x1e19: 0xcd91, 0x1e1a: 0xcdb1, 0x1e1b: 0xcdd1, 0x1e1c: 0x8bd5, 0x1e1d: 0xcdf1,
- 0x1e1e: 0xce11, 0x1e1f: 0xce31, 0x1e20: 0xce51, 0x1e21: 0xce71, 0x1e22: 0xc7a1, 0x1e23: 0xce91,
- 0x1e24: 0xceb1, 0x1e25: 0xced1, 0x1e26: 0xcef1, 0x1e27: 0xcf11, 0x1e28: 0xcf31, 0x1e29: 0xcf51,
- 0x1e2a: 0xcf71, 0x1e2b: 0xcf91, 0x1e2c: 0xcfb1, 0x1e2d: 0xcfd1, 0x1e2e: 0xcff1, 0x1e2f: 0xd011,
- 0x1e30: 0xd031, 0x1e31: 0xd051, 0x1e32: 0xd051, 0x1e33: 0xd051, 0x1e34: 0x8bf5, 0x1e35: 0xd071,
- 0x1e36: 0xd091, 0x1e37: 0xd0b1, 0x1e38: 0x8c15, 0x1e39: 0xd0d1, 0x1e3a: 0xd0f1, 0x1e3b: 0xd111,
- 0x1e3c: 0xd131, 0x1e3d: 0xd151, 0x1e3e: 0xd171, 0x1e3f: 0xd191,
- // Block 0x79, offset 0x1e40
- 0x1e40: 0xd1b1, 0x1e41: 0xd1d1, 0x1e42: 0xd1f1, 0x1e43: 0xd211, 0x1e44: 0xd231, 0x1e45: 0xd251,
- 0x1e46: 0xd251, 0x1e47: 0xd271, 0x1e48: 0xd291, 0x1e49: 0xd2b1, 0x1e4a: 0xd2d1, 0x1e4b: 0xd2f1,
- 0x1e4c: 0xd311, 0x1e4d: 0xd331, 0x1e4e: 0xd351, 0x1e4f: 0xd371, 0x1e50: 0xd391, 0x1e51: 0xd3b1,
- 0x1e52: 0xd3d1, 0x1e53: 0xd3f1, 0x1e54: 0xd411, 0x1e55: 0xd431, 0x1e56: 0xd451, 0x1e57: 0xd471,
- 0x1e58: 0xd491, 0x1e59: 0x8c35, 0x1e5a: 0xd4b1, 0x1e5b: 0xd4d1, 0x1e5c: 0xd4f1, 0x1e5d: 0xc321,
- 0x1e5e: 0xd511, 0x1e5f: 0xd531, 0x1e60: 0x8c55, 0x1e61: 0x8c75, 0x1e62: 0xd551, 0x1e63: 0xd571,
- 0x1e64: 0xd591, 0x1e65: 0xd5b1, 0x1e66: 0xd5d1, 0x1e67: 0xd5f1, 0x1e68: 0x2040, 0x1e69: 0xd611,
- 0x1e6a: 0xd631, 0x1e6b: 0xd631, 0x1e6c: 0x8c95, 0x1e6d: 0xd651, 0x1e6e: 0xd671, 0x1e6f: 0xd691,
- 0x1e70: 0xd6b1, 0x1e71: 0x8cb5, 0x1e72: 0xd6d1, 0x1e73: 0xd6f1, 0x1e74: 0x2040, 0x1e75: 0xd711,
- 0x1e76: 0xd731, 0x1e77: 0xd751, 0x1e78: 0xd771, 0x1e79: 0xd791, 0x1e7a: 0xd7b1, 0x1e7b: 0x8cd5,
- 0x1e7c: 0xd7d1, 0x1e7d: 0x8cf5, 0x1e7e: 0xd7f1, 0x1e7f: 0xd811,
- // Block 0x7a, offset 0x1e80
- 0x1e80: 0xd831, 0x1e81: 0xd851, 0x1e82: 0xd871, 0x1e83: 0xd891, 0x1e84: 0xd8b1, 0x1e85: 0xd8d1,
- 0x1e86: 0xd8f1, 0x1e87: 0xd911, 0x1e88: 0xd931, 0x1e89: 0x8d15, 0x1e8a: 0xd951, 0x1e8b: 0xd971,
- 0x1e8c: 0xd991, 0x1e8d: 0xd9b1, 0x1e8e: 0xd9d1, 0x1e8f: 0x8d35, 0x1e90: 0xd9f1, 0x1e91: 0x8d55,
- 0x1e92: 0x8d75, 0x1e93: 0xda11, 0x1e94: 0xda31, 0x1e95: 0xda31, 0x1e96: 0xda51, 0x1e97: 0x8d95,
- 0x1e98: 0x8db5, 0x1e99: 0xda71, 0x1e9a: 0xda91, 0x1e9b: 0xdab1, 0x1e9c: 0xdad1, 0x1e9d: 0xdaf1,
- 0x1e9e: 0xdb11, 0x1e9f: 0xdb31, 0x1ea0: 0xdb51, 0x1ea1: 0xdb71, 0x1ea2: 0xdb91, 0x1ea3: 0xdbb1,
- 0x1ea4: 0x8dd5, 0x1ea5: 0xdbd1, 0x1ea6: 0xdbf1, 0x1ea7: 0xdc11, 0x1ea8: 0xdc31, 0x1ea9: 0xdc11,
- 0x1eaa: 0xdc51, 0x1eab: 0xdc71, 0x1eac: 0xdc91, 0x1ead: 0xdcb1, 0x1eae: 0xdcd1, 0x1eaf: 0xdcf1,
- 0x1eb0: 0xdd11, 0x1eb1: 0xdd31, 0x1eb2: 0xdd51, 0x1eb3: 0xdd71, 0x1eb4: 0xdd91, 0x1eb5: 0xddb1,
- 0x1eb6: 0xddd1, 0x1eb7: 0xddf1, 0x1eb8: 0x8df5, 0x1eb9: 0xde11, 0x1eba: 0xde31, 0x1ebb: 0xde51,
- 0x1ebc: 0xde71, 0x1ebd: 0xde91, 0x1ebe: 0x8e15, 0x1ebf: 0xdeb1,
- // Block 0x7b, offset 0x1ec0
- 0x1ec0: 0xe5b1, 0x1ec1: 0xe5d1, 0x1ec2: 0xe5f1, 0x1ec3: 0xe611, 0x1ec4: 0xe631, 0x1ec5: 0xe651,
- 0x1ec6: 0x8f35, 0x1ec7: 0xe671, 0x1ec8: 0xe691, 0x1ec9: 0xe6b1, 0x1eca: 0xe6d1, 0x1ecb: 0xe6f1,
- 0x1ecc: 0xe711, 0x1ecd: 0x8f55, 0x1ece: 0xe731, 0x1ecf: 0xe751, 0x1ed0: 0x8f75, 0x1ed1: 0x8f95,
- 0x1ed2: 0xe771, 0x1ed3: 0xe791, 0x1ed4: 0xe7b1, 0x1ed5: 0xe7d1, 0x1ed6: 0xe7f1, 0x1ed7: 0xe811,
- 0x1ed8: 0xe831, 0x1ed9: 0xe851, 0x1eda: 0xe871, 0x1edb: 0x8fb5, 0x1edc: 0xe891, 0x1edd: 0x8fd5,
- 0x1ede: 0xe8b1, 0x1edf: 0x2040, 0x1ee0: 0xe8d1, 0x1ee1: 0xe8f1, 0x1ee2: 0xe911, 0x1ee3: 0x8ff5,
- 0x1ee4: 0xe931, 0x1ee5: 0xe951, 0x1ee6: 0x9015, 0x1ee7: 0x9035, 0x1ee8: 0xe971, 0x1ee9: 0xe991,
- 0x1eea: 0xe9b1, 0x1eeb: 0xe9d1, 0x1eec: 0xe9f1, 0x1eed: 0xe9f1, 0x1eee: 0xea11, 0x1eef: 0xea31,
- 0x1ef0: 0xea51, 0x1ef1: 0xea71, 0x1ef2: 0xea91, 0x1ef3: 0xeab1, 0x1ef4: 0xead1, 0x1ef5: 0x9055,
- 0x1ef6: 0xeaf1, 0x1ef7: 0x9075, 0x1ef8: 0xeb11, 0x1ef9: 0x9095, 0x1efa: 0xeb31, 0x1efb: 0x90b5,
- 0x1efc: 0x90d5, 0x1efd: 0x90f5, 0x1efe: 0xeb51, 0x1eff: 0xeb71,
- // Block 0x7c, offset 0x1f00
- 0x1f00: 0xeb91, 0x1f01: 0x9115, 0x1f02: 0x9135, 0x1f03: 0x9155, 0x1f04: 0x9175, 0x1f05: 0xebb1,
- 0x1f06: 0xebd1, 0x1f07: 0xebd1, 0x1f08: 0xebf1, 0x1f09: 0xec11, 0x1f0a: 0xec31, 0x1f0b: 0xec51,
- 0x1f0c: 0xec71, 0x1f0d: 0x9195, 0x1f0e: 0xec91, 0x1f0f: 0xecb1, 0x1f10: 0xecd1, 0x1f11: 0xecf1,
- 0x1f12: 0x91b5, 0x1f13: 0xed11, 0x1f14: 0x91d5, 0x1f15: 0x91f5, 0x1f16: 0xed31, 0x1f17: 0xed51,
- 0x1f18: 0xed71, 0x1f19: 0xed91, 0x1f1a: 0xedb1, 0x1f1b: 0xedd1, 0x1f1c: 0x9215, 0x1f1d: 0x9235,
- 0x1f1e: 0x9255, 0x1f1f: 0x2040, 0x1f20: 0xedf1, 0x1f21: 0x9275, 0x1f22: 0xee11, 0x1f23: 0xee31,
- 0x1f24: 0xee51, 0x1f25: 0x9295, 0x1f26: 0xee71, 0x1f27: 0xee91, 0x1f28: 0xeeb1, 0x1f29: 0xeed1,
- 0x1f2a: 0xeef1, 0x1f2b: 0x92b5, 0x1f2c: 0xef11, 0x1f2d: 0xef31, 0x1f2e: 0xef51, 0x1f2f: 0xef71,
- 0x1f30: 0xef91, 0x1f31: 0xefb1, 0x1f32: 0x92d5, 0x1f33: 0x92f5, 0x1f34: 0xefd1, 0x1f35: 0x9315,
- 0x1f36: 0xeff1, 0x1f37: 0x9335, 0x1f38: 0xf011, 0x1f39: 0xf031, 0x1f3a: 0xf051, 0x1f3b: 0x9355,
- 0x1f3c: 0x9375, 0x1f3d: 0xf071, 0x1f3e: 0x9395, 0x1f3f: 0xf091,
- // Block 0x7d, offset 0x1f40
- 0x1f40: 0xf6d1, 0x1f41: 0xf6f1, 0x1f42: 0xf711, 0x1f43: 0xf731, 0x1f44: 0xf751, 0x1f45: 0x9555,
- 0x1f46: 0xf771, 0x1f47: 0xf791, 0x1f48: 0xf7b1, 0x1f49: 0xf7d1, 0x1f4a: 0xf7f1, 0x1f4b: 0x9575,
- 0x1f4c: 0x9595, 0x1f4d: 0xf811, 0x1f4e: 0xf831, 0x1f4f: 0xf851, 0x1f50: 0xf871, 0x1f51: 0xf891,
- 0x1f52: 0xf8b1, 0x1f53: 0x95b5, 0x1f54: 0xf8d1, 0x1f55: 0xf8f1, 0x1f56: 0xf911, 0x1f57: 0xf931,
- 0x1f58: 0x95d5, 0x1f59: 0x95f5, 0x1f5a: 0xf951, 0x1f5b: 0xf971, 0x1f5c: 0xf991, 0x1f5d: 0x9615,
- 0x1f5e: 0xf9b1, 0x1f5f: 0xf9d1, 0x1f60: 0x684d, 0x1f61: 0x9635, 0x1f62: 0xf9f1, 0x1f63: 0xfa11,
- 0x1f64: 0xfa31, 0x1f65: 0x9655, 0x1f66: 0xfa51, 0x1f67: 0xfa71, 0x1f68: 0xfa91, 0x1f69: 0xfab1,
- 0x1f6a: 0xfad1, 0x1f6b: 0xfaf1, 0x1f6c: 0xfb11, 0x1f6d: 0x9675, 0x1f6e: 0xfb31, 0x1f6f: 0xfb51,
- 0x1f70: 0xfb71, 0x1f71: 0x9695, 0x1f72: 0xfb91, 0x1f73: 0xfbb1, 0x1f74: 0xfbd1, 0x1f75: 0xfbf1,
- 0x1f76: 0x7b6d, 0x1f77: 0x96b5, 0x1f78: 0xfc11, 0x1f79: 0xfc31, 0x1f7a: 0xfc51, 0x1f7b: 0x96d5,
- 0x1f7c: 0xfc71, 0x1f7d: 0x96f5, 0x1f7e: 0xfc91, 0x1f7f: 0xfc91,
- // Block 0x7e, offset 0x1f80
- 0x1f80: 0xfcb1, 0x1f81: 0x9715, 0x1f82: 0xfcd1, 0x1f83: 0xfcf1, 0x1f84: 0xfd11, 0x1f85: 0xfd31,
- 0x1f86: 0xfd51, 0x1f87: 0xfd71, 0x1f88: 0xfd91, 0x1f89: 0x9735, 0x1f8a: 0xfdb1, 0x1f8b: 0xfdd1,
- 0x1f8c: 0xfdf1, 0x1f8d: 0xfe11, 0x1f8e: 0xfe31, 0x1f8f: 0xfe51, 0x1f90: 0x9755, 0x1f91: 0xfe71,
- 0x1f92: 0x9775, 0x1f93: 0x9795, 0x1f94: 0x97b5, 0x1f95: 0xfe91, 0x1f96: 0xfeb1, 0x1f97: 0xfed1,
- 0x1f98: 0xfef1, 0x1f99: 0xff11, 0x1f9a: 0xff31, 0x1f9b: 0xff51, 0x1f9c: 0xff71, 0x1f9d: 0x97d5,
- 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040,
- 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040,
- 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040,
- 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040,
- 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040,
- 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040,
-}
-
-// idnaIndex: 36 blocks, 2304 entries, 4608 bytes
-// Block 0 is the zero block.
-var idnaIndex = [2304]uint16{
- // Block 0x0, offset 0x0
- // Block 0x1, offset 0x40
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,
- 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,
- 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84,
- 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88,
- 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,
- 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c,
- 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21,
- // Block 0x4, offset 0x100
- 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16,
- 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d,
- 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91,
- 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96,
- // Block 0x5, offset 0x140
- 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e,
- 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6,
- 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f,
- 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae,
- 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6,
- 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe,
- 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3,
- 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c,
- // Block 0x6, offset 0x180
- 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b,
- 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b,
- 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b,
- 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b,
- 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b,
- 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0x9b,
- 0x1b0: 0xd0, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd1, 0x1b5: 0xd2, 0x1b6: 0xd3, 0x1b7: 0xd4,
- 0x1b8: 0xd5, 0x1b9: 0xd6, 0x1ba: 0xd7, 0x1bb: 0xd8, 0x1bc: 0xd9, 0x1bd: 0xda, 0x1be: 0xdb, 0x1bf: 0x37,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x38, 0x1c1: 0xdc, 0x1c2: 0xdd, 0x1c3: 0xde, 0x1c4: 0xdf, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe0,
- 0x1c8: 0xe1, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41,
- 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f,
- 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f,
- 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f,
- 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f,
- 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f,
- 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f,
- // Block 0x8, offset 0x200
- 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f,
- 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f,
- 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f,
- 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f,
- 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f,
- 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f,
- 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b,
- 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f,
- // Block 0x9, offset 0x240
- 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f,
- 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f,
- 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f,
- 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f,
- 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f,
- 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f,
- 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f,
- 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f,
- // Block 0xa, offset 0x280
- 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f,
- 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f,
- 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f,
- 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f,
- 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f,
- 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f,
- 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f,
- 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe2,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f,
- 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f,
- 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe3, 0x2d3: 0xe4, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f,
- 0x2d8: 0xe5, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe6, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe7,
- 0x2e0: 0xe8, 0x2e1: 0xe9, 0x2e2: 0xea, 0x2e3: 0xeb, 0x2e4: 0xec, 0x2e5: 0xed, 0x2e6: 0xee, 0x2e7: 0xef,
- 0x2e8: 0xf0, 0x2e9: 0xf1, 0x2ea: 0xf2, 0x2eb: 0xf3, 0x2ec: 0xf4, 0x2ed: 0xf5, 0x2ee: 0xf6, 0x2ef: 0xf7,
- 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f,
- 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f,
- // Block 0xc, offset 0x300
- 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f,
- 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f,
- 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f,
- 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf8, 0x31f: 0xf9,
- // Block 0xd, offset 0x340
- 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba,
- 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba,
- 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba,
- 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba,
- 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba,
- 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba,
- 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba,
- 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba,
- // Block 0xe, offset 0x380
- 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba,
- 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba,
- 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba,
- 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba,
- 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfa, 0x3a5: 0xfb, 0x3a6: 0xfc, 0x3a7: 0xfd,
- 0x3a8: 0x47, 0x3a9: 0xfe, 0x3aa: 0xff, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c,
- 0x3b0: 0x100, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x101, 0x3b7: 0x52,
- 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x102, 0x3c1: 0x103, 0x3c2: 0x9f, 0x3c3: 0x104, 0x3c4: 0x105, 0x3c5: 0x9b, 0x3c6: 0x106, 0x3c7: 0x107,
- 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x108, 0x3cb: 0x109, 0x3cc: 0x10a, 0x3cd: 0x10b, 0x3ce: 0x10c, 0x3cf: 0x10d,
- 0x3d0: 0x10e, 0x3d1: 0x9f, 0x3d2: 0x10f, 0x3d3: 0x110, 0x3d4: 0x111, 0x3d5: 0x112, 0x3d6: 0xba, 0x3d7: 0xba,
- 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x113, 0x3dd: 0x114, 0x3de: 0xba, 0x3df: 0xba,
- 0x3e0: 0x115, 0x3e1: 0x116, 0x3e2: 0x117, 0x3e3: 0x118, 0x3e4: 0x119, 0x3e5: 0xba, 0x3e6: 0x11a, 0x3e7: 0x11b,
- 0x3e8: 0x11c, 0x3e9: 0x11d, 0x3ea: 0x11e, 0x3eb: 0x5b, 0x3ec: 0x11f, 0x3ed: 0x120, 0x3ee: 0x5c, 0x3ef: 0xba,
- 0x3f0: 0x121, 0x3f1: 0x122, 0x3f2: 0x123, 0x3f3: 0x124, 0x3f4: 0x125, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba,
- 0x3f8: 0xba, 0x3f9: 0x126, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0x127, 0x3fd: 0x128, 0x3fe: 0xba, 0x3ff: 0x129,
- // Block 0x10, offset 0x400
- 0x400: 0x12a, 0x401: 0x12b, 0x402: 0x12c, 0x403: 0x12d, 0x404: 0x12e, 0x405: 0x12f, 0x406: 0x130, 0x407: 0x131,
- 0x408: 0x132, 0x409: 0xba, 0x40a: 0x133, 0x40b: 0x134, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba,
- 0x410: 0x135, 0x411: 0x136, 0x412: 0x137, 0x413: 0x138, 0x414: 0xba, 0x415: 0xba, 0x416: 0x139, 0x417: 0x13a,
- 0x418: 0x13b, 0x419: 0x13c, 0x41a: 0x13d, 0x41b: 0x13e, 0x41c: 0x13f, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba,
- 0x420: 0x140, 0x421: 0xba, 0x422: 0x141, 0x423: 0x142, 0x424: 0xba, 0x425: 0xba, 0x426: 0x143, 0x427: 0x144,
- 0x428: 0x145, 0x429: 0x146, 0x42a: 0x147, 0x42b: 0x148, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba,
- 0x430: 0x149, 0x431: 0x14a, 0x432: 0x14b, 0x433: 0xba, 0x434: 0x14c, 0x435: 0x14d, 0x436: 0x14e, 0x437: 0xba,
- 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0x14f, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0x150,
- // Block 0x11, offset 0x440
- 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f,
- 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x151, 0x44f: 0xba,
- 0x450: 0x9b, 0x451: 0x152, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x153, 0x456: 0xba, 0x457: 0xba,
- 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba,
- 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba,
- 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba,
- 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba,
- 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba,
- // Block 0x12, offset 0x480
- 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f,
- 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f,
- 0x490: 0x154, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba,
- 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba,
- 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba,
- 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba,
- 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba,
- 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba,
- 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba,
- 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f,
- 0x4d8: 0x9f, 0x4d9: 0x155, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba,
- 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba,
- 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba,
- 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba,
- 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba,
- // Block 0x14, offset 0x500
- 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba,
- 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba,
- 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba,
- 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba,
- 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f,
- 0x528: 0x148, 0x529: 0x156, 0x52a: 0xba, 0x52b: 0x157, 0x52c: 0x158, 0x52d: 0x159, 0x52e: 0x15a, 0x52f: 0xba,
- 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba,
- 0x538: 0xba, 0x539: 0x15b, 0x53a: 0x15c, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x15d, 0x53e: 0x15e, 0x53f: 0x15f,
- // Block 0x15, offset 0x540
- 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f,
- 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f,
- 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f,
- 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x160,
- 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f,
- 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x161, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba,
- 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba,
- 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba,
- // Block 0x16, offset 0x580
- 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x162, 0x585: 0x163, 0x586: 0x9f, 0x587: 0x9f,
- 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x164, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba,
- 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba,
- 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba,
- 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba,
- 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba,
- 0x5b0: 0x9f, 0x5b1: 0x165, 0x5b2: 0x166, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba,
- 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x167, 0x5c4: 0x168, 0x5c5: 0x169, 0x5c6: 0x16a, 0x5c7: 0x16b,
- 0x5c8: 0x9b, 0x5c9: 0x16c, 0x5ca: 0xba, 0x5cb: 0x16d, 0x5cc: 0x9b, 0x5cd: 0x16e, 0x5ce: 0xba, 0x5cf: 0xba,
- 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66,
- 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e,
- 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b,
- 0x5e8: 0x16f, 0x5e9: 0x170, 0x5ea: 0x171, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba,
- 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba,
- 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba,
- // Block 0x18, offset 0x600
- 0x600: 0x172, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0x173, 0x605: 0x174, 0x606: 0xba, 0x607: 0xba,
- 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0x175, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba,
- 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba,
- 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba,
- 0x620: 0x121, 0x621: 0x121, 0x622: 0x121, 0x623: 0x176, 0x624: 0x6f, 0x625: 0x177, 0x626: 0xba, 0x627: 0xba,
- 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba,
- 0x630: 0xba, 0x631: 0x178, 0x632: 0x179, 0x633: 0xba, 0x634: 0x17a, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba,
- 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x17b, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba,
- // Block 0x19, offset 0x640
- 0x640: 0x17c, 0x641: 0x9b, 0x642: 0x17d, 0x643: 0x17e, 0x644: 0x73, 0x645: 0x74, 0x646: 0x17f, 0x647: 0x180,
- 0x648: 0x75, 0x649: 0x181, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b,
- 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b,
- 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x182, 0x65c: 0x9b, 0x65d: 0x183, 0x65e: 0x9b, 0x65f: 0x184,
- 0x660: 0x185, 0x661: 0x186, 0x662: 0x187, 0x663: 0xba, 0x664: 0x188, 0x665: 0x189, 0x666: 0x18a, 0x667: 0x18b,
- 0x668: 0x9b, 0x669: 0x18c, 0x66a: 0x18d, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba,
- 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba,
- 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba,
- // Block 0x1a, offset 0x680
- 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f,
- 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f,
- 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f,
- 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x18e, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f,
- 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f,
- 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f,
- 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f,
- 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f,
- 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f,
- 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f,
- 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x18f, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f,
- 0x6e0: 0x190, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f,
- 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f,
- 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f,
- 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f,
- // Block 0x1c, offset 0x700
- 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f,
- 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f,
- 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f,
- 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f,
- 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f,
- 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f,
- 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f,
- 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x191, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f,
- // Block 0x1d, offset 0x740
- 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f,
- 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f,
- 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f,
- 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f,
- 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f,
- 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x192,
- 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba,
- 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba,
- // Block 0x1e, offset 0x780
- 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba,
- 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba,
- 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba,
- 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba,
- 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x193, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x194, 0x7a7: 0x7b,
- 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba,
- 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba,
- 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba,
- // Block 0x1f, offset 0x7c0
- 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07,
- 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17,
- 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07,
- 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c,
- 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b,
- 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b,
- // Block 0x20, offset 0x800
- 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b,
- 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b,
- 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b,
- 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b,
- 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b,
- 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b,
- 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b,
- 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b,
- // Block 0x21, offset 0x840
- 0x840: 0x195, 0x841: 0x196, 0x842: 0xba, 0x843: 0xba, 0x844: 0x197, 0x845: 0x197, 0x846: 0x197, 0x847: 0x198,
- 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba,
- 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba,
- 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba,
- 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba,
- 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba,
- 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba,
- 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba,
- // Block 0x22, offset 0x880
- 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b,
- 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b,
- 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b,
- 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b,
- 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b,
- 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b,
- 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b,
- 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b,
- 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b,
-}
-
-// idnaSparseOffset: 284 entries, 568 bytes
-var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x86, 0x8b, 0x94, 0xa4, 0xb2, 0xbe, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x224, 0x22e, 0x23a, 0x246, 0x252, 0x25a, 0x25f, 0x26c, 0x27d, 0x281, 0x28c, 0x290, 0x299, 0x2a1, 0x2a7, 0x2ac, 0x2af, 0x2b3, 0x2b9, 0x2bd, 0x2c1, 0x2c5, 0x2cb, 0x2d3, 0x2da, 0x2e5, 0x2ef, 0x2f3, 0x2f6, 0x2fc, 0x300, 0x302, 0x305, 0x307, 0x30a, 0x314, 0x317, 0x326, 0x32a, 0x32f, 0x332, 0x336, 0x33b, 0x340, 0x346, 0x352, 0x361, 0x367, 0x36b, 0x37a, 0x37f, 0x387, 0x391, 0x39c, 0x3a4, 0x3b5, 0x3be, 0x3ce, 0x3db, 0x3e5, 0x3ea, 0x3f7, 0x3fb, 0x400, 0x402, 0x406, 0x408, 0x40c, 0x415, 0x41b, 0x41f, 0x42f, 0x439, 0x43e, 0x441, 0x447, 0x44e, 0x453, 0x457, 0x45d, 0x462, 0x46b, 0x470, 0x476, 0x47d, 0x484, 0x48b, 0x48f, 0x494, 0x497, 0x49c, 0x4a8, 0x4ae, 0x4b3, 0x4ba, 0x4c2, 0x4c7, 0x4cb, 0x4db, 0x4e2, 0x4e6, 0x4ea, 0x4f1, 0x4f3, 0x4f6, 0x4f9, 0x4fd, 0x506, 0x50a, 0x512, 0x51a, 0x51e, 0x524, 0x52d, 0x539, 0x540, 0x549, 0x553, 0x55a, 0x568, 0x575, 0x582, 0x58b, 0x58f, 0x59f, 0x5a7, 0x5b2, 0x5bb, 0x5c1, 0x5c9, 0x5d2, 0x5dd, 0x5e0, 0x5ec, 0x5f5, 0x5f8, 0x5fd, 0x602, 0x60f, 0x61a, 0x623, 0x62d, 0x630, 0x63a, 0x643, 0x64f, 0x65c, 0x669, 0x677, 0x67e, 0x682, 0x685, 0x68a, 0x68d, 0x692, 0x695, 0x69c, 0x6a3, 0x6a7, 0x6b2, 0x6b5, 0x6b8, 0x6bb, 0x6c1, 0x6c7, 0x6cd, 0x6d0, 0x6d3, 0x6d6, 0x6dd, 0x6e0, 0x6e5, 0x6ef, 0x6f2, 0x6f6, 0x705, 0x711, 0x715, 0x71a, 0x71e, 0x723, 0x727, 0x72c, 0x735, 0x740, 0x746, 0x74c, 0x752, 0x758, 0x761, 0x764, 0x767, 0x76b, 0x76f, 0x773, 0x779, 0x77f, 0x784, 0x787, 0x797, 0x79e, 0x7a1, 0x7a6, 0x7aa, 0x7b0, 0x7b5, 0x7b9, 0x7bf, 0x7c5, 0x7c9, 0x7d2, 0x7d7, 0x7da, 0x7dd, 0x7e1, 0x7e5, 0x7e8, 0x7f8, 0x809, 0x80e, 0x810, 0x812}
-
-// idnaSparseValues: 2069 entries, 8276 bytes
-var idnaSparseValues = [2069]valueRange{
- // Block 0x0, offset 0x0
- {value: 0x0000, lo: 0x07},
- {value: 0xe105, lo: 0x80, hi: 0x96},
- {value: 0x0018, lo: 0x97, hi: 0x97},
- {value: 0xe105, lo: 0x98, hi: 0x9e},
- {value: 0x001f, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbf},
- // Block 0x1, offset 0x8
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0xe01d, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0335, lo: 0x83, hi: 0x83},
- {value: 0x034d, lo: 0x84, hi: 0x84},
- {value: 0x0365, lo: 0x85, hi: 0x85},
- {value: 0xe00d, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0xe00d, lo: 0x88, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x89},
- {value: 0xe00d, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe00d, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0x8d},
- {value: 0xe00d, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0xbf},
- // Block 0x2, offset 0x19
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x0249, lo: 0xb0, hi: 0xb0},
- {value: 0x037d, lo: 0xb1, hi: 0xb1},
- {value: 0x0259, lo: 0xb2, hi: 0xb2},
- {value: 0x0269, lo: 0xb3, hi: 0xb3},
- {value: 0x034d, lo: 0xb4, hi: 0xb4},
- {value: 0x0395, lo: 0xb5, hi: 0xb5},
- {value: 0xe1bd, lo: 0xb6, hi: 0xb6},
- {value: 0x0279, lo: 0xb7, hi: 0xb7},
- {value: 0x0289, lo: 0xb8, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbf},
- // Block 0x3, offset 0x25
- {value: 0x0000, lo: 0x01},
- {value: 0x3308, lo: 0x80, hi: 0xbf},
- // Block 0x4, offset 0x27
- {value: 0x0000, lo: 0x04},
- {value: 0x03f5, lo: 0x80, hi: 0x8f},
- {value: 0xe105, lo: 0x90, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x5, offset 0x2c
- {value: 0x0000, lo: 0x06},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x0545, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x0008, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x6, offset 0x33
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0401, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0x0018, lo: 0x89, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0xbd},
- {value: 0x0818, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x7, offset 0x3e
- {value: 0x0000, lo: 0x0b},
- {value: 0x0818, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x82},
- {value: 0x0818, lo: 0x83, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x85},
- {value: 0x0818, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xae},
- {value: 0x0808, lo: 0xaf, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x8, offset 0x4a
- {value: 0x0000, lo: 0x03},
- {value: 0x0a08, lo: 0x80, hi: 0x87},
- {value: 0x0c08, lo: 0x88, hi: 0x99},
- {value: 0x0a08, lo: 0x9a, hi: 0xbf},
- // Block 0x9, offset 0x4e
- {value: 0x0000, lo: 0x0e},
- {value: 0x3308, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0c08, lo: 0x8d, hi: 0x8d},
- {value: 0x0a08, lo: 0x8e, hi: 0x98},
- {value: 0x0c08, lo: 0x99, hi: 0x9b},
- {value: 0x0a08, lo: 0x9c, hi: 0xaa},
- {value: 0x0c08, lo: 0xab, hi: 0xac},
- {value: 0x0a08, lo: 0xad, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb1},
- {value: 0x0a08, lo: 0xb2, hi: 0xb2},
- {value: 0x0c08, lo: 0xb3, hi: 0xb4},
- {value: 0x0a08, lo: 0xb5, hi: 0xb7},
- {value: 0x0c08, lo: 0xb8, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbf},
- // Block 0xa, offset 0x5d
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xb0},
- {value: 0x0808, lo: 0xb1, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xb, offset 0x62
- {value: 0x0000, lo: 0x09},
- {value: 0x0808, lo: 0x80, hi: 0x89},
- {value: 0x0a08, lo: 0x8a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x0818, lo: 0xbe, hi: 0xbf},
- // Block 0xc, offset 0x6c
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x99},
- {value: 0x0808, lo: 0x9a, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa3},
- {value: 0x0808, lo: 0xa4, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa7},
- {value: 0x0808, lo: 0xa8, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0818, lo: 0xb0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xd, offset 0x78
- {value: 0x0000, lo: 0x0d},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0a08, lo: 0xa0, hi: 0xa9},
- {value: 0x0c08, lo: 0xaa, hi: 0xac},
- {value: 0x0808, lo: 0xad, hi: 0xad},
- {value: 0x0c08, lo: 0xae, hi: 0xae},
- {value: 0x0a08, lo: 0xaf, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb2},
- {value: 0x0a08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0a08, lo: 0xb6, hi: 0xb8},
- {value: 0x0c08, lo: 0xb9, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0xe, offset 0x86
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x92},
- {value: 0x3308, lo: 0x93, hi: 0xa1},
- {value: 0x0840, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xbf},
- // Block 0xf, offset 0x8b
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x10, offset 0x94
- {value: 0x0000, lo: 0x0f},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x85},
- {value: 0x3008, lo: 0x86, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x3008, lo: 0x8a, hi: 0x8c},
- {value: 0x3b08, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x11, offset 0xa4
- {value: 0x0000, lo: 0x0d},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x12, offset 0xb2
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xba},
- {value: 0x3b08, lo: 0xbb, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x13, offset 0xbe
- {value: 0x0000, lo: 0x0b},
- {value: 0x0040, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x14, offset 0xca
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x89},
- {value: 0x3b08, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x3008, lo: 0x98, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x15, offset 0xdb
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb2},
- {value: 0x08f1, lo: 0xb3, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb9},
- {value: 0x3b08, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0x16, offset 0xe5
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x8e},
- {value: 0x0018, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0xbf},
- // Block 0x17, offset 0xec
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0961, lo: 0x9c, hi: 0x9c},
- {value: 0x0999, lo: 0x9d, hi: 0x9d},
- {value: 0x0008, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x18, offset 0xf9
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe03d, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x19, offset 0x10a
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0x1a, offset 0x111
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x1b, offset 0x11c
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x3008, lo: 0x96, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x3308, lo: 0x9e, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xa1},
- {value: 0x3008, lo: 0xa2, hi: 0xa4},
- {value: 0x0008, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xbf},
- // Block 0x1c, offset 0x12b
- {value: 0x0000, lo: 0x0d},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x8c},
- {value: 0x3308, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x3008, lo: 0x9a, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x1d, offset 0x139
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x86},
- {value: 0x055d, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8c},
- {value: 0x055d, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbb},
- {value: 0xe105, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0x1e, offset 0x143
- {value: 0x0000, lo: 0x01},
- {value: 0x0018, lo: 0x80, hi: 0xbf},
- // Block 0x1f, offset 0x145
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa0},
- {value: 0x2018, lo: 0xa1, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x20, offset 0x14a
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa7},
- {value: 0x2018, lo: 0xa8, hi: 0xbf},
- // Block 0x21, offset 0x14d
- {value: 0x0000, lo: 0x02},
- {value: 0x2018, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0xbf},
- // Block 0x22, offset 0x150
- {value: 0x0000, lo: 0x01},
- {value: 0x0008, lo: 0x80, hi: 0xbf},
- // Block 0x23, offset 0x152
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x24, offset 0x15e
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x25, offset 0x169
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x26, offset 0x171
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x27, offset 0x177
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x28, offset 0x17d
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x29, offset 0x182
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x2a, offset 0x187
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x2b, offset 0x18a
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xbf},
- // Block 0x2c, offset 0x18e
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x2d, offset 0x194
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x2e, offset 0x199
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x3b08, lo: 0x94, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x2f, offset 0x1a5
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x30, offset 0x1af
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xb3},
- {value: 0x3340, lo: 0xb4, hi: 0xb5},
- {value: 0x3008, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x31, offset 0x1b5
- {value: 0x0000, lo: 0x10},
- {value: 0x3008, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x91},
- {value: 0x3b08, lo: 0x92, hi: 0x92},
- {value: 0x3308, lo: 0x93, hi: 0x93},
- {value: 0x0018, lo: 0x94, hi: 0x96},
- {value: 0x0008, lo: 0x97, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x32, offset 0x1c6
- {value: 0x0000, lo: 0x09},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x86},
- {value: 0x0218, lo: 0x87, hi: 0x87},
- {value: 0x0018, lo: 0x88, hi: 0x8a},
- {value: 0x33c0, lo: 0x8b, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0208, lo: 0xa0, hi: 0xbf},
- // Block 0x33, offset 0x1d0
- {value: 0x0000, lo: 0x02},
- {value: 0x0208, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x34, offset 0x1d3
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0208, lo: 0x87, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xa9},
- {value: 0x0208, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x35, offset 0x1db
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0x36, offset 0x1de
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x37, offset 0x1eb
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x38, offset 0x1f3
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x39, offset 0x1f7
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0028, lo: 0x9a, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xbf},
- // Block 0x3a, offset 0x1fe
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x3308, lo: 0x97, hi: 0x98},
- {value: 0x3008, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x3b, offset 0x206
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x94},
- {value: 0x3008, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3b08, lo: 0xa0, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xac},
- {value: 0x3008, lo: 0xad, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x3c, offset 0x216
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xbd},
- {value: 0x3318, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x3d, offset 0x222
- {value: 0x0000, lo: 0x01},
- {value: 0x0040, lo: 0x80, hi: 0xbf},
- // Block 0x3e, offset 0x224
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3008, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbf},
- // Block 0x3f, offset 0x22e
- {value: 0x0000, lo: 0x0b},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x3808, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x40, offset 0x23a
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3808, lo: 0xaa, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xbf},
- // Block 0x41, offset 0x246
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3008, lo: 0xaa, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3808, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbf},
- // Block 0x42, offset 0x252
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x3008, lo: 0xa4, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbf},
- // Block 0x43, offset 0x25a
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x44, offset 0x25f
- {value: 0x0000, lo: 0x0c},
- {value: 0x0e29, lo: 0x80, hi: 0x80},
- {value: 0x0e41, lo: 0x81, hi: 0x81},
- {value: 0x0e59, lo: 0x82, hi: 0x82},
- {value: 0x0e71, lo: 0x83, hi: 0x83},
- {value: 0x0e89, lo: 0x84, hi: 0x85},
- {value: 0x0ea1, lo: 0x86, hi: 0x86},
- {value: 0x0eb9, lo: 0x87, hi: 0x87},
- {value: 0x057d, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x059d, lo: 0x90, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbc},
- {value: 0x059d, lo: 0xbd, hi: 0xbf},
- // Block 0x45, offset 0x26c
- {value: 0x0000, lo: 0x10},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x92},
- {value: 0x0018, lo: 0x93, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa8},
- {value: 0x0008, lo: 0xa9, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x46, offset 0x27d
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0x47, offset 0x281
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x87},
- {value: 0xe045, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0xe045, lo: 0x98, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0xe045, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbf},
- // Block 0x48, offset 0x28c
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x3318, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbf},
- // Block 0x49, offset 0x290
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x88},
- {value: 0x24c1, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x4a, offset 0x299
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x24f1, lo: 0xac, hi: 0xac},
- {value: 0x2529, lo: 0xad, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xae},
- {value: 0x2579, lo: 0xaf, hi: 0xaf},
- {value: 0x25b1, lo: 0xb0, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0x4b, offset 0x2a1
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x9f},
- {value: 0x0080, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xad},
- {value: 0x0080, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x4c, offset 0x2a7
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xa8},
- {value: 0x09dd, lo: 0xa9, hi: 0xa9},
- {value: 0x09fd, lo: 0xaa, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xbf},
- // Block 0x4d, offset 0x2ac
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xbf},
- // Block 0x4e, offset 0x2af
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x28c1, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x4f, offset 0x2b3
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0e7e, lo: 0xb4, hi: 0xb4},
- {value: 0x292a, lo: 0xb5, hi: 0xb5},
- {value: 0x0e9e, lo: 0xb6, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x50, offset 0x2b9
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x9b},
- {value: 0x2941, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0xbf},
- // Block 0x51, offset 0x2bd
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x52, offset 0x2c1
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0xbf},
- // Block 0x53, offset 0x2c5
- {value: 0x0000, lo: 0x05},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x03f5, lo: 0x90, hi: 0x9f},
- {value: 0x0ebd, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x54, offset 0x2cb
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x55, offset 0x2d3
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xae},
- {value: 0xe075, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0x56, offset 0x2da
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x57, offset 0x2e5
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xbf},
- // Block 0x58, offset 0x2ef
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x59, offset 0x2f3
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0x5a, offset 0x2f6
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9e},
- {value: 0x0ef5, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x5b, offset 0x2fc
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb2},
- {value: 0x0f15, lo: 0xb3, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x5c, offset 0x300
- {value: 0x0020, lo: 0x01},
- {value: 0x0f35, lo: 0x80, hi: 0xbf},
- // Block 0x5d, offset 0x302
- {value: 0x0020, lo: 0x02},
- {value: 0x1735, lo: 0x80, hi: 0x8f},
- {value: 0x1915, lo: 0x90, hi: 0xbf},
- // Block 0x5e, offset 0x305
- {value: 0x0020, lo: 0x01},
- {value: 0x1f15, lo: 0x80, hi: 0xbf},
- // Block 0x5f, offset 0x307
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x60, offset 0x30a
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9a},
- {value: 0x29e2, lo: 0x9b, hi: 0x9b},
- {value: 0x2a0a, lo: 0x9c, hi: 0x9c},
- {value: 0x0008, lo: 0x9d, hi: 0x9e},
- {value: 0x2a31, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xbf},
- // Block 0x61, offset 0x314
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbe},
- {value: 0x2a69, lo: 0xbf, hi: 0xbf},
- // Block 0x62, offset 0x317
- {value: 0x0000, lo: 0x0e},
- {value: 0x0040, lo: 0x80, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xb0},
- {value: 0x2a35, lo: 0xb1, hi: 0xb1},
- {value: 0x2a55, lo: 0xb2, hi: 0xb2},
- {value: 0x2a75, lo: 0xb3, hi: 0xb3},
- {value: 0x2a95, lo: 0xb4, hi: 0xb4},
- {value: 0x2a75, lo: 0xb5, hi: 0xb5},
- {value: 0x2ab5, lo: 0xb6, hi: 0xb6},
- {value: 0x2ad5, lo: 0xb7, hi: 0xb7},
- {value: 0x2af5, lo: 0xb8, hi: 0xb9},
- {value: 0x2b15, lo: 0xba, hi: 0xbb},
- {value: 0x2b35, lo: 0xbc, hi: 0xbd},
- {value: 0x2b15, lo: 0xbe, hi: 0xbf},
- // Block 0x63, offset 0x326
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x64, offset 0x32a
- {value: 0x0030, lo: 0x04},
- {value: 0x2aa2, lo: 0x80, hi: 0x9d},
- {value: 0x305a, lo: 0x9e, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x30a2, lo: 0xa0, hi: 0xbf},
- // Block 0x65, offset 0x32f
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x66, offset 0x332
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x67, offset 0x336
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x68, offset 0x33b
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0x69, offset 0x340
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb1},
- {value: 0x0018, lo: 0xb2, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6a, offset 0x346
- {value: 0x0000, lo: 0x0b},
- {value: 0x0040, lo: 0x80, hi: 0x81},
- {value: 0xe00d, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0x83},
- {value: 0x03f5, lo: 0x84, hi: 0x84},
- {value: 0x1329, lo: 0x85, hi: 0x85},
- {value: 0x447d, lo: 0x86, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0xb6},
- {value: 0x0008, lo: 0xb7, hi: 0xb7},
- {value: 0x2009, lo: 0xb8, hi: 0xb8},
- {value: 0x6e89, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xbf},
- // Block 0x6b, offset 0x352
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x3308, lo: 0x8b, hi: 0x8b},
- {value: 0x0008, lo: 0x8c, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x6c, offset 0x361
- {value: 0x0000, lo: 0x05},
- {value: 0x0208, lo: 0x80, hi: 0xb1},
- {value: 0x0108, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6d, offset 0x367
- {value: 0x0000, lo: 0x03},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xbf},
- // Block 0x6e, offset 0x36b
- {value: 0x0000, lo: 0x0e},
- {value: 0x3008, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xba},
- {value: 0x0008, lo: 0xbb, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x6f, offset 0x37a
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x70, offset 0x37f
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x91},
- {value: 0x3008, lo: 0x92, hi: 0x92},
- {value: 0x3808, lo: 0x93, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x71, offset 0x387
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb9},
- {value: 0x3008, lo: 0xba, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x72, offset 0x391
- {value: 0x0000, lo: 0x0a},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x73, offset 0x39c
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x74, offset 0x3a4
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8c},
- {value: 0x3008, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbd},
- {value: 0x0008, lo: 0xbe, hi: 0xbf},
- // Block 0x75, offset 0x3b5
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x76, offset 0x3be
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x9a},
- {value: 0x0008, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3b08, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x77, offset 0x3ce
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x90},
- {value: 0x0008, lo: 0x91, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x78, offset 0x3db
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x449d, lo: 0x9c, hi: 0x9c},
- {value: 0x44b5, lo: 0x9d, hi: 0x9d},
- {value: 0x2971, lo: 0x9e, hi: 0x9e},
- {value: 0xe06d, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x44cd, lo: 0xb0, hi: 0xbf},
- // Block 0x79, offset 0x3e5
- {value: 0x0000, lo: 0x04},
- {value: 0x44ed, lo: 0x80, hi: 0x8f},
- {value: 0x450d, lo: 0x90, hi: 0x9f},
- {value: 0x452d, lo: 0xa0, hi: 0xaf},
- {value: 0x450d, lo: 0xb0, hi: 0xbf},
- // Block 0x7a, offset 0x3ea
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3b08, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x7b, offset 0x3f7
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x7c, offset 0x3fb
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x7d, offset 0x400
- {value: 0x0020, lo: 0x01},
- {value: 0x454d, lo: 0x80, hi: 0xbf},
- // Block 0x7e, offset 0x402
- {value: 0x0020, lo: 0x03},
- {value: 0x4d4d, lo: 0x80, hi: 0x94},
- {value: 0x4b0d, lo: 0x95, hi: 0x95},
- {value: 0x4fed, lo: 0x96, hi: 0xbf},
- // Block 0x7f, offset 0x406
- {value: 0x0020, lo: 0x01},
- {value: 0x552d, lo: 0x80, hi: 0xbf},
- // Block 0x80, offset 0x408
- {value: 0x0020, lo: 0x03},
- {value: 0x5d2d, lo: 0x80, hi: 0x84},
- {value: 0x568d, lo: 0x85, hi: 0x85},
- {value: 0x5dcd, lo: 0x86, hi: 0xbf},
- // Block 0x81, offset 0x40c
- {value: 0x0020, lo: 0x08},
- {value: 0x6b8d, lo: 0x80, hi: 0x8f},
- {value: 0x6d4d, lo: 0x90, hi: 0x90},
- {value: 0x6d8d, lo: 0x91, hi: 0xab},
- {value: 0x6ea1, lo: 0xac, hi: 0xac},
- {value: 0x70ed, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x710d, lo: 0xb0, hi: 0xbf},
- // Block 0x82, offset 0x415
- {value: 0x0020, lo: 0x05},
- {value: 0x730d, lo: 0x80, hi: 0xad},
- {value: 0x656d, lo: 0xae, hi: 0xae},
- {value: 0x78cd, lo: 0xaf, hi: 0xb5},
- {value: 0x6f8d, lo: 0xb6, hi: 0xb6},
- {value: 0x79ad, lo: 0xb7, hi: 0xbf},
- // Block 0x83, offset 0x41b
- {value: 0x0028, lo: 0x03},
- {value: 0x7c21, lo: 0x80, hi: 0x82},
- {value: 0x7be1, lo: 0x83, hi: 0x83},
- {value: 0x7c99, lo: 0x84, hi: 0xbf},
- // Block 0x84, offset 0x41f
- {value: 0x0038, lo: 0x0f},
- {value: 0x9db1, lo: 0x80, hi: 0x83},
- {value: 0x9e59, lo: 0x84, hi: 0x85},
- {value: 0x9e91, lo: 0x86, hi: 0x87},
- {value: 0x9ec9, lo: 0x88, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0xa089, lo: 0x92, hi: 0x97},
- {value: 0xa1a1, lo: 0x98, hi: 0x9c},
- {value: 0xa281, lo: 0x9d, hi: 0xb3},
- {value: 0x9d41, lo: 0xb4, hi: 0xb4},
- {value: 0x9db1, lo: 0xb5, hi: 0xb5},
- {value: 0xa789, lo: 0xb6, hi: 0xbb},
- {value: 0xa869, lo: 0xbc, hi: 0xbc},
- {value: 0xa7f9, lo: 0xbd, hi: 0xbd},
- {value: 0xa8d9, lo: 0xbe, hi: 0xbf},
- // Block 0x85, offset 0x42f
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x0008, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x86, offset 0x439
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0x87, offset 0x43e
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x88, offset 0x441
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x89, offset 0x447
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x8a, offset 0x44e
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x8b, offset 0x453
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x8c, offset 0x457
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x8d, offset 0x45d
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xbf},
- // Block 0x8e, offset 0x462
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x8f, offset 0x46b
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x90, offset 0x470
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x91, offset 0x476
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x97},
- {value: 0x8b0d, lo: 0x98, hi: 0x9f},
- {value: 0x8b25, lo: 0xa0, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xbf},
- // Block 0x92, offset 0x47d
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x8b25, lo: 0xb0, hi: 0xb7},
- {value: 0x8b0d, lo: 0xb8, hi: 0xbf},
- // Block 0x93, offset 0x484
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x94, offset 0x48b
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x95, offset 0x48f
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xae},
- {value: 0x0018, lo: 0xaf, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x96, offset 0x494
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x97, offset 0x497
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xbf},
- // Block 0x98, offset 0x49c
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0808, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0808, lo: 0x8a, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb6},
- {value: 0x0808, lo: 0xb7, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbb},
- {value: 0x0808, lo: 0xbc, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x0808, lo: 0xbf, hi: 0xbf},
- // Block 0x99, offset 0x4a8
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x96},
- {value: 0x0818, lo: 0x97, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb6},
- {value: 0x0818, lo: 0xb7, hi: 0xbf},
- // Block 0x9a, offset 0x4ae
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa6},
- {value: 0x0818, lo: 0xa7, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x9b, offset 0x4b3
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xba},
- {value: 0x0818, lo: 0xbb, hi: 0xbf},
- // Block 0x9c, offset 0x4ba
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0818, lo: 0x96, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbe},
- {value: 0x0818, lo: 0xbf, hi: 0xbf},
- // Block 0x9d, offset 0x4c2
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbb},
- {value: 0x0818, lo: 0xbc, hi: 0xbd},
- {value: 0x0808, lo: 0xbe, hi: 0xbf},
- // Block 0x9e, offset 0x4c7
- {value: 0x0000, lo: 0x03},
- {value: 0x0818, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x0818, lo: 0x92, hi: 0xbf},
- // Block 0x9f, offset 0x4cb
- {value: 0x0000, lo: 0x0f},
- {value: 0x0808, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x94},
- {value: 0x0808, lo: 0x95, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0x98},
- {value: 0x0808, lo: 0x99, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xa0, offset 0x4db
- {value: 0x0000, lo: 0x06},
- {value: 0x0818, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x0818, lo: 0x90, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xbc},
- {value: 0x0818, lo: 0xbd, hi: 0xbf},
- // Block 0xa1, offset 0x4e2
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0x9c},
- {value: 0x0818, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xa2, offset 0x4e6
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb8},
- {value: 0x0018, lo: 0xb9, hi: 0xbf},
- // Block 0xa3, offset 0x4ea
- {value: 0x0000, lo: 0x06},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0818, lo: 0x98, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb7},
- {value: 0x0818, lo: 0xb8, hi: 0xbf},
- // Block 0xa4, offset 0x4f1
- {value: 0x0000, lo: 0x01},
- {value: 0x0808, lo: 0x80, hi: 0xbf},
- // Block 0xa5, offset 0x4f3
- {value: 0x0000, lo: 0x02},
- {value: 0x0808, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0xa6, offset 0x4f6
- {value: 0x0000, lo: 0x02},
- {value: 0x03dd, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xa7, offset 0x4f9
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xbf},
- // Block 0xa8, offset 0x4fd
- {value: 0x0000, lo: 0x08},
- {value: 0x0908, lo: 0x80, hi: 0x80},
- {value: 0x0a08, lo: 0x81, hi: 0xa1},
- {value: 0x0c08, lo: 0xa2, hi: 0xa2},
- {value: 0x0a08, lo: 0xa3, hi: 0xa3},
- {value: 0x3308, lo: 0xa4, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0808, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xa9, offset 0x506
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0818, lo: 0xa0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xaa, offset 0x50a
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x9c},
- {value: 0x0818, lo: 0x9d, hi: 0xa6},
- {value: 0x0808, lo: 0xa7, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0a08, lo: 0xb0, hi: 0xb2},
- {value: 0x0c08, lo: 0xb3, hi: 0xb3},
- {value: 0x0a08, lo: 0xb4, hi: 0xbf},
- // Block 0xab, offset 0x512
- {value: 0x0000, lo: 0x07},
- {value: 0x0a08, lo: 0x80, hi: 0x84},
- {value: 0x0808, lo: 0x85, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x90},
- {value: 0x0a18, lo: 0x91, hi: 0x93},
- {value: 0x0c18, lo: 0x94, hi: 0x94},
- {value: 0x0818, lo: 0x95, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xac, offset 0x51a
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xad, offset 0x51e
- {value: 0x0000, lo: 0x05},
- {value: 0x3008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xae, offset 0x524
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x91},
- {value: 0x0018, lo: 0x92, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xaf, offset 0x52d
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0xb0, offset 0x539
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb1, offset 0x540
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb2},
- {value: 0x3b08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xbf},
- // Block 0xb2, offset 0x549
- {value: 0x0000, lo: 0x09},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x3008, lo: 0x85, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xb3, offset 0x553
- {value: 0x0000, lo: 0x06},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xbe},
- {value: 0x3008, lo: 0xbf, hi: 0xbf},
- // Block 0xb4, offset 0x55a
- {value: 0x0000, lo: 0x0d},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xb5, offset 0x568
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3808, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xb6, offset 0x575
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0008, lo: 0x9f, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xb7, offset 0x582
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x3308, lo: 0x9f, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa9},
- {value: 0x3b08, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb8, offset 0x58b
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xb9, offset 0x58f
- {value: 0x0000, lo: 0x0f},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x84},
- {value: 0x3008, lo: 0x85, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9d},
- {value: 0x3308, lo: 0x9e, hi: 0x9e},
- {value: 0x0008, lo: 0x9f, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xba, offset 0x59f
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xbb, offset 0x5a7
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x85},
- {value: 0x0018, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xbc, offset 0x5b2
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xbd, offset 0x5bb
- {value: 0x0000, lo: 0x05},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9b},
- {value: 0x3308, lo: 0x9c, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xbe, offset 0x5c1
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xbf, offset 0x5c9
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xc0, offset 0x5d2
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb5},
- {value: 0x3808, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xc1, offset 0x5dd
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0xbf},
- // Block 0xc2, offset 0x5e0
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0xc3, offset 0x5ec
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0xc4, offset 0x5f5
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xbf},
- // Block 0xc5, offset 0x5f8
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0xc6, offset 0x5fd
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xbf},
- // Block 0xc7, offset 0x602
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x3008, lo: 0x91, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0x99},
- {value: 0x3308, lo: 0x9a, hi: 0x9b},
- {value: 0x3008, lo: 0x9c, hi: 0x9f},
- {value: 0x3b08, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xa1},
- {value: 0x0018, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xa3},
- {value: 0x3008, lo: 0xa4, hi: 0xa4},
- {value: 0x0040, lo: 0xa5, hi: 0xbf},
- // Block 0xc8, offset 0x60f
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0xc9, offset 0x61a
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x3b08, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0xbf},
- // Block 0xca, offset 0x623
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x3308, lo: 0x8a, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x98},
- {value: 0x3b08, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9c},
- {value: 0x0008, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xa2},
- {value: 0x0040, lo: 0xa3, hi: 0xbf},
- // Block 0xcb, offset 0x62d
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xcc, offset 0x630
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xcd, offset 0x63a
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xbf},
- // Block 0xce, offset 0x643
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xa9},
- {value: 0x3308, lo: 0xaa, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xcf, offset 0x64f
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xd0, offset 0x65c
- {value: 0x0000, lo: 0x0c},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xbf},
- // Block 0xd1, offset 0x669
- {value: 0x0000, lo: 0x0d},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x3008, lo: 0x8a, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x92},
- {value: 0x3008, lo: 0x93, hi: 0x94},
- {value: 0x3308, lo: 0x95, hi: 0x95},
- {value: 0x3008, lo: 0x96, hi: 0x96},
- {value: 0x3b08, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xbf},
- // Block 0xd2, offset 0x677
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xd3, offset 0x67e
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0xd4, offset 0x682
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xd5, offset 0x685
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xd6, offset 0x68a
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0xbf},
- // Block 0xd7, offset 0x68d
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0340, lo: 0xb0, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xd8, offset 0x692
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0xbf},
- // Block 0xd9, offset 0x695
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xda, offset 0x69c
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xdb, offset 0x6a3
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0xdc, offset 0x6a7
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0xdd, offset 0x6b2
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0xde, offset 0x6b5
- {value: 0x0000, lo: 0x02},
- {value: 0xe105, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0xdf, offset 0x6b8
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0xe0, offset 0x6bb
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8e},
- {value: 0x3308, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3008, lo: 0x91, hi: 0xbf},
- // Block 0xe1, offset 0x6c1
- {value: 0x0000, lo: 0x05},
- {value: 0x3008, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8e},
- {value: 0x3308, lo: 0x8f, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xe2, offset 0x6c7
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa1},
- {value: 0x0018, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xbf},
- // Block 0xe3, offset 0x6cd
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0xe4, offset 0x6d0
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xe5, offset 0x6d3
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xe6, offset 0x6d6
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x92},
- {value: 0x0040, lo: 0x93, hi: 0xa3},
- {value: 0x0008, lo: 0xa4, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xe7, offset 0x6dd
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0xe8, offset 0x6e0
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0xe9, offset 0x6e5
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x03c0, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xbf},
- // Block 0xea, offset 0x6ef
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xeb, offset 0x6f2
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xbf},
- // Block 0xec, offset 0x6f6
- {value: 0x0000, lo: 0x0e},
- {value: 0x0018, lo: 0x80, hi: 0x9d},
- {value: 0xb5b9, lo: 0x9e, hi: 0x9e},
- {value: 0xb601, lo: 0x9f, hi: 0x9f},
- {value: 0xb649, lo: 0xa0, hi: 0xa0},
- {value: 0xb6b1, lo: 0xa1, hi: 0xa1},
- {value: 0xb719, lo: 0xa2, hi: 0xa2},
- {value: 0xb781, lo: 0xa3, hi: 0xa3},
- {value: 0xb7e9, lo: 0xa4, hi: 0xa4},
- {value: 0x3018, lo: 0xa5, hi: 0xa6},
- {value: 0x3318, lo: 0xa7, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xac},
- {value: 0x3018, lo: 0xad, hi: 0xb2},
- {value: 0x0340, lo: 0xb3, hi: 0xba},
- {value: 0x3318, lo: 0xbb, hi: 0xbf},
- // Block 0xed, offset 0x705
- {value: 0x0000, lo: 0x0b},
- {value: 0x3318, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0x84},
- {value: 0x3318, lo: 0x85, hi: 0x8b},
- {value: 0x0018, lo: 0x8c, hi: 0xa9},
- {value: 0x3318, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xba},
- {value: 0xb851, lo: 0xbb, hi: 0xbb},
- {value: 0xb899, lo: 0xbc, hi: 0xbc},
- {value: 0xb8e1, lo: 0xbd, hi: 0xbd},
- {value: 0xb949, lo: 0xbe, hi: 0xbe},
- {value: 0xb9b1, lo: 0xbf, hi: 0xbf},
- // Block 0xee, offset 0x711
- {value: 0x0000, lo: 0x03},
- {value: 0xba19, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xbf},
- // Block 0xef, offset 0x715
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x3318, lo: 0x82, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0xbf},
- // Block 0xf0, offset 0x71a
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0xf1, offset 0x71e
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xf2, offset 0x723
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0xf3, offset 0x727
- {value: 0x0000, lo: 0x04},
- {value: 0x3308, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0xf4, offset 0x72c
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x3308, lo: 0xa1, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xf5, offset 0x735
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa4},
- {value: 0x0040, lo: 0xa5, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xbf},
- // Block 0xf6, offset 0x740
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0008, lo: 0xb7, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0xf7, offset 0x746
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x8e},
- {value: 0x0018, lo: 0x8f, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0xf8, offset 0x74c
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0xf9, offset 0x752
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x86},
- {value: 0x0818, lo: 0x87, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0xfa, offset 0x758
- {value: 0x0000, lo: 0x08},
- {value: 0x0a08, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x8a},
- {value: 0x0b08, lo: 0x8b, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0818, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xfb, offset 0x761
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xb0},
- {value: 0x0818, lo: 0xb1, hi: 0xbf},
- // Block 0xfc, offset 0x764
- {value: 0x0000, lo: 0x02},
- {value: 0x0818, lo: 0x80, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xfd, offset 0x767
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0818, lo: 0x81, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0xfe, offset 0x76b
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xff, offset 0x76f
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x100, offset 0x773
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0x101, offset 0x779
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0x102, offset 0x77f
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8f},
- {value: 0xc1d9, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0x103, offset 0x784
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xbf},
- // Block 0x104, offset 0x787
- {value: 0x0000, lo: 0x0f},
- {value: 0xc801, lo: 0x80, hi: 0x80},
- {value: 0xc851, lo: 0x81, hi: 0x81},
- {value: 0xc8a1, lo: 0x82, hi: 0x82},
- {value: 0xc8f1, lo: 0x83, hi: 0x83},
- {value: 0xc941, lo: 0x84, hi: 0x84},
- {value: 0xc991, lo: 0x85, hi: 0x85},
- {value: 0xc9e1, lo: 0x86, hi: 0x86},
- {value: 0xca31, lo: 0x87, hi: 0x87},
- {value: 0xca81, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0xcad1, lo: 0x90, hi: 0x90},
- {value: 0xcaf1, lo: 0x91, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xbf},
- // Block 0x105, offset 0x797
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x106, offset 0x79e
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x107, offset 0x7a1
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0x108, offset 0x7a6
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x109, offset 0x7aa
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x10a, offset 0x7b0
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xbf},
- // Block 0x10b, offset 0x7b5
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x10c, offset 0x7b9
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xb2},
- {value: 0x0018, lo: 0xb3, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0x10d, offset 0x7bf
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0xa2},
- {value: 0x0040, lo: 0xa3, hi: 0xa4},
- {value: 0x0018, lo: 0xa5, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xbf},
- // Block 0x10e, offset 0x7c5
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x10f, offset 0x7c9
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x110, offset 0x7d2
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x111, offset 0x7d7
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0x112, offset 0x7da
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x113, offset 0x7dd
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x114, offset 0x7e1
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x115, offset 0x7e5
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x116, offset 0x7e8
- {value: 0x0020, lo: 0x0f},
- {value: 0xded1, lo: 0x80, hi: 0x89},
- {value: 0x8e35, lo: 0x8a, hi: 0x8a},
- {value: 0xe011, lo: 0x8b, hi: 0x9c},
- {value: 0x8e55, lo: 0x9d, hi: 0x9d},
- {value: 0xe251, lo: 0x9e, hi: 0xa2},
- {value: 0x8e75, lo: 0xa3, hi: 0xa3},
- {value: 0xe2f1, lo: 0xa4, hi: 0xab},
- {value: 0x7f0d, lo: 0xac, hi: 0xac},
- {value: 0xe3f1, lo: 0xad, hi: 0xaf},
- {value: 0x8e95, lo: 0xb0, hi: 0xb0},
- {value: 0xe451, lo: 0xb1, hi: 0xb6},
- {value: 0x8eb5, lo: 0xb7, hi: 0xb9},
- {value: 0xe511, lo: 0xba, hi: 0xba},
- {value: 0x8f15, lo: 0xbb, hi: 0xbb},
- {value: 0xe531, lo: 0xbc, hi: 0xbf},
- // Block 0x117, offset 0x7f8
- {value: 0x0020, lo: 0x10},
- {value: 0x93b5, lo: 0x80, hi: 0x80},
- {value: 0xf0b1, lo: 0x81, hi: 0x86},
- {value: 0x93d5, lo: 0x87, hi: 0x8a},
- {value: 0xda11, lo: 0x8b, hi: 0x8b},
- {value: 0xf171, lo: 0x8c, hi: 0x96},
- {value: 0x9455, lo: 0x97, hi: 0x97},
- {value: 0xf2d1, lo: 0x98, hi: 0xa3},
- {value: 0x9475, lo: 0xa4, hi: 0xa6},
- {value: 0xf451, lo: 0xa7, hi: 0xaa},
- {value: 0x94d5, lo: 0xab, hi: 0xab},
- {value: 0xf4d1, lo: 0xac, hi: 0xac},
- {value: 0x94f5, lo: 0xad, hi: 0xad},
- {value: 0xf4f1, lo: 0xae, hi: 0xaf},
- {value: 0x9515, lo: 0xb0, hi: 0xb1},
- {value: 0xf531, lo: 0xb2, hi: 0xbe},
- {value: 0x2040, lo: 0xbf, hi: 0xbf},
- // Block 0x118, offset 0x809
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0340, lo: 0x81, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x9f},
- {value: 0x0340, lo: 0xa0, hi: 0xbf},
- // Block 0x119, offset 0x80e
- {value: 0x0000, lo: 0x01},
- {value: 0x0340, lo: 0x80, hi: 0xbf},
- // Block 0x11a, offset 0x810
- {value: 0x0000, lo: 0x01},
- {value: 0x33c0, lo: 0x80, hi: 0xbf},
- // Block 0x11b, offset 0x812
- {value: 0x0000, lo: 0x02},
- {value: 0x33c0, lo: 0x80, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
-}
-
-// Total table size 42780 bytes (41KiB); checksum: 29936AB9
diff --git a/vendor/golang.org/x/net/idna/tables13.0.0.go b/vendor/golang.org/x/net/idna/tables13.0.0.go
deleted file mode 100644
index 2fb768ef6..000000000
--- a/vendor/golang.org/x/net/idna/tables13.0.0.go
+++ /dev/null
@@ -1,4959 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-//go:build go1.16 && !go1.21
-
-package idna
-
-// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "13.0.0"
-
-var mappings string = "" + // Size: 6539 bytes
- " ̈a ̄23 ́ ̧1o1⁄41⁄23⁄4i̇l·ʼnsdžⱥⱦhjrwy ̆ ̇ ̊ ̨ ̃ ̋lẍ́ ι; ̈́եւاٴوٴۇٴيٴक" +
- "़ख़ग़ज़ड़ढ़फ़य़ড়ঢ়য়ਲ਼ਸ਼ਖ਼ਗ਼ਜ਼ਫ਼ଡ଼ଢ଼ําໍາຫນຫມགྷཌྷདྷབྷཛྷཀྵཱཱིུྲྀྲཱྀླྀླཱ" +
- "ཱྀྀྒྷྜྷྡྷྦྷྫྷྐྵвдостъѣæbdeǝgikmnȣptuɐɑəɛɜŋɔɯvβγδφχρнɒcɕðfɟɡɥɨɩɪʝɭʟɱɰɲɳ" +
- "ɴɵɸʂʃƫʉʊʋʌzʐʑʒθssάέήίόύώἀιἁιἂιἃιἄιἅιἆιἇιἠιἡιἢιἣιἤιἥιἦιἧιὠιὡιὢιὣιὤιὥιὦιὧ" +
- "ιὰιαιάιᾶιι ̈͂ὴιηιήιῆι ̓̀ ̓́ ̓͂ΐ ̔̀ ̔́ ̔͂ΰ ̈̀`ὼιωιώιῶι′′′′′‵‵‵‵‵!!???!!?" +
- "′′′′0456789+=()rsħnoqsmtmωåאבגדπ1⁄71⁄91⁄101⁄32⁄31⁄52⁄53⁄54⁄51⁄65⁄61⁄83" +
- "⁄85⁄87⁄81⁄iiivviviiiixxi0⁄3∫∫∫∫∫∮∮∮∮∮1011121314151617181920(10)(11)(12" +
- ")(13)(14)(15)(16)(17)(18)(19)(20)∫∫∫∫==⫝̸ɫɽȿɀ. ゙ ゚よりコト(ᄀ)(ᄂ)(ᄃ)(ᄅ)(ᄆ)(ᄇ)" +
- "(ᄉ)(ᄋ)(ᄌ)(ᄎ)(ᄏ)(ᄐ)(ᄑ)(ᄒ)(가)(나)(다)(라)(마)(바)(사)(아)(자)(차)(카)(타)(파)(하)(주)(오전" +
- ")(오후)(一)(二)(三)(四)(五)(六)(七)(八)(九)(十)(月)(火)(水)(木)(金)(土)(日)(株)(有)(社)(名)(特)(" +
- "財)(祝)(労)(代)(呼)(学)(監)(企)(資)(協)(祭)(休)(自)(至)21222324252627282930313233343" +
- "5참고주의3637383940414243444546474849501月2月3月4月5月6月7月8月9月10月11月12月hgev令和アパート" +
- "アルファアンペアアールイニングインチウォンエスクードエーカーオンスオームカイリカラットカロリーガロンガンマギガギニーキュリーギルダーキロキロ" +
- "グラムキロメートルキロワットグラムグラムトンクルゼイロクローネケースコルナコーポサイクルサンチームシリングセンチセントダースデシドルトンナノ" +
- "ノットハイツパーセントパーツバーレルピアストルピクルピコビルファラッドフィートブッシェルフランヘクタールペソペニヒヘルツペンスページベータポ" +
- "イントボルトホンポンドホールホーンマイクロマイルマッハマルクマンションミクロンミリミリバールメガメガトンメートルヤードヤールユアンリットルリ" +
- "ラルピールーブルレムレントゲンワット0点1点2点3点4点5点6点7点8点9点10点11点12点13点14点15点16点17点18点19点20" +
- "点21点22点23点24点daauovpcdmiu平成昭和大正明治株式会社panamakakbmbgbkcalpfnfmgkghzmldlk" +
- "lfmnmmmcmkmm2m3m∕sm∕s2rad∕srad∕s2psnsmspvnvmvkvpwnwmwkwbqcccdc∕kgdbgyhah" +
- "pinkkktlmlnlxphprsrsvwbv∕ma∕m1日2日3日4日5日6日7日8日9日10日11日12日13日14日15日16日17日1" +
- "8日19日20日21日22日23日24日25日26日27日28日29日30日31日ьɦɬʞʇœʍ𤋮𢡊𢡄𣏕𥉉𥳐𧻓fffiflstմնմեմիվնմ" +
- "խיִײַעהכלםרתשׁשׂשּׁשּׂאַאָאּבּגּדּהּוּזּטּיּךּכּלּמּנּסּףּפּצּקּרּשּתּו" +
- "ֹבֿכֿפֿאלٱٻپڀٺٿٹڤڦڄڃچڇڍڌڎڈژڑکگڳڱںڻۀہھےۓڭۇۆۈۋۅۉېىئائەئوئۇئۆئۈئېئىیئجئحئم" +
- "ئيبجبحبخبمبىبيتجتحتختمتىتيثجثمثىثيجحجمحجحمخجخحخمسجسحسخسمصحصمضجضحضخضمطحط" +
- "مظمعجعمغجغمفجفحفخفمفىفيقحقمقىقيكاكجكحكخكلكمكىكيلجلحلخلملىليمجمحمخمممىمي" +
- "نجنحنخنمنىنيهجهمهىهييجيحيخيميىييذٰرٰىٰ ٌّ ٍّ َّ ُّ ِّ ّٰئرئزئنبربزبنترت" +
- "زتنثرثزثنمانرنزننيريزينئخئهبهتهصخلهنههٰيهثهسهشمشهـَّـُّـِّطىطيعىعيغىغيس" +
- "ىسيشىشيحىحيجىجيخىخيصىصيضىضيشجشحشخشرسرصرضراًتجمتحجتحمتخمتمجتمحتمخجمححميح" +
- "مىسحجسجحسجىسمحسمجسممصححصممشحمشجيشمخشممضحىضخمطمحطممطميعجمعممعمىغممغميغمى" +
- "فخمقمحقمملحملحيلحىلججلخملمحمحجمحممحيمجحمجممخجمخممجخهمجهممنحمنحىنجمنجىنم" +
- "ينمىيممبخيتجيتجىتخيتخىتميتمىجميجحىجمىسخىصحيشحيضحيلجيلمييحييجييميمميقمين" +
- "حيعميكمينجحمخيلجمكممجحيحجيمجيفميبحيسخينجيصلےقلےاللهاكبرمحمدصلعمرسولعليه" +
- "وسلمصلىصلى الله عليه وسلمجل جلالهریال,:!?_{}[]#&*-<>\\$%@ـًـَـُـِـّـْءآ" +
- "أؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهويلآلألإلا\x22'/^|~¢£¬¦¥𝅗𝅥𝅘𝅥𝅘𝅥𝅮𝅘𝅥𝅯𝅘𝅥𝅰𝅘𝅥𝅱" +
- "𝅘𝅥𝅲𝆹𝅥𝆺𝅥𝆹𝅥𝅮𝆺𝅥𝅮𝆹𝅥𝅯𝆺𝅥𝅯ıȷαεζηκλμνξοστυψ∇∂ϝٮڡٯ0,1,2,3,4,5,6,7,8,9,(a)(b)(c" +
- ")(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)〔s" +
- "〕wzhvsdppvwcmcmdmrdjほかココサ手字双デ二多解天交映無料前後再新初終生販声吹演投捕一三遊左中右指走打禁空合満有月申割営配〔" +
- "本〕〔三〕〔二〕〔安〕〔点〕〔打〕〔盗〕〔勝〕〔敗〕得可丽丸乁你侮侻倂偺備僧像㒞免兔兤具㒹內冗冤仌冬况凵刃㓟刻剆剷㔕勇勉勤勺包匆北卉卑博即卽" +
- "卿灰及叟叫叱吆咞吸呈周咢哶唐啓啣善喙喫喳嗂圖嘆圗噑噴切壮城埴堍型堲報墬売壷夆夢奢姬娛娧姘婦㛮嬈嬾寃寘寧寳寿将尢㞁屠屮峀岍嵃嵮嵫嵼巡巢㠯巽帨帽" +
- "幩㡢㡼庰庳庶廊廾舁弢㣇形彫㣣徚忍志忹悁㤺㤜悔惇慈慌慎慺憎憲憤憯懞懲懶成戛扝抱拔捐挽拼捨掃揤搢揅掩㨮摩摾撝摷㩬敏敬旣書晉㬙暑㬈㫤冒冕最暜肭䏙朗" +
- "望朡杞杓㭉柺枅桒梅梎栟椔㮝楂榣槪檨櫛㰘次歔㱎歲殟殺殻汎沿泍汧洖派海流浩浸涅洴港湮㴳滋滇淹潮濆瀹瀞瀛㶖灊災灷炭煅熜爨爵牐犀犕獺王㺬玥㺸瑇瑜瑱璅" +
- "瓊㼛甤甾異瘐㿼䀈直眞真睊䀹瞋䁆䂖硎碌磌䃣祖福秫䄯穀穊穏䈂篆築䈧糒䊠糨糣紀絣䌁緇縂繅䌴䍙罺羕翺者聠聰䏕育脃䐋脾媵舄辞䑫芑芋芝劳花芳芽苦若茝荣莭" +
- "茣莽菧著荓菊菌菜䔫蓱蓳蔖蕤䕝䕡䕫虐虜虧虩蚩蚈蜎蛢蝹蜨蝫螆蟡蠁䗹衠衣裗裞䘵裺㒻䚾䛇誠諭變豕貫賁贛起跋趼跰軔輸邔郱鄑鄛鈸鋗鋘鉼鏹鐕開䦕閷䧦雃嶲霣" +
- "䩮䩶韠䪲頋頩飢䬳餩馧駂駾䯎鬒鱀鳽䳎䳭鵧䳸麻䵖黹黾鼅鼏鼖鼻"
-
-var mappingIndex = []uint16{ // 1650 elements
- // Entry 0 - 3F
- 0x0000, 0x0000, 0x0001, 0x0004, 0x0005, 0x0008, 0x0009, 0x000a,
- 0x000d, 0x0010, 0x0011, 0x0012, 0x0017, 0x001c, 0x0021, 0x0024,
- 0x0027, 0x002a, 0x002b, 0x002e, 0x0031, 0x0034, 0x0035, 0x0036,
- 0x0037, 0x0038, 0x0039, 0x003c, 0x003f, 0x0042, 0x0045, 0x0048,
- 0x004b, 0x004c, 0x004d, 0x0051, 0x0054, 0x0055, 0x005a, 0x005e,
- 0x0062, 0x0066, 0x006a, 0x006e, 0x0074, 0x007a, 0x0080, 0x0086,
- 0x008c, 0x0092, 0x0098, 0x009e, 0x00a4, 0x00aa, 0x00b0, 0x00b6,
- 0x00bc, 0x00c2, 0x00c8, 0x00ce, 0x00d4, 0x00da, 0x00e0, 0x00e6,
- // Entry 40 - 7F
- 0x00ec, 0x00f2, 0x00f8, 0x00fe, 0x0104, 0x010a, 0x0110, 0x0116,
- 0x011c, 0x0122, 0x0128, 0x012e, 0x0137, 0x013d, 0x0146, 0x014c,
- 0x0152, 0x0158, 0x015e, 0x0164, 0x016a, 0x0170, 0x0172, 0x0174,
- 0x0176, 0x0178, 0x017a, 0x017c, 0x017e, 0x0180, 0x0181, 0x0182,
- 0x0183, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189, 0x018a, 0x018c,
- 0x018d, 0x018e, 0x018f, 0x0191, 0x0193, 0x0195, 0x0197, 0x0199,
- 0x019b, 0x019d, 0x019f, 0x01a0, 0x01a2, 0x01a4, 0x01a6, 0x01a8,
- 0x01aa, 0x01ac, 0x01ae, 0x01b0, 0x01b1, 0x01b3, 0x01b5, 0x01b6,
- // Entry 80 - BF
- 0x01b8, 0x01ba, 0x01bc, 0x01be, 0x01c0, 0x01c2, 0x01c4, 0x01c6,
- 0x01c8, 0x01ca, 0x01cc, 0x01ce, 0x01d0, 0x01d2, 0x01d4, 0x01d6,
- 0x01d8, 0x01da, 0x01dc, 0x01de, 0x01e0, 0x01e2, 0x01e4, 0x01e5,
- 0x01e7, 0x01e9, 0x01eb, 0x01ed, 0x01ef, 0x01f1, 0x01f3, 0x01f5,
- 0x01f7, 0x01f9, 0x01fb, 0x01fd, 0x0202, 0x0207, 0x020c, 0x0211,
- 0x0216, 0x021b, 0x0220, 0x0225, 0x022a, 0x022f, 0x0234, 0x0239,
- 0x023e, 0x0243, 0x0248, 0x024d, 0x0252, 0x0257, 0x025c, 0x0261,
- 0x0266, 0x026b, 0x0270, 0x0275, 0x027a, 0x027e, 0x0282, 0x0287,
- // Entry C0 - FF
- 0x0289, 0x028e, 0x0293, 0x0297, 0x029b, 0x02a0, 0x02a5, 0x02aa,
- 0x02af, 0x02b1, 0x02b6, 0x02bb, 0x02c0, 0x02c2, 0x02c7, 0x02c8,
- 0x02cd, 0x02d1, 0x02d5, 0x02da, 0x02e0, 0x02e9, 0x02ef, 0x02f8,
- 0x02fa, 0x02fc, 0x02fe, 0x0300, 0x030c, 0x030d, 0x030e, 0x030f,
- 0x0310, 0x0311, 0x0312, 0x0313, 0x0314, 0x0315, 0x0316, 0x0317,
- 0x0319, 0x031b, 0x031d, 0x031e, 0x0320, 0x0322, 0x0324, 0x0326,
- 0x0328, 0x032a, 0x032c, 0x032e, 0x0330, 0x0335, 0x033a, 0x0340,
- 0x0345, 0x034a, 0x034f, 0x0354, 0x0359, 0x035e, 0x0363, 0x0368,
- // Entry 100 - 13F
- 0x036d, 0x0372, 0x0377, 0x037c, 0x0380, 0x0382, 0x0384, 0x0386,
- 0x038a, 0x038c, 0x038e, 0x0393, 0x0399, 0x03a2, 0x03a8, 0x03b1,
- 0x03b3, 0x03b5, 0x03b7, 0x03b9, 0x03bb, 0x03bd, 0x03bf, 0x03c1,
- 0x03c3, 0x03c5, 0x03c7, 0x03cb, 0x03cf, 0x03d3, 0x03d7, 0x03db,
- 0x03df, 0x03e3, 0x03e7, 0x03eb, 0x03ef, 0x03f3, 0x03ff, 0x0401,
- 0x0406, 0x0408, 0x040a, 0x040c, 0x040e, 0x040f, 0x0413, 0x0417,
- 0x041d, 0x0423, 0x0428, 0x042d, 0x0432, 0x0437, 0x043c, 0x0441,
- 0x0446, 0x044b, 0x0450, 0x0455, 0x045a, 0x045f, 0x0464, 0x0469,
- // Entry 140 - 17F
- 0x046e, 0x0473, 0x0478, 0x047d, 0x0482, 0x0487, 0x048c, 0x0491,
- 0x0496, 0x049b, 0x04a0, 0x04a5, 0x04aa, 0x04af, 0x04b4, 0x04bc,
- 0x04c4, 0x04c9, 0x04ce, 0x04d3, 0x04d8, 0x04dd, 0x04e2, 0x04e7,
- 0x04ec, 0x04f1, 0x04f6, 0x04fb, 0x0500, 0x0505, 0x050a, 0x050f,
- 0x0514, 0x0519, 0x051e, 0x0523, 0x0528, 0x052d, 0x0532, 0x0537,
- 0x053c, 0x0541, 0x0546, 0x054b, 0x0550, 0x0555, 0x055a, 0x055f,
- 0x0564, 0x0569, 0x056e, 0x0573, 0x0578, 0x057a, 0x057c, 0x057e,
- 0x0580, 0x0582, 0x0584, 0x0586, 0x0588, 0x058a, 0x058c, 0x058e,
- // Entry 180 - 1BF
- 0x0590, 0x0592, 0x0594, 0x0596, 0x059c, 0x05a2, 0x05a4, 0x05a6,
- 0x05a8, 0x05aa, 0x05ac, 0x05ae, 0x05b0, 0x05b2, 0x05b4, 0x05b6,
- 0x05b8, 0x05ba, 0x05bc, 0x05be, 0x05c0, 0x05c4, 0x05c8, 0x05cc,
- 0x05d0, 0x05d4, 0x05d8, 0x05dc, 0x05e0, 0x05e4, 0x05e9, 0x05ee,
- 0x05f3, 0x05f5, 0x05f7, 0x05fd, 0x0609, 0x0615, 0x0621, 0x062a,
- 0x0636, 0x063f, 0x0648, 0x0657, 0x0663, 0x066c, 0x0675, 0x067e,
- 0x068a, 0x0696, 0x069f, 0x06a8, 0x06ae, 0x06b7, 0x06c3, 0x06cf,
- 0x06d5, 0x06e4, 0x06f6, 0x0705, 0x070e, 0x071d, 0x072c, 0x0738,
- // Entry 1C0 - 1FF
- 0x0741, 0x074a, 0x0753, 0x075f, 0x076e, 0x077a, 0x0783, 0x078c,
- 0x0795, 0x079b, 0x07a1, 0x07a7, 0x07ad, 0x07b6, 0x07bf, 0x07ce,
- 0x07d7, 0x07e3, 0x07f2, 0x07fb, 0x0801, 0x0807, 0x0816, 0x0822,
- 0x0831, 0x083a, 0x0849, 0x084f, 0x0858, 0x0861, 0x086a, 0x0873,
- 0x087c, 0x0888, 0x0891, 0x0897, 0x08a0, 0x08a9, 0x08b2, 0x08be,
- 0x08c7, 0x08d0, 0x08d9, 0x08e8, 0x08f4, 0x08fa, 0x0909, 0x090f,
- 0x091b, 0x0927, 0x0930, 0x0939, 0x0942, 0x094e, 0x0954, 0x095d,
- 0x0969, 0x096f, 0x097e, 0x0987, 0x098b, 0x098f, 0x0993, 0x0997,
- // Entry 200 - 23F
- 0x099b, 0x099f, 0x09a3, 0x09a7, 0x09ab, 0x09af, 0x09b4, 0x09b9,
- 0x09be, 0x09c3, 0x09c8, 0x09cd, 0x09d2, 0x09d7, 0x09dc, 0x09e1,
- 0x09e6, 0x09eb, 0x09f0, 0x09f5, 0x09fa, 0x09fc, 0x09fe, 0x0a00,
- 0x0a02, 0x0a04, 0x0a06, 0x0a0c, 0x0a12, 0x0a18, 0x0a1e, 0x0a2a,
- 0x0a2c, 0x0a2e, 0x0a30, 0x0a32, 0x0a34, 0x0a36, 0x0a38, 0x0a3c,
- 0x0a3e, 0x0a40, 0x0a42, 0x0a44, 0x0a46, 0x0a48, 0x0a4a, 0x0a4c,
- 0x0a4e, 0x0a50, 0x0a52, 0x0a54, 0x0a56, 0x0a58, 0x0a5a, 0x0a5f,
- 0x0a65, 0x0a6c, 0x0a74, 0x0a76, 0x0a78, 0x0a7a, 0x0a7c, 0x0a7e,
- // Entry 240 - 27F
- 0x0a80, 0x0a82, 0x0a84, 0x0a86, 0x0a88, 0x0a8a, 0x0a8c, 0x0a8e,
- 0x0a90, 0x0a96, 0x0a98, 0x0a9a, 0x0a9c, 0x0a9e, 0x0aa0, 0x0aa2,
- 0x0aa4, 0x0aa6, 0x0aa8, 0x0aaa, 0x0aac, 0x0aae, 0x0ab0, 0x0ab2,
- 0x0ab4, 0x0ab9, 0x0abe, 0x0ac2, 0x0ac6, 0x0aca, 0x0ace, 0x0ad2,
- 0x0ad6, 0x0ada, 0x0ade, 0x0ae2, 0x0ae7, 0x0aec, 0x0af1, 0x0af6,
- 0x0afb, 0x0b00, 0x0b05, 0x0b0a, 0x0b0f, 0x0b14, 0x0b19, 0x0b1e,
- 0x0b23, 0x0b28, 0x0b2d, 0x0b32, 0x0b37, 0x0b3c, 0x0b41, 0x0b46,
- 0x0b4b, 0x0b50, 0x0b52, 0x0b54, 0x0b56, 0x0b58, 0x0b5a, 0x0b5c,
- // Entry 280 - 2BF
- 0x0b5e, 0x0b62, 0x0b66, 0x0b6a, 0x0b6e, 0x0b72, 0x0b76, 0x0b7a,
- 0x0b7c, 0x0b7e, 0x0b80, 0x0b82, 0x0b86, 0x0b8a, 0x0b8e, 0x0b92,
- 0x0b96, 0x0b9a, 0x0b9e, 0x0ba0, 0x0ba2, 0x0ba4, 0x0ba6, 0x0ba8,
- 0x0baa, 0x0bac, 0x0bb0, 0x0bb4, 0x0bba, 0x0bc0, 0x0bc4, 0x0bc8,
- 0x0bcc, 0x0bd0, 0x0bd4, 0x0bd8, 0x0bdc, 0x0be0, 0x0be4, 0x0be8,
- 0x0bec, 0x0bf0, 0x0bf4, 0x0bf8, 0x0bfc, 0x0c00, 0x0c04, 0x0c08,
- 0x0c0c, 0x0c10, 0x0c14, 0x0c18, 0x0c1c, 0x0c20, 0x0c24, 0x0c28,
- 0x0c2c, 0x0c30, 0x0c34, 0x0c36, 0x0c38, 0x0c3a, 0x0c3c, 0x0c3e,
- // Entry 2C0 - 2FF
- 0x0c40, 0x0c42, 0x0c44, 0x0c46, 0x0c48, 0x0c4a, 0x0c4c, 0x0c4e,
- 0x0c50, 0x0c52, 0x0c54, 0x0c56, 0x0c58, 0x0c5a, 0x0c5c, 0x0c5e,
- 0x0c60, 0x0c62, 0x0c64, 0x0c66, 0x0c68, 0x0c6a, 0x0c6c, 0x0c6e,
- 0x0c70, 0x0c72, 0x0c74, 0x0c76, 0x0c78, 0x0c7a, 0x0c7c, 0x0c7e,
- 0x0c80, 0x0c82, 0x0c86, 0x0c8a, 0x0c8e, 0x0c92, 0x0c96, 0x0c9a,
- 0x0c9e, 0x0ca2, 0x0ca4, 0x0ca8, 0x0cac, 0x0cb0, 0x0cb4, 0x0cb8,
- 0x0cbc, 0x0cc0, 0x0cc4, 0x0cc8, 0x0ccc, 0x0cd0, 0x0cd4, 0x0cd8,
- 0x0cdc, 0x0ce0, 0x0ce4, 0x0ce8, 0x0cec, 0x0cf0, 0x0cf4, 0x0cf8,
- // Entry 300 - 33F
- 0x0cfc, 0x0d00, 0x0d04, 0x0d08, 0x0d0c, 0x0d10, 0x0d14, 0x0d18,
- 0x0d1c, 0x0d20, 0x0d24, 0x0d28, 0x0d2c, 0x0d30, 0x0d34, 0x0d38,
- 0x0d3c, 0x0d40, 0x0d44, 0x0d48, 0x0d4c, 0x0d50, 0x0d54, 0x0d58,
- 0x0d5c, 0x0d60, 0x0d64, 0x0d68, 0x0d6c, 0x0d70, 0x0d74, 0x0d78,
- 0x0d7c, 0x0d80, 0x0d84, 0x0d88, 0x0d8c, 0x0d90, 0x0d94, 0x0d98,
- 0x0d9c, 0x0da0, 0x0da4, 0x0da8, 0x0dac, 0x0db0, 0x0db4, 0x0db8,
- 0x0dbc, 0x0dc0, 0x0dc4, 0x0dc8, 0x0dcc, 0x0dd0, 0x0dd4, 0x0dd8,
- 0x0ddc, 0x0de0, 0x0de4, 0x0de8, 0x0dec, 0x0df0, 0x0df4, 0x0df8,
- // Entry 340 - 37F
- 0x0dfc, 0x0e00, 0x0e04, 0x0e08, 0x0e0c, 0x0e10, 0x0e14, 0x0e18,
- 0x0e1d, 0x0e22, 0x0e27, 0x0e2c, 0x0e31, 0x0e36, 0x0e3a, 0x0e3e,
- 0x0e42, 0x0e46, 0x0e4a, 0x0e4e, 0x0e52, 0x0e56, 0x0e5a, 0x0e5e,
- 0x0e62, 0x0e66, 0x0e6a, 0x0e6e, 0x0e72, 0x0e76, 0x0e7a, 0x0e7e,
- 0x0e82, 0x0e86, 0x0e8a, 0x0e8e, 0x0e92, 0x0e96, 0x0e9a, 0x0e9e,
- 0x0ea2, 0x0ea6, 0x0eaa, 0x0eae, 0x0eb2, 0x0eb6, 0x0ebc, 0x0ec2,
- 0x0ec8, 0x0ecc, 0x0ed0, 0x0ed4, 0x0ed8, 0x0edc, 0x0ee0, 0x0ee4,
- 0x0ee8, 0x0eec, 0x0ef0, 0x0ef4, 0x0ef8, 0x0efc, 0x0f00, 0x0f04,
- // Entry 380 - 3BF
- 0x0f08, 0x0f0c, 0x0f10, 0x0f14, 0x0f18, 0x0f1c, 0x0f20, 0x0f24,
- 0x0f28, 0x0f2c, 0x0f30, 0x0f34, 0x0f38, 0x0f3e, 0x0f44, 0x0f4a,
- 0x0f50, 0x0f56, 0x0f5c, 0x0f62, 0x0f68, 0x0f6e, 0x0f74, 0x0f7a,
- 0x0f80, 0x0f86, 0x0f8c, 0x0f92, 0x0f98, 0x0f9e, 0x0fa4, 0x0faa,
- 0x0fb0, 0x0fb6, 0x0fbc, 0x0fc2, 0x0fc8, 0x0fce, 0x0fd4, 0x0fda,
- 0x0fe0, 0x0fe6, 0x0fec, 0x0ff2, 0x0ff8, 0x0ffe, 0x1004, 0x100a,
- 0x1010, 0x1016, 0x101c, 0x1022, 0x1028, 0x102e, 0x1034, 0x103a,
- 0x1040, 0x1046, 0x104c, 0x1052, 0x1058, 0x105e, 0x1064, 0x106a,
- // Entry 3C0 - 3FF
- 0x1070, 0x1076, 0x107c, 0x1082, 0x1088, 0x108e, 0x1094, 0x109a,
- 0x10a0, 0x10a6, 0x10ac, 0x10b2, 0x10b8, 0x10be, 0x10c4, 0x10ca,
- 0x10d0, 0x10d6, 0x10dc, 0x10e2, 0x10e8, 0x10ee, 0x10f4, 0x10fa,
- 0x1100, 0x1106, 0x110c, 0x1112, 0x1118, 0x111e, 0x1124, 0x112a,
- 0x1130, 0x1136, 0x113c, 0x1142, 0x1148, 0x114e, 0x1154, 0x115a,
- 0x1160, 0x1166, 0x116c, 0x1172, 0x1178, 0x1180, 0x1188, 0x1190,
- 0x1198, 0x11a0, 0x11a8, 0x11b0, 0x11b6, 0x11d7, 0x11e6, 0x11ee,
- 0x11ef, 0x11f0, 0x11f1, 0x11f2, 0x11f3, 0x11f4, 0x11f5, 0x11f6,
- // Entry 400 - 43F
- 0x11f7, 0x11f8, 0x11f9, 0x11fa, 0x11fb, 0x11fc, 0x11fd, 0x11fe,
- 0x11ff, 0x1200, 0x1201, 0x1205, 0x1209, 0x120d, 0x1211, 0x1215,
- 0x1219, 0x121b, 0x121d, 0x121f, 0x1221, 0x1223, 0x1225, 0x1227,
- 0x1229, 0x122b, 0x122d, 0x122f, 0x1231, 0x1233, 0x1235, 0x1237,
- 0x1239, 0x123b, 0x123d, 0x123f, 0x1241, 0x1243, 0x1245, 0x1247,
- 0x1249, 0x124b, 0x124d, 0x124f, 0x1251, 0x1253, 0x1255, 0x1257,
- 0x1259, 0x125b, 0x125d, 0x125f, 0x1263, 0x1267, 0x126b, 0x126f,
- 0x1270, 0x1271, 0x1272, 0x1273, 0x1274, 0x1275, 0x1277, 0x1279,
- // Entry 440 - 47F
- 0x127b, 0x127d, 0x127f, 0x1287, 0x128f, 0x129b, 0x12a7, 0x12b3,
- 0x12bf, 0x12cb, 0x12d3, 0x12db, 0x12e7, 0x12f3, 0x12ff, 0x130b,
- 0x130d, 0x130f, 0x1311, 0x1313, 0x1315, 0x1317, 0x1319, 0x131b,
- 0x131d, 0x131f, 0x1321, 0x1323, 0x1325, 0x1327, 0x1329, 0x132b,
- 0x132e, 0x1331, 0x1333, 0x1335, 0x1337, 0x1339, 0x133b, 0x133d,
- 0x133f, 0x1341, 0x1343, 0x1345, 0x1347, 0x1349, 0x134b, 0x134d,
- 0x1350, 0x1353, 0x1356, 0x1359, 0x135c, 0x135f, 0x1362, 0x1365,
- 0x1368, 0x136b, 0x136e, 0x1371, 0x1374, 0x1377, 0x137a, 0x137d,
- // Entry 480 - 4BF
- 0x1380, 0x1383, 0x1386, 0x1389, 0x138c, 0x138f, 0x1392, 0x1395,
- 0x1398, 0x139b, 0x13a2, 0x13a4, 0x13a6, 0x13a8, 0x13ab, 0x13ad,
- 0x13af, 0x13b1, 0x13b3, 0x13b5, 0x13bb, 0x13c1, 0x13c4, 0x13c7,
- 0x13ca, 0x13cd, 0x13d0, 0x13d3, 0x13d6, 0x13d9, 0x13dc, 0x13df,
- 0x13e2, 0x13e5, 0x13e8, 0x13eb, 0x13ee, 0x13f1, 0x13f4, 0x13f7,
- 0x13fa, 0x13fd, 0x1400, 0x1403, 0x1406, 0x1409, 0x140c, 0x140f,
- 0x1412, 0x1415, 0x1418, 0x141b, 0x141e, 0x1421, 0x1424, 0x1427,
- 0x142a, 0x142d, 0x1430, 0x1433, 0x1436, 0x1439, 0x143c, 0x143f,
- // Entry 4C0 - 4FF
- 0x1442, 0x1445, 0x1448, 0x1451, 0x145a, 0x1463, 0x146c, 0x1475,
- 0x147e, 0x1487, 0x1490, 0x1499, 0x149c, 0x149f, 0x14a2, 0x14a5,
- 0x14a8, 0x14ab, 0x14ae, 0x14b1, 0x14b4, 0x14b7, 0x14ba, 0x14bd,
- 0x14c0, 0x14c3, 0x14c6, 0x14c9, 0x14cc, 0x14cf, 0x14d2, 0x14d5,
- 0x14d8, 0x14db, 0x14de, 0x14e1, 0x14e4, 0x14e7, 0x14ea, 0x14ed,
- 0x14f0, 0x14f3, 0x14f6, 0x14f9, 0x14fc, 0x14ff, 0x1502, 0x1505,
- 0x1508, 0x150b, 0x150e, 0x1511, 0x1514, 0x1517, 0x151a, 0x151d,
- 0x1520, 0x1523, 0x1526, 0x1529, 0x152c, 0x152f, 0x1532, 0x1535,
- // Entry 500 - 53F
- 0x1538, 0x153b, 0x153e, 0x1541, 0x1544, 0x1547, 0x154a, 0x154d,
- 0x1550, 0x1553, 0x1556, 0x1559, 0x155c, 0x155f, 0x1562, 0x1565,
- 0x1568, 0x156b, 0x156e, 0x1571, 0x1574, 0x1577, 0x157a, 0x157d,
- 0x1580, 0x1583, 0x1586, 0x1589, 0x158c, 0x158f, 0x1592, 0x1595,
- 0x1598, 0x159b, 0x159e, 0x15a1, 0x15a4, 0x15a7, 0x15aa, 0x15ad,
- 0x15b0, 0x15b3, 0x15b6, 0x15b9, 0x15bc, 0x15bf, 0x15c2, 0x15c5,
- 0x15c8, 0x15cb, 0x15ce, 0x15d1, 0x15d4, 0x15d7, 0x15da, 0x15dd,
- 0x15e0, 0x15e3, 0x15e6, 0x15e9, 0x15ec, 0x15ef, 0x15f2, 0x15f5,
- // Entry 540 - 57F
- 0x15f8, 0x15fb, 0x15fe, 0x1601, 0x1604, 0x1607, 0x160a, 0x160d,
- 0x1610, 0x1613, 0x1616, 0x1619, 0x161c, 0x161f, 0x1622, 0x1625,
- 0x1628, 0x162b, 0x162e, 0x1631, 0x1634, 0x1637, 0x163a, 0x163d,
- 0x1640, 0x1643, 0x1646, 0x1649, 0x164c, 0x164f, 0x1652, 0x1655,
- 0x1658, 0x165b, 0x165e, 0x1661, 0x1664, 0x1667, 0x166a, 0x166d,
- 0x1670, 0x1673, 0x1676, 0x1679, 0x167c, 0x167f, 0x1682, 0x1685,
- 0x1688, 0x168b, 0x168e, 0x1691, 0x1694, 0x1697, 0x169a, 0x169d,
- 0x16a0, 0x16a3, 0x16a6, 0x16a9, 0x16ac, 0x16af, 0x16b2, 0x16b5,
- // Entry 580 - 5BF
- 0x16b8, 0x16bb, 0x16be, 0x16c1, 0x16c4, 0x16c7, 0x16ca, 0x16cd,
- 0x16d0, 0x16d3, 0x16d6, 0x16d9, 0x16dc, 0x16df, 0x16e2, 0x16e5,
- 0x16e8, 0x16eb, 0x16ee, 0x16f1, 0x16f4, 0x16f7, 0x16fa, 0x16fd,
- 0x1700, 0x1703, 0x1706, 0x1709, 0x170c, 0x170f, 0x1712, 0x1715,
- 0x1718, 0x171b, 0x171e, 0x1721, 0x1724, 0x1727, 0x172a, 0x172d,
- 0x1730, 0x1733, 0x1736, 0x1739, 0x173c, 0x173f, 0x1742, 0x1745,
- 0x1748, 0x174b, 0x174e, 0x1751, 0x1754, 0x1757, 0x175a, 0x175d,
- 0x1760, 0x1763, 0x1766, 0x1769, 0x176c, 0x176f, 0x1772, 0x1775,
- // Entry 5C0 - 5FF
- 0x1778, 0x177b, 0x177e, 0x1781, 0x1784, 0x1787, 0x178a, 0x178d,
- 0x1790, 0x1793, 0x1796, 0x1799, 0x179c, 0x179f, 0x17a2, 0x17a5,
- 0x17a8, 0x17ab, 0x17ae, 0x17b1, 0x17b4, 0x17b7, 0x17ba, 0x17bd,
- 0x17c0, 0x17c3, 0x17c6, 0x17c9, 0x17cc, 0x17cf, 0x17d2, 0x17d5,
- 0x17d8, 0x17db, 0x17de, 0x17e1, 0x17e4, 0x17e7, 0x17ea, 0x17ed,
- 0x17f0, 0x17f3, 0x17f6, 0x17f9, 0x17fc, 0x17ff, 0x1802, 0x1805,
- 0x1808, 0x180b, 0x180e, 0x1811, 0x1814, 0x1817, 0x181a, 0x181d,
- 0x1820, 0x1823, 0x1826, 0x1829, 0x182c, 0x182f, 0x1832, 0x1835,
- // Entry 600 - 63F
- 0x1838, 0x183b, 0x183e, 0x1841, 0x1844, 0x1847, 0x184a, 0x184d,
- 0x1850, 0x1853, 0x1856, 0x1859, 0x185c, 0x185f, 0x1862, 0x1865,
- 0x1868, 0x186b, 0x186e, 0x1871, 0x1874, 0x1877, 0x187a, 0x187d,
- 0x1880, 0x1883, 0x1886, 0x1889, 0x188c, 0x188f, 0x1892, 0x1895,
- 0x1898, 0x189b, 0x189e, 0x18a1, 0x18a4, 0x18a7, 0x18aa, 0x18ad,
- 0x18b0, 0x18b3, 0x18b6, 0x18b9, 0x18bc, 0x18bf, 0x18c2, 0x18c5,
- 0x18c8, 0x18cb, 0x18ce, 0x18d1, 0x18d4, 0x18d7, 0x18da, 0x18dd,
- 0x18e0, 0x18e3, 0x18e6, 0x18e9, 0x18ec, 0x18ef, 0x18f2, 0x18f5,
- // Entry 640 - 67F
- 0x18f8, 0x18fb, 0x18fe, 0x1901, 0x1904, 0x1907, 0x190a, 0x190d,
- 0x1910, 0x1913, 0x1916, 0x1919, 0x191c, 0x191f, 0x1922, 0x1925,
- 0x1928, 0x192b, 0x192e, 0x1931, 0x1934, 0x1937, 0x193a, 0x193d,
- 0x1940, 0x1943, 0x1946, 0x1949, 0x194c, 0x194f, 0x1952, 0x1955,
- 0x1958, 0x195b, 0x195e, 0x1961, 0x1964, 0x1967, 0x196a, 0x196d,
- 0x1970, 0x1973, 0x1976, 0x1979, 0x197c, 0x197f, 0x1982, 0x1985,
- 0x1988, 0x198b,
-} // Size: 3324 bytes
-
-var xorData string = "" + // Size: 4862 bytes
- "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" +
- "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" +
- "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" +
- "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" +
- "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" +
- "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" +
- "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" +
- "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" +
- "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" +
- "\x03\x037 \x03\x0b+\x03\x021\x00\x02\x01\x04\x02\x01\x02\x02\x019\x02" +
- "\x03\x1c\x02\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03" +
- "\xc1r\x02\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<" +
- "\x03\xc1s*\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03" +
- "\x83\xab\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96" +
- "\xe1\xcd\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03" +
- "\x9a\xec\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c" +
- "!\x03\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03" +
- "ʦ\x93\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7" +
- "\x03\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca" +
- "\xfa\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e" +
- "\x03\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca" +
- "\xe3\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99" +
- "\x03\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca" +
- "\xe8\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03" +
- "\x0b\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06" +
- "\x05\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03" +
- "\x0786\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/" +
- "\x03\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f" +
- "\x03\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-" +
- "\x03\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03" +
- "\x07\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03" +
- "\x07\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03" +
- "\x07\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b" +
- "\x0a\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03" +
- "\x07\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+" +
- "\x03\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03" +
- "\x044\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03" +
- "\x04+ \x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!" +
- "\x22\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04" +
- "\x03\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>" +
- "\x03\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03" +
- "\x054\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03" +
- "\x05):\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$" +
- "\x1e\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226" +
- "\x03\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05" +
- "\x1b\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05" +
- "\x03\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03" +
- "\x06\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08" +
- "\x03\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03" +
- "\x0a6\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a" +
- "\x1f\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03" +
- "\x0a\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f" +
- "\x02\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/" +
- "\x03\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a" +
- "\x00\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+" +
- "\x10\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#" +
- "<\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!" +
- "\x00\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18." +
- "\x03\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15" +
- "\x22\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b" +
- "\x12\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05" +
- "<\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" +
- "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" +
- "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" +
- "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" +
- "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" +
- "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" +
- "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" +
- "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" +
- "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" +
- "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" +
- "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" +
- "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" +
- "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" +
- "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" +
- "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" +
- "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" +
- "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" +
- "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" +
- "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" +
- "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" +
- "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" +
- "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" +
- "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" +
- "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" +
- "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" +
- "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" +
- "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" +
- "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," +
- "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" +
- "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" +
- "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" +
- "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" +
- ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" +
- "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" +
- "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" +
- "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" +
- "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" +
- "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" +
- "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" +
- "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" +
- "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" +
- "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" +
- "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" +
- "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" +
- "(\x04\x023 \x03\x0b)\x08\x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!" +
- "\x10\x03\x0b!0\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b" +
- "\x03\x09\x1f\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14" +
- "\x03\x0a\x01\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03" +
- "\x08='\x03\x08\x1a\x0a\x03\x07\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03" +
- "\x09\x0c\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06" +
- "!3\x03\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05" +
- "\x03\x07<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07" +
- "\x01\x00\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03" +
- "\x09\x11\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03" +
- "\x0a/1\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03" +
- "\x07<3\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06" +
- "\x13\x00\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(" +
- ";\x03\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08" +
- "\x14$\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03" +
- "\x0a\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19" +
- "\x01\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18" +
- "\x03\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03" +
- "\x07\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03" +
- "\x0a\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03" +
- "\x0b\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03" +
- "\x08\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05" +
- "\x03\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11" +
- "\x03\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03" +
- "\x09\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a" +
- ".\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" +
- "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" +
- "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " +
- "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" +
- "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" +
- "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" +
- "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" +
- "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" +
- "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" +
- "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," +
- "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" +
- "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" +
- "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" +
- "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" +
- "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" +
- "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" +
- "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" +
- "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" +
- "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" +
- "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" +
- "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" +
- "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" +
- "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" +
- "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" +
- "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" +
- "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" +
- "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" +
- "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" +
- "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" +
- "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" +
- "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" +
- "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" +
- "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" +
- "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" +
- "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" +
- "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" +
- "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" +
- "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" +
- "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" +
- "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" +
- "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" +
- "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" +
- "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" +
- "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" +
- "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" +
- "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" +
- "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" +
- "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" +
- "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," +
- "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" +
- "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" +
- "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" +
- "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" +
- "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" +
- "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" +
- "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" +
- "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" +
- "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" +
- "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" +
- "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" +
- "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" +
- "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" +
- "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" +
- "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" +
- "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" +
- "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" +
- "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" +
- "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" +
- "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" +
- "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" +
- "\x04\x03\x0c?\x05\x03\x0c\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" +
- "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" +
- "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" +
- "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" +
- "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" +
- "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" +
- "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" +
- "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" +
- "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" +
- "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" +
- "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" +
- "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" +
- "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" +
- "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" +
- "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" +
- "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" +
- "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" +
- "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" +
- "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" +
- "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" +
- "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" +
- "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" +
- "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" +
- "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" +
- "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" +
- "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" +
- "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" +
- "\x05\x22\x05\x03\x050\x1d"
-
-// lookup returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupUnsafe(s []byte) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// lookupString returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookupString(s string) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupStringUnsafe(s string) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// idnaTrie. Total size: 30196 bytes (29.49 KiB). Checksum: e2ae95a945f04016.
-type idnaTrie struct{}
-
-func newIdnaTrie(i int) *idnaTrie {
- return &idnaTrie{}
-}
-
-// lookupValue determines the type of block n and looks up the value for b.
-func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {
- switch {
- case n < 126:
- return uint16(idnaValues[n<<6+uint32(b)])
- default:
- n -= 126
- return uint16(idnaSparse.lookup(n, b))
- }
-}
-
-// idnaValues: 128 blocks, 8192 entries, 16384 bytes
-// The third block is the zero block.
-var idnaValues = [8192]uint16{
- // Block 0x0, offset 0x0
- 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080,
- 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080,
- 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080,
- 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080,
- 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080,
- 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080,
- 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080,
- 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080,
- 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008,
- 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080,
- 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080,
- // Block 0x1, offset 0x40
- 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105,
- 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105,
- 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105,
- 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105,
- 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080,
- 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008,
- 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008,
- 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008,
- 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008,
- 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080,
- 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080,
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040,
- 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040,
- 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040,
- 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040,
- 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040,
- 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018,
- 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x0012, 0xe9: 0x0018,
- 0xea: 0x0019, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x0022,
- 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0029, 0xf3: 0x0031, 0xf4: 0x003a, 0xf5: 0x0005,
- 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x0042, 0xf9: 0x0049, 0xfa: 0x0051, 0xfb: 0x0018,
- 0xfc: 0x0059, 0xfd: 0x0061, 0xfe: 0x0069, 0xff: 0x0018,
- // Block 0x4, offset 0x100
- 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008,
- 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008,
- 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008,
- 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008,
- 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008,
- 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008,
- 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008,
- 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008,
- 0x130: 0x0071, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008,
- 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d,
- 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0079,
- // Block 0x5, offset 0x140
- 0x140: 0x0079, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d,
- 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x0081, 0x14a: 0xe00d, 0x14b: 0x0008,
- 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008,
- 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008,
- 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008,
- 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008,
- 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008,
- 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008,
- 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008,
- 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d,
- 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x0089,
- // Block 0x6, offset 0x180
- 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008,
- 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d,
- 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d,
- 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d,
- 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155,
- 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008,
- 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d,
- 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd,
- 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d,
- 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008,
- 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x0091, 0x1c5: 0x0091,
- 0x1c6: 0x0091, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d,
- 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d,
- 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d,
- 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008,
- 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008,
- 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008,
- 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008,
- 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008,
- 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008,
- 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008,
- // Block 0x8, offset 0x200
- 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008,
- 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008,
- 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008,
- 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008,
- 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008,
- 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008,
- 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008,
- 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008,
- 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008,
- 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0099, 0x23b: 0xe03d,
- 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x00a1, 0x23f: 0x0008,
- // Block 0x9, offset 0x240
- 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018,
- 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008,
- 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008,
- 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018,
- 0x258: 0x00d2, 0x259: 0x00da, 0x25a: 0x00e2, 0x25b: 0x00ea, 0x25c: 0x00f2, 0x25d: 0x00fa,
- 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0101, 0x262: 0x0089, 0x263: 0x0109,
- 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018,
- 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018,
- 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018,
- 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,
- 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,
- // Block 0xa, offset 0x280
- 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0111, 0x285: 0x040d,
- 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,
- 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,
- 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,
- 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,
- 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,
- 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,
- 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,
- 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,
- 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x011a, 0x2bb: 0x0008,
- 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x0122, 0x2bf: 0x043d,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x003a, 0x2c5: 0x012a,
- 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040,
- 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105,
- 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105,
- 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105,
- 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d,
- 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d,
- 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008,
- 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008,
- 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008,
- 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008,
- // Block 0xc, offset 0x300
- 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008,
- 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008,
- 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd,
- 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008,
- 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008,
- 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008,
- 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008,
- 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008,
- 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd,
- 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008,
- 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d,
- // Block 0xd, offset 0x340
- 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008,
- 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008,
- 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008,
- 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008,
- 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008,
- 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008,
- 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008,
- 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008,
- 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008,
- 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,
- 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,
- // Block 0xe, offset 0x380
- 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,
- 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,
- 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,
- 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,
- 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,
- 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008,
- 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008,
- 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008,
- 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008,
- 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008,
- 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d,
- 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d,
- 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008,
- 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008,
- 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008,
- 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008,
- 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008,
- 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008,
- 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008,
- 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008,
- 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008,
- // Block 0x10, offset 0x400
- 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008,
- 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008,
- 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008,
- 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008,
- 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008,
- 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008,
- 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008,
- 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008,
- 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5,
- 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,
- 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,
- // Block 0x11, offset 0x440
- 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,
- 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,
- 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,
- 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,
- 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040,
- 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,
- 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,
- 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,
- 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,
- 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,
- 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,
- // Block 0x12, offset 0x480
- 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,
- 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,
- 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,
- 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,
- 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,
- 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,
- 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,
- 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,
- 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0139,
- 0x4b6: 0x0141, 0x4b7: 0x0149, 0x4b8: 0x0151, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,
- 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,
- 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,
- 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,
- 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,
- 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,
- 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,
- 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,
- 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,
- 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,
- 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,
- 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,
- // Block 0x14, offset 0x500
- 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,
- 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,
- 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,
- 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,
- 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,
- 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,
- 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,
- 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,
- 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,
- 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,
- 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,
- // Block 0x15, offset 0x540
- 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08,
- 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08,
- 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08,
- 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0c08, 0x557: 0x0c08,
- 0x558: 0x0c08, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040,
- 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08,
- 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08,
- 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040,
- 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040,
- 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040,
- 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040,
- // Block 0x16, offset 0x580
- 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308,
- 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008,
- 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308,
- 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308,
- 0x598: 0x0159, 0x599: 0x0161, 0x59a: 0x0169, 0x59b: 0x0171, 0x59c: 0x0179, 0x59d: 0x0181,
- 0x59e: 0x0189, 0x59f: 0x0191, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308,
- 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008,
- 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008,
- 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008,
- 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008,
- 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008,
- 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008,
- 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040,
- 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008,
- 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008,
- 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008,
- 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040,
- 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,
- 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040,
- 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040,
- 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008,
- // Block 0x18, offset 0x600
- 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040,
- 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008,
- 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040,
- 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008,
- 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0199, 0x61d: 0x01a1,
- 0x61e: 0x0040, 0x61f: 0x01a9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308,
- 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008,
- 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,
- 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018,
- 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018,
- 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040,
- // Block 0x19, offset 0x640
- 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008,
- 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040,
- 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040,
- 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008,
- 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008,
- 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008,
- 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040,
- 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,
- 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x01b1, 0x674: 0x0040, 0x675: 0x0008,
- 0x676: 0x01b9, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040,
- 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008,
- // Block 0x1a, offset 0x680
- 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040,
- 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308,
- 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308,
- 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040,
- 0x698: 0x0040, 0x699: 0x01c1, 0x69a: 0x01c9, 0x69b: 0x01d1, 0x69c: 0x0008, 0x69d: 0x0040,
- 0x69e: 0x01d9, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040,
- 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008,
- 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,
- 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308,
- 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040,
- 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008,
- 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008,
- 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008,
- 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008,
- 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008,
- 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008,
- 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040,
- 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,
- 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008,
- 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040,
- 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008,
- // Block 0x1c, offset 0x700
- 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308,
- 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008,
- 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040,
- 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040,
- 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040,
- 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308,
- 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008,
- 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,
- 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040,
- 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308,
- 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308,
- // Block 0x1d, offset 0x740
- 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008,
- 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008,
- 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040,
- 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008,
- 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008,
- 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008,
- 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040,
- 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,
- 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008,
- 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040,
- 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308,
- // Block 0x1e, offset 0x780
- 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040,
- 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008,
- 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040,
- 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x3308, 0x796: 0x3308, 0x797: 0x3008,
- 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x01e1, 0x79d: 0x01e9,
- 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308,
- 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008,
- 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008,
- 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018,
- 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040,
- 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040,
- // Block 0x1f, offset 0x7c0
- 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008,
- 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040,
- 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040,
- 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040,
- 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040,
- 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008,
- 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008,
- 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008,
- 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008,
- 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040,
- 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008,
- // Block 0x20, offset 0x800
- 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040,
- 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308,
- 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040,
- 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040,
- 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040,
- 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308,
- 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008,
- 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008,
- 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040,
- 0x836: 0x0040, 0x837: 0x0018, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018,
- 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018,
- // Block 0x21, offset 0x840
- 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008,
- 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008,
- 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040,
- 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008,
- 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008,
- 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008,
- 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040,
- 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,
- 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008,
- 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040,
- 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308,
- // Block 0x22, offset 0x880
- 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040,
- 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008,
- 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040,
- 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040,
- 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040,
- 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308,
- 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008,
- 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,
- 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040,
- 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040,
- 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040,
- 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008,
- 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040,
- 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008,
- 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018,
- 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308,
- 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008,
- 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,
- 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018,
- 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008,
- 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008,
- // Block 0x24, offset 0x900
- 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040,
- 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0040,
- 0x90c: 0x0008, 0x90d: 0x0008, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008,
- 0x912: 0x0008, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008,
- 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008,
- 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008,
- 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0008,
- 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008,
- 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x01f9, 0x934: 0x3308, 0x935: 0x3308,
- 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x3b08, 0x93b: 0x3308,
- 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040,
- // Block 0x25, offset 0x940
- 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x0211, 0x944: 0x0008, 0x945: 0x0008,
- 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,
- 0x94c: 0x0008, 0x94d: 0x0219, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,
- 0x952: 0x0221, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0229,
- 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0231, 0x95d: 0x0008,
- 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008,
- 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0239,
- 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040,
- 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0241, 0x974: 0x3308, 0x975: 0x0249,
- 0x976: 0x0251, 0x977: 0x0259, 0x978: 0x0261, 0x979: 0x0269, 0x97a: 0x3308, 0x97b: 0x3308,
- 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008,
- // Block 0x26, offset 0x980
- 0x980: 0x3308, 0x981: 0x0271, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018,
- 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,
- 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308,
- 0x992: 0x3308, 0x993: 0x0279, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308,
- 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0281,
- 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0289, 0x9a3: 0x3308,
- 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0291, 0x9a8: 0x3308, 0x9a9: 0x3308,
- 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0299, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308,
- 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308,
- 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x02a1, 0x9ba: 0x3308, 0x9bb: 0x3308,
- 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018,
- // Block 0x27, offset 0x9c0
- 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008,
- 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008,
- 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008,
- 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008,
- 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008,
- 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008,
- 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008,
- 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0019, 0x9ed: 0x02e1, 0x9ee: 0x02e9, 0x9ef: 0x0008,
- 0x9f0: 0x02f1, 0x9f1: 0x02f9, 0x9f2: 0x0301, 0x9f3: 0x0309, 0x9f4: 0x00a9, 0x9f5: 0x0311,
- 0x9f6: 0x00b1, 0x9f7: 0x0319, 0x9f8: 0x0101, 0x9f9: 0x0321, 0x9fa: 0x0329, 0x9fb: 0x0008,
- 0x9fc: 0x0051, 0x9fd: 0x0331, 0x9fe: 0x0339, 0x9ff: 0x00b9,
- // Block 0x28, offset 0xa00
- 0xa00: 0x0341, 0xa01: 0x0349, 0xa02: 0x00c1, 0xa03: 0x0019, 0xa04: 0x0351, 0xa05: 0x0359,
- 0xa06: 0x05b5, 0xa07: 0x02e9, 0xa08: 0x02f1, 0xa09: 0x02f9, 0xa0a: 0x0361, 0xa0b: 0x0369,
- 0xa0c: 0x0371, 0xa0d: 0x0309, 0xa0e: 0x0008, 0xa0f: 0x0319, 0xa10: 0x0321, 0xa11: 0x0379,
- 0xa12: 0x0051, 0xa13: 0x0381, 0xa14: 0x05cd, 0xa15: 0x05cd, 0xa16: 0x0339, 0xa17: 0x0341,
- 0xa18: 0x0349, 0xa19: 0x05b5, 0xa1a: 0x0389, 0xa1b: 0x0391, 0xa1c: 0x05e5, 0xa1d: 0x0399,
- 0xa1e: 0x03a1, 0xa1f: 0x03a9, 0xa20: 0x03b1, 0xa21: 0x03b9, 0xa22: 0x0311, 0xa23: 0x00b9,
- 0xa24: 0x0349, 0xa25: 0x0391, 0xa26: 0x0399, 0xa27: 0x03a1, 0xa28: 0x03c1, 0xa29: 0x03b1,
- 0xa2a: 0x03b9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008,
- 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008,
- 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x03c9, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008,
- 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008,
- // Block 0x29, offset 0xa40
- 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008,
- 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008,
- 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008,
- 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008,
- 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x03d1, 0xa5c: 0x03d9, 0xa5d: 0x03e1,
- 0xa5e: 0x03e9, 0xa5f: 0x0371, 0xa60: 0x03f1, 0xa61: 0x03f9, 0xa62: 0x0401, 0xa63: 0x0409,
- 0xa64: 0x0411, 0xa65: 0x0419, 0xa66: 0x0421, 0xa67: 0x05fd, 0xa68: 0x0429, 0xa69: 0x0431,
- 0xa6a: 0xe17d, 0xa6b: 0x0439, 0xa6c: 0x0441, 0xa6d: 0x0449, 0xa6e: 0x0451, 0xa6f: 0x0459,
- 0xa70: 0x0461, 0xa71: 0x0469, 0xa72: 0x0471, 0xa73: 0x0479, 0xa74: 0x0481, 0xa75: 0x0489,
- 0xa76: 0x0491, 0xa77: 0x0499, 0xa78: 0x0615, 0xa79: 0x04a1, 0xa7a: 0x04a9, 0xa7b: 0x04b1,
- 0xa7c: 0x04b9, 0xa7d: 0x04c1, 0xa7e: 0x04c9, 0xa7f: 0x04d1,
- // Block 0x2a, offset 0xa80
- 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008,
- 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008,
- 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008,
- 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008,
- 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008,
- 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008,
- 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008,
- 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008,
- 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008,
- 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008,
- 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008,
- // Block 0x2b, offset 0xac0
- 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008,
- 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008,
- 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008,
- 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008,
- 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x062d, 0xadb: 0x064d, 0xadc: 0x0008, 0xadd: 0x0008,
- 0xade: 0x04d9, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008,
- 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008,
- 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008,
- 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008,
- 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008,
- 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008,
- // Block 0x2c, offset 0xb00
- 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008,
- 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045,
- 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008,
- 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008,
- 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045,
- 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008,
- 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045,
- 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045,
- 0xb30: 0x0008, 0xb31: 0x04e1, 0xb32: 0x0008, 0xb33: 0x04e9, 0xb34: 0x0008, 0xb35: 0x04f1,
- 0xb36: 0x0008, 0xb37: 0x04f9, 0xb38: 0x0008, 0xb39: 0x0501, 0xb3a: 0x0008, 0xb3b: 0x0509,
- 0xb3c: 0x0008, 0xb3d: 0x0511, 0xb3e: 0x0040, 0xb3f: 0x0040,
- // Block 0x2d, offset 0xb40
- 0xb40: 0x0519, 0xb41: 0x0521, 0xb42: 0x0529, 0xb43: 0x0531, 0xb44: 0x0539, 0xb45: 0x0541,
- 0xb46: 0x0549, 0xb47: 0x0551, 0xb48: 0x0519, 0xb49: 0x0521, 0xb4a: 0x0529, 0xb4b: 0x0531,
- 0xb4c: 0x0539, 0xb4d: 0x0541, 0xb4e: 0x0549, 0xb4f: 0x0551, 0xb50: 0x0559, 0xb51: 0x0561,
- 0xb52: 0x0569, 0xb53: 0x0571, 0xb54: 0x0579, 0xb55: 0x0581, 0xb56: 0x0589, 0xb57: 0x0591,
- 0xb58: 0x0559, 0xb59: 0x0561, 0xb5a: 0x0569, 0xb5b: 0x0571, 0xb5c: 0x0579, 0xb5d: 0x0581,
- 0xb5e: 0x0589, 0xb5f: 0x0591, 0xb60: 0x0599, 0xb61: 0x05a1, 0xb62: 0x05a9, 0xb63: 0x05b1,
- 0xb64: 0x05b9, 0xb65: 0x05c1, 0xb66: 0x05c9, 0xb67: 0x05d1, 0xb68: 0x0599, 0xb69: 0x05a1,
- 0xb6a: 0x05a9, 0xb6b: 0x05b1, 0xb6c: 0x05b9, 0xb6d: 0x05c1, 0xb6e: 0x05c9, 0xb6f: 0x05d1,
- 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x05d9, 0xb73: 0x05e1, 0xb74: 0x05e9, 0xb75: 0x0040,
- 0xb76: 0x0008, 0xb77: 0x05f1, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x0665, 0xb7b: 0x04e1,
- 0xb7c: 0x05e1, 0xb7d: 0x067e, 0xb7e: 0x05f9, 0xb7f: 0x069e,
- // Block 0x2e, offset 0xb80
- 0xb80: 0x06be, 0xb81: 0x0602, 0xb82: 0x0609, 0xb83: 0x0611, 0xb84: 0x0619, 0xb85: 0x0040,
- 0xb86: 0x0008, 0xb87: 0x0621, 0xb88: 0x06dd, 0xb89: 0x04e9, 0xb8a: 0x06f5, 0xb8b: 0x04f1,
- 0xb8c: 0x0611, 0xb8d: 0x062a, 0xb8e: 0x0632, 0xb8f: 0x063a, 0xb90: 0x0008, 0xb91: 0x0008,
- 0xb92: 0x0008, 0xb93: 0x0641, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008,
- 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x070d, 0xb9b: 0x04f9, 0xb9c: 0x0040, 0xb9d: 0x064a,
- 0xb9e: 0x0652, 0xb9f: 0x065a, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x0661,
- 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045,
- 0xbaa: 0x0725, 0xbab: 0x0509, 0xbac: 0xe04d, 0xbad: 0x066a, 0xbae: 0x012a, 0xbaf: 0x0672,
- 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x0679, 0xbb3: 0x0681, 0xbb4: 0x0689, 0xbb5: 0x0040,
- 0xbb6: 0x0008, 0xbb7: 0x0691, 0xbb8: 0x073d, 0xbb9: 0x0501, 0xbba: 0x0515, 0xbbb: 0x0511,
- 0xbbc: 0x0681, 0xbbd: 0x0756, 0xbbe: 0x0776, 0xbbf: 0x0040,
- // Block 0x2f, offset 0xbc0
- 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a,
- 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0,
- 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d,
- 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x0796,
- 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018,
- 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018,
- 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040,
- 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a,
- 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x0699, 0xbf4: 0x06a1, 0xbf5: 0x0018,
- 0xbf6: 0x06a9, 0xbf7: 0x06b1, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018,
- 0xbfc: 0x06ba, 0xbfd: 0x0018, 0xbfe: 0x07b6, 0xbff: 0x0018,
- // Block 0x30, offset 0xc00
- 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018,
- 0xc06: 0x0018, 0xc07: 0x06c2, 0xc08: 0x06ca, 0xc09: 0x06d2, 0xc0a: 0x0018, 0xc0b: 0x0018,
- 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018,
- 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x06d9,
- 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018,
- 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340,
- 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040,
- 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340,
- 0xc30: 0x06e1, 0xc31: 0x0311, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x06e9, 0xc35: 0x06f1,
- 0xc36: 0x06f9, 0xc37: 0x0701, 0xc38: 0x0709, 0xc39: 0x0711, 0xc3a: 0x071a, 0xc3b: 0x07d5,
- 0xc3c: 0x0722, 0xc3d: 0x072a, 0xc3e: 0x0732, 0xc3f: 0x0329,
- // Block 0x31, offset 0xc40
- 0xc40: 0x06e1, 0xc41: 0x0049, 0xc42: 0x0029, 0xc43: 0x0031, 0xc44: 0x06e9, 0xc45: 0x06f1,
- 0xc46: 0x06f9, 0xc47: 0x0701, 0xc48: 0x0709, 0xc49: 0x0711, 0xc4a: 0x071a, 0xc4b: 0x07ed,
- 0xc4c: 0x0722, 0xc4d: 0x072a, 0xc4e: 0x0732, 0xc4f: 0x0040, 0xc50: 0x0019, 0xc51: 0x02f9,
- 0xc52: 0x0051, 0xc53: 0x0109, 0xc54: 0x0361, 0xc55: 0x00a9, 0xc56: 0x0319, 0xc57: 0x0101,
- 0xc58: 0x0321, 0xc59: 0x0329, 0xc5a: 0x0339, 0xc5b: 0x0089, 0xc5c: 0x0341, 0xc5d: 0x0040,
- 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018,
- 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x0739, 0xc69: 0x0018,
- 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018,
- 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018,
- 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018,
- 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018,
- // Block 0x32, offset 0xc80
- 0xc80: 0x0806, 0xc81: 0x0826, 0xc82: 0x03d9, 0xc83: 0x0845, 0xc84: 0x0018, 0xc85: 0x0866,
- 0xc86: 0x0886, 0xc87: 0x0369, 0xc88: 0x0018, 0xc89: 0x08a5, 0xc8a: 0x0309, 0xc8b: 0x00a9,
- 0xc8c: 0x00a9, 0xc8d: 0x00a9, 0xc8e: 0x00a9, 0xc8f: 0x0741, 0xc90: 0x0311, 0xc91: 0x0311,
- 0xc92: 0x0101, 0xc93: 0x0101, 0xc94: 0x0018, 0xc95: 0x0329, 0xc96: 0x0749, 0xc97: 0x0018,
- 0xc98: 0x0018, 0xc99: 0x0339, 0xc9a: 0x0751, 0xc9b: 0x00b9, 0xc9c: 0x00b9, 0xc9d: 0x00b9,
- 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x0759, 0xca1: 0x08c5, 0xca2: 0x0761, 0xca3: 0x0018,
- 0xca4: 0x04b1, 0xca5: 0x0018, 0xca6: 0x0769, 0xca7: 0x0018, 0xca8: 0x04b1, 0xca9: 0x0018,
- 0xcaa: 0x0319, 0xcab: 0x0771, 0xcac: 0x02e9, 0xcad: 0x03d9, 0xcae: 0x0018, 0xcaf: 0x02f9,
- 0xcb0: 0x02f9, 0xcb1: 0x03f1, 0xcb2: 0x0040, 0xcb3: 0x0321, 0xcb4: 0x0051, 0xcb5: 0x0779,
- 0xcb6: 0x0781, 0xcb7: 0x0789, 0xcb8: 0x0791, 0xcb9: 0x0311, 0xcba: 0x0018, 0xcbb: 0x08e5,
- 0xcbc: 0x0799, 0xcbd: 0x03a1, 0xcbe: 0x03a1, 0xcbf: 0x0799,
- // Block 0x33, offset 0xcc0
- 0xcc0: 0x0905, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x02f1,
- 0xcc6: 0x02f1, 0xcc7: 0x02f9, 0xcc8: 0x0311, 0xcc9: 0x00b1, 0xcca: 0x0018, 0xccb: 0x0018,
- 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x07a1, 0xcd1: 0x07a9,
- 0xcd2: 0x07b1, 0xcd3: 0x07b9, 0xcd4: 0x07c1, 0xcd5: 0x07c9, 0xcd6: 0x07d1, 0xcd7: 0x07d9,
- 0xcd8: 0x07e1, 0xcd9: 0x07e9, 0xcda: 0x07f1, 0xcdb: 0x07f9, 0xcdc: 0x0801, 0xcdd: 0x0809,
- 0xcde: 0x0811, 0xcdf: 0x0819, 0xce0: 0x0311, 0xce1: 0x0821, 0xce2: 0x091d, 0xce3: 0x0829,
- 0xce4: 0x0391, 0xce5: 0x0831, 0xce6: 0x093d, 0xce7: 0x0839, 0xce8: 0x0841, 0xce9: 0x0109,
- 0xcea: 0x0849, 0xceb: 0x095d, 0xcec: 0x0101, 0xced: 0x03d9, 0xcee: 0x02f1, 0xcef: 0x0321,
- 0xcf0: 0x0311, 0xcf1: 0x0821, 0xcf2: 0x097d, 0xcf3: 0x0829, 0xcf4: 0x0391, 0xcf5: 0x0831,
- 0xcf6: 0x099d, 0xcf7: 0x0839, 0xcf8: 0x0841, 0xcf9: 0x0109, 0xcfa: 0x0849, 0xcfb: 0x09bd,
- 0xcfc: 0x0101, 0xcfd: 0x03d9, 0xcfe: 0x02f1, 0xcff: 0x0321,
- // Block 0x34, offset 0xd00
- 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018,
- 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040,
- 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040,
- 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040,
- 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040,
- 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x0049, 0xd21: 0x0029, 0xd22: 0x0031, 0xd23: 0x06e9,
- 0xd24: 0x06f1, 0xd25: 0x06f9, 0xd26: 0x0701, 0xd27: 0x0709, 0xd28: 0x0711, 0xd29: 0x0879,
- 0xd2a: 0x0881, 0xd2b: 0x0889, 0xd2c: 0x0891, 0xd2d: 0x0899, 0xd2e: 0x08a1, 0xd2f: 0x08a9,
- 0xd30: 0x08b1, 0xd31: 0x08b9, 0xd32: 0x08c1, 0xd33: 0x08c9, 0xd34: 0x0a1e, 0xd35: 0x0a3e,
- 0xd36: 0x0a5e, 0xd37: 0x0a7e, 0xd38: 0x0a9e, 0xd39: 0x0abe, 0xd3a: 0x0ade, 0xd3b: 0x0afe,
- 0xd3c: 0x0b1e, 0xd3d: 0x08d2, 0xd3e: 0x08da, 0xd3f: 0x08e2,
- // Block 0x35, offset 0xd40
- 0xd40: 0x08ea, 0xd41: 0x08f2, 0xd42: 0x08fa, 0xd43: 0x0902, 0xd44: 0x090a, 0xd45: 0x0912,
- 0xd46: 0x091a, 0xd47: 0x0922, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040,
- 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040,
- 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040,
- 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b3e, 0xd5d: 0x0b5e,
- 0xd5e: 0x0b7e, 0xd5f: 0x0b9e, 0xd60: 0x0bbe, 0xd61: 0x0bde, 0xd62: 0x0bfe, 0xd63: 0x0c1e,
- 0xd64: 0x0c3e, 0xd65: 0x0c5e, 0xd66: 0x0c7e, 0xd67: 0x0c9e, 0xd68: 0x0cbe, 0xd69: 0x0cde,
- 0xd6a: 0x0cfe, 0xd6b: 0x0d1e, 0xd6c: 0x0d3e, 0xd6d: 0x0d5e, 0xd6e: 0x0d7e, 0xd6f: 0x0d9e,
- 0xd70: 0x0dbe, 0xd71: 0x0dde, 0xd72: 0x0dfe, 0xd73: 0x0e1e, 0xd74: 0x0e3e, 0xd75: 0x0e5e,
- 0xd76: 0x0019, 0xd77: 0x02e9, 0xd78: 0x03d9, 0xd79: 0x02f1, 0xd7a: 0x02f9, 0xd7b: 0x03f1,
- 0xd7c: 0x0309, 0xd7d: 0x00a9, 0xd7e: 0x0311, 0xd7f: 0x00b1,
- // Block 0x36, offset 0xd80
- 0xd80: 0x0319, 0xd81: 0x0101, 0xd82: 0x0321, 0xd83: 0x0329, 0xd84: 0x0051, 0xd85: 0x0339,
- 0xd86: 0x0751, 0xd87: 0x00b9, 0xd88: 0x0089, 0xd89: 0x0341, 0xd8a: 0x0349, 0xd8b: 0x0391,
- 0xd8c: 0x00c1, 0xd8d: 0x0109, 0xd8e: 0x00c9, 0xd8f: 0x04b1, 0xd90: 0x0019, 0xd91: 0x02e9,
- 0xd92: 0x03d9, 0xd93: 0x02f1, 0xd94: 0x02f9, 0xd95: 0x03f1, 0xd96: 0x0309, 0xd97: 0x00a9,
- 0xd98: 0x0311, 0xd99: 0x00b1, 0xd9a: 0x0319, 0xd9b: 0x0101, 0xd9c: 0x0321, 0xd9d: 0x0329,
- 0xd9e: 0x0051, 0xd9f: 0x0339, 0xda0: 0x0751, 0xda1: 0x00b9, 0xda2: 0x0089, 0xda3: 0x0341,
- 0xda4: 0x0349, 0xda5: 0x0391, 0xda6: 0x00c1, 0xda7: 0x0109, 0xda8: 0x00c9, 0xda9: 0x04b1,
- 0xdaa: 0x06e1, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018,
- 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018,
- 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018,
- 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018,
- // Block 0x37, offset 0xdc0
- 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008,
- 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008,
- 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008,
- 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008,
- 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008,
- 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x0941, 0xde3: 0x0ed5,
- 0xde4: 0x0949, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d,
- 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0359, 0xdee: 0x0441, 0xdef: 0x0351,
- 0xdf0: 0x03d1, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d,
- 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008,
- 0xdfc: 0x00b1, 0xdfd: 0x0391, 0xdfe: 0x0951, 0xdff: 0x0959,
- // Block 0x38, offset 0xe00
- 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008,
- 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008,
- 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008,
- 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008,
- 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008,
- 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008,
- 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018,
- 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308,
- 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040,
- 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018,
- 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018,
- // Block 0x39, offset 0xe40
- 0xe40: 0x2715, 0xe41: 0x2735, 0xe42: 0x2755, 0xe43: 0x2775, 0xe44: 0x2795, 0xe45: 0x27b5,
- 0xe46: 0x27d5, 0xe47: 0x27f5, 0xe48: 0x2815, 0xe49: 0x2835, 0xe4a: 0x2855, 0xe4b: 0x2875,
- 0xe4c: 0x2895, 0xe4d: 0x28b5, 0xe4e: 0x28d5, 0xe4f: 0x28f5, 0xe50: 0x2915, 0xe51: 0x2935,
- 0xe52: 0x2955, 0xe53: 0x2975, 0xe54: 0x2995, 0xe55: 0x29b5, 0xe56: 0x0040, 0xe57: 0x0040,
- 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040,
- 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040,
- 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040,
- 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040,
- 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040,
- 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040,
- 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040,
- // Block 0x3a, offset 0xe80
- 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x0961, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008,
- 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018,
- 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018,
- 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018,
- 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018,
- 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018,
- 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018,
- 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018,
- 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018,
- 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29d5, 0xeb9: 0x29f5, 0xeba: 0x2a15, 0xebb: 0x0018,
- 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018,
- // Block 0x3b, offset 0xec0
- 0xec0: 0x2b55, 0xec1: 0x2b75, 0xec2: 0x2b95, 0xec3: 0x2bb5, 0xec4: 0x2bd5, 0xec5: 0x2bf5,
- 0xec6: 0x2bf5, 0xec7: 0x2bf5, 0xec8: 0x2c15, 0xec9: 0x2c15, 0xeca: 0x2c15, 0xecb: 0x2c15,
- 0xecc: 0x2c35, 0xecd: 0x2c35, 0xece: 0x2c35, 0xecf: 0x2c55, 0xed0: 0x2c75, 0xed1: 0x2c75,
- 0xed2: 0x2a95, 0xed3: 0x2a95, 0xed4: 0x2c75, 0xed5: 0x2c75, 0xed6: 0x2c95, 0xed7: 0x2c95,
- 0xed8: 0x2c75, 0xed9: 0x2c75, 0xeda: 0x2a95, 0xedb: 0x2a95, 0xedc: 0x2c75, 0xedd: 0x2c75,
- 0xede: 0x2c55, 0xedf: 0x2c55, 0xee0: 0x2cb5, 0xee1: 0x2cb5, 0xee2: 0x2cd5, 0xee3: 0x2cd5,
- 0xee4: 0x0040, 0xee5: 0x2cf5, 0xee6: 0x2d15, 0xee7: 0x2d35, 0xee8: 0x2d35, 0xee9: 0x2d55,
- 0xeea: 0x2d75, 0xeeb: 0x2d95, 0xeec: 0x2db5, 0xeed: 0x2dd5, 0xeee: 0x2df5, 0xeef: 0x2e15,
- 0xef0: 0x2e35, 0xef1: 0x2e55, 0xef2: 0x2e55, 0xef3: 0x2e75, 0xef4: 0x2e95, 0xef5: 0x2e95,
- 0xef6: 0x2eb5, 0xef7: 0x2ed5, 0xef8: 0x2e75, 0xef9: 0x2ef5, 0xefa: 0x2f15, 0xefb: 0x2ef5,
- 0xefc: 0x2e75, 0xefd: 0x2f35, 0xefe: 0x2f55, 0xeff: 0x2f75,
- // Block 0x3c, offset 0xf00
- 0xf00: 0x2f95, 0xf01: 0x2fb5, 0xf02: 0x2d15, 0xf03: 0x2cf5, 0xf04: 0x2fd5, 0xf05: 0x2ff5,
- 0xf06: 0x3015, 0xf07: 0x3035, 0xf08: 0x3055, 0xf09: 0x3075, 0xf0a: 0x3095, 0xf0b: 0x30b5,
- 0xf0c: 0x30d5, 0xf0d: 0x30f5, 0xf0e: 0x3115, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018,
- 0xf12: 0x3135, 0xf13: 0x3155, 0xf14: 0x3175, 0xf15: 0x3195, 0xf16: 0x31b5, 0xf17: 0x31d5,
- 0xf18: 0x31f5, 0xf19: 0x3215, 0xf1a: 0x3235, 0xf1b: 0x3255, 0xf1c: 0x3175, 0xf1d: 0x3275,
- 0xf1e: 0x3295, 0xf1f: 0x32b5, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008,
- 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008,
- 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008,
- 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008,
- 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0008,
- 0xf3c: 0x0008, 0xf3d: 0x0008, 0xf3e: 0x0008, 0xf3f: 0x0008,
- // Block 0x3d, offset 0xf40
- 0xf40: 0x0b82, 0xf41: 0x0b8a, 0xf42: 0x0b92, 0xf43: 0x0b9a, 0xf44: 0x32d5, 0xf45: 0x32f5,
- 0xf46: 0x3315, 0xf47: 0x3335, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018,
- 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x3355, 0xf51: 0x0ba1,
- 0xf52: 0x0ba9, 0xf53: 0x0bb1, 0xf54: 0x0bb9, 0xf55: 0x0bc1, 0xf56: 0x0bc9, 0xf57: 0x0bd1,
- 0xf58: 0x0bd9, 0xf59: 0x0be1, 0xf5a: 0x0be9, 0xf5b: 0x0bf1, 0xf5c: 0x0bf9, 0xf5d: 0x0c01,
- 0xf5e: 0x0c09, 0xf5f: 0x0c11, 0xf60: 0x3375, 0xf61: 0x3395, 0xf62: 0x33b5, 0xf63: 0x33d5,
- 0xf64: 0x33f5, 0xf65: 0x33f5, 0xf66: 0x3415, 0xf67: 0x3435, 0xf68: 0x3455, 0xf69: 0x3475,
- 0xf6a: 0x3495, 0xf6b: 0x34b5, 0xf6c: 0x34d5, 0xf6d: 0x34f5, 0xf6e: 0x3515, 0xf6f: 0x3535,
- 0xf70: 0x3555, 0xf71: 0x3575, 0xf72: 0x3595, 0xf73: 0x35b5, 0xf74: 0x35d5, 0xf75: 0x35f5,
- 0xf76: 0x3615, 0xf77: 0x3635, 0xf78: 0x3655, 0xf79: 0x3675, 0xf7a: 0x3695, 0xf7b: 0x36b5,
- 0xf7c: 0x0c19, 0xf7d: 0x0c21, 0xf7e: 0x36d5, 0xf7f: 0x0018,
- // Block 0x3e, offset 0xf80
- 0xf80: 0x36f5, 0xf81: 0x3715, 0xf82: 0x3735, 0xf83: 0x3755, 0xf84: 0x3775, 0xf85: 0x3795,
- 0xf86: 0x37b5, 0xf87: 0x37d5, 0xf88: 0x37f5, 0xf89: 0x3815, 0xf8a: 0x3835, 0xf8b: 0x3855,
- 0xf8c: 0x3875, 0xf8d: 0x3895, 0xf8e: 0x38b5, 0xf8f: 0x38d5, 0xf90: 0x38f5, 0xf91: 0x3915,
- 0xf92: 0x3935, 0xf93: 0x3955, 0xf94: 0x3975, 0xf95: 0x3995, 0xf96: 0x39b5, 0xf97: 0x39d5,
- 0xf98: 0x39f5, 0xf99: 0x3a15, 0xf9a: 0x3a35, 0xf9b: 0x3a55, 0xf9c: 0x3a75, 0xf9d: 0x3a95,
- 0xf9e: 0x3ab5, 0xf9f: 0x3ad5, 0xfa0: 0x3af5, 0xfa1: 0x3b15, 0xfa2: 0x3b35, 0xfa3: 0x3b55,
- 0xfa4: 0x3b75, 0xfa5: 0x3b95, 0xfa6: 0x1295, 0xfa7: 0x3bb5, 0xfa8: 0x3bd5, 0xfa9: 0x3bf5,
- 0xfaa: 0x3c15, 0xfab: 0x3c35, 0xfac: 0x3c55, 0xfad: 0x3c75, 0xfae: 0x23b5, 0xfaf: 0x3c95,
- 0xfb0: 0x3cb5, 0xfb1: 0x0c29, 0xfb2: 0x0c31, 0xfb3: 0x0c39, 0xfb4: 0x0c41, 0xfb5: 0x0c49,
- 0xfb6: 0x0c51, 0xfb7: 0x0c59, 0xfb8: 0x0c61, 0xfb9: 0x0c69, 0xfba: 0x0c71, 0xfbb: 0x0c79,
- 0xfbc: 0x0c81, 0xfbd: 0x0c89, 0xfbe: 0x0c91, 0xfbf: 0x0c99,
- // Block 0x3f, offset 0xfc0
- 0xfc0: 0x0ca1, 0xfc1: 0x0ca9, 0xfc2: 0x0cb1, 0xfc3: 0x0cb9, 0xfc4: 0x0cc1, 0xfc5: 0x0cc9,
- 0xfc6: 0x0cd1, 0xfc7: 0x0cd9, 0xfc8: 0x0ce1, 0xfc9: 0x0ce9, 0xfca: 0x0cf1, 0xfcb: 0x0cf9,
- 0xfcc: 0x0d01, 0xfcd: 0x3cd5, 0xfce: 0x0d09, 0xfcf: 0x3cf5, 0xfd0: 0x3d15, 0xfd1: 0x3d2d,
- 0xfd2: 0x3d45, 0xfd3: 0x3d5d, 0xfd4: 0x3d75, 0xfd5: 0x3d75, 0xfd6: 0x3d5d, 0xfd7: 0x3d8d,
- 0xfd8: 0x07d5, 0xfd9: 0x3da5, 0xfda: 0x3dbd, 0xfdb: 0x3dd5, 0xfdc: 0x3ded, 0xfdd: 0x3e05,
- 0xfde: 0x3e1d, 0xfdf: 0x3e35, 0xfe0: 0x3e4d, 0xfe1: 0x3e65, 0xfe2: 0x3e7d, 0xfe3: 0x3e95,
- 0xfe4: 0x3ead, 0xfe5: 0x3ead, 0xfe6: 0x3ec5, 0xfe7: 0x3ec5, 0xfe8: 0x3edd, 0xfe9: 0x3edd,
- 0xfea: 0x3ef5, 0xfeb: 0x3f0d, 0xfec: 0x3f25, 0xfed: 0x3f3d, 0xfee: 0x3f55, 0xfef: 0x3f55,
- 0xff0: 0x3f6d, 0xff1: 0x3f6d, 0xff2: 0x3f6d, 0xff3: 0x3f85, 0xff4: 0x3f9d, 0xff5: 0x3fb5,
- 0xff6: 0x3fcd, 0xff7: 0x3fb5, 0xff8: 0x3fe5, 0xff9: 0x3ffd, 0xffa: 0x3f85, 0xffb: 0x4015,
- 0xffc: 0x402d, 0xffd: 0x402d, 0xffe: 0x402d, 0xfff: 0x0d11,
- // Block 0x40, offset 0x1000
- 0x1000: 0x10f9, 0x1001: 0x1101, 0x1002: 0x40a5, 0x1003: 0x1109, 0x1004: 0x1111, 0x1005: 0x1119,
- 0x1006: 0x1121, 0x1007: 0x1129, 0x1008: 0x40c5, 0x1009: 0x1131, 0x100a: 0x1139, 0x100b: 0x1141,
- 0x100c: 0x40e5, 0x100d: 0x40e5, 0x100e: 0x1149, 0x100f: 0x1151, 0x1010: 0x1159, 0x1011: 0x4105,
- 0x1012: 0x4125, 0x1013: 0x4145, 0x1014: 0x4165, 0x1015: 0x4185, 0x1016: 0x1161, 0x1017: 0x1169,
- 0x1018: 0x1171, 0x1019: 0x1179, 0x101a: 0x1181, 0x101b: 0x41a5, 0x101c: 0x1189, 0x101d: 0x1191,
- 0x101e: 0x1199, 0x101f: 0x41c5, 0x1020: 0x41e5, 0x1021: 0x11a1, 0x1022: 0x4205, 0x1023: 0x4225,
- 0x1024: 0x4245, 0x1025: 0x11a9, 0x1026: 0x4265, 0x1027: 0x11b1, 0x1028: 0x11b9, 0x1029: 0x10f9,
- 0x102a: 0x4285, 0x102b: 0x42a5, 0x102c: 0x42c5, 0x102d: 0x42e5, 0x102e: 0x11c1, 0x102f: 0x11c9,
- 0x1030: 0x11d1, 0x1031: 0x11d9, 0x1032: 0x4305, 0x1033: 0x11e1, 0x1034: 0x11e9, 0x1035: 0x11f1,
- 0x1036: 0x4325, 0x1037: 0x11f9, 0x1038: 0x1201, 0x1039: 0x11f9, 0x103a: 0x1209, 0x103b: 0x1211,
- 0x103c: 0x4345, 0x103d: 0x1219, 0x103e: 0x1221, 0x103f: 0x1219,
- // Block 0x41, offset 0x1040
- 0x1040: 0x4365, 0x1041: 0x4385, 0x1042: 0x0040, 0x1043: 0x1229, 0x1044: 0x1231, 0x1045: 0x1239,
- 0x1046: 0x1241, 0x1047: 0x0040, 0x1048: 0x1249, 0x1049: 0x1251, 0x104a: 0x1259, 0x104b: 0x1261,
- 0x104c: 0x1269, 0x104d: 0x1271, 0x104e: 0x1199, 0x104f: 0x1279, 0x1050: 0x1281, 0x1051: 0x1289,
- 0x1052: 0x43a5, 0x1053: 0x1291, 0x1054: 0x1121, 0x1055: 0x43c5, 0x1056: 0x43e5, 0x1057: 0x1299,
- 0x1058: 0x0040, 0x1059: 0x4405, 0x105a: 0x12a1, 0x105b: 0x12a9, 0x105c: 0x12b1, 0x105d: 0x12b9,
- 0x105e: 0x12c1, 0x105f: 0x12c9, 0x1060: 0x12d1, 0x1061: 0x12d9, 0x1062: 0x12e1, 0x1063: 0x12e9,
- 0x1064: 0x12f1, 0x1065: 0x12f9, 0x1066: 0x1301, 0x1067: 0x1309, 0x1068: 0x1311, 0x1069: 0x1319,
- 0x106a: 0x1321, 0x106b: 0x1329, 0x106c: 0x1331, 0x106d: 0x1339, 0x106e: 0x1341, 0x106f: 0x1349,
- 0x1070: 0x1351, 0x1071: 0x1359, 0x1072: 0x1361, 0x1073: 0x1369, 0x1074: 0x1371, 0x1075: 0x1379,
- 0x1076: 0x1381, 0x1077: 0x1389, 0x1078: 0x1391, 0x1079: 0x1399, 0x107a: 0x13a1, 0x107b: 0x13a9,
- 0x107c: 0x13b1, 0x107d: 0x13b9, 0x107e: 0x13c1, 0x107f: 0x4425,
- // Block 0x42, offset 0x1080
- 0x1080: 0xe00d, 0x1081: 0x0008, 0x1082: 0xe00d, 0x1083: 0x0008, 0x1084: 0xe00d, 0x1085: 0x0008,
- 0x1086: 0xe00d, 0x1087: 0x0008, 0x1088: 0xe00d, 0x1089: 0x0008, 0x108a: 0xe00d, 0x108b: 0x0008,
- 0x108c: 0xe00d, 0x108d: 0x0008, 0x108e: 0xe00d, 0x108f: 0x0008, 0x1090: 0xe00d, 0x1091: 0x0008,
- 0x1092: 0xe00d, 0x1093: 0x0008, 0x1094: 0xe00d, 0x1095: 0x0008, 0x1096: 0xe00d, 0x1097: 0x0008,
- 0x1098: 0xe00d, 0x1099: 0x0008, 0x109a: 0xe00d, 0x109b: 0x0008, 0x109c: 0xe00d, 0x109d: 0x0008,
- 0x109e: 0xe00d, 0x109f: 0x0008, 0x10a0: 0xe00d, 0x10a1: 0x0008, 0x10a2: 0xe00d, 0x10a3: 0x0008,
- 0x10a4: 0xe00d, 0x10a5: 0x0008, 0x10a6: 0xe00d, 0x10a7: 0x0008, 0x10a8: 0xe00d, 0x10a9: 0x0008,
- 0x10aa: 0xe00d, 0x10ab: 0x0008, 0x10ac: 0xe00d, 0x10ad: 0x0008, 0x10ae: 0x0008, 0x10af: 0x3308,
- 0x10b0: 0x3318, 0x10b1: 0x3318, 0x10b2: 0x3318, 0x10b3: 0x0018, 0x10b4: 0x3308, 0x10b5: 0x3308,
- 0x10b6: 0x3308, 0x10b7: 0x3308, 0x10b8: 0x3308, 0x10b9: 0x3308, 0x10ba: 0x3308, 0x10bb: 0x3308,
- 0x10bc: 0x3308, 0x10bd: 0x3308, 0x10be: 0x0018, 0x10bf: 0x0008,
- // Block 0x43, offset 0x10c0
- 0x10c0: 0xe00d, 0x10c1: 0x0008, 0x10c2: 0xe00d, 0x10c3: 0x0008, 0x10c4: 0xe00d, 0x10c5: 0x0008,
- 0x10c6: 0xe00d, 0x10c7: 0x0008, 0x10c8: 0xe00d, 0x10c9: 0x0008, 0x10ca: 0xe00d, 0x10cb: 0x0008,
- 0x10cc: 0xe00d, 0x10cd: 0x0008, 0x10ce: 0xe00d, 0x10cf: 0x0008, 0x10d0: 0xe00d, 0x10d1: 0x0008,
- 0x10d2: 0xe00d, 0x10d3: 0x0008, 0x10d4: 0xe00d, 0x10d5: 0x0008, 0x10d6: 0xe00d, 0x10d7: 0x0008,
- 0x10d8: 0xe00d, 0x10d9: 0x0008, 0x10da: 0xe00d, 0x10db: 0x0008, 0x10dc: 0x02d1, 0x10dd: 0x13c9,
- 0x10de: 0x3308, 0x10df: 0x3308, 0x10e0: 0x0008, 0x10e1: 0x0008, 0x10e2: 0x0008, 0x10e3: 0x0008,
- 0x10e4: 0x0008, 0x10e5: 0x0008, 0x10e6: 0x0008, 0x10e7: 0x0008, 0x10e8: 0x0008, 0x10e9: 0x0008,
- 0x10ea: 0x0008, 0x10eb: 0x0008, 0x10ec: 0x0008, 0x10ed: 0x0008, 0x10ee: 0x0008, 0x10ef: 0x0008,
- 0x10f0: 0x0008, 0x10f1: 0x0008, 0x10f2: 0x0008, 0x10f3: 0x0008, 0x10f4: 0x0008, 0x10f5: 0x0008,
- 0x10f6: 0x0008, 0x10f7: 0x0008, 0x10f8: 0x0008, 0x10f9: 0x0008, 0x10fa: 0x0008, 0x10fb: 0x0008,
- 0x10fc: 0x0008, 0x10fd: 0x0008, 0x10fe: 0x0008, 0x10ff: 0x0008,
- // Block 0x44, offset 0x1100
- 0x1100: 0x0018, 0x1101: 0x0018, 0x1102: 0x0018, 0x1103: 0x0018, 0x1104: 0x0018, 0x1105: 0x0018,
- 0x1106: 0x0018, 0x1107: 0x0018, 0x1108: 0x0018, 0x1109: 0x0018, 0x110a: 0x0018, 0x110b: 0x0018,
- 0x110c: 0x0018, 0x110d: 0x0018, 0x110e: 0x0018, 0x110f: 0x0018, 0x1110: 0x0018, 0x1111: 0x0018,
- 0x1112: 0x0018, 0x1113: 0x0018, 0x1114: 0x0018, 0x1115: 0x0018, 0x1116: 0x0018, 0x1117: 0x0008,
- 0x1118: 0x0008, 0x1119: 0x0008, 0x111a: 0x0008, 0x111b: 0x0008, 0x111c: 0x0008, 0x111d: 0x0008,
- 0x111e: 0x0008, 0x111f: 0x0008, 0x1120: 0x0018, 0x1121: 0x0018, 0x1122: 0xe00d, 0x1123: 0x0008,
- 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008,
- 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0xe00d, 0x112f: 0x0008,
- 0x1130: 0x0008, 0x1131: 0x0008, 0x1132: 0xe00d, 0x1133: 0x0008, 0x1134: 0xe00d, 0x1135: 0x0008,
- 0x1136: 0xe00d, 0x1137: 0x0008, 0x1138: 0xe00d, 0x1139: 0x0008, 0x113a: 0xe00d, 0x113b: 0x0008,
- 0x113c: 0xe00d, 0x113d: 0x0008, 0x113e: 0xe00d, 0x113f: 0x0008,
- // Block 0x45, offset 0x1140
- 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008,
- 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008,
- 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008,
- 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008,
- 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0xe00d, 0x115d: 0x0008,
- 0x115e: 0xe00d, 0x115f: 0x0008, 0x1160: 0xe00d, 0x1161: 0x0008, 0x1162: 0xe00d, 0x1163: 0x0008,
- 0x1164: 0xe00d, 0x1165: 0x0008, 0x1166: 0xe00d, 0x1167: 0x0008, 0x1168: 0xe00d, 0x1169: 0x0008,
- 0x116a: 0xe00d, 0x116b: 0x0008, 0x116c: 0xe00d, 0x116d: 0x0008, 0x116e: 0xe00d, 0x116f: 0x0008,
- 0x1170: 0xe0fd, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008,
- 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0xe01d, 0x117a: 0x0008, 0x117b: 0xe03d,
- 0x117c: 0x0008, 0x117d: 0x4445, 0x117e: 0xe00d, 0x117f: 0x0008,
- // Block 0x46, offset 0x1180
- 0x1180: 0xe00d, 0x1181: 0x0008, 0x1182: 0xe00d, 0x1183: 0x0008, 0x1184: 0xe00d, 0x1185: 0x0008,
- 0x1186: 0xe00d, 0x1187: 0x0008, 0x1188: 0x0008, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0xe03d,
- 0x118c: 0x0008, 0x118d: 0x0409, 0x118e: 0x0008, 0x118f: 0x0008, 0x1190: 0xe00d, 0x1191: 0x0008,
- 0x1192: 0xe00d, 0x1193: 0x0008, 0x1194: 0x0008, 0x1195: 0x0008, 0x1196: 0xe00d, 0x1197: 0x0008,
- 0x1198: 0xe00d, 0x1199: 0x0008, 0x119a: 0xe00d, 0x119b: 0x0008, 0x119c: 0xe00d, 0x119d: 0x0008,
- 0x119e: 0xe00d, 0x119f: 0x0008, 0x11a0: 0xe00d, 0x11a1: 0x0008, 0x11a2: 0xe00d, 0x11a3: 0x0008,
- 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,
- 0x11aa: 0x13d1, 0x11ab: 0x0371, 0x11ac: 0x0401, 0x11ad: 0x13d9, 0x11ae: 0x0421, 0x11af: 0x0008,
- 0x11b0: 0x13e1, 0x11b1: 0x13e9, 0x11b2: 0x0429, 0x11b3: 0x4465, 0x11b4: 0xe00d, 0x11b5: 0x0008,
- 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008,
- 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008,
- // Block 0x47, offset 0x11c0
- 0x11c0: 0x650d, 0x11c1: 0x652d, 0x11c2: 0x654d, 0x11c3: 0x656d, 0x11c4: 0x658d, 0x11c5: 0x65ad,
- 0x11c6: 0x65cd, 0x11c7: 0x65ed, 0x11c8: 0x660d, 0x11c9: 0x662d, 0x11ca: 0x664d, 0x11cb: 0x666d,
- 0x11cc: 0x668d, 0x11cd: 0x66ad, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0x66cd, 0x11d1: 0x0008,
- 0x11d2: 0x66ed, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x670d, 0x11d6: 0x672d, 0x11d7: 0x674d,
- 0x11d8: 0x676d, 0x11d9: 0x678d, 0x11da: 0x67ad, 0x11db: 0x67cd, 0x11dc: 0x67ed, 0x11dd: 0x680d,
- 0x11de: 0x682d, 0x11df: 0x0008, 0x11e0: 0x684d, 0x11e1: 0x0008, 0x11e2: 0x686d, 0x11e3: 0x0008,
- 0x11e4: 0x0008, 0x11e5: 0x688d, 0x11e6: 0x68ad, 0x11e7: 0x0008, 0x11e8: 0x0008, 0x11e9: 0x0008,
- 0x11ea: 0x68cd, 0x11eb: 0x68ed, 0x11ec: 0x690d, 0x11ed: 0x692d, 0x11ee: 0x694d, 0x11ef: 0x696d,
- 0x11f0: 0x698d, 0x11f1: 0x69ad, 0x11f2: 0x69cd, 0x11f3: 0x69ed, 0x11f4: 0x6a0d, 0x11f5: 0x6a2d,
- 0x11f6: 0x6a4d, 0x11f7: 0x6a6d, 0x11f8: 0x6a8d, 0x11f9: 0x6aad, 0x11fa: 0x6acd, 0x11fb: 0x6aed,
- 0x11fc: 0x6b0d, 0x11fd: 0x6b2d, 0x11fe: 0x6b4d, 0x11ff: 0x6b6d,
- // Block 0x48, offset 0x1200
- 0x1200: 0x7acd, 0x1201: 0x7aed, 0x1202: 0x7b0d, 0x1203: 0x7b2d, 0x1204: 0x7b4d, 0x1205: 0x7b6d,
- 0x1206: 0x7b8d, 0x1207: 0x7bad, 0x1208: 0x7bcd, 0x1209: 0x7bed, 0x120a: 0x7c0d, 0x120b: 0x7c2d,
- 0x120c: 0x7c4d, 0x120d: 0x7c6d, 0x120e: 0x7c8d, 0x120f: 0x1409, 0x1210: 0x1411, 0x1211: 0x1419,
- 0x1212: 0x7cad, 0x1213: 0x7ccd, 0x1214: 0x7ced, 0x1215: 0x1421, 0x1216: 0x1429, 0x1217: 0x1431,
- 0x1218: 0x7d0d, 0x1219: 0x7d2d, 0x121a: 0x0040, 0x121b: 0x0040, 0x121c: 0x0040, 0x121d: 0x0040,
- 0x121e: 0x0040, 0x121f: 0x0040, 0x1220: 0x0040, 0x1221: 0x0040, 0x1222: 0x0040, 0x1223: 0x0040,
- 0x1224: 0x0040, 0x1225: 0x0040, 0x1226: 0x0040, 0x1227: 0x0040, 0x1228: 0x0040, 0x1229: 0x0040,
- 0x122a: 0x0040, 0x122b: 0x0040, 0x122c: 0x0040, 0x122d: 0x0040, 0x122e: 0x0040, 0x122f: 0x0040,
- 0x1230: 0x0040, 0x1231: 0x0040, 0x1232: 0x0040, 0x1233: 0x0040, 0x1234: 0x0040, 0x1235: 0x0040,
- 0x1236: 0x0040, 0x1237: 0x0040, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040,
- 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040,
- // Block 0x49, offset 0x1240
- 0x1240: 0x1439, 0x1241: 0x1441, 0x1242: 0x1449, 0x1243: 0x7d4d, 0x1244: 0x7d6d, 0x1245: 0x1451,
- 0x1246: 0x1451, 0x1247: 0x0040, 0x1248: 0x0040, 0x1249: 0x0040, 0x124a: 0x0040, 0x124b: 0x0040,
- 0x124c: 0x0040, 0x124d: 0x0040, 0x124e: 0x0040, 0x124f: 0x0040, 0x1250: 0x0040, 0x1251: 0x0040,
- 0x1252: 0x0040, 0x1253: 0x1459, 0x1254: 0x1461, 0x1255: 0x1469, 0x1256: 0x1471, 0x1257: 0x1479,
- 0x1258: 0x0040, 0x1259: 0x0040, 0x125a: 0x0040, 0x125b: 0x0040, 0x125c: 0x0040, 0x125d: 0x1481,
- 0x125e: 0x3308, 0x125f: 0x1489, 0x1260: 0x1491, 0x1261: 0x0779, 0x1262: 0x0791, 0x1263: 0x1499,
- 0x1264: 0x14a1, 0x1265: 0x14a9, 0x1266: 0x14b1, 0x1267: 0x14b9, 0x1268: 0x14c1, 0x1269: 0x071a,
- 0x126a: 0x14c9, 0x126b: 0x14d1, 0x126c: 0x14d9, 0x126d: 0x14e1, 0x126e: 0x14e9, 0x126f: 0x14f1,
- 0x1270: 0x14f9, 0x1271: 0x1501, 0x1272: 0x1509, 0x1273: 0x1511, 0x1274: 0x1519, 0x1275: 0x1521,
- 0x1276: 0x1529, 0x1277: 0x0040, 0x1278: 0x1531, 0x1279: 0x1539, 0x127a: 0x1541, 0x127b: 0x1549,
- 0x127c: 0x1551, 0x127d: 0x0040, 0x127e: 0x1559, 0x127f: 0x0040,
- // Block 0x4a, offset 0x1280
- 0x1280: 0x1561, 0x1281: 0x1569, 0x1282: 0x0040, 0x1283: 0x1571, 0x1284: 0x1579, 0x1285: 0x0040,
- 0x1286: 0x1581, 0x1287: 0x1589, 0x1288: 0x1591, 0x1289: 0x1599, 0x128a: 0x15a1, 0x128b: 0x15a9,
- 0x128c: 0x15b1, 0x128d: 0x15b9, 0x128e: 0x15c1, 0x128f: 0x15c9, 0x1290: 0x15d1, 0x1291: 0x15d1,
- 0x1292: 0x15d9, 0x1293: 0x15d9, 0x1294: 0x15d9, 0x1295: 0x15d9, 0x1296: 0x15e1, 0x1297: 0x15e1,
- 0x1298: 0x15e1, 0x1299: 0x15e1, 0x129a: 0x15e9, 0x129b: 0x15e9, 0x129c: 0x15e9, 0x129d: 0x15e9,
- 0x129e: 0x15f1, 0x129f: 0x15f1, 0x12a0: 0x15f1, 0x12a1: 0x15f1, 0x12a2: 0x15f9, 0x12a3: 0x15f9,
- 0x12a4: 0x15f9, 0x12a5: 0x15f9, 0x12a6: 0x1601, 0x12a7: 0x1601, 0x12a8: 0x1601, 0x12a9: 0x1601,
- 0x12aa: 0x1609, 0x12ab: 0x1609, 0x12ac: 0x1609, 0x12ad: 0x1609, 0x12ae: 0x1611, 0x12af: 0x1611,
- 0x12b0: 0x1611, 0x12b1: 0x1611, 0x12b2: 0x1619, 0x12b3: 0x1619, 0x12b4: 0x1619, 0x12b5: 0x1619,
- 0x12b6: 0x1621, 0x12b7: 0x1621, 0x12b8: 0x1621, 0x12b9: 0x1621, 0x12ba: 0x1629, 0x12bb: 0x1629,
- 0x12bc: 0x1629, 0x12bd: 0x1629, 0x12be: 0x1631, 0x12bf: 0x1631,
- // Block 0x4b, offset 0x12c0
- 0x12c0: 0x1631, 0x12c1: 0x1631, 0x12c2: 0x1639, 0x12c3: 0x1639, 0x12c4: 0x1641, 0x12c5: 0x1641,
- 0x12c6: 0x1649, 0x12c7: 0x1649, 0x12c8: 0x1651, 0x12c9: 0x1651, 0x12ca: 0x1659, 0x12cb: 0x1659,
- 0x12cc: 0x1661, 0x12cd: 0x1661, 0x12ce: 0x1669, 0x12cf: 0x1669, 0x12d0: 0x1669, 0x12d1: 0x1669,
- 0x12d2: 0x1671, 0x12d3: 0x1671, 0x12d4: 0x1671, 0x12d5: 0x1671, 0x12d6: 0x1679, 0x12d7: 0x1679,
- 0x12d8: 0x1679, 0x12d9: 0x1679, 0x12da: 0x1681, 0x12db: 0x1681, 0x12dc: 0x1681, 0x12dd: 0x1681,
- 0x12de: 0x1689, 0x12df: 0x1689, 0x12e0: 0x1691, 0x12e1: 0x1691, 0x12e2: 0x1691, 0x12e3: 0x1691,
- 0x12e4: 0x1699, 0x12e5: 0x1699, 0x12e6: 0x16a1, 0x12e7: 0x16a1, 0x12e8: 0x16a1, 0x12e9: 0x16a1,
- 0x12ea: 0x16a9, 0x12eb: 0x16a9, 0x12ec: 0x16a9, 0x12ed: 0x16a9, 0x12ee: 0x16b1, 0x12ef: 0x16b1,
- 0x12f0: 0x16b9, 0x12f1: 0x16b9, 0x12f2: 0x0818, 0x12f3: 0x0818, 0x12f4: 0x0818, 0x12f5: 0x0818,
- 0x12f6: 0x0818, 0x12f7: 0x0818, 0x12f8: 0x0818, 0x12f9: 0x0818, 0x12fa: 0x0818, 0x12fb: 0x0818,
- 0x12fc: 0x0818, 0x12fd: 0x0818, 0x12fe: 0x0818, 0x12ff: 0x0818,
- // Block 0x4c, offset 0x1300
- 0x1300: 0x0818, 0x1301: 0x0818, 0x1302: 0x0040, 0x1303: 0x0040, 0x1304: 0x0040, 0x1305: 0x0040,
- 0x1306: 0x0040, 0x1307: 0x0040, 0x1308: 0x0040, 0x1309: 0x0040, 0x130a: 0x0040, 0x130b: 0x0040,
- 0x130c: 0x0040, 0x130d: 0x0040, 0x130e: 0x0040, 0x130f: 0x0040, 0x1310: 0x0040, 0x1311: 0x0040,
- 0x1312: 0x0040, 0x1313: 0x16c1, 0x1314: 0x16c1, 0x1315: 0x16c1, 0x1316: 0x16c1, 0x1317: 0x16c9,
- 0x1318: 0x16c9, 0x1319: 0x16d1, 0x131a: 0x16d1, 0x131b: 0x16d9, 0x131c: 0x16d9, 0x131d: 0x0149,
- 0x131e: 0x16e1, 0x131f: 0x16e1, 0x1320: 0x16e9, 0x1321: 0x16e9, 0x1322: 0x16f1, 0x1323: 0x16f1,
- 0x1324: 0x16f9, 0x1325: 0x16f9, 0x1326: 0x16f9, 0x1327: 0x16f9, 0x1328: 0x1701, 0x1329: 0x1701,
- 0x132a: 0x1709, 0x132b: 0x1709, 0x132c: 0x1711, 0x132d: 0x1711, 0x132e: 0x1719, 0x132f: 0x1719,
- 0x1330: 0x1721, 0x1331: 0x1721, 0x1332: 0x1729, 0x1333: 0x1729, 0x1334: 0x1731, 0x1335: 0x1731,
- 0x1336: 0x1739, 0x1337: 0x1739, 0x1338: 0x1739, 0x1339: 0x1741, 0x133a: 0x1741, 0x133b: 0x1741,
- 0x133c: 0x1749, 0x133d: 0x1749, 0x133e: 0x1749, 0x133f: 0x1749,
- // Block 0x4d, offset 0x1340
- 0x1340: 0x1949, 0x1341: 0x1951, 0x1342: 0x1959, 0x1343: 0x1961, 0x1344: 0x1969, 0x1345: 0x1971,
- 0x1346: 0x1979, 0x1347: 0x1981, 0x1348: 0x1989, 0x1349: 0x1991, 0x134a: 0x1999, 0x134b: 0x19a1,
- 0x134c: 0x19a9, 0x134d: 0x19b1, 0x134e: 0x19b9, 0x134f: 0x19c1, 0x1350: 0x19c9, 0x1351: 0x19d1,
- 0x1352: 0x19d9, 0x1353: 0x19e1, 0x1354: 0x19e9, 0x1355: 0x19f1, 0x1356: 0x19f9, 0x1357: 0x1a01,
- 0x1358: 0x1a09, 0x1359: 0x1a11, 0x135a: 0x1a19, 0x135b: 0x1a21, 0x135c: 0x1a29, 0x135d: 0x1a31,
- 0x135e: 0x1a3a, 0x135f: 0x1a42, 0x1360: 0x1a4a, 0x1361: 0x1a52, 0x1362: 0x1a5a, 0x1363: 0x1a62,
- 0x1364: 0x1a69, 0x1365: 0x1a71, 0x1366: 0x1761, 0x1367: 0x1a79, 0x1368: 0x1741, 0x1369: 0x1769,
- 0x136a: 0x1a81, 0x136b: 0x1a89, 0x136c: 0x1789, 0x136d: 0x1a91, 0x136e: 0x1791, 0x136f: 0x1799,
- 0x1370: 0x1a99, 0x1371: 0x1aa1, 0x1372: 0x17b9, 0x1373: 0x1aa9, 0x1374: 0x17c1, 0x1375: 0x17c9,
- 0x1376: 0x1ab1, 0x1377: 0x1ab9, 0x1378: 0x17d9, 0x1379: 0x1ac1, 0x137a: 0x17e1, 0x137b: 0x17e9,
- 0x137c: 0x18d1, 0x137d: 0x18d9, 0x137e: 0x18f1, 0x137f: 0x18f9,
- // Block 0x4e, offset 0x1380
- 0x1380: 0x1901, 0x1381: 0x1921, 0x1382: 0x1929, 0x1383: 0x1931, 0x1384: 0x1939, 0x1385: 0x1959,
- 0x1386: 0x1961, 0x1387: 0x1969, 0x1388: 0x1ac9, 0x1389: 0x1989, 0x138a: 0x1ad1, 0x138b: 0x1ad9,
- 0x138c: 0x19b9, 0x138d: 0x1ae1, 0x138e: 0x19c1, 0x138f: 0x19c9, 0x1390: 0x1a31, 0x1391: 0x1ae9,
- 0x1392: 0x1af1, 0x1393: 0x1a09, 0x1394: 0x1af9, 0x1395: 0x1a11, 0x1396: 0x1a19, 0x1397: 0x1751,
- 0x1398: 0x1759, 0x1399: 0x1b01, 0x139a: 0x1761, 0x139b: 0x1b09, 0x139c: 0x1771, 0x139d: 0x1779,
- 0x139e: 0x1781, 0x139f: 0x1789, 0x13a0: 0x1b11, 0x13a1: 0x17a1, 0x13a2: 0x17a9, 0x13a3: 0x17b1,
- 0x13a4: 0x17b9, 0x13a5: 0x1b19, 0x13a6: 0x17d9, 0x13a7: 0x17f1, 0x13a8: 0x17f9, 0x13a9: 0x1801,
- 0x13aa: 0x1809, 0x13ab: 0x1811, 0x13ac: 0x1821, 0x13ad: 0x1829, 0x13ae: 0x1831, 0x13af: 0x1839,
- 0x13b0: 0x1841, 0x13b1: 0x1849, 0x13b2: 0x1b21, 0x13b3: 0x1851, 0x13b4: 0x1859, 0x13b5: 0x1861,
- 0x13b6: 0x1869, 0x13b7: 0x1871, 0x13b8: 0x1879, 0x13b9: 0x1889, 0x13ba: 0x1891, 0x13bb: 0x1899,
- 0x13bc: 0x18a1, 0x13bd: 0x18a9, 0x13be: 0x18b1, 0x13bf: 0x18b9,
- // Block 0x4f, offset 0x13c0
- 0x13c0: 0x18c1, 0x13c1: 0x18c9, 0x13c2: 0x18e1, 0x13c3: 0x18e9, 0x13c4: 0x1909, 0x13c5: 0x1911,
- 0x13c6: 0x1919, 0x13c7: 0x1921, 0x13c8: 0x1929, 0x13c9: 0x1941, 0x13ca: 0x1949, 0x13cb: 0x1951,
- 0x13cc: 0x1959, 0x13cd: 0x1b29, 0x13ce: 0x1971, 0x13cf: 0x1979, 0x13d0: 0x1981, 0x13d1: 0x1989,
- 0x13d2: 0x19a1, 0x13d3: 0x19a9, 0x13d4: 0x19b1, 0x13d5: 0x19b9, 0x13d6: 0x1b31, 0x13d7: 0x19d1,
- 0x13d8: 0x19d9, 0x13d9: 0x1b39, 0x13da: 0x19f1, 0x13db: 0x19f9, 0x13dc: 0x1a01, 0x13dd: 0x1a09,
- 0x13de: 0x1b41, 0x13df: 0x1761, 0x13e0: 0x1b09, 0x13e1: 0x1789, 0x13e2: 0x1b11, 0x13e3: 0x17b9,
- 0x13e4: 0x1b19, 0x13e5: 0x17d9, 0x13e6: 0x1b49, 0x13e7: 0x1841, 0x13e8: 0x1b51, 0x13e9: 0x1b59,
- 0x13ea: 0x1b61, 0x13eb: 0x1921, 0x13ec: 0x1929, 0x13ed: 0x1959, 0x13ee: 0x19b9, 0x13ef: 0x1b31,
- 0x13f0: 0x1a09, 0x13f1: 0x1b41, 0x13f2: 0x1b69, 0x13f3: 0x1b71, 0x13f4: 0x1b79, 0x13f5: 0x1b81,
- 0x13f6: 0x1b89, 0x13f7: 0x1b91, 0x13f8: 0x1b99, 0x13f9: 0x1ba1, 0x13fa: 0x1ba9, 0x13fb: 0x1bb1,
- 0x13fc: 0x1bb9, 0x13fd: 0x1bc1, 0x13fe: 0x1bc9, 0x13ff: 0x1bd1,
- // Block 0x50, offset 0x1400
- 0x1400: 0x1bd9, 0x1401: 0x1be1, 0x1402: 0x1be9, 0x1403: 0x1bf1, 0x1404: 0x1bf9, 0x1405: 0x1c01,
- 0x1406: 0x1c09, 0x1407: 0x1c11, 0x1408: 0x1c19, 0x1409: 0x1c21, 0x140a: 0x1c29, 0x140b: 0x1c31,
- 0x140c: 0x1b59, 0x140d: 0x1c39, 0x140e: 0x1c41, 0x140f: 0x1c49, 0x1410: 0x1c51, 0x1411: 0x1b81,
- 0x1412: 0x1b89, 0x1413: 0x1b91, 0x1414: 0x1b99, 0x1415: 0x1ba1, 0x1416: 0x1ba9, 0x1417: 0x1bb1,
- 0x1418: 0x1bb9, 0x1419: 0x1bc1, 0x141a: 0x1bc9, 0x141b: 0x1bd1, 0x141c: 0x1bd9, 0x141d: 0x1be1,
- 0x141e: 0x1be9, 0x141f: 0x1bf1, 0x1420: 0x1bf9, 0x1421: 0x1c01, 0x1422: 0x1c09, 0x1423: 0x1c11,
- 0x1424: 0x1c19, 0x1425: 0x1c21, 0x1426: 0x1c29, 0x1427: 0x1c31, 0x1428: 0x1b59, 0x1429: 0x1c39,
- 0x142a: 0x1c41, 0x142b: 0x1c49, 0x142c: 0x1c51, 0x142d: 0x1c21, 0x142e: 0x1c29, 0x142f: 0x1c31,
- 0x1430: 0x1b59, 0x1431: 0x1b51, 0x1432: 0x1b61, 0x1433: 0x1881, 0x1434: 0x1829, 0x1435: 0x1831,
- 0x1436: 0x1839, 0x1437: 0x1c21, 0x1438: 0x1c29, 0x1439: 0x1c31, 0x143a: 0x1881, 0x143b: 0x1889,
- 0x143c: 0x1c59, 0x143d: 0x1c59, 0x143e: 0x0018, 0x143f: 0x0018,
- // Block 0x51, offset 0x1440
- 0x1440: 0x0040, 0x1441: 0x0040, 0x1442: 0x0040, 0x1443: 0x0040, 0x1444: 0x0040, 0x1445: 0x0040,
- 0x1446: 0x0040, 0x1447: 0x0040, 0x1448: 0x0040, 0x1449: 0x0040, 0x144a: 0x0040, 0x144b: 0x0040,
- 0x144c: 0x0040, 0x144d: 0x0040, 0x144e: 0x0040, 0x144f: 0x0040, 0x1450: 0x1c61, 0x1451: 0x1c69,
- 0x1452: 0x1c69, 0x1453: 0x1c71, 0x1454: 0x1c79, 0x1455: 0x1c81, 0x1456: 0x1c89, 0x1457: 0x1c91,
- 0x1458: 0x1c99, 0x1459: 0x1c99, 0x145a: 0x1ca1, 0x145b: 0x1ca9, 0x145c: 0x1cb1, 0x145d: 0x1cb9,
- 0x145e: 0x1cc1, 0x145f: 0x1cc9, 0x1460: 0x1cc9, 0x1461: 0x1cd1, 0x1462: 0x1cd9, 0x1463: 0x1cd9,
- 0x1464: 0x1ce1, 0x1465: 0x1ce1, 0x1466: 0x1ce9, 0x1467: 0x1cf1, 0x1468: 0x1cf1, 0x1469: 0x1cf9,
- 0x146a: 0x1d01, 0x146b: 0x1d01, 0x146c: 0x1d09, 0x146d: 0x1d09, 0x146e: 0x1d11, 0x146f: 0x1d19,
- 0x1470: 0x1d19, 0x1471: 0x1d21, 0x1472: 0x1d21, 0x1473: 0x1d29, 0x1474: 0x1d31, 0x1475: 0x1d39,
- 0x1476: 0x1d41, 0x1477: 0x1d41, 0x1478: 0x1d49, 0x1479: 0x1d51, 0x147a: 0x1d59, 0x147b: 0x1d61,
- 0x147c: 0x1d69, 0x147d: 0x1d69, 0x147e: 0x1d71, 0x147f: 0x1d79,
- // Block 0x52, offset 0x1480
- 0x1480: 0x1f29, 0x1481: 0x1f31, 0x1482: 0x1f39, 0x1483: 0x1f11, 0x1484: 0x1d39, 0x1485: 0x1ce9,
- 0x1486: 0x1f41, 0x1487: 0x1f49, 0x1488: 0x0040, 0x1489: 0x0040, 0x148a: 0x0040, 0x148b: 0x0040,
- 0x148c: 0x0040, 0x148d: 0x0040, 0x148e: 0x0040, 0x148f: 0x0040, 0x1490: 0x0040, 0x1491: 0x0040,
- 0x1492: 0x0040, 0x1493: 0x0040, 0x1494: 0x0040, 0x1495: 0x0040, 0x1496: 0x0040, 0x1497: 0x0040,
- 0x1498: 0x0040, 0x1499: 0x0040, 0x149a: 0x0040, 0x149b: 0x0040, 0x149c: 0x0040, 0x149d: 0x0040,
- 0x149e: 0x0040, 0x149f: 0x0040, 0x14a0: 0x0040, 0x14a1: 0x0040, 0x14a2: 0x0040, 0x14a3: 0x0040,
- 0x14a4: 0x0040, 0x14a5: 0x0040, 0x14a6: 0x0040, 0x14a7: 0x0040, 0x14a8: 0x0040, 0x14a9: 0x0040,
- 0x14aa: 0x0040, 0x14ab: 0x0040, 0x14ac: 0x0040, 0x14ad: 0x0040, 0x14ae: 0x0040, 0x14af: 0x0040,
- 0x14b0: 0x1f51, 0x14b1: 0x1f59, 0x14b2: 0x1f61, 0x14b3: 0x1f69, 0x14b4: 0x1f71, 0x14b5: 0x1f79,
- 0x14b6: 0x1f81, 0x14b7: 0x1f89, 0x14b8: 0x1f91, 0x14b9: 0x1f99, 0x14ba: 0x1fa2, 0x14bb: 0x1faa,
- 0x14bc: 0x1fb1, 0x14bd: 0x0018, 0x14be: 0x0040, 0x14bf: 0x0040,
- // Block 0x53, offset 0x14c0
- 0x14c0: 0x33c0, 0x14c1: 0x33c0, 0x14c2: 0x33c0, 0x14c3: 0x33c0, 0x14c4: 0x33c0, 0x14c5: 0x33c0,
- 0x14c6: 0x33c0, 0x14c7: 0x33c0, 0x14c8: 0x33c0, 0x14c9: 0x33c0, 0x14ca: 0x33c0, 0x14cb: 0x33c0,
- 0x14cc: 0x33c0, 0x14cd: 0x33c0, 0x14ce: 0x33c0, 0x14cf: 0x33c0, 0x14d0: 0x1fba, 0x14d1: 0x7d8d,
- 0x14d2: 0x0040, 0x14d3: 0x1fc2, 0x14d4: 0x0122, 0x14d5: 0x1fca, 0x14d6: 0x1fd2, 0x14d7: 0x7dad,
- 0x14d8: 0x7dcd, 0x14d9: 0x0040, 0x14da: 0x0040, 0x14db: 0x0040, 0x14dc: 0x0040, 0x14dd: 0x0040,
- 0x14de: 0x0040, 0x14df: 0x0040, 0x14e0: 0x3308, 0x14e1: 0x3308, 0x14e2: 0x3308, 0x14e3: 0x3308,
- 0x14e4: 0x3308, 0x14e5: 0x3308, 0x14e6: 0x3308, 0x14e7: 0x3308, 0x14e8: 0x3308, 0x14e9: 0x3308,
- 0x14ea: 0x3308, 0x14eb: 0x3308, 0x14ec: 0x3308, 0x14ed: 0x3308, 0x14ee: 0x3308, 0x14ef: 0x3308,
- 0x14f0: 0x0040, 0x14f1: 0x7ded, 0x14f2: 0x7e0d, 0x14f3: 0x1fda, 0x14f4: 0x1fda, 0x14f5: 0x072a,
- 0x14f6: 0x0732, 0x14f7: 0x1fe2, 0x14f8: 0x1fea, 0x14f9: 0x7e2d, 0x14fa: 0x7e4d, 0x14fb: 0x7e6d,
- 0x14fc: 0x7e2d, 0x14fd: 0x7e8d, 0x14fe: 0x7ead, 0x14ff: 0x7e8d,
- // Block 0x54, offset 0x1500
- 0x1500: 0x7ecd, 0x1501: 0x7eed, 0x1502: 0x7f0d, 0x1503: 0x7eed, 0x1504: 0x7f2d, 0x1505: 0x0018,
- 0x1506: 0x0018, 0x1507: 0x1ff2, 0x1508: 0x1ffa, 0x1509: 0x7f4e, 0x150a: 0x7f6e, 0x150b: 0x7f8e,
- 0x150c: 0x7fae, 0x150d: 0x1fda, 0x150e: 0x1fda, 0x150f: 0x1fda, 0x1510: 0x1fba, 0x1511: 0x7fcd,
- 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0122, 0x1515: 0x1fc2, 0x1516: 0x1fd2, 0x1517: 0x1fca,
- 0x1518: 0x7fed, 0x1519: 0x072a, 0x151a: 0x0732, 0x151b: 0x1fe2, 0x151c: 0x1fea, 0x151d: 0x7ecd,
- 0x151e: 0x7f2d, 0x151f: 0x2002, 0x1520: 0x200a, 0x1521: 0x2012, 0x1522: 0x071a, 0x1523: 0x2019,
- 0x1524: 0x2022, 0x1525: 0x202a, 0x1526: 0x0722, 0x1527: 0x0040, 0x1528: 0x2032, 0x1529: 0x203a,
- 0x152a: 0x2042, 0x152b: 0x204a, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,
- 0x1530: 0x800e, 0x1531: 0x2051, 0x1532: 0x802e, 0x1533: 0x0808, 0x1534: 0x804e, 0x1535: 0x0040,
- 0x1536: 0x806e, 0x1537: 0x2059, 0x1538: 0x808e, 0x1539: 0x2061, 0x153a: 0x80ae, 0x153b: 0x2069,
- 0x153c: 0x80ce, 0x153d: 0x2071, 0x153e: 0x80ee, 0x153f: 0x2079,
- // Block 0x55, offset 0x1540
- 0x1540: 0x2081, 0x1541: 0x2089, 0x1542: 0x2089, 0x1543: 0x2091, 0x1544: 0x2091, 0x1545: 0x2099,
- 0x1546: 0x2099, 0x1547: 0x20a1, 0x1548: 0x20a1, 0x1549: 0x20a9, 0x154a: 0x20a9, 0x154b: 0x20a9,
- 0x154c: 0x20a9, 0x154d: 0x20b1, 0x154e: 0x20b1, 0x154f: 0x20b9, 0x1550: 0x20b9, 0x1551: 0x20b9,
- 0x1552: 0x20b9, 0x1553: 0x20c1, 0x1554: 0x20c1, 0x1555: 0x20c9, 0x1556: 0x20c9, 0x1557: 0x20c9,
- 0x1558: 0x20c9, 0x1559: 0x20d1, 0x155a: 0x20d1, 0x155b: 0x20d1, 0x155c: 0x20d1, 0x155d: 0x20d9,
- 0x155e: 0x20d9, 0x155f: 0x20d9, 0x1560: 0x20d9, 0x1561: 0x20e1, 0x1562: 0x20e1, 0x1563: 0x20e1,
- 0x1564: 0x20e1, 0x1565: 0x20e9, 0x1566: 0x20e9, 0x1567: 0x20e9, 0x1568: 0x20e9, 0x1569: 0x20f1,
- 0x156a: 0x20f1, 0x156b: 0x20f9, 0x156c: 0x20f9, 0x156d: 0x2101, 0x156e: 0x2101, 0x156f: 0x2109,
- 0x1570: 0x2109, 0x1571: 0x2111, 0x1572: 0x2111, 0x1573: 0x2111, 0x1574: 0x2111, 0x1575: 0x2119,
- 0x1576: 0x2119, 0x1577: 0x2119, 0x1578: 0x2119, 0x1579: 0x2121, 0x157a: 0x2121, 0x157b: 0x2121,
- 0x157c: 0x2121, 0x157d: 0x2129, 0x157e: 0x2129, 0x157f: 0x2129,
- // Block 0x56, offset 0x1580
- 0x1580: 0x2129, 0x1581: 0x2131, 0x1582: 0x2131, 0x1583: 0x2131, 0x1584: 0x2131, 0x1585: 0x2139,
- 0x1586: 0x2139, 0x1587: 0x2139, 0x1588: 0x2139, 0x1589: 0x2141, 0x158a: 0x2141, 0x158b: 0x2141,
- 0x158c: 0x2141, 0x158d: 0x2149, 0x158e: 0x2149, 0x158f: 0x2149, 0x1590: 0x2149, 0x1591: 0x2151,
- 0x1592: 0x2151, 0x1593: 0x2151, 0x1594: 0x2151, 0x1595: 0x2159, 0x1596: 0x2159, 0x1597: 0x2159,
- 0x1598: 0x2159, 0x1599: 0x2161, 0x159a: 0x2161, 0x159b: 0x2161, 0x159c: 0x2161, 0x159d: 0x2169,
- 0x159e: 0x2169, 0x159f: 0x2169, 0x15a0: 0x2169, 0x15a1: 0x2171, 0x15a2: 0x2171, 0x15a3: 0x2171,
- 0x15a4: 0x2171, 0x15a5: 0x2179, 0x15a6: 0x2179, 0x15a7: 0x2179, 0x15a8: 0x2179, 0x15a9: 0x2181,
- 0x15aa: 0x2181, 0x15ab: 0x2181, 0x15ac: 0x2181, 0x15ad: 0x2189, 0x15ae: 0x2189, 0x15af: 0x1701,
- 0x15b0: 0x1701, 0x15b1: 0x2191, 0x15b2: 0x2191, 0x15b3: 0x2191, 0x15b4: 0x2191, 0x15b5: 0x2199,
- 0x15b6: 0x2199, 0x15b7: 0x21a1, 0x15b8: 0x21a1, 0x15b9: 0x21a9, 0x15ba: 0x21a9, 0x15bb: 0x21b1,
- 0x15bc: 0x21b1, 0x15bd: 0x0040, 0x15be: 0x0040, 0x15bf: 0x03c0,
- // Block 0x57, offset 0x15c0
- 0x15c0: 0x0040, 0x15c1: 0x1fca, 0x15c2: 0x21ba, 0x15c3: 0x2002, 0x15c4: 0x203a, 0x15c5: 0x2042,
- 0x15c6: 0x200a, 0x15c7: 0x21c2, 0x15c8: 0x072a, 0x15c9: 0x0732, 0x15ca: 0x2012, 0x15cb: 0x071a,
- 0x15cc: 0x1fba, 0x15cd: 0x2019, 0x15ce: 0x0961, 0x15cf: 0x21ca, 0x15d0: 0x06e1, 0x15d1: 0x0049,
- 0x15d2: 0x0029, 0x15d3: 0x0031, 0x15d4: 0x06e9, 0x15d5: 0x06f1, 0x15d6: 0x06f9, 0x15d7: 0x0701,
- 0x15d8: 0x0709, 0x15d9: 0x0711, 0x15da: 0x1fc2, 0x15db: 0x0122, 0x15dc: 0x2022, 0x15dd: 0x0722,
- 0x15de: 0x202a, 0x15df: 0x1fd2, 0x15e0: 0x204a, 0x15e1: 0x0019, 0x15e2: 0x02e9, 0x15e3: 0x03d9,
- 0x15e4: 0x02f1, 0x15e5: 0x02f9, 0x15e6: 0x03f1, 0x15e7: 0x0309, 0x15e8: 0x00a9, 0x15e9: 0x0311,
- 0x15ea: 0x00b1, 0x15eb: 0x0319, 0x15ec: 0x0101, 0x15ed: 0x0321, 0x15ee: 0x0329, 0x15ef: 0x0051,
- 0x15f0: 0x0339, 0x15f1: 0x0751, 0x15f2: 0x00b9, 0x15f3: 0x0089, 0x15f4: 0x0341, 0x15f5: 0x0349,
- 0x15f6: 0x0391, 0x15f7: 0x00c1, 0x15f8: 0x0109, 0x15f9: 0x00c9, 0x15fa: 0x04b1, 0x15fb: 0x1ff2,
- 0x15fc: 0x2032, 0x15fd: 0x1ffa, 0x15fe: 0x21d2, 0x15ff: 0x1fda,
- // Block 0x58, offset 0x1600
- 0x1600: 0x0672, 0x1601: 0x0019, 0x1602: 0x02e9, 0x1603: 0x03d9, 0x1604: 0x02f1, 0x1605: 0x02f9,
- 0x1606: 0x03f1, 0x1607: 0x0309, 0x1608: 0x00a9, 0x1609: 0x0311, 0x160a: 0x00b1, 0x160b: 0x0319,
- 0x160c: 0x0101, 0x160d: 0x0321, 0x160e: 0x0329, 0x160f: 0x0051, 0x1610: 0x0339, 0x1611: 0x0751,
- 0x1612: 0x00b9, 0x1613: 0x0089, 0x1614: 0x0341, 0x1615: 0x0349, 0x1616: 0x0391, 0x1617: 0x00c1,
- 0x1618: 0x0109, 0x1619: 0x00c9, 0x161a: 0x04b1, 0x161b: 0x1fe2, 0x161c: 0x21da, 0x161d: 0x1fea,
- 0x161e: 0x21e2, 0x161f: 0x810d, 0x1620: 0x812d, 0x1621: 0x0961, 0x1622: 0x814d, 0x1623: 0x814d,
- 0x1624: 0x816d, 0x1625: 0x818d, 0x1626: 0x81ad, 0x1627: 0x81cd, 0x1628: 0x81ed, 0x1629: 0x820d,
- 0x162a: 0x822d, 0x162b: 0x824d, 0x162c: 0x826d, 0x162d: 0x828d, 0x162e: 0x82ad, 0x162f: 0x82cd,
- 0x1630: 0x82ed, 0x1631: 0x830d, 0x1632: 0x832d, 0x1633: 0x834d, 0x1634: 0x836d, 0x1635: 0x838d,
- 0x1636: 0x83ad, 0x1637: 0x83cd, 0x1638: 0x83ed, 0x1639: 0x840d, 0x163a: 0x842d, 0x163b: 0x844d,
- 0x163c: 0x81ed, 0x163d: 0x846d, 0x163e: 0x848d, 0x163f: 0x824d,
- // Block 0x59, offset 0x1640
- 0x1640: 0x84ad, 0x1641: 0x84cd, 0x1642: 0x84ed, 0x1643: 0x850d, 0x1644: 0x852d, 0x1645: 0x854d,
- 0x1646: 0x856d, 0x1647: 0x858d, 0x1648: 0x850d, 0x1649: 0x85ad, 0x164a: 0x850d, 0x164b: 0x85cd,
- 0x164c: 0x85cd, 0x164d: 0x85ed, 0x164e: 0x85ed, 0x164f: 0x860d, 0x1650: 0x854d, 0x1651: 0x862d,
- 0x1652: 0x864d, 0x1653: 0x862d, 0x1654: 0x866d, 0x1655: 0x864d, 0x1656: 0x868d, 0x1657: 0x868d,
- 0x1658: 0x86ad, 0x1659: 0x86ad, 0x165a: 0x86cd, 0x165b: 0x86cd, 0x165c: 0x864d, 0x165d: 0x814d,
- 0x165e: 0x86ed, 0x165f: 0x870d, 0x1660: 0x0040, 0x1661: 0x872d, 0x1662: 0x874d, 0x1663: 0x876d,
- 0x1664: 0x878d, 0x1665: 0x876d, 0x1666: 0x87ad, 0x1667: 0x87cd, 0x1668: 0x87ed, 0x1669: 0x87ed,
- 0x166a: 0x880d, 0x166b: 0x880d, 0x166c: 0x882d, 0x166d: 0x882d, 0x166e: 0x880d, 0x166f: 0x880d,
- 0x1670: 0x884d, 0x1671: 0x886d, 0x1672: 0x888d, 0x1673: 0x88ad, 0x1674: 0x88cd, 0x1675: 0x88ed,
- 0x1676: 0x88ed, 0x1677: 0x88ed, 0x1678: 0x890d, 0x1679: 0x890d, 0x167a: 0x890d, 0x167b: 0x890d,
- 0x167c: 0x87ed, 0x167d: 0x87ed, 0x167e: 0x87ed, 0x167f: 0x0040,
- // Block 0x5a, offset 0x1680
- 0x1680: 0x0040, 0x1681: 0x0040, 0x1682: 0x874d, 0x1683: 0x872d, 0x1684: 0x892d, 0x1685: 0x872d,
- 0x1686: 0x874d, 0x1687: 0x872d, 0x1688: 0x0040, 0x1689: 0x0040, 0x168a: 0x894d, 0x168b: 0x874d,
- 0x168c: 0x896d, 0x168d: 0x892d, 0x168e: 0x896d, 0x168f: 0x874d, 0x1690: 0x0040, 0x1691: 0x0040,
- 0x1692: 0x898d, 0x1693: 0x89ad, 0x1694: 0x88ad, 0x1695: 0x896d, 0x1696: 0x892d, 0x1697: 0x896d,
- 0x1698: 0x0040, 0x1699: 0x0040, 0x169a: 0x89cd, 0x169b: 0x89ed, 0x169c: 0x89cd, 0x169d: 0x0040,
- 0x169e: 0x0040, 0x169f: 0x0040, 0x16a0: 0x21e9, 0x16a1: 0x21f1, 0x16a2: 0x21f9, 0x16a3: 0x8a0e,
- 0x16a4: 0x2201, 0x16a5: 0x2209, 0x16a6: 0x8a2d, 0x16a7: 0x0040, 0x16a8: 0x8a4d, 0x16a9: 0x8a6d,
- 0x16aa: 0x8a8d, 0x16ab: 0x8a6d, 0x16ac: 0x8aad, 0x16ad: 0x8acd, 0x16ae: 0x8aed, 0x16af: 0x0040,
- 0x16b0: 0x0040, 0x16b1: 0x0040, 0x16b2: 0x0040, 0x16b3: 0x0040, 0x16b4: 0x0040, 0x16b5: 0x0040,
- 0x16b6: 0x0040, 0x16b7: 0x0040, 0x16b8: 0x0040, 0x16b9: 0x0340, 0x16ba: 0x0340, 0x16bb: 0x0340,
- 0x16bc: 0x0040, 0x16bd: 0x0040, 0x16be: 0x0040, 0x16bf: 0x0040,
- // Block 0x5b, offset 0x16c0
- 0x16c0: 0x0a08, 0x16c1: 0x0a08, 0x16c2: 0x0a08, 0x16c3: 0x0a08, 0x16c4: 0x0a08, 0x16c5: 0x0c08,
- 0x16c6: 0x0808, 0x16c7: 0x0c08, 0x16c8: 0x0818, 0x16c9: 0x0c08, 0x16ca: 0x0c08, 0x16cb: 0x0808,
- 0x16cc: 0x0808, 0x16cd: 0x0908, 0x16ce: 0x0c08, 0x16cf: 0x0c08, 0x16d0: 0x0c08, 0x16d1: 0x0c08,
- 0x16d2: 0x0c08, 0x16d3: 0x0a08, 0x16d4: 0x0a08, 0x16d5: 0x0a08, 0x16d6: 0x0a08, 0x16d7: 0x0908,
- 0x16d8: 0x0a08, 0x16d9: 0x0a08, 0x16da: 0x0a08, 0x16db: 0x0a08, 0x16dc: 0x0a08, 0x16dd: 0x0c08,
- 0x16de: 0x0a08, 0x16df: 0x0a08, 0x16e0: 0x0a08, 0x16e1: 0x0c08, 0x16e2: 0x0808, 0x16e3: 0x0808,
- 0x16e4: 0x0c08, 0x16e5: 0x3308, 0x16e6: 0x3308, 0x16e7: 0x0040, 0x16e8: 0x0040, 0x16e9: 0x0040,
- 0x16ea: 0x0040, 0x16eb: 0x0a18, 0x16ec: 0x0a18, 0x16ed: 0x0a18, 0x16ee: 0x0a18, 0x16ef: 0x0c18,
- 0x16f0: 0x0818, 0x16f1: 0x0818, 0x16f2: 0x0818, 0x16f3: 0x0818, 0x16f4: 0x0818, 0x16f5: 0x0818,
- 0x16f6: 0x0818, 0x16f7: 0x0040, 0x16f8: 0x0040, 0x16f9: 0x0040, 0x16fa: 0x0040, 0x16fb: 0x0040,
- 0x16fc: 0x0040, 0x16fd: 0x0040, 0x16fe: 0x0040, 0x16ff: 0x0040,
- // Block 0x5c, offset 0x1700
- 0x1700: 0x0a08, 0x1701: 0x0c08, 0x1702: 0x0a08, 0x1703: 0x0c08, 0x1704: 0x0c08, 0x1705: 0x0c08,
- 0x1706: 0x0a08, 0x1707: 0x0a08, 0x1708: 0x0a08, 0x1709: 0x0c08, 0x170a: 0x0a08, 0x170b: 0x0a08,
- 0x170c: 0x0c08, 0x170d: 0x0a08, 0x170e: 0x0c08, 0x170f: 0x0c08, 0x1710: 0x0a08, 0x1711: 0x0c08,
- 0x1712: 0x0040, 0x1713: 0x0040, 0x1714: 0x0040, 0x1715: 0x0040, 0x1716: 0x0040, 0x1717: 0x0040,
- 0x1718: 0x0040, 0x1719: 0x0818, 0x171a: 0x0818, 0x171b: 0x0818, 0x171c: 0x0818, 0x171d: 0x0040,
- 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0x0040, 0x1721: 0x0040, 0x1722: 0x0040, 0x1723: 0x0040,
- 0x1724: 0x0040, 0x1725: 0x0040, 0x1726: 0x0040, 0x1727: 0x0040, 0x1728: 0x0040, 0x1729: 0x0c18,
- 0x172a: 0x0c18, 0x172b: 0x0c18, 0x172c: 0x0c18, 0x172d: 0x0a18, 0x172e: 0x0a18, 0x172f: 0x0818,
- 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040,
- 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0040, 0x173a: 0x0040, 0x173b: 0x0040,
- 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,
- // Block 0x5d, offset 0x1740
- 0x1740: 0x3308, 0x1741: 0x3308, 0x1742: 0x3008, 0x1743: 0x3008, 0x1744: 0x0040, 0x1745: 0x0008,
- 0x1746: 0x0008, 0x1747: 0x0008, 0x1748: 0x0008, 0x1749: 0x0008, 0x174a: 0x0008, 0x174b: 0x0008,
- 0x174c: 0x0008, 0x174d: 0x0040, 0x174e: 0x0040, 0x174f: 0x0008, 0x1750: 0x0008, 0x1751: 0x0040,
- 0x1752: 0x0040, 0x1753: 0x0008, 0x1754: 0x0008, 0x1755: 0x0008, 0x1756: 0x0008, 0x1757: 0x0008,
- 0x1758: 0x0008, 0x1759: 0x0008, 0x175a: 0x0008, 0x175b: 0x0008, 0x175c: 0x0008, 0x175d: 0x0008,
- 0x175e: 0x0008, 0x175f: 0x0008, 0x1760: 0x0008, 0x1761: 0x0008, 0x1762: 0x0008, 0x1763: 0x0008,
- 0x1764: 0x0008, 0x1765: 0x0008, 0x1766: 0x0008, 0x1767: 0x0008, 0x1768: 0x0008, 0x1769: 0x0040,
- 0x176a: 0x0008, 0x176b: 0x0008, 0x176c: 0x0008, 0x176d: 0x0008, 0x176e: 0x0008, 0x176f: 0x0008,
- 0x1770: 0x0008, 0x1771: 0x0040, 0x1772: 0x0008, 0x1773: 0x0008, 0x1774: 0x0040, 0x1775: 0x0008,
- 0x1776: 0x0008, 0x1777: 0x0008, 0x1778: 0x0008, 0x1779: 0x0008, 0x177a: 0x0040, 0x177b: 0x3308,
- 0x177c: 0x3308, 0x177d: 0x0008, 0x177e: 0x3008, 0x177f: 0x3008,
- // Block 0x5e, offset 0x1780
- 0x1780: 0x3308, 0x1781: 0x3008, 0x1782: 0x3008, 0x1783: 0x3008, 0x1784: 0x3008, 0x1785: 0x0040,
- 0x1786: 0x0040, 0x1787: 0x3008, 0x1788: 0x3008, 0x1789: 0x0040, 0x178a: 0x0040, 0x178b: 0x3008,
- 0x178c: 0x3008, 0x178d: 0x3808, 0x178e: 0x0040, 0x178f: 0x0040, 0x1790: 0x0008, 0x1791: 0x0040,
- 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x3008,
- 0x1798: 0x0040, 0x1799: 0x0040, 0x179a: 0x0040, 0x179b: 0x0040, 0x179c: 0x0040, 0x179d: 0x0008,
- 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x3008, 0x17a3: 0x3008,
- 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x3308, 0x17a7: 0x3308, 0x17a8: 0x3308, 0x17a9: 0x3308,
- 0x17aa: 0x3308, 0x17ab: 0x3308, 0x17ac: 0x3308, 0x17ad: 0x0040, 0x17ae: 0x0040, 0x17af: 0x0040,
- 0x17b0: 0x3308, 0x17b1: 0x3308, 0x17b2: 0x3308, 0x17b3: 0x3308, 0x17b4: 0x3308, 0x17b5: 0x0040,
- 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040,
- 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040,
- // Block 0x5f, offset 0x17c0
- 0x17c0: 0x0008, 0x17c1: 0x0008, 0x17c2: 0x0008, 0x17c3: 0x0008, 0x17c4: 0x0008, 0x17c5: 0x0008,
- 0x17c6: 0x0008, 0x17c7: 0x0040, 0x17c8: 0x0040, 0x17c9: 0x0008, 0x17ca: 0x0040, 0x17cb: 0x0040,
- 0x17cc: 0x0008, 0x17cd: 0x0008, 0x17ce: 0x0008, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0008,
- 0x17d2: 0x0008, 0x17d3: 0x0008, 0x17d4: 0x0040, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0040,
- 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008,
- 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008,
- 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0008,
- 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008,
- 0x17f0: 0x3008, 0x17f1: 0x3008, 0x17f2: 0x3008, 0x17f3: 0x3008, 0x17f4: 0x3008, 0x17f5: 0x3008,
- 0x17f6: 0x0040, 0x17f7: 0x3008, 0x17f8: 0x3008, 0x17f9: 0x0040, 0x17fa: 0x0040, 0x17fb: 0x3308,
- 0x17fc: 0x3308, 0x17fd: 0x3808, 0x17fe: 0x3b08, 0x17ff: 0x0008,
- // Block 0x60, offset 0x1800
- 0x1800: 0x0019, 0x1801: 0x02e9, 0x1802: 0x03d9, 0x1803: 0x02f1, 0x1804: 0x02f9, 0x1805: 0x03f1,
- 0x1806: 0x0309, 0x1807: 0x00a9, 0x1808: 0x0311, 0x1809: 0x00b1, 0x180a: 0x0319, 0x180b: 0x0101,
- 0x180c: 0x0321, 0x180d: 0x0329, 0x180e: 0x0051, 0x180f: 0x0339, 0x1810: 0x0751, 0x1811: 0x00b9,
- 0x1812: 0x0089, 0x1813: 0x0341, 0x1814: 0x0349, 0x1815: 0x0391, 0x1816: 0x00c1, 0x1817: 0x0109,
- 0x1818: 0x00c9, 0x1819: 0x04b1, 0x181a: 0x0019, 0x181b: 0x02e9, 0x181c: 0x03d9, 0x181d: 0x02f1,
- 0x181e: 0x02f9, 0x181f: 0x03f1, 0x1820: 0x0309, 0x1821: 0x00a9, 0x1822: 0x0311, 0x1823: 0x00b1,
- 0x1824: 0x0319, 0x1825: 0x0101, 0x1826: 0x0321, 0x1827: 0x0329, 0x1828: 0x0051, 0x1829: 0x0339,
- 0x182a: 0x0751, 0x182b: 0x00b9, 0x182c: 0x0089, 0x182d: 0x0341, 0x182e: 0x0349, 0x182f: 0x0391,
- 0x1830: 0x00c1, 0x1831: 0x0109, 0x1832: 0x00c9, 0x1833: 0x04b1, 0x1834: 0x0019, 0x1835: 0x02e9,
- 0x1836: 0x03d9, 0x1837: 0x02f1, 0x1838: 0x02f9, 0x1839: 0x03f1, 0x183a: 0x0309, 0x183b: 0x00a9,
- 0x183c: 0x0311, 0x183d: 0x00b1, 0x183e: 0x0319, 0x183f: 0x0101,
- // Block 0x61, offset 0x1840
- 0x1840: 0x0321, 0x1841: 0x0329, 0x1842: 0x0051, 0x1843: 0x0339, 0x1844: 0x0751, 0x1845: 0x00b9,
- 0x1846: 0x0089, 0x1847: 0x0341, 0x1848: 0x0349, 0x1849: 0x0391, 0x184a: 0x00c1, 0x184b: 0x0109,
- 0x184c: 0x00c9, 0x184d: 0x04b1, 0x184e: 0x0019, 0x184f: 0x02e9, 0x1850: 0x03d9, 0x1851: 0x02f1,
- 0x1852: 0x02f9, 0x1853: 0x03f1, 0x1854: 0x0309, 0x1855: 0x0040, 0x1856: 0x0311, 0x1857: 0x00b1,
- 0x1858: 0x0319, 0x1859: 0x0101, 0x185a: 0x0321, 0x185b: 0x0329, 0x185c: 0x0051, 0x185d: 0x0339,
- 0x185e: 0x0751, 0x185f: 0x00b9, 0x1860: 0x0089, 0x1861: 0x0341, 0x1862: 0x0349, 0x1863: 0x0391,
- 0x1864: 0x00c1, 0x1865: 0x0109, 0x1866: 0x00c9, 0x1867: 0x04b1, 0x1868: 0x0019, 0x1869: 0x02e9,
- 0x186a: 0x03d9, 0x186b: 0x02f1, 0x186c: 0x02f9, 0x186d: 0x03f1, 0x186e: 0x0309, 0x186f: 0x00a9,
- 0x1870: 0x0311, 0x1871: 0x00b1, 0x1872: 0x0319, 0x1873: 0x0101, 0x1874: 0x0321, 0x1875: 0x0329,
- 0x1876: 0x0051, 0x1877: 0x0339, 0x1878: 0x0751, 0x1879: 0x00b9, 0x187a: 0x0089, 0x187b: 0x0341,
- 0x187c: 0x0349, 0x187d: 0x0391, 0x187e: 0x00c1, 0x187f: 0x0109,
- // Block 0x62, offset 0x1880
- 0x1880: 0x00c9, 0x1881: 0x04b1, 0x1882: 0x0019, 0x1883: 0x02e9, 0x1884: 0x03d9, 0x1885: 0x02f1,
- 0x1886: 0x02f9, 0x1887: 0x03f1, 0x1888: 0x0309, 0x1889: 0x00a9, 0x188a: 0x0311, 0x188b: 0x00b1,
- 0x188c: 0x0319, 0x188d: 0x0101, 0x188e: 0x0321, 0x188f: 0x0329, 0x1890: 0x0051, 0x1891: 0x0339,
- 0x1892: 0x0751, 0x1893: 0x00b9, 0x1894: 0x0089, 0x1895: 0x0341, 0x1896: 0x0349, 0x1897: 0x0391,
- 0x1898: 0x00c1, 0x1899: 0x0109, 0x189a: 0x00c9, 0x189b: 0x04b1, 0x189c: 0x0019, 0x189d: 0x0040,
- 0x189e: 0x03d9, 0x189f: 0x02f1, 0x18a0: 0x0040, 0x18a1: 0x0040, 0x18a2: 0x0309, 0x18a3: 0x0040,
- 0x18a4: 0x0040, 0x18a5: 0x00b1, 0x18a6: 0x0319, 0x18a7: 0x0040, 0x18a8: 0x0040, 0x18a9: 0x0329,
- 0x18aa: 0x0051, 0x18ab: 0x0339, 0x18ac: 0x0751, 0x18ad: 0x0040, 0x18ae: 0x0089, 0x18af: 0x0341,
- 0x18b0: 0x0349, 0x18b1: 0x0391, 0x18b2: 0x00c1, 0x18b3: 0x0109, 0x18b4: 0x00c9, 0x18b5: 0x04b1,
- 0x18b6: 0x0019, 0x18b7: 0x02e9, 0x18b8: 0x03d9, 0x18b9: 0x02f1, 0x18ba: 0x0040, 0x18bb: 0x03f1,
- 0x18bc: 0x0040, 0x18bd: 0x00a9, 0x18be: 0x0311, 0x18bf: 0x00b1,
- // Block 0x63, offset 0x18c0
- 0x18c0: 0x0319, 0x18c1: 0x0101, 0x18c2: 0x0321, 0x18c3: 0x0329, 0x18c4: 0x0040, 0x18c5: 0x0339,
- 0x18c6: 0x0751, 0x18c7: 0x00b9, 0x18c8: 0x0089, 0x18c9: 0x0341, 0x18ca: 0x0349, 0x18cb: 0x0391,
- 0x18cc: 0x00c1, 0x18cd: 0x0109, 0x18ce: 0x00c9, 0x18cf: 0x04b1, 0x18d0: 0x0019, 0x18d1: 0x02e9,
- 0x18d2: 0x03d9, 0x18d3: 0x02f1, 0x18d4: 0x02f9, 0x18d5: 0x03f1, 0x18d6: 0x0309, 0x18d7: 0x00a9,
- 0x18d8: 0x0311, 0x18d9: 0x00b1, 0x18da: 0x0319, 0x18db: 0x0101, 0x18dc: 0x0321, 0x18dd: 0x0329,
- 0x18de: 0x0051, 0x18df: 0x0339, 0x18e0: 0x0751, 0x18e1: 0x00b9, 0x18e2: 0x0089, 0x18e3: 0x0341,
- 0x18e4: 0x0349, 0x18e5: 0x0391, 0x18e6: 0x00c1, 0x18e7: 0x0109, 0x18e8: 0x00c9, 0x18e9: 0x04b1,
- 0x18ea: 0x0019, 0x18eb: 0x02e9, 0x18ec: 0x03d9, 0x18ed: 0x02f1, 0x18ee: 0x02f9, 0x18ef: 0x03f1,
- 0x18f0: 0x0309, 0x18f1: 0x00a9, 0x18f2: 0x0311, 0x18f3: 0x00b1, 0x18f4: 0x0319, 0x18f5: 0x0101,
- 0x18f6: 0x0321, 0x18f7: 0x0329, 0x18f8: 0x0051, 0x18f9: 0x0339, 0x18fa: 0x0751, 0x18fb: 0x00b9,
- 0x18fc: 0x0089, 0x18fd: 0x0341, 0x18fe: 0x0349, 0x18ff: 0x0391,
- // Block 0x64, offset 0x1900
- 0x1900: 0x00c1, 0x1901: 0x0109, 0x1902: 0x00c9, 0x1903: 0x04b1, 0x1904: 0x0019, 0x1905: 0x02e9,
- 0x1906: 0x0040, 0x1907: 0x02f1, 0x1908: 0x02f9, 0x1909: 0x03f1, 0x190a: 0x0309, 0x190b: 0x0040,
- 0x190c: 0x0040, 0x190d: 0x00b1, 0x190e: 0x0319, 0x190f: 0x0101, 0x1910: 0x0321, 0x1911: 0x0329,
- 0x1912: 0x0051, 0x1913: 0x0339, 0x1914: 0x0751, 0x1915: 0x0040, 0x1916: 0x0089, 0x1917: 0x0341,
- 0x1918: 0x0349, 0x1919: 0x0391, 0x191a: 0x00c1, 0x191b: 0x0109, 0x191c: 0x00c9, 0x191d: 0x0040,
- 0x191e: 0x0019, 0x191f: 0x02e9, 0x1920: 0x03d9, 0x1921: 0x02f1, 0x1922: 0x02f9, 0x1923: 0x03f1,
- 0x1924: 0x0309, 0x1925: 0x00a9, 0x1926: 0x0311, 0x1927: 0x00b1, 0x1928: 0x0319, 0x1929: 0x0101,
- 0x192a: 0x0321, 0x192b: 0x0329, 0x192c: 0x0051, 0x192d: 0x0339, 0x192e: 0x0751, 0x192f: 0x00b9,
- 0x1930: 0x0089, 0x1931: 0x0341, 0x1932: 0x0349, 0x1933: 0x0391, 0x1934: 0x00c1, 0x1935: 0x0109,
- 0x1936: 0x00c9, 0x1937: 0x04b1, 0x1938: 0x0019, 0x1939: 0x02e9, 0x193a: 0x0040, 0x193b: 0x02f1,
- 0x193c: 0x02f9, 0x193d: 0x03f1, 0x193e: 0x0309, 0x193f: 0x0040,
- // Block 0x65, offset 0x1940
- 0x1940: 0x0311, 0x1941: 0x00b1, 0x1942: 0x0319, 0x1943: 0x0101, 0x1944: 0x0321, 0x1945: 0x0040,
- 0x1946: 0x0051, 0x1947: 0x0040, 0x1948: 0x0040, 0x1949: 0x0040, 0x194a: 0x0089, 0x194b: 0x0341,
- 0x194c: 0x0349, 0x194d: 0x0391, 0x194e: 0x00c1, 0x194f: 0x0109, 0x1950: 0x00c9, 0x1951: 0x0040,
- 0x1952: 0x0019, 0x1953: 0x02e9, 0x1954: 0x03d9, 0x1955: 0x02f1, 0x1956: 0x02f9, 0x1957: 0x03f1,
- 0x1958: 0x0309, 0x1959: 0x00a9, 0x195a: 0x0311, 0x195b: 0x00b1, 0x195c: 0x0319, 0x195d: 0x0101,
- 0x195e: 0x0321, 0x195f: 0x0329, 0x1960: 0x0051, 0x1961: 0x0339, 0x1962: 0x0751, 0x1963: 0x00b9,
- 0x1964: 0x0089, 0x1965: 0x0341, 0x1966: 0x0349, 0x1967: 0x0391, 0x1968: 0x00c1, 0x1969: 0x0109,
- 0x196a: 0x00c9, 0x196b: 0x04b1, 0x196c: 0x0019, 0x196d: 0x02e9, 0x196e: 0x03d9, 0x196f: 0x02f1,
- 0x1970: 0x02f9, 0x1971: 0x03f1, 0x1972: 0x0309, 0x1973: 0x00a9, 0x1974: 0x0311, 0x1975: 0x00b1,
- 0x1976: 0x0319, 0x1977: 0x0101, 0x1978: 0x0321, 0x1979: 0x0329, 0x197a: 0x0051, 0x197b: 0x0339,
- 0x197c: 0x0751, 0x197d: 0x00b9, 0x197e: 0x0089, 0x197f: 0x0341,
- // Block 0x66, offset 0x1980
- 0x1980: 0x0349, 0x1981: 0x0391, 0x1982: 0x00c1, 0x1983: 0x0109, 0x1984: 0x00c9, 0x1985: 0x04b1,
- 0x1986: 0x0019, 0x1987: 0x02e9, 0x1988: 0x03d9, 0x1989: 0x02f1, 0x198a: 0x02f9, 0x198b: 0x03f1,
- 0x198c: 0x0309, 0x198d: 0x00a9, 0x198e: 0x0311, 0x198f: 0x00b1, 0x1990: 0x0319, 0x1991: 0x0101,
- 0x1992: 0x0321, 0x1993: 0x0329, 0x1994: 0x0051, 0x1995: 0x0339, 0x1996: 0x0751, 0x1997: 0x00b9,
- 0x1998: 0x0089, 0x1999: 0x0341, 0x199a: 0x0349, 0x199b: 0x0391, 0x199c: 0x00c1, 0x199d: 0x0109,
- 0x199e: 0x00c9, 0x199f: 0x04b1, 0x19a0: 0x0019, 0x19a1: 0x02e9, 0x19a2: 0x03d9, 0x19a3: 0x02f1,
- 0x19a4: 0x02f9, 0x19a5: 0x03f1, 0x19a6: 0x0309, 0x19a7: 0x00a9, 0x19a8: 0x0311, 0x19a9: 0x00b1,
- 0x19aa: 0x0319, 0x19ab: 0x0101, 0x19ac: 0x0321, 0x19ad: 0x0329, 0x19ae: 0x0051, 0x19af: 0x0339,
- 0x19b0: 0x0751, 0x19b1: 0x00b9, 0x19b2: 0x0089, 0x19b3: 0x0341, 0x19b4: 0x0349, 0x19b5: 0x0391,
- 0x19b6: 0x00c1, 0x19b7: 0x0109, 0x19b8: 0x00c9, 0x19b9: 0x04b1, 0x19ba: 0x0019, 0x19bb: 0x02e9,
- 0x19bc: 0x03d9, 0x19bd: 0x02f1, 0x19be: 0x02f9, 0x19bf: 0x03f1,
- // Block 0x67, offset 0x19c0
- 0x19c0: 0x0309, 0x19c1: 0x00a9, 0x19c2: 0x0311, 0x19c3: 0x00b1, 0x19c4: 0x0319, 0x19c5: 0x0101,
- 0x19c6: 0x0321, 0x19c7: 0x0329, 0x19c8: 0x0051, 0x19c9: 0x0339, 0x19ca: 0x0751, 0x19cb: 0x00b9,
- 0x19cc: 0x0089, 0x19cd: 0x0341, 0x19ce: 0x0349, 0x19cf: 0x0391, 0x19d0: 0x00c1, 0x19d1: 0x0109,
- 0x19d2: 0x00c9, 0x19d3: 0x04b1, 0x19d4: 0x0019, 0x19d5: 0x02e9, 0x19d6: 0x03d9, 0x19d7: 0x02f1,
- 0x19d8: 0x02f9, 0x19d9: 0x03f1, 0x19da: 0x0309, 0x19db: 0x00a9, 0x19dc: 0x0311, 0x19dd: 0x00b1,
- 0x19de: 0x0319, 0x19df: 0x0101, 0x19e0: 0x0321, 0x19e1: 0x0329, 0x19e2: 0x0051, 0x19e3: 0x0339,
- 0x19e4: 0x0751, 0x19e5: 0x00b9, 0x19e6: 0x0089, 0x19e7: 0x0341, 0x19e8: 0x0349, 0x19e9: 0x0391,
- 0x19ea: 0x00c1, 0x19eb: 0x0109, 0x19ec: 0x00c9, 0x19ed: 0x04b1, 0x19ee: 0x0019, 0x19ef: 0x02e9,
- 0x19f0: 0x03d9, 0x19f1: 0x02f1, 0x19f2: 0x02f9, 0x19f3: 0x03f1, 0x19f4: 0x0309, 0x19f5: 0x00a9,
- 0x19f6: 0x0311, 0x19f7: 0x00b1, 0x19f8: 0x0319, 0x19f9: 0x0101, 0x19fa: 0x0321, 0x19fb: 0x0329,
- 0x19fc: 0x0051, 0x19fd: 0x0339, 0x19fe: 0x0751, 0x19ff: 0x00b9,
- // Block 0x68, offset 0x1a00
- 0x1a00: 0x0089, 0x1a01: 0x0341, 0x1a02: 0x0349, 0x1a03: 0x0391, 0x1a04: 0x00c1, 0x1a05: 0x0109,
- 0x1a06: 0x00c9, 0x1a07: 0x04b1, 0x1a08: 0x0019, 0x1a09: 0x02e9, 0x1a0a: 0x03d9, 0x1a0b: 0x02f1,
- 0x1a0c: 0x02f9, 0x1a0d: 0x03f1, 0x1a0e: 0x0309, 0x1a0f: 0x00a9, 0x1a10: 0x0311, 0x1a11: 0x00b1,
- 0x1a12: 0x0319, 0x1a13: 0x0101, 0x1a14: 0x0321, 0x1a15: 0x0329, 0x1a16: 0x0051, 0x1a17: 0x0339,
- 0x1a18: 0x0751, 0x1a19: 0x00b9, 0x1a1a: 0x0089, 0x1a1b: 0x0341, 0x1a1c: 0x0349, 0x1a1d: 0x0391,
- 0x1a1e: 0x00c1, 0x1a1f: 0x0109, 0x1a20: 0x00c9, 0x1a21: 0x04b1, 0x1a22: 0x0019, 0x1a23: 0x02e9,
- 0x1a24: 0x03d9, 0x1a25: 0x02f1, 0x1a26: 0x02f9, 0x1a27: 0x03f1, 0x1a28: 0x0309, 0x1a29: 0x00a9,
- 0x1a2a: 0x0311, 0x1a2b: 0x00b1, 0x1a2c: 0x0319, 0x1a2d: 0x0101, 0x1a2e: 0x0321, 0x1a2f: 0x0329,
- 0x1a30: 0x0051, 0x1a31: 0x0339, 0x1a32: 0x0751, 0x1a33: 0x00b9, 0x1a34: 0x0089, 0x1a35: 0x0341,
- 0x1a36: 0x0349, 0x1a37: 0x0391, 0x1a38: 0x00c1, 0x1a39: 0x0109, 0x1a3a: 0x00c9, 0x1a3b: 0x04b1,
- 0x1a3c: 0x0019, 0x1a3d: 0x02e9, 0x1a3e: 0x03d9, 0x1a3f: 0x02f1,
- // Block 0x69, offset 0x1a40
- 0x1a40: 0x02f9, 0x1a41: 0x03f1, 0x1a42: 0x0309, 0x1a43: 0x00a9, 0x1a44: 0x0311, 0x1a45: 0x00b1,
- 0x1a46: 0x0319, 0x1a47: 0x0101, 0x1a48: 0x0321, 0x1a49: 0x0329, 0x1a4a: 0x0051, 0x1a4b: 0x0339,
- 0x1a4c: 0x0751, 0x1a4d: 0x00b9, 0x1a4e: 0x0089, 0x1a4f: 0x0341, 0x1a50: 0x0349, 0x1a51: 0x0391,
- 0x1a52: 0x00c1, 0x1a53: 0x0109, 0x1a54: 0x00c9, 0x1a55: 0x04b1, 0x1a56: 0x0019, 0x1a57: 0x02e9,
- 0x1a58: 0x03d9, 0x1a59: 0x02f1, 0x1a5a: 0x02f9, 0x1a5b: 0x03f1, 0x1a5c: 0x0309, 0x1a5d: 0x00a9,
- 0x1a5e: 0x0311, 0x1a5f: 0x00b1, 0x1a60: 0x0319, 0x1a61: 0x0101, 0x1a62: 0x0321, 0x1a63: 0x0329,
- 0x1a64: 0x0051, 0x1a65: 0x0339, 0x1a66: 0x0751, 0x1a67: 0x00b9, 0x1a68: 0x0089, 0x1a69: 0x0341,
- 0x1a6a: 0x0349, 0x1a6b: 0x0391, 0x1a6c: 0x00c1, 0x1a6d: 0x0109, 0x1a6e: 0x00c9, 0x1a6f: 0x04b1,
- 0x1a70: 0x0019, 0x1a71: 0x02e9, 0x1a72: 0x03d9, 0x1a73: 0x02f1, 0x1a74: 0x02f9, 0x1a75: 0x03f1,
- 0x1a76: 0x0309, 0x1a77: 0x00a9, 0x1a78: 0x0311, 0x1a79: 0x00b1, 0x1a7a: 0x0319, 0x1a7b: 0x0101,
- 0x1a7c: 0x0321, 0x1a7d: 0x0329, 0x1a7e: 0x0051, 0x1a7f: 0x0339,
- // Block 0x6a, offset 0x1a80
- 0x1a80: 0x0751, 0x1a81: 0x00b9, 0x1a82: 0x0089, 0x1a83: 0x0341, 0x1a84: 0x0349, 0x1a85: 0x0391,
- 0x1a86: 0x00c1, 0x1a87: 0x0109, 0x1a88: 0x00c9, 0x1a89: 0x04b1, 0x1a8a: 0x0019, 0x1a8b: 0x02e9,
- 0x1a8c: 0x03d9, 0x1a8d: 0x02f1, 0x1a8e: 0x02f9, 0x1a8f: 0x03f1, 0x1a90: 0x0309, 0x1a91: 0x00a9,
- 0x1a92: 0x0311, 0x1a93: 0x00b1, 0x1a94: 0x0319, 0x1a95: 0x0101, 0x1a96: 0x0321, 0x1a97: 0x0329,
- 0x1a98: 0x0051, 0x1a99: 0x0339, 0x1a9a: 0x0751, 0x1a9b: 0x00b9, 0x1a9c: 0x0089, 0x1a9d: 0x0341,
- 0x1a9e: 0x0349, 0x1a9f: 0x0391, 0x1aa0: 0x00c1, 0x1aa1: 0x0109, 0x1aa2: 0x00c9, 0x1aa3: 0x04b1,
- 0x1aa4: 0x2279, 0x1aa5: 0x2281, 0x1aa6: 0x0040, 0x1aa7: 0x0040, 0x1aa8: 0x2289, 0x1aa9: 0x0399,
- 0x1aaa: 0x03a1, 0x1aab: 0x03a9, 0x1aac: 0x2291, 0x1aad: 0x2299, 0x1aae: 0x22a1, 0x1aaf: 0x04d1,
- 0x1ab0: 0x05f9, 0x1ab1: 0x22a9, 0x1ab2: 0x22b1, 0x1ab3: 0x22b9, 0x1ab4: 0x22c1, 0x1ab5: 0x22c9,
- 0x1ab6: 0x22d1, 0x1ab7: 0x0799, 0x1ab8: 0x03c1, 0x1ab9: 0x04d1, 0x1aba: 0x22d9, 0x1abb: 0x22e1,
- 0x1abc: 0x22e9, 0x1abd: 0x03b1, 0x1abe: 0x03b9, 0x1abf: 0x22f1,
- // Block 0x6b, offset 0x1ac0
- 0x1ac0: 0x0769, 0x1ac1: 0x22f9, 0x1ac2: 0x2289, 0x1ac3: 0x0399, 0x1ac4: 0x03a1, 0x1ac5: 0x03a9,
- 0x1ac6: 0x2291, 0x1ac7: 0x2299, 0x1ac8: 0x22a1, 0x1ac9: 0x04d1, 0x1aca: 0x05f9, 0x1acb: 0x22a9,
- 0x1acc: 0x22b1, 0x1acd: 0x22b9, 0x1ace: 0x22c1, 0x1acf: 0x22c9, 0x1ad0: 0x22d1, 0x1ad1: 0x0799,
- 0x1ad2: 0x03c1, 0x1ad3: 0x22d9, 0x1ad4: 0x22d9, 0x1ad5: 0x22e1, 0x1ad6: 0x22e9, 0x1ad7: 0x03b1,
- 0x1ad8: 0x03b9, 0x1ad9: 0x22f1, 0x1ada: 0x0769, 0x1adb: 0x2301, 0x1adc: 0x2291, 0x1add: 0x04d1,
- 0x1ade: 0x22a9, 0x1adf: 0x03b1, 0x1ae0: 0x03c1, 0x1ae1: 0x0799, 0x1ae2: 0x2289, 0x1ae3: 0x0399,
- 0x1ae4: 0x03a1, 0x1ae5: 0x03a9, 0x1ae6: 0x2291, 0x1ae7: 0x2299, 0x1ae8: 0x22a1, 0x1ae9: 0x04d1,
- 0x1aea: 0x05f9, 0x1aeb: 0x22a9, 0x1aec: 0x22b1, 0x1aed: 0x22b9, 0x1aee: 0x22c1, 0x1aef: 0x22c9,
- 0x1af0: 0x22d1, 0x1af1: 0x0799, 0x1af2: 0x03c1, 0x1af3: 0x04d1, 0x1af4: 0x22d9, 0x1af5: 0x22e1,
- 0x1af6: 0x22e9, 0x1af7: 0x03b1, 0x1af8: 0x03b9, 0x1af9: 0x22f1, 0x1afa: 0x0769, 0x1afb: 0x22f9,
- 0x1afc: 0x2289, 0x1afd: 0x0399, 0x1afe: 0x03a1, 0x1aff: 0x03a9,
- // Block 0x6c, offset 0x1b00
- 0x1b00: 0x2291, 0x1b01: 0x2299, 0x1b02: 0x22a1, 0x1b03: 0x04d1, 0x1b04: 0x05f9, 0x1b05: 0x22a9,
- 0x1b06: 0x22b1, 0x1b07: 0x22b9, 0x1b08: 0x22c1, 0x1b09: 0x22c9, 0x1b0a: 0x22d1, 0x1b0b: 0x0799,
- 0x1b0c: 0x03c1, 0x1b0d: 0x22d9, 0x1b0e: 0x22d9, 0x1b0f: 0x22e1, 0x1b10: 0x22e9, 0x1b11: 0x03b1,
- 0x1b12: 0x03b9, 0x1b13: 0x22f1, 0x1b14: 0x0769, 0x1b15: 0x2301, 0x1b16: 0x2291, 0x1b17: 0x04d1,
- 0x1b18: 0x22a9, 0x1b19: 0x03b1, 0x1b1a: 0x03c1, 0x1b1b: 0x0799, 0x1b1c: 0x2289, 0x1b1d: 0x0399,
- 0x1b1e: 0x03a1, 0x1b1f: 0x03a9, 0x1b20: 0x2291, 0x1b21: 0x2299, 0x1b22: 0x22a1, 0x1b23: 0x04d1,
- 0x1b24: 0x05f9, 0x1b25: 0x22a9, 0x1b26: 0x22b1, 0x1b27: 0x22b9, 0x1b28: 0x22c1, 0x1b29: 0x22c9,
- 0x1b2a: 0x22d1, 0x1b2b: 0x0799, 0x1b2c: 0x03c1, 0x1b2d: 0x04d1, 0x1b2e: 0x22d9, 0x1b2f: 0x22e1,
- 0x1b30: 0x22e9, 0x1b31: 0x03b1, 0x1b32: 0x03b9, 0x1b33: 0x22f1, 0x1b34: 0x0769, 0x1b35: 0x22f9,
- 0x1b36: 0x2289, 0x1b37: 0x0399, 0x1b38: 0x03a1, 0x1b39: 0x03a9, 0x1b3a: 0x2291, 0x1b3b: 0x2299,
- 0x1b3c: 0x22a1, 0x1b3d: 0x04d1, 0x1b3e: 0x05f9, 0x1b3f: 0x22a9,
- // Block 0x6d, offset 0x1b40
- 0x1b40: 0x22b1, 0x1b41: 0x22b9, 0x1b42: 0x22c1, 0x1b43: 0x22c9, 0x1b44: 0x22d1, 0x1b45: 0x0799,
- 0x1b46: 0x03c1, 0x1b47: 0x22d9, 0x1b48: 0x22d9, 0x1b49: 0x22e1, 0x1b4a: 0x22e9, 0x1b4b: 0x03b1,
- 0x1b4c: 0x03b9, 0x1b4d: 0x22f1, 0x1b4e: 0x0769, 0x1b4f: 0x2301, 0x1b50: 0x2291, 0x1b51: 0x04d1,
- 0x1b52: 0x22a9, 0x1b53: 0x03b1, 0x1b54: 0x03c1, 0x1b55: 0x0799, 0x1b56: 0x2289, 0x1b57: 0x0399,
- 0x1b58: 0x03a1, 0x1b59: 0x03a9, 0x1b5a: 0x2291, 0x1b5b: 0x2299, 0x1b5c: 0x22a1, 0x1b5d: 0x04d1,
- 0x1b5e: 0x05f9, 0x1b5f: 0x22a9, 0x1b60: 0x22b1, 0x1b61: 0x22b9, 0x1b62: 0x22c1, 0x1b63: 0x22c9,
- 0x1b64: 0x22d1, 0x1b65: 0x0799, 0x1b66: 0x03c1, 0x1b67: 0x04d1, 0x1b68: 0x22d9, 0x1b69: 0x22e1,
- 0x1b6a: 0x22e9, 0x1b6b: 0x03b1, 0x1b6c: 0x03b9, 0x1b6d: 0x22f1, 0x1b6e: 0x0769, 0x1b6f: 0x22f9,
- 0x1b70: 0x2289, 0x1b71: 0x0399, 0x1b72: 0x03a1, 0x1b73: 0x03a9, 0x1b74: 0x2291, 0x1b75: 0x2299,
- 0x1b76: 0x22a1, 0x1b77: 0x04d1, 0x1b78: 0x05f9, 0x1b79: 0x22a9, 0x1b7a: 0x22b1, 0x1b7b: 0x22b9,
- 0x1b7c: 0x22c1, 0x1b7d: 0x22c9, 0x1b7e: 0x22d1, 0x1b7f: 0x0799,
- // Block 0x6e, offset 0x1b80
- 0x1b80: 0x03c1, 0x1b81: 0x22d9, 0x1b82: 0x22d9, 0x1b83: 0x22e1, 0x1b84: 0x22e9, 0x1b85: 0x03b1,
- 0x1b86: 0x03b9, 0x1b87: 0x22f1, 0x1b88: 0x0769, 0x1b89: 0x2301, 0x1b8a: 0x2291, 0x1b8b: 0x04d1,
- 0x1b8c: 0x22a9, 0x1b8d: 0x03b1, 0x1b8e: 0x03c1, 0x1b8f: 0x0799, 0x1b90: 0x2289, 0x1b91: 0x0399,
- 0x1b92: 0x03a1, 0x1b93: 0x03a9, 0x1b94: 0x2291, 0x1b95: 0x2299, 0x1b96: 0x22a1, 0x1b97: 0x04d1,
- 0x1b98: 0x05f9, 0x1b99: 0x22a9, 0x1b9a: 0x22b1, 0x1b9b: 0x22b9, 0x1b9c: 0x22c1, 0x1b9d: 0x22c9,
- 0x1b9e: 0x22d1, 0x1b9f: 0x0799, 0x1ba0: 0x03c1, 0x1ba1: 0x04d1, 0x1ba2: 0x22d9, 0x1ba3: 0x22e1,
- 0x1ba4: 0x22e9, 0x1ba5: 0x03b1, 0x1ba6: 0x03b9, 0x1ba7: 0x22f1, 0x1ba8: 0x0769, 0x1ba9: 0x22f9,
- 0x1baa: 0x2289, 0x1bab: 0x0399, 0x1bac: 0x03a1, 0x1bad: 0x03a9, 0x1bae: 0x2291, 0x1baf: 0x2299,
- 0x1bb0: 0x22a1, 0x1bb1: 0x04d1, 0x1bb2: 0x05f9, 0x1bb3: 0x22a9, 0x1bb4: 0x22b1, 0x1bb5: 0x22b9,
- 0x1bb6: 0x22c1, 0x1bb7: 0x22c9, 0x1bb8: 0x22d1, 0x1bb9: 0x0799, 0x1bba: 0x03c1, 0x1bbb: 0x22d9,
- 0x1bbc: 0x22d9, 0x1bbd: 0x22e1, 0x1bbe: 0x22e9, 0x1bbf: 0x03b1,
- // Block 0x6f, offset 0x1bc0
- 0x1bc0: 0x03b9, 0x1bc1: 0x22f1, 0x1bc2: 0x0769, 0x1bc3: 0x2301, 0x1bc4: 0x2291, 0x1bc5: 0x04d1,
- 0x1bc6: 0x22a9, 0x1bc7: 0x03b1, 0x1bc8: 0x03c1, 0x1bc9: 0x0799, 0x1bca: 0x2309, 0x1bcb: 0x2309,
- 0x1bcc: 0x0040, 0x1bcd: 0x0040, 0x1bce: 0x06e1, 0x1bcf: 0x0049, 0x1bd0: 0x0029, 0x1bd1: 0x0031,
- 0x1bd2: 0x06e9, 0x1bd3: 0x06f1, 0x1bd4: 0x06f9, 0x1bd5: 0x0701, 0x1bd6: 0x0709, 0x1bd7: 0x0711,
- 0x1bd8: 0x06e1, 0x1bd9: 0x0049, 0x1bda: 0x0029, 0x1bdb: 0x0031, 0x1bdc: 0x06e9, 0x1bdd: 0x06f1,
- 0x1bde: 0x06f9, 0x1bdf: 0x0701, 0x1be0: 0x0709, 0x1be1: 0x0711, 0x1be2: 0x06e1, 0x1be3: 0x0049,
- 0x1be4: 0x0029, 0x1be5: 0x0031, 0x1be6: 0x06e9, 0x1be7: 0x06f1, 0x1be8: 0x06f9, 0x1be9: 0x0701,
- 0x1bea: 0x0709, 0x1beb: 0x0711, 0x1bec: 0x06e1, 0x1bed: 0x0049, 0x1bee: 0x0029, 0x1bef: 0x0031,
- 0x1bf0: 0x06e9, 0x1bf1: 0x06f1, 0x1bf2: 0x06f9, 0x1bf3: 0x0701, 0x1bf4: 0x0709, 0x1bf5: 0x0711,
- 0x1bf6: 0x06e1, 0x1bf7: 0x0049, 0x1bf8: 0x0029, 0x1bf9: 0x0031, 0x1bfa: 0x06e9, 0x1bfb: 0x06f1,
- 0x1bfc: 0x06f9, 0x1bfd: 0x0701, 0x1bfe: 0x0709, 0x1bff: 0x0711,
- // Block 0x70, offset 0x1c00
- 0x1c00: 0xe115, 0x1c01: 0xe115, 0x1c02: 0xe135, 0x1c03: 0xe135, 0x1c04: 0xe115, 0x1c05: 0xe115,
- 0x1c06: 0xe175, 0x1c07: 0xe175, 0x1c08: 0xe115, 0x1c09: 0xe115, 0x1c0a: 0xe135, 0x1c0b: 0xe135,
- 0x1c0c: 0xe115, 0x1c0d: 0xe115, 0x1c0e: 0xe1f5, 0x1c0f: 0xe1f5, 0x1c10: 0xe115, 0x1c11: 0xe115,
- 0x1c12: 0xe135, 0x1c13: 0xe135, 0x1c14: 0xe115, 0x1c15: 0xe115, 0x1c16: 0xe175, 0x1c17: 0xe175,
- 0x1c18: 0xe115, 0x1c19: 0xe115, 0x1c1a: 0xe135, 0x1c1b: 0xe135, 0x1c1c: 0xe115, 0x1c1d: 0xe115,
- 0x1c1e: 0x8b3d, 0x1c1f: 0x8b3d, 0x1c20: 0x04b5, 0x1c21: 0x04b5, 0x1c22: 0x0a08, 0x1c23: 0x0a08,
- 0x1c24: 0x0a08, 0x1c25: 0x0a08, 0x1c26: 0x0a08, 0x1c27: 0x0a08, 0x1c28: 0x0a08, 0x1c29: 0x0a08,
- 0x1c2a: 0x0a08, 0x1c2b: 0x0a08, 0x1c2c: 0x0a08, 0x1c2d: 0x0a08, 0x1c2e: 0x0a08, 0x1c2f: 0x0a08,
- 0x1c30: 0x0a08, 0x1c31: 0x0a08, 0x1c32: 0x0a08, 0x1c33: 0x0a08, 0x1c34: 0x0a08, 0x1c35: 0x0a08,
- 0x1c36: 0x0a08, 0x1c37: 0x0a08, 0x1c38: 0x0a08, 0x1c39: 0x0a08, 0x1c3a: 0x0a08, 0x1c3b: 0x0a08,
- 0x1c3c: 0x0a08, 0x1c3d: 0x0a08, 0x1c3e: 0x0a08, 0x1c3f: 0x0a08,
- // Block 0x71, offset 0x1c40
- 0x1c40: 0x20b1, 0x1c41: 0x20b9, 0x1c42: 0x20d9, 0x1c43: 0x20f1, 0x1c44: 0x0040, 0x1c45: 0x2189,
- 0x1c46: 0x2109, 0x1c47: 0x20e1, 0x1c48: 0x2131, 0x1c49: 0x2191, 0x1c4a: 0x2161, 0x1c4b: 0x2169,
- 0x1c4c: 0x2171, 0x1c4d: 0x2179, 0x1c4e: 0x2111, 0x1c4f: 0x2141, 0x1c50: 0x2151, 0x1c51: 0x2121,
- 0x1c52: 0x2159, 0x1c53: 0x2101, 0x1c54: 0x2119, 0x1c55: 0x20c9, 0x1c56: 0x20d1, 0x1c57: 0x20e9,
- 0x1c58: 0x20f9, 0x1c59: 0x2129, 0x1c5a: 0x2139, 0x1c5b: 0x2149, 0x1c5c: 0x2311, 0x1c5d: 0x1689,
- 0x1c5e: 0x2319, 0x1c5f: 0x2321, 0x1c60: 0x0040, 0x1c61: 0x20b9, 0x1c62: 0x20d9, 0x1c63: 0x0040,
- 0x1c64: 0x2181, 0x1c65: 0x0040, 0x1c66: 0x0040, 0x1c67: 0x20e1, 0x1c68: 0x0040, 0x1c69: 0x2191,
- 0x1c6a: 0x2161, 0x1c6b: 0x2169, 0x1c6c: 0x2171, 0x1c6d: 0x2179, 0x1c6e: 0x2111, 0x1c6f: 0x2141,
- 0x1c70: 0x2151, 0x1c71: 0x2121, 0x1c72: 0x2159, 0x1c73: 0x0040, 0x1c74: 0x2119, 0x1c75: 0x20c9,
- 0x1c76: 0x20d1, 0x1c77: 0x20e9, 0x1c78: 0x0040, 0x1c79: 0x2129, 0x1c7a: 0x0040, 0x1c7b: 0x2149,
- 0x1c7c: 0x0040, 0x1c7d: 0x0040, 0x1c7e: 0x0040, 0x1c7f: 0x0040,
- // Block 0x72, offset 0x1c80
- 0x1c80: 0x0040, 0x1c81: 0x0040, 0x1c82: 0x20d9, 0x1c83: 0x0040, 0x1c84: 0x0040, 0x1c85: 0x0040,
- 0x1c86: 0x0040, 0x1c87: 0x20e1, 0x1c88: 0x0040, 0x1c89: 0x2191, 0x1c8a: 0x0040, 0x1c8b: 0x2169,
- 0x1c8c: 0x0040, 0x1c8d: 0x2179, 0x1c8e: 0x2111, 0x1c8f: 0x2141, 0x1c90: 0x0040, 0x1c91: 0x2121,
- 0x1c92: 0x2159, 0x1c93: 0x0040, 0x1c94: 0x2119, 0x1c95: 0x0040, 0x1c96: 0x0040, 0x1c97: 0x20e9,
- 0x1c98: 0x0040, 0x1c99: 0x2129, 0x1c9a: 0x0040, 0x1c9b: 0x2149, 0x1c9c: 0x0040, 0x1c9d: 0x1689,
- 0x1c9e: 0x0040, 0x1c9f: 0x2321, 0x1ca0: 0x0040, 0x1ca1: 0x20b9, 0x1ca2: 0x20d9, 0x1ca3: 0x0040,
- 0x1ca4: 0x2181, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0x20e1, 0x1ca8: 0x2131, 0x1ca9: 0x2191,
- 0x1caa: 0x2161, 0x1cab: 0x0040, 0x1cac: 0x2171, 0x1cad: 0x2179, 0x1cae: 0x2111, 0x1caf: 0x2141,
- 0x1cb0: 0x2151, 0x1cb1: 0x2121, 0x1cb2: 0x2159, 0x1cb3: 0x0040, 0x1cb4: 0x2119, 0x1cb5: 0x20c9,
- 0x1cb6: 0x20d1, 0x1cb7: 0x20e9, 0x1cb8: 0x0040, 0x1cb9: 0x2129, 0x1cba: 0x2139, 0x1cbb: 0x2149,
- 0x1cbc: 0x2311, 0x1cbd: 0x0040, 0x1cbe: 0x2319, 0x1cbf: 0x0040,
- // Block 0x73, offset 0x1cc0
- 0x1cc0: 0x20b1, 0x1cc1: 0x20b9, 0x1cc2: 0x20d9, 0x1cc3: 0x20f1, 0x1cc4: 0x2181, 0x1cc5: 0x2189,
- 0x1cc6: 0x2109, 0x1cc7: 0x20e1, 0x1cc8: 0x2131, 0x1cc9: 0x2191, 0x1cca: 0x0040, 0x1ccb: 0x2169,
- 0x1ccc: 0x2171, 0x1ccd: 0x2179, 0x1cce: 0x2111, 0x1ccf: 0x2141, 0x1cd0: 0x2151, 0x1cd1: 0x2121,
- 0x1cd2: 0x2159, 0x1cd3: 0x2101, 0x1cd4: 0x2119, 0x1cd5: 0x20c9, 0x1cd6: 0x20d1, 0x1cd7: 0x20e9,
- 0x1cd8: 0x20f9, 0x1cd9: 0x2129, 0x1cda: 0x2139, 0x1cdb: 0x2149, 0x1cdc: 0x0040, 0x1cdd: 0x0040,
- 0x1cde: 0x0040, 0x1cdf: 0x0040, 0x1ce0: 0x0040, 0x1ce1: 0x20b9, 0x1ce2: 0x20d9, 0x1ce3: 0x20f1,
- 0x1ce4: 0x0040, 0x1ce5: 0x2189, 0x1ce6: 0x2109, 0x1ce7: 0x20e1, 0x1ce8: 0x2131, 0x1ce9: 0x2191,
- 0x1cea: 0x0040, 0x1ceb: 0x2169, 0x1cec: 0x2171, 0x1ced: 0x2179, 0x1cee: 0x2111, 0x1cef: 0x2141,
- 0x1cf0: 0x2151, 0x1cf1: 0x2121, 0x1cf2: 0x2159, 0x1cf3: 0x2101, 0x1cf4: 0x2119, 0x1cf5: 0x20c9,
- 0x1cf6: 0x20d1, 0x1cf7: 0x20e9, 0x1cf8: 0x20f9, 0x1cf9: 0x2129, 0x1cfa: 0x2139, 0x1cfb: 0x2149,
- 0x1cfc: 0x0040, 0x1cfd: 0x0040, 0x1cfe: 0x0040, 0x1cff: 0x0040,
- // Block 0x74, offset 0x1d00
- 0x1d00: 0x0040, 0x1d01: 0x232a, 0x1d02: 0x2332, 0x1d03: 0x233a, 0x1d04: 0x2342, 0x1d05: 0x234a,
- 0x1d06: 0x2352, 0x1d07: 0x235a, 0x1d08: 0x2362, 0x1d09: 0x236a, 0x1d0a: 0x2372, 0x1d0b: 0x0018,
- 0x1d0c: 0x0018, 0x1d0d: 0x0018, 0x1d0e: 0x0018, 0x1d0f: 0x0018, 0x1d10: 0x237a, 0x1d11: 0x2382,
- 0x1d12: 0x238a, 0x1d13: 0x2392, 0x1d14: 0x239a, 0x1d15: 0x23a2, 0x1d16: 0x23aa, 0x1d17: 0x23b2,
- 0x1d18: 0x23ba, 0x1d19: 0x23c2, 0x1d1a: 0x23ca, 0x1d1b: 0x23d2, 0x1d1c: 0x23da, 0x1d1d: 0x23e2,
- 0x1d1e: 0x23ea, 0x1d1f: 0x23f2, 0x1d20: 0x23fa, 0x1d21: 0x2402, 0x1d22: 0x240a, 0x1d23: 0x2412,
- 0x1d24: 0x241a, 0x1d25: 0x2422, 0x1d26: 0x242a, 0x1d27: 0x2432, 0x1d28: 0x243a, 0x1d29: 0x2442,
- 0x1d2a: 0x2449, 0x1d2b: 0x03d9, 0x1d2c: 0x00b9, 0x1d2d: 0x1239, 0x1d2e: 0x2451, 0x1d2f: 0x0018,
- 0x1d30: 0x0019, 0x1d31: 0x02e9, 0x1d32: 0x03d9, 0x1d33: 0x02f1, 0x1d34: 0x02f9, 0x1d35: 0x03f1,
- 0x1d36: 0x0309, 0x1d37: 0x00a9, 0x1d38: 0x0311, 0x1d39: 0x00b1, 0x1d3a: 0x0319, 0x1d3b: 0x0101,
- 0x1d3c: 0x0321, 0x1d3d: 0x0329, 0x1d3e: 0x0051, 0x1d3f: 0x0339,
- // Block 0x75, offset 0x1d40
- 0x1d40: 0x0751, 0x1d41: 0x00b9, 0x1d42: 0x0089, 0x1d43: 0x0341, 0x1d44: 0x0349, 0x1d45: 0x0391,
- 0x1d46: 0x00c1, 0x1d47: 0x0109, 0x1d48: 0x00c9, 0x1d49: 0x04b1, 0x1d4a: 0x2459, 0x1d4b: 0x11f9,
- 0x1d4c: 0x2461, 0x1d4d: 0x04d9, 0x1d4e: 0x2469, 0x1d4f: 0x2471, 0x1d50: 0x0018, 0x1d51: 0x0018,
- 0x1d52: 0x0018, 0x1d53: 0x0018, 0x1d54: 0x0018, 0x1d55: 0x0018, 0x1d56: 0x0018, 0x1d57: 0x0018,
- 0x1d58: 0x0018, 0x1d59: 0x0018, 0x1d5a: 0x0018, 0x1d5b: 0x0018, 0x1d5c: 0x0018, 0x1d5d: 0x0018,
- 0x1d5e: 0x0018, 0x1d5f: 0x0018, 0x1d60: 0x0018, 0x1d61: 0x0018, 0x1d62: 0x0018, 0x1d63: 0x0018,
- 0x1d64: 0x0018, 0x1d65: 0x0018, 0x1d66: 0x0018, 0x1d67: 0x0018, 0x1d68: 0x0018, 0x1d69: 0x0018,
- 0x1d6a: 0x2479, 0x1d6b: 0x2481, 0x1d6c: 0x2489, 0x1d6d: 0x0018, 0x1d6e: 0x0018, 0x1d6f: 0x0018,
- 0x1d70: 0x0018, 0x1d71: 0x0018, 0x1d72: 0x0018, 0x1d73: 0x0018, 0x1d74: 0x0018, 0x1d75: 0x0018,
- 0x1d76: 0x0018, 0x1d77: 0x0018, 0x1d78: 0x0018, 0x1d79: 0x0018, 0x1d7a: 0x0018, 0x1d7b: 0x0018,
- 0x1d7c: 0x0018, 0x1d7d: 0x0018, 0x1d7e: 0x0018, 0x1d7f: 0x0018,
- // Block 0x76, offset 0x1d80
- 0x1d80: 0x2499, 0x1d81: 0x24a1, 0x1d82: 0x24a9, 0x1d83: 0x0040, 0x1d84: 0x0040, 0x1d85: 0x0040,
- 0x1d86: 0x0040, 0x1d87: 0x0040, 0x1d88: 0x0040, 0x1d89: 0x0040, 0x1d8a: 0x0040, 0x1d8b: 0x0040,
- 0x1d8c: 0x0040, 0x1d8d: 0x0040, 0x1d8e: 0x0040, 0x1d8f: 0x0040, 0x1d90: 0x24b1, 0x1d91: 0x24b9,
- 0x1d92: 0x24c1, 0x1d93: 0x24c9, 0x1d94: 0x24d1, 0x1d95: 0x24d9, 0x1d96: 0x24e1, 0x1d97: 0x24e9,
- 0x1d98: 0x24f1, 0x1d99: 0x24f9, 0x1d9a: 0x2501, 0x1d9b: 0x2509, 0x1d9c: 0x2511, 0x1d9d: 0x2519,
- 0x1d9e: 0x2521, 0x1d9f: 0x2529, 0x1da0: 0x2531, 0x1da1: 0x2539, 0x1da2: 0x2541, 0x1da3: 0x2549,
- 0x1da4: 0x2551, 0x1da5: 0x2559, 0x1da6: 0x2561, 0x1da7: 0x2569, 0x1da8: 0x2571, 0x1da9: 0x2579,
- 0x1daa: 0x2581, 0x1dab: 0x2589, 0x1dac: 0x2591, 0x1dad: 0x2599, 0x1dae: 0x25a1, 0x1daf: 0x25a9,
- 0x1db0: 0x25b1, 0x1db1: 0x25b9, 0x1db2: 0x25c1, 0x1db3: 0x25c9, 0x1db4: 0x25d1, 0x1db5: 0x25d9,
- 0x1db6: 0x25e1, 0x1db7: 0x25e9, 0x1db8: 0x25f1, 0x1db9: 0x25f9, 0x1dba: 0x2601, 0x1dbb: 0x2609,
- 0x1dbc: 0x0040, 0x1dbd: 0x0040, 0x1dbe: 0x0040, 0x1dbf: 0x0040,
- // Block 0x77, offset 0x1dc0
- 0x1dc0: 0x2669, 0x1dc1: 0x2671, 0x1dc2: 0x2679, 0x1dc3: 0x8b55, 0x1dc4: 0x2681, 0x1dc5: 0x2689,
- 0x1dc6: 0x2691, 0x1dc7: 0x2699, 0x1dc8: 0x26a1, 0x1dc9: 0x26a9, 0x1dca: 0x26b1, 0x1dcb: 0x26b9,
- 0x1dcc: 0x26c1, 0x1dcd: 0x8b75, 0x1dce: 0x26c9, 0x1dcf: 0x26d1, 0x1dd0: 0x26d9, 0x1dd1: 0x26e1,
- 0x1dd2: 0x8b95, 0x1dd3: 0x26e9, 0x1dd4: 0x26f1, 0x1dd5: 0x2521, 0x1dd6: 0x8bb5, 0x1dd7: 0x26f9,
- 0x1dd8: 0x2701, 0x1dd9: 0x2709, 0x1dda: 0x2711, 0x1ddb: 0x2719, 0x1ddc: 0x8bd5, 0x1ddd: 0x2721,
- 0x1dde: 0x2729, 0x1ddf: 0x2731, 0x1de0: 0x2739, 0x1de1: 0x2741, 0x1de2: 0x25f9, 0x1de3: 0x2749,
- 0x1de4: 0x2751, 0x1de5: 0x2759, 0x1de6: 0x2761, 0x1de7: 0x2769, 0x1de8: 0x2771, 0x1de9: 0x2779,
- 0x1dea: 0x2781, 0x1deb: 0x2789, 0x1dec: 0x2791, 0x1ded: 0x2799, 0x1dee: 0x27a1, 0x1def: 0x27a9,
- 0x1df0: 0x27b1, 0x1df1: 0x27b9, 0x1df2: 0x27b9, 0x1df3: 0x27b9, 0x1df4: 0x8bf5, 0x1df5: 0x27c1,
- 0x1df6: 0x27c9, 0x1df7: 0x27d1, 0x1df8: 0x8c15, 0x1df9: 0x27d9, 0x1dfa: 0x27e1, 0x1dfb: 0x27e9,
- 0x1dfc: 0x27f1, 0x1dfd: 0x27f9, 0x1dfe: 0x2801, 0x1dff: 0x2809,
- // Block 0x78, offset 0x1e00
- 0x1e00: 0x2811, 0x1e01: 0x2819, 0x1e02: 0x2821, 0x1e03: 0x2829, 0x1e04: 0x2831, 0x1e05: 0x2839,
- 0x1e06: 0x2839, 0x1e07: 0x2841, 0x1e08: 0x2849, 0x1e09: 0x2851, 0x1e0a: 0x2859, 0x1e0b: 0x2861,
- 0x1e0c: 0x2869, 0x1e0d: 0x2871, 0x1e0e: 0x2879, 0x1e0f: 0x2881, 0x1e10: 0x2889, 0x1e11: 0x2891,
- 0x1e12: 0x2899, 0x1e13: 0x28a1, 0x1e14: 0x28a9, 0x1e15: 0x28b1, 0x1e16: 0x28b9, 0x1e17: 0x28c1,
- 0x1e18: 0x28c9, 0x1e19: 0x8c35, 0x1e1a: 0x28d1, 0x1e1b: 0x28d9, 0x1e1c: 0x28e1, 0x1e1d: 0x24d9,
- 0x1e1e: 0x28e9, 0x1e1f: 0x28f1, 0x1e20: 0x8c55, 0x1e21: 0x8c75, 0x1e22: 0x28f9, 0x1e23: 0x2901,
- 0x1e24: 0x2909, 0x1e25: 0x2911, 0x1e26: 0x2919, 0x1e27: 0x2921, 0x1e28: 0x2040, 0x1e29: 0x2929,
- 0x1e2a: 0x2931, 0x1e2b: 0x2931, 0x1e2c: 0x8c95, 0x1e2d: 0x2939, 0x1e2e: 0x2941, 0x1e2f: 0x2949,
- 0x1e30: 0x2951, 0x1e31: 0x8cb5, 0x1e32: 0x2959, 0x1e33: 0x2961, 0x1e34: 0x2040, 0x1e35: 0x2969,
- 0x1e36: 0x2971, 0x1e37: 0x2979, 0x1e38: 0x2981, 0x1e39: 0x2989, 0x1e3a: 0x2991, 0x1e3b: 0x8cd5,
- 0x1e3c: 0x2999, 0x1e3d: 0x8cf5, 0x1e3e: 0x29a1, 0x1e3f: 0x29a9,
- // Block 0x79, offset 0x1e40
- 0x1e40: 0x29b1, 0x1e41: 0x29b9, 0x1e42: 0x29c1, 0x1e43: 0x29c9, 0x1e44: 0x29d1, 0x1e45: 0x29d9,
- 0x1e46: 0x29e1, 0x1e47: 0x29e9, 0x1e48: 0x29f1, 0x1e49: 0x8d15, 0x1e4a: 0x29f9, 0x1e4b: 0x2a01,
- 0x1e4c: 0x2a09, 0x1e4d: 0x2a11, 0x1e4e: 0x2a19, 0x1e4f: 0x8d35, 0x1e50: 0x2a21, 0x1e51: 0x8d55,
- 0x1e52: 0x8d75, 0x1e53: 0x2a29, 0x1e54: 0x2a31, 0x1e55: 0x2a31, 0x1e56: 0x2a39, 0x1e57: 0x8d95,
- 0x1e58: 0x8db5, 0x1e59: 0x2a41, 0x1e5a: 0x2a49, 0x1e5b: 0x2a51, 0x1e5c: 0x2a59, 0x1e5d: 0x2a61,
- 0x1e5e: 0x2a69, 0x1e5f: 0x2a71, 0x1e60: 0x2a79, 0x1e61: 0x2a81, 0x1e62: 0x2a89, 0x1e63: 0x2a91,
- 0x1e64: 0x8dd5, 0x1e65: 0x2a99, 0x1e66: 0x2aa1, 0x1e67: 0x2aa9, 0x1e68: 0x2ab1, 0x1e69: 0x2aa9,
- 0x1e6a: 0x2ab9, 0x1e6b: 0x2ac1, 0x1e6c: 0x2ac9, 0x1e6d: 0x2ad1, 0x1e6e: 0x2ad9, 0x1e6f: 0x2ae1,
- 0x1e70: 0x2ae9, 0x1e71: 0x2af1, 0x1e72: 0x2af9, 0x1e73: 0x2b01, 0x1e74: 0x2b09, 0x1e75: 0x2b11,
- 0x1e76: 0x2b19, 0x1e77: 0x2b21, 0x1e78: 0x8df5, 0x1e79: 0x2b29, 0x1e7a: 0x2b31, 0x1e7b: 0x2b39,
- 0x1e7c: 0x2b41, 0x1e7d: 0x2b49, 0x1e7e: 0x8e15, 0x1e7f: 0x2b51,
- // Block 0x7a, offset 0x1e80
- 0x1e80: 0x2b59, 0x1e81: 0x2b61, 0x1e82: 0x2b69, 0x1e83: 0x2b71, 0x1e84: 0x2b79, 0x1e85: 0x2b81,
- 0x1e86: 0x2b89, 0x1e87: 0x2b91, 0x1e88: 0x2b99, 0x1e89: 0x2ba1, 0x1e8a: 0x8e35, 0x1e8b: 0x2ba9,
- 0x1e8c: 0x2bb1, 0x1e8d: 0x2bb9, 0x1e8e: 0x2bc1, 0x1e8f: 0x2bc9, 0x1e90: 0x2bd1, 0x1e91: 0x2bd9,
- 0x1e92: 0x2be1, 0x1e93: 0x2be9, 0x1e94: 0x2bf1, 0x1e95: 0x2bf9, 0x1e96: 0x2c01, 0x1e97: 0x2c09,
- 0x1e98: 0x2c11, 0x1e99: 0x2c19, 0x1e9a: 0x2c21, 0x1e9b: 0x2c29, 0x1e9c: 0x2c31, 0x1e9d: 0x8e55,
- 0x1e9e: 0x2c39, 0x1e9f: 0x2c41, 0x1ea0: 0x2c49, 0x1ea1: 0x2c51, 0x1ea2: 0x2c59, 0x1ea3: 0x8e75,
- 0x1ea4: 0x2c61, 0x1ea5: 0x2c69, 0x1ea6: 0x2c71, 0x1ea7: 0x2c79, 0x1ea8: 0x2c81, 0x1ea9: 0x2c89,
- 0x1eaa: 0x2c91, 0x1eab: 0x2c99, 0x1eac: 0x7f0d, 0x1ead: 0x2ca1, 0x1eae: 0x2ca9, 0x1eaf: 0x2cb1,
- 0x1eb0: 0x8e95, 0x1eb1: 0x2cb9, 0x1eb2: 0x2cc1, 0x1eb3: 0x2cc9, 0x1eb4: 0x2cd1, 0x1eb5: 0x2cd9,
- 0x1eb6: 0x2ce1, 0x1eb7: 0x8eb5, 0x1eb8: 0x8ed5, 0x1eb9: 0x8ef5, 0x1eba: 0x2ce9, 0x1ebb: 0x8f15,
- 0x1ebc: 0x2cf1, 0x1ebd: 0x2cf9, 0x1ebe: 0x2d01, 0x1ebf: 0x2d09,
- // Block 0x7b, offset 0x1ec0
- 0x1ec0: 0x2d11, 0x1ec1: 0x2d19, 0x1ec2: 0x2d21, 0x1ec3: 0x2d29, 0x1ec4: 0x2d31, 0x1ec5: 0x2d39,
- 0x1ec6: 0x8f35, 0x1ec7: 0x2d41, 0x1ec8: 0x2d49, 0x1ec9: 0x2d51, 0x1eca: 0x2d59, 0x1ecb: 0x2d61,
- 0x1ecc: 0x2d69, 0x1ecd: 0x8f55, 0x1ece: 0x2d71, 0x1ecf: 0x2d79, 0x1ed0: 0x8f75, 0x1ed1: 0x8f95,
- 0x1ed2: 0x2d81, 0x1ed3: 0x2d89, 0x1ed4: 0x2d91, 0x1ed5: 0x2d99, 0x1ed6: 0x2da1, 0x1ed7: 0x2da9,
- 0x1ed8: 0x2db1, 0x1ed9: 0x2db9, 0x1eda: 0x2dc1, 0x1edb: 0x8fb5, 0x1edc: 0x2dc9, 0x1edd: 0x8fd5,
- 0x1ede: 0x2dd1, 0x1edf: 0x2040, 0x1ee0: 0x2dd9, 0x1ee1: 0x2de1, 0x1ee2: 0x2de9, 0x1ee3: 0x8ff5,
- 0x1ee4: 0x2df1, 0x1ee5: 0x2df9, 0x1ee6: 0x9015, 0x1ee7: 0x9035, 0x1ee8: 0x2e01, 0x1ee9: 0x2e09,
- 0x1eea: 0x2e11, 0x1eeb: 0x2e19, 0x1eec: 0x2e21, 0x1eed: 0x2e21, 0x1eee: 0x2e29, 0x1eef: 0x2e31,
- 0x1ef0: 0x2e39, 0x1ef1: 0x2e41, 0x1ef2: 0x2e49, 0x1ef3: 0x2e51, 0x1ef4: 0x2e59, 0x1ef5: 0x9055,
- 0x1ef6: 0x2e61, 0x1ef7: 0x9075, 0x1ef8: 0x2e69, 0x1ef9: 0x9095, 0x1efa: 0x2e71, 0x1efb: 0x90b5,
- 0x1efc: 0x90d5, 0x1efd: 0x90f5, 0x1efe: 0x2e79, 0x1eff: 0x2e81,
- // Block 0x7c, offset 0x1f00
- 0x1f00: 0x2e89, 0x1f01: 0x9115, 0x1f02: 0x9135, 0x1f03: 0x9155, 0x1f04: 0x9175, 0x1f05: 0x2e91,
- 0x1f06: 0x2e99, 0x1f07: 0x2e99, 0x1f08: 0x2ea1, 0x1f09: 0x2ea9, 0x1f0a: 0x2eb1, 0x1f0b: 0x2eb9,
- 0x1f0c: 0x2ec1, 0x1f0d: 0x9195, 0x1f0e: 0x2ec9, 0x1f0f: 0x2ed1, 0x1f10: 0x2ed9, 0x1f11: 0x2ee1,
- 0x1f12: 0x91b5, 0x1f13: 0x2ee9, 0x1f14: 0x91d5, 0x1f15: 0x91f5, 0x1f16: 0x2ef1, 0x1f17: 0x2ef9,
- 0x1f18: 0x2f01, 0x1f19: 0x2f09, 0x1f1a: 0x2f11, 0x1f1b: 0x2f19, 0x1f1c: 0x9215, 0x1f1d: 0x9235,
- 0x1f1e: 0x9255, 0x1f1f: 0x2040, 0x1f20: 0x2f21, 0x1f21: 0x9275, 0x1f22: 0x2f29, 0x1f23: 0x2f31,
- 0x1f24: 0x2f39, 0x1f25: 0x9295, 0x1f26: 0x2f41, 0x1f27: 0x2f49, 0x1f28: 0x2f51, 0x1f29: 0x2f59,
- 0x1f2a: 0x2f61, 0x1f2b: 0x92b5, 0x1f2c: 0x2f69, 0x1f2d: 0x2f71, 0x1f2e: 0x2f79, 0x1f2f: 0x2f81,
- 0x1f30: 0x2f89, 0x1f31: 0x2f91, 0x1f32: 0x92d5, 0x1f33: 0x92f5, 0x1f34: 0x2f99, 0x1f35: 0x9315,
- 0x1f36: 0x2fa1, 0x1f37: 0x9335, 0x1f38: 0x2fa9, 0x1f39: 0x2fb1, 0x1f3a: 0x2fb9, 0x1f3b: 0x9355,
- 0x1f3c: 0x9375, 0x1f3d: 0x2fc1, 0x1f3e: 0x9395, 0x1f3f: 0x2fc9,
- // Block 0x7d, offset 0x1f40
- 0x1f40: 0x93b5, 0x1f41: 0x2fd1, 0x1f42: 0x2fd9, 0x1f43: 0x2fe1, 0x1f44: 0x2fe9, 0x1f45: 0x2ff1,
- 0x1f46: 0x2ff9, 0x1f47: 0x93d5, 0x1f48: 0x93f5, 0x1f49: 0x9415, 0x1f4a: 0x9435, 0x1f4b: 0x2a29,
- 0x1f4c: 0x3001, 0x1f4d: 0x3009, 0x1f4e: 0x3011, 0x1f4f: 0x3019, 0x1f50: 0x3021, 0x1f51: 0x3029,
- 0x1f52: 0x3031, 0x1f53: 0x3039, 0x1f54: 0x3041, 0x1f55: 0x3049, 0x1f56: 0x3051, 0x1f57: 0x9455,
- 0x1f58: 0x3059, 0x1f59: 0x3061, 0x1f5a: 0x3069, 0x1f5b: 0x3071, 0x1f5c: 0x3079, 0x1f5d: 0x3081,
- 0x1f5e: 0x3089, 0x1f5f: 0x3091, 0x1f60: 0x3099, 0x1f61: 0x30a1, 0x1f62: 0x30a9, 0x1f63: 0x30b1,
- 0x1f64: 0x9475, 0x1f65: 0x9495, 0x1f66: 0x94b5, 0x1f67: 0x30b9, 0x1f68: 0x30c1, 0x1f69: 0x30c9,
- 0x1f6a: 0x30d1, 0x1f6b: 0x94d5, 0x1f6c: 0x30d9, 0x1f6d: 0x94f5, 0x1f6e: 0x30e1, 0x1f6f: 0x30e9,
- 0x1f70: 0x9515, 0x1f71: 0x9535, 0x1f72: 0x30f1, 0x1f73: 0x30f9, 0x1f74: 0x3101, 0x1f75: 0x3109,
- 0x1f76: 0x3111, 0x1f77: 0x3119, 0x1f78: 0x3121, 0x1f79: 0x3129, 0x1f7a: 0x3131, 0x1f7b: 0x3139,
- 0x1f7c: 0x3141, 0x1f7d: 0x3149, 0x1f7e: 0x3151, 0x1f7f: 0x2040,
- // Block 0x7e, offset 0x1f80
- 0x1f80: 0x3159, 0x1f81: 0x3161, 0x1f82: 0x3169, 0x1f83: 0x3171, 0x1f84: 0x3179, 0x1f85: 0x9555,
- 0x1f86: 0x3181, 0x1f87: 0x3189, 0x1f88: 0x3191, 0x1f89: 0x3199, 0x1f8a: 0x31a1, 0x1f8b: 0x9575,
- 0x1f8c: 0x9595, 0x1f8d: 0x31a9, 0x1f8e: 0x31b1, 0x1f8f: 0x31b9, 0x1f90: 0x31c1, 0x1f91: 0x31c9,
- 0x1f92: 0x31d1, 0x1f93: 0x95b5, 0x1f94: 0x31d9, 0x1f95: 0x31e1, 0x1f96: 0x31e9, 0x1f97: 0x31f1,
- 0x1f98: 0x95d5, 0x1f99: 0x95f5, 0x1f9a: 0x31f9, 0x1f9b: 0x3201, 0x1f9c: 0x3209, 0x1f9d: 0x9615,
- 0x1f9e: 0x3211, 0x1f9f: 0x3219, 0x1fa0: 0x684d, 0x1fa1: 0x9635, 0x1fa2: 0x3221, 0x1fa3: 0x3229,
- 0x1fa4: 0x3231, 0x1fa5: 0x9655, 0x1fa6: 0x3239, 0x1fa7: 0x3241, 0x1fa8: 0x3249, 0x1fa9: 0x3251,
- 0x1faa: 0x3259, 0x1fab: 0x3261, 0x1fac: 0x3269, 0x1fad: 0x9675, 0x1fae: 0x3271, 0x1faf: 0x3279,
- 0x1fb0: 0x3281, 0x1fb1: 0x9695, 0x1fb2: 0x3289, 0x1fb3: 0x3291, 0x1fb4: 0x3299, 0x1fb5: 0x32a1,
- 0x1fb6: 0x7b6d, 0x1fb7: 0x96b5, 0x1fb8: 0x32a9, 0x1fb9: 0x32b1, 0x1fba: 0x32b9, 0x1fbb: 0x96d5,
- 0x1fbc: 0x32c1, 0x1fbd: 0x96f5, 0x1fbe: 0x32c9, 0x1fbf: 0x32c9,
- // Block 0x7f, offset 0x1fc0
- 0x1fc0: 0x32d1, 0x1fc1: 0x9715, 0x1fc2: 0x32d9, 0x1fc3: 0x32e1, 0x1fc4: 0x32e9, 0x1fc5: 0x32f1,
- 0x1fc6: 0x32f9, 0x1fc7: 0x3301, 0x1fc8: 0x3309, 0x1fc9: 0x9735, 0x1fca: 0x3311, 0x1fcb: 0x3319,
- 0x1fcc: 0x3321, 0x1fcd: 0x3329, 0x1fce: 0x3331, 0x1fcf: 0x3339, 0x1fd0: 0x9755, 0x1fd1: 0x3341,
- 0x1fd2: 0x9775, 0x1fd3: 0x9795, 0x1fd4: 0x97b5, 0x1fd5: 0x3349, 0x1fd6: 0x3351, 0x1fd7: 0x3359,
- 0x1fd8: 0x3361, 0x1fd9: 0x3369, 0x1fda: 0x3371, 0x1fdb: 0x3379, 0x1fdc: 0x3381, 0x1fdd: 0x97d5,
- 0x1fde: 0x0040, 0x1fdf: 0x0040, 0x1fe0: 0x0040, 0x1fe1: 0x0040, 0x1fe2: 0x0040, 0x1fe3: 0x0040,
- 0x1fe4: 0x0040, 0x1fe5: 0x0040, 0x1fe6: 0x0040, 0x1fe7: 0x0040, 0x1fe8: 0x0040, 0x1fe9: 0x0040,
- 0x1fea: 0x0040, 0x1feb: 0x0040, 0x1fec: 0x0040, 0x1fed: 0x0040, 0x1fee: 0x0040, 0x1fef: 0x0040,
- 0x1ff0: 0x0040, 0x1ff1: 0x0040, 0x1ff2: 0x0040, 0x1ff3: 0x0040, 0x1ff4: 0x0040, 0x1ff5: 0x0040,
- 0x1ff6: 0x0040, 0x1ff7: 0x0040, 0x1ff8: 0x0040, 0x1ff9: 0x0040, 0x1ffa: 0x0040, 0x1ffb: 0x0040,
- 0x1ffc: 0x0040, 0x1ffd: 0x0040, 0x1ffe: 0x0040, 0x1fff: 0x0040,
-}
-
-// idnaIndex: 37 blocks, 2368 entries, 4736 bytes
-// Block 0 is the zero block.
-var idnaIndex = [2368]uint16{
- // Block 0x0, offset 0x0
- // Block 0x1, offset 0x40
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc2: 0x01, 0xc3: 0x7e, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,
- 0xc8: 0x06, 0xc9: 0x7f, 0xca: 0x80, 0xcb: 0x07, 0xcc: 0x81, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,
- 0xd0: 0x82, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x83, 0xd6: 0x84, 0xd7: 0x85,
- 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x86, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x87, 0xde: 0x88, 0xdf: 0x89,
- 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,
- 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c,
- 0xf0: 0x1e, 0xf1: 0x1f, 0xf2: 0x1f, 0xf3: 0x21, 0xf4: 0x22,
- // Block 0x4, offset 0x100
- 0x120: 0x8a, 0x121: 0x13, 0x122: 0x8b, 0x123: 0x8c, 0x124: 0x8d, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16,
- 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8e,
- 0x130: 0x8f, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x90, 0x135: 0x21, 0x136: 0x91, 0x137: 0x92,
- 0x138: 0x93, 0x139: 0x94, 0x13a: 0x22, 0x13b: 0x95, 0x13c: 0x96, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x97,
- // Block 0x5, offset 0x140
- 0x140: 0x98, 0x141: 0x99, 0x142: 0x9a, 0x143: 0x9b, 0x144: 0x9c, 0x145: 0x9d, 0x146: 0x9e, 0x147: 0x9f,
- 0x148: 0xa0, 0x149: 0xa1, 0x14a: 0xa2, 0x14b: 0xa3, 0x14c: 0xa4, 0x14d: 0xa5, 0x14e: 0xa6, 0x14f: 0xa7,
- 0x150: 0xa8, 0x151: 0xa0, 0x152: 0xa0, 0x153: 0xa0, 0x154: 0xa0, 0x155: 0xa0, 0x156: 0xa0, 0x157: 0xa0,
- 0x158: 0xa0, 0x159: 0xa9, 0x15a: 0xaa, 0x15b: 0xab, 0x15c: 0xac, 0x15d: 0xad, 0x15e: 0xae, 0x15f: 0xaf,
- 0x160: 0xb0, 0x161: 0xb1, 0x162: 0xb2, 0x163: 0xb3, 0x164: 0xb4, 0x165: 0xb5, 0x166: 0xb6, 0x167: 0xb7,
- 0x168: 0xb8, 0x169: 0xb9, 0x16a: 0xba, 0x16b: 0xbb, 0x16c: 0xbc, 0x16d: 0xbd, 0x16e: 0xbe, 0x16f: 0xbf,
- 0x170: 0xc0, 0x171: 0xc1, 0x172: 0xc2, 0x173: 0xc3, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc4,
- 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc5, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c,
- // Block 0x6, offset 0x180
- 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc6, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc7, 0x187: 0x9c,
- 0x188: 0xc8, 0x189: 0xc9, 0x18a: 0x9c, 0x18b: 0x9c, 0x18c: 0xca, 0x18d: 0x9c, 0x18e: 0x9c, 0x18f: 0x9c,
- 0x190: 0xcb, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9c, 0x195: 0x9c, 0x196: 0x9c, 0x197: 0x9c,
- 0x198: 0x9c, 0x199: 0x9c, 0x19a: 0x9c, 0x19b: 0x9c, 0x19c: 0x9c, 0x19d: 0x9c, 0x19e: 0x9c, 0x19f: 0x9c,
- 0x1a0: 0x9c, 0x1a1: 0x9c, 0x1a2: 0x9c, 0x1a3: 0x9c, 0x1a4: 0x9c, 0x1a5: 0x9c, 0x1a6: 0x9c, 0x1a7: 0x9c,
- 0x1a8: 0xcc, 0x1a9: 0xcd, 0x1aa: 0x9c, 0x1ab: 0xce, 0x1ac: 0x9c, 0x1ad: 0xcf, 0x1ae: 0xd0, 0x1af: 0x9c,
- 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5,
- 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1,
- 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0xe3, 0x1cd: 0xe4, 0x1ce: 0x3e, 0x1cf: 0x3f,
- 0x1d0: 0xa0, 0x1d1: 0xa0, 0x1d2: 0xa0, 0x1d3: 0xa0, 0x1d4: 0xa0, 0x1d5: 0xa0, 0x1d6: 0xa0, 0x1d7: 0xa0,
- 0x1d8: 0xa0, 0x1d9: 0xa0, 0x1da: 0xa0, 0x1db: 0xa0, 0x1dc: 0xa0, 0x1dd: 0xa0, 0x1de: 0xa0, 0x1df: 0xa0,
- 0x1e0: 0xa0, 0x1e1: 0xa0, 0x1e2: 0xa0, 0x1e3: 0xa0, 0x1e4: 0xa0, 0x1e5: 0xa0, 0x1e6: 0xa0, 0x1e7: 0xa0,
- 0x1e8: 0xa0, 0x1e9: 0xa0, 0x1ea: 0xa0, 0x1eb: 0xa0, 0x1ec: 0xa0, 0x1ed: 0xa0, 0x1ee: 0xa0, 0x1ef: 0xa0,
- 0x1f0: 0xa0, 0x1f1: 0xa0, 0x1f2: 0xa0, 0x1f3: 0xa0, 0x1f4: 0xa0, 0x1f5: 0xa0, 0x1f6: 0xa0, 0x1f7: 0xa0,
- 0x1f8: 0xa0, 0x1f9: 0xa0, 0x1fa: 0xa0, 0x1fb: 0xa0, 0x1fc: 0xa0, 0x1fd: 0xa0, 0x1fe: 0xa0, 0x1ff: 0xa0,
- // Block 0x8, offset 0x200
- 0x200: 0xa0, 0x201: 0xa0, 0x202: 0xa0, 0x203: 0xa0, 0x204: 0xa0, 0x205: 0xa0, 0x206: 0xa0, 0x207: 0xa0,
- 0x208: 0xa0, 0x209: 0xa0, 0x20a: 0xa0, 0x20b: 0xa0, 0x20c: 0xa0, 0x20d: 0xa0, 0x20e: 0xa0, 0x20f: 0xa0,
- 0x210: 0xa0, 0x211: 0xa0, 0x212: 0xa0, 0x213: 0xa0, 0x214: 0xa0, 0x215: 0xa0, 0x216: 0xa0, 0x217: 0xa0,
- 0x218: 0xa0, 0x219: 0xa0, 0x21a: 0xa0, 0x21b: 0xa0, 0x21c: 0xa0, 0x21d: 0xa0, 0x21e: 0xa0, 0x21f: 0xa0,
- 0x220: 0xa0, 0x221: 0xa0, 0x222: 0xa0, 0x223: 0xa0, 0x224: 0xa0, 0x225: 0xa0, 0x226: 0xa0, 0x227: 0xa0,
- 0x228: 0xa0, 0x229: 0xa0, 0x22a: 0xa0, 0x22b: 0xa0, 0x22c: 0xa0, 0x22d: 0xa0, 0x22e: 0xa0, 0x22f: 0xa0,
- 0x230: 0xa0, 0x231: 0xa0, 0x232: 0xa0, 0x233: 0xa0, 0x234: 0xa0, 0x235: 0xa0, 0x236: 0xa0, 0x237: 0x9c,
- 0x238: 0xa0, 0x239: 0xa0, 0x23a: 0xa0, 0x23b: 0xa0, 0x23c: 0xa0, 0x23d: 0xa0, 0x23e: 0xa0, 0x23f: 0xa0,
- // Block 0x9, offset 0x240
- 0x240: 0xa0, 0x241: 0xa0, 0x242: 0xa0, 0x243: 0xa0, 0x244: 0xa0, 0x245: 0xa0, 0x246: 0xa0, 0x247: 0xa0,
- 0x248: 0xa0, 0x249: 0xa0, 0x24a: 0xa0, 0x24b: 0xa0, 0x24c: 0xa0, 0x24d: 0xa0, 0x24e: 0xa0, 0x24f: 0xa0,
- 0x250: 0xa0, 0x251: 0xa0, 0x252: 0xa0, 0x253: 0xa0, 0x254: 0xa0, 0x255: 0xa0, 0x256: 0xa0, 0x257: 0xa0,
- 0x258: 0xa0, 0x259: 0xa0, 0x25a: 0xa0, 0x25b: 0xa0, 0x25c: 0xa0, 0x25d: 0xa0, 0x25e: 0xa0, 0x25f: 0xa0,
- 0x260: 0xa0, 0x261: 0xa0, 0x262: 0xa0, 0x263: 0xa0, 0x264: 0xa0, 0x265: 0xa0, 0x266: 0xa0, 0x267: 0xa0,
- 0x268: 0xa0, 0x269: 0xa0, 0x26a: 0xa0, 0x26b: 0xa0, 0x26c: 0xa0, 0x26d: 0xa0, 0x26e: 0xa0, 0x26f: 0xa0,
- 0x270: 0xa0, 0x271: 0xa0, 0x272: 0xa0, 0x273: 0xa0, 0x274: 0xa0, 0x275: 0xa0, 0x276: 0xa0, 0x277: 0xa0,
- 0x278: 0xa0, 0x279: 0xa0, 0x27a: 0xa0, 0x27b: 0xa0, 0x27c: 0xa0, 0x27d: 0xa0, 0x27e: 0xa0, 0x27f: 0xa0,
- // Block 0xa, offset 0x280
- 0x280: 0xa0, 0x281: 0xa0, 0x282: 0xa0, 0x283: 0xa0, 0x284: 0xa0, 0x285: 0xa0, 0x286: 0xa0, 0x287: 0xa0,
- 0x288: 0xa0, 0x289: 0xa0, 0x28a: 0xa0, 0x28b: 0xa0, 0x28c: 0xa0, 0x28d: 0xa0, 0x28e: 0xa0, 0x28f: 0xa0,
- 0x290: 0xa0, 0x291: 0xa0, 0x292: 0xa0, 0x293: 0xa0, 0x294: 0xa0, 0x295: 0xa0, 0x296: 0xa0, 0x297: 0xa0,
- 0x298: 0xa0, 0x299: 0xa0, 0x29a: 0xa0, 0x29b: 0xa0, 0x29c: 0xa0, 0x29d: 0xa0, 0x29e: 0xa0, 0x29f: 0xa0,
- 0x2a0: 0xa0, 0x2a1: 0xa0, 0x2a2: 0xa0, 0x2a3: 0xa0, 0x2a4: 0xa0, 0x2a5: 0xa0, 0x2a6: 0xa0, 0x2a7: 0xa0,
- 0x2a8: 0xa0, 0x2a9: 0xa0, 0x2aa: 0xa0, 0x2ab: 0xa0, 0x2ac: 0xa0, 0x2ad: 0xa0, 0x2ae: 0xa0, 0x2af: 0xa0,
- 0x2b0: 0xa0, 0x2b1: 0xa0, 0x2b2: 0xa0, 0x2b3: 0xa0, 0x2b4: 0xa0, 0x2b5: 0xa0, 0x2b6: 0xa0, 0x2b7: 0xa0,
- 0x2b8: 0xa0, 0x2b9: 0xa0, 0x2ba: 0xa0, 0x2bb: 0xa0, 0x2bc: 0xa0, 0x2bd: 0xa0, 0x2be: 0xa0, 0x2bf: 0xe5,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0xa0, 0x2c1: 0xa0, 0x2c2: 0xa0, 0x2c3: 0xa0, 0x2c4: 0xa0, 0x2c5: 0xa0, 0x2c6: 0xa0, 0x2c7: 0xa0,
- 0x2c8: 0xa0, 0x2c9: 0xa0, 0x2ca: 0xa0, 0x2cb: 0xa0, 0x2cc: 0xa0, 0x2cd: 0xa0, 0x2ce: 0xa0, 0x2cf: 0xa0,
- 0x2d0: 0xa0, 0x2d1: 0xa0, 0x2d2: 0xe6, 0x2d3: 0xe7, 0x2d4: 0xa0, 0x2d5: 0xa0, 0x2d6: 0xa0, 0x2d7: 0xa0,
- 0x2d8: 0xe8, 0x2d9: 0x40, 0x2da: 0x41, 0x2db: 0xe9, 0x2dc: 0x42, 0x2dd: 0x43, 0x2de: 0x44, 0x2df: 0xea,
- 0x2e0: 0xeb, 0x2e1: 0xec, 0x2e2: 0xed, 0x2e3: 0xee, 0x2e4: 0xef, 0x2e5: 0xf0, 0x2e6: 0xf1, 0x2e7: 0xf2,
- 0x2e8: 0xf3, 0x2e9: 0xf4, 0x2ea: 0xf5, 0x2eb: 0xf6, 0x2ec: 0xf7, 0x2ed: 0xf8, 0x2ee: 0xf9, 0x2ef: 0xfa,
- 0x2f0: 0xa0, 0x2f1: 0xa0, 0x2f2: 0xa0, 0x2f3: 0xa0, 0x2f4: 0xa0, 0x2f5: 0xa0, 0x2f6: 0xa0, 0x2f7: 0xa0,
- 0x2f8: 0xa0, 0x2f9: 0xa0, 0x2fa: 0xa0, 0x2fb: 0xa0, 0x2fc: 0xa0, 0x2fd: 0xa0, 0x2fe: 0xa0, 0x2ff: 0xa0,
- // Block 0xc, offset 0x300
- 0x300: 0xa0, 0x301: 0xa0, 0x302: 0xa0, 0x303: 0xa0, 0x304: 0xa0, 0x305: 0xa0, 0x306: 0xa0, 0x307: 0xa0,
- 0x308: 0xa0, 0x309: 0xa0, 0x30a: 0xa0, 0x30b: 0xa0, 0x30c: 0xa0, 0x30d: 0xa0, 0x30e: 0xa0, 0x30f: 0xa0,
- 0x310: 0xa0, 0x311: 0xa0, 0x312: 0xa0, 0x313: 0xa0, 0x314: 0xa0, 0x315: 0xa0, 0x316: 0xa0, 0x317: 0xa0,
- 0x318: 0xa0, 0x319: 0xa0, 0x31a: 0xa0, 0x31b: 0xa0, 0x31c: 0xa0, 0x31d: 0xa0, 0x31e: 0xfb, 0x31f: 0xfc,
- // Block 0xd, offset 0x340
- 0x340: 0xfd, 0x341: 0xfd, 0x342: 0xfd, 0x343: 0xfd, 0x344: 0xfd, 0x345: 0xfd, 0x346: 0xfd, 0x347: 0xfd,
- 0x348: 0xfd, 0x349: 0xfd, 0x34a: 0xfd, 0x34b: 0xfd, 0x34c: 0xfd, 0x34d: 0xfd, 0x34e: 0xfd, 0x34f: 0xfd,
- 0x350: 0xfd, 0x351: 0xfd, 0x352: 0xfd, 0x353: 0xfd, 0x354: 0xfd, 0x355: 0xfd, 0x356: 0xfd, 0x357: 0xfd,
- 0x358: 0xfd, 0x359: 0xfd, 0x35a: 0xfd, 0x35b: 0xfd, 0x35c: 0xfd, 0x35d: 0xfd, 0x35e: 0xfd, 0x35f: 0xfd,
- 0x360: 0xfd, 0x361: 0xfd, 0x362: 0xfd, 0x363: 0xfd, 0x364: 0xfd, 0x365: 0xfd, 0x366: 0xfd, 0x367: 0xfd,
- 0x368: 0xfd, 0x369: 0xfd, 0x36a: 0xfd, 0x36b: 0xfd, 0x36c: 0xfd, 0x36d: 0xfd, 0x36e: 0xfd, 0x36f: 0xfd,
- 0x370: 0xfd, 0x371: 0xfd, 0x372: 0xfd, 0x373: 0xfd, 0x374: 0xfd, 0x375: 0xfd, 0x376: 0xfd, 0x377: 0xfd,
- 0x378: 0xfd, 0x379: 0xfd, 0x37a: 0xfd, 0x37b: 0xfd, 0x37c: 0xfd, 0x37d: 0xfd, 0x37e: 0xfd, 0x37f: 0xfd,
- // Block 0xe, offset 0x380
- 0x380: 0xfd, 0x381: 0xfd, 0x382: 0xfd, 0x383: 0xfd, 0x384: 0xfd, 0x385: 0xfd, 0x386: 0xfd, 0x387: 0xfd,
- 0x388: 0xfd, 0x389: 0xfd, 0x38a: 0xfd, 0x38b: 0xfd, 0x38c: 0xfd, 0x38d: 0xfd, 0x38e: 0xfd, 0x38f: 0xfd,
- 0x390: 0xfd, 0x391: 0xfd, 0x392: 0xfd, 0x393: 0xfd, 0x394: 0xfd, 0x395: 0xfd, 0x396: 0xfd, 0x397: 0xfd,
- 0x398: 0xfd, 0x399: 0xfd, 0x39a: 0xfd, 0x39b: 0xfd, 0x39c: 0xfd, 0x39d: 0xfd, 0x39e: 0xfd, 0x39f: 0xfd,
- 0x3a0: 0xfd, 0x3a1: 0xfd, 0x3a2: 0xfd, 0x3a3: 0xfd, 0x3a4: 0xfe, 0x3a5: 0xff, 0x3a6: 0x100, 0x3a7: 0x101,
- 0x3a8: 0x45, 0x3a9: 0x102, 0x3aa: 0x103, 0x3ab: 0x46, 0x3ac: 0x47, 0x3ad: 0x48, 0x3ae: 0x49, 0x3af: 0x4a,
- 0x3b0: 0x104, 0x3b1: 0x4b, 0x3b2: 0x4c, 0x3b3: 0x4d, 0x3b4: 0x4e, 0x3b5: 0x4f, 0x3b6: 0x105, 0x3b7: 0x50,
- 0x3b8: 0x51, 0x3b9: 0x52, 0x3ba: 0x53, 0x3bb: 0x54, 0x3bc: 0x55, 0x3bd: 0x56, 0x3be: 0x57, 0x3bf: 0x58,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x106, 0x3c1: 0x107, 0x3c2: 0xa0, 0x3c3: 0x108, 0x3c4: 0x109, 0x3c5: 0x9c, 0x3c6: 0x10a, 0x3c7: 0x10b,
- 0x3c8: 0xfd, 0x3c9: 0xfd, 0x3ca: 0x10c, 0x3cb: 0x10d, 0x3cc: 0x10e, 0x3cd: 0x10f, 0x3ce: 0x110, 0x3cf: 0x111,
- 0x3d0: 0x112, 0x3d1: 0xa0, 0x3d2: 0x113, 0x3d3: 0x114, 0x3d4: 0x115, 0x3d5: 0x116, 0x3d6: 0xfd, 0x3d7: 0xfd,
- 0x3d8: 0xa0, 0x3d9: 0xa0, 0x3da: 0xa0, 0x3db: 0xa0, 0x3dc: 0x117, 0x3dd: 0x118, 0x3de: 0xfd, 0x3df: 0xfd,
- 0x3e0: 0x119, 0x3e1: 0x11a, 0x3e2: 0x11b, 0x3e3: 0x11c, 0x3e4: 0x11d, 0x3e5: 0xfd, 0x3e6: 0x11e, 0x3e7: 0x11f,
- 0x3e8: 0x120, 0x3e9: 0x121, 0x3ea: 0x122, 0x3eb: 0x59, 0x3ec: 0x123, 0x3ed: 0x124, 0x3ee: 0x5a, 0x3ef: 0xfd,
- 0x3f0: 0x125, 0x3f1: 0x126, 0x3f2: 0x127, 0x3f3: 0x128, 0x3f4: 0x129, 0x3f5: 0xfd, 0x3f6: 0xfd, 0x3f7: 0xfd,
- 0x3f8: 0xfd, 0x3f9: 0x12a, 0x3fa: 0x12b, 0x3fb: 0xfd, 0x3fc: 0x12c, 0x3fd: 0x12d, 0x3fe: 0x12e, 0x3ff: 0x12f,
- // Block 0x10, offset 0x400
- 0x400: 0x130, 0x401: 0x131, 0x402: 0x132, 0x403: 0x133, 0x404: 0x134, 0x405: 0x135, 0x406: 0x136, 0x407: 0x137,
- 0x408: 0x138, 0x409: 0xfd, 0x40a: 0x139, 0x40b: 0x13a, 0x40c: 0x5b, 0x40d: 0x5c, 0x40e: 0xfd, 0x40f: 0xfd,
- 0x410: 0x13b, 0x411: 0x13c, 0x412: 0x13d, 0x413: 0x13e, 0x414: 0xfd, 0x415: 0xfd, 0x416: 0x13f, 0x417: 0x140,
- 0x418: 0x141, 0x419: 0x142, 0x41a: 0x143, 0x41b: 0x144, 0x41c: 0x145, 0x41d: 0xfd, 0x41e: 0xfd, 0x41f: 0xfd,
- 0x420: 0x146, 0x421: 0xfd, 0x422: 0x147, 0x423: 0x148, 0x424: 0x5d, 0x425: 0x149, 0x426: 0x14a, 0x427: 0x14b,
- 0x428: 0x14c, 0x429: 0x14d, 0x42a: 0x14e, 0x42b: 0x14f, 0x42c: 0xfd, 0x42d: 0xfd, 0x42e: 0xfd, 0x42f: 0xfd,
- 0x430: 0x150, 0x431: 0x151, 0x432: 0x152, 0x433: 0xfd, 0x434: 0x153, 0x435: 0x154, 0x436: 0x155, 0x437: 0xfd,
- 0x438: 0xfd, 0x439: 0xfd, 0x43a: 0xfd, 0x43b: 0x156, 0x43c: 0xfd, 0x43d: 0xfd, 0x43e: 0x157, 0x43f: 0x158,
- // Block 0x11, offset 0x440
- 0x440: 0xa0, 0x441: 0xa0, 0x442: 0xa0, 0x443: 0xa0, 0x444: 0xa0, 0x445: 0xa0, 0x446: 0xa0, 0x447: 0xa0,
- 0x448: 0xa0, 0x449: 0xa0, 0x44a: 0xa0, 0x44b: 0xa0, 0x44c: 0xa0, 0x44d: 0xa0, 0x44e: 0x159, 0x44f: 0xfd,
- 0x450: 0x9c, 0x451: 0x15a, 0x452: 0xa0, 0x453: 0xa0, 0x454: 0xa0, 0x455: 0x15b, 0x456: 0xfd, 0x457: 0xfd,
- 0x458: 0xfd, 0x459: 0xfd, 0x45a: 0xfd, 0x45b: 0xfd, 0x45c: 0xfd, 0x45d: 0xfd, 0x45e: 0xfd, 0x45f: 0xfd,
- 0x460: 0xfd, 0x461: 0xfd, 0x462: 0xfd, 0x463: 0xfd, 0x464: 0xfd, 0x465: 0xfd, 0x466: 0xfd, 0x467: 0xfd,
- 0x468: 0xfd, 0x469: 0xfd, 0x46a: 0xfd, 0x46b: 0xfd, 0x46c: 0xfd, 0x46d: 0xfd, 0x46e: 0xfd, 0x46f: 0xfd,
- 0x470: 0xfd, 0x471: 0xfd, 0x472: 0xfd, 0x473: 0xfd, 0x474: 0xfd, 0x475: 0xfd, 0x476: 0xfd, 0x477: 0xfd,
- 0x478: 0xfd, 0x479: 0xfd, 0x47a: 0xfd, 0x47b: 0xfd, 0x47c: 0xfd, 0x47d: 0xfd, 0x47e: 0xfd, 0x47f: 0xfd,
- // Block 0x12, offset 0x480
- 0x480: 0xa0, 0x481: 0xa0, 0x482: 0xa0, 0x483: 0xa0, 0x484: 0xa0, 0x485: 0xa0, 0x486: 0xa0, 0x487: 0xa0,
- 0x488: 0xa0, 0x489: 0xa0, 0x48a: 0xa0, 0x48b: 0xa0, 0x48c: 0xa0, 0x48d: 0xa0, 0x48e: 0xa0, 0x48f: 0xa0,
- 0x490: 0x15c, 0x491: 0xfd, 0x492: 0xfd, 0x493: 0xfd, 0x494: 0xfd, 0x495: 0xfd, 0x496: 0xfd, 0x497: 0xfd,
- 0x498: 0xfd, 0x499: 0xfd, 0x49a: 0xfd, 0x49b: 0xfd, 0x49c: 0xfd, 0x49d: 0xfd, 0x49e: 0xfd, 0x49f: 0xfd,
- 0x4a0: 0xfd, 0x4a1: 0xfd, 0x4a2: 0xfd, 0x4a3: 0xfd, 0x4a4: 0xfd, 0x4a5: 0xfd, 0x4a6: 0xfd, 0x4a7: 0xfd,
- 0x4a8: 0xfd, 0x4a9: 0xfd, 0x4aa: 0xfd, 0x4ab: 0xfd, 0x4ac: 0xfd, 0x4ad: 0xfd, 0x4ae: 0xfd, 0x4af: 0xfd,
- 0x4b0: 0xfd, 0x4b1: 0xfd, 0x4b2: 0xfd, 0x4b3: 0xfd, 0x4b4: 0xfd, 0x4b5: 0xfd, 0x4b6: 0xfd, 0x4b7: 0xfd,
- 0x4b8: 0xfd, 0x4b9: 0xfd, 0x4ba: 0xfd, 0x4bb: 0xfd, 0x4bc: 0xfd, 0x4bd: 0xfd, 0x4be: 0xfd, 0x4bf: 0xfd,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0xfd, 0x4c1: 0xfd, 0x4c2: 0xfd, 0x4c3: 0xfd, 0x4c4: 0xfd, 0x4c5: 0xfd, 0x4c6: 0xfd, 0x4c7: 0xfd,
- 0x4c8: 0xfd, 0x4c9: 0xfd, 0x4ca: 0xfd, 0x4cb: 0xfd, 0x4cc: 0xfd, 0x4cd: 0xfd, 0x4ce: 0xfd, 0x4cf: 0xfd,
- 0x4d0: 0xa0, 0x4d1: 0xa0, 0x4d2: 0xa0, 0x4d3: 0xa0, 0x4d4: 0xa0, 0x4d5: 0xa0, 0x4d6: 0xa0, 0x4d7: 0xa0,
- 0x4d8: 0xa0, 0x4d9: 0x15d, 0x4da: 0xfd, 0x4db: 0xfd, 0x4dc: 0xfd, 0x4dd: 0xfd, 0x4de: 0xfd, 0x4df: 0xfd,
- 0x4e0: 0xfd, 0x4e1: 0xfd, 0x4e2: 0xfd, 0x4e3: 0xfd, 0x4e4: 0xfd, 0x4e5: 0xfd, 0x4e6: 0xfd, 0x4e7: 0xfd,
- 0x4e8: 0xfd, 0x4e9: 0xfd, 0x4ea: 0xfd, 0x4eb: 0xfd, 0x4ec: 0xfd, 0x4ed: 0xfd, 0x4ee: 0xfd, 0x4ef: 0xfd,
- 0x4f0: 0xfd, 0x4f1: 0xfd, 0x4f2: 0xfd, 0x4f3: 0xfd, 0x4f4: 0xfd, 0x4f5: 0xfd, 0x4f6: 0xfd, 0x4f7: 0xfd,
- 0x4f8: 0xfd, 0x4f9: 0xfd, 0x4fa: 0xfd, 0x4fb: 0xfd, 0x4fc: 0xfd, 0x4fd: 0xfd, 0x4fe: 0xfd, 0x4ff: 0xfd,
- // Block 0x14, offset 0x500
- 0x500: 0xfd, 0x501: 0xfd, 0x502: 0xfd, 0x503: 0xfd, 0x504: 0xfd, 0x505: 0xfd, 0x506: 0xfd, 0x507: 0xfd,
- 0x508: 0xfd, 0x509: 0xfd, 0x50a: 0xfd, 0x50b: 0xfd, 0x50c: 0xfd, 0x50d: 0xfd, 0x50e: 0xfd, 0x50f: 0xfd,
- 0x510: 0xfd, 0x511: 0xfd, 0x512: 0xfd, 0x513: 0xfd, 0x514: 0xfd, 0x515: 0xfd, 0x516: 0xfd, 0x517: 0xfd,
- 0x518: 0xfd, 0x519: 0xfd, 0x51a: 0xfd, 0x51b: 0xfd, 0x51c: 0xfd, 0x51d: 0xfd, 0x51e: 0xfd, 0x51f: 0xfd,
- 0x520: 0xa0, 0x521: 0xa0, 0x522: 0xa0, 0x523: 0xa0, 0x524: 0xa0, 0x525: 0xa0, 0x526: 0xa0, 0x527: 0xa0,
- 0x528: 0x14f, 0x529: 0x15e, 0x52a: 0xfd, 0x52b: 0x15f, 0x52c: 0x160, 0x52d: 0x161, 0x52e: 0x162, 0x52f: 0xfd,
- 0x530: 0xfd, 0x531: 0xfd, 0x532: 0xfd, 0x533: 0xfd, 0x534: 0xfd, 0x535: 0xfd, 0x536: 0xfd, 0x537: 0xfd,
- 0x538: 0xfd, 0x539: 0x163, 0x53a: 0x164, 0x53b: 0xfd, 0x53c: 0xa0, 0x53d: 0x165, 0x53e: 0x166, 0x53f: 0x167,
- // Block 0x15, offset 0x540
- 0x540: 0xa0, 0x541: 0xa0, 0x542: 0xa0, 0x543: 0xa0, 0x544: 0xa0, 0x545: 0xa0, 0x546: 0xa0, 0x547: 0xa0,
- 0x548: 0xa0, 0x549: 0xa0, 0x54a: 0xa0, 0x54b: 0xa0, 0x54c: 0xa0, 0x54d: 0xa0, 0x54e: 0xa0, 0x54f: 0xa0,
- 0x550: 0xa0, 0x551: 0xa0, 0x552: 0xa0, 0x553: 0xa0, 0x554: 0xa0, 0x555: 0xa0, 0x556: 0xa0, 0x557: 0xa0,
- 0x558: 0xa0, 0x559: 0xa0, 0x55a: 0xa0, 0x55b: 0xa0, 0x55c: 0xa0, 0x55d: 0xa0, 0x55e: 0xa0, 0x55f: 0x168,
- 0x560: 0xa0, 0x561: 0xa0, 0x562: 0xa0, 0x563: 0xa0, 0x564: 0xa0, 0x565: 0xa0, 0x566: 0xa0, 0x567: 0xa0,
- 0x568: 0xa0, 0x569: 0xa0, 0x56a: 0xa0, 0x56b: 0xa0, 0x56c: 0xa0, 0x56d: 0xa0, 0x56e: 0xa0, 0x56f: 0xa0,
- 0x570: 0xa0, 0x571: 0xa0, 0x572: 0xa0, 0x573: 0x169, 0x574: 0x16a, 0x575: 0xfd, 0x576: 0xfd, 0x577: 0xfd,
- 0x578: 0xfd, 0x579: 0xfd, 0x57a: 0xfd, 0x57b: 0xfd, 0x57c: 0xfd, 0x57d: 0xfd, 0x57e: 0xfd, 0x57f: 0xfd,
- // Block 0x16, offset 0x580
- 0x580: 0xa0, 0x581: 0xa0, 0x582: 0xa0, 0x583: 0xa0, 0x584: 0x16b, 0x585: 0x16c, 0x586: 0xa0, 0x587: 0xa0,
- 0x588: 0xa0, 0x589: 0xa0, 0x58a: 0xa0, 0x58b: 0x16d, 0x58c: 0xfd, 0x58d: 0xfd, 0x58e: 0xfd, 0x58f: 0xfd,
- 0x590: 0xfd, 0x591: 0xfd, 0x592: 0xfd, 0x593: 0xfd, 0x594: 0xfd, 0x595: 0xfd, 0x596: 0xfd, 0x597: 0xfd,
- 0x598: 0xfd, 0x599: 0xfd, 0x59a: 0xfd, 0x59b: 0xfd, 0x59c: 0xfd, 0x59d: 0xfd, 0x59e: 0xfd, 0x59f: 0xfd,
- 0x5a0: 0xfd, 0x5a1: 0xfd, 0x5a2: 0xfd, 0x5a3: 0xfd, 0x5a4: 0xfd, 0x5a5: 0xfd, 0x5a6: 0xfd, 0x5a7: 0xfd,
- 0x5a8: 0xfd, 0x5a9: 0xfd, 0x5aa: 0xfd, 0x5ab: 0xfd, 0x5ac: 0xfd, 0x5ad: 0xfd, 0x5ae: 0xfd, 0x5af: 0xfd,
- 0x5b0: 0xa0, 0x5b1: 0x16e, 0x5b2: 0x16f, 0x5b3: 0xfd, 0x5b4: 0xfd, 0x5b5: 0xfd, 0x5b6: 0xfd, 0x5b7: 0xfd,
- 0x5b8: 0xfd, 0x5b9: 0xfd, 0x5ba: 0xfd, 0x5bb: 0xfd, 0x5bc: 0xfd, 0x5bd: 0xfd, 0x5be: 0xfd, 0x5bf: 0xfd,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x9c, 0x5c1: 0x9c, 0x5c2: 0x9c, 0x5c3: 0x170, 0x5c4: 0x171, 0x5c5: 0x172, 0x5c6: 0x173, 0x5c7: 0x174,
- 0x5c8: 0x9c, 0x5c9: 0x175, 0x5ca: 0xfd, 0x5cb: 0x176, 0x5cc: 0x9c, 0x5cd: 0x177, 0x5ce: 0xfd, 0x5cf: 0xfd,
- 0x5d0: 0x5e, 0x5d1: 0x5f, 0x5d2: 0x60, 0x5d3: 0x61, 0x5d4: 0x62, 0x5d5: 0x63, 0x5d6: 0x64, 0x5d7: 0x65,
- 0x5d8: 0x66, 0x5d9: 0x67, 0x5da: 0x68, 0x5db: 0x69, 0x5dc: 0x6a, 0x5dd: 0x6b, 0x5de: 0x6c, 0x5df: 0x6d,
- 0x5e0: 0x9c, 0x5e1: 0x9c, 0x5e2: 0x9c, 0x5e3: 0x9c, 0x5e4: 0x9c, 0x5e5: 0x9c, 0x5e6: 0x9c, 0x5e7: 0x9c,
- 0x5e8: 0x178, 0x5e9: 0x179, 0x5ea: 0x17a, 0x5eb: 0xfd, 0x5ec: 0xfd, 0x5ed: 0xfd, 0x5ee: 0xfd, 0x5ef: 0xfd,
- 0x5f0: 0xfd, 0x5f1: 0xfd, 0x5f2: 0xfd, 0x5f3: 0xfd, 0x5f4: 0xfd, 0x5f5: 0xfd, 0x5f6: 0xfd, 0x5f7: 0xfd,
- 0x5f8: 0xfd, 0x5f9: 0xfd, 0x5fa: 0xfd, 0x5fb: 0xfd, 0x5fc: 0xfd, 0x5fd: 0xfd, 0x5fe: 0xfd, 0x5ff: 0xfd,
- // Block 0x18, offset 0x600
- 0x600: 0x17b, 0x601: 0xfd, 0x602: 0xfd, 0x603: 0xfd, 0x604: 0x17c, 0x605: 0x17d, 0x606: 0xfd, 0x607: 0xfd,
- 0x608: 0xfd, 0x609: 0xfd, 0x60a: 0xfd, 0x60b: 0x17e, 0x60c: 0xfd, 0x60d: 0xfd, 0x60e: 0xfd, 0x60f: 0xfd,
- 0x610: 0xfd, 0x611: 0xfd, 0x612: 0xfd, 0x613: 0xfd, 0x614: 0xfd, 0x615: 0xfd, 0x616: 0xfd, 0x617: 0xfd,
- 0x618: 0xfd, 0x619: 0xfd, 0x61a: 0xfd, 0x61b: 0xfd, 0x61c: 0xfd, 0x61d: 0xfd, 0x61e: 0xfd, 0x61f: 0xfd,
- 0x620: 0x125, 0x621: 0x125, 0x622: 0x125, 0x623: 0x17f, 0x624: 0x6e, 0x625: 0x180, 0x626: 0xfd, 0x627: 0xfd,
- 0x628: 0xfd, 0x629: 0xfd, 0x62a: 0xfd, 0x62b: 0xfd, 0x62c: 0xfd, 0x62d: 0xfd, 0x62e: 0xfd, 0x62f: 0xfd,
- 0x630: 0xfd, 0x631: 0x181, 0x632: 0x182, 0x633: 0xfd, 0x634: 0x183, 0x635: 0xfd, 0x636: 0xfd, 0x637: 0xfd,
- 0x638: 0x6f, 0x639: 0x70, 0x63a: 0x71, 0x63b: 0x184, 0x63c: 0xfd, 0x63d: 0xfd, 0x63e: 0xfd, 0x63f: 0xfd,
- // Block 0x19, offset 0x640
- 0x640: 0x185, 0x641: 0x9c, 0x642: 0x186, 0x643: 0x187, 0x644: 0x72, 0x645: 0x73, 0x646: 0x188, 0x647: 0x189,
- 0x648: 0x74, 0x649: 0x18a, 0x64a: 0xfd, 0x64b: 0xfd, 0x64c: 0x9c, 0x64d: 0x9c, 0x64e: 0x9c, 0x64f: 0x9c,
- 0x650: 0x9c, 0x651: 0x9c, 0x652: 0x9c, 0x653: 0x9c, 0x654: 0x9c, 0x655: 0x9c, 0x656: 0x9c, 0x657: 0x9c,
- 0x658: 0x9c, 0x659: 0x9c, 0x65a: 0x9c, 0x65b: 0x18b, 0x65c: 0x9c, 0x65d: 0x18c, 0x65e: 0x9c, 0x65f: 0x18d,
- 0x660: 0x18e, 0x661: 0x18f, 0x662: 0x190, 0x663: 0xfd, 0x664: 0x9c, 0x665: 0x191, 0x666: 0x9c, 0x667: 0x192,
- 0x668: 0x9c, 0x669: 0x193, 0x66a: 0x194, 0x66b: 0x195, 0x66c: 0x9c, 0x66d: 0x9c, 0x66e: 0x196, 0x66f: 0x197,
- 0x670: 0xfd, 0x671: 0xfd, 0x672: 0xfd, 0x673: 0xfd, 0x674: 0xfd, 0x675: 0xfd, 0x676: 0xfd, 0x677: 0xfd,
- 0x678: 0xfd, 0x679: 0xfd, 0x67a: 0xfd, 0x67b: 0xfd, 0x67c: 0xfd, 0x67d: 0xfd, 0x67e: 0xfd, 0x67f: 0xfd,
- // Block 0x1a, offset 0x680
- 0x680: 0xa0, 0x681: 0xa0, 0x682: 0xa0, 0x683: 0xa0, 0x684: 0xa0, 0x685: 0xa0, 0x686: 0xa0, 0x687: 0xa0,
- 0x688: 0xa0, 0x689: 0xa0, 0x68a: 0xa0, 0x68b: 0xa0, 0x68c: 0xa0, 0x68d: 0xa0, 0x68e: 0xa0, 0x68f: 0xa0,
- 0x690: 0xa0, 0x691: 0xa0, 0x692: 0xa0, 0x693: 0xa0, 0x694: 0xa0, 0x695: 0xa0, 0x696: 0xa0, 0x697: 0xa0,
- 0x698: 0xa0, 0x699: 0xa0, 0x69a: 0xa0, 0x69b: 0x198, 0x69c: 0xa0, 0x69d: 0xa0, 0x69e: 0xa0, 0x69f: 0xa0,
- 0x6a0: 0xa0, 0x6a1: 0xa0, 0x6a2: 0xa0, 0x6a3: 0xa0, 0x6a4: 0xa0, 0x6a5: 0xa0, 0x6a6: 0xa0, 0x6a7: 0xa0,
- 0x6a8: 0xa0, 0x6a9: 0xa0, 0x6aa: 0xa0, 0x6ab: 0xa0, 0x6ac: 0xa0, 0x6ad: 0xa0, 0x6ae: 0xa0, 0x6af: 0xa0,
- 0x6b0: 0xa0, 0x6b1: 0xa0, 0x6b2: 0xa0, 0x6b3: 0xa0, 0x6b4: 0xa0, 0x6b5: 0xa0, 0x6b6: 0xa0, 0x6b7: 0xa0,
- 0x6b8: 0xa0, 0x6b9: 0xa0, 0x6ba: 0xa0, 0x6bb: 0xa0, 0x6bc: 0xa0, 0x6bd: 0xa0, 0x6be: 0xa0, 0x6bf: 0xa0,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0xa0, 0x6c1: 0xa0, 0x6c2: 0xa0, 0x6c3: 0xa0, 0x6c4: 0xa0, 0x6c5: 0xa0, 0x6c6: 0xa0, 0x6c7: 0xa0,
- 0x6c8: 0xa0, 0x6c9: 0xa0, 0x6ca: 0xa0, 0x6cb: 0xa0, 0x6cc: 0xa0, 0x6cd: 0xa0, 0x6ce: 0xa0, 0x6cf: 0xa0,
- 0x6d0: 0xa0, 0x6d1: 0xa0, 0x6d2: 0xa0, 0x6d3: 0xa0, 0x6d4: 0xa0, 0x6d5: 0xa0, 0x6d6: 0xa0, 0x6d7: 0xa0,
- 0x6d8: 0xa0, 0x6d9: 0xa0, 0x6da: 0xa0, 0x6db: 0xa0, 0x6dc: 0x199, 0x6dd: 0xa0, 0x6de: 0xa0, 0x6df: 0xa0,
- 0x6e0: 0x19a, 0x6e1: 0xa0, 0x6e2: 0xa0, 0x6e3: 0xa0, 0x6e4: 0xa0, 0x6e5: 0xa0, 0x6e6: 0xa0, 0x6e7: 0xa0,
- 0x6e8: 0xa0, 0x6e9: 0xa0, 0x6ea: 0xa0, 0x6eb: 0xa0, 0x6ec: 0xa0, 0x6ed: 0xa0, 0x6ee: 0xa0, 0x6ef: 0xa0,
- 0x6f0: 0xa0, 0x6f1: 0xa0, 0x6f2: 0xa0, 0x6f3: 0xa0, 0x6f4: 0xa0, 0x6f5: 0xa0, 0x6f6: 0xa0, 0x6f7: 0xa0,
- 0x6f8: 0xa0, 0x6f9: 0xa0, 0x6fa: 0xa0, 0x6fb: 0xa0, 0x6fc: 0xa0, 0x6fd: 0xa0, 0x6fe: 0xa0, 0x6ff: 0xa0,
- // Block 0x1c, offset 0x700
- 0x700: 0xa0, 0x701: 0xa0, 0x702: 0xa0, 0x703: 0xa0, 0x704: 0xa0, 0x705: 0xa0, 0x706: 0xa0, 0x707: 0xa0,
- 0x708: 0xa0, 0x709: 0xa0, 0x70a: 0xa0, 0x70b: 0xa0, 0x70c: 0xa0, 0x70d: 0xa0, 0x70e: 0xa0, 0x70f: 0xa0,
- 0x710: 0xa0, 0x711: 0xa0, 0x712: 0xa0, 0x713: 0xa0, 0x714: 0xa0, 0x715: 0xa0, 0x716: 0xa0, 0x717: 0xa0,
- 0x718: 0xa0, 0x719: 0xa0, 0x71a: 0xa0, 0x71b: 0xa0, 0x71c: 0xa0, 0x71d: 0xa0, 0x71e: 0xa0, 0x71f: 0xa0,
- 0x720: 0xa0, 0x721: 0xa0, 0x722: 0xa0, 0x723: 0xa0, 0x724: 0xa0, 0x725: 0xa0, 0x726: 0xa0, 0x727: 0xa0,
- 0x728: 0xa0, 0x729: 0xa0, 0x72a: 0xa0, 0x72b: 0xa0, 0x72c: 0xa0, 0x72d: 0xa0, 0x72e: 0xa0, 0x72f: 0xa0,
- 0x730: 0xa0, 0x731: 0xa0, 0x732: 0xa0, 0x733: 0xa0, 0x734: 0xa0, 0x735: 0xa0, 0x736: 0xa0, 0x737: 0xa0,
- 0x738: 0xa0, 0x739: 0xa0, 0x73a: 0x19b, 0x73b: 0xa0, 0x73c: 0xa0, 0x73d: 0xa0, 0x73e: 0xa0, 0x73f: 0xa0,
- // Block 0x1d, offset 0x740
- 0x740: 0xa0, 0x741: 0xa0, 0x742: 0xa0, 0x743: 0xa0, 0x744: 0xa0, 0x745: 0xa0, 0x746: 0xa0, 0x747: 0xa0,
- 0x748: 0xa0, 0x749: 0xa0, 0x74a: 0xa0, 0x74b: 0xa0, 0x74c: 0xa0, 0x74d: 0xa0, 0x74e: 0xa0, 0x74f: 0xa0,
- 0x750: 0xa0, 0x751: 0xa0, 0x752: 0xa0, 0x753: 0xa0, 0x754: 0xa0, 0x755: 0xa0, 0x756: 0xa0, 0x757: 0xa0,
- 0x758: 0xa0, 0x759: 0xa0, 0x75a: 0xa0, 0x75b: 0xa0, 0x75c: 0xa0, 0x75d: 0xa0, 0x75e: 0xa0, 0x75f: 0xa0,
- 0x760: 0xa0, 0x761: 0xa0, 0x762: 0xa0, 0x763: 0xa0, 0x764: 0xa0, 0x765: 0xa0, 0x766: 0xa0, 0x767: 0xa0,
- 0x768: 0xa0, 0x769: 0xa0, 0x76a: 0xa0, 0x76b: 0xa0, 0x76c: 0xa0, 0x76d: 0xa0, 0x76e: 0xa0, 0x76f: 0x19c,
- 0x770: 0xfd, 0x771: 0xfd, 0x772: 0xfd, 0x773: 0xfd, 0x774: 0xfd, 0x775: 0xfd, 0x776: 0xfd, 0x777: 0xfd,
- 0x778: 0xfd, 0x779: 0xfd, 0x77a: 0xfd, 0x77b: 0xfd, 0x77c: 0xfd, 0x77d: 0xfd, 0x77e: 0xfd, 0x77f: 0xfd,
- // Block 0x1e, offset 0x780
- 0x780: 0xfd, 0x781: 0xfd, 0x782: 0xfd, 0x783: 0xfd, 0x784: 0xfd, 0x785: 0xfd, 0x786: 0xfd, 0x787: 0xfd,
- 0x788: 0xfd, 0x789: 0xfd, 0x78a: 0xfd, 0x78b: 0xfd, 0x78c: 0xfd, 0x78d: 0xfd, 0x78e: 0xfd, 0x78f: 0xfd,
- 0x790: 0xfd, 0x791: 0xfd, 0x792: 0xfd, 0x793: 0xfd, 0x794: 0xfd, 0x795: 0xfd, 0x796: 0xfd, 0x797: 0xfd,
- 0x798: 0xfd, 0x799: 0xfd, 0x79a: 0xfd, 0x79b: 0xfd, 0x79c: 0xfd, 0x79d: 0xfd, 0x79e: 0xfd, 0x79f: 0xfd,
- 0x7a0: 0x75, 0x7a1: 0x76, 0x7a2: 0x77, 0x7a3: 0x78, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x7b, 0x7a7: 0x7c,
- 0x7a8: 0x7d, 0x7a9: 0xfd, 0x7aa: 0xfd, 0x7ab: 0xfd, 0x7ac: 0xfd, 0x7ad: 0xfd, 0x7ae: 0xfd, 0x7af: 0xfd,
- 0x7b0: 0xfd, 0x7b1: 0xfd, 0x7b2: 0xfd, 0x7b3: 0xfd, 0x7b4: 0xfd, 0x7b5: 0xfd, 0x7b6: 0xfd, 0x7b7: 0xfd,
- 0x7b8: 0xfd, 0x7b9: 0xfd, 0x7ba: 0xfd, 0x7bb: 0xfd, 0x7bc: 0xfd, 0x7bd: 0xfd, 0x7be: 0xfd, 0x7bf: 0xfd,
- // Block 0x1f, offset 0x7c0
- 0x7c0: 0xa0, 0x7c1: 0xa0, 0x7c2: 0xa0, 0x7c3: 0xa0, 0x7c4: 0xa0, 0x7c5: 0xa0, 0x7c6: 0xa0, 0x7c7: 0xa0,
- 0x7c8: 0xa0, 0x7c9: 0xa0, 0x7ca: 0xa0, 0x7cb: 0xa0, 0x7cc: 0xa0, 0x7cd: 0x19d, 0x7ce: 0xfd, 0x7cf: 0xfd,
- 0x7d0: 0xfd, 0x7d1: 0xfd, 0x7d2: 0xfd, 0x7d3: 0xfd, 0x7d4: 0xfd, 0x7d5: 0xfd, 0x7d6: 0xfd, 0x7d7: 0xfd,
- 0x7d8: 0xfd, 0x7d9: 0xfd, 0x7da: 0xfd, 0x7db: 0xfd, 0x7dc: 0xfd, 0x7dd: 0xfd, 0x7de: 0xfd, 0x7df: 0xfd,
- 0x7e0: 0xfd, 0x7e1: 0xfd, 0x7e2: 0xfd, 0x7e3: 0xfd, 0x7e4: 0xfd, 0x7e5: 0xfd, 0x7e6: 0xfd, 0x7e7: 0xfd,
- 0x7e8: 0xfd, 0x7e9: 0xfd, 0x7ea: 0xfd, 0x7eb: 0xfd, 0x7ec: 0xfd, 0x7ed: 0xfd, 0x7ee: 0xfd, 0x7ef: 0xfd,
- 0x7f0: 0xfd, 0x7f1: 0xfd, 0x7f2: 0xfd, 0x7f3: 0xfd, 0x7f4: 0xfd, 0x7f5: 0xfd, 0x7f6: 0xfd, 0x7f7: 0xfd,
- 0x7f8: 0xfd, 0x7f9: 0xfd, 0x7fa: 0xfd, 0x7fb: 0xfd, 0x7fc: 0xfd, 0x7fd: 0xfd, 0x7fe: 0xfd, 0x7ff: 0xfd,
- // Block 0x20, offset 0x800
- 0x810: 0x0d, 0x811: 0x0e, 0x812: 0x0f, 0x813: 0x10, 0x814: 0x11, 0x815: 0x0b, 0x816: 0x12, 0x817: 0x07,
- 0x818: 0x13, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x14, 0x81c: 0x0b, 0x81d: 0x15, 0x81e: 0x16, 0x81f: 0x17,
- 0x820: 0x07, 0x821: 0x07, 0x822: 0x07, 0x823: 0x07, 0x824: 0x07, 0x825: 0x07, 0x826: 0x07, 0x827: 0x07,
- 0x828: 0x07, 0x829: 0x07, 0x82a: 0x18, 0x82b: 0x19, 0x82c: 0x1a, 0x82d: 0x07, 0x82e: 0x1b, 0x82f: 0x1c,
- 0x830: 0x07, 0x831: 0x1d, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b,
- 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b,
- // Block 0x21, offset 0x840
- 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b,
- 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b,
- 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b,
- 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b,
- 0x860: 0x0b, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b,
- 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b,
- 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b,
- 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b,
- // Block 0x22, offset 0x880
- 0x880: 0x19e, 0x881: 0x19f, 0x882: 0xfd, 0x883: 0xfd, 0x884: 0x1a0, 0x885: 0x1a0, 0x886: 0x1a0, 0x887: 0x1a1,
- 0x888: 0xfd, 0x889: 0xfd, 0x88a: 0xfd, 0x88b: 0xfd, 0x88c: 0xfd, 0x88d: 0xfd, 0x88e: 0xfd, 0x88f: 0xfd,
- 0x890: 0xfd, 0x891: 0xfd, 0x892: 0xfd, 0x893: 0xfd, 0x894: 0xfd, 0x895: 0xfd, 0x896: 0xfd, 0x897: 0xfd,
- 0x898: 0xfd, 0x899: 0xfd, 0x89a: 0xfd, 0x89b: 0xfd, 0x89c: 0xfd, 0x89d: 0xfd, 0x89e: 0xfd, 0x89f: 0xfd,
- 0x8a0: 0xfd, 0x8a1: 0xfd, 0x8a2: 0xfd, 0x8a3: 0xfd, 0x8a4: 0xfd, 0x8a5: 0xfd, 0x8a6: 0xfd, 0x8a7: 0xfd,
- 0x8a8: 0xfd, 0x8a9: 0xfd, 0x8aa: 0xfd, 0x8ab: 0xfd, 0x8ac: 0xfd, 0x8ad: 0xfd, 0x8ae: 0xfd, 0x8af: 0xfd,
- 0x8b0: 0xfd, 0x8b1: 0xfd, 0x8b2: 0xfd, 0x8b3: 0xfd, 0x8b4: 0xfd, 0x8b5: 0xfd, 0x8b6: 0xfd, 0x8b7: 0xfd,
- 0x8b8: 0xfd, 0x8b9: 0xfd, 0x8ba: 0xfd, 0x8bb: 0xfd, 0x8bc: 0xfd, 0x8bd: 0xfd, 0x8be: 0xfd, 0x8bf: 0xfd,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b,
- 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b,
- 0x8d0: 0x0b, 0x8d1: 0x0b, 0x8d2: 0x0b, 0x8d3: 0x0b, 0x8d4: 0x0b, 0x8d5: 0x0b, 0x8d6: 0x0b, 0x8d7: 0x0b,
- 0x8d8: 0x0b, 0x8d9: 0x0b, 0x8da: 0x0b, 0x8db: 0x0b, 0x8dc: 0x0b, 0x8dd: 0x0b, 0x8de: 0x0b, 0x8df: 0x0b,
- 0x8e0: 0x20, 0x8e1: 0x0b, 0x8e2: 0x0b, 0x8e3: 0x0b, 0x8e4: 0x0b, 0x8e5: 0x0b, 0x8e6: 0x0b, 0x8e7: 0x0b,
- 0x8e8: 0x0b, 0x8e9: 0x0b, 0x8ea: 0x0b, 0x8eb: 0x0b, 0x8ec: 0x0b, 0x8ed: 0x0b, 0x8ee: 0x0b, 0x8ef: 0x0b,
- 0x8f0: 0x0b, 0x8f1: 0x0b, 0x8f2: 0x0b, 0x8f3: 0x0b, 0x8f4: 0x0b, 0x8f5: 0x0b, 0x8f6: 0x0b, 0x8f7: 0x0b,
- 0x8f8: 0x0b, 0x8f9: 0x0b, 0x8fa: 0x0b, 0x8fb: 0x0b, 0x8fc: 0x0b, 0x8fd: 0x0b, 0x8fe: 0x0b, 0x8ff: 0x0b,
- // Block 0x24, offset 0x900
- 0x900: 0x0b, 0x901: 0x0b, 0x902: 0x0b, 0x903: 0x0b, 0x904: 0x0b, 0x905: 0x0b, 0x906: 0x0b, 0x907: 0x0b,
- 0x908: 0x0b, 0x909: 0x0b, 0x90a: 0x0b, 0x90b: 0x0b, 0x90c: 0x0b, 0x90d: 0x0b, 0x90e: 0x0b, 0x90f: 0x0b,
-}
-
-// idnaSparseOffset: 292 entries, 584 bytes
-var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x85, 0x8b, 0x94, 0xa4, 0xb2, 0xbd, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x225, 0x22f, 0x23b, 0x247, 0x253, 0x25b, 0x260, 0x26d, 0x27e, 0x282, 0x28d, 0x291, 0x29a, 0x2a2, 0x2a8, 0x2ad, 0x2b0, 0x2b4, 0x2ba, 0x2be, 0x2c2, 0x2c6, 0x2cc, 0x2d4, 0x2db, 0x2e6, 0x2f0, 0x2f4, 0x2f7, 0x2fd, 0x301, 0x303, 0x306, 0x308, 0x30b, 0x315, 0x318, 0x327, 0x32b, 0x32f, 0x331, 0x33a, 0x33d, 0x341, 0x346, 0x34b, 0x351, 0x362, 0x372, 0x378, 0x37c, 0x38b, 0x390, 0x398, 0x3a2, 0x3ad, 0x3b5, 0x3c6, 0x3cf, 0x3df, 0x3ec, 0x3f8, 0x3fd, 0x40a, 0x40e, 0x413, 0x415, 0x417, 0x41b, 0x41d, 0x421, 0x42a, 0x430, 0x434, 0x444, 0x44e, 0x453, 0x456, 0x45c, 0x463, 0x468, 0x46c, 0x472, 0x477, 0x480, 0x485, 0x48b, 0x492, 0x499, 0x4a0, 0x4a4, 0x4a9, 0x4ac, 0x4b1, 0x4bd, 0x4c3, 0x4c8, 0x4cf, 0x4d7, 0x4dc, 0x4e0, 0x4f0, 0x4f7, 0x4fb, 0x4ff, 0x506, 0x508, 0x50b, 0x50e, 0x512, 0x51b, 0x51f, 0x527, 0x52f, 0x537, 0x543, 0x54f, 0x555, 0x55e, 0x56a, 0x571, 0x57a, 0x585, 0x58c, 0x59b, 0x5a8, 0x5b5, 0x5be, 0x5c2, 0x5d1, 0x5d9, 0x5e4, 0x5ed, 0x5f3, 0x5fb, 0x604, 0x60f, 0x612, 0x61e, 0x627, 0x62a, 0x62f, 0x638, 0x63d, 0x64a, 0x655, 0x65e, 0x668, 0x66b, 0x675, 0x67e, 0x68a, 0x697, 0x6a4, 0x6b2, 0x6b9, 0x6bd, 0x6c1, 0x6c4, 0x6c9, 0x6cc, 0x6d1, 0x6d4, 0x6db, 0x6e2, 0x6e6, 0x6f1, 0x6f4, 0x6f7, 0x6fa, 0x700, 0x706, 0x70f, 0x712, 0x715, 0x718, 0x71b, 0x722, 0x725, 0x72a, 0x734, 0x737, 0x73b, 0x74a, 0x756, 0x75a, 0x75f, 0x763, 0x768, 0x76c, 0x771, 0x77a, 0x785, 0x78b, 0x791, 0x797, 0x79d, 0x7a6, 0x7a9, 0x7ac, 0x7b0, 0x7b4, 0x7b8, 0x7be, 0x7c4, 0x7c9, 0x7cc, 0x7dc, 0x7e3, 0x7e6, 0x7eb, 0x7ef, 0x7f5, 0x7fc, 0x800, 0x804, 0x80d, 0x814, 0x819, 0x81d, 0x82b, 0x82e, 0x831, 0x835, 0x839, 0x83c, 0x83f, 0x844, 0x846, 0x848}
-
-// idnaSparseValues: 2123 entries, 8492 bytes
-var idnaSparseValues = [2123]valueRange{
- // Block 0x0, offset 0x0
- {value: 0x0000, lo: 0x07},
- {value: 0xe105, lo: 0x80, hi: 0x96},
- {value: 0x0018, lo: 0x97, hi: 0x97},
- {value: 0xe105, lo: 0x98, hi: 0x9e},
- {value: 0x001f, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbf},
- // Block 0x1, offset 0x8
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0xe01d, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0335, lo: 0x83, hi: 0x83},
- {value: 0x034d, lo: 0x84, hi: 0x84},
- {value: 0x0365, lo: 0x85, hi: 0x85},
- {value: 0xe00d, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0xe00d, lo: 0x88, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x89},
- {value: 0xe00d, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe00d, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0x8d},
- {value: 0xe00d, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0xbf},
- // Block 0x2, offset 0x19
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x00a9, lo: 0xb0, hi: 0xb0},
- {value: 0x037d, lo: 0xb1, hi: 0xb1},
- {value: 0x00b1, lo: 0xb2, hi: 0xb2},
- {value: 0x00b9, lo: 0xb3, hi: 0xb3},
- {value: 0x034d, lo: 0xb4, hi: 0xb4},
- {value: 0x0395, lo: 0xb5, hi: 0xb5},
- {value: 0xe1bd, lo: 0xb6, hi: 0xb6},
- {value: 0x00c1, lo: 0xb7, hi: 0xb7},
- {value: 0x00c9, lo: 0xb8, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbf},
- // Block 0x3, offset 0x25
- {value: 0x0000, lo: 0x01},
- {value: 0x3308, lo: 0x80, hi: 0xbf},
- // Block 0x4, offset 0x27
- {value: 0x0000, lo: 0x04},
- {value: 0x03f5, lo: 0x80, hi: 0x8f},
- {value: 0xe105, lo: 0x90, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x5, offset 0x2c
- {value: 0x0000, lo: 0x06},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x0545, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x0008, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x6, offset 0x33
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0131, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0x0018, lo: 0x89, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0xbd},
- {value: 0x0818, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x7, offset 0x3e
- {value: 0x0000, lo: 0x0b},
- {value: 0x0818, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x82},
- {value: 0x0818, lo: 0x83, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x85},
- {value: 0x0818, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xae},
- {value: 0x0808, lo: 0xaf, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x8, offset 0x4a
- {value: 0x0000, lo: 0x03},
- {value: 0x0a08, lo: 0x80, hi: 0x87},
- {value: 0x0c08, lo: 0x88, hi: 0x99},
- {value: 0x0a08, lo: 0x9a, hi: 0xbf},
- // Block 0x9, offset 0x4e
- {value: 0x0000, lo: 0x0e},
- {value: 0x3308, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0c08, lo: 0x8d, hi: 0x8d},
- {value: 0x0a08, lo: 0x8e, hi: 0x98},
- {value: 0x0c08, lo: 0x99, hi: 0x9b},
- {value: 0x0a08, lo: 0x9c, hi: 0xaa},
- {value: 0x0c08, lo: 0xab, hi: 0xac},
- {value: 0x0a08, lo: 0xad, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb1},
- {value: 0x0a08, lo: 0xb2, hi: 0xb2},
- {value: 0x0c08, lo: 0xb3, hi: 0xb4},
- {value: 0x0a08, lo: 0xb5, hi: 0xb7},
- {value: 0x0c08, lo: 0xb8, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbf},
- // Block 0xa, offset 0x5d
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xb0},
- {value: 0x0808, lo: 0xb1, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xb, offset 0x62
- {value: 0x0000, lo: 0x09},
- {value: 0x0808, lo: 0x80, hi: 0x89},
- {value: 0x0a08, lo: 0x8a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x0818, lo: 0xbe, hi: 0xbf},
- // Block 0xc, offset 0x6c
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x99},
- {value: 0x0808, lo: 0x9a, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa3},
- {value: 0x0808, lo: 0xa4, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa7},
- {value: 0x0808, lo: 0xa8, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0818, lo: 0xb0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xd, offset 0x78
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0a08, lo: 0xa0, hi: 0xa9},
- {value: 0x0c08, lo: 0xaa, hi: 0xac},
- {value: 0x0808, lo: 0xad, hi: 0xad},
- {value: 0x0c08, lo: 0xae, hi: 0xae},
- {value: 0x0a08, lo: 0xaf, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb2},
- {value: 0x0a08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0a08, lo: 0xb6, hi: 0xb8},
- {value: 0x0c08, lo: 0xb9, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbf},
- // Block 0xe, offset 0x85
- {value: 0x0000, lo: 0x05},
- {value: 0x0a08, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x92},
- {value: 0x3308, lo: 0x93, hi: 0xa1},
- {value: 0x0840, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xbf},
- // Block 0xf, offset 0x8b
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x10, offset 0x94
- {value: 0x0000, lo: 0x0f},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x85},
- {value: 0x3008, lo: 0x86, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x3008, lo: 0x8a, hi: 0x8c},
- {value: 0x3b08, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x11, offset 0xa4
- {value: 0x0000, lo: 0x0d},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x12, offset 0xb2
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xba},
- {value: 0x3b08, lo: 0xbb, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x13, offset 0xbd
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x14, offset 0xca
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x89},
- {value: 0x3b08, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x3008, lo: 0x98, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x15, offset 0xdb
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb2},
- {value: 0x01f1, lo: 0xb3, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb9},
- {value: 0x3b08, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0x16, offset 0xe5
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x8e},
- {value: 0x0018, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0xbf},
- // Block 0x17, offset 0xec
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0201, lo: 0x9c, hi: 0x9c},
- {value: 0x0209, lo: 0x9d, hi: 0x9d},
- {value: 0x0008, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x18, offset 0xf9
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe03d, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x19, offset 0x10a
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0x1a, offset 0x111
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x1b, offset 0x11c
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x3008, lo: 0x96, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x3308, lo: 0x9e, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xa1},
- {value: 0x3008, lo: 0xa2, hi: 0xa4},
- {value: 0x0008, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xbf},
- // Block 0x1c, offset 0x12b
- {value: 0x0000, lo: 0x0d},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x8c},
- {value: 0x3308, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x3008, lo: 0x9a, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x1d, offset 0x139
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x86},
- {value: 0x055d, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8c},
- {value: 0x055d, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbb},
- {value: 0xe105, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0x1e, offset 0x143
- {value: 0x0000, lo: 0x01},
- {value: 0x0018, lo: 0x80, hi: 0xbf},
- // Block 0x1f, offset 0x145
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa0},
- {value: 0x2018, lo: 0xa1, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x20, offset 0x14a
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa7},
- {value: 0x2018, lo: 0xa8, hi: 0xbf},
- // Block 0x21, offset 0x14d
- {value: 0x0000, lo: 0x02},
- {value: 0x2018, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0xbf},
- // Block 0x22, offset 0x150
- {value: 0x0000, lo: 0x01},
- {value: 0x0008, lo: 0x80, hi: 0xbf},
- // Block 0x23, offset 0x152
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x24, offset 0x15e
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x25, offset 0x169
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x26, offset 0x171
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x27, offset 0x177
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x28, offset 0x17d
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x29, offset 0x182
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x2a, offset 0x187
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x2b, offset 0x18a
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xbf},
- // Block 0x2c, offset 0x18e
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x2d, offset 0x194
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x2e, offset 0x199
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x3b08, lo: 0x94, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x2f, offset 0x1a5
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x30, offset 0x1af
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xb3},
- {value: 0x3340, lo: 0xb4, hi: 0xb5},
- {value: 0x3008, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x31, offset 0x1b5
- {value: 0x0000, lo: 0x10},
- {value: 0x3008, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x91},
- {value: 0x3b08, lo: 0x92, hi: 0x92},
- {value: 0x3308, lo: 0x93, hi: 0x93},
- {value: 0x0018, lo: 0x94, hi: 0x96},
- {value: 0x0008, lo: 0x97, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x32, offset 0x1c6
- {value: 0x0000, lo: 0x09},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x86},
- {value: 0x0218, lo: 0x87, hi: 0x87},
- {value: 0x0018, lo: 0x88, hi: 0x8a},
- {value: 0x33c0, lo: 0x8b, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0208, lo: 0xa0, hi: 0xbf},
- // Block 0x33, offset 0x1d0
- {value: 0x0000, lo: 0x02},
- {value: 0x0208, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x34, offset 0x1d3
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0208, lo: 0x87, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xa9},
- {value: 0x0208, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x35, offset 0x1db
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0x36, offset 0x1de
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x37, offset 0x1eb
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x38, offset 0x1f3
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x39, offset 0x1f7
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0028, lo: 0x9a, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xbf},
- // Block 0x3a, offset 0x1fe
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x3308, lo: 0x97, hi: 0x98},
- {value: 0x3008, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x3b, offset 0x206
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x94},
- {value: 0x3008, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3b08, lo: 0xa0, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xac},
- {value: 0x3008, lo: 0xad, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x3c, offset 0x216
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xbd},
- {value: 0x3318, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x3d, offset 0x222
- {value: 0x0000, lo: 0x02},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0xbf},
- // Block 0x3e, offset 0x225
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3008, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbf},
- // Block 0x3f, offset 0x22f
- {value: 0x0000, lo: 0x0b},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x3808, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x40, offset 0x23b
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3808, lo: 0xaa, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xbf},
- // Block 0x41, offset 0x247
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3008, lo: 0xaa, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3808, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbf},
- // Block 0x42, offset 0x253
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x3008, lo: 0xa4, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbf},
- // Block 0x43, offset 0x25b
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x44, offset 0x260
- {value: 0x0000, lo: 0x0c},
- {value: 0x02a9, lo: 0x80, hi: 0x80},
- {value: 0x02b1, lo: 0x81, hi: 0x81},
- {value: 0x02b9, lo: 0x82, hi: 0x82},
- {value: 0x02c1, lo: 0x83, hi: 0x83},
- {value: 0x02c9, lo: 0x84, hi: 0x85},
- {value: 0x02d1, lo: 0x86, hi: 0x86},
- {value: 0x02d9, lo: 0x87, hi: 0x87},
- {value: 0x057d, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x059d, lo: 0x90, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbc},
- {value: 0x059d, lo: 0xbd, hi: 0xbf},
- // Block 0x45, offset 0x26d
- {value: 0x0000, lo: 0x10},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x92},
- {value: 0x0018, lo: 0x93, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa8},
- {value: 0x0008, lo: 0xa9, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x46, offset 0x27e
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0x47, offset 0x282
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x87},
- {value: 0xe045, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0xe045, lo: 0x98, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0xe045, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbf},
- // Block 0x48, offset 0x28d
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x3318, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbf},
- // Block 0x49, offset 0x291
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x88},
- {value: 0x0851, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x4a, offset 0x29a
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x0859, lo: 0xac, hi: 0xac},
- {value: 0x0861, lo: 0xad, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xae},
- {value: 0x0869, lo: 0xaf, hi: 0xaf},
- {value: 0x0871, lo: 0xb0, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0x4b, offset 0x2a2
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x9f},
- {value: 0x0080, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xad},
- {value: 0x0080, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x4c, offset 0x2a8
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xa8},
- {value: 0x09dd, lo: 0xa9, hi: 0xa9},
- {value: 0x09fd, lo: 0xaa, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xbf},
- // Block 0x4d, offset 0x2ad
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xbf},
- // Block 0x4e, offset 0x2b0
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0929, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x4f, offset 0x2b4
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0e7e, lo: 0xb4, hi: 0xb4},
- {value: 0x0932, lo: 0xb5, hi: 0xb5},
- {value: 0x0e9e, lo: 0xb6, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x50, offset 0x2ba
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x9b},
- {value: 0x0939, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0xbf},
- // Block 0x51, offset 0x2be
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x52, offset 0x2c2
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x96},
- {value: 0x0018, lo: 0x97, hi: 0xbf},
- // Block 0x53, offset 0x2c6
- {value: 0x0000, lo: 0x05},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x03f5, lo: 0x90, hi: 0x9f},
- {value: 0x0ebd, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x54, offset 0x2cc
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x55, offset 0x2d4
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xae},
- {value: 0xe075, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0x56, offset 0x2db
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x57, offset 0x2e6
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xbf},
- // Block 0x58, offset 0x2f0
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x59, offset 0x2f4
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x92},
- {value: 0x0040, lo: 0x93, hi: 0xbf},
- // Block 0x5a, offset 0x2f7
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9e},
- {value: 0x0ef5, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x5b, offset 0x2fd
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb2},
- {value: 0x0f15, lo: 0xb3, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x5c, offset 0x301
- {value: 0x0020, lo: 0x01},
- {value: 0x0f35, lo: 0x80, hi: 0xbf},
- // Block 0x5d, offset 0x303
- {value: 0x0020, lo: 0x02},
- {value: 0x1735, lo: 0x80, hi: 0x8f},
- {value: 0x1915, lo: 0x90, hi: 0xbf},
- // Block 0x5e, offset 0x306
- {value: 0x0020, lo: 0x01},
- {value: 0x1f15, lo: 0x80, hi: 0xbf},
- // Block 0x5f, offset 0x308
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x60, offset 0x30b
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9a},
- {value: 0x096a, lo: 0x9b, hi: 0x9b},
- {value: 0x0972, lo: 0x9c, hi: 0x9c},
- {value: 0x0008, lo: 0x9d, hi: 0x9e},
- {value: 0x0979, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xbf},
- // Block 0x61, offset 0x315
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbe},
- {value: 0x0981, lo: 0xbf, hi: 0xbf},
- // Block 0x62, offset 0x318
- {value: 0x0000, lo: 0x0e},
- {value: 0x0040, lo: 0x80, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xb0},
- {value: 0x2a35, lo: 0xb1, hi: 0xb1},
- {value: 0x2a55, lo: 0xb2, hi: 0xb2},
- {value: 0x2a75, lo: 0xb3, hi: 0xb3},
- {value: 0x2a95, lo: 0xb4, hi: 0xb4},
- {value: 0x2a75, lo: 0xb5, hi: 0xb5},
- {value: 0x2ab5, lo: 0xb6, hi: 0xb6},
- {value: 0x2ad5, lo: 0xb7, hi: 0xb7},
- {value: 0x2af5, lo: 0xb8, hi: 0xb9},
- {value: 0x2b15, lo: 0xba, hi: 0xbb},
- {value: 0x2b35, lo: 0xbc, hi: 0xbd},
- {value: 0x2b15, lo: 0xbe, hi: 0xbf},
- // Block 0x63, offset 0x327
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x64, offset 0x32b
- {value: 0x0008, lo: 0x03},
- {value: 0x098a, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x0a82, lo: 0xa0, hi: 0xbf},
- // Block 0x65, offset 0x32f
- {value: 0x0008, lo: 0x01},
- {value: 0x0d19, lo: 0x80, hi: 0xbf},
- // Block 0x66, offset 0x331
- {value: 0x0008, lo: 0x08},
- {value: 0x0f19, lo: 0x80, hi: 0xb0},
- {value: 0x4045, lo: 0xb1, hi: 0xb1},
- {value: 0x10a1, lo: 0xb2, hi: 0xb3},
- {value: 0x4065, lo: 0xb4, hi: 0xb4},
- {value: 0x10b1, lo: 0xb5, hi: 0xb7},
- {value: 0x4085, lo: 0xb8, hi: 0xb8},
- {value: 0x4085, lo: 0xb9, hi: 0xb9},
- {value: 0x10c9, lo: 0xba, hi: 0xbf},
- // Block 0x67, offset 0x33a
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x68, offset 0x33d
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x69, offset 0x341
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x6a, offset 0x346
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0x6b, offset 0x34b
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb1},
- {value: 0x0018, lo: 0xb2, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6c, offset 0x351
- {value: 0x0000, lo: 0x10},
- {value: 0x0040, lo: 0x80, hi: 0x81},
- {value: 0xe00d, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0x83},
- {value: 0x03f5, lo: 0x84, hi: 0x84},
- {value: 0x0479, lo: 0x85, hi: 0x85},
- {value: 0x447d, lo: 0x86, hi: 0x86},
- {value: 0xe07d, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0xe01d, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0xb4},
- {value: 0xe01d, lo: 0xb5, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xb7},
- {value: 0x0741, lo: 0xb8, hi: 0xb8},
- {value: 0x13f1, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xbf},
- // Block 0x6d, offset 0x362
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x3308, lo: 0x8b, hi: 0x8b},
- {value: 0x0008, lo: 0x8c, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xab},
- {value: 0x3b08, lo: 0xac, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x6e, offset 0x372
- {value: 0x0000, lo: 0x05},
- {value: 0x0208, lo: 0x80, hi: 0xb1},
- {value: 0x0108, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6f, offset 0x378
- {value: 0x0000, lo: 0x03},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xbf},
- // Block 0x70, offset 0x37c
- {value: 0x0000, lo: 0x0e},
- {value: 0x3008, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xba},
- {value: 0x0008, lo: 0xbb, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x71, offset 0x38b
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x72, offset 0x390
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x91},
- {value: 0x3008, lo: 0x92, hi: 0x92},
- {value: 0x3808, lo: 0x93, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x73, offset 0x398
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb9},
- {value: 0x3008, lo: 0xba, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x74, offset 0x3a2
- {value: 0x0000, lo: 0x0a},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x75, offset 0x3ad
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x76, offset 0x3b5
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8c},
- {value: 0x3008, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbd},
- {value: 0x0008, lo: 0xbe, hi: 0xbf},
- // Block 0x77, offset 0x3c6
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x78, offset 0x3cf
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x9a},
- {value: 0x0008, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3b08, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x79, offset 0x3df
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x90},
- {value: 0x0008, lo: 0x91, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x7a, offset 0x3ec
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x449d, lo: 0x9c, hi: 0x9c},
- {value: 0x44b5, lo: 0x9d, hi: 0x9d},
- {value: 0x0941, lo: 0x9e, hi: 0x9e},
- {value: 0xe06d, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa8},
- {value: 0x13f9, lo: 0xa9, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x44cd, lo: 0xb0, hi: 0xbf},
- // Block 0x7b, offset 0x3f8
- {value: 0x0000, lo: 0x04},
- {value: 0x44ed, lo: 0x80, hi: 0x8f},
- {value: 0x450d, lo: 0x90, hi: 0x9f},
- {value: 0x452d, lo: 0xa0, hi: 0xaf},
- {value: 0x450d, lo: 0xb0, hi: 0xbf},
- // Block 0x7c, offset 0x3fd
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3b08, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x7d, offset 0x40a
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x7e, offset 0x40e
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x7f, offset 0x413
- {value: 0x0000, lo: 0x01},
- {value: 0x0040, lo: 0x80, hi: 0xbf},
- // Block 0x80, offset 0x415
- {value: 0x0020, lo: 0x01},
- {value: 0x454d, lo: 0x80, hi: 0xbf},
- // Block 0x81, offset 0x417
- {value: 0x0020, lo: 0x03},
- {value: 0x4d4d, lo: 0x80, hi: 0x94},
- {value: 0x4b0d, lo: 0x95, hi: 0x95},
- {value: 0x4fed, lo: 0x96, hi: 0xbf},
- // Block 0x82, offset 0x41b
- {value: 0x0020, lo: 0x01},
- {value: 0x552d, lo: 0x80, hi: 0xbf},
- // Block 0x83, offset 0x41d
- {value: 0x0020, lo: 0x03},
- {value: 0x5d2d, lo: 0x80, hi: 0x84},
- {value: 0x568d, lo: 0x85, hi: 0x85},
- {value: 0x5dcd, lo: 0x86, hi: 0xbf},
- // Block 0x84, offset 0x421
- {value: 0x0020, lo: 0x08},
- {value: 0x6b8d, lo: 0x80, hi: 0x8f},
- {value: 0x6d4d, lo: 0x90, hi: 0x90},
- {value: 0x6d8d, lo: 0x91, hi: 0xab},
- {value: 0x1401, lo: 0xac, hi: 0xac},
- {value: 0x70ed, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x710d, lo: 0xb0, hi: 0xbf},
- // Block 0x85, offset 0x42a
- {value: 0x0020, lo: 0x05},
- {value: 0x730d, lo: 0x80, hi: 0xad},
- {value: 0x656d, lo: 0xae, hi: 0xae},
- {value: 0x78cd, lo: 0xaf, hi: 0xb5},
- {value: 0x6f8d, lo: 0xb6, hi: 0xb6},
- {value: 0x79ad, lo: 0xb7, hi: 0xbf},
- // Block 0x86, offset 0x430
- {value: 0x0008, lo: 0x03},
- {value: 0x1751, lo: 0x80, hi: 0x82},
- {value: 0x1741, lo: 0x83, hi: 0x83},
- {value: 0x1769, lo: 0x84, hi: 0xbf},
- // Block 0x87, offset 0x434
- {value: 0x0008, lo: 0x0f},
- {value: 0x1d81, lo: 0x80, hi: 0x83},
- {value: 0x1d99, lo: 0x84, hi: 0x85},
- {value: 0x1da1, lo: 0x86, hi: 0x87},
- {value: 0x1da9, lo: 0x88, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x1de9, lo: 0x92, hi: 0x97},
- {value: 0x1e11, lo: 0x98, hi: 0x9c},
- {value: 0x1e31, lo: 0x9d, hi: 0xb3},
- {value: 0x1d71, lo: 0xb4, hi: 0xb4},
- {value: 0x1d81, lo: 0xb5, hi: 0xb5},
- {value: 0x1ee9, lo: 0xb6, hi: 0xbb},
- {value: 0x1f09, lo: 0xbc, hi: 0xbc},
- {value: 0x1ef9, lo: 0xbd, hi: 0xbd},
- {value: 0x1f19, lo: 0xbe, hi: 0xbf},
- // Block 0x88, offset 0x444
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x0008, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x89, offset 0x44e
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0x8a, offset 0x453
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x8b, offset 0x456
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x8c, offset 0x45c
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x8d, offset 0x463
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x8e, offset 0x468
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x8f, offset 0x46c
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x90, offset 0x472
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xbf},
- // Block 0x91, offset 0x477
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x92, offset 0x480
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x93, offset 0x485
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x94, offset 0x48b
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x97},
- {value: 0x8b0d, lo: 0x98, hi: 0x9f},
- {value: 0x8b25, lo: 0xa0, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xbf},
- // Block 0x95, offset 0x492
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x8b25, lo: 0xb0, hi: 0xb7},
- {value: 0x8b0d, lo: 0xb8, hi: 0xbf},
- // Block 0x96, offset 0x499
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x97, offset 0x4a0
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x98, offset 0x4a4
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xae},
- {value: 0x0018, lo: 0xaf, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x99, offset 0x4a9
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x9a, offset 0x4ac
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xbf},
- // Block 0x9b, offset 0x4b1
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0808, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0808, lo: 0x8a, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb6},
- {value: 0x0808, lo: 0xb7, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbb},
- {value: 0x0808, lo: 0xbc, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x0808, lo: 0xbf, hi: 0xbf},
- // Block 0x9c, offset 0x4bd
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x96},
- {value: 0x0818, lo: 0x97, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb6},
- {value: 0x0818, lo: 0xb7, hi: 0xbf},
- // Block 0x9d, offset 0x4c3
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa6},
- {value: 0x0818, lo: 0xa7, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x9e, offset 0x4c8
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xba},
- {value: 0x0818, lo: 0xbb, hi: 0xbf},
- // Block 0x9f, offset 0x4cf
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0818, lo: 0x96, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbe},
- {value: 0x0818, lo: 0xbf, hi: 0xbf},
- // Block 0xa0, offset 0x4d7
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbb},
- {value: 0x0818, lo: 0xbc, hi: 0xbd},
- {value: 0x0808, lo: 0xbe, hi: 0xbf},
- // Block 0xa1, offset 0x4dc
- {value: 0x0000, lo: 0x03},
- {value: 0x0818, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x0818, lo: 0x92, hi: 0xbf},
- // Block 0xa2, offset 0x4e0
- {value: 0x0000, lo: 0x0f},
- {value: 0x0808, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x94},
- {value: 0x0808, lo: 0x95, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0x98},
- {value: 0x0808, lo: 0x99, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xa3, offset 0x4f0
- {value: 0x0000, lo: 0x06},
- {value: 0x0818, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x0818, lo: 0x90, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xbc},
- {value: 0x0818, lo: 0xbd, hi: 0xbf},
- // Block 0xa4, offset 0x4f7
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0x9c},
- {value: 0x0818, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xa5, offset 0x4fb
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb8},
- {value: 0x0018, lo: 0xb9, hi: 0xbf},
- // Block 0xa6, offset 0x4ff
- {value: 0x0000, lo: 0x06},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0818, lo: 0x98, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb7},
- {value: 0x0818, lo: 0xb8, hi: 0xbf},
- // Block 0xa7, offset 0x506
- {value: 0x0000, lo: 0x01},
- {value: 0x0808, lo: 0x80, hi: 0xbf},
- // Block 0xa8, offset 0x508
- {value: 0x0000, lo: 0x02},
- {value: 0x0808, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0xa9, offset 0x50b
- {value: 0x0000, lo: 0x02},
- {value: 0x03dd, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xaa, offset 0x50e
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xbf},
- // Block 0xab, offset 0x512
- {value: 0x0000, lo: 0x08},
- {value: 0x0908, lo: 0x80, hi: 0x80},
- {value: 0x0a08, lo: 0x81, hi: 0xa1},
- {value: 0x0c08, lo: 0xa2, hi: 0xa2},
- {value: 0x0a08, lo: 0xa3, hi: 0xa3},
- {value: 0x3308, lo: 0xa4, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0808, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xac, offset 0x51b
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0818, lo: 0xa0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xad, offset 0x51f
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xac},
- {value: 0x0818, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0808, lo: 0xb0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xae, offset 0x527
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x9c},
- {value: 0x0818, lo: 0x9d, hi: 0xa6},
- {value: 0x0808, lo: 0xa7, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0a08, lo: 0xb0, hi: 0xb2},
- {value: 0x0c08, lo: 0xb3, hi: 0xb3},
- {value: 0x0a08, lo: 0xb4, hi: 0xbf},
- // Block 0xaf, offset 0x52f
- {value: 0x0000, lo: 0x07},
- {value: 0x0a08, lo: 0x80, hi: 0x84},
- {value: 0x0808, lo: 0x85, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x90},
- {value: 0x0a18, lo: 0x91, hi: 0x93},
- {value: 0x0c18, lo: 0x94, hi: 0x94},
- {value: 0x0818, lo: 0x95, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xb0, offset 0x537
- {value: 0x0000, lo: 0x0b},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0a08, lo: 0xb0, hi: 0xb0},
- {value: 0x0808, lo: 0xb1, hi: 0xb1},
- {value: 0x0a08, lo: 0xb2, hi: 0xb3},
- {value: 0x0c08, lo: 0xb4, hi: 0xb6},
- {value: 0x0808, lo: 0xb7, hi: 0xb7},
- {value: 0x0a08, lo: 0xb8, hi: 0xb8},
- {value: 0x0c08, lo: 0xb9, hi: 0xba},
- {value: 0x0a08, lo: 0xbb, hi: 0xbc},
- {value: 0x0c08, lo: 0xbd, hi: 0xbd},
- {value: 0x0a08, lo: 0xbe, hi: 0xbf},
- // Block 0xb1, offset 0x543
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x80},
- {value: 0x0a08, lo: 0x81, hi: 0x81},
- {value: 0x0c08, lo: 0x82, hi: 0x83},
- {value: 0x0a08, lo: 0x84, hi: 0x84},
- {value: 0x0818, lo: 0x85, hi: 0x88},
- {value: 0x0c18, lo: 0x89, hi: 0x89},
- {value: 0x0a18, lo: 0x8a, hi: 0x8a},
- {value: 0x0918, lo: 0x8b, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xb2, offset 0x54f
- {value: 0x0000, lo: 0x05},
- {value: 0x3008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xb3, offset 0x555
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x91},
- {value: 0x0018, lo: 0x92, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xb4, offset 0x55e
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0xb5, offset 0x56a
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb6, offset 0x571
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb2},
- {value: 0x3b08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xbf},
- // Block 0xb7, offset 0x57a
- {value: 0x0000, lo: 0x0a},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x3008, lo: 0x85, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xb8, offset 0x585
- {value: 0x0000, lo: 0x06},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xbe},
- {value: 0x3008, lo: 0xbf, hi: 0xbf},
- // Block 0xb9, offset 0x58c
- {value: 0x0000, lo: 0x0e},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8d},
- {value: 0x3008, lo: 0x8e, hi: 0x8e},
- {value: 0x3308, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xba, offset 0x59b
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3808, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xbb, offset 0x5a8
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0008, lo: 0x9f, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xbc, offset 0x5b5
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x3308, lo: 0x9f, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa9},
- {value: 0x3b08, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xbd, offset 0x5be
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xbe, offset 0x5c2
- {value: 0x0000, lo: 0x0e},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x84},
- {value: 0x3008, lo: 0x85, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9d},
- {value: 0x3308, lo: 0x9e, hi: 0x9e},
- {value: 0x0008, lo: 0x9f, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xbf},
- // Block 0xbf, offset 0x5d1
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xc0, offset 0x5d9
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x85},
- {value: 0x0018, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xc1, offset 0x5e4
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xc2, offset 0x5ed
- {value: 0x0000, lo: 0x05},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9b},
- {value: 0x3308, lo: 0x9c, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xc3, offset 0x5f3
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xc4, offset 0x5fb
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xc5, offset 0x604
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb5},
- {value: 0x3808, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xc6, offset 0x60f
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0xbf},
- // Block 0xc7, offset 0x612
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0xc8, offset 0x61e
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0xc9, offset 0x627
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xbf},
- // Block 0xca, offset 0x62a
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0xcb, offset 0x62f
- {value: 0x0000, lo: 0x08},
- {value: 0x3008, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xcc, offset 0x638
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xbf},
- // Block 0xcd, offset 0x63d
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x3008, lo: 0x91, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0x99},
- {value: 0x3308, lo: 0x9a, hi: 0x9b},
- {value: 0x3008, lo: 0x9c, hi: 0x9f},
- {value: 0x3b08, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xa1},
- {value: 0x0018, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xa3},
- {value: 0x3008, lo: 0xa4, hi: 0xa4},
- {value: 0x0040, lo: 0xa5, hi: 0xbf},
- // Block 0xce, offset 0x64a
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0xcf, offset 0x655
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x3b08, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0xbf},
- // Block 0xd0, offset 0x65e
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x3308, lo: 0x8a, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x98},
- {value: 0x3b08, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9c},
- {value: 0x0008, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xa2},
- {value: 0x0040, lo: 0xa3, hi: 0xbf},
- // Block 0xd1, offset 0x668
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xd2, offset 0x66b
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xd3, offset 0x675
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xbf},
- // Block 0xd4, offset 0x67e
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xa9},
- {value: 0x3308, lo: 0xaa, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xd5, offset 0x68a
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xd6, offset 0x697
- {value: 0x0000, lo: 0x0c},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xbf},
- // Block 0xd7, offset 0x6a4
- {value: 0x0000, lo: 0x0d},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x3008, lo: 0x8a, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x92},
- {value: 0x3008, lo: 0x93, hi: 0x94},
- {value: 0x3308, lo: 0x95, hi: 0x95},
- {value: 0x3008, lo: 0x96, hi: 0x96},
- {value: 0x3b08, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xbf},
- // Block 0xd8, offset 0x6b2
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xd9, offset 0x6b9
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbf},
- // Block 0xda, offset 0x6bd
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0xdb, offset 0x6c1
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xdc, offset 0x6c4
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xdd, offset 0x6c9
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0xbf},
- // Block 0xde, offset 0x6cc
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0340, lo: 0xb0, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xdf, offset 0x6d1
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0xbf},
- // Block 0xe0, offset 0x6d4
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xe1, offset 0x6db
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xe2, offset 0x6e2
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0xe3, offset 0x6e6
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0xe4, offset 0x6f1
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0xe5, offset 0x6f4
- {value: 0x0000, lo: 0x02},
- {value: 0xe105, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0xe6, offset 0x6f7
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0xe7, offset 0x6fa
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8e},
- {value: 0x3308, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3008, lo: 0x91, hi: 0xbf},
- // Block 0xe8, offset 0x700
- {value: 0x0000, lo: 0x05},
- {value: 0x3008, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8e},
- {value: 0x3308, lo: 0x8f, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xe9, offset 0x706
- {value: 0x0000, lo: 0x08},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa1},
- {value: 0x0018, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xa3},
- {value: 0x3308, lo: 0xa4, hi: 0xa4},
- {value: 0x0040, lo: 0xa5, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xea, offset 0x70f
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0xeb, offset 0x712
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0xec, offset 0x715
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0xed, offset 0x718
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xee, offset 0x71b
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x92},
- {value: 0x0040, lo: 0x93, hi: 0xa3},
- {value: 0x0008, lo: 0xa4, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xef, offset 0x722
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0xf0, offset 0x725
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0xf1, offset 0x72a
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x03c0, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xbf},
- // Block 0xf2, offset 0x734
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xf3, offset 0x737
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xbf},
- // Block 0xf4, offset 0x73b
- {value: 0x0000, lo: 0x0e},
- {value: 0x0018, lo: 0x80, hi: 0x9d},
- {value: 0x2211, lo: 0x9e, hi: 0x9e},
- {value: 0x2219, lo: 0x9f, hi: 0x9f},
- {value: 0x2221, lo: 0xa0, hi: 0xa0},
- {value: 0x2229, lo: 0xa1, hi: 0xa1},
- {value: 0x2231, lo: 0xa2, hi: 0xa2},
- {value: 0x2239, lo: 0xa3, hi: 0xa3},
- {value: 0x2241, lo: 0xa4, hi: 0xa4},
- {value: 0x3018, lo: 0xa5, hi: 0xa6},
- {value: 0x3318, lo: 0xa7, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xac},
- {value: 0x3018, lo: 0xad, hi: 0xb2},
- {value: 0x0340, lo: 0xb3, hi: 0xba},
- {value: 0x3318, lo: 0xbb, hi: 0xbf},
- // Block 0xf5, offset 0x74a
- {value: 0x0000, lo: 0x0b},
- {value: 0x3318, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0x84},
- {value: 0x3318, lo: 0x85, hi: 0x8b},
- {value: 0x0018, lo: 0x8c, hi: 0xa9},
- {value: 0x3318, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xba},
- {value: 0x2249, lo: 0xbb, hi: 0xbb},
- {value: 0x2251, lo: 0xbc, hi: 0xbc},
- {value: 0x2259, lo: 0xbd, hi: 0xbd},
- {value: 0x2261, lo: 0xbe, hi: 0xbe},
- {value: 0x2269, lo: 0xbf, hi: 0xbf},
- // Block 0xf6, offset 0x756
- {value: 0x0000, lo: 0x03},
- {value: 0x2271, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xbf},
- // Block 0xf7, offset 0x75a
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x3318, lo: 0x82, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0xbf},
- // Block 0xf8, offset 0x75f
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0xf9, offset 0x763
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xfa, offset 0x768
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0xfb, offset 0x76c
- {value: 0x0000, lo: 0x04},
- {value: 0x3308, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0xfc, offset 0x771
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x3308, lo: 0xa1, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xfd, offset 0x77a
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa4},
- {value: 0x0040, lo: 0xa5, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xbf},
- // Block 0xfe, offset 0x785
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0008, lo: 0xb7, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0xff, offset 0x78b
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x8e},
- {value: 0x0018, lo: 0x8f, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0x100, offset 0x791
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0x101, offset 0x797
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x86},
- {value: 0x0818, lo: 0x87, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0x102, offset 0x79d
- {value: 0x0000, lo: 0x08},
- {value: 0x0a08, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x8a},
- {value: 0x0b08, lo: 0x8b, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0818, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x103, offset 0x7a6
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xb0},
- {value: 0x0818, lo: 0xb1, hi: 0xbf},
- // Block 0x104, offset 0x7a9
- {value: 0x0000, lo: 0x02},
- {value: 0x0818, lo: 0x80, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x105, offset 0x7ac
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0818, lo: 0x81, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x106, offset 0x7b0
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0x107, offset 0x7b4
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x108, offset 0x7b8
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0x109, offset 0x7be
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0x10a, offset 0x7c4
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8f},
- {value: 0x2491, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xbf},
- // Block 0x10b, offset 0x7c9
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xbf},
- // Block 0x10c, offset 0x7cc
- {value: 0x0000, lo: 0x0f},
- {value: 0x2611, lo: 0x80, hi: 0x80},
- {value: 0x2619, lo: 0x81, hi: 0x81},
- {value: 0x2621, lo: 0x82, hi: 0x82},
- {value: 0x2629, lo: 0x83, hi: 0x83},
- {value: 0x2631, lo: 0x84, hi: 0x84},
- {value: 0x2639, lo: 0x85, hi: 0x85},
- {value: 0x2641, lo: 0x86, hi: 0x86},
- {value: 0x2649, lo: 0x87, hi: 0x87},
- {value: 0x2651, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x2659, lo: 0x90, hi: 0x90},
- {value: 0x2661, lo: 0x91, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xbf},
- // Block 0x10d, offset 0x7dc
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x10e, offset 0x7e3
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x10f, offset 0x7e6
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0x110, offset 0x7eb
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x111, offset 0x7ef
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x112, offset 0x7f5
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0x113, offset 0x7fc
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0x114, offset 0x800
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x115, offset 0x804
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x116, offset 0x80d
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x117, offset 0x814
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0x118, offset 0x819
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x92},
- {value: 0x0040, lo: 0x93, hi: 0x93},
- {value: 0x0018, lo: 0x94, hi: 0xbf},
- // Block 0x119, offset 0x81d
- {value: 0x0000, lo: 0x0d},
- {value: 0x0018, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0xaf},
- {value: 0x06e1, lo: 0xb0, hi: 0xb0},
- {value: 0x0049, lo: 0xb1, hi: 0xb1},
- {value: 0x0029, lo: 0xb2, hi: 0xb2},
- {value: 0x0031, lo: 0xb3, hi: 0xb3},
- {value: 0x06e9, lo: 0xb4, hi: 0xb4},
- {value: 0x06f1, lo: 0xb5, hi: 0xb5},
- {value: 0x06f9, lo: 0xb6, hi: 0xb6},
- {value: 0x0701, lo: 0xb7, hi: 0xb7},
- {value: 0x0709, lo: 0xb8, hi: 0xb8},
- {value: 0x0711, lo: 0xb9, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x11a, offset 0x82b
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0x11b, offset 0x82e
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x11c, offset 0x831
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x11d, offset 0x835
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x11e, offset 0x839
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x11f, offset 0x83c
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0xbf},
- // Block 0x120, offset 0x83f
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0340, lo: 0x81, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x9f},
- {value: 0x0340, lo: 0xa0, hi: 0xbf},
- // Block 0x121, offset 0x844
- {value: 0x0000, lo: 0x01},
- {value: 0x0340, lo: 0x80, hi: 0xbf},
- // Block 0x122, offset 0x846
- {value: 0x0000, lo: 0x01},
- {value: 0x33c0, lo: 0x80, hi: 0xbf},
- // Block 0x123, offset 0x848
- {value: 0x0000, lo: 0x02},
- {value: 0x33c0, lo: 0x80, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
-}
-
-// Total table size 44953 bytes (43KiB); checksum: D51909DD
diff --git a/vendor/golang.org/x/net/idna/tables15.0.0.go b/vendor/golang.org/x/net/idna/tables15.0.0.go
index 5ff05fe1a..2648fe02a 100644
--- a/vendor/golang.org/x/net/idna/tables15.0.0.go
+++ b/vendor/golang.org/x/net/idna/tables15.0.0.go
@@ -1,6 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-//go:build go1.21
+//go:build !go1.27
package idna
diff --git a/vendor/golang.org/x/net/idna/tables17.0.0.go b/vendor/golang.org/x/net/idna/tables17.0.0.go
new file mode 100644
index 000000000..677a328a4
--- /dev/null
+++ b/vendor/golang.org/x/net/idna/tables17.0.0.go
@@ -0,0 +1,5302 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+//go:build go1.27
+
+package idna
+
+// UnicodeVersion is the Unicode version from which the tables in this package are derived.
+const UnicodeVersion = "17.0.0"
+
+var mappings string = "" + // Size: 6720 bytes
+ " ̈a ̄23 ́ ̧1o1⁄41⁄23⁄4i̇l·ʼnsdžⱥⱦhjrwy ̆ ̇ ̊ ̨ ̃ ̋lẍ́ ι; ̈́եւاٴوٴۇٴيٴक" +
+ "़ख़ग़ज़ड़ढ़फ़य़ড়ঢ়য়ਲ਼ਸ਼ਖ਼ਗ਼ਜ਼ਫ਼ଡ଼ଢ଼ําໍາຫນຫມགྷཌྷདྷབྷཛྷཀྵཱཱིུྲྀྲཱྀླྀླཱ" +
+ "ཱྀྀྒྷྜྷྡྷྦྷྫྷྐྵвдостъѣæbdeǝgikmnȣptuɐɑəɛɜŋɔɯvβγδφχρнɒcɕðfɟɡɥɨɩɪʝɭʟɱɰɲɳ" +
+ "ɴɵɸʂʃƫʉʊʋʌzʐʑʒθßάέήίόύώἀιἁιἂιἃιἄιἅιἆιἇιἠιἡιἢιἣιἤιἥιἦιἧιὠιὡιὢιὣιὤιὥιὦιὧι" +
+ "ὰιαιάιᾶιι ̈͂ὴιηιήιῆι ̓̀ ̓́ ̓͂ΐ ̔̀ ̔́ ̔͂ΰ ̈̀`ὼιωιώιῶι′′′′′‵‵‵‵‵!!???!!?" +
+ "′′′′0456789+=()rsħnoqsmtmωåאבגדπ1⁄71⁄91⁄101⁄32⁄31⁄52⁄53⁄54⁄51⁄65⁄61⁄83" +
+ "⁄85⁄87⁄81⁄iiivviviiiixxi0⁄3∫∫∫∫∫∮∮∮∮∮1011121314151617181920(10)(11)(12" +
+ ")(13)(14)(15)(16)(17)(18)(19)(20)∫∫∫∫==⫝̸ɫɽȿɀ. ゙ ゚よりコト(ᄀ)(ᄂ)(ᄃ)(ᄅ)(ᄆ)(ᄇ)" +
+ "(ᄉ)(ᄋ)(ᄌ)(ᄎ)(ᄏ)(ᄐ)(ᄑ)(ᄒ)(가)(나)(다)(라)(마)(바)(사)(아)(자)(차)(카)(타)(파)(하)(주)(오전" +
+ ")(오후)(一)(二)(三)(四)(五)(六)(七)(八)(九)(十)(月)(火)(水)(木)(金)(土)(日)(株)(有)(社)(名)(特)(" +
+ "財)(祝)(労)(代)(呼)(学)(監)(企)(資)(協)(祭)(休)(自)(至)21222324252627282930313233343" +
+ "5참고주의3637383940414243444546474849501月2月3月4月5月6月7月8月9月10月11月12月hgev令和アパート" +
+ "アルファアンペアアールイニングインチウォンエスクードエーカーオンスオームカイリカラットカロリーガロンガンマギガギニーキュリーギルダーキロキロ" +
+ "グラムキロメートルキロワットグラムグラムトンクルゼイロクローネケースコルナコーポサイクルサンチームシリングセンチセントダースデシドルトンナノ" +
+ "ノットハイツパーセントパーツバーレルピアストルピクルピコビルファラッドフィートブッシェルフランヘクタールペソペニヒヘルツペンスページベータポ" +
+ "イントボルトホンポンドホールホーンマイクロマイルマッハマルクマンションミクロンミリミリバールメガメガトンメートルヤードヤールユアンリットルリ" +
+ "ラルピールーブルレムレントゲンワット0点1点2点3点4点5点6点7点8点9点10点11点12点13点14点15点16点17点18点19点20" +
+ "点21点22点23点24点daauovpcdmiu平成昭和大正明治株式会社panamakakbmbgbkcalpfnfmgkghzmldlk" +
+ "lfmnmmmcmkmm2m3m∕sm∕s2rad∕srad∕s2psnsmspvnvmvkvpwnwmwkwbqcccdc∕kgdbgyhah" +
+ "pinkkktlmlnlxphprsrsvwbv∕ma∕m1日2日3日4日5日6日7日8日9日10日11日12日13日14日15日16日17日1" +
+ "8日19日20日21日22日23日24日25日26日27日28日29日30日31日ьɦɬʞʇɤƛœʍ𤋮𢡊𢡄𣏕𥉉𥳐𧻓fffiflstմնմեմիվ" +
+ "նմխיִײַעהכלםרתשׁשׂשּׁשּׂאַאָאּבּגּדּהּוּזּטּיּךּכּלּמּנּסּףּפּצּקּרּשּת" +
+ "ּוֹבֿכֿפֿאלٱٻپڀٺٿٹڤڦڄڃچڇڍڌڎڈژڑکگڳڱںڻۀہھےۓڭۇۆۈۋۅۉېىئائەئوئۇئۆئۈئېئىیئجئح" +
+ "ئمئيبجبحبخبمبىبيتجتحتختمتىتيثجثمثىثيجحجمحجحمخجخحخمسجسحسخسمصحصمضجضحضخضمط" +
+ "حطمظمعجعمغجغمفجفحفخفمفىفيقحقمقىقيكاكجكحكخكلكمكىكيلجلحلخلملىليمجمحمخمممى" +
+ "مينجنحنخنمنىنيهجهمهىهييجيحيخيميىييذٰرٰىٰ ٌّ ٍّ َّ ُّ ِّ ّٰئرئزئنبربزبنت" +
+ "رتزتنثرثزثنمانرنزننيريزينئخئهبهتهصخلهنههٰيهثهسهشمشهـَّـُّـِّطىطيعىعيغىغ" +
+ "يسىسيشىشيحىحيجىجيخىخيصىصيضىضيشجشحشخشرسرصرضراًتجمتحجتحمتخمتمجتمحتمخجمححم" +
+ "يحمىسحجسجحسجىسمحسمجسممصححصممشحمشجيشمخشممضحىضخمطمحطممطميعجمعممعمىغممغميغ" +
+ "مىفخمقمحقمملحملحيلحىلججلخملمحمحجمحممحيمجحمجممخجمخممجخهمجهممنحمنحىنجمنجى" +
+ "نمينمىيممبخيتجيتجىتخيتخىتميتمىجميجحىجمىسخىصحيشحيضحيلجيلمييحييجييميمميقم" +
+ "ينحيعميكمينجحمخيلجمكممجحيحجيمجيفميبحيسخينجيصلےقلےاللهاكبرمحمدصلعمرسولعل" +
+ "يهوسلمصلىصلى الله عليه وسلمجل جلالهریال,:!?_{}[]#&*-<>\\$%@ـًـَـُـِـّـْ" +
+ "ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهويلآلألإلا\x22'/^|~¢£¬¦¥ːˑʙɓʣꭦʥʤɖɗᶑɘɞʩ" +
+ "ɢɠʛʜɧʄʪʫꞎɮʎøɶɷɺɾʀʨʦꭧʧʈⱱʏʡʢʘǀǁǂ𝅗𝅥𝅘𝅥𝅘𝅥𝅮𝅘𝅥𝅯𝅘𝅥𝅰𝅘𝅥𝅱𝅘𝅥𝅲𝆹𝅥𝆺𝅥𝆹𝅥𝅮𝆺𝅥𝅮𝆹𝅥𝅯𝆺𝅥𝅯ıȷαεζη" +
+ "κλμνξοστυψ∇∂ϝабгежзиклмпруфхцчшыэюꚉәіјөүӏґѕџҫꙑұٮڡٯ0,1,2,3,4,5,6,7,8,9,(" +
+ "a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(" +
+ "y)(z)〔s〕wzhvsdssppvwcmcmdmrdjほかココサ手字双デ二多解天交映無料前後再新初終生販声吹演投捕一三遊左中右指走打禁空合満" +
+ "有月申割営配〔本〕〔三〕〔二〕〔安〕〔点〕〔打〕〔盗〕〔勝〕〔敗〕得可丽丸乁你侮侻倂偺備僧像㒞免兔兤具㒹內冗冤仌冬况凵刃㓟刻剆剷㔕勇勉勤勺包" +
+ "匆北卉卑博即卽卿灰及叟叫叱吆咞吸呈周咢哶唐啓啣善喙喫喳嗂圖嘆圗噑噴切壮城埴堍型堲報墬売壷夆夢奢姬娛娧姘婦㛮㛼嬈嬾寃寘寧寳寿将当尢㞁屠屮峀岍嵃" +
+ "嵮嵫嵼巡巢㠯巽帨帽幩㡢㡼庰庳庶廊廾舁弢㣇形彫㣣徚忍志忹悁㤺㤜悔惇慈慌慎慺憎憲憤憯懞懲懶成戛扝抱拔捐挽拼捨掃揤搢揅掩㨮摩摾撝摷㩬敏敬旣書晉㬙暑" +
+ "㬈㫤冒冕最暜肭䏙朗望朡杞杓㭉柺枅桒梅梎栟椔㮝楂榣槪檨櫛㰘次歔㱎歲殟殺殻汎沿泍汧洖派海流浩浸涅洴港湮㴳滋滇淹潮濆瀹瀞瀛㶖灊災灷炭煅熜爨爵牐犀犕" +
+ "獺王㺬玥㺸瑇瑜瑱璅瓊㼛甤甾異瘐㿼䀈直眞真睊䀹瞋䁆䂖硎碌磌䃣祖福秫䄯穀穊穏竮䈂篆築䈧糒䊠糨糣紀絣䌁緇縂繅䌴䍙罺羕翺者聠聰䏕育脃䐋脾媵舄辞䑫芑芋" +
+ "芝劳花芳芽苦若茝荣莭茣莽菧著荓菊菌菜䔫蓱蓳蔖蕤䕝䕡䕫虐虜虧虩蚩蚈蜎蛢蝹蜨蝫螆䗗蟡蠁䗹衠衣裗裞䘵裺㒻䚾䛇誠諭變豕貫賁贛起跋趼跰軔輸邔郱鄑鄛鈸鋗" +
+ "鋘鉼鏹鐕開䦕閷䧦雃嶲霣䩮䩶韠䪲頋頩飢䬳餩馧駂駾䯎鬒鱀鳽䳎䳭鵧䳸麻䵖黹黾鼅鼏鼖鼻"
+
+var mappingIndex = []uint16{ // 1735 elements
+ // Entry 0 - 3F
+ 0x0000, 0x0000, 0x0001, 0x0004, 0x0005, 0x0008, 0x0009, 0x000a,
+ 0x000d, 0x0010, 0x0011, 0x0012, 0x0017, 0x001c, 0x0021, 0x0024,
+ 0x0027, 0x002a, 0x002b, 0x002e, 0x0031, 0x0034, 0x0035, 0x0036,
+ 0x0037, 0x0038, 0x0039, 0x003c, 0x003f, 0x0042, 0x0045, 0x0048,
+ 0x004b, 0x004c, 0x004d, 0x0051, 0x0054, 0x0055, 0x005a, 0x005e,
+ 0x0062, 0x0066, 0x006a, 0x006e, 0x0074, 0x007a, 0x0080, 0x0086,
+ 0x008c, 0x0092, 0x0098, 0x009e, 0x00a4, 0x00aa, 0x00b0, 0x00b6,
+ 0x00bc, 0x00c2, 0x00c8, 0x00ce, 0x00d4, 0x00da, 0x00e0, 0x00e6,
+ // Entry 40 - 7F
+ 0x00ec, 0x00f2, 0x00f8, 0x00fe, 0x0104, 0x010a, 0x0110, 0x0116,
+ 0x011c, 0x0122, 0x0128, 0x012e, 0x0137, 0x013d, 0x0146, 0x014c,
+ 0x0152, 0x0158, 0x015e, 0x0164, 0x016a, 0x0170, 0x0172, 0x0174,
+ 0x0176, 0x0178, 0x017a, 0x017c, 0x017e, 0x0180, 0x0181, 0x0182,
+ 0x0183, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189, 0x018a, 0x018c,
+ 0x018d, 0x018e, 0x018f, 0x0191, 0x0193, 0x0195, 0x0197, 0x0199,
+ 0x019b, 0x019d, 0x019f, 0x01a0, 0x01a2, 0x01a4, 0x01a6, 0x01a8,
+ 0x01aa, 0x01ac, 0x01ae, 0x01b0, 0x01b1, 0x01b3, 0x01b5, 0x01b6,
+ // Entry 80 - BF
+ 0x01b8, 0x01ba, 0x01bc, 0x01be, 0x01c0, 0x01c2, 0x01c4, 0x01c6,
+ 0x01c8, 0x01ca, 0x01cc, 0x01ce, 0x01d0, 0x01d2, 0x01d4, 0x01d6,
+ 0x01d8, 0x01da, 0x01dc, 0x01de, 0x01e0, 0x01e2, 0x01e4, 0x01e5,
+ 0x01e7, 0x01e9, 0x01eb, 0x01ed, 0x01ef, 0x01f1, 0x01f3, 0x01f5,
+ 0x01f7, 0x01f9, 0x01fb, 0x01fd, 0x0202, 0x0207, 0x020c, 0x0211,
+ 0x0216, 0x021b, 0x0220, 0x0225, 0x022a, 0x022f, 0x0234, 0x0239,
+ 0x023e, 0x0243, 0x0248, 0x024d, 0x0252, 0x0257, 0x025c, 0x0261,
+ 0x0266, 0x026b, 0x0270, 0x0275, 0x027a, 0x027e, 0x0282, 0x0287,
+ // Entry C0 - FF
+ 0x0289, 0x028e, 0x0293, 0x0297, 0x029b, 0x02a0, 0x02a5, 0x02aa,
+ 0x02af, 0x02b1, 0x02b6, 0x02bb, 0x02c0, 0x02c2, 0x02c7, 0x02c8,
+ 0x02cd, 0x02d1, 0x02d5, 0x02da, 0x02e0, 0x02e9, 0x02ef, 0x02f8,
+ 0x02fa, 0x02fc, 0x02fe, 0x0300, 0x030c, 0x030d, 0x030e, 0x030f,
+ 0x0310, 0x0311, 0x0312, 0x0313, 0x0314, 0x0315, 0x0316, 0x0317,
+ 0x0319, 0x031b, 0x031d, 0x031e, 0x0320, 0x0322, 0x0324, 0x0326,
+ 0x0328, 0x032a, 0x032c, 0x032e, 0x0330, 0x0335, 0x033a, 0x0340,
+ 0x0345, 0x034a, 0x034f, 0x0354, 0x0359, 0x035e, 0x0363, 0x0368,
+ // Entry 100 - 13F
+ 0x036d, 0x0372, 0x0377, 0x037c, 0x0380, 0x0382, 0x0384, 0x0386,
+ 0x038a, 0x038c, 0x038e, 0x0393, 0x0399, 0x03a2, 0x03a8, 0x03b1,
+ 0x03b3, 0x03b5, 0x03b7, 0x03b9, 0x03bb, 0x03bd, 0x03bf, 0x03c1,
+ 0x03c3, 0x03c5, 0x03c7, 0x03cb, 0x03cf, 0x03d3, 0x03d7, 0x03db,
+ 0x03df, 0x03e3, 0x03e7, 0x03eb, 0x03ef, 0x03f3, 0x03ff, 0x0401,
+ 0x0406, 0x0408, 0x040a, 0x040c, 0x040e, 0x040f, 0x0413, 0x0417,
+ 0x041d, 0x0423, 0x0428, 0x042d, 0x0432, 0x0437, 0x043c, 0x0441,
+ 0x0446, 0x044b, 0x0450, 0x0455, 0x045a, 0x045f, 0x0464, 0x0469,
+ // Entry 140 - 17F
+ 0x046e, 0x0473, 0x0478, 0x047d, 0x0482, 0x0487, 0x048c, 0x0491,
+ 0x0496, 0x049b, 0x04a0, 0x04a5, 0x04aa, 0x04af, 0x04b4, 0x04bc,
+ 0x04c4, 0x04c9, 0x04ce, 0x04d3, 0x04d8, 0x04dd, 0x04e2, 0x04e7,
+ 0x04ec, 0x04f1, 0x04f6, 0x04fb, 0x0500, 0x0505, 0x050a, 0x050f,
+ 0x0514, 0x0519, 0x051e, 0x0523, 0x0528, 0x052d, 0x0532, 0x0537,
+ 0x053c, 0x0541, 0x0546, 0x054b, 0x0550, 0x0555, 0x055a, 0x055f,
+ 0x0564, 0x0569, 0x056e, 0x0573, 0x0578, 0x057a, 0x057c, 0x057e,
+ 0x0580, 0x0582, 0x0584, 0x0586, 0x0588, 0x058a, 0x058c, 0x058e,
+ // Entry 180 - 1BF
+ 0x0590, 0x0592, 0x0594, 0x0596, 0x059c, 0x05a2, 0x05a4, 0x05a6,
+ 0x05a8, 0x05aa, 0x05ac, 0x05ae, 0x05b0, 0x05b2, 0x05b4, 0x05b6,
+ 0x05b8, 0x05ba, 0x05bc, 0x05be, 0x05c0, 0x05c4, 0x05c8, 0x05cc,
+ 0x05d0, 0x05d4, 0x05d8, 0x05dc, 0x05e0, 0x05e4, 0x05e9, 0x05ee,
+ 0x05f3, 0x05f5, 0x05f7, 0x05fd, 0x0609, 0x0615, 0x0621, 0x062a,
+ 0x0636, 0x063f, 0x0648, 0x0657, 0x0663, 0x066c, 0x0675, 0x067e,
+ 0x068a, 0x0696, 0x069f, 0x06a8, 0x06ae, 0x06b7, 0x06c3, 0x06cf,
+ 0x06d5, 0x06e4, 0x06f6, 0x0705, 0x070e, 0x071d, 0x072c, 0x0738,
+ // Entry 1C0 - 1FF
+ 0x0741, 0x074a, 0x0753, 0x075f, 0x076e, 0x077a, 0x0783, 0x078c,
+ 0x0795, 0x079b, 0x07a1, 0x07a7, 0x07ad, 0x07b6, 0x07bf, 0x07ce,
+ 0x07d7, 0x07e3, 0x07f2, 0x07fb, 0x0801, 0x0807, 0x0816, 0x0822,
+ 0x0831, 0x083a, 0x0849, 0x084f, 0x0858, 0x0861, 0x086a, 0x0873,
+ 0x087c, 0x0888, 0x0891, 0x0897, 0x08a0, 0x08a9, 0x08b2, 0x08be,
+ 0x08c7, 0x08d0, 0x08d9, 0x08e8, 0x08f4, 0x08fa, 0x0909, 0x090f,
+ 0x091b, 0x0927, 0x0930, 0x0939, 0x0942, 0x094e, 0x0954, 0x095d,
+ 0x0969, 0x096f, 0x097e, 0x0987, 0x098b, 0x098f, 0x0993, 0x0997,
+ // Entry 200 - 23F
+ 0x099b, 0x099f, 0x09a3, 0x09a7, 0x09ab, 0x09af, 0x09b4, 0x09b9,
+ 0x09be, 0x09c3, 0x09c8, 0x09cd, 0x09d2, 0x09d7, 0x09dc, 0x09e1,
+ 0x09e6, 0x09eb, 0x09f0, 0x09f5, 0x09fa, 0x09fc, 0x09fe, 0x0a00,
+ 0x0a02, 0x0a04, 0x0a06, 0x0a0c, 0x0a12, 0x0a18, 0x0a1e, 0x0a2a,
+ 0x0a2c, 0x0a2e, 0x0a30, 0x0a32, 0x0a34, 0x0a36, 0x0a38, 0x0a3c,
+ 0x0a3e, 0x0a40, 0x0a42, 0x0a44, 0x0a46, 0x0a48, 0x0a4a, 0x0a4c,
+ 0x0a4e, 0x0a50, 0x0a52, 0x0a54, 0x0a56, 0x0a58, 0x0a5a, 0x0a5f,
+ 0x0a65, 0x0a6c, 0x0a74, 0x0a76, 0x0a78, 0x0a7a, 0x0a7c, 0x0a7e,
+ // Entry 240 - 27F
+ 0x0a80, 0x0a82, 0x0a84, 0x0a86, 0x0a88, 0x0a8a, 0x0a8c, 0x0a8e,
+ 0x0a90, 0x0a96, 0x0a98, 0x0a9a, 0x0a9c, 0x0a9e, 0x0aa0, 0x0aa2,
+ 0x0aa4, 0x0aa6, 0x0aa8, 0x0aaa, 0x0aac, 0x0aae, 0x0ab0, 0x0ab2,
+ 0x0ab4, 0x0ab9, 0x0abe, 0x0ac2, 0x0ac6, 0x0aca, 0x0ace, 0x0ad2,
+ 0x0ad6, 0x0ada, 0x0ade, 0x0ae2, 0x0ae7, 0x0aec, 0x0af1, 0x0af6,
+ 0x0afb, 0x0b00, 0x0b05, 0x0b0a, 0x0b0f, 0x0b14, 0x0b19, 0x0b1e,
+ 0x0b23, 0x0b28, 0x0b2d, 0x0b32, 0x0b37, 0x0b3c, 0x0b41, 0x0b46,
+ 0x0b4b, 0x0b50, 0x0b52, 0x0b54, 0x0b56, 0x0b58, 0x0b5a, 0x0b5c,
+ // Entry 280 - 2BF
+ 0x0b5e, 0x0b60, 0x0b62, 0x0b66, 0x0b6a, 0x0b6e, 0x0b72, 0x0b76,
+ 0x0b7a, 0x0b7e, 0x0b80, 0x0b82, 0x0b84, 0x0b86, 0x0b8a, 0x0b8e,
+ 0x0b92, 0x0b96, 0x0b9a, 0x0b9e, 0x0ba2, 0x0ba4, 0x0ba6, 0x0ba8,
+ 0x0baa, 0x0bac, 0x0bae, 0x0bb0, 0x0bb4, 0x0bb8, 0x0bbe, 0x0bc4,
+ 0x0bc8, 0x0bcc, 0x0bd0, 0x0bd4, 0x0bd8, 0x0bdc, 0x0be0, 0x0be4,
+ 0x0be8, 0x0bec, 0x0bf0, 0x0bf4, 0x0bf8, 0x0bfc, 0x0c00, 0x0c04,
+ 0x0c08, 0x0c0c, 0x0c10, 0x0c14, 0x0c18, 0x0c1c, 0x0c20, 0x0c24,
+ 0x0c28, 0x0c2c, 0x0c30, 0x0c34, 0x0c38, 0x0c3a, 0x0c3c, 0x0c3e,
+ // Entry 2C0 - 2FF
+ 0x0c40, 0x0c42, 0x0c44, 0x0c46, 0x0c48, 0x0c4a, 0x0c4c, 0x0c4e,
+ 0x0c50, 0x0c52, 0x0c54, 0x0c56, 0x0c58, 0x0c5a, 0x0c5c, 0x0c5e,
+ 0x0c60, 0x0c62, 0x0c64, 0x0c66, 0x0c68, 0x0c6a, 0x0c6c, 0x0c6e,
+ 0x0c70, 0x0c72, 0x0c74, 0x0c76, 0x0c78, 0x0c7a, 0x0c7c, 0x0c7e,
+ 0x0c80, 0x0c82, 0x0c84, 0x0c86, 0x0c8a, 0x0c8e, 0x0c92, 0x0c96,
+ 0x0c9a, 0x0c9e, 0x0ca2, 0x0ca6, 0x0ca8, 0x0cac, 0x0cb0, 0x0cb4,
+ 0x0cb8, 0x0cbc, 0x0cc0, 0x0cc4, 0x0cc8, 0x0ccc, 0x0cd0, 0x0cd4,
+ 0x0cd8, 0x0cdc, 0x0ce0, 0x0ce4, 0x0ce8, 0x0cec, 0x0cf0, 0x0cf4,
+ // Entry 300 - 33F
+ 0x0cf8, 0x0cfc, 0x0d00, 0x0d04, 0x0d08, 0x0d0c, 0x0d10, 0x0d14,
+ 0x0d18, 0x0d1c, 0x0d20, 0x0d24, 0x0d28, 0x0d2c, 0x0d30, 0x0d34,
+ 0x0d38, 0x0d3c, 0x0d40, 0x0d44, 0x0d48, 0x0d4c, 0x0d50, 0x0d54,
+ 0x0d58, 0x0d5c, 0x0d60, 0x0d64, 0x0d68, 0x0d6c, 0x0d70, 0x0d74,
+ 0x0d78, 0x0d7c, 0x0d80, 0x0d84, 0x0d88, 0x0d8c, 0x0d90, 0x0d94,
+ 0x0d98, 0x0d9c, 0x0da0, 0x0da4, 0x0da8, 0x0dac, 0x0db0, 0x0db4,
+ 0x0db8, 0x0dbc, 0x0dc0, 0x0dc4, 0x0dc8, 0x0dcc, 0x0dd0, 0x0dd4,
+ 0x0dd8, 0x0ddc, 0x0de0, 0x0de4, 0x0de8, 0x0dec, 0x0df0, 0x0df4,
+ // Entry 340 - 37F
+ 0x0df8, 0x0dfc, 0x0e00, 0x0e04, 0x0e08, 0x0e0c, 0x0e10, 0x0e14,
+ 0x0e18, 0x0e1c, 0x0e21, 0x0e26, 0x0e2b, 0x0e30, 0x0e35, 0x0e3a,
+ 0x0e3e, 0x0e42, 0x0e46, 0x0e4a, 0x0e4e, 0x0e52, 0x0e56, 0x0e5a,
+ 0x0e5e, 0x0e62, 0x0e66, 0x0e6a, 0x0e6e, 0x0e72, 0x0e76, 0x0e7a,
+ 0x0e7e, 0x0e82, 0x0e86, 0x0e8a, 0x0e8e, 0x0e92, 0x0e96, 0x0e9a,
+ 0x0e9e, 0x0ea2, 0x0ea6, 0x0eaa, 0x0eae, 0x0eb2, 0x0eb6, 0x0eba,
+ 0x0ec0, 0x0ec6, 0x0ecc, 0x0ed0, 0x0ed4, 0x0ed8, 0x0edc, 0x0ee0,
+ 0x0ee4, 0x0ee8, 0x0eec, 0x0ef0, 0x0ef4, 0x0ef8, 0x0efc, 0x0f00,
+ // Entry 380 - 3BF
+ 0x0f04, 0x0f08, 0x0f0c, 0x0f10, 0x0f14, 0x0f18, 0x0f1c, 0x0f20,
+ 0x0f24, 0x0f28, 0x0f2c, 0x0f30, 0x0f34, 0x0f38, 0x0f3c, 0x0f42,
+ 0x0f48, 0x0f4e, 0x0f54, 0x0f5a, 0x0f60, 0x0f66, 0x0f6c, 0x0f72,
+ 0x0f78, 0x0f7e, 0x0f84, 0x0f8a, 0x0f90, 0x0f96, 0x0f9c, 0x0fa2,
+ 0x0fa8, 0x0fae, 0x0fb4, 0x0fba, 0x0fc0, 0x0fc6, 0x0fcc, 0x0fd2,
+ 0x0fd8, 0x0fde, 0x0fe4, 0x0fea, 0x0ff0, 0x0ff6, 0x0ffc, 0x1002,
+ 0x1008, 0x100e, 0x1014, 0x101a, 0x1020, 0x1026, 0x102c, 0x1032,
+ 0x1038, 0x103e, 0x1044, 0x104a, 0x1050, 0x1056, 0x105c, 0x1062,
+ // Entry 3C0 - 3FF
+ 0x1068, 0x106e, 0x1074, 0x107a, 0x1080, 0x1086, 0x108c, 0x1092,
+ 0x1098, 0x109e, 0x10a4, 0x10aa, 0x10b0, 0x10b6, 0x10bc, 0x10c2,
+ 0x10c8, 0x10ce, 0x10d4, 0x10da, 0x10e0, 0x10e6, 0x10ec, 0x10f2,
+ 0x10f8, 0x10fe, 0x1104, 0x110a, 0x1110, 0x1116, 0x111c, 0x1122,
+ 0x1128, 0x112e, 0x1134, 0x113a, 0x1140, 0x1146, 0x114c, 0x1152,
+ 0x1158, 0x115e, 0x1164, 0x116a, 0x1170, 0x1176, 0x117c, 0x1184,
+ 0x118c, 0x1194, 0x119c, 0x11a4, 0x11ac, 0x11b4, 0x11ba, 0x11db,
+ 0x11ea, 0x11f2, 0x11f3, 0x11f4, 0x11f5, 0x11f6, 0x11f7, 0x11f8,
+ // Entry 400 - 43F
+ 0x11f9, 0x11fa, 0x11fb, 0x11fc, 0x11fd, 0x11fe, 0x11ff, 0x1200,
+ 0x1201, 0x1202, 0x1203, 0x1204, 0x1205, 0x1209, 0x120d, 0x1211,
+ 0x1215, 0x1219, 0x121d, 0x121f, 0x1221, 0x1223, 0x1225, 0x1227,
+ 0x1229, 0x122b, 0x122d, 0x122f, 0x1231, 0x1233, 0x1235, 0x1237,
+ 0x1239, 0x123b, 0x123d, 0x123f, 0x1241, 0x1243, 0x1245, 0x1247,
+ 0x1249, 0x124b, 0x124d, 0x124f, 0x1251, 0x1253, 0x1255, 0x1257,
+ 0x1259, 0x125b, 0x125d, 0x125f, 0x1261, 0x1263, 0x1267, 0x126b,
+ 0x126f, 0x1273, 0x1274, 0x1275, 0x1276, 0x1277, 0x1278, 0x1279,
+ // Entry 440 - 47F
+ 0x127b, 0x127d, 0x127f, 0x1281, 0x1283, 0x1285, 0x1287, 0x1289,
+ 0x128b, 0x128d, 0x1290, 0x1292, 0x1294, 0x1296, 0x1298, 0x129b,
+ 0x129d, 0x129f, 0x12a1, 0x12a3, 0x12a5, 0x12a7, 0x12a9, 0x12ab,
+ 0x12ad, 0x12af, 0x12b1, 0x12b4, 0x12b6, 0x12b8, 0x12ba, 0x12bc,
+ 0x12be, 0x12c0, 0x12c2, 0x12c4, 0x12c6, 0x12c8, 0x12cb, 0x12cd,
+ 0x12cf, 0x12d2, 0x12d4, 0x12d6, 0x12d8, 0x12da, 0x12dc, 0x12de,
+ 0x12e0, 0x12e8, 0x12f0, 0x12fc, 0x1308, 0x1314, 0x1320, 0x132c,
+ 0x1334, 0x133c, 0x1348, 0x1354, 0x1360, 0x136c, 0x136e, 0x1370,
+ // Entry 480 - 4BF
+ 0x1372, 0x1374, 0x1376, 0x1378, 0x137a, 0x137c, 0x137e, 0x1380,
+ 0x1382, 0x1384, 0x1386, 0x1388, 0x138a, 0x138c, 0x138f, 0x1392,
+ 0x1394, 0x1396, 0x1398, 0x139a, 0x139c, 0x139e, 0x13a0, 0x13a2,
+ 0x13a4, 0x13a6, 0x13a8, 0x13aa, 0x13ac, 0x13ae, 0x13b0, 0x13b2,
+ 0x13b4, 0x13b6, 0x13b8, 0x13ba, 0x13bc, 0x13be, 0x13c1, 0x13c3,
+ 0x13c5, 0x13c7, 0x13c9, 0x13cb, 0x13cd, 0x13cf, 0x13d1, 0x13d3,
+ 0x13d5, 0x13d8, 0x13da, 0x13dc, 0x13de, 0x13e0, 0x13e2, 0x13e4,
+ 0x13e6, 0x13e8, 0x13ea, 0x13ec, 0x13ee, 0x13f0, 0x13f2, 0x13f4,
+ // Entry 4C0 - 4FF
+ 0x13f7, 0x13fa, 0x13fd, 0x1400, 0x1403, 0x1406, 0x1409, 0x140c,
+ 0x140f, 0x1412, 0x1415, 0x1418, 0x141b, 0x141e, 0x1421, 0x1424,
+ 0x1427, 0x142a, 0x142d, 0x1430, 0x1433, 0x1436, 0x1439, 0x143c,
+ 0x143f, 0x1442, 0x1449, 0x144b, 0x144d, 0x144f, 0x1451, 0x1454,
+ 0x1456, 0x1458, 0x145a, 0x145c, 0x145e, 0x1464, 0x146a, 0x146d,
+ 0x1470, 0x1473, 0x1476, 0x1479, 0x147c, 0x147f, 0x1482, 0x1485,
+ 0x1488, 0x148b, 0x148e, 0x1491, 0x1494, 0x1497, 0x149a, 0x149d,
+ 0x14a0, 0x14a3, 0x14a6, 0x14a9, 0x14ac, 0x14af, 0x14b2, 0x14b5,
+ // Entry 500 - 53F
+ 0x14b8, 0x14bb, 0x14be, 0x14c1, 0x14c4, 0x14c7, 0x14ca, 0x14cd,
+ 0x14d0, 0x14d3, 0x14d6, 0x14d9, 0x14dc, 0x14df, 0x14e2, 0x14e5,
+ 0x14e8, 0x14eb, 0x14ee, 0x14f1, 0x14fa, 0x1503, 0x150c, 0x1515,
+ 0x151e, 0x1527, 0x1530, 0x1539, 0x1542, 0x1545, 0x1548, 0x154b,
+ 0x154e, 0x1551, 0x1554, 0x1557, 0x155a, 0x155d, 0x1560, 0x1563,
+ 0x1566, 0x1569, 0x156c, 0x156f, 0x1572, 0x1575, 0x1578, 0x157b,
+ 0x157e, 0x1581, 0x1584, 0x1587, 0x158a, 0x158d, 0x1590, 0x1593,
+ 0x1596, 0x1599, 0x159c, 0x159f, 0x15a2, 0x15a5, 0x15a8, 0x15ab,
+ // Entry 540 - 57F
+ 0x15ae, 0x15b1, 0x15b4, 0x15b7, 0x15ba, 0x15bd, 0x15c0, 0x15c3,
+ 0x15c6, 0x15c9, 0x15cc, 0x15cf, 0x15d2, 0x15d5, 0x15d8, 0x15db,
+ 0x15de, 0x15e1, 0x15e4, 0x15e7, 0x15ea, 0x15ed, 0x15f0, 0x15f3,
+ 0x15f6, 0x15f9, 0x15fc, 0x15ff, 0x1602, 0x1605, 0x1608, 0x160b,
+ 0x160e, 0x1611, 0x1614, 0x1617, 0x161a, 0x161d, 0x1620, 0x1623,
+ 0x1626, 0x1629, 0x162c, 0x162f, 0x1632, 0x1635, 0x1638, 0x163b,
+ 0x163e, 0x1641, 0x1644, 0x1647, 0x164a, 0x164d, 0x1650, 0x1653,
+ 0x1656, 0x1659, 0x165c, 0x165f, 0x1662, 0x1665, 0x1668, 0x166b,
+ // Entry 580 - 5BF
+ 0x166e, 0x1671, 0x1674, 0x1677, 0x167a, 0x167d, 0x1680, 0x1683,
+ 0x1686, 0x1689, 0x168c, 0x168f, 0x1692, 0x1695, 0x1698, 0x169b,
+ 0x169e, 0x16a1, 0x16a4, 0x16a7, 0x16aa, 0x16ad, 0x16b0, 0x16b3,
+ 0x16b6, 0x16b9, 0x16bc, 0x16bf, 0x16c2, 0x16c5, 0x16c8, 0x16cb,
+ 0x16ce, 0x16d1, 0x16d4, 0x16d7, 0x16da, 0x16dd, 0x16e0, 0x16e3,
+ 0x16e6, 0x16e9, 0x16ec, 0x16ef, 0x16f2, 0x16f5, 0x16f8, 0x16fb,
+ 0x16fe, 0x1701, 0x1704, 0x1707, 0x170a, 0x170d, 0x1710, 0x1713,
+ 0x1716, 0x1719, 0x171c, 0x171f, 0x1722, 0x1725, 0x1728, 0x172b,
+ // Entry 5C0 - 5FF
+ 0x172e, 0x1731, 0x1734, 0x1737, 0x173a, 0x173d, 0x1740, 0x1743,
+ 0x1746, 0x1749, 0x174c, 0x174f, 0x1752, 0x1755, 0x1758, 0x175b,
+ 0x175e, 0x1761, 0x1764, 0x1767, 0x176a, 0x176d, 0x1770, 0x1773,
+ 0x1776, 0x1779, 0x177c, 0x177f, 0x1782, 0x1785, 0x1788, 0x178b,
+ 0x178e, 0x1791, 0x1794, 0x1797, 0x179a, 0x179d, 0x17a0, 0x17a3,
+ 0x17a6, 0x17a9, 0x17ac, 0x17af, 0x17b2, 0x17b5, 0x17b8, 0x17bb,
+ 0x17be, 0x17c1, 0x17c4, 0x17c7, 0x17ca, 0x17cd, 0x17d0, 0x17d3,
+ 0x17d6, 0x17d9, 0x17dc, 0x17df, 0x17e2, 0x17e5, 0x17e8, 0x17eb,
+ // Entry 600 - 63F
+ 0x17ee, 0x17f1, 0x17f4, 0x17f7, 0x17fa, 0x17fd, 0x1800, 0x1803,
+ 0x1806, 0x1809, 0x180c, 0x180f, 0x1812, 0x1815, 0x1818, 0x181b,
+ 0x181e, 0x1821, 0x1824, 0x1827, 0x182a, 0x182d, 0x1830, 0x1833,
+ 0x1836, 0x1839, 0x183c, 0x183f, 0x1842, 0x1845, 0x1848, 0x184b,
+ 0x184e, 0x1851, 0x1854, 0x1857, 0x185a, 0x185d, 0x1860, 0x1863,
+ 0x1866, 0x1869, 0x186c, 0x186f, 0x1872, 0x1875, 0x1878, 0x187b,
+ 0x187e, 0x1881, 0x1884, 0x1887, 0x188a, 0x188d, 0x1890, 0x1893,
+ 0x1896, 0x1899, 0x189c, 0x189f, 0x18a2, 0x18a5, 0x18a8, 0x18ab,
+ // Entry 640 - 67F
+ 0x18ae, 0x18b1, 0x18b4, 0x18b7, 0x18ba, 0x18bd, 0x18c0, 0x18c3,
+ 0x18c6, 0x18c9, 0x18cc, 0x18cf, 0x18d2, 0x18d5, 0x18d8, 0x18db,
+ 0x18de, 0x18e1, 0x18e4, 0x18e7, 0x18ea, 0x18ed, 0x18f0, 0x18f3,
+ 0x18f6, 0x18f9, 0x18fc, 0x18ff, 0x1902, 0x1905, 0x1908, 0x190b,
+ 0x190e, 0x1911, 0x1914, 0x1917, 0x191a, 0x191d, 0x1920, 0x1923,
+ 0x1926, 0x1929, 0x192c, 0x192f, 0x1932, 0x1935, 0x1938, 0x193b,
+ 0x193e, 0x1941, 0x1944, 0x1947, 0x194a, 0x194d, 0x1950, 0x1953,
+ 0x1956, 0x1959, 0x195c, 0x195f, 0x1962, 0x1965, 0x1968, 0x196b,
+ // Entry 680 - 6BF
+ 0x196e, 0x1971, 0x1974, 0x1977, 0x197a, 0x197d, 0x1980, 0x1983,
+ 0x1986, 0x1989, 0x198c, 0x198f, 0x1992, 0x1995, 0x1998, 0x199b,
+ 0x199e, 0x19a1, 0x19a4, 0x19a7, 0x19aa, 0x19ad, 0x19b0, 0x19b3,
+ 0x19b6, 0x19b9, 0x19bc, 0x19bf, 0x19c2, 0x19c5, 0x19c8, 0x19cb,
+ 0x19ce, 0x19d1, 0x19d4, 0x19d7, 0x19da, 0x19dd, 0x19e0, 0x19e3,
+ 0x19e6, 0x19e9, 0x19ec, 0x19ef, 0x19f2, 0x19f5, 0x19f8, 0x19fb,
+ 0x19fe, 0x1a01, 0x1a04, 0x1a07, 0x1a0a, 0x1a0d, 0x1a10, 0x1a13,
+ 0x1a16, 0x1a19, 0x1a1c, 0x1a1f, 0x1a22, 0x1a25, 0x1a28, 0x1a2b,
+ // Entry 6C0 - 6FF
+ 0x1a2e, 0x1a31, 0x1a34, 0x1a37, 0x1a3a, 0x1a3d, 0x1a40,
+} // Size: 3494 bytes
+
+var xorData string = "" + // Size: 4945 bytes
+ "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" +
+ "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" +
+ "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" +
+ "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" +
+ "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" +
+ "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" +
+ "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" +
+ "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" +
+ "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" +
+ "\x03\x036 \x03\x037 \x03\x0b+\x03\x021\x00\x02\x01\x04\x02\x01\x02\x02" +
+ "\x019\x02\x03\x1c\x02\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03" +
+ "\xc1r,\x03\xc1r\x02\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00" +
+ "\x03\xc1s<\x03\xc1s*\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83" +
+ "\xab\xe3\x03\x83\xab\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4" +
+ "\xef\x03\x96\xe1\xcd\x02\x01<\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec" +
+ "\xcb\x03\x94\xec\xcf\x03\x9a\xec\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03" +
+ "\x9a\xec\xd2\x03\x01\x0c!\x03\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ" +
+ "\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03" +
+ "\xca\xf0\xb4\x03\xca\xf1\xb7\x03\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4" +
+ "\x88\x03\xca\xf5\x8b\x03\xca\xfa\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03" +
+ "\xca\xf9\x8f\x03\xca\xfe\x8e\x03\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd" +
+ "\x83\x03\xca\xe2\x82\x03\xca\xe3\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03" +
+ "\xca\xe6\x86\x03\xca\xe7\x99\x03\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea" +
+ "\x9a\x03\xca\xeb\x9d\x03\xca\xe8\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03" +
+ "\x04\x1e\x03\x04\x15\x12\x03\x0b\x05,\x03\x06\x04\x00\x03\x06\x04)\x03" +
+ "\x06\x044\x03\x06\x04<\x03\x06\x05\x1d\x03\x06\x06\x00\x03\x06\x06\x0a" +
+ "\x03\x06\x06'\x03\x06\x062\x03\x0786\x03\x079/\x03\x079 \x03\x07:\x0e" +
+ "\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03\x07;%\x03\x074\x11\x03\x076\x09" +
+ "\x03\x077*\x03\x070\x01\x03\x070\x0f\x03\x070.\x03\x071\x16\x03\x071\x04" +
+ "\x03\x0710\x03\x072\x18\x03\x072-\x03\x073\x14\x03\x073>\x03\x07'\x09" +
+ "\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07\x18#\x03\x07\x18(\x03\x07\x186\x03" +
+ "\x07\x18\x03\x03\x07\x19\x16\x03\x07\x116\x03\x07\x12'\x03\x07\x13\x10" +
+ "\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07\x0c\x13\x03\x07\x0d\x02\x03\x07" +
+ "\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a\x03\x07\x0b\x01\x03\x07\x0b\x0f" +
+ "\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07\x05\x0b\x03\x07\x07\x01\x03\x07" +
+ "\x07\x08\x03\x07\x00<\x03\x07\x00+\x03\x07\x01)\x03\x07\x01\x1b\x03\x07" +
+ "\x01\x08\x03\x07\x03?\x03\x0445\x03\x044\x08\x03\x0454\x03\x04)/\x03\x04" +
+ ")5\x03\x04+\x05\x03\x04+\x14\x03\x04+ \x03\x04+<\x03\x04*&\x03\x04*\x22" +
+ "\x03\x04&8\x03\x04!\x01\x03\x04!\x22\x03\x04\x11+\x03\x04\x10.\x03\x04" +
+ "\x104\x03\x04\x13=\x03\x04\x12\x04\x03\x04\x12\x0a\x03\x04\x0d\x1d\x03" +
+ "\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03\x055<\x03\x055!\x03\x055#\x03" +
+ "\x055&\x03\x054\x1d\x03\x054\x02\x03\x054\x07\x03\x0571\x03\x053\x1a\x03" +
+ "\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05):\x03\x05)<\x03\x05)\x0c\x03" +
+ "\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e\x03\x05$\x14\x03\x05'\x04\x03" +
+ "\x05'\x14\x03\x05&\x02\x03\x05\x226\x03\x05\x22\x0c\x03\x05\x22\x1c\x03" +
+ "\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b\x0c\x03\x05\x14\x07\x03\x05\x16" +
+ "?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03\x05\x0e\x0f\x03\x05\x01\x0e\x03" +
+ "\x05\x00(\x03\x05\x030\x03\x05\x03\x06\x03\x0a==\x03\x0a=1\x03\x0a=,\x03" +
+ "\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99" +
+ "\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6\x17\x03\x0a7'\x03\x0a78\x03\x0a73" +
+ "\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03" +
+ "\x0a\x1b/\x03\x0a\x18\x19\x03\x0a\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e" +
+ "\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02\x03\x0a\x0f \x03\x0a\x0c\x04\x03" +
+ "\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03\x0a\x046\x03\x0a\x05\x14\x03\x0a" +
+ "\x00\x04\x03\x0a\x00\x10\x03\x0a\x00\x14\x03\x0b<3\x03\x0b;*\x03\x0b9" +
+ "\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10\x03\x0b((\x03\x0b&5\x03\x0b$\x1c" +
+ "\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19" +
+ "\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03" +
+ "\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03\x0b\x18 \x03\x0b\x18\x16\x03\x0b" +
+ "\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22\x03\x0b\x12\x1b\x03\x0b\x12\x10" +
+ "\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12\x18\x03\x0b\x0c&\x03\x0b\x061\x03" +
+ "\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03" +
+ "\x0b\x04\x1b\x03\x0b\x042\x03\x0b\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d" +
+ "\x03\x0b\x03/\x03\x0b\x03+\x03\x0b\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01" +
+ "\x1e\x03\x0b\x01\x08\x03\x0b\x015\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?" +
+ "\x03\x02\x001\x03\x02\x003\x03\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b" +
+ "\x03\x02\x004\x03\x02\x00<\x03\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01" +
+ "\x1a\x03\x02\x01\x07\x03\x02\x01\x05\x03\x02\x01\x0b\x03\x02\x01%\x03" +
+ "\x02\x01\x0c\x03\x02\x01\x04\x03\x02\x01\x1c\x03\x02\x00.\x03\x02\x002" +
+ "\x03\x02\x00>\x03\x02\x00\x12\x03\x02\x00\x16\x03\x02\x011\x03\x02\x013" +
+ "\x03\x02\x02 \x03\x02\x02%\x03\x02\x02$\x03\x02\x028\x03\x02\x02;\x03" +
+ "\x02\x024\x03\x02\x012\x03\x02\x022\x03\x02\x02/\x03\x02\x01,\x03\x02" +
+ "\x01\x13\x03\x02\x01\x16\x03\x02\x01\x11\x03\x02\x01\x1e\x03\x02\x01\x15" +
+ "\x03\x02\x01\x17\x03\x02\x01\x0f\x03\x02\x01\x08\x03\x02\x00?\x03\x02" +
+ "\x03\x07\x03\x02\x03\x0d\x03\x02\x03\x13\x03\x02\x03\x1d\x03\x02\x03\x1f" +
+ "\x03\x02\x00\x03\x03\x02\x00\x0d\x03\x02\x00\x01\x03\x02\x00\x1b\x03\x02" +
+ "\x00\x19\x03\x02\x00\x18\x03\x02\x00\x13\x03\x02\x00/\x03\x07>\x12\x03" +
+ "\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e\x03\x07>\x1c\x03\x07>:\x03\x07>" +
+ "\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>\x02\x03\x06\x224\x03\x06\x1a." +
+ "\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03\x05\x1f\x01\x03\x04'\x08\x03" +
+ "\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03\x02\x0d!\x03\x02\x0d&\x03\x02" +
+ "\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02\x0d$\x03\x02\x0d'\x03\x02\x0d" +
+ "%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?\x03\x099.\x03\x08\x0b7\x03\x08" +
+ "\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03\x089'\x03\x0f\x0b\x18\x03\x0f\x1c" +
+ "1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0\x0c\x03\x0e\x0a9\x03\x0e\x056\x03" +
+ "\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00\x03\x070\x0d\x03\x072\x0b\x03\x06" +
+ "\x11\x18\x03\x070\x10\x03\x06\x0f(\x03\x072\x05\x03\x06\x0f,\x03\x073" +
+ "\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03\x04\x0b \x03\x05:8\x03\x05\x16%" +
+ "\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05\x1d5\x03\x05*;\x03\x05\x16\x1b" +
+ "\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03,\x03\x0b87\x03\x04/\x0a\x03\x06" +
+ "\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(\x03\x0a\x0b5\x03\x06\x0e7\x03" +
+ "\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760\x03\x06\x0c;\x03\x05'\x00\x03" +
+ "\x072.\x03\x072\x08\x03\x06=\x01\x03\x06\x05\x1b\x03\x06\x06\x12\x03\x06" +
+ "$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076,\x03\x06\x07;\x03\x06.,\x03\x86" +
+ "\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02\x095\x02\x094\x02\x09;\x02\x09>" +
+ "\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02\x09%\x02\x09&\x02\x09#\x02\x09 " +
+ "\x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02\x08.\x02\x08*\x02\x08&\x02\x088" +
+ "\x02\x08>\x02\x084\x02\x086\x02\x080\x02\x08\x10\x02\x08\x17\x02\x08\x12" +
+ "\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02\x08\x15\x02\x08\x14\x02\x08\x0c" +
+ "\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87\xe0\x8a\x03-2\xe3\x03\x80\xef" +
+ "\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6\xe8\x03\x84\xe6\xe9\x03\x97" +
+ "\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad\x03\x80\xe3\x92\x03\x88\xe3" +
+ "\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88\xe3\x95\x03\x88\xfe\xcb\x03" +
+ "\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9\x03-2\xc1\x03-2\xc0\x03-2" +
+ "\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5\x03\x8e\xe6\xf9\x03\x8e" +
+ "\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b(\x04\x023 \x03\x0b)\x08" +
+ "\x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0\x03\x07" +
+ "\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f\x15\x03" +
+ "\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01\x18\x03" +
+ "\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03\x08\x1a" +
+ "\x0a\x03\x07\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03\x09\x0c\x16\x03" +
+ "\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06!3\x03\x06\x03+" +
+ "\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05\x03\x07<2\x03" +
+ "\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00\x03\x09" +
+ "/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11\x00\x03" +
+ "\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1\x03\x0974" +
+ "\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3\x03\x07=*" +
+ "\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00\x03\x08" +
+ "\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03\x06\x1c?" +
+ "\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$\x03\x07$;" +
+ "\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a\x06\x12\x03" +
+ "\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01\x03\x08\x11 " +
+ "\x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03\x0a\x22\x08\x03" +
+ "\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07\x0b\x1a\x03\x09." +
+ "\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a\x0a8\x03\x09%2" +
+ "\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b\x1b\x1a\x03" +
+ "\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08\x11\x08\x03" +
+ "\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03\x09\x0b\x0a" +
+ "\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03\x09+\x15\x03" +
+ "\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09\x07;\x03\x08" +
+ "\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a.\x0a\x03\x0a7" +
+ "\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:\x03\x08\x02/" +
+ "\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03\x0a,\x11\x03" +
+ "\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 \x1f\x03\x09." +
+ "\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d\x03\x08\x01\x1f" +
+ "\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03\x06&9\x03\x06+\x11" +
+ "\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03\x07\x05\x22\x03\x07" +
+ "\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f\x03\x09\x08\x0b\x03" +
+ "\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=\x10\x03\x0a\x09\x0d" +
+ "\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07\x03\x08\x185\x03" +
+ "\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06,\x03\x0b\x18>\x03" +
+ "\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03\x0b\x1c<\x03\x0a" +
+ "%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09\x0e=\x03\x08 \x0e" +
+ "\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03\x06?(\x03\x0a-\x0e" +
+ "\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17\x03\x087\x05\x03" +
+ "\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e\x03\x0a\x22<\x03" +
+ "\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<\x03\x07\x1b=\x03" +
+ "\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)\x1c\x03\x06=\x1a" +
+ "\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:/\x03\x09\x05\x0a" +
+ "\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a\x1f\x03\x07\x04(" +
+ "\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14\x03\x09\x1d\x16\x03" +
+ "\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12\x03\x06\x16%\x03" +
+ "\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08\x0c<\x03\x08\x0b" +
+ "\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$\x03\x0b\x1c=\x03" +
+ "\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03\x09#\x11\x03\x08" +
+ "\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03\x07\x14<\x03\x07" +
+ "\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18\x03\x0a-\x0c\x03" +
+ "\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03\x08$<\x03\x083\x1d" +
+ "\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08\x0e\x14\x03\x065\x0a" +
+ "\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03\x1a\x03\x06(\x1d\x03" +
+ "\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06\x0c\x04\x03\x06\x1e" +
+ "\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+\x16\x03\x0a-?\x03" +
+ "\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03\x0a1\x10\x03\x0a" +
+ "\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12\x03\x09*)\x03\x09-" +
+ "\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03\x093\x12\x03\x09\x0b" +
+ "\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03\x08,&\x03\x08!\x22" +
+ "\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c\x04\x03\x08\x0c\x06" +
+ "\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03\x08\x0f\x1d\x03\x08" +
+ "\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e#\x03\x08\x11\x11" +
+ "\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1\x03\x07 $\x03\x07 '" +
+ "\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#\x03\x07\x05\x1a\x03" +
+ "\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f\x03\x062\x0b\x03\x06" +
+ "6\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03\x0b\x11\x16\x03\x0a/" +
+ "\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5\x03\x0a\x221\x03\x0a" +
+ "\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19\x03\x0a\x08&\x03\x0a" +
+ "\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22\x03\x0a\x06)\x03\x0a" +
+ "\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(\x03\x09)\x1e\x03\x09/" +
+ "\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9\x03\x09\x228\x03\x09%" +
+ "\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03\x093%\x03\x096\x05\x03" +
+ "\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04,\x03\x09\x1f\x16\x03\x09" +
+ "\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*\x05\x03\x08/2\x03\x084:" +
+ "\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;\x10\x03\x08>$\x03\x08>\x18" +
+ "\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03\x081\x1c\x03\x087#\x03\x087" +
+ "*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-\x03\x08\x1f4\x03\x08\x1d\x04" +
+ "\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03\x07%\x1b\x03\x077\x0c\x03\x07" +
+ "\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07\x01\x02\x03\x07\x010\x03\x07" +
+ "\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03\x07\x06\x06\x03\x07\x05\x0a" +
+ "\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03\x06-\x1d\x03\x06\x223\x03" +
+ "\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03\x0645\x03\x06\x0b\x00\x03" +
+ "\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03\x0c\x05\x0f\x03\x0b+\x0b" +
+ "\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03\x89\xca\xea\x03\x89\xca" +
+ "\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03\x0d8%\x03\x0d8!\x03\x0c8" +
+ "-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03\x0c9\x09\x03\x0c9\x0d\x03" +
+ "\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu\x0f\x03\xcfu\x0e\x03\xcfu" +
+ "\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03\xcf`>\x03\xcf`9\x03\xcf`8" +
+ "\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03\x0d\x1b\x1a\x03\x0d\x1b&" +
+ "\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14\x03\x0c?\x06\x03\x0c?\x0b" +
+ "\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03\x0c>\x0f\x03\x0c>\x08\x03" +
+ "\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13\x03\x0c?\x16\x03\x0c?\x15" +
+ "\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03\x0c?\x1a\x03\x0c?\x17\x03" +
+ "\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?\x04\x03\x0c?\x05\x03\x0c" +
+ "\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03\x0c=\x0c\x03\x0c=\x0f\x03" +
+ "\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=\x19\x03\x0c=\x15\x03\x0c=" +
+ "\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>\x03\x0c=2\x03\x0c=6\x03\x0c" +
+ "<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03\x0e8\x09\x03\x0e:&\x03\x0e8" +
+ "\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03\x0e8\x1e\x03\x0e:*\x03\x0e:7" +
+ "\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<\x03\x0e:4\x03\x0e:'\x03\x0e:" +
+ "-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)\x03\x0e:/\x03\xcfs'\x03\x0d=" +
+ "\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9?\x03\x0d)\x0d\x03\x0d(%\x02" +
+ "\x01\x18\x02\x01(\x02\x03'\x02\x03)\x02\x03+\x02\x03/\x02\x03\x19\x02" +
+ "\x03\x1b\x02\x03\x1f\x03\x0d\x22\x18\x03\x0d\x22\x1a\x03\x0d\x22'\x03" +
+ "\x0d\x22/\x03\x0d\x223\x03\x0d\x22$\x02\x03 \x02\x01%\x02\x01'\x02\x01+" +
+ "\x02\x01-\x02\x01/\x02\x01;\x02\x01=\x02\x01?\x02\x01\x1e\x03\x0f$!\x03" +
+ "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" +
+ "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" +
+ "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" +
+ "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" +
+ "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" +
+ "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" +
+ "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b*4\x03\x0b<+" +
+ "\x03\x0b8\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03" +
+ "\x0b\x1a\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a" +
+ "\x03\x0a!7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 " +
+ "\x03\x0a\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03" +
+ "\x09-\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03" +
+ "\x093\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03" +
+ "\x09\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09" +
+ "\x1a\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02" +
+ "*\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" +
+ "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" +
+ "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" +
+ "\x05\x22\x05\x03\x050\x1d"
+
+// lookup returns the trie value for the first UTF-8 encoding in s and
+// the width in bytes of this encoding. The size will be 0 if s does not
+// hold enough bytes to complete the encoding. len(s) must be greater than 0.
+func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) {
+ c0 := s[0]
+ switch {
+ case c0 < 0x80: // is ASCII
+ return idnaValues[c0], 1
+ case c0 < 0xC2:
+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
+ case c0 < 0xE0: // 2-byte UTF-8
+ if len(s) < 2 {
+ return 0, 0
+ }
+ i := idnaIndex[c0]
+ c1 := s[1]
+ if c1 < 0x80 || 0xC0 <= c1 {
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
+ }
+ return t.lookupValue(uint32(i), c1), 2
+ case c0 < 0xF0: // 3-byte UTF-8
+ if len(s) < 3 {
+ return 0, 0
+ }
+ i := idnaIndex[c0]
+ c1 := s[1]
+ if c1 < 0x80 || 0xC0 <= c1 {
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
+ }
+ o := uint32(i)<<6 + uint32(c1)
+ i = idnaIndex[o]
+ c2 := s[2]
+ if c2 < 0x80 || 0xC0 <= c2 {
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
+ }
+ return t.lookupValue(uint32(i), c2), 3
+ case c0 < 0xF8: // 4-byte UTF-8
+ if len(s) < 4 {
+ return 0, 0
+ }
+ i := idnaIndex[c0]
+ c1 := s[1]
+ if c1 < 0x80 || 0xC0 <= c1 {
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
+ }
+ o := uint32(i)<<6 + uint32(c1)
+ i = idnaIndex[o]
+ c2 := s[2]
+ if c2 < 0x80 || 0xC0 <= c2 {
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
+ }
+ o = uint32(i)<<6 + uint32(c2)
+ i = idnaIndex[o]
+ c3 := s[3]
+ if c3 < 0x80 || 0xC0 <= c3 {
+ return 0, 3 // Illegal UTF-8: not a continuation byte.
+ }
+ return t.lookupValue(uint32(i), c3), 4
+ }
+ // Illegal rune
+ return 0, 1
+}
+
+// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
+// s must start with a full and valid UTF-8 encoded rune.
+func (t *idnaTrie) lookupUnsafe(s []byte) uint16 {
+ c0 := s[0]
+ if c0 < 0x80 { // is ASCII
+ return idnaValues[c0]
+ }
+ i := idnaIndex[c0]
+ if c0 < 0xE0 { // 2-byte UTF-8
+ return t.lookupValue(uint32(i), s[1])
+ }
+ i = idnaIndex[uint32(i)<<6+uint32(s[1])]
+ if c0 < 0xF0 { // 3-byte UTF-8
+ return t.lookupValue(uint32(i), s[2])
+ }
+ i = idnaIndex[uint32(i)<<6+uint32(s[2])]
+ if c0 < 0xF8 { // 4-byte UTF-8
+ return t.lookupValue(uint32(i), s[3])
+ }
+ return 0
+}
+
+// lookupString returns the trie value for the first UTF-8 encoding in s and
+// the width in bytes of this encoding. The size will be 0 if s does not
+// hold enough bytes to complete the encoding. len(s) must be greater than 0.
+func (t *idnaTrie) lookupString(s string) (v uint16, sz int) {
+ c0 := s[0]
+ switch {
+ case c0 < 0x80: // is ASCII
+ return idnaValues[c0], 1
+ case c0 < 0xC2:
+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
+ case c0 < 0xE0: // 2-byte UTF-8
+ if len(s) < 2 {
+ return 0, 0
+ }
+ i := idnaIndex[c0]
+ c1 := s[1]
+ if c1 < 0x80 || 0xC0 <= c1 {
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
+ }
+ return t.lookupValue(uint32(i), c1), 2
+ case c0 < 0xF0: // 3-byte UTF-8
+ if len(s) < 3 {
+ return 0, 0
+ }
+ i := idnaIndex[c0]
+ c1 := s[1]
+ if c1 < 0x80 || 0xC0 <= c1 {
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
+ }
+ o := uint32(i)<<6 + uint32(c1)
+ i = idnaIndex[o]
+ c2 := s[2]
+ if c2 < 0x80 || 0xC0 <= c2 {
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
+ }
+ return t.lookupValue(uint32(i), c2), 3
+ case c0 < 0xF8: // 4-byte UTF-8
+ if len(s) < 4 {
+ return 0, 0
+ }
+ i := idnaIndex[c0]
+ c1 := s[1]
+ if c1 < 0x80 || 0xC0 <= c1 {
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
+ }
+ o := uint32(i)<<6 + uint32(c1)
+ i = idnaIndex[o]
+ c2 := s[2]
+ if c2 < 0x80 || 0xC0 <= c2 {
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
+ }
+ o = uint32(i)<<6 + uint32(c2)
+ i = idnaIndex[o]
+ c3 := s[3]
+ if c3 < 0x80 || 0xC0 <= c3 {
+ return 0, 3 // Illegal UTF-8: not a continuation byte.
+ }
+ return t.lookupValue(uint32(i), c3), 4
+ }
+ // Illegal rune
+ return 0, 1
+}
+
+// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
+// s must start with a full and valid UTF-8 encoded rune.
+func (t *idnaTrie) lookupStringUnsafe(s string) uint16 {
+ c0 := s[0]
+ if c0 < 0x80 { // is ASCII
+ return idnaValues[c0]
+ }
+ i := idnaIndex[c0]
+ if c0 < 0xE0 { // 2-byte UTF-8
+ return t.lookupValue(uint32(i), s[1])
+ }
+ i = idnaIndex[uint32(i)<<6+uint32(s[1])]
+ if c0 < 0xF0 { // 3-byte UTF-8
+ return t.lookupValue(uint32(i), s[2])
+ }
+ i = idnaIndex[uint32(i)<<6+uint32(s[2])]
+ if c0 < 0xF8 { // 4-byte UTF-8
+ return t.lookupValue(uint32(i), s[3])
+ }
+ return 0
+}
+
+// idnaTrie. Total size: 32438 bytes (31.68 KiB). Checksum: 8aaded0b8e8308ea.
+type idnaTrie struct{}
+
+func newIdnaTrie(i int) *idnaTrie {
+ return &idnaTrie{}
+}
+
+// lookupValue determines the type of block n and looks up the value for b.
+func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {
+ switch {
+ case n < 136:
+ return uint16(idnaValues[n<<6+uint32(b)])
+ default:
+ n -= 136
+ return uint16(idnaSparse.lookup(n, b))
+ }
+}
+
+// idnaValues: 138 blocks, 8832 entries, 17664 bytes
+// The third block is the zero block.
+var idnaValues = [8832]uint16{
+ // Block 0x0, offset 0x0
+ 0x00: 0x0018, 0x01: 0x0018, 0x02: 0x0018, 0x03: 0x0018, 0x04: 0x0018, 0x05: 0x0018,
+ 0x06: 0x0018, 0x07: 0x0018, 0x08: 0x0018, 0x09: 0x0018, 0x0a: 0x0018, 0x0b: 0x0018,
+ 0x0c: 0x0018, 0x0d: 0x0018, 0x0e: 0x0018, 0x0f: 0x0018, 0x10: 0x0018, 0x11: 0x0018,
+ 0x12: 0x0018, 0x13: 0x0018, 0x14: 0x0018, 0x15: 0x0018, 0x16: 0x0018, 0x17: 0x0018,
+ 0x18: 0x0018, 0x19: 0x0018, 0x1a: 0x0018, 0x1b: 0x0018, 0x1c: 0x0018, 0x1d: 0x0018,
+ 0x1e: 0x0018, 0x1f: 0x0018, 0x20: 0x0018, 0x21: 0x0018, 0x22: 0x0018, 0x23: 0x0018,
+ 0x24: 0x0018, 0x25: 0x0018, 0x26: 0x0018, 0x27: 0x0018, 0x28: 0x0018, 0x29: 0x0018,
+ 0x2a: 0x0018, 0x2b: 0x0018, 0x2c: 0x0018, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0018,
+ 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008,
+ 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0018, 0x3b: 0x0018,
+ 0x3c: 0x0018, 0x3d: 0x0018, 0x3e: 0x0018, 0x3f: 0x0018,
+ // Block 0x1, offset 0x40
+ 0x40: 0x0018, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105,
+ 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105,
+ 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105,
+ 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105,
+ 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0018, 0x5c: 0x0018, 0x5d: 0x0018,
+ 0x5e: 0x0018, 0x5f: 0x0018, 0x60: 0x0018, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008,
+ 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008,
+ 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008,
+ 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008,
+ 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0018,
+ 0x7c: 0x0018, 0x7d: 0x0018, 0x7e: 0x0018, 0x7f: 0x0018,
+ // Block 0x2, offset 0x80
+ // Block 0x3, offset 0xc0
+ 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040,
+ 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040,
+ 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040,
+ 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040,
+ 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040,
+ 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x0009, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018,
+ 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x0011, 0xe9: 0x0018,
+ 0xea: 0x0019, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x0021,
+ 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0029, 0xf3: 0x0031, 0xf4: 0x0039, 0xf5: 0x0005,
+ 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x0041, 0xf9: 0x0049, 0xfa: 0x0051, 0xfb: 0x0018,
+ 0xfc: 0x0059, 0xfd: 0x0061, 0xfe: 0x0069, 0xff: 0x0018,
+ // Block 0x4, offset 0x100
+ 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008,
+ 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008,
+ 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008,
+ 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008,
+ 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008,
+ 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008,
+ 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008,
+ 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008,
+ 0x130: 0x0071, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008,
+ 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d,
+ 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0079,
+ // Block 0x5, offset 0x140
+ 0x140: 0x0079, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d,
+ 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x0081, 0x14a: 0xe00d, 0x14b: 0x0008,
+ 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008,
+ 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008,
+ 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008,
+ 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008,
+ 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008,
+ 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008,
+ 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008,
+ 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d,
+ 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x0089,
+ // Block 0x6, offset 0x180
+ 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008,
+ 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d,
+ 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d,
+ 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d,
+ 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155,
+ 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008,
+ 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d,
+ 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd,
+ 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d,
+ 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008,
+ 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008,
+ // Block 0x7, offset 0x1c0
+ 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x0091, 0x1c5: 0x0091,
+ 0x1c6: 0x0091, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d,
+ 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d,
+ 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d,
+ 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008,
+ 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008,
+ 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008,
+ 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008,
+ 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008,
+ 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008,
+ 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008,
+ // Block 0x8, offset 0x200
+ 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008,
+ 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008,
+ 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008,
+ 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008,
+ 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008,
+ 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008,
+ 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008,
+ 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008,
+ 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008,
+ 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0099, 0x23b: 0xe03d,
+ 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x00a1, 0x23f: 0x0008,
+ // Block 0x9, offset 0x240
+ 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018,
+ 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008,
+ 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008,
+ 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018,
+ 0x258: 0x00d1, 0x259: 0x00d9, 0x25a: 0x00e1, 0x25b: 0x00e9, 0x25c: 0x00f1, 0x25d: 0x00f9,
+ 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0101, 0x262: 0x0089, 0x263: 0x0109,
+ 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018,
+ 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018,
+ 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018,
+ 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,
+ 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,
+ // Block 0xa, offset 0x280
+ 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0111, 0x285: 0x040d,
+ 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,
+ 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,
+ 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,
+ 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,
+ 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,
+ 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,
+ 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,
+ 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,
+ 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x0119, 0x2bb: 0x0008,
+ 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x0121, 0x2bf: 0x043d,
+ // Block 0xb, offset 0x2c0
+ 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x0039, 0x2c5: 0x0129,
+ 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040,
+ 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105,
+ 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105,
+ 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105,
+ 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d,
+ 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d,
+ 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008,
+ 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008,
+ 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008,
+ 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008,
+ // Block 0xc, offset 0x300
+ 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008,
+ 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008,
+ 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd,
+ 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008,
+ 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008,
+ 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008,
+ 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008,
+ 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008,
+ 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd,
+ 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008,
+ 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d,
+ // Block 0xd, offset 0x340
+ 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008,
+ 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008,
+ 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008,
+ 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008,
+ 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008,
+ 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008,
+ 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008,
+ 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008,
+ 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008,
+ 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,
+ 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,
+ // Block 0xe, offset 0x380
+ 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,
+ 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,
+ 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,
+ 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,
+ 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,
+ 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008,
+ 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008,
+ 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008,
+ 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008,
+ 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008,
+ 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008,
+ // Block 0xf, offset 0x3c0
+ 0x3c0: 0xe07d, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d,
+ 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d,
+ 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008,
+ 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008,
+ 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008,
+ 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008,
+ 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008,
+ 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008,
+ 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008,
+ 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008,
+ 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008,
+ // Block 0x10, offset 0x400
+ 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008,
+ 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008,
+ 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008,
+ 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008,
+ 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008,
+ 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008,
+ 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008,
+ 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008,
+ 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5,
+ 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,
+ 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,
+ // Block 0x11, offset 0x440
+ 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,
+ 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,
+ 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,
+ 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,
+ 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0818,
+ 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,
+ 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,
+ 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,
+ 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,
+ 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,
+ 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,
+ // Block 0x12, offset 0x480
+ 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,
+ 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,
+ 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,
+ 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,
+ 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,
+ 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,
+ 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,
+ 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,
+ 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0139,
+ 0x4b6: 0x0141, 0x4b7: 0x0149, 0x4b8: 0x0151, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,
+ 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,
+ // Block 0x13, offset 0x4c0
+ 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,
+ 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,
+ 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,
+ 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,
+ 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,
+ 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,
+ 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,
+ 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,
+ 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,
+ 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,
+ 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,
+ // Block 0x14, offset 0x500
+ 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,
+ 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,
+ 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,
+ 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,
+ 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,
+ 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,
+ 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,
+ 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,
+ 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,
+ 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,
+ 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,
+ // Block 0x15, offset 0x540
+ 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08,
+ 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08,
+ 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08,
+ 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0c08, 0x557: 0x0c08,
+ 0x558: 0x0c08, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040,
+ 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08,
+ 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08,
+ 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040,
+ 0x570: 0x0c08, 0x571: 0x0c08, 0x572: 0x0c08, 0x573: 0x0c08, 0x574: 0x0c08, 0x575: 0x0c08,
+ 0x576: 0x0c08, 0x577: 0x0c08, 0x578: 0x0c08, 0x579: 0x0c08, 0x57a: 0x0c08, 0x57b: 0x0c08,
+ 0x57c: 0x0c08, 0x57d: 0x0c08, 0x57e: 0x0c08, 0x57f: 0x0c08,
+ // Block 0x16, offset 0x580
+ 0x580: 0x0c08, 0x581: 0x0c08, 0x582: 0x0c08, 0x583: 0x0808, 0x584: 0x0808, 0x585: 0x0808,
+ 0x586: 0x0a08, 0x587: 0x0808, 0x588: 0x0818, 0x589: 0x0a08, 0x58a: 0x0a08, 0x58b: 0x0a08,
+ 0x58c: 0x0a08, 0x58d: 0x0a08, 0x58e: 0x0c08, 0x58f: 0x0a08, 0x590: 0x0840, 0x591: 0x0840,
+ 0x592: 0x0040, 0x593: 0x0040, 0x594: 0x0040, 0x595: 0x0040, 0x596: 0x0040, 0x597: 0x3308,
+ 0x598: 0x3308, 0x599: 0x3308, 0x59a: 0x3308, 0x59b: 0x3308, 0x59c: 0x3308, 0x59d: 0x3308,
+ 0x59e: 0x3308, 0x59f: 0x3308, 0x5a0: 0x0a08, 0x5a1: 0x0a08, 0x5a2: 0x0a08, 0x5a3: 0x0a08,
+ 0x5a4: 0x0a08, 0x5a5: 0x0a08, 0x5a6: 0x0a08, 0x5a7: 0x0a08, 0x5a8: 0x0a08, 0x5a9: 0x0a08,
+ 0x5aa: 0x0c08, 0x5ab: 0x0c08, 0x5ac: 0x0c08, 0x5ad: 0x0808, 0x5ae: 0x0c08, 0x5af: 0x0a08,
+ 0x5b0: 0x0a08, 0x5b1: 0x0c08, 0x5b2: 0x0c08, 0x5b3: 0x0a08, 0x5b4: 0x0a08, 0x5b5: 0x0a08,
+ 0x5b6: 0x0a08, 0x5b7: 0x0a08, 0x5b8: 0x0a08, 0x5b9: 0x0c08, 0x5ba: 0x0a08, 0x5bb: 0x0a08,
+ 0x5bc: 0x0a08, 0x5bd: 0x0a08, 0x5be: 0x0a08, 0x5bf: 0x0a08,
+ // Block 0x17, offset 0x5c0
+ 0x5c0: 0x3008, 0x5c1: 0x3308, 0x5c2: 0x3308, 0x5c3: 0x3308, 0x5c4: 0x3308, 0x5c5: 0x3308,
+ 0x5c6: 0x3308, 0x5c7: 0x3308, 0x5c8: 0x3308, 0x5c9: 0x3008, 0x5ca: 0x3008, 0x5cb: 0x3008,
+ 0x5cc: 0x3008, 0x5cd: 0x3b08, 0x5ce: 0x3008, 0x5cf: 0x3008, 0x5d0: 0x0008, 0x5d1: 0x3308,
+ 0x5d2: 0x3308, 0x5d3: 0x3308, 0x5d4: 0x3308, 0x5d5: 0x3308, 0x5d6: 0x3308, 0x5d7: 0x3308,
+ 0x5d8: 0x0159, 0x5d9: 0x0161, 0x5da: 0x0169, 0x5db: 0x0171, 0x5dc: 0x0179, 0x5dd: 0x0181,
+ 0x5de: 0x0189, 0x5df: 0x0191, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x3308, 0x5e3: 0x3308,
+ 0x5e4: 0x0018, 0x5e5: 0x0018, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0008,
+ 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,
+ 0x5f0: 0x0018, 0x5f1: 0x0008, 0x5f2: 0x0008, 0x5f3: 0x0008, 0x5f4: 0x0008, 0x5f5: 0x0008,
+ 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0008, 0x5fb: 0x0008,
+ 0x5fc: 0x0008, 0x5fd: 0x0008, 0x5fe: 0x0008, 0x5ff: 0x0008,
+ // Block 0x18, offset 0x600
+ 0x600: 0x0008, 0x601: 0x3308, 0x602: 0x3008, 0x603: 0x3008, 0x604: 0x0040, 0x605: 0x0008,
+ 0x606: 0x0008, 0x607: 0x0008, 0x608: 0x0008, 0x609: 0x0008, 0x60a: 0x0008, 0x60b: 0x0008,
+ 0x60c: 0x0008, 0x60d: 0x0040, 0x60e: 0x0040, 0x60f: 0x0008, 0x610: 0x0008, 0x611: 0x0040,
+ 0x612: 0x0040, 0x613: 0x0008, 0x614: 0x0008, 0x615: 0x0008, 0x616: 0x0008, 0x617: 0x0008,
+ 0x618: 0x0008, 0x619: 0x0008, 0x61a: 0x0008, 0x61b: 0x0008, 0x61c: 0x0008, 0x61d: 0x0008,
+ 0x61e: 0x0008, 0x61f: 0x0008, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x0008, 0x623: 0x0008,
+ 0x624: 0x0008, 0x625: 0x0008, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0040,
+ 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,
+ 0x630: 0x0008, 0x631: 0x0040, 0x632: 0x0008, 0x633: 0x0040, 0x634: 0x0040, 0x635: 0x0040,
+ 0x636: 0x0008, 0x637: 0x0008, 0x638: 0x0008, 0x639: 0x0008, 0x63a: 0x0040, 0x63b: 0x0040,
+ 0x63c: 0x3308, 0x63d: 0x0008, 0x63e: 0x3008, 0x63f: 0x3008,
+ // Block 0x19, offset 0x640
+ 0x640: 0x3008, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3308, 0x644: 0x3308, 0x645: 0x0040,
+ 0x646: 0x0040, 0x647: 0x3008, 0x648: 0x3008, 0x649: 0x0040, 0x64a: 0x0040, 0x64b: 0x3008,
+ 0x64c: 0x3008, 0x64d: 0x3b08, 0x64e: 0x0008, 0x64f: 0x0040, 0x650: 0x0040, 0x651: 0x0040,
+ 0x652: 0x0040, 0x653: 0x0040, 0x654: 0x0040, 0x655: 0x0040, 0x656: 0x0040, 0x657: 0x3008,
+ 0x658: 0x0040, 0x659: 0x0040, 0x65a: 0x0040, 0x65b: 0x0040, 0x65c: 0x0199, 0x65d: 0x01a1,
+ 0x65e: 0x0040, 0x65f: 0x01a9, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x3308, 0x663: 0x3308,
+ 0x664: 0x0040, 0x665: 0x0040, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0008,
+ 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,
+ 0x670: 0x0008, 0x671: 0x0008, 0x672: 0x0018, 0x673: 0x0018, 0x674: 0x0018, 0x675: 0x0018,
+ 0x676: 0x0018, 0x677: 0x0018, 0x678: 0x0018, 0x679: 0x0018, 0x67a: 0x0018, 0x67b: 0x0018,
+ 0x67c: 0x0008, 0x67d: 0x0018, 0x67e: 0x3308, 0x67f: 0x0040,
+ // Block 0x1a, offset 0x680
+ 0x680: 0x0040, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x3008, 0x684: 0x0040, 0x685: 0x0008,
+ 0x686: 0x0008, 0x687: 0x0008, 0x688: 0x0008, 0x689: 0x0008, 0x68a: 0x0008, 0x68b: 0x0040,
+ 0x68c: 0x0040, 0x68d: 0x0040, 0x68e: 0x0040, 0x68f: 0x0008, 0x690: 0x0008, 0x691: 0x0040,
+ 0x692: 0x0040, 0x693: 0x0008, 0x694: 0x0008, 0x695: 0x0008, 0x696: 0x0008, 0x697: 0x0008,
+ 0x698: 0x0008, 0x699: 0x0008, 0x69a: 0x0008, 0x69b: 0x0008, 0x69c: 0x0008, 0x69d: 0x0008,
+ 0x69e: 0x0008, 0x69f: 0x0008, 0x6a0: 0x0008, 0x6a1: 0x0008, 0x6a2: 0x0008, 0x6a3: 0x0008,
+ 0x6a4: 0x0008, 0x6a5: 0x0008, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0040,
+ 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,
+ 0x6b0: 0x0008, 0x6b1: 0x0040, 0x6b2: 0x0008, 0x6b3: 0x01b1, 0x6b4: 0x0040, 0x6b5: 0x0008,
+ 0x6b6: 0x01b9, 0x6b7: 0x0040, 0x6b8: 0x0008, 0x6b9: 0x0008, 0x6ba: 0x0040, 0x6bb: 0x0040,
+ 0x6bc: 0x3308, 0x6bd: 0x0040, 0x6be: 0x3008, 0x6bf: 0x3008,
+ // Block 0x1b, offset 0x6c0
+ 0x6c0: 0x3008, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x0040, 0x6c4: 0x0040, 0x6c5: 0x0040,
+ 0x6c6: 0x0040, 0x6c7: 0x3308, 0x6c8: 0x3308, 0x6c9: 0x0040, 0x6ca: 0x0040, 0x6cb: 0x3308,
+ 0x6cc: 0x3308, 0x6cd: 0x3b08, 0x6ce: 0x0040, 0x6cf: 0x0040, 0x6d0: 0x0040, 0x6d1: 0x3308,
+ 0x6d2: 0x0040, 0x6d3: 0x0040, 0x6d4: 0x0040, 0x6d5: 0x0040, 0x6d6: 0x0040, 0x6d7: 0x0040,
+ 0x6d8: 0x0040, 0x6d9: 0x01c1, 0x6da: 0x01c9, 0x6db: 0x01d1, 0x6dc: 0x0008, 0x6dd: 0x0040,
+ 0x6de: 0x01d9, 0x6df: 0x0040, 0x6e0: 0x0040, 0x6e1: 0x0040, 0x6e2: 0x0040, 0x6e3: 0x0040,
+ 0x6e4: 0x0040, 0x6e5: 0x0040, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0008,
+ 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,
+ 0x6f0: 0x3308, 0x6f1: 0x3308, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0008, 0x6f5: 0x3308,
+ 0x6f6: 0x0018, 0x6f7: 0x0040, 0x6f8: 0x0040, 0x6f9: 0x0040, 0x6fa: 0x0040, 0x6fb: 0x0040,
+ 0x6fc: 0x0040, 0x6fd: 0x0040, 0x6fe: 0x0040, 0x6ff: 0x0040,
+ // Block 0x1c, offset 0x700
+ 0x700: 0x0040, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3008, 0x704: 0x0040, 0x705: 0x0008,
+ 0x706: 0x0008, 0x707: 0x0008, 0x708: 0x0008, 0x709: 0x0008, 0x70a: 0x0008, 0x70b: 0x0008,
+ 0x70c: 0x0008, 0x70d: 0x0008, 0x70e: 0x0040, 0x70f: 0x0008, 0x710: 0x0008, 0x711: 0x0008,
+ 0x712: 0x0040, 0x713: 0x0008, 0x714: 0x0008, 0x715: 0x0008, 0x716: 0x0008, 0x717: 0x0008,
+ 0x718: 0x0008, 0x719: 0x0008, 0x71a: 0x0008, 0x71b: 0x0008, 0x71c: 0x0008, 0x71d: 0x0008,
+ 0x71e: 0x0008, 0x71f: 0x0008, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x0008, 0x723: 0x0008,
+ 0x724: 0x0008, 0x725: 0x0008, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0040,
+ 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,
+ 0x730: 0x0008, 0x731: 0x0040, 0x732: 0x0008, 0x733: 0x0008, 0x734: 0x0040, 0x735: 0x0008,
+ 0x736: 0x0008, 0x737: 0x0008, 0x738: 0x0008, 0x739: 0x0008, 0x73a: 0x0040, 0x73b: 0x0040,
+ 0x73c: 0x3308, 0x73d: 0x0008, 0x73e: 0x3008, 0x73f: 0x3008,
+ // Block 0x1d, offset 0x740
+ 0x740: 0x3008, 0x741: 0x3308, 0x742: 0x3308, 0x743: 0x3308, 0x744: 0x3308, 0x745: 0x3308,
+ 0x746: 0x0040, 0x747: 0x3308, 0x748: 0x3308, 0x749: 0x3008, 0x74a: 0x0040, 0x74b: 0x3008,
+ 0x74c: 0x3008, 0x74d: 0x3b08, 0x74e: 0x0040, 0x74f: 0x0040, 0x750: 0x0008, 0x751: 0x0040,
+ 0x752: 0x0040, 0x753: 0x0040, 0x754: 0x0040, 0x755: 0x0040, 0x756: 0x0040, 0x757: 0x0040,
+ 0x758: 0x0040, 0x759: 0x0040, 0x75a: 0x0040, 0x75b: 0x0040, 0x75c: 0x0040, 0x75d: 0x0040,
+ 0x75e: 0x0040, 0x75f: 0x0040, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x3308, 0x763: 0x3308,
+ 0x764: 0x0040, 0x765: 0x0040, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0008,
+ 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,
+ 0x770: 0x0018, 0x771: 0x0018, 0x772: 0x0040, 0x773: 0x0040, 0x774: 0x0040, 0x775: 0x0040,
+ 0x776: 0x0040, 0x777: 0x0040, 0x778: 0x0040, 0x779: 0x0008, 0x77a: 0x3308, 0x77b: 0x3308,
+ 0x77c: 0x3308, 0x77d: 0x3308, 0x77e: 0x3308, 0x77f: 0x3308,
+ // Block 0x1e, offset 0x780
+ 0x780: 0x0040, 0x781: 0x3308, 0x782: 0x3008, 0x783: 0x3008, 0x784: 0x0040, 0x785: 0x0008,
+ 0x786: 0x0008, 0x787: 0x0008, 0x788: 0x0008, 0x789: 0x0008, 0x78a: 0x0008, 0x78b: 0x0008,
+ 0x78c: 0x0008, 0x78d: 0x0040, 0x78e: 0x0040, 0x78f: 0x0008, 0x790: 0x0008, 0x791: 0x0040,
+ 0x792: 0x0040, 0x793: 0x0008, 0x794: 0x0008, 0x795: 0x0008, 0x796: 0x0008, 0x797: 0x0008,
+ 0x798: 0x0008, 0x799: 0x0008, 0x79a: 0x0008, 0x79b: 0x0008, 0x79c: 0x0008, 0x79d: 0x0008,
+ 0x79e: 0x0008, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x0008, 0x7a3: 0x0008,
+ 0x7a4: 0x0008, 0x7a5: 0x0008, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0040,
+ 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008,
+ 0x7b0: 0x0008, 0x7b1: 0x0040, 0x7b2: 0x0008, 0x7b3: 0x0008, 0x7b4: 0x0040, 0x7b5: 0x0008,
+ 0x7b6: 0x0008, 0x7b7: 0x0008, 0x7b8: 0x0008, 0x7b9: 0x0008, 0x7ba: 0x0040, 0x7bb: 0x0040,
+ 0x7bc: 0x3308, 0x7bd: 0x0008, 0x7be: 0x3008, 0x7bf: 0x3308,
+ // Block 0x1f, offset 0x7c0
+ 0x7c0: 0x3008, 0x7c1: 0x3308, 0x7c2: 0x3308, 0x7c3: 0x3308, 0x7c4: 0x3308, 0x7c5: 0x0040,
+ 0x7c6: 0x0040, 0x7c7: 0x3008, 0x7c8: 0x3008, 0x7c9: 0x0040, 0x7ca: 0x0040, 0x7cb: 0x3008,
+ 0x7cc: 0x3008, 0x7cd: 0x3b08, 0x7ce: 0x0040, 0x7cf: 0x0040, 0x7d0: 0x0040, 0x7d1: 0x0040,
+ 0x7d2: 0x0040, 0x7d3: 0x0040, 0x7d4: 0x0040, 0x7d5: 0x3308, 0x7d6: 0x3308, 0x7d7: 0x3008,
+ 0x7d8: 0x0040, 0x7d9: 0x0040, 0x7da: 0x0040, 0x7db: 0x0040, 0x7dc: 0x01e1, 0x7dd: 0x01e9,
+ 0x7de: 0x0040, 0x7df: 0x0008, 0x7e0: 0x0008, 0x7e1: 0x0008, 0x7e2: 0x3308, 0x7e3: 0x3308,
+ 0x7e4: 0x0040, 0x7e5: 0x0040, 0x7e6: 0x0008, 0x7e7: 0x0008, 0x7e8: 0x0008, 0x7e9: 0x0008,
+ 0x7ea: 0x0008, 0x7eb: 0x0008, 0x7ec: 0x0008, 0x7ed: 0x0008, 0x7ee: 0x0008, 0x7ef: 0x0008,
+ 0x7f0: 0x0018, 0x7f1: 0x0008, 0x7f2: 0x0018, 0x7f3: 0x0018, 0x7f4: 0x0018, 0x7f5: 0x0018,
+ 0x7f6: 0x0018, 0x7f7: 0x0018, 0x7f8: 0x0040, 0x7f9: 0x0040, 0x7fa: 0x0040, 0x7fb: 0x0040,
+ 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x0040, 0x7ff: 0x0040,
+ // Block 0x20, offset 0x800
+ 0x800: 0x0040, 0x801: 0x0040, 0x802: 0x3308, 0x803: 0x0008, 0x804: 0x0040, 0x805: 0x0008,
+ 0x806: 0x0008, 0x807: 0x0008, 0x808: 0x0008, 0x809: 0x0008, 0x80a: 0x0008, 0x80b: 0x0040,
+ 0x80c: 0x0040, 0x80d: 0x0040, 0x80e: 0x0008, 0x80f: 0x0008, 0x810: 0x0008, 0x811: 0x0040,
+ 0x812: 0x0008, 0x813: 0x0008, 0x814: 0x0008, 0x815: 0x0008, 0x816: 0x0040, 0x817: 0x0040,
+ 0x818: 0x0040, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0008, 0x81d: 0x0040,
+ 0x81e: 0x0008, 0x81f: 0x0008, 0x820: 0x0040, 0x821: 0x0040, 0x822: 0x0040, 0x823: 0x0008,
+ 0x824: 0x0008, 0x825: 0x0040, 0x826: 0x0040, 0x827: 0x0040, 0x828: 0x0008, 0x829: 0x0008,
+ 0x82a: 0x0008, 0x82b: 0x0040, 0x82c: 0x0040, 0x82d: 0x0040, 0x82e: 0x0008, 0x82f: 0x0008,
+ 0x830: 0x0008, 0x831: 0x0008, 0x832: 0x0008, 0x833: 0x0008, 0x834: 0x0008, 0x835: 0x0008,
+ 0x836: 0x0008, 0x837: 0x0008, 0x838: 0x0008, 0x839: 0x0008, 0x83a: 0x0040, 0x83b: 0x0040,
+ 0x83c: 0x0040, 0x83d: 0x0040, 0x83e: 0x3008, 0x83f: 0x3008,
+ // Block 0x21, offset 0x840
+ 0x840: 0x3308, 0x841: 0x3008, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x3008, 0x845: 0x0040,
+ 0x846: 0x3308, 0x847: 0x3308, 0x848: 0x3308, 0x849: 0x0040, 0x84a: 0x3308, 0x84b: 0x3308,
+ 0x84c: 0x3308, 0x84d: 0x3b08, 0x84e: 0x0040, 0x84f: 0x0040, 0x850: 0x0040, 0x851: 0x0040,
+ 0x852: 0x0040, 0x853: 0x0040, 0x854: 0x0040, 0x855: 0x3308, 0x856: 0x3308, 0x857: 0x0040,
+ 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0040, 0x85c: 0x0008, 0x85d: 0x0008,
+ 0x85e: 0x0040, 0x85f: 0x0040, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x3308, 0x863: 0x3308,
+ 0x864: 0x0040, 0x865: 0x0040, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0008,
+ 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,
+ 0x870: 0x0040, 0x871: 0x0040, 0x872: 0x0040, 0x873: 0x0040, 0x874: 0x0040, 0x875: 0x0040,
+ 0x876: 0x0040, 0x877: 0x0018, 0x878: 0x0018, 0x879: 0x0018, 0x87a: 0x0018, 0x87b: 0x0018,
+ 0x87c: 0x0018, 0x87d: 0x0018, 0x87e: 0x0018, 0x87f: 0x0018,
+ // Block 0x22, offset 0x880
+ 0x880: 0x0008, 0x881: 0x3308, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x0018, 0x885: 0x0008,
+ 0x886: 0x0008, 0x887: 0x0008, 0x888: 0x0008, 0x889: 0x0008, 0x88a: 0x0008, 0x88b: 0x0008,
+ 0x88c: 0x0008, 0x88d: 0x0040, 0x88e: 0x0008, 0x88f: 0x0008, 0x890: 0x0008, 0x891: 0x0040,
+ 0x892: 0x0008, 0x893: 0x0008, 0x894: 0x0008, 0x895: 0x0008, 0x896: 0x0008, 0x897: 0x0008,
+ 0x898: 0x0008, 0x899: 0x0008, 0x89a: 0x0008, 0x89b: 0x0008, 0x89c: 0x0008, 0x89d: 0x0008,
+ 0x89e: 0x0008, 0x89f: 0x0008, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x0008, 0x8a3: 0x0008,
+ 0x8a4: 0x0008, 0x8a5: 0x0008, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0040,
+ 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,
+ 0x8b0: 0x0008, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0008, 0x8b4: 0x0040, 0x8b5: 0x0008,
+ 0x8b6: 0x0008, 0x8b7: 0x0008, 0x8b8: 0x0008, 0x8b9: 0x0008, 0x8ba: 0x0040, 0x8bb: 0x0040,
+ 0x8bc: 0x3308, 0x8bd: 0x0008, 0x8be: 0x3008, 0x8bf: 0x3308,
+ // Block 0x23, offset 0x8c0
+ 0x8c0: 0x3008, 0x8c1: 0x3008, 0x8c2: 0x3008, 0x8c3: 0x3008, 0x8c4: 0x3008, 0x8c5: 0x0040,
+ 0x8c6: 0x3308, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008,
+ 0x8cc: 0x3308, 0x8cd: 0x3b08, 0x8ce: 0x0040, 0x8cf: 0x0040, 0x8d0: 0x0040, 0x8d1: 0x0040,
+ 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0040, 0x8d5: 0x3008, 0x8d6: 0x3008, 0x8d7: 0x0040,
+ 0x8d8: 0x0040, 0x8d9: 0x0040, 0x8da: 0x0040, 0x8db: 0x0040, 0x8dc: 0x0008, 0x8dd: 0x0008,
+ 0x8de: 0x0008, 0x8df: 0x0040, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308,
+ 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008,
+ 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,
+ 0x8f0: 0x0040, 0x8f1: 0x0008, 0x8f2: 0x0008, 0x8f3: 0x3008, 0x8f4: 0x0040, 0x8f5: 0x0040,
+ 0x8f6: 0x0040, 0x8f7: 0x0040, 0x8f8: 0x0040, 0x8f9: 0x0040, 0x8fa: 0x0040, 0x8fb: 0x0040,
+ 0x8fc: 0x0040, 0x8fd: 0x0040, 0x8fe: 0x0040, 0x8ff: 0x0040,
+ // Block 0x24, offset 0x900
+ 0x900: 0x3008, 0x901: 0x3308, 0x902: 0x3308, 0x903: 0x3308, 0x904: 0x3308, 0x905: 0x0040,
+ 0x906: 0x3008, 0x907: 0x3008, 0x908: 0x3008, 0x909: 0x0040, 0x90a: 0x3008, 0x90b: 0x3008,
+ 0x90c: 0x3008, 0x90d: 0x3b08, 0x90e: 0x0008, 0x90f: 0x0018, 0x910: 0x0040, 0x911: 0x0040,
+ 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x3008,
+ 0x918: 0x0018, 0x919: 0x0018, 0x91a: 0x0018, 0x91b: 0x0018, 0x91c: 0x0018, 0x91d: 0x0018,
+ 0x91e: 0x0018, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x3308, 0x923: 0x3308,
+ 0x924: 0x0040, 0x925: 0x0040, 0x926: 0x0008, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0008,
+ 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008,
+ 0x930: 0x0018, 0x931: 0x0018, 0x932: 0x0018, 0x933: 0x0018, 0x934: 0x0018, 0x935: 0x0018,
+ 0x936: 0x0018, 0x937: 0x0018, 0x938: 0x0018, 0x939: 0x0018, 0x93a: 0x0008, 0x93b: 0x0008,
+ 0x93c: 0x0008, 0x93d: 0x0008, 0x93e: 0x0008, 0x93f: 0x0008,
+ // Block 0x25, offset 0x940
+ 0x940: 0x0040, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x0040, 0x944: 0x0008, 0x945: 0x0040,
+ 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0008, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0040,
+ 0x94c: 0x0008, 0x94d: 0x0008, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,
+ 0x952: 0x0008, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0008,
+ 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0008, 0x95d: 0x0008,
+ 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008,
+ 0x964: 0x0040, 0x965: 0x0008, 0x966: 0x0040, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0008,
+ 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0008, 0x96e: 0x0008, 0x96f: 0x0008,
+ 0x970: 0x0008, 0x971: 0x3308, 0x972: 0x0008, 0x973: 0x01f9, 0x974: 0x3308, 0x975: 0x3308,
+ 0x976: 0x3308, 0x977: 0x3308, 0x978: 0x3308, 0x979: 0x3308, 0x97a: 0x3b08, 0x97b: 0x3308,
+ 0x97c: 0x3308, 0x97d: 0x0008, 0x97e: 0x0040, 0x97f: 0x0040,
+ // Block 0x26, offset 0x980
+ 0x980: 0x0008, 0x981: 0x0008, 0x982: 0x0008, 0x983: 0x0211, 0x984: 0x0008, 0x985: 0x0008,
+ 0x986: 0x0008, 0x987: 0x0008, 0x988: 0x0040, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,
+ 0x98c: 0x0008, 0x98d: 0x0219, 0x98e: 0x0008, 0x98f: 0x0008, 0x990: 0x0008, 0x991: 0x0008,
+ 0x992: 0x0221, 0x993: 0x0008, 0x994: 0x0008, 0x995: 0x0008, 0x996: 0x0008, 0x997: 0x0229,
+ 0x998: 0x0008, 0x999: 0x0008, 0x99a: 0x0008, 0x99b: 0x0008, 0x99c: 0x0231, 0x99d: 0x0008,
+ 0x99e: 0x0008, 0x99f: 0x0008, 0x9a0: 0x0008, 0x9a1: 0x0008, 0x9a2: 0x0008, 0x9a3: 0x0008,
+ 0x9a4: 0x0008, 0x9a5: 0x0008, 0x9a6: 0x0008, 0x9a7: 0x0008, 0x9a8: 0x0008, 0x9a9: 0x0239,
+ 0x9aa: 0x0008, 0x9ab: 0x0008, 0x9ac: 0x0008, 0x9ad: 0x0040, 0x9ae: 0x0040, 0x9af: 0x0040,
+ 0x9b0: 0x0040, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x0241, 0x9b4: 0x3308, 0x9b5: 0x0249,
+ 0x9b6: 0x0251, 0x9b7: 0x0259, 0x9b8: 0x0261, 0x9b9: 0x0269, 0x9ba: 0x3308, 0x9bb: 0x3308,
+ 0x9bc: 0x3308, 0x9bd: 0x3308, 0x9be: 0x3308, 0x9bf: 0x3008,
+ // Block 0x27, offset 0x9c0
+ 0x9c0: 0x3308, 0x9c1: 0x0271, 0x9c2: 0x3308, 0x9c3: 0x3308, 0x9c4: 0x3b08, 0x9c5: 0x0018,
+ 0x9c6: 0x3308, 0x9c7: 0x3308, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008,
+ 0x9cc: 0x0008, 0x9cd: 0x3308, 0x9ce: 0x3308, 0x9cf: 0x3308, 0x9d0: 0x3308, 0x9d1: 0x3308,
+ 0x9d2: 0x3308, 0x9d3: 0x0279, 0x9d4: 0x3308, 0x9d5: 0x3308, 0x9d6: 0x3308, 0x9d7: 0x3308,
+ 0x9d8: 0x0040, 0x9d9: 0x3308, 0x9da: 0x3308, 0x9db: 0x3308, 0x9dc: 0x3308, 0x9dd: 0x0281,
+ 0x9de: 0x3308, 0x9df: 0x3308, 0x9e0: 0x3308, 0x9e1: 0x3308, 0x9e2: 0x0289, 0x9e3: 0x3308,
+ 0x9e4: 0x3308, 0x9e5: 0x3308, 0x9e6: 0x3308, 0x9e7: 0x0291, 0x9e8: 0x3308, 0x9e9: 0x3308,
+ 0x9ea: 0x3308, 0x9eb: 0x3308, 0x9ec: 0x0299, 0x9ed: 0x3308, 0x9ee: 0x3308, 0x9ef: 0x3308,
+ 0x9f0: 0x3308, 0x9f1: 0x3308, 0x9f2: 0x3308, 0x9f3: 0x3308, 0x9f4: 0x3308, 0x9f5: 0x3308,
+ 0x9f6: 0x3308, 0x9f7: 0x3308, 0x9f8: 0x3308, 0x9f9: 0x02a1, 0x9fa: 0x3308, 0x9fb: 0x3308,
+ 0x9fc: 0x3308, 0x9fd: 0x0040, 0x9fe: 0x0018, 0x9ff: 0x0018,
+ // Block 0x28, offset 0xa00
+ 0xa00: 0x0008, 0xa01: 0x0008, 0xa02: 0x0008, 0xa03: 0x0008, 0xa04: 0x0008, 0xa05: 0x0008,
+ 0xa06: 0x0008, 0xa07: 0x0008, 0xa08: 0x0008, 0xa09: 0x0008, 0xa0a: 0x0008, 0xa0b: 0x0008,
+ 0xa0c: 0x0008, 0xa0d: 0x0008, 0xa0e: 0x0008, 0xa0f: 0x0008, 0xa10: 0x0008, 0xa11: 0x0008,
+ 0xa12: 0x0008, 0xa13: 0x0008, 0xa14: 0x0008, 0xa15: 0x0008, 0xa16: 0x0008, 0xa17: 0x0008,
+ 0xa18: 0x0008, 0xa19: 0x0008, 0xa1a: 0x0008, 0xa1b: 0x0008, 0xa1c: 0x0008, 0xa1d: 0x0008,
+ 0xa1e: 0x0008, 0xa1f: 0x0008, 0xa20: 0x0008, 0xa21: 0x0008, 0xa22: 0x0008, 0xa23: 0x0008,
+ 0xa24: 0x0008, 0xa25: 0x0008, 0xa26: 0x0008, 0xa27: 0x0008, 0xa28: 0x0008, 0xa29: 0x0008,
+ 0xa2a: 0x0008, 0xa2b: 0x0008, 0xa2c: 0x0019, 0xa2d: 0x02e1, 0xa2e: 0x02e9, 0xa2f: 0x0008,
+ 0xa30: 0x02f1, 0xa31: 0x02f9, 0xa32: 0x0301, 0xa33: 0x0309, 0xa34: 0x00a9, 0xa35: 0x0311,
+ 0xa36: 0x00b1, 0xa37: 0x0319, 0xa38: 0x0101, 0xa39: 0x0321, 0xa3a: 0x0329, 0xa3b: 0x0008,
+ 0xa3c: 0x0051, 0xa3d: 0x0331, 0xa3e: 0x0339, 0xa3f: 0x00b9,
+ // Block 0x29, offset 0xa40
+ 0xa40: 0x0341, 0xa41: 0x0349, 0xa42: 0x00c1, 0xa43: 0x0019, 0xa44: 0x0351, 0xa45: 0x0359,
+ 0xa46: 0x05d5, 0xa47: 0x02e9, 0xa48: 0x02f1, 0xa49: 0x02f9, 0xa4a: 0x0361, 0xa4b: 0x0369,
+ 0xa4c: 0x0371, 0xa4d: 0x0309, 0xa4e: 0x0008, 0xa4f: 0x0319, 0xa50: 0x0321, 0xa51: 0x0379,
+ 0xa52: 0x0051, 0xa53: 0x0381, 0xa54: 0x05ed, 0xa55: 0x05ed, 0xa56: 0x0339, 0xa57: 0x0341,
+ 0xa58: 0x0349, 0xa59: 0x05d5, 0xa5a: 0x0389, 0xa5b: 0x0391, 0xa5c: 0x0605, 0xa5d: 0x0399,
+ 0xa5e: 0x03a1, 0xa5f: 0x03a9, 0xa60: 0x03b1, 0xa61: 0x03b9, 0xa62: 0x0311, 0xa63: 0x00b9,
+ 0xa64: 0x0349, 0xa65: 0x0391, 0xa66: 0x0399, 0xa67: 0x03a1, 0xa68: 0x03c1, 0xa69: 0x03b1,
+ 0xa6a: 0x03b9, 0xa6b: 0x0008, 0xa6c: 0x0008, 0xa6d: 0x0008, 0xa6e: 0x0008, 0xa6f: 0x0008,
+ 0xa70: 0x0008, 0xa71: 0x0008, 0xa72: 0x0008, 0xa73: 0x0008, 0xa74: 0x0008, 0xa75: 0x0008,
+ 0xa76: 0x0008, 0xa77: 0x0008, 0xa78: 0x03c9, 0xa79: 0x0008, 0xa7a: 0x0008, 0xa7b: 0x0008,
+ 0xa7c: 0x0008, 0xa7d: 0x0008, 0xa7e: 0x0008, 0xa7f: 0x0008,
+ // Block 0x2a, offset 0xa80
+ 0xa80: 0x0008, 0xa81: 0x0008, 0xa82: 0x0008, 0xa83: 0x0008, 0xa84: 0x0008, 0xa85: 0x0008,
+ 0xa86: 0x0008, 0xa87: 0x0008, 0xa88: 0x0008, 0xa89: 0x0008, 0xa8a: 0x0008, 0xa8b: 0x0008,
+ 0xa8c: 0x0008, 0xa8d: 0x0008, 0xa8e: 0x0008, 0xa8f: 0x0008, 0xa90: 0x0008, 0xa91: 0x0008,
+ 0xa92: 0x0008, 0xa93: 0x0008, 0xa94: 0x0008, 0xa95: 0x0008, 0xa96: 0x0008, 0xa97: 0x0008,
+ 0xa98: 0x0008, 0xa99: 0x0008, 0xa9a: 0x0008, 0xa9b: 0x03d1, 0xa9c: 0x03d9, 0xa9d: 0x03e1,
+ 0xa9e: 0x03e9, 0xa9f: 0x0371, 0xaa0: 0x03f1, 0xaa1: 0x03f9, 0xaa2: 0x0401, 0xaa3: 0x0409,
+ 0xaa4: 0x0411, 0xaa5: 0x0419, 0xaa6: 0x0421, 0xaa7: 0x061d, 0xaa8: 0x0429, 0xaa9: 0x0431,
+ 0xaaa: 0xe17d, 0xaab: 0x0439, 0xaac: 0x0441, 0xaad: 0x0449, 0xaae: 0x0451, 0xaaf: 0x0459,
+ 0xab0: 0x0461, 0xab1: 0x0469, 0xab2: 0x0471, 0xab3: 0x0479, 0xab4: 0x0481, 0xab5: 0x0489,
+ 0xab6: 0x0491, 0xab7: 0x0499, 0xab8: 0x0635, 0xab9: 0x04a1, 0xaba: 0x04a9, 0xabb: 0x04b1,
+ 0xabc: 0x04b9, 0xabd: 0x04c1, 0xabe: 0x04c9, 0xabf: 0x04d1,
+ // Block 0x2b, offset 0xac0
+ 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008,
+ 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008,
+ 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008,
+ 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0xe00d, 0xad7: 0x0008,
+ 0xad8: 0xe00d, 0xad9: 0x0008, 0xada: 0xe00d, 0xadb: 0x0008, 0xadc: 0xe00d, 0xadd: 0x0008,
+ 0xade: 0xe00d, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008,
+ 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008,
+ 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008,
+ 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008,
+ 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008,
+ 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008,
+ // Block 0x2c, offset 0xb00
+ 0xb00: 0xe00d, 0xb01: 0x0008, 0xb02: 0xe00d, 0xb03: 0x0008, 0xb04: 0xe00d, 0xb05: 0x0008,
+ 0xb06: 0xe00d, 0xb07: 0x0008, 0xb08: 0xe00d, 0xb09: 0x0008, 0xb0a: 0xe00d, 0xb0b: 0x0008,
+ 0xb0c: 0xe00d, 0xb0d: 0x0008, 0xb0e: 0xe00d, 0xb0f: 0x0008, 0xb10: 0xe00d, 0xb11: 0x0008,
+ 0xb12: 0xe00d, 0xb13: 0x0008, 0xb14: 0xe00d, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008,
+ 0xb18: 0x0008, 0xb19: 0x0008, 0xb1a: 0x064d, 0xb1b: 0x066d, 0xb1c: 0x0008, 0xb1d: 0x0008,
+ 0xb1e: 0x04d9, 0xb1f: 0x0008, 0xb20: 0xe00d, 0xb21: 0x0008, 0xb22: 0xe00d, 0xb23: 0x0008,
+ 0xb24: 0xe00d, 0xb25: 0x0008, 0xb26: 0xe00d, 0xb27: 0x0008, 0xb28: 0xe00d, 0xb29: 0x0008,
+ 0xb2a: 0xe00d, 0xb2b: 0x0008, 0xb2c: 0xe00d, 0xb2d: 0x0008, 0xb2e: 0xe00d, 0xb2f: 0x0008,
+ 0xb30: 0xe00d, 0xb31: 0x0008, 0xb32: 0xe00d, 0xb33: 0x0008, 0xb34: 0xe00d, 0xb35: 0x0008,
+ 0xb36: 0xe00d, 0xb37: 0x0008, 0xb38: 0xe00d, 0xb39: 0x0008, 0xb3a: 0xe00d, 0xb3b: 0x0008,
+ 0xb3c: 0xe00d, 0xb3d: 0x0008, 0xb3e: 0xe00d, 0xb3f: 0x0008,
+ // Block 0x2d, offset 0xb40
+ 0xb40: 0x0008, 0xb41: 0x0008, 0xb42: 0x0008, 0xb43: 0x0008, 0xb44: 0x0008, 0xb45: 0x0008,
+ 0xb46: 0x0040, 0xb47: 0x0040, 0xb48: 0xe045, 0xb49: 0xe045, 0xb4a: 0xe045, 0xb4b: 0xe045,
+ 0xb4c: 0xe045, 0xb4d: 0xe045, 0xb4e: 0x0040, 0xb4f: 0x0040, 0xb50: 0x0008, 0xb51: 0x0008,
+ 0xb52: 0x0008, 0xb53: 0x0008, 0xb54: 0x0008, 0xb55: 0x0008, 0xb56: 0x0008, 0xb57: 0x0008,
+ 0xb58: 0x0040, 0xb59: 0xe045, 0xb5a: 0x0040, 0xb5b: 0xe045, 0xb5c: 0x0040, 0xb5d: 0xe045,
+ 0xb5e: 0x0040, 0xb5f: 0xe045, 0xb60: 0x0008, 0xb61: 0x0008, 0xb62: 0x0008, 0xb63: 0x0008,
+ 0xb64: 0x0008, 0xb65: 0x0008, 0xb66: 0x0008, 0xb67: 0x0008, 0xb68: 0xe045, 0xb69: 0xe045,
+ 0xb6a: 0xe045, 0xb6b: 0xe045, 0xb6c: 0xe045, 0xb6d: 0xe045, 0xb6e: 0xe045, 0xb6f: 0xe045,
+ 0xb70: 0x0008, 0xb71: 0x04e1, 0xb72: 0x0008, 0xb73: 0x04e9, 0xb74: 0x0008, 0xb75: 0x04f1,
+ 0xb76: 0x0008, 0xb77: 0x04f9, 0xb78: 0x0008, 0xb79: 0x0501, 0xb7a: 0x0008, 0xb7b: 0x0509,
+ 0xb7c: 0x0008, 0xb7d: 0x0511, 0xb7e: 0x0040, 0xb7f: 0x0040,
+ // Block 0x2e, offset 0xb80
+ 0xb80: 0x0519, 0xb81: 0x0521, 0xb82: 0x0529, 0xb83: 0x0531, 0xb84: 0x0539, 0xb85: 0x0541,
+ 0xb86: 0x0549, 0xb87: 0x0551, 0xb88: 0x0519, 0xb89: 0x0521, 0xb8a: 0x0529, 0xb8b: 0x0531,
+ 0xb8c: 0x0539, 0xb8d: 0x0541, 0xb8e: 0x0549, 0xb8f: 0x0551, 0xb90: 0x0559, 0xb91: 0x0561,
+ 0xb92: 0x0569, 0xb93: 0x0571, 0xb94: 0x0579, 0xb95: 0x0581, 0xb96: 0x0589, 0xb97: 0x0591,
+ 0xb98: 0x0559, 0xb99: 0x0561, 0xb9a: 0x0569, 0xb9b: 0x0571, 0xb9c: 0x0579, 0xb9d: 0x0581,
+ 0xb9e: 0x0589, 0xb9f: 0x0591, 0xba0: 0x0599, 0xba1: 0x05a1, 0xba2: 0x05a9, 0xba3: 0x05b1,
+ 0xba4: 0x05b9, 0xba5: 0x05c1, 0xba6: 0x05c9, 0xba7: 0x05d1, 0xba8: 0x0599, 0xba9: 0x05a1,
+ 0xbaa: 0x05a9, 0xbab: 0x05b1, 0xbac: 0x05b9, 0xbad: 0x05c1, 0xbae: 0x05c9, 0xbaf: 0x05d1,
+ 0xbb0: 0x0008, 0xbb1: 0x0008, 0xbb2: 0x05d9, 0xbb3: 0x05e1, 0xbb4: 0x05e9, 0xbb5: 0x0040,
+ 0xbb6: 0x0008, 0xbb7: 0x05f1, 0xbb8: 0xe045, 0xbb9: 0xe045, 0xbba: 0x0685, 0xbbb: 0x04e1,
+ 0xbbc: 0x05e1, 0xbbd: 0x069d, 0xbbe: 0x05f9, 0xbbf: 0x06bd,
+ // Block 0x2f, offset 0xbc0
+ 0xbc0: 0x06dd, 0xbc1: 0x0601, 0xbc2: 0x0609, 0xbc3: 0x0611, 0xbc4: 0x0619, 0xbc5: 0x0040,
+ 0xbc6: 0x0008, 0xbc7: 0x0621, 0xbc8: 0x06fd, 0xbc9: 0x04e9, 0xbca: 0x0715, 0xbcb: 0x04f1,
+ 0xbcc: 0x0611, 0xbcd: 0x0629, 0xbce: 0x0631, 0xbcf: 0x0639, 0xbd0: 0x0008, 0xbd1: 0x0008,
+ 0xbd2: 0x0008, 0xbd3: 0x0641, 0xbd4: 0x0040, 0xbd5: 0x0040, 0xbd6: 0x0008, 0xbd7: 0x0008,
+ 0xbd8: 0xe045, 0xbd9: 0xe045, 0xbda: 0x072d, 0xbdb: 0x04f9, 0xbdc: 0x0040, 0xbdd: 0x0649,
+ 0xbde: 0x0651, 0xbdf: 0x0659, 0xbe0: 0x0008, 0xbe1: 0x0008, 0xbe2: 0x0008, 0xbe3: 0x0661,
+ 0xbe4: 0x0008, 0xbe5: 0x0008, 0xbe6: 0x0008, 0xbe7: 0x0008, 0xbe8: 0xe045, 0xbe9: 0xe045,
+ 0xbea: 0x0745, 0xbeb: 0x0509, 0xbec: 0xe04d, 0xbed: 0x0669, 0xbee: 0x0129, 0xbef: 0x0671,
+ 0xbf0: 0x0040, 0xbf1: 0x0040, 0xbf2: 0x0679, 0xbf3: 0x0681, 0xbf4: 0x0689, 0xbf5: 0x0040,
+ 0xbf6: 0x0008, 0xbf7: 0x0691, 0xbf8: 0x075d, 0xbf9: 0x0501, 0xbfa: 0x0515, 0xbfb: 0x0511,
+ 0xbfc: 0x0681, 0xbfd: 0x0775, 0xbfe: 0x0795, 0xbff: 0x0040,
+ // Block 0x30, offset 0xc00
+ 0xc00: 0x0009, 0xc01: 0x0009, 0xc02: 0x0009, 0xc03: 0x0009, 0xc04: 0x0009, 0xc05: 0x0009,
+ 0xc06: 0x0009, 0xc07: 0x0009, 0xc08: 0x0009, 0xc09: 0x0009, 0xc0a: 0x0009, 0xc0b: 0x03c0,
+ 0xc0c: 0x0003, 0xc0d: 0x0003, 0xc0e: 0x0340, 0xc0f: 0x0b40, 0xc10: 0x0018, 0xc11: 0xe00d,
+ 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x07b5,
+ 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018,
+ 0xc1e: 0x0018, 0xc1f: 0x0018, 0xc20: 0x0018, 0xc21: 0x0018, 0xc22: 0x0018, 0xc23: 0x0018,
+ 0xc24: 0x0040, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0018, 0xc28: 0x0040, 0xc29: 0x0040,
+ 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0009,
+ 0xc30: 0x0018, 0xc31: 0x0018, 0xc32: 0x0018, 0xc33: 0x0699, 0xc34: 0x06a1, 0xc35: 0x0018,
+ 0xc36: 0x06a9, 0xc37: 0x06b1, 0xc38: 0x0018, 0xc39: 0x0018, 0xc3a: 0x0018, 0xc3b: 0x0018,
+ 0xc3c: 0x06b9, 0xc3d: 0x0018, 0xc3e: 0x07d5, 0xc3f: 0x0018,
+ // Block 0x31, offset 0xc40
+ 0xc40: 0x0018, 0xc41: 0x0018, 0xc42: 0x0018, 0xc43: 0x0018, 0xc44: 0x0018, 0xc45: 0x0018,
+ 0xc46: 0x0018, 0xc47: 0x06c1, 0xc48: 0x06c9, 0xc49: 0x06d1, 0xc4a: 0x0018, 0xc4b: 0x0018,
+ 0xc4c: 0x0018, 0xc4d: 0x0018, 0xc4e: 0x0018, 0xc4f: 0x0018, 0xc50: 0x0018, 0xc51: 0x0018,
+ 0xc52: 0x0018, 0xc53: 0x0018, 0xc54: 0x0018, 0xc55: 0x0018, 0xc56: 0x0018, 0xc57: 0x06d9,
+ 0xc58: 0x0018, 0xc59: 0x0018, 0xc5a: 0x0018, 0xc5b: 0x0018, 0xc5c: 0x0018, 0xc5d: 0x0018,
+ 0xc5e: 0x0018, 0xc5f: 0x0009, 0xc60: 0x03c0, 0xc61: 0x03c0, 0xc62: 0x03c0, 0xc63: 0x03c0,
+ 0xc64: 0x03c0, 0xc65: 0x0040, 0xc66: 0x0040, 0xc67: 0x0040, 0xc68: 0x0040, 0xc69: 0x0040,
+ 0xc6a: 0x03c0, 0xc6b: 0x03c0, 0xc6c: 0x03c0, 0xc6d: 0x03c0, 0xc6e: 0x03c0, 0xc6f: 0x03c0,
+ 0xc70: 0x06e1, 0xc71: 0x0311, 0xc72: 0x0040, 0xc73: 0x0040, 0xc74: 0x06e9, 0xc75: 0x06f1,
+ 0xc76: 0x06f9, 0xc77: 0x0701, 0xc78: 0x0709, 0xc79: 0x0711, 0xc7a: 0x0719, 0xc7b: 0x07f5,
+ 0xc7c: 0x0721, 0xc7d: 0x0729, 0xc7e: 0x0731, 0xc7f: 0x0329,
+ // Block 0x32, offset 0xc80
+ 0xc80: 0x06e1, 0xc81: 0x0049, 0xc82: 0x0029, 0xc83: 0x0031, 0xc84: 0x06e9, 0xc85: 0x06f1,
+ 0xc86: 0x06f9, 0xc87: 0x0701, 0xc88: 0x0709, 0xc89: 0x0711, 0xc8a: 0x0719, 0xc8b: 0x080d,
+ 0xc8c: 0x0721, 0xc8d: 0x0729, 0xc8e: 0x0731, 0xc8f: 0x0040, 0xc90: 0x0019, 0xc91: 0x02f9,
+ 0xc92: 0x0051, 0xc93: 0x0109, 0xc94: 0x0361, 0xc95: 0x00a9, 0xc96: 0x0319, 0xc97: 0x0101,
+ 0xc98: 0x0321, 0xc99: 0x0329, 0xc9a: 0x0339, 0xc9b: 0x0089, 0xc9c: 0x0341, 0xc9d: 0x0040,
+ 0xc9e: 0x0040, 0xc9f: 0x0040, 0xca0: 0x0018, 0xca1: 0x0018, 0xca2: 0x0018, 0xca3: 0x0018,
+ 0xca4: 0x0018, 0xca5: 0x0018, 0xca6: 0x0018, 0xca7: 0x0018, 0xca8: 0x0739, 0xca9: 0x0018,
+ 0xcaa: 0x0018, 0xcab: 0x0018, 0xcac: 0x0018, 0xcad: 0x0018, 0xcae: 0x0018, 0xcaf: 0x0018,
+ 0xcb0: 0x0018, 0xcb1: 0x0018, 0xcb2: 0x0018, 0xcb3: 0x0018, 0xcb4: 0x0018, 0xcb5: 0x0018,
+ 0xcb6: 0x0018, 0xcb7: 0x0018, 0xcb8: 0x0018, 0xcb9: 0x0018, 0xcba: 0x0018, 0xcbb: 0x0018,
+ 0xcbc: 0x0018, 0xcbd: 0x0018, 0xcbe: 0x0018, 0xcbf: 0x0018,
+ // Block 0x33, offset 0xcc0
+ 0xcc0: 0x0825, 0xcc1: 0x0845, 0xcc2: 0x03d9, 0xcc3: 0x0865, 0xcc4: 0x0018, 0xcc5: 0x0885,
+ 0xcc6: 0x08a5, 0xcc7: 0x0369, 0xcc8: 0x0018, 0xcc9: 0x08c5, 0xcca: 0x0309, 0xccb: 0x00a9,
+ 0xccc: 0x00a9, 0xccd: 0x00a9, 0xcce: 0x00a9, 0xccf: 0x0741, 0xcd0: 0x0311, 0xcd1: 0x0311,
+ 0xcd2: 0x0101, 0xcd3: 0x0101, 0xcd4: 0x0018, 0xcd5: 0x0329, 0xcd6: 0x0749, 0xcd7: 0x0018,
+ 0xcd8: 0x0018, 0xcd9: 0x0339, 0xcda: 0x0751, 0xcdb: 0x00b9, 0xcdc: 0x00b9, 0xcdd: 0x00b9,
+ 0xcde: 0x0018, 0xcdf: 0x0018, 0xce0: 0x0759, 0xce1: 0x08e5, 0xce2: 0x0761, 0xce3: 0x0018,
+ 0xce4: 0x04b1, 0xce5: 0x0018, 0xce6: 0x0769, 0xce7: 0x0018, 0xce8: 0x04b1, 0xce9: 0x0018,
+ 0xcea: 0x0319, 0xceb: 0x0771, 0xcec: 0x02e9, 0xced: 0x03d9, 0xcee: 0x0018, 0xcef: 0x02f9,
+ 0xcf0: 0x02f9, 0xcf1: 0x03f1, 0xcf2: 0x0905, 0xcf3: 0x0321, 0xcf4: 0x0051, 0xcf5: 0x0779,
+ 0xcf6: 0x0781, 0xcf7: 0x0789, 0xcf8: 0x0791, 0xcf9: 0x0311, 0xcfa: 0x0018, 0xcfb: 0x091d,
+ 0xcfc: 0x0799, 0xcfd: 0x03a1, 0xcfe: 0x03a1, 0xcff: 0x0799,
+ // Block 0x34, offset 0xd00
+ 0xd00: 0x093d, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x02f1,
+ 0xd06: 0x02f1, 0xd07: 0x02f9, 0xd08: 0x0311, 0xd09: 0x00b1, 0xd0a: 0x0018, 0xd0b: 0x0018,
+ 0xd0c: 0x0018, 0xd0d: 0x0018, 0xd0e: 0x0008, 0xd0f: 0x0018, 0xd10: 0x07a1, 0xd11: 0x07a9,
+ 0xd12: 0x07b1, 0xd13: 0x07b9, 0xd14: 0x07c1, 0xd15: 0x07c9, 0xd16: 0x07d1, 0xd17: 0x07d9,
+ 0xd18: 0x07e1, 0xd19: 0x07e9, 0xd1a: 0x07f1, 0xd1b: 0x07f9, 0xd1c: 0x0801, 0xd1d: 0x0809,
+ 0xd1e: 0x0811, 0xd1f: 0x0819, 0xd20: 0x0311, 0xd21: 0x0821, 0xd22: 0x0955, 0xd23: 0x0829,
+ 0xd24: 0x0391, 0xd25: 0x0831, 0xd26: 0x0975, 0xd27: 0x0839, 0xd28: 0x0841, 0xd29: 0x0109,
+ 0xd2a: 0x0849, 0xd2b: 0x0995, 0xd2c: 0x0101, 0xd2d: 0x03d9, 0xd2e: 0x02f1, 0xd2f: 0x0321,
+ 0xd30: 0x0311, 0xd31: 0x0821, 0xd32: 0x09b5, 0xd33: 0x0829, 0xd34: 0x0391, 0xd35: 0x0831,
+ 0xd36: 0x09d5, 0xd37: 0x0839, 0xd38: 0x0841, 0xd39: 0x0109, 0xd3a: 0x0849, 0xd3b: 0x09f5,
+ 0xd3c: 0x0101, 0xd3d: 0x03d9, 0xd3e: 0x02f1, 0xd3f: 0x0321,
+ // Block 0x35, offset 0xd40
+ 0xd40: 0x0018, 0xd41: 0x0018, 0xd42: 0x0018, 0xd43: 0x0018, 0xd44: 0x0018, 0xd45: 0x0018,
+ 0xd46: 0x0018, 0xd47: 0x0018, 0xd48: 0x0018, 0xd49: 0x0018, 0xd4a: 0x0018, 0xd4b: 0x0040,
+ 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040,
+ 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040,
+ 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0040, 0xd5d: 0x0040,
+ 0xd5e: 0x0040, 0xd5f: 0x0040, 0xd60: 0x0049, 0xd61: 0x0029, 0xd62: 0x0031, 0xd63: 0x06e9,
+ 0xd64: 0x06f1, 0xd65: 0x06f9, 0xd66: 0x0701, 0xd67: 0x0709, 0xd68: 0x0711, 0xd69: 0x0879,
+ 0xd6a: 0x0881, 0xd6b: 0x0889, 0xd6c: 0x0891, 0xd6d: 0x0899, 0xd6e: 0x08a1, 0xd6f: 0x08a9,
+ 0xd70: 0x08b1, 0xd71: 0x08b9, 0xd72: 0x08c1, 0xd73: 0x08c9, 0xd74: 0x0a55, 0xd75: 0x0a75,
+ 0xd76: 0x0a95, 0xd77: 0x0ab5, 0xd78: 0x0ad5, 0xd79: 0x0af5, 0xd7a: 0x0b15, 0xd7b: 0x0b35,
+ 0xd7c: 0x0b55, 0xd7d: 0x08d1, 0xd7e: 0x08d9, 0xd7f: 0x08e1,
+ // Block 0x36, offset 0xd80
+ 0xd80: 0x08e9, 0xd81: 0x08f1, 0xd82: 0x08f9, 0xd83: 0x0901, 0xd84: 0x0909, 0xd85: 0x0911,
+ 0xd86: 0x0919, 0xd87: 0x0921, 0xd88: 0x0040, 0xd89: 0x0040, 0xd8a: 0x0040, 0xd8b: 0x0040,
+ 0xd8c: 0x0040, 0xd8d: 0x0040, 0xd8e: 0x0040, 0xd8f: 0x0040, 0xd90: 0x0040, 0xd91: 0x0040,
+ 0xd92: 0x0040, 0xd93: 0x0040, 0xd94: 0x0040, 0xd95: 0x0040, 0xd96: 0x0040, 0xd97: 0x0040,
+ 0xd98: 0x0040, 0xd99: 0x0040, 0xd9a: 0x0040, 0xd9b: 0x0040, 0xd9c: 0x0b75, 0xd9d: 0x0b95,
+ 0xd9e: 0x0bb5, 0xd9f: 0x0bd5, 0xda0: 0x0bf5, 0xda1: 0x0c15, 0xda2: 0x0c35, 0xda3: 0x0c55,
+ 0xda4: 0x0c75, 0xda5: 0x0c95, 0xda6: 0x0cb5, 0xda7: 0x0cd5, 0xda8: 0x0cf5, 0xda9: 0x0d15,
+ 0xdaa: 0x0d35, 0xdab: 0x0d55, 0xdac: 0x0d75, 0xdad: 0x0d95, 0xdae: 0x0db5, 0xdaf: 0x0dd5,
+ 0xdb0: 0x0df5, 0xdb1: 0x0e15, 0xdb2: 0x0e35, 0xdb3: 0x0e55, 0xdb4: 0x0e75, 0xdb5: 0x0e95,
+ 0xdb6: 0x0019, 0xdb7: 0x02e9, 0xdb8: 0x03d9, 0xdb9: 0x02f1, 0xdba: 0x02f9, 0xdbb: 0x03f1,
+ 0xdbc: 0x0309, 0xdbd: 0x00a9, 0xdbe: 0x0311, 0xdbf: 0x00b1,
+ // Block 0x37, offset 0xdc0
+ 0xdc0: 0x0319, 0xdc1: 0x0101, 0xdc2: 0x0321, 0xdc3: 0x0329, 0xdc4: 0x0051, 0xdc5: 0x0339,
+ 0xdc6: 0x0751, 0xdc7: 0x00b9, 0xdc8: 0x0089, 0xdc9: 0x0341, 0xdca: 0x0349, 0xdcb: 0x0391,
+ 0xdcc: 0x00c1, 0xdcd: 0x0109, 0xdce: 0x00c9, 0xdcf: 0x04b1, 0xdd0: 0x0019, 0xdd1: 0x02e9,
+ 0xdd2: 0x03d9, 0xdd3: 0x02f1, 0xdd4: 0x02f9, 0xdd5: 0x03f1, 0xdd6: 0x0309, 0xdd7: 0x00a9,
+ 0xdd8: 0x0311, 0xdd9: 0x00b1, 0xdda: 0x0319, 0xddb: 0x0101, 0xddc: 0x0321, 0xddd: 0x0329,
+ 0xdde: 0x0051, 0xddf: 0x0339, 0xde0: 0x0751, 0xde1: 0x00b9, 0xde2: 0x0089, 0xde3: 0x0341,
+ 0xde4: 0x0349, 0xde5: 0x0391, 0xde6: 0x00c1, 0xde7: 0x0109, 0xde8: 0x00c9, 0xde9: 0x04b1,
+ 0xdea: 0x06e1, 0xdeb: 0x0018, 0xdec: 0x0018, 0xded: 0x0018, 0xdee: 0x0018, 0xdef: 0x0018,
+ 0xdf0: 0x0018, 0xdf1: 0x0018, 0xdf2: 0x0018, 0xdf3: 0x0018, 0xdf4: 0x0018, 0xdf5: 0x0018,
+ 0xdf6: 0x0018, 0xdf7: 0x0018, 0xdf8: 0x0018, 0xdf9: 0x0018, 0xdfa: 0x0018, 0xdfb: 0x0018,
+ 0xdfc: 0x0018, 0xdfd: 0x0018, 0xdfe: 0x0018, 0xdff: 0x0018,
+ // Block 0x38, offset 0xe00
+ 0xe00: 0x0008, 0xe01: 0x0008, 0xe02: 0x0008, 0xe03: 0x0008, 0xe04: 0x0008, 0xe05: 0x0008,
+ 0xe06: 0x0008, 0xe07: 0x0008, 0xe08: 0x0008, 0xe09: 0x0008, 0xe0a: 0x0008, 0xe0b: 0x0008,
+ 0xe0c: 0x0008, 0xe0d: 0x0008, 0xe0e: 0x0008, 0xe0f: 0x0008, 0xe10: 0x0008, 0xe11: 0x0008,
+ 0xe12: 0x0008, 0xe13: 0x0008, 0xe14: 0x0008, 0xe15: 0x0008, 0xe16: 0x0008, 0xe17: 0x0008,
+ 0xe18: 0x0008, 0xe19: 0x0008, 0xe1a: 0x0008, 0xe1b: 0x0008, 0xe1c: 0x0008, 0xe1d: 0x0008,
+ 0xe1e: 0x0008, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0x0941, 0xe23: 0x0f0d,
+ 0xe24: 0x0949, 0xe25: 0x0008, 0xe26: 0x0008, 0xe27: 0xe07d, 0xe28: 0x0008, 0xe29: 0xe01d,
+ 0xe2a: 0x0008, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0x0359, 0xe2e: 0x0441, 0xe2f: 0x0351,
+ 0xe30: 0x03d1, 0xe31: 0x0008, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0008, 0xe35: 0xe01d,
+ 0xe36: 0x0008, 0xe37: 0x0008, 0xe38: 0x0008, 0xe39: 0x0008, 0xe3a: 0x0008, 0xe3b: 0x0008,
+ 0xe3c: 0x00b1, 0xe3d: 0x0391, 0xe3e: 0x0951, 0xe3f: 0x0959,
+ // Block 0x39, offset 0xe40
+ 0xe40: 0xe00d, 0xe41: 0x0008, 0xe42: 0xe00d, 0xe43: 0x0008, 0xe44: 0xe00d, 0xe45: 0x0008,
+ 0xe46: 0xe00d, 0xe47: 0x0008, 0xe48: 0xe00d, 0xe49: 0x0008, 0xe4a: 0xe00d, 0xe4b: 0x0008,
+ 0xe4c: 0xe00d, 0xe4d: 0x0008, 0xe4e: 0xe00d, 0xe4f: 0x0008, 0xe50: 0xe00d, 0xe51: 0x0008,
+ 0xe52: 0xe00d, 0xe53: 0x0008, 0xe54: 0xe00d, 0xe55: 0x0008, 0xe56: 0xe00d, 0xe57: 0x0008,
+ 0xe58: 0xe00d, 0xe59: 0x0008, 0xe5a: 0xe00d, 0xe5b: 0x0008, 0xe5c: 0xe00d, 0xe5d: 0x0008,
+ 0xe5e: 0xe00d, 0xe5f: 0x0008, 0xe60: 0xe00d, 0xe61: 0x0008, 0xe62: 0xe00d, 0xe63: 0x0008,
+ 0xe64: 0x0008, 0xe65: 0x0018, 0xe66: 0x0018, 0xe67: 0x0018, 0xe68: 0x0018, 0xe69: 0x0018,
+ 0xe6a: 0x0018, 0xe6b: 0xe03d, 0xe6c: 0x0008, 0xe6d: 0xe01d, 0xe6e: 0x0008, 0xe6f: 0x3308,
+ 0xe70: 0x3308, 0xe71: 0x3308, 0xe72: 0xe00d, 0xe73: 0x0008, 0xe74: 0x0040, 0xe75: 0x0040,
+ 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0018, 0xe7a: 0x0018, 0xe7b: 0x0018,
+ 0xe7c: 0x0018, 0xe7d: 0x0018, 0xe7e: 0x0018, 0xe7f: 0x0018,
+ // Block 0x3a, offset 0xe80
+ 0xe80: 0x274d, 0xe81: 0x276d, 0xe82: 0x278d, 0xe83: 0x27ad, 0xe84: 0x27cd, 0xe85: 0x27ed,
+ 0xe86: 0x280d, 0xe87: 0x282d, 0xe88: 0x284d, 0xe89: 0x286d, 0xe8a: 0x288d, 0xe8b: 0x28ad,
+ 0xe8c: 0x28cd, 0xe8d: 0x28ed, 0xe8e: 0x290d, 0xe8f: 0x292d, 0xe90: 0x294d, 0xe91: 0x296d,
+ 0xe92: 0x298d, 0xe93: 0x29ad, 0xe94: 0x29cd, 0xe95: 0x29ed, 0xe96: 0x0040, 0xe97: 0x0040,
+ 0xe98: 0x0040, 0xe99: 0x0040, 0xe9a: 0x0040, 0xe9b: 0x0040, 0xe9c: 0x0040, 0xe9d: 0x0040,
+ 0xe9e: 0x0040, 0xe9f: 0x0040, 0xea0: 0x0040, 0xea1: 0x0040, 0xea2: 0x0040, 0xea3: 0x0040,
+ 0xea4: 0x0040, 0xea5: 0x0040, 0xea6: 0x0040, 0xea7: 0x0040, 0xea8: 0x0040, 0xea9: 0x0040,
+ 0xeaa: 0x0040, 0xeab: 0x0040, 0xeac: 0x0040, 0xead: 0x0040, 0xeae: 0x0040, 0xeaf: 0x0040,
+ 0xeb0: 0x0040, 0xeb1: 0x0040, 0xeb2: 0x0040, 0xeb3: 0x0040, 0xeb4: 0x0040, 0xeb5: 0x0040,
+ 0xeb6: 0x0040, 0xeb7: 0x0040, 0xeb8: 0x0040, 0xeb9: 0x0040, 0xeba: 0x0040, 0xebb: 0x0040,
+ 0xebc: 0x0040, 0xebd: 0x0040, 0xebe: 0x0040, 0xebf: 0x0040,
+ // Block 0x3b, offset 0xec0
+ 0xec0: 0x0009, 0xec1: 0x0018, 0xec2: 0x0961, 0xec3: 0x0018, 0xec4: 0x0018, 0xec5: 0x0008,
+ 0xec6: 0x0008, 0xec7: 0x0008, 0xec8: 0x0018, 0xec9: 0x0018, 0xeca: 0x0018, 0xecb: 0x0018,
+ 0xecc: 0x0018, 0xecd: 0x0018, 0xece: 0x0018, 0xecf: 0x0018, 0xed0: 0x0018, 0xed1: 0x0018,
+ 0xed2: 0x0018, 0xed3: 0x0018, 0xed4: 0x0018, 0xed5: 0x0018, 0xed6: 0x0018, 0xed7: 0x0018,
+ 0xed8: 0x0018, 0xed9: 0x0018, 0xeda: 0x0018, 0xedb: 0x0018, 0xedc: 0x0018, 0xedd: 0x0018,
+ 0xede: 0x0018, 0xedf: 0x0018, 0xee0: 0x0018, 0xee1: 0x0018, 0xee2: 0x0018, 0xee3: 0x0018,
+ 0xee4: 0x0018, 0xee5: 0x0018, 0xee6: 0x0018, 0xee7: 0x0018, 0xee8: 0x0018, 0xee9: 0x0018,
+ 0xeea: 0x3308, 0xeeb: 0x3308, 0xeec: 0x3308, 0xeed: 0x3308, 0xeee: 0x3018, 0xeef: 0x3018,
+ 0xef0: 0x0018, 0xef1: 0x0018, 0xef2: 0x0018, 0xef3: 0x0018, 0xef4: 0x0018, 0xef5: 0x0018,
+ 0xef6: 0xe125, 0xef7: 0x0018, 0xef8: 0x2a0d, 0xef9: 0x2a2d, 0xefa: 0x2a4d, 0xefb: 0x0018,
+ 0xefc: 0x0008, 0xefd: 0x0018, 0xefe: 0x0018, 0xeff: 0x0018,
+ // Block 0x3c, offset 0xf00
+ 0xf00: 0x2b8d, 0xf01: 0x2bad, 0xf02: 0x2bcd, 0xf03: 0x2bed, 0xf04: 0x2c0d, 0xf05: 0x2c2d,
+ 0xf06: 0x2c2d, 0xf07: 0x2c2d, 0xf08: 0x2c4d, 0xf09: 0x2c4d, 0xf0a: 0x2c4d, 0xf0b: 0x2c4d,
+ 0xf0c: 0x2c6d, 0xf0d: 0x2c6d, 0xf0e: 0x2c6d, 0xf0f: 0x2c8d, 0xf10: 0x2cad, 0xf11: 0x2cad,
+ 0xf12: 0x2acd, 0xf13: 0x2acd, 0xf14: 0x2cad, 0xf15: 0x2cad, 0xf16: 0x2ccd, 0xf17: 0x2ccd,
+ 0xf18: 0x2cad, 0xf19: 0x2cad, 0xf1a: 0x2acd, 0xf1b: 0x2acd, 0xf1c: 0x2cad, 0xf1d: 0x2cad,
+ 0xf1e: 0x2c8d, 0xf1f: 0x2c8d, 0xf20: 0x2ced, 0xf21: 0x2ced, 0xf22: 0x2d0d, 0xf23: 0x2d0d,
+ 0xf24: 0x00c0, 0xf25: 0x2d2d, 0xf26: 0x2d4d, 0xf27: 0x2d6d, 0xf28: 0x2d6d, 0xf29: 0x2d8d,
+ 0xf2a: 0x2dad, 0xf2b: 0x2dcd, 0xf2c: 0x2ded, 0xf2d: 0x2e0d, 0xf2e: 0x2e2d, 0xf2f: 0x2e4d,
+ 0xf30: 0x2e6d, 0xf31: 0x2e8d, 0xf32: 0x2e8d, 0xf33: 0x2ead, 0xf34: 0x2ecd, 0xf35: 0x2ecd,
+ 0xf36: 0x2eed, 0xf37: 0x2f0d, 0xf38: 0x2ead, 0xf39: 0x2f2d, 0xf3a: 0x2f4d, 0xf3b: 0x2f2d,
+ 0xf3c: 0x2ead, 0xf3d: 0x2f6d, 0xf3e: 0x2f8d, 0xf3f: 0x2fad,
+ // Block 0x3d, offset 0xf40
+ 0xf40: 0x2fcd, 0xf41: 0x2fed, 0xf42: 0x2d4d, 0xf43: 0x2d2d, 0xf44: 0x300d, 0xf45: 0x302d,
+ 0xf46: 0x304d, 0xf47: 0x306d, 0xf48: 0x308d, 0xf49: 0x30ad, 0xf4a: 0x30cd, 0xf4b: 0x30ed,
+ 0xf4c: 0x310d, 0xf4d: 0x312d, 0xf4e: 0x314d, 0xf4f: 0x0040, 0xf50: 0x0018, 0xf51: 0x0018,
+ 0xf52: 0x316d, 0xf53: 0x318d, 0xf54: 0x31ad, 0xf55: 0x31cd, 0xf56: 0x31ed, 0xf57: 0x320d,
+ 0xf58: 0x322d, 0xf59: 0x324d, 0xf5a: 0x326d, 0xf5b: 0x328d, 0xf5c: 0x31ad, 0xf5d: 0x32ad,
+ 0xf5e: 0x32cd, 0xf5f: 0x32ed, 0xf60: 0x0008, 0xf61: 0x0008, 0xf62: 0x0008, 0xf63: 0x0008,
+ 0xf64: 0x0008, 0xf65: 0x0008, 0xf66: 0x0008, 0xf67: 0x0008, 0xf68: 0x0008, 0xf69: 0x0008,
+ 0xf6a: 0x0008, 0xf6b: 0x0008, 0xf6c: 0x0008, 0xf6d: 0x0008, 0xf6e: 0x0008, 0xf6f: 0x0008,
+ 0xf70: 0x0008, 0xf71: 0x0008, 0xf72: 0x0008, 0xf73: 0x0008, 0xf74: 0x0008, 0xf75: 0x0008,
+ 0xf76: 0x0008, 0xf77: 0x0008, 0xf78: 0x0008, 0xf79: 0x0008, 0xf7a: 0x0008, 0xf7b: 0x0008,
+ 0xf7c: 0x0008, 0xf7d: 0x0008, 0xf7e: 0x0008, 0xf7f: 0x0008,
+ // Block 0x3e, offset 0xf80
+ 0xf80: 0x0b81, 0xf81: 0x0b89, 0xf82: 0x0b91, 0xf83: 0x0b99, 0xf84: 0x330d, 0xf85: 0x332d,
+ 0xf86: 0x334d, 0xf87: 0x336d, 0xf88: 0x0018, 0xf89: 0x0018, 0xf8a: 0x0018, 0xf8b: 0x0018,
+ 0xf8c: 0x0018, 0xf8d: 0x0018, 0xf8e: 0x0018, 0xf8f: 0x0018, 0xf90: 0x338d, 0xf91: 0x0ba1,
+ 0xf92: 0x0ba9, 0xf93: 0x0bb1, 0xf94: 0x0bb9, 0xf95: 0x0bc1, 0xf96: 0x0bc9, 0xf97: 0x0bd1,
+ 0xf98: 0x0bd9, 0xf99: 0x0be1, 0xf9a: 0x0be9, 0xf9b: 0x0bf1, 0xf9c: 0x0bf9, 0xf9d: 0x0c01,
+ 0xf9e: 0x0c09, 0xf9f: 0x0c11, 0xfa0: 0x33ad, 0xfa1: 0x33cd, 0xfa2: 0x33ed, 0xfa3: 0x340d,
+ 0xfa4: 0x342d, 0xfa5: 0x342d, 0xfa6: 0x344d, 0xfa7: 0x346d, 0xfa8: 0x348d, 0xfa9: 0x34ad,
+ 0xfaa: 0x34cd, 0xfab: 0x34ed, 0xfac: 0x350d, 0xfad: 0x352d, 0xfae: 0x354d, 0xfaf: 0x356d,
+ 0xfb0: 0x358d, 0xfb1: 0x35ad, 0xfb2: 0x35cd, 0xfb3: 0x35ed, 0xfb4: 0x360d, 0xfb5: 0x362d,
+ 0xfb6: 0x364d, 0xfb7: 0x366d, 0xfb8: 0x368d, 0xfb9: 0x36ad, 0xfba: 0x36cd, 0xfbb: 0x36ed,
+ 0xfbc: 0x0c19, 0xfbd: 0x0c21, 0xfbe: 0x370d, 0xfbf: 0x0018,
+ // Block 0x3f, offset 0xfc0
+ 0xfc0: 0x372d, 0xfc1: 0x374d, 0xfc2: 0x376d, 0xfc3: 0x378d, 0xfc4: 0x37ad, 0xfc5: 0x37cd,
+ 0xfc6: 0x37ed, 0xfc7: 0x380d, 0xfc8: 0x382d, 0xfc9: 0x384d, 0xfca: 0x386d, 0xfcb: 0x388d,
+ 0xfcc: 0x38ad, 0xfcd: 0x38cd, 0xfce: 0x38ed, 0xfcf: 0x390d, 0xfd0: 0x392d, 0xfd1: 0x394d,
+ 0xfd2: 0x396d, 0xfd3: 0x398d, 0xfd4: 0x39ad, 0xfd5: 0x39cd, 0xfd6: 0x39ed, 0xfd7: 0x3a0d,
+ 0xfd8: 0x3a2d, 0xfd9: 0x3a4d, 0xfda: 0x3a6d, 0xfdb: 0x3a8d, 0xfdc: 0x3aad, 0xfdd: 0x3acd,
+ 0xfde: 0x3aed, 0xfdf: 0x3b0d, 0xfe0: 0x3b2d, 0xfe1: 0x3b4d, 0xfe2: 0x3b6d, 0xfe3: 0x3b8d,
+ 0xfe4: 0x3bad, 0xfe5: 0x3bcd, 0xfe6: 0x12cd, 0xfe7: 0x3bed, 0xfe8: 0x3c0d, 0xfe9: 0x3c2d,
+ 0xfea: 0x3c4d, 0xfeb: 0x3c6d, 0xfec: 0x3c8d, 0xfed: 0x3cad, 0xfee: 0x23ed, 0xfef: 0x3ccd,
+ 0xff0: 0x3ced, 0xff1: 0x0c29, 0xff2: 0x0c31, 0xff3: 0x0c39, 0xff4: 0x0c41, 0xff5: 0x0c49,
+ 0xff6: 0x0c51, 0xff7: 0x0c59, 0xff8: 0x0c61, 0xff9: 0x0c69, 0xffa: 0x0c71, 0xffb: 0x0c79,
+ 0xffc: 0x0c81, 0xffd: 0x0c89, 0xffe: 0x0c91, 0xfff: 0x0c99,
+ // Block 0x40, offset 0x1000
+ 0x1000: 0x0ca1, 0x1001: 0x0ca9, 0x1002: 0x0cb1, 0x1003: 0x0cb9, 0x1004: 0x0cc1, 0x1005: 0x0cc9,
+ 0x1006: 0x0cd1, 0x1007: 0x0cd9, 0x1008: 0x0ce1, 0x1009: 0x0ce9, 0x100a: 0x0cf1, 0x100b: 0x0cf9,
+ 0x100c: 0x0d01, 0x100d: 0x3d0d, 0x100e: 0x0d09, 0x100f: 0x3d2d, 0x1010: 0x3d4d, 0x1011: 0x3d65,
+ 0x1012: 0x3d7d, 0x1013: 0x3d95, 0x1014: 0x3dad, 0x1015: 0x3dad, 0x1016: 0x3d95, 0x1017: 0x3dc5,
+ 0x1018: 0x07f5, 0x1019: 0x3ddd, 0x101a: 0x3df5, 0x101b: 0x3e0d, 0x101c: 0x3e25, 0x101d: 0x3e3d,
+ 0x101e: 0x3e55, 0x101f: 0x3e6d, 0x1020: 0x3e85, 0x1021: 0x3e9d, 0x1022: 0x3eb5, 0x1023: 0x3ecd,
+ 0x1024: 0x3ee5, 0x1025: 0x3ee5, 0x1026: 0x3efd, 0x1027: 0x3efd, 0x1028: 0x3f15, 0x1029: 0x3f15,
+ 0x102a: 0x3f2d, 0x102b: 0x3f45, 0x102c: 0x3f5d, 0x102d: 0x3f75, 0x102e: 0x3f8d, 0x102f: 0x3f8d,
+ 0x1030: 0x3fa5, 0x1031: 0x3fa5, 0x1032: 0x3fa5, 0x1033: 0x3fbd, 0x1034: 0x3fd5, 0x1035: 0x3fed,
+ 0x1036: 0x4005, 0x1037: 0x3fed, 0x1038: 0x401d, 0x1039: 0x4035, 0x103a: 0x3fbd, 0x103b: 0x404d,
+ 0x103c: 0x4065, 0x103d: 0x4065, 0x103e: 0x4065, 0x103f: 0x0d11,
+ // Block 0x41, offset 0x1040
+ 0x1040: 0x10f9, 0x1041: 0x1101, 0x1042: 0x40dd, 0x1043: 0x1109, 0x1044: 0x1111, 0x1045: 0x1119,
+ 0x1046: 0x1121, 0x1047: 0x1129, 0x1048: 0x40fd, 0x1049: 0x1131, 0x104a: 0x1139, 0x104b: 0x1141,
+ 0x104c: 0x411d, 0x104d: 0x411d, 0x104e: 0x1149, 0x104f: 0x1151, 0x1050: 0x1159, 0x1051: 0x413d,
+ 0x1052: 0x415d, 0x1053: 0x417d, 0x1054: 0x419d, 0x1055: 0x41bd, 0x1056: 0x1161, 0x1057: 0x1169,
+ 0x1058: 0x1171, 0x1059: 0x1179, 0x105a: 0x1181, 0x105b: 0x41dd, 0x105c: 0x1189, 0x105d: 0x1191,
+ 0x105e: 0x1199, 0x105f: 0x41fd, 0x1060: 0x421d, 0x1061: 0x11a1, 0x1062: 0x423d, 0x1063: 0x425d,
+ 0x1064: 0x427d, 0x1065: 0x11a9, 0x1066: 0x429d, 0x1067: 0x11b1, 0x1068: 0x11b9, 0x1069: 0x10f9,
+ 0x106a: 0x42bd, 0x106b: 0x42dd, 0x106c: 0x42fd, 0x106d: 0x431d, 0x106e: 0x11c1, 0x106f: 0x11c9,
+ 0x1070: 0x11d1, 0x1071: 0x11d9, 0x1072: 0x433d, 0x1073: 0x11e1, 0x1074: 0x11e9, 0x1075: 0x11f1,
+ 0x1076: 0x435d, 0x1077: 0x11f9, 0x1078: 0x1201, 0x1079: 0x11f9, 0x107a: 0x1209, 0x107b: 0x1211,
+ 0x107c: 0x437d, 0x107d: 0x1219, 0x107e: 0x1221, 0x107f: 0x1219,
+ // Block 0x42, offset 0x1080
+ 0x1080: 0x439d, 0x1081: 0x43bd, 0x1082: 0x0040, 0x1083: 0x1229, 0x1084: 0x1231, 0x1085: 0x1239,
+ 0x1086: 0x1241, 0x1087: 0x0040, 0x1088: 0x1249, 0x1089: 0x1251, 0x108a: 0x1259, 0x108b: 0x1261,
+ 0x108c: 0x1269, 0x108d: 0x1271, 0x108e: 0x1199, 0x108f: 0x1279, 0x1090: 0x1281, 0x1091: 0x1289,
+ 0x1092: 0x43dd, 0x1093: 0x1291, 0x1094: 0x1121, 0x1095: 0x43fd, 0x1096: 0x441d, 0x1097: 0x1299,
+ 0x1098: 0x0040, 0x1099: 0x443d, 0x109a: 0x12a1, 0x109b: 0x12a9, 0x109c: 0x12b1, 0x109d: 0x12b9,
+ 0x109e: 0x12c1, 0x109f: 0x12c9, 0x10a0: 0x12d1, 0x10a1: 0x12d9, 0x10a2: 0x12e1, 0x10a3: 0x12e9,
+ 0x10a4: 0x12f1, 0x10a5: 0x12f9, 0x10a6: 0x1301, 0x10a7: 0x1309, 0x10a8: 0x1311, 0x10a9: 0x1319,
+ 0x10aa: 0x1321, 0x10ab: 0x1329, 0x10ac: 0x1331, 0x10ad: 0x1339, 0x10ae: 0x1341, 0x10af: 0x1349,
+ 0x10b0: 0x1351, 0x10b1: 0x1359, 0x10b2: 0x1361, 0x10b3: 0x1369, 0x10b4: 0x1371, 0x10b5: 0x1379,
+ 0x10b6: 0x1381, 0x10b7: 0x1389, 0x10b8: 0x1391, 0x10b9: 0x1399, 0x10ba: 0x13a1, 0x10bb: 0x13a9,
+ 0x10bc: 0x13b1, 0x10bd: 0x13b9, 0x10be: 0x13c1, 0x10bf: 0x445d,
+ // Block 0x43, offset 0x10c0
+ 0x10c0: 0xe00d, 0x10c1: 0x0008, 0x10c2: 0xe00d, 0x10c3: 0x0008, 0x10c4: 0xe00d, 0x10c5: 0x0008,
+ 0x10c6: 0xe00d, 0x10c7: 0x0008, 0x10c8: 0xe00d, 0x10c9: 0x0008, 0x10ca: 0xe00d, 0x10cb: 0x0008,
+ 0x10cc: 0xe00d, 0x10cd: 0x0008, 0x10ce: 0xe00d, 0x10cf: 0x0008, 0x10d0: 0xe00d, 0x10d1: 0x0008,
+ 0x10d2: 0xe00d, 0x10d3: 0x0008, 0x10d4: 0xe00d, 0x10d5: 0x0008, 0x10d6: 0xe00d, 0x10d7: 0x0008,
+ 0x10d8: 0xe00d, 0x10d9: 0x0008, 0x10da: 0xe00d, 0x10db: 0x0008, 0x10dc: 0xe00d, 0x10dd: 0x0008,
+ 0x10de: 0xe00d, 0x10df: 0x0008, 0x10e0: 0xe00d, 0x10e1: 0x0008, 0x10e2: 0xe00d, 0x10e3: 0x0008,
+ 0x10e4: 0xe00d, 0x10e5: 0x0008, 0x10e6: 0xe00d, 0x10e7: 0x0008, 0x10e8: 0xe00d, 0x10e9: 0x0008,
+ 0x10ea: 0xe00d, 0x10eb: 0x0008, 0x10ec: 0xe00d, 0x10ed: 0x0008, 0x10ee: 0x0008, 0x10ef: 0x3308,
+ 0x10f0: 0x3318, 0x10f1: 0x3318, 0x10f2: 0x3318, 0x10f3: 0x0018, 0x10f4: 0x3308, 0x10f5: 0x3308,
+ 0x10f6: 0x3308, 0x10f7: 0x3308, 0x10f8: 0x3308, 0x10f9: 0x3308, 0x10fa: 0x3308, 0x10fb: 0x3308,
+ 0x10fc: 0x3308, 0x10fd: 0x3308, 0x10fe: 0x0018, 0x10ff: 0x0008,
+ // Block 0x44, offset 0x1100
+ 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008,
+ 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008,
+ 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008,
+ 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008,
+ 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0x02d1, 0x111d: 0x13c9,
+ 0x111e: 0x3308, 0x111f: 0x3308, 0x1120: 0x0008, 0x1121: 0x0008, 0x1122: 0x0008, 0x1123: 0x0008,
+ 0x1124: 0x0008, 0x1125: 0x0008, 0x1126: 0x0008, 0x1127: 0x0008, 0x1128: 0x0008, 0x1129: 0x0008,
+ 0x112a: 0x0008, 0x112b: 0x0008, 0x112c: 0x0008, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x0008,
+ 0x1130: 0x0008, 0x1131: 0x0008, 0x1132: 0x0008, 0x1133: 0x0008, 0x1134: 0x0008, 0x1135: 0x0008,
+ 0x1136: 0x0008, 0x1137: 0x0008, 0x1138: 0x0008, 0x1139: 0x0008, 0x113a: 0x0008, 0x113b: 0x0008,
+ 0x113c: 0x0008, 0x113d: 0x0008, 0x113e: 0x0008, 0x113f: 0x0008,
+ // Block 0x45, offset 0x1140
+ 0x1140: 0x0018, 0x1141: 0x0018, 0x1142: 0x0018, 0x1143: 0x0018, 0x1144: 0x0018, 0x1145: 0x0018,
+ 0x1146: 0x0018, 0x1147: 0x0018, 0x1148: 0x0018, 0x1149: 0x0018, 0x114a: 0x0018, 0x114b: 0x0018,
+ 0x114c: 0x0018, 0x114d: 0x0018, 0x114e: 0x0018, 0x114f: 0x0018, 0x1150: 0x0018, 0x1151: 0x0018,
+ 0x1152: 0x0018, 0x1153: 0x0018, 0x1154: 0x0018, 0x1155: 0x0018, 0x1156: 0x0018, 0x1157: 0x0008,
+ 0x1158: 0x0008, 0x1159: 0x0008, 0x115a: 0x0008, 0x115b: 0x0008, 0x115c: 0x0008, 0x115d: 0x0008,
+ 0x115e: 0x0008, 0x115f: 0x0008, 0x1160: 0x0018, 0x1161: 0x0018, 0x1162: 0xe00d, 0x1163: 0x0008,
+ 0x1164: 0xe00d, 0x1165: 0x0008, 0x1166: 0xe00d, 0x1167: 0x0008, 0x1168: 0xe00d, 0x1169: 0x0008,
+ 0x116a: 0xe00d, 0x116b: 0x0008, 0x116c: 0xe00d, 0x116d: 0x0008, 0x116e: 0xe00d, 0x116f: 0x0008,
+ 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0xe00d, 0x1173: 0x0008, 0x1174: 0xe00d, 0x1175: 0x0008,
+ 0x1176: 0xe00d, 0x1177: 0x0008, 0x1178: 0xe00d, 0x1179: 0x0008, 0x117a: 0xe00d, 0x117b: 0x0008,
+ 0x117c: 0xe00d, 0x117d: 0x0008, 0x117e: 0xe00d, 0x117f: 0x0008,
+ // Block 0x46, offset 0x1180
+ 0x1180: 0xe00d, 0x1181: 0x0008, 0x1182: 0xe00d, 0x1183: 0x0008, 0x1184: 0xe00d, 0x1185: 0x0008,
+ 0x1186: 0xe00d, 0x1187: 0x0008, 0x1188: 0xe00d, 0x1189: 0x0008, 0x118a: 0xe00d, 0x118b: 0x0008,
+ 0x118c: 0xe00d, 0x118d: 0x0008, 0x118e: 0xe00d, 0x118f: 0x0008, 0x1190: 0xe00d, 0x1191: 0x0008,
+ 0x1192: 0xe00d, 0x1193: 0x0008, 0x1194: 0xe00d, 0x1195: 0x0008, 0x1196: 0xe00d, 0x1197: 0x0008,
+ 0x1198: 0xe00d, 0x1199: 0x0008, 0x119a: 0xe00d, 0x119b: 0x0008, 0x119c: 0xe00d, 0x119d: 0x0008,
+ 0x119e: 0xe00d, 0x119f: 0x0008, 0x11a0: 0xe00d, 0x11a1: 0x0008, 0x11a2: 0xe00d, 0x11a3: 0x0008,
+ 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,
+ 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008,
+ 0x11b0: 0xe0fd, 0x11b1: 0x0008, 0x11b2: 0x0008, 0x11b3: 0x0008, 0x11b4: 0x0008, 0x11b5: 0x0008,
+ 0x11b6: 0x0008, 0x11b7: 0x0008, 0x11b8: 0x0008, 0x11b9: 0xe01d, 0x11ba: 0x0008, 0x11bb: 0xe03d,
+ 0x11bc: 0x0008, 0x11bd: 0x447d, 0x11be: 0xe00d, 0x11bf: 0x0008,
+ // Block 0x47, offset 0x11c0
+ 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008,
+ 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0x0008, 0x11c9: 0x0018, 0x11ca: 0x0018, 0x11cb: 0xe03d,
+ 0x11cc: 0x0008, 0x11cd: 0x0409, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008,
+ 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008,
+ 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008,
+ 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008,
+ 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008,
+ 0x11ea: 0x13d1, 0x11eb: 0x0371, 0x11ec: 0x0401, 0x11ed: 0x13d9, 0x11ee: 0x0421, 0x11ef: 0x0008,
+ 0x11f0: 0x13e1, 0x11f1: 0x13e9, 0x11f2: 0x0429, 0x11f3: 0x449d, 0x11f4: 0xe00d, 0x11f5: 0x0008,
+ 0x11f6: 0xe00d, 0x11f7: 0x0008, 0x11f8: 0xe00d, 0x11f9: 0x0008, 0x11fa: 0xe00d, 0x11fb: 0x0008,
+ 0x11fc: 0xe00d, 0x11fd: 0x0008, 0x11fe: 0xe00d, 0x11ff: 0x0008,
+ // Block 0x48, offset 0x1200
+ 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0x03f5, 0x1205: 0x0479,
+ 0x1206: 0x44b5, 0x1207: 0xe07d, 0x1208: 0x0008, 0x1209: 0xe01d, 0x120a: 0x0008, 0x120b: 0x13f1,
+ 0x120c: 0xe00d, 0x120d: 0x0008, 0x120e: 0xe00d, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008,
+ 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0xe00d, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008,
+ 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0x13f9, 0x121d: 0x0040,
+ 0x121e: 0x0040, 0x121f: 0x0040, 0x1220: 0x0040, 0x1221: 0x0040, 0x1222: 0x0040, 0x1223: 0x0040,
+ 0x1224: 0x0040, 0x1225: 0x0040, 0x1226: 0x0040, 0x1227: 0x0040, 0x1228: 0x0040, 0x1229: 0x0040,
+ 0x122a: 0x0040, 0x122b: 0x0040, 0x122c: 0x0040, 0x122d: 0x0040, 0x122e: 0x0040, 0x122f: 0x0040,
+ 0x1230: 0x0040, 0x1231: 0x0089, 0x1232: 0x03d9, 0x1233: 0x03f1, 0x1234: 0x0751, 0x1235: 0xe01d,
+ 0x1236: 0x0008, 0x1237: 0x0008, 0x1238: 0x0741, 0x1239: 0x1401, 0x123a: 0x0008, 0x123b: 0x0008,
+ 0x123c: 0x0008, 0x123d: 0x0008, 0x123e: 0x0008, 0x123f: 0x0008,
+ // Block 0x49, offset 0x1240
+ 0x1240: 0x6545, 0x1241: 0x6565, 0x1242: 0x6585, 0x1243: 0x65a5, 0x1244: 0x65c5, 0x1245: 0x65e5,
+ 0x1246: 0x6605, 0x1247: 0x6625, 0x1248: 0x6645, 0x1249: 0x6665, 0x124a: 0x6685, 0x124b: 0x66a5,
+ 0x124c: 0x66c5, 0x124d: 0x66e5, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6705, 0x1251: 0x0008,
+ 0x1252: 0x6725, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x6745, 0x1256: 0x6765, 0x1257: 0x6785,
+ 0x1258: 0x67a5, 0x1259: 0x67c5, 0x125a: 0x67e5, 0x125b: 0x6805, 0x125c: 0x6825, 0x125d: 0x6845,
+ 0x125e: 0x6865, 0x125f: 0x0008, 0x1260: 0x6885, 0x1261: 0x0008, 0x1262: 0x68a5, 0x1263: 0x0008,
+ 0x1264: 0x0008, 0x1265: 0x68c5, 0x1266: 0x68e5, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008,
+ 0x126a: 0x6905, 0x126b: 0x6925, 0x126c: 0x6945, 0x126d: 0x6965, 0x126e: 0x6985, 0x126f: 0x69a5,
+ 0x1270: 0x69c5, 0x1271: 0x69e5, 0x1272: 0x6a05, 0x1273: 0x6a25, 0x1274: 0x6a45, 0x1275: 0x6a65,
+ 0x1276: 0x6a85, 0x1277: 0x6aa5, 0x1278: 0x6ac5, 0x1279: 0x6ae5, 0x127a: 0x6b05, 0x127b: 0x6b25,
+ 0x127c: 0x6b45, 0x127d: 0x6b65, 0x127e: 0x6b85, 0x127f: 0x6ba5,
+ // Block 0x4a, offset 0x1280
+ 0x1280: 0x7b05, 0x1281: 0x7b25, 0x1282: 0x7b45, 0x1283: 0x7b65, 0x1284: 0x7b85, 0x1285: 0x7ba5,
+ 0x1286: 0x7bc5, 0x1287: 0x7be5, 0x1288: 0x7c05, 0x1289: 0x7c25, 0x128a: 0x7c45, 0x128b: 0x7c65,
+ 0x128c: 0x7c85, 0x128d: 0x7ca5, 0x128e: 0x7cc5, 0x128f: 0x1419, 0x1290: 0x1421, 0x1291: 0x1429,
+ 0x1292: 0x7ce5, 0x1293: 0x7d05, 0x1294: 0x7d25, 0x1295: 0x1431, 0x1296: 0x1439, 0x1297: 0x1441,
+ 0x1298: 0x7d45, 0x1299: 0x7d65, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040,
+ 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040,
+ 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040,
+ 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040,
+ 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040,
+ 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040,
+ 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040,
+ // Block 0x4b, offset 0x12c0
+ 0x12c0: 0x1449, 0x12c1: 0x1451, 0x12c2: 0x1459, 0x12c3: 0x7d85, 0x12c4: 0x7da5, 0x12c5: 0x1461,
+ 0x12c6: 0x1461, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040,
+ 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040,
+ 0x12d2: 0x0040, 0x12d3: 0x1469, 0x12d4: 0x1471, 0x12d5: 0x1479, 0x12d6: 0x1481, 0x12d7: 0x1489,
+ 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x1491,
+ 0x12de: 0x3308, 0x12df: 0x1499, 0x12e0: 0x14a1, 0x12e1: 0x0779, 0x12e2: 0x0791, 0x12e3: 0x14a9,
+ 0x12e4: 0x14b1, 0x12e5: 0x14b9, 0x12e6: 0x14c1, 0x12e7: 0x14c9, 0x12e8: 0x14d1, 0x12e9: 0x0719,
+ 0x12ea: 0x14d9, 0x12eb: 0x14e1, 0x12ec: 0x14e9, 0x12ed: 0x14f1, 0x12ee: 0x14f9, 0x12ef: 0x1501,
+ 0x12f0: 0x1509, 0x12f1: 0x1511, 0x12f2: 0x1519, 0x12f3: 0x1521, 0x12f4: 0x1529, 0x12f5: 0x1531,
+ 0x12f6: 0x1539, 0x12f7: 0x0040, 0x12f8: 0x1541, 0x12f9: 0x1549, 0x12fa: 0x1551, 0x12fb: 0x1559,
+ 0x12fc: 0x1561, 0x12fd: 0x0040, 0x12fe: 0x1569, 0x12ff: 0x0040,
+ // Block 0x4c, offset 0x1300
+ 0x1300: 0x1571, 0x1301: 0x1579, 0x1302: 0x0040, 0x1303: 0x1581, 0x1304: 0x1589, 0x1305: 0x0040,
+ 0x1306: 0x1591, 0x1307: 0x1599, 0x1308: 0x15a1, 0x1309: 0x15a9, 0x130a: 0x15b1, 0x130b: 0x15b9,
+ 0x130c: 0x15c1, 0x130d: 0x15c9, 0x130e: 0x15d1, 0x130f: 0x15d9, 0x1310: 0x15e1, 0x1311: 0x15e1,
+ 0x1312: 0x15e9, 0x1313: 0x15e9, 0x1314: 0x15e9, 0x1315: 0x15e9, 0x1316: 0x15f1, 0x1317: 0x15f1,
+ 0x1318: 0x15f1, 0x1319: 0x15f1, 0x131a: 0x15f9, 0x131b: 0x15f9, 0x131c: 0x15f9, 0x131d: 0x15f9,
+ 0x131e: 0x1601, 0x131f: 0x1601, 0x1320: 0x1601, 0x1321: 0x1601, 0x1322: 0x1609, 0x1323: 0x1609,
+ 0x1324: 0x1609, 0x1325: 0x1609, 0x1326: 0x1611, 0x1327: 0x1611, 0x1328: 0x1611, 0x1329: 0x1611,
+ 0x132a: 0x1619, 0x132b: 0x1619, 0x132c: 0x1619, 0x132d: 0x1619, 0x132e: 0x1621, 0x132f: 0x1621,
+ 0x1330: 0x1621, 0x1331: 0x1621, 0x1332: 0x1629, 0x1333: 0x1629, 0x1334: 0x1629, 0x1335: 0x1629,
+ 0x1336: 0x1631, 0x1337: 0x1631, 0x1338: 0x1631, 0x1339: 0x1631, 0x133a: 0x1639, 0x133b: 0x1639,
+ 0x133c: 0x1639, 0x133d: 0x1639, 0x133e: 0x1641, 0x133f: 0x1641,
+ // Block 0x4d, offset 0x1340
+ 0x1340: 0x1641, 0x1341: 0x1641, 0x1342: 0x1649, 0x1343: 0x1649, 0x1344: 0x1651, 0x1345: 0x1651,
+ 0x1346: 0x1659, 0x1347: 0x1659, 0x1348: 0x1661, 0x1349: 0x1661, 0x134a: 0x1669, 0x134b: 0x1669,
+ 0x134c: 0x1671, 0x134d: 0x1671, 0x134e: 0x1679, 0x134f: 0x1679, 0x1350: 0x1679, 0x1351: 0x1679,
+ 0x1352: 0x1681, 0x1353: 0x1681, 0x1354: 0x1681, 0x1355: 0x1681, 0x1356: 0x1689, 0x1357: 0x1689,
+ 0x1358: 0x1689, 0x1359: 0x1689, 0x135a: 0x1691, 0x135b: 0x1691, 0x135c: 0x1691, 0x135d: 0x1691,
+ 0x135e: 0x1699, 0x135f: 0x1699, 0x1360: 0x16a1, 0x1361: 0x16a1, 0x1362: 0x16a1, 0x1363: 0x16a1,
+ 0x1364: 0x16a9, 0x1365: 0x16a9, 0x1366: 0x16b1, 0x1367: 0x16b1, 0x1368: 0x16b1, 0x1369: 0x16b1,
+ 0x136a: 0x16b9, 0x136b: 0x16b9, 0x136c: 0x16b9, 0x136d: 0x16b9, 0x136e: 0x16c1, 0x136f: 0x16c1,
+ 0x1370: 0x16c9, 0x1371: 0x16c9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818,
+ 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818,
+ 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818,
+ // Block 0x4e, offset 0x1380
+ 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0818, 0x1383: 0x0018, 0x1384: 0x0018, 0x1385: 0x0018,
+ 0x1386: 0x0018, 0x1387: 0x0018, 0x1388: 0x0018, 0x1389: 0x0018, 0x138a: 0x0018, 0x138b: 0x0018,
+ 0x138c: 0x0018, 0x138d: 0x0018, 0x138e: 0x0018, 0x138f: 0x0018, 0x1390: 0x0018, 0x1391: 0x0018,
+ 0x1392: 0x0018, 0x1393: 0x16d1, 0x1394: 0x16d1, 0x1395: 0x16d1, 0x1396: 0x16d1, 0x1397: 0x16d9,
+ 0x1398: 0x16d9, 0x1399: 0x16e1, 0x139a: 0x16e1, 0x139b: 0x16e9, 0x139c: 0x16e9, 0x139d: 0x0149,
+ 0x139e: 0x16f1, 0x139f: 0x16f1, 0x13a0: 0x16f9, 0x13a1: 0x16f9, 0x13a2: 0x1701, 0x13a3: 0x1701,
+ 0x13a4: 0x1709, 0x13a5: 0x1709, 0x13a6: 0x1709, 0x13a7: 0x1709, 0x13a8: 0x1711, 0x13a9: 0x1711,
+ 0x13aa: 0x1719, 0x13ab: 0x1719, 0x13ac: 0x1721, 0x13ad: 0x1721, 0x13ae: 0x1729, 0x13af: 0x1729,
+ 0x13b0: 0x1731, 0x13b1: 0x1731, 0x13b2: 0x1739, 0x13b3: 0x1739, 0x13b4: 0x1741, 0x13b5: 0x1741,
+ 0x13b6: 0x1749, 0x13b7: 0x1749, 0x13b8: 0x1749, 0x13b9: 0x1751, 0x13ba: 0x1751, 0x13bb: 0x1751,
+ 0x13bc: 0x1759, 0x13bd: 0x1759, 0x13be: 0x1759, 0x13bf: 0x1759,
+ // Block 0x4f, offset 0x13c0
+ 0x13c0: 0x1959, 0x13c1: 0x1961, 0x13c2: 0x1969, 0x13c3: 0x1971, 0x13c4: 0x1979, 0x13c5: 0x1981,
+ 0x13c6: 0x1989, 0x13c7: 0x1991, 0x13c8: 0x1999, 0x13c9: 0x19a1, 0x13ca: 0x19a9, 0x13cb: 0x19b1,
+ 0x13cc: 0x19b9, 0x13cd: 0x19c1, 0x13ce: 0x19c9, 0x13cf: 0x19d1, 0x13d0: 0x19d9, 0x13d1: 0x19e1,
+ 0x13d2: 0x19e9, 0x13d3: 0x19f1, 0x13d4: 0x19f9, 0x13d5: 0x1a01, 0x13d6: 0x1a09, 0x13d7: 0x1a11,
+ 0x13d8: 0x1a19, 0x13d9: 0x1a21, 0x13da: 0x1a29, 0x13db: 0x1a31, 0x13dc: 0x1a39, 0x13dd: 0x1a41,
+ 0x13de: 0x1a49, 0x13df: 0x1a51, 0x13e0: 0x1a59, 0x13e1: 0x1a61, 0x13e2: 0x1a69, 0x13e3: 0x1a71,
+ 0x13e4: 0x1a79, 0x13e5: 0x1a81, 0x13e6: 0x1771, 0x13e7: 0x1a89, 0x13e8: 0x1751, 0x13e9: 0x1779,
+ 0x13ea: 0x1a91, 0x13eb: 0x1a99, 0x13ec: 0x1799, 0x13ed: 0x1aa1, 0x13ee: 0x17a1, 0x13ef: 0x17a9,
+ 0x13f0: 0x1aa9, 0x13f1: 0x1ab1, 0x13f2: 0x17c9, 0x13f3: 0x1ab9, 0x13f4: 0x17d1, 0x13f5: 0x17d9,
+ 0x13f6: 0x1ac1, 0x13f7: 0x1ac9, 0x13f8: 0x17e9, 0x13f9: 0x1ad1, 0x13fa: 0x17f1, 0x13fb: 0x17f9,
+ 0x13fc: 0x18e1, 0x13fd: 0x18e9, 0x13fe: 0x1901, 0x13ff: 0x1909,
+ // Block 0x50, offset 0x1400
+ 0x1400: 0x1911, 0x1401: 0x1931, 0x1402: 0x1939, 0x1403: 0x1941, 0x1404: 0x1949, 0x1405: 0x1969,
+ 0x1406: 0x1971, 0x1407: 0x1979, 0x1408: 0x1ad9, 0x1409: 0x1999, 0x140a: 0x1ae1, 0x140b: 0x1ae9,
+ 0x140c: 0x19c9, 0x140d: 0x1af1, 0x140e: 0x19d1, 0x140f: 0x19d9, 0x1410: 0x1a41, 0x1411: 0x1af9,
+ 0x1412: 0x1b01, 0x1413: 0x1a19, 0x1414: 0x1b09, 0x1415: 0x1a21, 0x1416: 0x1a29, 0x1417: 0x1761,
+ 0x1418: 0x1769, 0x1419: 0x1b11, 0x141a: 0x1771, 0x141b: 0x1b19, 0x141c: 0x1781, 0x141d: 0x1789,
+ 0x141e: 0x1791, 0x141f: 0x1799, 0x1420: 0x1b21, 0x1421: 0x17b1, 0x1422: 0x17b9, 0x1423: 0x17c1,
+ 0x1424: 0x17c9, 0x1425: 0x1b29, 0x1426: 0x17e9, 0x1427: 0x1801, 0x1428: 0x1809, 0x1429: 0x1811,
+ 0x142a: 0x1819, 0x142b: 0x1821, 0x142c: 0x1831, 0x142d: 0x1839, 0x142e: 0x1841, 0x142f: 0x1849,
+ 0x1430: 0x1851, 0x1431: 0x1859, 0x1432: 0x1b31, 0x1433: 0x1861, 0x1434: 0x1869, 0x1435: 0x1871,
+ 0x1436: 0x1879, 0x1437: 0x1881, 0x1438: 0x1889, 0x1439: 0x1899, 0x143a: 0x18a1, 0x143b: 0x18a9,
+ 0x143c: 0x18b1, 0x143d: 0x18b9, 0x143e: 0x18c1, 0x143f: 0x18c9,
+ // Block 0x51, offset 0x1440
+ 0x1440: 0x18d1, 0x1441: 0x18d9, 0x1442: 0x18f1, 0x1443: 0x18f9, 0x1444: 0x1919, 0x1445: 0x1921,
+ 0x1446: 0x1929, 0x1447: 0x1931, 0x1448: 0x1939, 0x1449: 0x1951, 0x144a: 0x1959, 0x144b: 0x1961,
+ 0x144c: 0x1969, 0x144d: 0x1b39, 0x144e: 0x1981, 0x144f: 0x1989, 0x1450: 0x1991, 0x1451: 0x1999,
+ 0x1452: 0x19b1, 0x1453: 0x19b9, 0x1454: 0x19c1, 0x1455: 0x19c9, 0x1456: 0x1b41, 0x1457: 0x19e1,
+ 0x1458: 0x19e9, 0x1459: 0x1b49, 0x145a: 0x1a01, 0x145b: 0x1a09, 0x145c: 0x1a11, 0x145d: 0x1a19,
+ 0x145e: 0x1b51, 0x145f: 0x1771, 0x1460: 0x1b19, 0x1461: 0x1799, 0x1462: 0x1b21, 0x1463: 0x17c9,
+ 0x1464: 0x1b29, 0x1465: 0x17e9, 0x1466: 0x1b59, 0x1467: 0x1851, 0x1468: 0x1b61, 0x1469: 0x1b69,
+ 0x146a: 0x1b71, 0x146b: 0x1931, 0x146c: 0x1939, 0x146d: 0x1969, 0x146e: 0x19c9, 0x146f: 0x1b41,
+ 0x1470: 0x1a19, 0x1471: 0x1b51, 0x1472: 0x1b79, 0x1473: 0x1b81, 0x1474: 0x1b89, 0x1475: 0x1b91,
+ 0x1476: 0x1b99, 0x1477: 0x1ba1, 0x1478: 0x1ba9, 0x1479: 0x1bb1, 0x147a: 0x1bb9, 0x147b: 0x1bc1,
+ 0x147c: 0x1bc9, 0x147d: 0x1bd1, 0x147e: 0x1bd9, 0x147f: 0x1be1,
+ // Block 0x52, offset 0x1480
+ 0x1480: 0x1be9, 0x1481: 0x1bf1, 0x1482: 0x1bf9, 0x1483: 0x1c01, 0x1484: 0x1c09, 0x1485: 0x1c11,
+ 0x1486: 0x1c19, 0x1487: 0x1c21, 0x1488: 0x1c29, 0x1489: 0x1c31, 0x148a: 0x1c39, 0x148b: 0x1c41,
+ 0x148c: 0x1b69, 0x148d: 0x1c49, 0x148e: 0x1c51, 0x148f: 0x1c59, 0x1490: 0x1c61, 0x1491: 0x1b91,
+ 0x1492: 0x1b99, 0x1493: 0x1ba1, 0x1494: 0x1ba9, 0x1495: 0x1bb1, 0x1496: 0x1bb9, 0x1497: 0x1bc1,
+ 0x1498: 0x1bc9, 0x1499: 0x1bd1, 0x149a: 0x1bd9, 0x149b: 0x1be1, 0x149c: 0x1be9, 0x149d: 0x1bf1,
+ 0x149e: 0x1bf9, 0x149f: 0x1c01, 0x14a0: 0x1c09, 0x14a1: 0x1c11, 0x14a2: 0x1c19, 0x14a3: 0x1c21,
+ 0x14a4: 0x1c29, 0x14a5: 0x1c31, 0x14a6: 0x1c39, 0x14a7: 0x1c41, 0x14a8: 0x1b69, 0x14a9: 0x1c49,
+ 0x14aa: 0x1c51, 0x14ab: 0x1c59, 0x14ac: 0x1c61, 0x14ad: 0x1c31, 0x14ae: 0x1c39, 0x14af: 0x1c41,
+ 0x14b0: 0x1b69, 0x14b1: 0x1b61, 0x14b2: 0x1b71, 0x14b3: 0x1891, 0x14b4: 0x1839, 0x14b5: 0x1841,
+ 0x14b6: 0x1849, 0x14b7: 0x1c31, 0x14b8: 0x1c39, 0x14b9: 0x1c41, 0x14ba: 0x1891, 0x14bb: 0x1899,
+ 0x14bc: 0x1c69, 0x14bd: 0x1c69, 0x14be: 0x0018, 0x14bf: 0x0018,
+ // Block 0x53, offset 0x14c0
+ 0x14c0: 0x0018, 0x14c1: 0x0018, 0x14c2: 0x0018, 0x14c3: 0x0018, 0x14c4: 0x0018, 0x14c5: 0x0018,
+ 0x14c6: 0x0018, 0x14c7: 0x0018, 0x14c8: 0x0018, 0x14c9: 0x0018, 0x14ca: 0x0018, 0x14cb: 0x0018,
+ 0x14cc: 0x0018, 0x14cd: 0x0018, 0x14ce: 0x0018, 0x14cf: 0x0018, 0x14d0: 0x1c71, 0x14d1: 0x1c79,
+ 0x14d2: 0x1c79, 0x14d3: 0x1c81, 0x14d4: 0x1c89, 0x14d5: 0x1c91, 0x14d6: 0x1c99, 0x14d7: 0x1ca1,
+ 0x14d8: 0x1ca9, 0x14d9: 0x1ca9, 0x14da: 0x1cb1, 0x14db: 0x1cb9, 0x14dc: 0x1cc1, 0x14dd: 0x1cc9,
+ 0x14de: 0x1cd1, 0x14df: 0x1cd9, 0x14e0: 0x1cd9, 0x14e1: 0x1ce1, 0x14e2: 0x1ce9, 0x14e3: 0x1ce9,
+ 0x14e4: 0x1cf1, 0x14e5: 0x1cf1, 0x14e6: 0x1cf9, 0x14e7: 0x1d01, 0x14e8: 0x1d01, 0x14e9: 0x1d09,
+ 0x14ea: 0x1d11, 0x14eb: 0x1d11, 0x14ec: 0x1d19, 0x14ed: 0x1d19, 0x14ee: 0x1d21, 0x14ef: 0x1d29,
+ 0x14f0: 0x1d29, 0x14f1: 0x1d31, 0x14f2: 0x1d31, 0x14f3: 0x1d39, 0x14f4: 0x1d41, 0x14f5: 0x1d49,
+ 0x14f6: 0x1d51, 0x14f7: 0x1d51, 0x14f8: 0x1d59, 0x14f9: 0x1d61, 0x14fa: 0x1d69, 0x14fb: 0x1d71,
+ 0x14fc: 0x1d79, 0x14fd: 0x1d79, 0x14fe: 0x1d81, 0x14ff: 0x1d89,
+ // Block 0x54, offset 0x1500
+ 0x1500: 0x1f39, 0x1501: 0x1f41, 0x1502: 0x1f49, 0x1503: 0x1f21, 0x1504: 0x1d49, 0x1505: 0x1cf9,
+ 0x1506: 0x1f51, 0x1507: 0x1f59, 0x1508: 0x0018, 0x1509: 0x0018, 0x150a: 0x0018, 0x150b: 0x0018,
+ 0x150c: 0x0018, 0x150d: 0x0018, 0x150e: 0x0018, 0x150f: 0x0018, 0x1510: 0x0040, 0x1511: 0x0040,
+ 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040,
+ 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040,
+ 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040,
+ 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040,
+ 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,
+ 0x1530: 0x1f61, 0x1531: 0x1f69, 0x1532: 0x1f71, 0x1533: 0x1f79, 0x1534: 0x1f81, 0x1535: 0x1f89,
+ 0x1536: 0x1f91, 0x1537: 0x1f99, 0x1538: 0x1fa1, 0x1539: 0x1fa9, 0x153a: 0x1fb1, 0x153b: 0x1fb9,
+ 0x153c: 0x1fc1, 0x153d: 0x0018, 0x153e: 0x0018, 0x153f: 0x0018,
+ // Block 0x55, offset 0x1540
+ 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0,
+ 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0,
+ 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0x1fc9, 0x1551: 0x7dc5,
+ 0x1552: 0x0040, 0x1553: 0x1fd1, 0x1554: 0x0121, 0x1555: 0x1fd9, 0x1556: 0x1fe1, 0x1557: 0x7de5,
+ 0x1558: 0x7e05, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040,
+ 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308,
+ 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308,
+ 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308,
+ 0x1570: 0x0040, 0x1571: 0x7e25, 0x1572: 0x7e45, 0x1573: 0x1fe9, 0x1574: 0x1fe9, 0x1575: 0x0729,
+ 0x1576: 0x0731, 0x1577: 0x1ff1, 0x1578: 0x1ff9, 0x1579: 0x7e65, 0x157a: 0x7e85, 0x157b: 0x7ea5,
+ 0x157c: 0x7e65, 0x157d: 0x7ec5, 0x157e: 0x7ee5, 0x157f: 0x7ec5,
+ // Block 0x56, offset 0x1580
+ 0x1580: 0x7f05, 0x1581: 0x7f25, 0x1582: 0x7f45, 0x1583: 0x7f25, 0x1584: 0x7f65, 0x1585: 0x0018,
+ 0x1586: 0x0018, 0x1587: 0x2001, 0x1588: 0x2009, 0x1589: 0x7f85, 0x158a: 0x7fa5, 0x158b: 0x7fc5,
+ 0x158c: 0x7fe5, 0x158d: 0x1fe9, 0x158e: 0x1fe9, 0x158f: 0x1fe9, 0x1590: 0x1fc9, 0x1591: 0x8005,
+ 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x0121, 0x1595: 0x1fd1, 0x1596: 0x1fe1, 0x1597: 0x1fd9,
+ 0x1598: 0x8025, 0x1599: 0x0729, 0x159a: 0x0731, 0x159b: 0x1ff1, 0x159c: 0x1ff9, 0x159d: 0x7f05,
+ 0x159e: 0x7f65, 0x159f: 0x2011, 0x15a0: 0x2019, 0x15a1: 0x2021, 0x15a2: 0x0719, 0x15a3: 0x2029,
+ 0x15a4: 0x2031, 0x15a5: 0x2039, 0x15a6: 0x0721, 0x15a7: 0x0040, 0x15a8: 0x2041, 0x15a9: 0x2049,
+ 0x15aa: 0x2051, 0x15ab: 0x2059, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040,
+ 0x15b0: 0x8045, 0x15b1: 0x2061, 0x15b2: 0x8065, 0x15b3: 0x0808, 0x15b4: 0x8085, 0x15b5: 0x0040,
+ 0x15b6: 0x80a5, 0x15b7: 0x2069, 0x15b8: 0x80c5, 0x15b9: 0x2071, 0x15ba: 0x80e5, 0x15bb: 0x2079,
+ 0x15bc: 0x8105, 0x15bd: 0x2081, 0x15be: 0x8125, 0x15bf: 0x2089,
+ // Block 0x57, offset 0x15c0
+ 0x15c0: 0x2091, 0x15c1: 0x2099, 0x15c2: 0x2099, 0x15c3: 0x20a1, 0x15c4: 0x20a1, 0x15c5: 0x20a9,
+ 0x15c6: 0x20a9, 0x15c7: 0x20b1, 0x15c8: 0x20b1, 0x15c9: 0x20b9, 0x15ca: 0x20b9, 0x15cb: 0x20b9,
+ 0x15cc: 0x20b9, 0x15cd: 0x20c1, 0x15ce: 0x20c1, 0x15cf: 0x20c9, 0x15d0: 0x20c9, 0x15d1: 0x20c9,
+ 0x15d2: 0x20c9, 0x15d3: 0x20d1, 0x15d4: 0x20d1, 0x15d5: 0x20d9, 0x15d6: 0x20d9, 0x15d7: 0x20d9,
+ 0x15d8: 0x20d9, 0x15d9: 0x20e1, 0x15da: 0x20e1, 0x15db: 0x20e1, 0x15dc: 0x20e1, 0x15dd: 0x20e9,
+ 0x15de: 0x20e9, 0x15df: 0x20e9, 0x15e0: 0x20e9, 0x15e1: 0x20f1, 0x15e2: 0x20f1, 0x15e3: 0x20f1,
+ 0x15e4: 0x20f1, 0x15e5: 0x20f9, 0x15e6: 0x20f9, 0x15e7: 0x20f9, 0x15e8: 0x20f9, 0x15e9: 0x2101,
+ 0x15ea: 0x2101, 0x15eb: 0x2109, 0x15ec: 0x2109, 0x15ed: 0x2111, 0x15ee: 0x2111, 0x15ef: 0x2119,
+ 0x15f0: 0x2119, 0x15f1: 0x2121, 0x15f2: 0x2121, 0x15f3: 0x2121, 0x15f4: 0x2121, 0x15f5: 0x2129,
+ 0x15f6: 0x2129, 0x15f7: 0x2129, 0x15f8: 0x2129, 0x15f9: 0x2131, 0x15fa: 0x2131, 0x15fb: 0x2131,
+ 0x15fc: 0x2131, 0x15fd: 0x2139, 0x15fe: 0x2139, 0x15ff: 0x2139,
+ // Block 0x58, offset 0x1600
+ 0x1600: 0x2139, 0x1601: 0x2141, 0x1602: 0x2141, 0x1603: 0x2141, 0x1604: 0x2141, 0x1605: 0x2149,
+ 0x1606: 0x2149, 0x1607: 0x2149, 0x1608: 0x2149, 0x1609: 0x2151, 0x160a: 0x2151, 0x160b: 0x2151,
+ 0x160c: 0x2151, 0x160d: 0x2159, 0x160e: 0x2159, 0x160f: 0x2159, 0x1610: 0x2159, 0x1611: 0x2161,
+ 0x1612: 0x2161, 0x1613: 0x2161, 0x1614: 0x2161, 0x1615: 0x2169, 0x1616: 0x2169, 0x1617: 0x2169,
+ 0x1618: 0x2169, 0x1619: 0x2171, 0x161a: 0x2171, 0x161b: 0x2171, 0x161c: 0x2171, 0x161d: 0x2179,
+ 0x161e: 0x2179, 0x161f: 0x2179, 0x1620: 0x2179, 0x1621: 0x2181, 0x1622: 0x2181, 0x1623: 0x2181,
+ 0x1624: 0x2181, 0x1625: 0x2189, 0x1626: 0x2189, 0x1627: 0x2189, 0x1628: 0x2189, 0x1629: 0x2191,
+ 0x162a: 0x2191, 0x162b: 0x2191, 0x162c: 0x2191, 0x162d: 0x2199, 0x162e: 0x2199, 0x162f: 0x1711,
+ 0x1630: 0x1711, 0x1631: 0x21a1, 0x1632: 0x21a1, 0x1633: 0x21a1, 0x1634: 0x21a1, 0x1635: 0x21a9,
+ 0x1636: 0x21a9, 0x1637: 0x21b1, 0x1638: 0x21b1, 0x1639: 0x21b9, 0x163a: 0x21b9, 0x163b: 0x21c1,
+ 0x163c: 0x21c1, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0,
+ // Block 0x59, offset 0x1640
+ 0x1640: 0x0040, 0x1641: 0x1fd9, 0x1642: 0x21c9, 0x1643: 0x2011, 0x1644: 0x2049, 0x1645: 0x2051,
+ 0x1646: 0x2019, 0x1647: 0x21d1, 0x1648: 0x0729, 0x1649: 0x0731, 0x164a: 0x2021, 0x164b: 0x0719,
+ 0x164c: 0x1fc9, 0x164d: 0x2029, 0x164e: 0x0961, 0x164f: 0x21d9, 0x1650: 0x06e1, 0x1651: 0x0049,
+ 0x1652: 0x0029, 0x1653: 0x0031, 0x1654: 0x06e9, 0x1655: 0x06f1, 0x1656: 0x06f9, 0x1657: 0x0701,
+ 0x1658: 0x0709, 0x1659: 0x0711, 0x165a: 0x1fd1, 0x165b: 0x0121, 0x165c: 0x2031, 0x165d: 0x0721,
+ 0x165e: 0x2039, 0x165f: 0x1fe1, 0x1660: 0x2059, 0x1661: 0x0019, 0x1662: 0x02e9, 0x1663: 0x03d9,
+ 0x1664: 0x02f1, 0x1665: 0x02f9, 0x1666: 0x03f1, 0x1667: 0x0309, 0x1668: 0x00a9, 0x1669: 0x0311,
+ 0x166a: 0x00b1, 0x166b: 0x0319, 0x166c: 0x0101, 0x166d: 0x0321, 0x166e: 0x0329, 0x166f: 0x0051,
+ 0x1670: 0x0339, 0x1671: 0x0751, 0x1672: 0x00b9, 0x1673: 0x0089, 0x1674: 0x0341, 0x1675: 0x0349,
+ 0x1676: 0x0391, 0x1677: 0x00c1, 0x1678: 0x0109, 0x1679: 0x00c9, 0x167a: 0x04b1, 0x167b: 0x2001,
+ 0x167c: 0x2041, 0x167d: 0x2009, 0x167e: 0x21e1, 0x167f: 0x1fe9,
+ // Block 0x5a, offset 0x1680
+ 0x1680: 0x0671, 0x1681: 0x0019, 0x1682: 0x02e9, 0x1683: 0x03d9, 0x1684: 0x02f1, 0x1685: 0x02f9,
+ 0x1686: 0x03f1, 0x1687: 0x0309, 0x1688: 0x00a9, 0x1689: 0x0311, 0x168a: 0x00b1, 0x168b: 0x0319,
+ 0x168c: 0x0101, 0x168d: 0x0321, 0x168e: 0x0329, 0x168f: 0x0051, 0x1690: 0x0339, 0x1691: 0x0751,
+ 0x1692: 0x00b9, 0x1693: 0x0089, 0x1694: 0x0341, 0x1695: 0x0349, 0x1696: 0x0391, 0x1697: 0x00c1,
+ 0x1698: 0x0109, 0x1699: 0x00c9, 0x169a: 0x04b1, 0x169b: 0x1ff1, 0x169c: 0x21e9, 0x169d: 0x1ff9,
+ 0x169e: 0x21f1, 0x169f: 0x8145, 0x16a0: 0x8165, 0x16a1: 0x0961, 0x16a2: 0x8185, 0x16a3: 0x8185,
+ 0x16a4: 0x81a5, 0x16a5: 0x81c5, 0x16a6: 0x81e5, 0x16a7: 0x8205, 0x16a8: 0x8225, 0x16a9: 0x8245,
+ 0x16aa: 0x8265, 0x16ab: 0x8285, 0x16ac: 0x82a5, 0x16ad: 0x82c5, 0x16ae: 0x82e5, 0x16af: 0x8305,
+ 0x16b0: 0x8325, 0x16b1: 0x8345, 0x16b2: 0x8365, 0x16b3: 0x8385, 0x16b4: 0x83a5, 0x16b5: 0x83c5,
+ 0x16b6: 0x83e5, 0x16b7: 0x8405, 0x16b8: 0x8425, 0x16b9: 0x8445, 0x16ba: 0x8465, 0x16bb: 0x8485,
+ 0x16bc: 0x8225, 0x16bd: 0x84a5, 0x16be: 0x84c5, 0x16bf: 0x8285,
+ // Block 0x5b, offset 0x16c0
+ 0x16c0: 0x84e5, 0x16c1: 0x8505, 0x16c2: 0x8525, 0x16c3: 0x8545, 0x16c4: 0x8565, 0x16c5: 0x8585,
+ 0x16c6: 0x85a5, 0x16c7: 0x85c5, 0x16c8: 0x8545, 0x16c9: 0x85e5, 0x16ca: 0x8545, 0x16cb: 0x8605,
+ 0x16cc: 0x8605, 0x16cd: 0x8625, 0x16ce: 0x8625, 0x16cf: 0x8645, 0x16d0: 0x8585, 0x16d1: 0x8665,
+ 0x16d2: 0x8685, 0x16d3: 0x8665, 0x16d4: 0x86a5, 0x16d5: 0x8685, 0x16d6: 0x86c5, 0x16d7: 0x86c5,
+ 0x16d8: 0x86e5, 0x16d9: 0x86e5, 0x16da: 0x8705, 0x16db: 0x8705, 0x16dc: 0x8685, 0x16dd: 0x8185,
+ 0x16de: 0x8725, 0x16df: 0x8745, 0x16e0: 0x00c0, 0x16e1: 0x8765, 0x16e2: 0x8785, 0x16e3: 0x87a5,
+ 0x16e4: 0x87c5, 0x16e5: 0x87a5, 0x16e6: 0x87e5, 0x16e7: 0x8805, 0x16e8: 0x8825, 0x16e9: 0x8825,
+ 0x16ea: 0x8845, 0x16eb: 0x8845, 0x16ec: 0x8865, 0x16ed: 0x8865, 0x16ee: 0x8845, 0x16ef: 0x8845,
+ 0x16f0: 0x8885, 0x16f1: 0x88a5, 0x16f2: 0x88c5, 0x16f3: 0x88e5, 0x16f4: 0x8905, 0x16f5: 0x8925,
+ 0x16f6: 0x8925, 0x16f7: 0x8925, 0x16f8: 0x8945, 0x16f9: 0x8945, 0x16fa: 0x8945, 0x16fb: 0x8945,
+ 0x16fc: 0x8825, 0x16fd: 0x8825, 0x16fe: 0x8825, 0x16ff: 0x0040,
+ // Block 0x5c, offset 0x1700
+ 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8785, 0x1703: 0x8765, 0x1704: 0x8965, 0x1705: 0x8765,
+ 0x1706: 0x8785, 0x1707: 0x8765, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8985, 0x170b: 0x8785,
+ 0x170c: 0x89a5, 0x170d: 0x8965, 0x170e: 0x89a5, 0x170f: 0x8785, 0x1710: 0x0040, 0x1711: 0x0040,
+ 0x1712: 0x89c5, 0x1713: 0x89e5, 0x1714: 0x88e5, 0x1715: 0x89a5, 0x1716: 0x8965, 0x1717: 0x89a5,
+ 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8a05, 0x171b: 0x8a25, 0x171c: 0x8a05, 0x171d: 0x0040,
+ 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0x21f9, 0x1721: 0x2201, 0x1722: 0x2209, 0x1723: 0x8a45,
+ 0x1724: 0x2211, 0x1725: 0x2219, 0x1726: 0x8a65, 0x1727: 0x0040, 0x1728: 0x8a85, 0x1729: 0x8aa5,
+ 0x172a: 0x8ac5, 0x172b: 0x8aa5, 0x172c: 0x8ae5, 0x172d: 0x8b05, 0x172e: 0x8b25, 0x172f: 0x0040,
+ 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040,
+ 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340,
+ 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,
+ // Block 0x5d, offset 0x1740
+ 0x1740: 0x0008, 0x1741: 0x0008, 0x1742: 0x0008, 0x1743: 0x0008, 0x1744: 0x0008, 0x1745: 0x0008,
+ 0x1746: 0x0008, 0x1747: 0x0008, 0x1748: 0x0008, 0x1749: 0x0008, 0x174a: 0x0008, 0x174b: 0x0008,
+ 0x174c: 0x0008, 0x174d: 0x0008, 0x174e: 0x0008, 0x174f: 0x0008, 0x1750: 0x0008, 0x1751: 0x0008,
+ 0x1752: 0x0008, 0x1753: 0x0008, 0x1754: 0x0008, 0x1755: 0x0008, 0x1756: 0x0008, 0x1757: 0x0008,
+ 0x1758: 0x0008, 0x1759: 0x0008, 0x175a: 0x0008, 0x175b: 0x0008, 0x175c: 0x0008, 0x175d: 0x0008,
+ 0x175e: 0x0008, 0x175f: 0x0008, 0x1760: 0x0008, 0x1761: 0x0008, 0x1762: 0x0008, 0x1763: 0x0008,
+ 0x1764: 0x0040, 0x1765: 0x0040, 0x1766: 0x0040, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040,
+ 0x176a: 0x0040, 0x176b: 0x0040, 0x176c: 0x0040, 0x176d: 0x0040, 0x176e: 0x0040, 0x176f: 0x0018,
+ 0x1770: 0x8b75, 0x1771: 0x8b8d, 0x1772: 0x8ba5, 0x1773: 0x8b8d, 0x1774: 0x8bbd, 0x1775: 0x8b8d,
+ 0x1776: 0x8ba5, 0x1777: 0x8b8d, 0x1778: 0x8b75, 0x1779: 0x8bd5, 0x177a: 0x8bed, 0x177b: 0x0040,
+ 0x177c: 0x8c05, 0x177d: 0x8bd5, 0x177e: 0x8bed, 0x177f: 0x8bd5,
+ // Block 0x5e, offset 0x1780
+ 0x1780: 0xe13d, 0x1781: 0xe14d, 0x1782: 0xe15d, 0x1783: 0xe14d, 0x1784: 0xe17d, 0x1785: 0xe14d,
+ 0x1786: 0xe15d, 0x1787: 0xe14d, 0x1788: 0xe13d, 0x1789: 0xe1cd, 0x178a: 0xe1dd, 0x178b: 0x0040,
+ 0x178c: 0xe1fd, 0x178d: 0xe1cd, 0x178e: 0xe1dd, 0x178f: 0xe1cd, 0x1790: 0xe13d, 0x1791: 0xe14d,
+ 0x1792: 0xe15d, 0x1793: 0x0040, 0x1794: 0xe17d, 0x1795: 0xe14d, 0x1796: 0x0040, 0x1797: 0x0008,
+ 0x1798: 0x0008, 0x1799: 0x0008, 0x179a: 0x0008, 0x179b: 0x0008, 0x179c: 0x0008, 0x179d: 0x0008,
+ 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x0040, 0x17a3: 0x0008,
+ 0x17a4: 0x0008, 0x17a5: 0x0008, 0x17a6: 0x0008, 0x17a7: 0x0008, 0x17a8: 0x0008, 0x17a9: 0x0008,
+ 0x17aa: 0x0008, 0x17ab: 0x0008, 0x17ac: 0x0008, 0x17ad: 0x0008, 0x17ae: 0x0008, 0x17af: 0x0008,
+ 0x17b0: 0x0008, 0x17b1: 0x0008, 0x17b2: 0x0040, 0x17b3: 0x0008, 0x17b4: 0x0008, 0x17b5: 0x0008,
+ 0x17b6: 0x0008, 0x17b7: 0x0008, 0x17b8: 0x0008, 0x17b9: 0x0008, 0x17ba: 0x0040, 0x17bb: 0x0008,
+ 0x17bc: 0x0008, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040,
+ // Block 0x5f, offset 0x17c0
+ 0x17c0: 0x0008, 0x17c1: 0x2221, 0x17c2: 0x2229, 0x17c3: 0x02e1, 0x17c4: 0x2231, 0x17c5: 0x2239,
+ 0x17c6: 0x0040, 0x17c7: 0x2241, 0x17c8: 0x2249, 0x17c9: 0x2251, 0x17ca: 0x2259, 0x17cb: 0x2261,
+ 0x17cc: 0x2269, 0x17cd: 0x2271, 0x17ce: 0x2279, 0x17cf: 0x2281, 0x17d0: 0x2289, 0x17d1: 0x13f1,
+ 0x17d2: 0x2291, 0x17d3: 0x2299, 0x17d4: 0x22a1, 0x17d5: 0x0741, 0x17d6: 0x22a9, 0x17d7: 0x22b1,
+ 0x17d8: 0x22b9, 0x17d9: 0x22c1, 0x17da: 0x22c9, 0x17db: 0x13d9, 0x17dc: 0x8c1d, 0x17dd: 0x22d1,
+ 0x17de: 0x22d9, 0x17df: 0x8c3d, 0x17e0: 0x22e1, 0x17e1: 0x8c5d, 0x17e2: 0x22e9, 0x17e3: 0x22f1,
+ 0x17e4: 0x22f9, 0x17e5: 0x0751, 0x17e6: 0x2301, 0x17e7: 0x8c7d, 0x17e8: 0x0949, 0x17e9: 0x2309,
+ 0x17ea: 0x2311, 0x17eb: 0x2319, 0x17ec: 0x2321, 0x17ed: 0x2329, 0x17ee: 0x2331, 0x17ef: 0x2339,
+ 0x17f0: 0x2341, 0x17f1: 0x0040, 0x17f2: 0x2349, 0x17f3: 0x2351, 0x17f4: 0x2359, 0x17f5: 0x2361,
+ 0x17f6: 0x2369, 0x17f7: 0x2371, 0x17f8: 0x2379, 0x17f9: 0x8c9d, 0x17fa: 0x8cbd, 0x17fb: 0x0040,
+ 0x17fc: 0x0040, 0x17fd: 0x0040, 0x17fe: 0x0040, 0x17ff: 0x0040,
+ // Block 0x60, offset 0x1800
+ 0x1800: 0x0a08, 0x1801: 0x0a08, 0x1802: 0x0a08, 0x1803: 0x0a08, 0x1804: 0x0a08, 0x1805: 0x0c08,
+ 0x1806: 0x0808, 0x1807: 0x0c08, 0x1808: 0x0818, 0x1809: 0x0c08, 0x180a: 0x0c08, 0x180b: 0x0808,
+ 0x180c: 0x0808, 0x180d: 0x0908, 0x180e: 0x0c08, 0x180f: 0x0c08, 0x1810: 0x0c08, 0x1811: 0x0c08,
+ 0x1812: 0x0c08, 0x1813: 0x0a08, 0x1814: 0x0a08, 0x1815: 0x0a08, 0x1816: 0x0a08, 0x1817: 0x0908,
+ 0x1818: 0x0a08, 0x1819: 0x0a08, 0x181a: 0x0a08, 0x181b: 0x0a08, 0x181c: 0x0a08, 0x181d: 0x0c08,
+ 0x181e: 0x0a08, 0x181f: 0x0a08, 0x1820: 0x0a08, 0x1821: 0x0c08, 0x1822: 0x0808, 0x1823: 0x0808,
+ 0x1824: 0x0c08, 0x1825: 0x3308, 0x1826: 0x3308, 0x1827: 0x0040, 0x1828: 0x0040, 0x1829: 0x0040,
+ 0x182a: 0x0040, 0x182b: 0x0a18, 0x182c: 0x0a18, 0x182d: 0x0a18, 0x182e: 0x0a18, 0x182f: 0x0c18,
+ 0x1830: 0x0818, 0x1831: 0x0818, 0x1832: 0x0818, 0x1833: 0x0818, 0x1834: 0x0818, 0x1835: 0x0818,
+ 0x1836: 0x0818, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040,
+ 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040,
+ // Block 0x61, offset 0x1840
+ 0x1840: 0x0a08, 0x1841: 0x0c08, 0x1842: 0x0a08, 0x1843: 0x0c08, 0x1844: 0x0c08, 0x1845: 0x0c08,
+ 0x1846: 0x0a08, 0x1847: 0x0a08, 0x1848: 0x0a08, 0x1849: 0x0c08, 0x184a: 0x0a08, 0x184b: 0x0a08,
+ 0x184c: 0x0c08, 0x184d: 0x0a08, 0x184e: 0x0c08, 0x184f: 0x0c08, 0x1850: 0x0a08, 0x1851: 0x0c08,
+ 0x1852: 0x0040, 0x1853: 0x0040, 0x1854: 0x0040, 0x1855: 0x0040, 0x1856: 0x0040, 0x1857: 0x0040,
+ 0x1858: 0x0040, 0x1859: 0x0818, 0x185a: 0x0818, 0x185b: 0x0818, 0x185c: 0x0818, 0x185d: 0x0040,
+ 0x185e: 0x0040, 0x185f: 0x0040, 0x1860: 0x0040, 0x1861: 0x0040, 0x1862: 0x0040, 0x1863: 0x0040,
+ 0x1864: 0x0040, 0x1865: 0x0040, 0x1866: 0x0040, 0x1867: 0x0040, 0x1868: 0x0040, 0x1869: 0x0c18,
+ 0x186a: 0x0c18, 0x186b: 0x0c18, 0x186c: 0x0c18, 0x186d: 0x0a18, 0x186e: 0x0a18, 0x186f: 0x0818,
+ 0x1870: 0x0040, 0x1871: 0x0040, 0x1872: 0x0040, 0x1873: 0x0040, 0x1874: 0x0040, 0x1875: 0x0040,
+ 0x1876: 0x0040, 0x1877: 0x0040, 0x1878: 0x0040, 0x1879: 0x0040, 0x187a: 0x0040, 0x187b: 0x0040,
+ 0x187c: 0x0040, 0x187d: 0x0040, 0x187e: 0x0040, 0x187f: 0x0040,
+ // Block 0x62, offset 0x1880
+ 0x1880: 0x3308, 0x1881: 0x3308, 0x1882: 0x3008, 0x1883: 0x3008, 0x1884: 0x0040, 0x1885: 0x0008,
+ 0x1886: 0x0008, 0x1887: 0x0008, 0x1888: 0x0008, 0x1889: 0x0008, 0x188a: 0x0008, 0x188b: 0x0008,
+ 0x188c: 0x0008, 0x188d: 0x0040, 0x188e: 0x0040, 0x188f: 0x0008, 0x1890: 0x0008, 0x1891: 0x0040,
+ 0x1892: 0x0040, 0x1893: 0x0008, 0x1894: 0x0008, 0x1895: 0x0008, 0x1896: 0x0008, 0x1897: 0x0008,
+ 0x1898: 0x0008, 0x1899: 0x0008, 0x189a: 0x0008, 0x189b: 0x0008, 0x189c: 0x0008, 0x189d: 0x0008,
+ 0x189e: 0x0008, 0x189f: 0x0008, 0x18a0: 0x0008, 0x18a1: 0x0008, 0x18a2: 0x0008, 0x18a3: 0x0008,
+ 0x18a4: 0x0008, 0x18a5: 0x0008, 0x18a6: 0x0008, 0x18a7: 0x0008, 0x18a8: 0x0008, 0x18a9: 0x0040,
+ 0x18aa: 0x0008, 0x18ab: 0x0008, 0x18ac: 0x0008, 0x18ad: 0x0008, 0x18ae: 0x0008, 0x18af: 0x0008,
+ 0x18b0: 0x0008, 0x18b1: 0x0040, 0x18b2: 0x0008, 0x18b3: 0x0008, 0x18b4: 0x0040, 0x18b5: 0x0008,
+ 0x18b6: 0x0008, 0x18b7: 0x0008, 0x18b8: 0x0008, 0x18b9: 0x0008, 0x18ba: 0x0040, 0x18bb: 0x3308,
+ 0x18bc: 0x3308, 0x18bd: 0x0008, 0x18be: 0x3008, 0x18bf: 0x3008,
+ // Block 0x63, offset 0x18c0
+ 0x18c0: 0x3308, 0x18c1: 0x3008, 0x18c2: 0x3008, 0x18c3: 0x3008, 0x18c4: 0x3008, 0x18c5: 0x0040,
+ 0x18c6: 0x0040, 0x18c7: 0x3008, 0x18c8: 0x3008, 0x18c9: 0x0040, 0x18ca: 0x0040, 0x18cb: 0x3008,
+ 0x18cc: 0x3008, 0x18cd: 0x3808, 0x18ce: 0x0040, 0x18cf: 0x0040, 0x18d0: 0x0008, 0x18d1: 0x0040,
+ 0x18d2: 0x0040, 0x18d3: 0x0040, 0x18d4: 0x0040, 0x18d5: 0x0040, 0x18d6: 0x0040, 0x18d7: 0x3008,
+ 0x18d8: 0x0040, 0x18d9: 0x0040, 0x18da: 0x0040, 0x18db: 0x0040, 0x18dc: 0x0040, 0x18dd: 0x0008,
+ 0x18de: 0x0008, 0x18df: 0x0008, 0x18e0: 0x0008, 0x18e1: 0x0008, 0x18e2: 0x3008, 0x18e3: 0x3008,
+ 0x18e4: 0x0040, 0x18e5: 0x0040, 0x18e6: 0x3308, 0x18e7: 0x3308, 0x18e8: 0x3308, 0x18e9: 0x3308,
+ 0x18ea: 0x3308, 0x18eb: 0x3308, 0x18ec: 0x3308, 0x18ed: 0x0040, 0x18ee: 0x0040, 0x18ef: 0x0040,
+ 0x18f0: 0x3308, 0x18f1: 0x3308, 0x18f2: 0x3308, 0x18f3: 0x3308, 0x18f4: 0x3308, 0x18f5: 0x0040,
+ 0x18f6: 0x0040, 0x18f7: 0x0040, 0x18f8: 0x0040, 0x18f9: 0x0040, 0x18fa: 0x0040, 0x18fb: 0x0040,
+ 0x18fc: 0x0040, 0x18fd: 0x0040, 0x18fe: 0x0040, 0x18ff: 0x0040,
+ // Block 0x64, offset 0x1900
+ 0x1900: 0x3308, 0x1901: 0x0040, 0x1902: 0x3008, 0x1903: 0x0040, 0x1904: 0x0040, 0x1905: 0x3008,
+ 0x1906: 0x0040, 0x1907: 0x3008, 0x1908: 0x3008, 0x1909: 0x3008, 0x190a: 0x3008, 0x190b: 0x0040,
+ 0x190c: 0x3008, 0x190d: 0x3008, 0x190e: 0x3b08, 0x190f: 0x3808, 0x1910: 0x3b08, 0x1911: 0x0008,
+ 0x1912: 0x3308, 0x1913: 0x0008, 0x1914: 0x0018, 0x1915: 0x0018, 0x1916: 0x0040, 0x1917: 0x0018,
+ 0x1918: 0x0018, 0x1919: 0x0040, 0x191a: 0x0040, 0x191b: 0x0040, 0x191c: 0x0040, 0x191d: 0x0040,
+ 0x191e: 0x0040, 0x191f: 0x0040, 0x1920: 0x0040, 0x1921: 0x3308, 0x1922: 0x3308, 0x1923: 0x0040,
+ 0x1924: 0x0040, 0x1925: 0x0040, 0x1926: 0x0040, 0x1927: 0x0040, 0x1928: 0x0040, 0x1929: 0x0040,
+ 0x192a: 0x0040, 0x192b: 0x0040, 0x192c: 0x0040, 0x192d: 0x0040, 0x192e: 0x0040, 0x192f: 0x0040,
+ 0x1930: 0x0040, 0x1931: 0x0040, 0x1932: 0x0040, 0x1933: 0x0040, 0x1934: 0x0040, 0x1935: 0x0040,
+ 0x1936: 0x0040, 0x1937: 0x0040, 0x1938: 0x0040, 0x1939: 0x0040, 0x193a: 0x0040, 0x193b: 0x0040,
+ 0x193c: 0x0040, 0x193d: 0x0040, 0x193e: 0x0040, 0x193f: 0x0040,
+ // Block 0x65, offset 0x1940
+ 0x1940: 0x0008, 0x1941: 0x0008, 0x1942: 0x0008, 0x1943: 0x0008, 0x1944: 0x0008, 0x1945: 0x0008,
+ 0x1946: 0x0008, 0x1947: 0x0040, 0x1948: 0x0040, 0x1949: 0x0008, 0x194a: 0x0040, 0x194b: 0x0040,
+ 0x194c: 0x0008, 0x194d: 0x0008, 0x194e: 0x0008, 0x194f: 0x0008, 0x1950: 0x0008, 0x1951: 0x0008,
+ 0x1952: 0x0008, 0x1953: 0x0008, 0x1954: 0x0040, 0x1955: 0x0008, 0x1956: 0x0008, 0x1957: 0x0040,
+ 0x1958: 0x0008, 0x1959: 0x0008, 0x195a: 0x0008, 0x195b: 0x0008, 0x195c: 0x0008, 0x195d: 0x0008,
+ 0x195e: 0x0008, 0x195f: 0x0008, 0x1960: 0x0008, 0x1961: 0x0008, 0x1962: 0x0008, 0x1963: 0x0008,
+ 0x1964: 0x0008, 0x1965: 0x0008, 0x1966: 0x0008, 0x1967: 0x0008, 0x1968: 0x0008, 0x1969: 0x0008,
+ 0x196a: 0x0008, 0x196b: 0x0008, 0x196c: 0x0008, 0x196d: 0x0008, 0x196e: 0x0008, 0x196f: 0x0008,
+ 0x1970: 0x3008, 0x1971: 0x3008, 0x1972: 0x3008, 0x1973: 0x3008, 0x1974: 0x3008, 0x1975: 0x3008,
+ 0x1976: 0x0040, 0x1977: 0x3008, 0x1978: 0x3008, 0x1979: 0x0040, 0x197a: 0x0040, 0x197b: 0x3308,
+ 0x197c: 0x3308, 0x197d: 0x3808, 0x197e: 0x3b08, 0x197f: 0x0008,
+ // Block 0x66, offset 0x1980
+ 0x1980: 0x0018, 0x1981: 0x0018, 0x1982: 0x0018, 0x1983: 0x0018, 0x1984: 0x0018, 0x1985: 0x0018,
+ 0x1986: 0x0018, 0x1987: 0x0018, 0x1988: 0x0018, 0x1989: 0x0018, 0x198a: 0x0018, 0x198b: 0x0018,
+ 0x198c: 0x0018, 0x198d: 0x0018, 0x198e: 0x0018, 0x198f: 0x0018, 0x1990: 0x0018, 0x1991: 0x0018,
+ 0x1992: 0x0018, 0x1993: 0x0018, 0x1994: 0x0018, 0x1995: 0x0018, 0x1996: 0x0018, 0x1997: 0x0018,
+ 0x1998: 0x0018, 0x1999: 0x0018, 0x199a: 0x0018, 0x199b: 0x0040, 0x199c: 0x0040, 0x199d: 0x0040,
+ 0x199e: 0x0040, 0x199f: 0x0040, 0x19a0: 0xe0dd, 0x19a1: 0xe0ed, 0x19a2: 0xe0fd, 0x19a3: 0xe0ed,
+ 0x19a4: 0xe0dd, 0x19a5: 0x8cf5, 0x19a6: 0x8d0d, 0x19a7: 0x8cf5, 0x19a8: 0x8d25, 0x19a9: 0x8d3d,
+ 0x19aa: 0x8d55, 0x19ab: 0x8d3d, 0x19ac: 0x8d25, 0x19ad: 0x8cf5, 0x19ae: 0x8d0d, 0x19af: 0x8cf5,
+ 0x19b0: 0x8d6d, 0x19b1: 0x8d85, 0x19b2: 0x8d9d, 0x19b3: 0x8d85, 0x19b4: 0x8d6d, 0x19b5: 0x8cf5,
+ 0x19b6: 0x8d0d, 0x19b7: 0x8cf5, 0x19b8: 0x8d25, 0x19b9: 0x0040, 0x19ba: 0x0040, 0x19bb: 0x0008,
+ 0x19bc: 0x0008, 0x19bd: 0x0008, 0x19be: 0x0008, 0x19bf: 0x0008,
+ // Block 0x67, offset 0x19c0
+ 0x19c0: 0x0018, 0x19c1: 0x0018, 0x19c2: 0x0018, 0x19c3: 0x0018, 0x19c4: 0x0018, 0x19c5: 0x0018,
+ 0x19c6: 0x0018, 0x19c7: 0x0018, 0x19c8: 0x0018, 0x19c9: 0x0018, 0x19ca: 0x0018, 0x19cb: 0x0018,
+ 0x19cc: 0x0018, 0x19cd: 0x0018, 0x19ce: 0x0018, 0x19cf: 0x0018, 0x19d0: 0x0018, 0x19d1: 0x0018,
+ 0x19d2: 0x0018, 0x19d3: 0x0018, 0x19d4: 0x0018, 0x19d5: 0x0018, 0x19d6: 0x0019, 0x19d7: 0x02e9,
+ 0x19d8: 0x03d9, 0x19d9: 0x02f1, 0x19da: 0x02f9, 0x19db: 0x03f1, 0x19dc: 0x0309, 0x19dd: 0x00a9,
+ 0x19de: 0x0311, 0x19df: 0x00b1, 0x19e0: 0x0319, 0x19e1: 0x0101, 0x19e2: 0x0321, 0x19e3: 0x0329,
+ 0x19e4: 0x0051, 0x19e5: 0x0339, 0x19e6: 0x0751, 0x19e7: 0x00b9, 0x19e8: 0x0089, 0x19e9: 0x0341,
+ 0x19ea: 0x0349, 0x19eb: 0x0391, 0x19ec: 0x00c1, 0x19ed: 0x0109, 0x19ee: 0x00c9, 0x19ef: 0x04b1,
+ 0x19f0: 0x06e1, 0x19f1: 0x0049, 0x19f2: 0x0029, 0x19f3: 0x0031, 0x19f4: 0x06e9, 0x19f5: 0x06f1,
+ 0x19f6: 0x06f9, 0x19f7: 0x0701, 0x19f8: 0x0709, 0x19f9: 0x0711, 0x19fa: 0x0018, 0x19fb: 0x0018,
+ 0x19fc: 0x0018, 0x19fd: 0x0040, 0x19fe: 0x0040, 0x19ff: 0x0040,
+ // Block 0x68, offset 0x1a00
+ 0x1a00: 0x0019, 0x1a01: 0x02e9, 0x1a02: 0x03d9, 0x1a03: 0x02f1, 0x1a04: 0x02f9, 0x1a05: 0x03f1,
+ 0x1a06: 0x0309, 0x1a07: 0x00a9, 0x1a08: 0x0311, 0x1a09: 0x00b1, 0x1a0a: 0x0319, 0x1a0b: 0x0101,
+ 0x1a0c: 0x0321, 0x1a0d: 0x0329, 0x1a0e: 0x0051, 0x1a0f: 0x0339, 0x1a10: 0x0751, 0x1a11: 0x00b9,
+ 0x1a12: 0x0089, 0x1a13: 0x0341, 0x1a14: 0x0349, 0x1a15: 0x0391, 0x1a16: 0x00c1, 0x1a17: 0x0109,
+ 0x1a18: 0x00c9, 0x1a19: 0x04b1, 0x1a1a: 0x0019, 0x1a1b: 0x02e9, 0x1a1c: 0x03d9, 0x1a1d: 0x02f1,
+ 0x1a1e: 0x02f9, 0x1a1f: 0x03f1, 0x1a20: 0x0309, 0x1a21: 0x00a9, 0x1a22: 0x0311, 0x1a23: 0x00b1,
+ 0x1a24: 0x0319, 0x1a25: 0x0101, 0x1a26: 0x0321, 0x1a27: 0x0329, 0x1a28: 0x0051, 0x1a29: 0x0339,
+ 0x1a2a: 0x0751, 0x1a2b: 0x00b9, 0x1a2c: 0x0089, 0x1a2d: 0x0341, 0x1a2e: 0x0349, 0x1a2f: 0x0391,
+ 0x1a30: 0x00c1, 0x1a31: 0x0109, 0x1a32: 0x00c9, 0x1a33: 0x04b1, 0x1a34: 0x0019, 0x1a35: 0x02e9,
+ 0x1a36: 0x03d9, 0x1a37: 0x02f1, 0x1a38: 0x02f9, 0x1a39: 0x03f1, 0x1a3a: 0x0309, 0x1a3b: 0x00a9,
+ 0x1a3c: 0x0311, 0x1a3d: 0x00b1, 0x1a3e: 0x0319, 0x1a3f: 0x0101,
+ // Block 0x69, offset 0x1a40
+ 0x1a40: 0x0321, 0x1a41: 0x0329, 0x1a42: 0x0051, 0x1a43: 0x0339, 0x1a44: 0x0751, 0x1a45: 0x00b9,
+ 0x1a46: 0x0089, 0x1a47: 0x0341, 0x1a48: 0x0349, 0x1a49: 0x0391, 0x1a4a: 0x00c1, 0x1a4b: 0x0109,
+ 0x1a4c: 0x00c9, 0x1a4d: 0x04b1, 0x1a4e: 0x0019, 0x1a4f: 0x02e9, 0x1a50: 0x03d9, 0x1a51: 0x02f1,
+ 0x1a52: 0x02f9, 0x1a53: 0x03f1, 0x1a54: 0x0309, 0x1a55: 0x0040, 0x1a56: 0x0311, 0x1a57: 0x00b1,
+ 0x1a58: 0x0319, 0x1a59: 0x0101, 0x1a5a: 0x0321, 0x1a5b: 0x0329, 0x1a5c: 0x0051, 0x1a5d: 0x0339,
+ 0x1a5e: 0x0751, 0x1a5f: 0x00b9, 0x1a60: 0x0089, 0x1a61: 0x0341, 0x1a62: 0x0349, 0x1a63: 0x0391,
+ 0x1a64: 0x00c1, 0x1a65: 0x0109, 0x1a66: 0x00c9, 0x1a67: 0x04b1, 0x1a68: 0x0019, 0x1a69: 0x02e9,
+ 0x1a6a: 0x03d9, 0x1a6b: 0x02f1, 0x1a6c: 0x02f9, 0x1a6d: 0x03f1, 0x1a6e: 0x0309, 0x1a6f: 0x00a9,
+ 0x1a70: 0x0311, 0x1a71: 0x00b1, 0x1a72: 0x0319, 0x1a73: 0x0101, 0x1a74: 0x0321, 0x1a75: 0x0329,
+ 0x1a76: 0x0051, 0x1a77: 0x0339, 0x1a78: 0x0751, 0x1a79: 0x00b9, 0x1a7a: 0x0089, 0x1a7b: 0x0341,
+ 0x1a7c: 0x0349, 0x1a7d: 0x0391, 0x1a7e: 0x00c1, 0x1a7f: 0x0109,
+ // Block 0x6a, offset 0x1a80
+ 0x1a80: 0x00c9, 0x1a81: 0x04b1, 0x1a82: 0x0019, 0x1a83: 0x02e9, 0x1a84: 0x03d9, 0x1a85: 0x02f1,
+ 0x1a86: 0x02f9, 0x1a87: 0x03f1, 0x1a88: 0x0309, 0x1a89: 0x00a9, 0x1a8a: 0x0311, 0x1a8b: 0x00b1,
+ 0x1a8c: 0x0319, 0x1a8d: 0x0101, 0x1a8e: 0x0321, 0x1a8f: 0x0329, 0x1a90: 0x0051, 0x1a91: 0x0339,
+ 0x1a92: 0x0751, 0x1a93: 0x00b9, 0x1a94: 0x0089, 0x1a95: 0x0341, 0x1a96: 0x0349, 0x1a97: 0x0391,
+ 0x1a98: 0x00c1, 0x1a99: 0x0109, 0x1a9a: 0x00c9, 0x1a9b: 0x04b1, 0x1a9c: 0x0019, 0x1a9d: 0x0040,
+ 0x1a9e: 0x03d9, 0x1a9f: 0x02f1, 0x1aa0: 0x0040, 0x1aa1: 0x0040, 0x1aa2: 0x0309, 0x1aa3: 0x0040,
+ 0x1aa4: 0x0040, 0x1aa5: 0x00b1, 0x1aa6: 0x0319, 0x1aa7: 0x0040, 0x1aa8: 0x0040, 0x1aa9: 0x0329,
+ 0x1aaa: 0x0051, 0x1aab: 0x0339, 0x1aac: 0x0751, 0x1aad: 0x0040, 0x1aae: 0x0089, 0x1aaf: 0x0341,
+ 0x1ab0: 0x0349, 0x1ab1: 0x0391, 0x1ab2: 0x00c1, 0x1ab3: 0x0109, 0x1ab4: 0x00c9, 0x1ab5: 0x04b1,
+ 0x1ab6: 0x0019, 0x1ab7: 0x02e9, 0x1ab8: 0x03d9, 0x1ab9: 0x02f1, 0x1aba: 0x0040, 0x1abb: 0x03f1,
+ 0x1abc: 0x0040, 0x1abd: 0x00a9, 0x1abe: 0x0311, 0x1abf: 0x00b1,
+ // Block 0x6b, offset 0x1ac0
+ 0x1ac0: 0x0319, 0x1ac1: 0x0101, 0x1ac2: 0x0321, 0x1ac3: 0x0329, 0x1ac4: 0x0040, 0x1ac5: 0x0339,
+ 0x1ac6: 0x0751, 0x1ac7: 0x00b9, 0x1ac8: 0x0089, 0x1ac9: 0x0341, 0x1aca: 0x0349, 0x1acb: 0x0391,
+ 0x1acc: 0x00c1, 0x1acd: 0x0109, 0x1ace: 0x00c9, 0x1acf: 0x04b1, 0x1ad0: 0x0019, 0x1ad1: 0x02e9,
+ 0x1ad2: 0x03d9, 0x1ad3: 0x02f1, 0x1ad4: 0x02f9, 0x1ad5: 0x03f1, 0x1ad6: 0x0309, 0x1ad7: 0x00a9,
+ 0x1ad8: 0x0311, 0x1ad9: 0x00b1, 0x1ada: 0x0319, 0x1adb: 0x0101, 0x1adc: 0x0321, 0x1add: 0x0329,
+ 0x1ade: 0x0051, 0x1adf: 0x0339, 0x1ae0: 0x0751, 0x1ae1: 0x00b9, 0x1ae2: 0x0089, 0x1ae3: 0x0341,
+ 0x1ae4: 0x0349, 0x1ae5: 0x0391, 0x1ae6: 0x00c1, 0x1ae7: 0x0109, 0x1ae8: 0x00c9, 0x1ae9: 0x04b1,
+ 0x1aea: 0x0019, 0x1aeb: 0x02e9, 0x1aec: 0x03d9, 0x1aed: 0x02f1, 0x1aee: 0x02f9, 0x1aef: 0x03f1,
+ 0x1af0: 0x0309, 0x1af1: 0x00a9, 0x1af2: 0x0311, 0x1af3: 0x00b1, 0x1af4: 0x0319, 0x1af5: 0x0101,
+ 0x1af6: 0x0321, 0x1af7: 0x0329, 0x1af8: 0x0051, 0x1af9: 0x0339, 0x1afa: 0x0751, 0x1afb: 0x00b9,
+ 0x1afc: 0x0089, 0x1afd: 0x0341, 0x1afe: 0x0349, 0x1aff: 0x0391,
+ // Block 0x6c, offset 0x1b00
+ 0x1b00: 0x00c1, 0x1b01: 0x0109, 0x1b02: 0x00c9, 0x1b03: 0x04b1, 0x1b04: 0x0019, 0x1b05: 0x02e9,
+ 0x1b06: 0x0040, 0x1b07: 0x02f1, 0x1b08: 0x02f9, 0x1b09: 0x03f1, 0x1b0a: 0x0309, 0x1b0b: 0x0040,
+ 0x1b0c: 0x0040, 0x1b0d: 0x00b1, 0x1b0e: 0x0319, 0x1b0f: 0x0101, 0x1b10: 0x0321, 0x1b11: 0x0329,
+ 0x1b12: 0x0051, 0x1b13: 0x0339, 0x1b14: 0x0751, 0x1b15: 0x0040, 0x1b16: 0x0089, 0x1b17: 0x0341,
+ 0x1b18: 0x0349, 0x1b19: 0x0391, 0x1b1a: 0x00c1, 0x1b1b: 0x0109, 0x1b1c: 0x00c9, 0x1b1d: 0x0040,
+ 0x1b1e: 0x0019, 0x1b1f: 0x02e9, 0x1b20: 0x03d9, 0x1b21: 0x02f1, 0x1b22: 0x02f9, 0x1b23: 0x03f1,
+ 0x1b24: 0x0309, 0x1b25: 0x00a9, 0x1b26: 0x0311, 0x1b27: 0x00b1, 0x1b28: 0x0319, 0x1b29: 0x0101,
+ 0x1b2a: 0x0321, 0x1b2b: 0x0329, 0x1b2c: 0x0051, 0x1b2d: 0x0339, 0x1b2e: 0x0751, 0x1b2f: 0x00b9,
+ 0x1b30: 0x0089, 0x1b31: 0x0341, 0x1b32: 0x0349, 0x1b33: 0x0391, 0x1b34: 0x00c1, 0x1b35: 0x0109,
+ 0x1b36: 0x00c9, 0x1b37: 0x04b1, 0x1b38: 0x0019, 0x1b39: 0x02e9, 0x1b3a: 0x0040, 0x1b3b: 0x02f1,
+ 0x1b3c: 0x02f9, 0x1b3d: 0x03f1, 0x1b3e: 0x0309, 0x1b3f: 0x0040,
+ // Block 0x6d, offset 0x1b40
+ 0x1b40: 0x0311, 0x1b41: 0x00b1, 0x1b42: 0x0319, 0x1b43: 0x0101, 0x1b44: 0x0321, 0x1b45: 0x0040,
+ 0x1b46: 0x0051, 0x1b47: 0x0040, 0x1b48: 0x0040, 0x1b49: 0x0040, 0x1b4a: 0x0089, 0x1b4b: 0x0341,
+ 0x1b4c: 0x0349, 0x1b4d: 0x0391, 0x1b4e: 0x00c1, 0x1b4f: 0x0109, 0x1b50: 0x00c9, 0x1b51: 0x0040,
+ 0x1b52: 0x0019, 0x1b53: 0x02e9, 0x1b54: 0x03d9, 0x1b55: 0x02f1, 0x1b56: 0x02f9, 0x1b57: 0x03f1,
+ 0x1b58: 0x0309, 0x1b59: 0x00a9, 0x1b5a: 0x0311, 0x1b5b: 0x00b1, 0x1b5c: 0x0319, 0x1b5d: 0x0101,
+ 0x1b5e: 0x0321, 0x1b5f: 0x0329, 0x1b60: 0x0051, 0x1b61: 0x0339, 0x1b62: 0x0751, 0x1b63: 0x00b9,
+ 0x1b64: 0x0089, 0x1b65: 0x0341, 0x1b66: 0x0349, 0x1b67: 0x0391, 0x1b68: 0x00c1, 0x1b69: 0x0109,
+ 0x1b6a: 0x00c9, 0x1b6b: 0x04b1, 0x1b6c: 0x0019, 0x1b6d: 0x02e9, 0x1b6e: 0x03d9, 0x1b6f: 0x02f1,
+ 0x1b70: 0x02f9, 0x1b71: 0x03f1, 0x1b72: 0x0309, 0x1b73: 0x00a9, 0x1b74: 0x0311, 0x1b75: 0x00b1,
+ 0x1b76: 0x0319, 0x1b77: 0x0101, 0x1b78: 0x0321, 0x1b79: 0x0329, 0x1b7a: 0x0051, 0x1b7b: 0x0339,
+ 0x1b7c: 0x0751, 0x1b7d: 0x00b9, 0x1b7e: 0x0089, 0x1b7f: 0x0341,
+ // Block 0x6e, offset 0x1b80
+ 0x1b80: 0x0349, 0x1b81: 0x0391, 0x1b82: 0x00c1, 0x1b83: 0x0109, 0x1b84: 0x00c9, 0x1b85: 0x04b1,
+ 0x1b86: 0x0019, 0x1b87: 0x02e9, 0x1b88: 0x03d9, 0x1b89: 0x02f1, 0x1b8a: 0x02f9, 0x1b8b: 0x03f1,
+ 0x1b8c: 0x0309, 0x1b8d: 0x00a9, 0x1b8e: 0x0311, 0x1b8f: 0x00b1, 0x1b90: 0x0319, 0x1b91: 0x0101,
+ 0x1b92: 0x0321, 0x1b93: 0x0329, 0x1b94: 0x0051, 0x1b95: 0x0339, 0x1b96: 0x0751, 0x1b97: 0x00b9,
+ 0x1b98: 0x0089, 0x1b99: 0x0341, 0x1b9a: 0x0349, 0x1b9b: 0x0391, 0x1b9c: 0x00c1, 0x1b9d: 0x0109,
+ 0x1b9e: 0x00c9, 0x1b9f: 0x04b1, 0x1ba0: 0x0019, 0x1ba1: 0x02e9, 0x1ba2: 0x03d9, 0x1ba3: 0x02f1,
+ 0x1ba4: 0x02f9, 0x1ba5: 0x03f1, 0x1ba6: 0x0309, 0x1ba7: 0x00a9, 0x1ba8: 0x0311, 0x1ba9: 0x00b1,
+ 0x1baa: 0x0319, 0x1bab: 0x0101, 0x1bac: 0x0321, 0x1bad: 0x0329, 0x1bae: 0x0051, 0x1baf: 0x0339,
+ 0x1bb0: 0x0751, 0x1bb1: 0x00b9, 0x1bb2: 0x0089, 0x1bb3: 0x0341, 0x1bb4: 0x0349, 0x1bb5: 0x0391,
+ 0x1bb6: 0x00c1, 0x1bb7: 0x0109, 0x1bb8: 0x00c9, 0x1bb9: 0x04b1, 0x1bba: 0x0019, 0x1bbb: 0x02e9,
+ 0x1bbc: 0x03d9, 0x1bbd: 0x02f1, 0x1bbe: 0x02f9, 0x1bbf: 0x03f1,
+ // Block 0x6f, offset 0x1bc0
+ 0x1bc0: 0x0309, 0x1bc1: 0x00a9, 0x1bc2: 0x0311, 0x1bc3: 0x00b1, 0x1bc4: 0x0319, 0x1bc5: 0x0101,
+ 0x1bc6: 0x0321, 0x1bc7: 0x0329, 0x1bc8: 0x0051, 0x1bc9: 0x0339, 0x1bca: 0x0751, 0x1bcb: 0x00b9,
+ 0x1bcc: 0x0089, 0x1bcd: 0x0341, 0x1bce: 0x0349, 0x1bcf: 0x0391, 0x1bd0: 0x00c1, 0x1bd1: 0x0109,
+ 0x1bd2: 0x00c9, 0x1bd3: 0x04b1, 0x1bd4: 0x0019, 0x1bd5: 0x02e9, 0x1bd6: 0x03d9, 0x1bd7: 0x02f1,
+ 0x1bd8: 0x02f9, 0x1bd9: 0x03f1, 0x1bda: 0x0309, 0x1bdb: 0x00a9, 0x1bdc: 0x0311, 0x1bdd: 0x00b1,
+ 0x1bde: 0x0319, 0x1bdf: 0x0101, 0x1be0: 0x0321, 0x1be1: 0x0329, 0x1be2: 0x0051, 0x1be3: 0x0339,
+ 0x1be4: 0x0751, 0x1be5: 0x00b9, 0x1be6: 0x0089, 0x1be7: 0x0341, 0x1be8: 0x0349, 0x1be9: 0x0391,
+ 0x1bea: 0x00c1, 0x1beb: 0x0109, 0x1bec: 0x00c9, 0x1bed: 0x04b1, 0x1bee: 0x0019, 0x1bef: 0x02e9,
+ 0x1bf0: 0x03d9, 0x1bf1: 0x02f1, 0x1bf2: 0x02f9, 0x1bf3: 0x03f1, 0x1bf4: 0x0309, 0x1bf5: 0x00a9,
+ 0x1bf6: 0x0311, 0x1bf7: 0x00b1, 0x1bf8: 0x0319, 0x1bf9: 0x0101, 0x1bfa: 0x0321, 0x1bfb: 0x0329,
+ 0x1bfc: 0x0051, 0x1bfd: 0x0339, 0x1bfe: 0x0751, 0x1bff: 0x00b9,
+ // Block 0x70, offset 0x1c00
+ 0x1c00: 0x0089, 0x1c01: 0x0341, 0x1c02: 0x0349, 0x1c03: 0x0391, 0x1c04: 0x00c1, 0x1c05: 0x0109,
+ 0x1c06: 0x00c9, 0x1c07: 0x04b1, 0x1c08: 0x0019, 0x1c09: 0x02e9, 0x1c0a: 0x03d9, 0x1c0b: 0x02f1,
+ 0x1c0c: 0x02f9, 0x1c0d: 0x03f1, 0x1c0e: 0x0309, 0x1c0f: 0x00a9, 0x1c10: 0x0311, 0x1c11: 0x00b1,
+ 0x1c12: 0x0319, 0x1c13: 0x0101, 0x1c14: 0x0321, 0x1c15: 0x0329, 0x1c16: 0x0051, 0x1c17: 0x0339,
+ 0x1c18: 0x0751, 0x1c19: 0x00b9, 0x1c1a: 0x0089, 0x1c1b: 0x0341, 0x1c1c: 0x0349, 0x1c1d: 0x0391,
+ 0x1c1e: 0x00c1, 0x1c1f: 0x0109, 0x1c20: 0x00c9, 0x1c21: 0x04b1, 0x1c22: 0x0019, 0x1c23: 0x02e9,
+ 0x1c24: 0x03d9, 0x1c25: 0x02f1, 0x1c26: 0x02f9, 0x1c27: 0x03f1, 0x1c28: 0x0309, 0x1c29: 0x00a9,
+ 0x1c2a: 0x0311, 0x1c2b: 0x00b1, 0x1c2c: 0x0319, 0x1c2d: 0x0101, 0x1c2e: 0x0321, 0x1c2f: 0x0329,
+ 0x1c30: 0x0051, 0x1c31: 0x0339, 0x1c32: 0x0751, 0x1c33: 0x00b9, 0x1c34: 0x0089, 0x1c35: 0x0341,
+ 0x1c36: 0x0349, 0x1c37: 0x0391, 0x1c38: 0x00c1, 0x1c39: 0x0109, 0x1c3a: 0x00c9, 0x1c3b: 0x04b1,
+ 0x1c3c: 0x0019, 0x1c3d: 0x02e9, 0x1c3e: 0x03d9, 0x1c3f: 0x02f1,
+ // Block 0x71, offset 0x1c40
+ 0x1c40: 0x02f9, 0x1c41: 0x03f1, 0x1c42: 0x0309, 0x1c43: 0x00a9, 0x1c44: 0x0311, 0x1c45: 0x00b1,
+ 0x1c46: 0x0319, 0x1c47: 0x0101, 0x1c48: 0x0321, 0x1c49: 0x0329, 0x1c4a: 0x0051, 0x1c4b: 0x0339,
+ 0x1c4c: 0x0751, 0x1c4d: 0x00b9, 0x1c4e: 0x0089, 0x1c4f: 0x0341, 0x1c50: 0x0349, 0x1c51: 0x0391,
+ 0x1c52: 0x00c1, 0x1c53: 0x0109, 0x1c54: 0x00c9, 0x1c55: 0x04b1, 0x1c56: 0x0019, 0x1c57: 0x02e9,
+ 0x1c58: 0x03d9, 0x1c59: 0x02f1, 0x1c5a: 0x02f9, 0x1c5b: 0x03f1, 0x1c5c: 0x0309, 0x1c5d: 0x00a9,
+ 0x1c5e: 0x0311, 0x1c5f: 0x00b1, 0x1c60: 0x0319, 0x1c61: 0x0101, 0x1c62: 0x0321, 0x1c63: 0x0329,
+ 0x1c64: 0x0051, 0x1c65: 0x0339, 0x1c66: 0x0751, 0x1c67: 0x00b9, 0x1c68: 0x0089, 0x1c69: 0x0341,
+ 0x1c6a: 0x0349, 0x1c6b: 0x0391, 0x1c6c: 0x00c1, 0x1c6d: 0x0109, 0x1c6e: 0x00c9, 0x1c6f: 0x04b1,
+ 0x1c70: 0x0019, 0x1c71: 0x02e9, 0x1c72: 0x03d9, 0x1c73: 0x02f1, 0x1c74: 0x02f9, 0x1c75: 0x03f1,
+ 0x1c76: 0x0309, 0x1c77: 0x00a9, 0x1c78: 0x0311, 0x1c79: 0x00b1, 0x1c7a: 0x0319, 0x1c7b: 0x0101,
+ 0x1c7c: 0x0321, 0x1c7d: 0x0329, 0x1c7e: 0x0051, 0x1c7f: 0x0339,
+ // Block 0x72, offset 0x1c80
+ 0x1c80: 0x0751, 0x1c81: 0x00b9, 0x1c82: 0x0089, 0x1c83: 0x0341, 0x1c84: 0x0349, 0x1c85: 0x0391,
+ 0x1c86: 0x00c1, 0x1c87: 0x0109, 0x1c88: 0x00c9, 0x1c89: 0x04b1, 0x1c8a: 0x0019, 0x1c8b: 0x02e9,
+ 0x1c8c: 0x03d9, 0x1c8d: 0x02f1, 0x1c8e: 0x02f9, 0x1c8f: 0x03f1, 0x1c90: 0x0309, 0x1c91: 0x00a9,
+ 0x1c92: 0x0311, 0x1c93: 0x00b1, 0x1c94: 0x0319, 0x1c95: 0x0101, 0x1c96: 0x0321, 0x1c97: 0x0329,
+ 0x1c98: 0x0051, 0x1c99: 0x0339, 0x1c9a: 0x0751, 0x1c9b: 0x00b9, 0x1c9c: 0x0089, 0x1c9d: 0x0341,
+ 0x1c9e: 0x0349, 0x1c9f: 0x0391, 0x1ca0: 0x00c1, 0x1ca1: 0x0109, 0x1ca2: 0x00c9, 0x1ca3: 0x04b1,
+ 0x1ca4: 0x23e9, 0x1ca5: 0x23f1, 0x1ca6: 0x0040, 0x1ca7: 0x0040, 0x1ca8: 0x23f9, 0x1ca9: 0x0399,
+ 0x1caa: 0x03a1, 0x1cab: 0x03a9, 0x1cac: 0x2401, 0x1cad: 0x2409, 0x1cae: 0x2411, 0x1caf: 0x04d1,
+ 0x1cb0: 0x05f9, 0x1cb1: 0x2419, 0x1cb2: 0x2421, 0x1cb3: 0x2429, 0x1cb4: 0x2431, 0x1cb5: 0x2439,
+ 0x1cb6: 0x2441, 0x1cb7: 0x0799, 0x1cb8: 0x03c1, 0x1cb9: 0x04d1, 0x1cba: 0x2449, 0x1cbb: 0x2451,
+ 0x1cbc: 0x2459, 0x1cbd: 0x03b1, 0x1cbe: 0x03b9, 0x1cbf: 0x2461,
+ // Block 0x73, offset 0x1cc0
+ 0x1cc0: 0x0769, 0x1cc1: 0x2469, 0x1cc2: 0x23f9, 0x1cc3: 0x0399, 0x1cc4: 0x03a1, 0x1cc5: 0x03a9,
+ 0x1cc6: 0x2401, 0x1cc7: 0x2409, 0x1cc8: 0x2411, 0x1cc9: 0x04d1, 0x1cca: 0x05f9, 0x1ccb: 0x2419,
+ 0x1ccc: 0x2421, 0x1ccd: 0x2429, 0x1cce: 0x2431, 0x1ccf: 0x2439, 0x1cd0: 0x2441, 0x1cd1: 0x0799,
+ 0x1cd2: 0x03c1, 0x1cd3: 0x2449, 0x1cd4: 0x2449, 0x1cd5: 0x2451, 0x1cd6: 0x2459, 0x1cd7: 0x03b1,
+ 0x1cd8: 0x03b9, 0x1cd9: 0x2461, 0x1cda: 0x0769, 0x1cdb: 0x2471, 0x1cdc: 0x2401, 0x1cdd: 0x04d1,
+ 0x1cde: 0x2419, 0x1cdf: 0x03b1, 0x1ce0: 0x03c1, 0x1ce1: 0x0799, 0x1ce2: 0x23f9, 0x1ce3: 0x0399,
+ 0x1ce4: 0x03a1, 0x1ce5: 0x03a9, 0x1ce6: 0x2401, 0x1ce7: 0x2409, 0x1ce8: 0x2411, 0x1ce9: 0x04d1,
+ 0x1cea: 0x05f9, 0x1ceb: 0x2419, 0x1cec: 0x2421, 0x1ced: 0x2429, 0x1cee: 0x2431, 0x1cef: 0x2439,
+ 0x1cf0: 0x2441, 0x1cf1: 0x0799, 0x1cf2: 0x03c1, 0x1cf3: 0x04d1, 0x1cf4: 0x2449, 0x1cf5: 0x2451,
+ 0x1cf6: 0x2459, 0x1cf7: 0x03b1, 0x1cf8: 0x03b9, 0x1cf9: 0x2461, 0x1cfa: 0x0769, 0x1cfb: 0x2469,
+ 0x1cfc: 0x23f9, 0x1cfd: 0x0399, 0x1cfe: 0x03a1, 0x1cff: 0x03a9,
+ // Block 0x74, offset 0x1d00
+ 0x1d00: 0x2401, 0x1d01: 0x2409, 0x1d02: 0x2411, 0x1d03: 0x04d1, 0x1d04: 0x05f9, 0x1d05: 0x2419,
+ 0x1d06: 0x2421, 0x1d07: 0x2429, 0x1d08: 0x2431, 0x1d09: 0x2439, 0x1d0a: 0x2441, 0x1d0b: 0x0799,
+ 0x1d0c: 0x03c1, 0x1d0d: 0x2449, 0x1d0e: 0x2449, 0x1d0f: 0x2451, 0x1d10: 0x2459, 0x1d11: 0x03b1,
+ 0x1d12: 0x03b9, 0x1d13: 0x2461, 0x1d14: 0x0769, 0x1d15: 0x2471, 0x1d16: 0x2401, 0x1d17: 0x04d1,
+ 0x1d18: 0x2419, 0x1d19: 0x03b1, 0x1d1a: 0x03c1, 0x1d1b: 0x0799, 0x1d1c: 0x23f9, 0x1d1d: 0x0399,
+ 0x1d1e: 0x03a1, 0x1d1f: 0x03a9, 0x1d20: 0x2401, 0x1d21: 0x2409, 0x1d22: 0x2411, 0x1d23: 0x04d1,
+ 0x1d24: 0x05f9, 0x1d25: 0x2419, 0x1d26: 0x2421, 0x1d27: 0x2429, 0x1d28: 0x2431, 0x1d29: 0x2439,
+ 0x1d2a: 0x2441, 0x1d2b: 0x0799, 0x1d2c: 0x03c1, 0x1d2d: 0x04d1, 0x1d2e: 0x2449, 0x1d2f: 0x2451,
+ 0x1d30: 0x2459, 0x1d31: 0x03b1, 0x1d32: 0x03b9, 0x1d33: 0x2461, 0x1d34: 0x0769, 0x1d35: 0x2469,
+ 0x1d36: 0x23f9, 0x1d37: 0x0399, 0x1d38: 0x03a1, 0x1d39: 0x03a9, 0x1d3a: 0x2401, 0x1d3b: 0x2409,
+ 0x1d3c: 0x2411, 0x1d3d: 0x04d1, 0x1d3e: 0x05f9, 0x1d3f: 0x2419,
+ // Block 0x75, offset 0x1d40
+ 0x1d40: 0x2421, 0x1d41: 0x2429, 0x1d42: 0x2431, 0x1d43: 0x2439, 0x1d44: 0x2441, 0x1d45: 0x0799,
+ 0x1d46: 0x03c1, 0x1d47: 0x2449, 0x1d48: 0x2449, 0x1d49: 0x2451, 0x1d4a: 0x2459, 0x1d4b: 0x03b1,
+ 0x1d4c: 0x03b9, 0x1d4d: 0x2461, 0x1d4e: 0x0769, 0x1d4f: 0x2471, 0x1d50: 0x2401, 0x1d51: 0x04d1,
+ 0x1d52: 0x2419, 0x1d53: 0x03b1, 0x1d54: 0x03c1, 0x1d55: 0x0799, 0x1d56: 0x23f9, 0x1d57: 0x0399,
+ 0x1d58: 0x03a1, 0x1d59: 0x03a9, 0x1d5a: 0x2401, 0x1d5b: 0x2409, 0x1d5c: 0x2411, 0x1d5d: 0x04d1,
+ 0x1d5e: 0x05f9, 0x1d5f: 0x2419, 0x1d60: 0x2421, 0x1d61: 0x2429, 0x1d62: 0x2431, 0x1d63: 0x2439,
+ 0x1d64: 0x2441, 0x1d65: 0x0799, 0x1d66: 0x03c1, 0x1d67: 0x04d1, 0x1d68: 0x2449, 0x1d69: 0x2451,
+ 0x1d6a: 0x2459, 0x1d6b: 0x03b1, 0x1d6c: 0x03b9, 0x1d6d: 0x2461, 0x1d6e: 0x0769, 0x1d6f: 0x2469,
+ 0x1d70: 0x23f9, 0x1d71: 0x0399, 0x1d72: 0x03a1, 0x1d73: 0x03a9, 0x1d74: 0x2401, 0x1d75: 0x2409,
+ 0x1d76: 0x2411, 0x1d77: 0x04d1, 0x1d78: 0x05f9, 0x1d79: 0x2419, 0x1d7a: 0x2421, 0x1d7b: 0x2429,
+ 0x1d7c: 0x2431, 0x1d7d: 0x2439, 0x1d7e: 0x2441, 0x1d7f: 0x0799,
+ // Block 0x76, offset 0x1d80
+ 0x1d80: 0x03c1, 0x1d81: 0x2449, 0x1d82: 0x2449, 0x1d83: 0x2451, 0x1d84: 0x2459, 0x1d85: 0x03b1,
+ 0x1d86: 0x03b9, 0x1d87: 0x2461, 0x1d88: 0x0769, 0x1d89: 0x2471, 0x1d8a: 0x2401, 0x1d8b: 0x04d1,
+ 0x1d8c: 0x2419, 0x1d8d: 0x03b1, 0x1d8e: 0x03c1, 0x1d8f: 0x0799, 0x1d90: 0x23f9, 0x1d91: 0x0399,
+ 0x1d92: 0x03a1, 0x1d93: 0x03a9, 0x1d94: 0x2401, 0x1d95: 0x2409, 0x1d96: 0x2411, 0x1d97: 0x04d1,
+ 0x1d98: 0x05f9, 0x1d99: 0x2419, 0x1d9a: 0x2421, 0x1d9b: 0x2429, 0x1d9c: 0x2431, 0x1d9d: 0x2439,
+ 0x1d9e: 0x2441, 0x1d9f: 0x0799, 0x1da0: 0x03c1, 0x1da1: 0x04d1, 0x1da2: 0x2449, 0x1da3: 0x2451,
+ 0x1da4: 0x2459, 0x1da5: 0x03b1, 0x1da6: 0x03b9, 0x1da7: 0x2461, 0x1da8: 0x0769, 0x1da9: 0x2469,
+ 0x1daa: 0x23f9, 0x1dab: 0x0399, 0x1dac: 0x03a1, 0x1dad: 0x03a9, 0x1dae: 0x2401, 0x1daf: 0x2409,
+ 0x1db0: 0x2411, 0x1db1: 0x04d1, 0x1db2: 0x05f9, 0x1db3: 0x2419, 0x1db4: 0x2421, 0x1db5: 0x2429,
+ 0x1db6: 0x2431, 0x1db7: 0x2439, 0x1db8: 0x2441, 0x1db9: 0x0799, 0x1dba: 0x03c1, 0x1dbb: 0x2449,
+ 0x1dbc: 0x2449, 0x1dbd: 0x2451, 0x1dbe: 0x2459, 0x1dbf: 0x03b1,
+ // Block 0x77, offset 0x1dc0
+ 0x1dc0: 0x03b9, 0x1dc1: 0x2461, 0x1dc2: 0x0769, 0x1dc3: 0x2471, 0x1dc4: 0x2401, 0x1dc5: 0x04d1,
+ 0x1dc6: 0x2419, 0x1dc7: 0x03b1, 0x1dc8: 0x03c1, 0x1dc9: 0x0799, 0x1dca: 0x2479, 0x1dcb: 0x2479,
+ 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x06e1, 0x1dcf: 0x0049, 0x1dd0: 0x0029, 0x1dd1: 0x0031,
+ 0x1dd2: 0x06e9, 0x1dd3: 0x06f1, 0x1dd4: 0x06f9, 0x1dd5: 0x0701, 0x1dd6: 0x0709, 0x1dd7: 0x0711,
+ 0x1dd8: 0x06e1, 0x1dd9: 0x0049, 0x1dda: 0x0029, 0x1ddb: 0x0031, 0x1ddc: 0x06e9, 0x1ddd: 0x06f1,
+ 0x1dde: 0x06f9, 0x1ddf: 0x0701, 0x1de0: 0x0709, 0x1de1: 0x0711, 0x1de2: 0x06e1, 0x1de3: 0x0049,
+ 0x1de4: 0x0029, 0x1de5: 0x0031, 0x1de6: 0x06e9, 0x1de7: 0x06f1, 0x1de8: 0x06f9, 0x1de9: 0x0701,
+ 0x1dea: 0x0709, 0x1deb: 0x0711, 0x1dec: 0x06e1, 0x1ded: 0x0049, 0x1dee: 0x0029, 0x1def: 0x0031,
+ 0x1df0: 0x06e9, 0x1df1: 0x06f1, 0x1df2: 0x06f9, 0x1df3: 0x0701, 0x1df4: 0x0709, 0x1df5: 0x0711,
+ 0x1df6: 0x06e1, 0x1df7: 0x0049, 0x1df8: 0x0029, 0x1df9: 0x0031, 0x1dfa: 0x06e9, 0x1dfb: 0x06f1,
+ 0x1dfc: 0x06f9, 0x1dfd: 0x0701, 0x1dfe: 0x0709, 0x1dff: 0x0711,
+ // Block 0x78, offset 0x1e00
+ 0x1e00: 0x3308, 0x1e01: 0x3308, 0x1e02: 0x3308, 0x1e03: 0x3308, 0x1e04: 0x3308, 0x1e05: 0x3308,
+ 0x1e06: 0x3308, 0x1e07: 0x0040, 0x1e08: 0x3308, 0x1e09: 0x3308, 0x1e0a: 0x3308, 0x1e0b: 0x3308,
+ 0x1e0c: 0x3308, 0x1e0d: 0x3308, 0x1e0e: 0x3308, 0x1e0f: 0x3308, 0x1e10: 0x3308, 0x1e11: 0x3308,
+ 0x1e12: 0x3308, 0x1e13: 0x3308, 0x1e14: 0x3308, 0x1e15: 0x3308, 0x1e16: 0x3308, 0x1e17: 0x3308,
+ 0x1e18: 0x3308, 0x1e19: 0x0040, 0x1e1a: 0x0040, 0x1e1b: 0x3308, 0x1e1c: 0x3308, 0x1e1d: 0x3308,
+ 0x1e1e: 0x3308, 0x1e1f: 0x3308, 0x1e20: 0x3308, 0x1e21: 0x3308, 0x1e22: 0x0040, 0x1e23: 0x3308,
+ 0x1e24: 0x3308, 0x1e25: 0x0040, 0x1e26: 0x3308, 0x1e27: 0x3308, 0x1e28: 0x3308, 0x1e29: 0x3308,
+ 0x1e2a: 0x3308, 0x1e2b: 0x0040, 0x1e2c: 0x0040, 0x1e2d: 0x0040, 0x1e2e: 0x0040, 0x1e2f: 0x0040,
+ 0x1e30: 0x2481, 0x1e31: 0x2489, 0x1e32: 0x02a9, 0x1e33: 0x2491, 0x1e34: 0x02b1, 0x1e35: 0x2499,
+ 0x1e36: 0x24a1, 0x1e37: 0x24a9, 0x1e38: 0x24b1, 0x1e39: 0x24b9, 0x1e3a: 0x24c1, 0x1e3b: 0x24c9,
+ 0x1e3c: 0x02b9, 0x1e3d: 0x24d1, 0x1e3e: 0x24d9, 0x1e3f: 0x02c1,
+ // Block 0x79, offset 0x1e40
+ 0x1e40: 0x02c9, 0x1e41: 0x24e1, 0x1e42: 0x24e9, 0x1e43: 0x24f1, 0x1e44: 0x24f9, 0x1e45: 0x2501,
+ 0x1e46: 0x2509, 0x1e47: 0x2511, 0x1e48: 0x2519, 0x1e49: 0x2521, 0x1e4a: 0x2529, 0x1e4b: 0x2531,
+ 0x1e4c: 0x2539, 0x1e4d: 0x2541, 0x1e4e: 0x2549, 0x1e4f: 0x2551, 0x1e50: 0x2559, 0x1e51: 0x2481,
+ 0x1e52: 0x2489, 0x1e53: 0x02a9, 0x1e54: 0x2491, 0x1e55: 0x02b1, 0x1e56: 0x2499, 0x1e57: 0x24a1,
+ 0x1e58: 0x24a9, 0x1e59: 0x24b1, 0x1e5a: 0x24b9, 0x1e5b: 0x24c1, 0x1e5c: 0x02b9, 0x1e5d: 0x24d1,
+ 0x1e5e: 0x02c1, 0x1e5f: 0x24e1, 0x1e60: 0x24e9, 0x1e61: 0x24f1, 0x1e62: 0x24f9, 0x1e63: 0x2501,
+ 0x1e64: 0x2509, 0x1e65: 0x02d1, 0x1e66: 0x2511, 0x1e67: 0x2561, 0x1e68: 0x2539, 0x1e69: 0x2569,
+ 0x1e6a: 0x2571, 0x1e6b: 0x2579, 0x1e6c: 0x2581, 0x1e6d: 0x2589, 0x1e6e: 0x0040, 0x1e6f: 0x0040,
+ 0x1e70: 0x0040, 0x1e71: 0x0040, 0x1e72: 0x0040, 0x1e73: 0x0040, 0x1e74: 0x0040, 0x1e75: 0x0040,
+ 0x1e76: 0x0040, 0x1e77: 0x0040, 0x1e78: 0x0040, 0x1e79: 0x0040, 0x1e7a: 0x0040, 0x1e7b: 0x0040,
+ 0x1e7c: 0x0040, 0x1e7d: 0x0040, 0x1e7e: 0x0040, 0x1e7f: 0x0040,
+ // Block 0x7a, offset 0x1e80
+ 0x1e80: 0xe115, 0x1e81: 0xe115, 0x1e82: 0xe135, 0x1e83: 0xe135, 0x1e84: 0xe115, 0x1e85: 0xe115,
+ 0x1e86: 0xe175, 0x1e87: 0xe175, 0x1e88: 0xe115, 0x1e89: 0xe115, 0x1e8a: 0xe135, 0x1e8b: 0xe135,
+ 0x1e8c: 0xe115, 0x1e8d: 0xe115, 0x1e8e: 0xe1f5, 0x1e8f: 0xe1f5, 0x1e90: 0xe115, 0x1e91: 0xe115,
+ 0x1e92: 0xe135, 0x1e93: 0xe135, 0x1e94: 0xe115, 0x1e95: 0xe115, 0x1e96: 0xe175, 0x1e97: 0xe175,
+ 0x1e98: 0xe115, 0x1e99: 0xe115, 0x1e9a: 0xe135, 0x1e9b: 0xe135, 0x1e9c: 0xe115, 0x1e9d: 0xe115,
+ 0x1e9e: 0x8db5, 0x1e9f: 0x8db5, 0x1ea0: 0x04b5, 0x1ea1: 0x04b5, 0x1ea2: 0x0a08, 0x1ea3: 0x0a08,
+ 0x1ea4: 0x0a08, 0x1ea5: 0x0a08, 0x1ea6: 0x0a08, 0x1ea7: 0x0a08, 0x1ea8: 0x0a08, 0x1ea9: 0x0a08,
+ 0x1eaa: 0x0a08, 0x1eab: 0x0a08, 0x1eac: 0x0a08, 0x1ead: 0x0a08, 0x1eae: 0x0a08, 0x1eaf: 0x0a08,
+ 0x1eb0: 0x0a08, 0x1eb1: 0x0a08, 0x1eb2: 0x0a08, 0x1eb3: 0x0a08, 0x1eb4: 0x0a08, 0x1eb5: 0x0a08,
+ 0x1eb6: 0x0a08, 0x1eb7: 0x0a08, 0x1eb8: 0x0a08, 0x1eb9: 0x0a08, 0x1eba: 0x0a08, 0x1ebb: 0x0a08,
+ 0x1ebc: 0x0a08, 0x1ebd: 0x0a08, 0x1ebe: 0x0a08, 0x1ebf: 0x0a08,
+ // Block 0x7b, offset 0x1ec0
+ 0x1ec0: 0x20c1, 0x1ec1: 0x20c9, 0x1ec2: 0x20e9, 0x1ec3: 0x2101, 0x1ec4: 0x0040, 0x1ec5: 0x2199,
+ 0x1ec6: 0x2119, 0x1ec7: 0x20f1, 0x1ec8: 0x2141, 0x1ec9: 0x21a1, 0x1eca: 0x2171, 0x1ecb: 0x2179,
+ 0x1ecc: 0x2181, 0x1ecd: 0x2189, 0x1ece: 0x2121, 0x1ecf: 0x2151, 0x1ed0: 0x2161, 0x1ed1: 0x2131,
+ 0x1ed2: 0x2169, 0x1ed3: 0x2111, 0x1ed4: 0x2129, 0x1ed5: 0x20d9, 0x1ed6: 0x20e1, 0x1ed7: 0x20f9,
+ 0x1ed8: 0x2109, 0x1ed9: 0x2139, 0x1eda: 0x2149, 0x1edb: 0x2159, 0x1edc: 0x2591, 0x1edd: 0x1699,
+ 0x1ede: 0x2599, 0x1edf: 0x25a1, 0x1ee0: 0x0040, 0x1ee1: 0x20c9, 0x1ee2: 0x20e9, 0x1ee3: 0x0040,
+ 0x1ee4: 0x2191, 0x1ee5: 0x0040, 0x1ee6: 0x0040, 0x1ee7: 0x20f1, 0x1ee8: 0x0040, 0x1ee9: 0x21a1,
+ 0x1eea: 0x2171, 0x1eeb: 0x2179, 0x1eec: 0x2181, 0x1eed: 0x2189, 0x1eee: 0x2121, 0x1eef: 0x2151,
+ 0x1ef0: 0x2161, 0x1ef1: 0x2131, 0x1ef2: 0x2169, 0x1ef3: 0x0040, 0x1ef4: 0x2129, 0x1ef5: 0x20d9,
+ 0x1ef6: 0x20e1, 0x1ef7: 0x20f9, 0x1ef8: 0x0040, 0x1ef9: 0x2139, 0x1efa: 0x0040, 0x1efb: 0x2159,
+ 0x1efc: 0x0040, 0x1efd: 0x0040, 0x1efe: 0x0040, 0x1eff: 0x0040,
+ // Block 0x7c, offset 0x1f00
+ 0x1f00: 0x0040, 0x1f01: 0x0040, 0x1f02: 0x20e9, 0x1f03: 0x0040, 0x1f04: 0x0040, 0x1f05: 0x0040,
+ 0x1f06: 0x0040, 0x1f07: 0x20f1, 0x1f08: 0x0040, 0x1f09: 0x21a1, 0x1f0a: 0x0040, 0x1f0b: 0x2179,
+ 0x1f0c: 0x0040, 0x1f0d: 0x2189, 0x1f0e: 0x2121, 0x1f0f: 0x2151, 0x1f10: 0x0040, 0x1f11: 0x2131,
+ 0x1f12: 0x2169, 0x1f13: 0x0040, 0x1f14: 0x2129, 0x1f15: 0x0040, 0x1f16: 0x0040, 0x1f17: 0x20f9,
+ 0x1f18: 0x0040, 0x1f19: 0x2139, 0x1f1a: 0x0040, 0x1f1b: 0x2159, 0x1f1c: 0x0040, 0x1f1d: 0x1699,
+ 0x1f1e: 0x0040, 0x1f1f: 0x25a1, 0x1f20: 0x0040, 0x1f21: 0x20c9, 0x1f22: 0x20e9, 0x1f23: 0x0040,
+ 0x1f24: 0x2191, 0x1f25: 0x0040, 0x1f26: 0x0040, 0x1f27: 0x20f1, 0x1f28: 0x2141, 0x1f29: 0x21a1,
+ 0x1f2a: 0x2171, 0x1f2b: 0x0040, 0x1f2c: 0x2181, 0x1f2d: 0x2189, 0x1f2e: 0x2121, 0x1f2f: 0x2151,
+ 0x1f30: 0x2161, 0x1f31: 0x2131, 0x1f32: 0x2169, 0x1f33: 0x0040, 0x1f34: 0x2129, 0x1f35: 0x20d9,
+ 0x1f36: 0x20e1, 0x1f37: 0x20f9, 0x1f38: 0x0040, 0x1f39: 0x2139, 0x1f3a: 0x2149, 0x1f3b: 0x2159,
+ 0x1f3c: 0x2591, 0x1f3d: 0x0040, 0x1f3e: 0x2599, 0x1f3f: 0x0040,
+ // Block 0x7d, offset 0x1f40
+ 0x1f40: 0x20c1, 0x1f41: 0x20c9, 0x1f42: 0x20e9, 0x1f43: 0x2101, 0x1f44: 0x2191, 0x1f45: 0x2199,
+ 0x1f46: 0x2119, 0x1f47: 0x20f1, 0x1f48: 0x2141, 0x1f49: 0x21a1, 0x1f4a: 0x0040, 0x1f4b: 0x2179,
+ 0x1f4c: 0x2181, 0x1f4d: 0x2189, 0x1f4e: 0x2121, 0x1f4f: 0x2151, 0x1f50: 0x2161, 0x1f51: 0x2131,
+ 0x1f52: 0x2169, 0x1f53: 0x2111, 0x1f54: 0x2129, 0x1f55: 0x20d9, 0x1f56: 0x20e1, 0x1f57: 0x20f9,
+ 0x1f58: 0x2109, 0x1f59: 0x2139, 0x1f5a: 0x2149, 0x1f5b: 0x2159, 0x1f5c: 0x0040, 0x1f5d: 0x0040,
+ 0x1f5e: 0x0040, 0x1f5f: 0x0040, 0x1f60: 0x0040, 0x1f61: 0x20c9, 0x1f62: 0x20e9, 0x1f63: 0x2101,
+ 0x1f64: 0x0040, 0x1f65: 0x2199, 0x1f66: 0x2119, 0x1f67: 0x20f1, 0x1f68: 0x2141, 0x1f69: 0x21a1,
+ 0x1f6a: 0x0040, 0x1f6b: 0x2179, 0x1f6c: 0x2181, 0x1f6d: 0x2189, 0x1f6e: 0x2121, 0x1f6f: 0x2151,
+ 0x1f70: 0x2161, 0x1f71: 0x2131, 0x1f72: 0x2169, 0x1f73: 0x2111, 0x1f74: 0x2129, 0x1f75: 0x20d9,
+ 0x1f76: 0x20e1, 0x1f77: 0x20f9, 0x1f78: 0x2109, 0x1f79: 0x2139, 0x1f7a: 0x2149, 0x1f7b: 0x2159,
+ 0x1f7c: 0x0040, 0x1f7d: 0x0040, 0x1f7e: 0x0040, 0x1f7f: 0x0040,
+ // Block 0x7e, offset 0x1f80
+ 0x1f80: 0x0040, 0x1f81: 0x25a9, 0x1f82: 0x25b1, 0x1f83: 0x25b9, 0x1f84: 0x25c1, 0x1f85: 0x25c9,
+ 0x1f86: 0x25d1, 0x1f87: 0x25d9, 0x1f88: 0x25e1, 0x1f89: 0x25e9, 0x1f8a: 0x25f1, 0x1f8b: 0x0018,
+ 0x1f8c: 0x0018, 0x1f8d: 0x0018, 0x1f8e: 0x0018, 0x1f8f: 0x0018, 0x1f90: 0x25f9, 0x1f91: 0x2601,
+ 0x1f92: 0x2609, 0x1f93: 0x2611, 0x1f94: 0x2619, 0x1f95: 0x2621, 0x1f96: 0x2629, 0x1f97: 0x2631,
+ 0x1f98: 0x2639, 0x1f99: 0x2641, 0x1f9a: 0x2649, 0x1f9b: 0x2651, 0x1f9c: 0x2659, 0x1f9d: 0x2661,
+ 0x1f9e: 0x2669, 0x1f9f: 0x2671, 0x1fa0: 0x2679, 0x1fa1: 0x2681, 0x1fa2: 0x2689, 0x1fa3: 0x2691,
+ 0x1fa4: 0x2699, 0x1fa5: 0x26a1, 0x1fa6: 0x26a9, 0x1fa7: 0x26b1, 0x1fa8: 0x26b9, 0x1fa9: 0x26c1,
+ 0x1faa: 0x26c9, 0x1fab: 0x03d9, 0x1fac: 0x00b9, 0x1fad: 0x1239, 0x1fae: 0x26d1, 0x1faf: 0x0018,
+ 0x1fb0: 0x0019, 0x1fb1: 0x02e9, 0x1fb2: 0x03d9, 0x1fb3: 0x02f1, 0x1fb4: 0x02f9, 0x1fb5: 0x03f1,
+ 0x1fb6: 0x0309, 0x1fb7: 0x00a9, 0x1fb8: 0x0311, 0x1fb9: 0x00b1, 0x1fba: 0x0319, 0x1fbb: 0x0101,
+ 0x1fbc: 0x0321, 0x1fbd: 0x0329, 0x1fbe: 0x0051, 0x1fbf: 0x0339,
+ // Block 0x7f, offset 0x1fc0
+ 0x1fc0: 0x0751, 0x1fc1: 0x00b9, 0x1fc2: 0x0089, 0x1fc3: 0x0341, 0x1fc4: 0x0349, 0x1fc5: 0x0391,
+ 0x1fc6: 0x00c1, 0x1fc7: 0x0109, 0x1fc8: 0x00c9, 0x1fc9: 0x04b1, 0x1fca: 0x26d9, 0x1fcb: 0x11f9,
+ 0x1fcc: 0x26e1, 0x1fcd: 0x26e9, 0x1fce: 0x26f1, 0x1fcf: 0x26f9, 0x1fd0: 0x0018, 0x1fd1: 0x0018,
+ 0x1fd2: 0x0018, 0x1fd3: 0x0018, 0x1fd4: 0x0018, 0x1fd5: 0x0018, 0x1fd6: 0x0018, 0x1fd7: 0x0018,
+ 0x1fd8: 0x0018, 0x1fd9: 0x0018, 0x1fda: 0x0018, 0x1fdb: 0x0018, 0x1fdc: 0x0018, 0x1fdd: 0x0018,
+ 0x1fde: 0x0018, 0x1fdf: 0x0018, 0x1fe0: 0x0018, 0x1fe1: 0x0018, 0x1fe2: 0x0018, 0x1fe3: 0x0018,
+ 0x1fe4: 0x0018, 0x1fe5: 0x0018, 0x1fe6: 0x0018, 0x1fe7: 0x0018, 0x1fe8: 0x0018, 0x1fe9: 0x0018,
+ 0x1fea: 0x2701, 0x1feb: 0x2709, 0x1fec: 0x2711, 0x1fed: 0x0018, 0x1fee: 0x0018, 0x1fef: 0x0018,
+ 0x1ff0: 0x0018, 0x1ff1: 0x0018, 0x1ff2: 0x0018, 0x1ff3: 0x0018, 0x1ff4: 0x0018, 0x1ff5: 0x0018,
+ 0x1ff6: 0x0018, 0x1ff7: 0x0018, 0x1ff8: 0x0018, 0x1ff9: 0x0018, 0x1ffa: 0x0018, 0x1ffb: 0x0018,
+ 0x1ffc: 0x0018, 0x1ffd: 0x0018, 0x1ffe: 0x0018, 0x1fff: 0x0018,
+ // Block 0x80, offset 0x2000
+ 0x2000: 0x2721, 0x2001: 0x2729, 0x2002: 0x2731, 0x2003: 0x0040, 0x2004: 0x0040, 0x2005: 0x0040,
+ 0x2006: 0x0040, 0x2007: 0x0040, 0x2008: 0x0040, 0x2009: 0x0040, 0x200a: 0x0040, 0x200b: 0x0040,
+ 0x200c: 0x0040, 0x200d: 0x0040, 0x200e: 0x0040, 0x200f: 0x0040, 0x2010: 0x2739, 0x2011: 0x2741,
+ 0x2012: 0x2749, 0x2013: 0x2751, 0x2014: 0x2759, 0x2015: 0x2761, 0x2016: 0x2769, 0x2017: 0x2771,
+ 0x2018: 0x2779, 0x2019: 0x2781, 0x201a: 0x2789, 0x201b: 0x2791, 0x201c: 0x2799, 0x201d: 0x27a1,
+ 0x201e: 0x27a9, 0x201f: 0x27b1, 0x2020: 0x27b9, 0x2021: 0x27c1, 0x2022: 0x27c9, 0x2023: 0x27d1,
+ 0x2024: 0x27d9, 0x2025: 0x27e1, 0x2026: 0x27e9, 0x2027: 0x27f1, 0x2028: 0x27f9, 0x2029: 0x2801,
+ 0x202a: 0x2809, 0x202b: 0x2811, 0x202c: 0x2819, 0x202d: 0x2821, 0x202e: 0x2829, 0x202f: 0x2831,
+ 0x2030: 0x2839, 0x2031: 0x2841, 0x2032: 0x2849, 0x2033: 0x2851, 0x2034: 0x2859, 0x2035: 0x2861,
+ 0x2036: 0x2869, 0x2037: 0x2871, 0x2038: 0x2879, 0x2039: 0x2881, 0x203a: 0x2889, 0x203b: 0x2891,
+ 0x203c: 0x0040, 0x203d: 0x0040, 0x203e: 0x0040, 0x203f: 0x0040,
+ // Block 0x81, offset 0x2040
+ 0x2040: 0x28f1, 0x2041: 0x28f9, 0x2042: 0x2901, 0x2043: 0x8dcd, 0x2044: 0x2909, 0x2045: 0x2911,
+ 0x2046: 0x2919, 0x2047: 0x2921, 0x2048: 0x2929, 0x2049: 0x2931, 0x204a: 0x2939, 0x204b: 0x2941,
+ 0x204c: 0x2949, 0x204d: 0x8ded, 0x204e: 0x2951, 0x204f: 0x2959, 0x2050: 0x2961, 0x2051: 0x2969,
+ 0x2052: 0x8e0d, 0x2053: 0x2971, 0x2054: 0x2979, 0x2055: 0x27a9, 0x2056: 0x8e2d, 0x2057: 0x2981,
+ 0x2058: 0x2989, 0x2059: 0x2991, 0x205a: 0x2999, 0x205b: 0x29a1, 0x205c: 0x8e4d, 0x205d: 0x29a9,
+ 0x205e: 0x29b1, 0x205f: 0x29b9, 0x2060: 0x29c1, 0x2061: 0x29c9, 0x2062: 0x2881, 0x2063: 0x29d1,
+ 0x2064: 0x29d9, 0x2065: 0x29e1, 0x2066: 0x29e9, 0x2067: 0x29f1, 0x2068: 0x29f9, 0x2069: 0x2a01,
+ 0x206a: 0x2a09, 0x206b: 0x2a11, 0x206c: 0x2a19, 0x206d: 0x2a21, 0x206e: 0x2a29, 0x206f: 0x2a31,
+ 0x2070: 0x2a39, 0x2071: 0x2a41, 0x2072: 0x2a41, 0x2073: 0x2a41, 0x2074: 0x8e6d, 0x2075: 0x2a49,
+ 0x2076: 0x2a51, 0x2077: 0x2a59, 0x2078: 0x8e8d, 0x2079: 0x2a61, 0x207a: 0x2a69, 0x207b: 0x2a71,
+ 0x207c: 0x2a79, 0x207d: 0x2a81, 0x207e: 0x2a89, 0x207f: 0x2a91,
+ // Block 0x82, offset 0x2080
+ 0x2080: 0x2a99, 0x2081: 0x2aa1, 0x2082: 0x2aa9, 0x2083: 0x2ab1, 0x2084: 0x2ab9, 0x2085: 0x2ac1,
+ 0x2086: 0x2ac1, 0x2087: 0x2ac9, 0x2088: 0x2ad1, 0x2089: 0x2ad9, 0x208a: 0x2ae1, 0x208b: 0x2ae9,
+ 0x208c: 0x2af1, 0x208d: 0x2af9, 0x208e: 0x2b01, 0x208f: 0x2b09, 0x2090: 0x2b11, 0x2091: 0x2b19,
+ 0x2092: 0x2b21, 0x2093: 0x2b29, 0x2094: 0x2b31, 0x2095: 0x2b39, 0x2096: 0x2b41, 0x2097: 0x2b49,
+ 0x2098: 0x2b51, 0x2099: 0x8ead, 0x209a: 0x2b59, 0x209b: 0x2b61, 0x209c: 0x2b69, 0x209d: 0x2761,
+ 0x209e: 0x2b71, 0x209f: 0x2b79, 0x20a0: 0x8ecd, 0x20a1: 0x8eed, 0x20a2: 0x2b81, 0x20a3: 0x2b89,
+ 0x20a4: 0x2b91, 0x20a5: 0x2b99, 0x20a6: 0x2ba1, 0x20a7: 0x2ba9, 0x20a8: 0x2bb1, 0x20a9: 0x2bb9,
+ 0x20aa: 0x2bc1, 0x20ab: 0x2bc1, 0x20ac: 0x8f0d, 0x20ad: 0x2bc9, 0x20ae: 0x2bd1, 0x20af: 0x2bd9,
+ 0x20b0: 0x2be1, 0x20b1: 0x8f2d, 0x20b2: 0x2be9, 0x20b3: 0x2bf1, 0x20b4: 0x2bf9, 0x20b5: 0x2c01,
+ 0x20b6: 0x2c09, 0x20b7: 0x2c11, 0x20b8: 0x2c19, 0x20b9: 0x2c21, 0x20ba: 0x2c29, 0x20bb: 0x8f4d,
+ 0x20bc: 0x2c31, 0x20bd: 0x8f6d, 0x20be: 0x2c39, 0x20bf: 0x2c41,
+ // Block 0x83, offset 0x20c0
+ 0x20c0: 0x2c49, 0x20c1: 0x2c51, 0x20c2: 0x2c59, 0x20c3: 0x2c61, 0x20c4: 0x2c69, 0x20c5: 0x2c71,
+ 0x20c6: 0x2c79, 0x20c7: 0x2c81, 0x20c8: 0x2c89, 0x20c9: 0x8f8d, 0x20ca: 0x2c91, 0x20cb: 0x2c99,
+ 0x20cc: 0x2ca1, 0x20cd: 0x2ca9, 0x20ce: 0x2cb1, 0x20cf: 0x8fad, 0x20d0: 0x2cb9, 0x20d1: 0x8fcd,
+ 0x20d2: 0x8fed, 0x20d3: 0x2cc1, 0x20d4: 0x2cc9, 0x20d5: 0x2cc9, 0x20d6: 0x2cd1, 0x20d7: 0x900d,
+ 0x20d8: 0x902d, 0x20d9: 0x2cd9, 0x20da: 0x2ce1, 0x20db: 0x2ce9, 0x20dc: 0x2cf1, 0x20dd: 0x2cf9,
+ 0x20de: 0x2d01, 0x20df: 0x2d09, 0x20e0: 0x2d11, 0x20e1: 0x2d19, 0x20e2: 0x2d21, 0x20e3: 0x2d29,
+ 0x20e4: 0x904d, 0x20e5: 0x2d31, 0x20e6: 0x2d39, 0x20e7: 0x2d41, 0x20e8: 0x2d49, 0x20e9: 0x2d41,
+ 0x20ea: 0x2d51, 0x20eb: 0x2d59, 0x20ec: 0x2d61, 0x20ed: 0x2d69, 0x20ee: 0x2d71, 0x20ef: 0x2d79,
+ 0x20f0: 0x2d81, 0x20f1: 0x2d89, 0x20f2: 0x2d91, 0x20f3: 0x2d99, 0x20f4: 0x2da1, 0x20f5: 0x2da9,
+ 0x20f6: 0x2db1, 0x20f7: 0x2db9, 0x20f8: 0x906d, 0x20f9: 0x2dc1, 0x20fa: 0x2dc9, 0x20fb: 0x2dd1,
+ 0x20fc: 0x2dd9, 0x20fd: 0x2de1, 0x20fe: 0x908d, 0x20ff: 0x2de9,
+ // Block 0x84, offset 0x2100
+ 0x2100: 0x2df1, 0x2101: 0x2df9, 0x2102: 0x2e01, 0x2103: 0x2e09, 0x2104: 0x2e11, 0x2105: 0x2e19,
+ 0x2106: 0x2e21, 0x2107: 0x2e29, 0x2108: 0x2e31, 0x2109: 0x2e39, 0x210a: 0x90ad, 0x210b: 0x2e41,
+ 0x210c: 0x2e49, 0x210d: 0x2e51, 0x210e: 0x2e59, 0x210f: 0x2e61, 0x2110: 0x2e69, 0x2111: 0x2e71,
+ 0x2112: 0x2e79, 0x2113: 0x2e81, 0x2114: 0x2e89, 0x2115: 0x2e91, 0x2116: 0x2e99, 0x2117: 0x2ea1,
+ 0x2118: 0x2ea9, 0x2119: 0x2eb1, 0x211a: 0x2eb9, 0x211b: 0x2ec1, 0x211c: 0x2ec9, 0x211d: 0x90cd,
+ 0x211e: 0x2ed1, 0x211f: 0x2ed9, 0x2120: 0x2ee1, 0x2121: 0x2ee9, 0x2122: 0x2ef1, 0x2123: 0x90ed,
+ 0x2124: 0x2ef9, 0x2125: 0x2f01, 0x2126: 0x2f09, 0x2127: 0x2f11, 0x2128: 0x2f19, 0x2129: 0x2f21,
+ 0x212a: 0x2f29, 0x212b: 0x2f31, 0x212c: 0x7f45, 0x212d: 0x2f39, 0x212e: 0x2f41, 0x212f: 0x2f49,
+ 0x2130: 0x910d, 0x2131: 0x2f51, 0x2132: 0x2f59, 0x2133: 0x2f61, 0x2134: 0x2f69, 0x2135: 0x2f71,
+ 0x2136: 0x2f79, 0x2137: 0x912d, 0x2138: 0x914d, 0x2139: 0x916d, 0x213a: 0x2f81, 0x213b: 0x918d,
+ 0x213c: 0x2f89, 0x213d: 0x2f91, 0x213e: 0x2f99, 0x213f: 0x2fa1,
+ // Block 0x85, offset 0x2140
+ 0x2140: 0x2fa9, 0x2141: 0x2fb1, 0x2142: 0x2fb9, 0x2143: 0x2fc1, 0x2144: 0x2fc9, 0x2145: 0x2fd1,
+ 0x2146: 0x91ad, 0x2147: 0x2fd9, 0x2148: 0x2fe1, 0x2149: 0x2fe9, 0x214a: 0x2ff1, 0x214b: 0x2ff9,
+ 0x214c: 0x3001, 0x214d: 0x91cd, 0x214e: 0x3009, 0x214f: 0x3011, 0x2150: 0x91ed, 0x2151: 0x920d,
+ 0x2152: 0x3019, 0x2153: 0x3021, 0x2154: 0x3029, 0x2155: 0x3031, 0x2156: 0x3039, 0x2157: 0x3041,
+ 0x2158: 0x3049, 0x2159: 0x3051, 0x215a: 0x3059, 0x215b: 0x922d, 0x215c: 0x3061, 0x215d: 0x924d,
+ 0x215e: 0x3069, 0x215f: 0x926d, 0x2160: 0x3071, 0x2161: 0x3079, 0x2162: 0x3081, 0x2163: 0x928d,
+ 0x2164: 0x3089, 0x2165: 0x3091, 0x2166: 0x92ad, 0x2167: 0x92cd, 0x2168: 0x3099, 0x2169: 0x30a1,
+ 0x216a: 0x30a9, 0x216b: 0x30b1, 0x216c: 0x30b9, 0x216d: 0x30b9, 0x216e: 0x30c1, 0x216f: 0x30c9,
+ 0x2170: 0x30d1, 0x2171: 0x30d9, 0x2172: 0x30e1, 0x2173: 0x30e9, 0x2174: 0x30f1, 0x2175: 0x92ed,
+ 0x2176: 0x30f9, 0x2177: 0x930d, 0x2178: 0x3101, 0x2179: 0x932d, 0x217a: 0x3109, 0x217b: 0x934d,
+ 0x217c: 0x936d, 0x217d: 0x938d, 0x217e: 0x3111, 0x217f: 0x3119,
+ // Block 0x86, offset 0x2180
+ 0x2180: 0x3121, 0x2181: 0x93ad, 0x2182: 0x93cd, 0x2183: 0x93ed, 0x2184: 0x940d, 0x2185: 0x3129,
+ 0x2186: 0x3131, 0x2187: 0x3131, 0x2188: 0x3139, 0x2189: 0x3141, 0x218a: 0x3149, 0x218b: 0x3151,
+ 0x218c: 0x3159, 0x218d: 0x942d, 0x218e: 0x3161, 0x218f: 0x3169, 0x2190: 0x3171, 0x2191: 0x3179,
+ 0x2192: 0x944d, 0x2193: 0x3181, 0x2194: 0x946d, 0x2195: 0x948d, 0x2196: 0x3189, 0x2197: 0x3191,
+ 0x2198: 0x3199, 0x2199: 0x31a1, 0x219a: 0x31a9, 0x219b: 0x31b1, 0x219c: 0x94ad, 0x219d: 0x94cd,
+ 0x219e: 0x94ed, 0x219f: 0x31b9, 0x21a0: 0x31c1, 0x21a1: 0x950d, 0x21a2: 0x31c9, 0x21a3: 0x31d1,
+ 0x21a4: 0x31d9, 0x21a5: 0x952d, 0x21a6: 0x31e1, 0x21a7: 0x31e9, 0x21a8: 0x31f1, 0x21a9: 0x31f9,
+ 0x21aa: 0x3201, 0x21ab: 0x954d, 0x21ac: 0x3209, 0x21ad: 0x3211, 0x21ae: 0x3219, 0x21af: 0x3221,
+ 0x21b0: 0x3229, 0x21b1: 0x3231, 0x21b2: 0x956d, 0x21b3: 0x958d, 0x21b4: 0x3239, 0x21b5: 0x95ad,
+ 0x21b6: 0x3241, 0x21b7: 0x95cd, 0x21b8: 0x3249, 0x21b9: 0x3251, 0x21ba: 0x3259, 0x21bb: 0x95ed,
+ 0x21bc: 0x960d, 0x21bd: 0x3261, 0x21be: 0x962d, 0x21bf: 0x3269,
+ // Block 0x87, offset 0x21c0
+ 0x21c0: 0x964d, 0x21c1: 0x3271, 0x21c2: 0x3279, 0x21c3: 0x3281, 0x21c4: 0x3289, 0x21c5: 0x3291,
+ 0x21c6: 0x3299, 0x21c7: 0x966d, 0x21c8: 0x968d, 0x21c9: 0x96ad, 0x21ca: 0x96cd, 0x21cb: 0x2cc1,
+ 0x21cc: 0x32a1, 0x21cd: 0x32a9, 0x21ce: 0x32b1, 0x21cf: 0x32b9, 0x21d0: 0x32c1, 0x21d1: 0x32c9,
+ 0x21d2: 0x32d1, 0x21d3: 0x32d9, 0x21d4: 0x32e1, 0x21d5: 0x32e9, 0x21d6: 0x32f1, 0x21d7: 0x96ed,
+ 0x21d8: 0x32f9, 0x21d9: 0x3301, 0x21da: 0x3309, 0x21db: 0x3311, 0x21dc: 0x3319, 0x21dd: 0x3321,
+ 0x21de: 0x3329, 0x21df: 0x3331, 0x21e0: 0x3339, 0x21e1: 0x3341, 0x21e2: 0x3349, 0x21e3: 0x3351,
+ 0x21e4: 0x970d, 0x21e5: 0x972d, 0x21e6: 0x974d, 0x21e7: 0x3359, 0x21e8: 0x3361, 0x21e9: 0x3369,
+ 0x21ea: 0x3371, 0x21eb: 0x976d, 0x21ec: 0x3379, 0x21ed: 0x978d, 0x21ee: 0x3381, 0x21ef: 0x3389,
+ 0x21f0: 0x97ad, 0x21f1: 0x97cd, 0x21f2: 0x3391, 0x21f3: 0x3399, 0x21f4: 0x33a1, 0x21f5: 0x33a9,
+ 0x21f6: 0x33b1, 0x21f7: 0x33b9, 0x21f8: 0x33c1, 0x21f9: 0x33c9, 0x21fa: 0x33d1, 0x21fb: 0x33d9,
+ 0x21fc: 0x33e1, 0x21fd: 0x33e9, 0x21fe: 0x33f1, 0x21ff: 0x33f9,
+ // Block 0x88, offset 0x2200
+ 0x2200: 0x3401, 0x2201: 0x3409, 0x2202: 0x3411, 0x2203: 0x3419, 0x2204: 0x3421, 0x2205: 0x97ed,
+ 0x2206: 0x3429, 0x2207: 0x3431, 0x2208: 0x3439, 0x2209: 0x3441, 0x220a: 0x3449, 0x220b: 0x980d,
+ 0x220c: 0x982d, 0x220d: 0x3451, 0x220e: 0x3459, 0x220f: 0x3461, 0x2210: 0x3469, 0x2211: 0x3471,
+ 0x2212: 0x3479, 0x2213: 0x984d, 0x2214: 0x3481, 0x2215: 0x3489, 0x2216: 0x3491, 0x2217: 0x3499,
+ 0x2218: 0x986d, 0x2219: 0x988d, 0x221a: 0x34a1, 0x221b: 0x34a9, 0x221c: 0x34b1, 0x221d: 0x98ad,
+ 0x221e: 0x34b9, 0x221f: 0x34c1, 0x2220: 0x6885, 0x2221: 0x98cd, 0x2222: 0x34c9, 0x2223: 0x34d1,
+ 0x2224: 0x34d9, 0x2225: 0x98ed, 0x2226: 0x34e1, 0x2227: 0x34e9, 0x2228: 0x34f1, 0x2229: 0x34f9,
+ 0x222a: 0x3501, 0x222b: 0x3509, 0x222c: 0x3511, 0x222d: 0x990d, 0x222e: 0x3519, 0x222f: 0x3521,
+ 0x2230: 0x3529, 0x2231: 0x992d, 0x2232: 0x3531, 0x2233: 0x3539, 0x2234: 0x3541, 0x2235: 0x3549,
+ 0x2236: 0x7ba5, 0x2237: 0x994d, 0x2238: 0x3551, 0x2239: 0x3559, 0x223a: 0x3561, 0x223b: 0x996d,
+ 0x223c: 0x3569, 0x223d: 0x998d, 0x223e: 0x3571, 0x223f: 0x3571,
+ // Block 0x89, offset 0x2240
+ 0x2240: 0x3579, 0x2241: 0x99ad, 0x2242: 0x3581, 0x2243: 0x3589, 0x2244: 0x3591, 0x2245: 0x3599,
+ 0x2246: 0x35a1, 0x2247: 0x35a9, 0x2248: 0x35b1, 0x2249: 0x99cd, 0x224a: 0x35b9, 0x224b: 0x35c1,
+ 0x224c: 0x35c9, 0x224d: 0x35d1, 0x224e: 0x35d9, 0x224f: 0x35e1, 0x2250: 0x99ed, 0x2251: 0x35e9,
+ 0x2252: 0x9a0d, 0x2253: 0x9a2d, 0x2254: 0x9a4d, 0x2255: 0x35f1, 0x2256: 0x35f9, 0x2257: 0x3601,
+ 0x2258: 0x3609, 0x2259: 0x3611, 0x225a: 0x3619, 0x225b: 0x3621, 0x225c: 0x3629, 0x225d: 0x9a6d,
+ 0x225e: 0x0040, 0x225f: 0x0040, 0x2260: 0x0040, 0x2261: 0x0040, 0x2262: 0x0040, 0x2263: 0x0040,
+ 0x2264: 0x0040, 0x2265: 0x0040, 0x2266: 0x0040, 0x2267: 0x0040, 0x2268: 0x0040, 0x2269: 0x0040,
+ 0x226a: 0x0040, 0x226b: 0x0040, 0x226c: 0x0040, 0x226d: 0x0040, 0x226e: 0x0040, 0x226f: 0x0040,
+ 0x2270: 0x0040, 0x2271: 0x0040, 0x2272: 0x0040, 0x2273: 0x0040, 0x2274: 0x0040, 0x2275: 0x0040,
+ 0x2276: 0x0040, 0x2277: 0x0040, 0x2278: 0x0040, 0x2279: 0x0040, 0x227a: 0x0040, 0x227b: 0x0040,
+ 0x227c: 0x0040, 0x227d: 0x0040, 0x227e: 0x0040, 0x227f: 0x0040,
+}
+
+// idnaIndex: 39 blocks, 2496 entries, 4992 bytes
+// Block 0 is the zero block.
+var idnaIndex = [2496]uint16{
+ // Block 0x0, offset 0x0
+ // Block 0x1, offset 0x40
+ // Block 0x2, offset 0x80
+ // Block 0x3, offset 0xc0
+ 0xc2: 0x01, 0xc3: 0x88, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,
+ 0xc8: 0x06, 0xc9: 0x89, 0xca: 0x8a, 0xcb: 0x07, 0xcc: 0x8b, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,
+ 0xd0: 0x8c, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x8d, 0xd6: 0x8e, 0xd7: 0x8f,
+ 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x90, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x91, 0xde: 0x92, 0xdf: 0x93,
+ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,
+ 0xe8: 0x07, 0xe9: 0x07, 0xea: 0x08, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x09, 0xee: 0x0a, 0xef: 0x0b,
+ 0xf0: 0x20, 0xf1: 0x21, 0xf2: 0x21, 0xf3: 0x23, 0xf4: 0x24,
+ // Block 0x4, offset 0x100
+ 0x120: 0x94, 0x121: 0x13, 0x122: 0x14, 0x123: 0x95, 0x124: 0x96, 0x125: 0x15, 0x126: 0x16, 0x127: 0x17,
+ 0x128: 0x18, 0x129: 0x19, 0x12a: 0x1a, 0x12b: 0x1b, 0x12c: 0x1c, 0x12d: 0x1d, 0x12e: 0x1e, 0x12f: 0x97,
+ 0x130: 0x98, 0x131: 0x1f, 0x132: 0x20, 0x133: 0x21, 0x134: 0x99, 0x135: 0x22, 0x136: 0x9a, 0x137: 0x9b,
+ 0x138: 0x9c, 0x139: 0x9d, 0x13a: 0x23, 0x13b: 0x9e, 0x13c: 0x9f, 0x13d: 0x24, 0x13e: 0x25, 0x13f: 0xa0,
+ // Block 0x5, offset 0x140
+ 0x140: 0xa1, 0x141: 0xa2, 0x142: 0xa3, 0x143: 0xa4, 0x144: 0xa5, 0x145: 0xa6, 0x146: 0xa7, 0x147: 0xa8,
+ 0x148: 0xa9, 0x149: 0xaa, 0x14a: 0xab, 0x14b: 0xac, 0x14c: 0xad, 0x14d: 0xae, 0x14e: 0xaf, 0x14f: 0xb0,
+ 0x150: 0xb1, 0x151: 0xa9, 0x152: 0xa9, 0x153: 0xa9, 0x154: 0xa9, 0x155: 0xa9, 0x156: 0xa9, 0x157: 0xa9,
+ 0x158: 0xa9, 0x159: 0xb2, 0x15a: 0xb3, 0x15b: 0xb4, 0x15c: 0xb5, 0x15d: 0xb6, 0x15e: 0xb7, 0x15f: 0xb8,
+ 0x160: 0xb9, 0x161: 0xba, 0x162: 0xbb, 0x163: 0xbc, 0x164: 0xbd, 0x165: 0xbe, 0x166: 0xbf, 0x167: 0xc0,
+ 0x168: 0xc1, 0x169: 0xc2, 0x16a: 0xc3, 0x16b: 0xc4, 0x16c: 0xc5, 0x16d: 0xc6, 0x16e: 0xc7, 0x16f: 0xc8,
+ 0x170: 0xc9, 0x171: 0xca, 0x172: 0xcb, 0x173: 0xcc, 0x174: 0x26, 0x175: 0x27, 0x176: 0x28, 0x177: 0x8b,
+ 0x178: 0x29, 0x179: 0x29, 0x17a: 0x2a, 0x17b: 0x29, 0x17c: 0xcd, 0x17d: 0x2b, 0x17e: 0x2c, 0x17f: 0x2d,
+ // Block 0x6, offset 0x180
+ 0x180: 0x2e, 0x181: 0x2f, 0x182: 0x30, 0x183: 0xce, 0x184: 0x31, 0x185: 0x32, 0x186: 0xcf, 0x187: 0xa5,
+ 0x188: 0xd0, 0x189: 0xa5, 0x18a: 0xa5, 0x18b: 0xa5, 0x18c: 0xd1, 0x18d: 0xa5, 0x18e: 0xa5, 0x18f: 0xa5,
+ 0x190: 0xd2, 0x191: 0x33, 0x192: 0x34, 0x193: 0x35, 0x194: 0xa5, 0x195: 0xa5, 0x196: 0xa5, 0x197: 0xa5,
+ 0x198: 0xa5, 0x199: 0xa5, 0x19a: 0xa5, 0x19b: 0xa5, 0x19c: 0xa5, 0x19d: 0xa5, 0x19e: 0xa5, 0x19f: 0xa5,
+ 0x1a0: 0xa5, 0x1a1: 0xa5, 0x1a2: 0xa5, 0x1a3: 0xa5, 0x1a4: 0xa5, 0x1a5: 0xa5, 0x1a6: 0xa5, 0x1a7: 0xa5,
+ 0x1a8: 0xd3, 0x1a9: 0xd4, 0x1aa: 0xa5, 0x1ab: 0xd5, 0x1ac: 0xa5, 0x1ad: 0xd6, 0x1ae: 0xa5, 0x1af: 0xa5,
+ 0x1b0: 0xd7, 0x1b1: 0x36, 0x1b2: 0x29, 0x1b3: 0x37, 0x1b4: 0xd8, 0x1b5: 0xd9, 0x1b6: 0xda, 0x1b7: 0xdb,
+ 0x1b8: 0xdc, 0x1b9: 0xdd, 0x1ba: 0xde, 0x1bb: 0xdf, 0x1bc: 0xe0, 0x1bd: 0xe1, 0x1be: 0xe2, 0x1bf: 0x38,
+ // Block 0x7, offset 0x1c0
+ 0x1c0: 0x39, 0x1c1: 0xe3, 0x1c2: 0xe4, 0x1c3: 0xe5, 0x1c4: 0xe6, 0x1c5: 0x3a, 0x1c6: 0x3b, 0x1c7: 0xe7,
+ 0x1c8: 0xe8, 0x1c9: 0x3c, 0x1ca: 0x3d, 0x1cb: 0x3e, 0x1cc: 0xe9, 0x1cd: 0xea, 0x1ce: 0x3f, 0x1cf: 0x40,
+ 0x1d0: 0xa9, 0x1d1: 0xa9, 0x1d2: 0xa9, 0x1d3: 0xa9, 0x1d4: 0xa9, 0x1d5: 0xa9, 0x1d6: 0xa9, 0x1d7: 0xa9,
+ 0x1d8: 0xa9, 0x1d9: 0xa9, 0x1da: 0xa9, 0x1db: 0xa9, 0x1dc: 0xa9, 0x1dd: 0xa9, 0x1de: 0xa9, 0x1df: 0xa9,
+ 0x1e0: 0xa9, 0x1e1: 0xa9, 0x1e2: 0xa9, 0x1e3: 0xa9, 0x1e4: 0xa9, 0x1e5: 0xa9, 0x1e6: 0xa9, 0x1e7: 0xa9,
+ 0x1e8: 0xa9, 0x1e9: 0xa9, 0x1ea: 0xa9, 0x1eb: 0xa9, 0x1ec: 0xa9, 0x1ed: 0xa9, 0x1ee: 0xa9, 0x1ef: 0xa9,
+ 0x1f0: 0xa9, 0x1f1: 0xa9, 0x1f2: 0xa9, 0x1f3: 0xa9, 0x1f4: 0xa9, 0x1f5: 0xa9, 0x1f6: 0xa9, 0x1f7: 0xa9,
+ 0x1f8: 0xa9, 0x1f9: 0xa9, 0x1fa: 0xa9, 0x1fb: 0xa9, 0x1fc: 0xa9, 0x1fd: 0xa9, 0x1fe: 0xa9, 0x1ff: 0xa9,
+ // Block 0x8, offset 0x200
+ 0x200: 0xa9, 0x201: 0xa9, 0x202: 0xa9, 0x203: 0xa9, 0x204: 0xa9, 0x205: 0xa9, 0x206: 0xa9, 0x207: 0xa9,
+ 0x208: 0xa9, 0x209: 0xa9, 0x20a: 0xa9, 0x20b: 0xa9, 0x20c: 0xa9, 0x20d: 0xa9, 0x20e: 0xa9, 0x20f: 0xa9,
+ 0x210: 0xa9, 0x211: 0xa9, 0x212: 0xa9, 0x213: 0xa9, 0x214: 0xa9, 0x215: 0xa9, 0x216: 0xa9, 0x217: 0xa9,
+ 0x218: 0xa9, 0x219: 0xa9, 0x21a: 0xa9, 0x21b: 0xa9, 0x21c: 0xa9, 0x21d: 0xa9, 0x21e: 0xa9, 0x21f: 0xa9,
+ 0x220: 0xa9, 0x221: 0xa9, 0x222: 0xa9, 0x223: 0xa9, 0x224: 0xa9, 0x225: 0xa9, 0x226: 0xa9, 0x227: 0xa9,
+ 0x228: 0xa9, 0x229: 0xa9, 0x22a: 0xa9, 0x22b: 0xa9, 0x22c: 0xa9, 0x22d: 0xa9, 0x22e: 0xa9, 0x22f: 0xa9,
+ 0x230: 0xa9, 0x231: 0xa9, 0x232: 0xa9, 0x233: 0xa9, 0x234: 0xa9, 0x235: 0xa9, 0x236: 0xa9, 0x237: 0xa5,
+ 0x238: 0xa9, 0x239: 0xa9, 0x23a: 0xa9, 0x23b: 0xa9, 0x23c: 0xa9, 0x23d: 0xa9, 0x23e: 0xa9, 0x23f: 0xa9,
+ // Block 0x9, offset 0x240
+ 0x240: 0xa9, 0x241: 0xa9, 0x242: 0xa9, 0x243: 0xa9, 0x244: 0xa9, 0x245: 0xa9, 0x246: 0xa9, 0x247: 0xa9,
+ 0x248: 0xa9, 0x249: 0xa9, 0x24a: 0xa9, 0x24b: 0xa9, 0x24c: 0xa9, 0x24d: 0xa9, 0x24e: 0xa9, 0x24f: 0xa9,
+ 0x250: 0xa9, 0x251: 0xa9, 0x252: 0xa9, 0x253: 0xa9, 0x254: 0xa9, 0x255: 0xa9, 0x256: 0xa9, 0x257: 0xa9,
+ 0x258: 0xa9, 0x259: 0xa9, 0x25a: 0xa9, 0x25b: 0xa9, 0x25c: 0xa9, 0x25d: 0xa9, 0x25e: 0xa9, 0x25f: 0xa9,
+ 0x260: 0xa9, 0x261: 0xa9, 0x262: 0xa9, 0x263: 0xa9, 0x264: 0xa9, 0x265: 0xa9, 0x266: 0xa9, 0x267: 0xa9,
+ 0x268: 0xa9, 0x269: 0xa9, 0x26a: 0xa9, 0x26b: 0xa9, 0x26c: 0xa9, 0x26d: 0xa9, 0x26e: 0xa9, 0x26f: 0xa9,
+ 0x270: 0xa9, 0x271: 0xa9, 0x272: 0xa9, 0x273: 0xa9, 0x274: 0xa9, 0x275: 0xa9, 0x276: 0xa9, 0x277: 0xa9,
+ 0x278: 0xa9, 0x279: 0xa9, 0x27a: 0xa9, 0x27b: 0xa9, 0x27c: 0xa9, 0x27d: 0xa9, 0x27e: 0xa9, 0x27f: 0xa9,
+ // Block 0xa, offset 0x280
+ 0x280: 0xa9, 0x281: 0xa9, 0x282: 0xa9, 0x283: 0xa9, 0x284: 0xa9, 0x285: 0xa9, 0x286: 0xa9, 0x287: 0xa9,
+ 0x288: 0xa9, 0x289: 0xa9, 0x28a: 0xa9, 0x28b: 0xa9, 0x28c: 0xa9, 0x28d: 0xa9, 0x28e: 0xa9, 0x28f: 0xa9,
+ 0x290: 0xa9, 0x291: 0xa9, 0x292: 0xeb, 0x293: 0xec, 0x294: 0xa9, 0x295: 0xa9, 0x296: 0xa9, 0x297: 0xa9,
+ 0x298: 0xed, 0x299: 0x41, 0x29a: 0x42, 0x29b: 0xee, 0x29c: 0x43, 0x29d: 0x44, 0x29e: 0x45, 0x29f: 0x46,
+ 0x2a0: 0xef, 0x2a1: 0xf0, 0x2a2: 0xf1, 0x2a3: 0xf2, 0x2a4: 0xf3, 0x2a5: 0xf4, 0x2a6: 0xf5, 0x2a7: 0xf6,
+ 0x2a8: 0xf7, 0x2a9: 0xf8, 0x2aa: 0xf9, 0x2ab: 0xfa, 0x2ac: 0xfb, 0x2ad: 0xfc, 0x2ae: 0xfd, 0x2af: 0xfe,
+ 0x2b0: 0xa9, 0x2b1: 0xa9, 0x2b2: 0xa9, 0x2b3: 0xa9, 0x2b4: 0xa9, 0x2b5: 0xa9, 0x2b6: 0xa9, 0x2b7: 0xa9,
+ 0x2b8: 0xa9, 0x2b9: 0xa9, 0x2ba: 0xa9, 0x2bb: 0xa9, 0x2bc: 0xa9, 0x2bd: 0xa9, 0x2be: 0xa9, 0x2bf: 0xa9,
+ // Block 0xb, offset 0x2c0
+ 0x2c0: 0xa9, 0x2c1: 0xa9, 0x2c2: 0xa9, 0x2c3: 0xa9, 0x2c4: 0xa9, 0x2c5: 0xa9, 0x2c6: 0xa9, 0x2c7: 0xa9,
+ 0x2c8: 0xa9, 0x2c9: 0xa9, 0x2ca: 0xa9, 0x2cb: 0xa9, 0x2cc: 0xa9, 0x2cd: 0xa9, 0x2ce: 0xa9, 0x2cf: 0xa9,
+ 0x2d0: 0xa9, 0x2d1: 0xa9, 0x2d2: 0xa9, 0x2d3: 0xa9, 0x2d4: 0xa9, 0x2d5: 0xa9, 0x2d6: 0xa9, 0x2d7: 0xa9,
+ 0x2d8: 0xa9, 0x2d9: 0xa9, 0x2da: 0xa9, 0x2db: 0xa9, 0x2dc: 0xa9, 0x2dd: 0xa9, 0x2de: 0xff, 0x2df: 0x100,
+ // Block 0xc, offset 0x300
+ 0x300: 0x101, 0x301: 0x101, 0x302: 0x101, 0x303: 0x101, 0x304: 0x101, 0x305: 0x101, 0x306: 0x101, 0x307: 0x101,
+ 0x308: 0x101, 0x309: 0x101, 0x30a: 0x101, 0x30b: 0x101, 0x30c: 0x101, 0x30d: 0x101, 0x30e: 0x101, 0x30f: 0x101,
+ 0x310: 0x101, 0x311: 0x101, 0x312: 0x101, 0x313: 0x101, 0x314: 0x101, 0x315: 0x101, 0x316: 0x101, 0x317: 0x101,
+ 0x318: 0x101, 0x319: 0x101, 0x31a: 0x101, 0x31b: 0x101, 0x31c: 0x101, 0x31d: 0x101, 0x31e: 0x101, 0x31f: 0x101,
+ 0x320: 0x101, 0x321: 0x101, 0x322: 0x101, 0x323: 0x101, 0x324: 0x101, 0x325: 0x101, 0x326: 0x101, 0x327: 0x101,
+ 0x328: 0x101, 0x329: 0x101, 0x32a: 0x101, 0x32b: 0x101, 0x32c: 0x101, 0x32d: 0x101, 0x32e: 0x101, 0x32f: 0x101,
+ 0x330: 0x101, 0x331: 0x101, 0x332: 0x101, 0x333: 0x101, 0x334: 0x101, 0x335: 0x101, 0x336: 0x101, 0x337: 0x101,
+ 0x338: 0x101, 0x339: 0x101, 0x33a: 0x101, 0x33b: 0x101, 0x33c: 0x101, 0x33d: 0x101, 0x33e: 0x101, 0x33f: 0x101,
+ // Block 0xd, offset 0x340
+ 0x340: 0x101, 0x341: 0x101, 0x342: 0x101, 0x343: 0x101, 0x344: 0x101, 0x345: 0x101, 0x346: 0x101, 0x347: 0x101,
+ 0x348: 0x101, 0x349: 0x101, 0x34a: 0x101, 0x34b: 0x101, 0x34c: 0x101, 0x34d: 0x101, 0x34e: 0x101, 0x34f: 0x101,
+ 0x350: 0x101, 0x351: 0x101, 0x352: 0x101, 0x353: 0x101, 0x354: 0x101, 0x355: 0x101, 0x356: 0x101, 0x357: 0x101,
+ 0x358: 0x101, 0x359: 0x101, 0x35a: 0x101, 0x35b: 0x101, 0x35c: 0x101, 0x35d: 0x101, 0x35e: 0x101, 0x35f: 0x101,
+ 0x360: 0x101, 0x361: 0x101, 0x362: 0x101, 0x363: 0x101, 0x364: 0x102, 0x365: 0x103, 0x366: 0x104, 0x367: 0x105,
+ 0x368: 0x47, 0x369: 0x106, 0x36a: 0x107, 0x36b: 0x48, 0x36c: 0x49, 0x36d: 0x4a, 0x36e: 0x4b, 0x36f: 0x4c,
+ 0x370: 0x108, 0x371: 0x4d, 0x372: 0x4e, 0x373: 0x4f, 0x374: 0x50, 0x375: 0x51, 0x376: 0x109, 0x377: 0x52,
+ 0x378: 0x53, 0x379: 0x54, 0x37a: 0x55, 0x37b: 0x56, 0x37c: 0x57, 0x37d: 0x58, 0x37e: 0x59, 0x37f: 0x5a,
+ // Block 0xe, offset 0x380
+ 0x380: 0x10a, 0x381: 0x10b, 0x382: 0xa9, 0x383: 0x10c, 0x384: 0x10d, 0x385: 0xa5, 0x386: 0x10e, 0x387: 0x10f,
+ 0x388: 0x101, 0x389: 0x101, 0x38a: 0x110, 0x38b: 0x111, 0x38c: 0x112, 0x38d: 0x113, 0x38e: 0x114, 0x38f: 0x115,
+ 0x390: 0x116, 0x391: 0xa9, 0x392: 0x117, 0x393: 0x118, 0x394: 0x119, 0x395: 0x5b, 0x396: 0x5c, 0x397: 0x11a,
+ 0x398: 0xa9, 0x399: 0xa9, 0x39a: 0xa9, 0x39b: 0xa9, 0x39c: 0x11b, 0x39d: 0x11c, 0x39e: 0x5d, 0x39f: 0x101,
+ 0x3a0: 0x11d, 0x3a1: 0x11e, 0x3a2: 0x11f, 0x3a3: 0x120, 0x3a4: 0x121, 0x3a5: 0x122, 0x3a6: 0x123, 0x3a7: 0x124,
+ 0x3a8: 0x125, 0x3a9: 0x126, 0x3aa: 0x127, 0x3ab: 0x5e, 0x3ac: 0x128, 0x3ad: 0x129, 0x3ae: 0x5f, 0x3af: 0x101,
+ 0x3b0: 0x12a, 0x3b1: 0x12b, 0x3b2: 0x12c, 0x3b3: 0x12d, 0x3b4: 0x12e, 0x3b5: 0x12f, 0x3b6: 0x130, 0x3b7: 0x101,
+ 0x3b8: 0x101, 0x3b9: 0x131, 0x3ba: 0x132, 0x3bb: 0x133, 0x3bc: 0x134, 0x3bd: 0x135, 0x3be: 0x136, 0x3bf: 0x137,
+ // Block 0xf, offset 0x3c0
+ 0x3c0: 0x138, 0x3c1: 0x139, 0x3c2: 0x13a, 0x3c3: 0x13b, 0x3c4: 0x13c, 0x3c5: 0x13d, 0x3c6: 0x13e, 0x3c7: 0x13f,
+ 0x3c8: 0x140, 0x3c9: 0x141, 0x3ca: 0x142, 0x3cb: 0x143, 0x3cc: 0x60, 0x3cd: 0x61, 0x3ce: 0x144, 0x3cf: 0x62,
+ 0x3d0: 0x145, 0x3d1: 0x146, 0x3d2: 0x147, 0x3d3: 0x148, 0x3d4: 0x101, 0x3d5: 0x101, 0x3d6: 0x149, 0x3d7: 0x14a,
+ 0x3d8: 0x14b, 0x3d9: 0x14c, 0x3da: 0x14d, 0x3db: 0x14e, 0x3dc: 0x14f, 0x3dd: 0x150, 0x3de: 0x101, 0x3df: 0x101,
+ 0x3e0: 0x151, 0x3e1: 0x101, 0x3e2: 0x152, 0x3e3: 0x153, 0x3e4: 0x63, 0x3e5: 0x154, 0x3e6: 0x155, 0x3e7: 0x156,
+ 0x3e8: 0x157, 0x3e9: 0x158, 0x3ea: 0x159, 0x3eb: 0x15a, 0x3ec: 0x15b, 0x3ed: 0x15c, 0x3ee: 0x101, 0x3ef: 0x15d,
+ 0x3f0: 0x15e, 0x3f1: 0x15f, 0x3f2: 0x160, 0x3f3: 0x101, 0x3f4: 0x161, 0x3f5: 0x162, 0x3f6: 0x163, 0x3f7: 0x164,
+ 0x3f8: 0x101, 0x3f9: 0x101, 0x3fa: 0x101, 0x3fb: 0x165, 0x3fc: 0x166, 0x3fd: 0x167, 0x3fe: 0x168, 0x3ff: 0x169,
+ // Block 0x10, offset 0x400
+ 0x400: 0xa9, 0x401: 0xa9, 0x402: 0xa9, 0x403: 0xa9, 0x404: 0xa9, 0x405: 0xa9, 0x406: 0xa9, 0x407: 0xa9,
+ 0x408: 0xa9, 0x409: 0xa9, 0x40a: 0xa9, 0x40b: 0xa9, 0x40c: 0xa9, 0x40d: 0xa9, 0x40e: 0x16a, 0x40f: 0x101,
+ 0x410: 0xa5, 0x411: 0x16b, 0x412: 0xa9, 0x413: 0xa9, 0x414: 0xa9, 0x415: 0x16c, 0x416: 0x101, 0x417: 0x101,
+ 0x418: 0x101, 0x419: 0x101, 0x41a: 0x101, 0x41b: 0x101, 0x41c: 0x101, 0x41d: 0x101, 0x41e: 0x101, 0x41f: 0x101,
+ 0x420: 0x101, 0x421: 0x101, 0x422: 0x101, 0x423: 0x101, 0x424: 0x101, 0x425: 0x101, 0x426: 0x101, 0x427: 0x101,
+ 0x428: 0x101, 0x429: 0x101, 0x42a: 0x101, 0x42b: 0x101, 0x42c: 0x101, 0x42d: 0x101, 0x42e: 0x101, 0x42f: 0x101,
+ 0x430: 0x101, 0x431: 0x101, 0x432: 0x101, 0x433: 0x101, 0x434: 0x101, 0x435: 0x101, 0x436: 0x101, 0x437: 0x101,
+ 0x438: 0x101, 0x439: 0x101, 0x43a: 0x101, 0x43b: 0x101, 0x43c: 0x101, 0x43d: 0x101, 0x43e: 0x16d, 0x43f: 0x16e,
+ // Block 0x11, offset 0x440
+ 0x440: 0xa9, 0x441: 0xa9, 0x442: 0xa9, 0x443: 0xa9, 0x444: 0xa9, 0x445: 0xa9, 0x446: 0xa9, 0x447: 0xa9,
+ 0x448: 0xa9, 0x449: 0xa9, 0x44a: 0xa9, 0x44b: 0xa9, 0x44c: 0xa9, 0x44d: 0xa9, 0x44e: 0xa9, 0x44f: 0xa9,
+ 0x450: 0x16f, 0x451: 0x170, 0x452: 0xa9, 0x453: 0xa9, 0x454: 0xa9, 0x455: 0xa9, 0x456: 0xa9, 0x457: 0xa9,
+ 0x458: 0xa9, 0x459: 0xa9, 0x45a: 0xa9, 0x45b: 0xa9, 0x45c: 0xa9, 0x45d: 0xa9, 0x45e: 0xa9, 0x45f: 0xa9,
+ 0x460: 0xa9, 0x461: 0xa9, 0x462: 0xa9, 0x463: 0xa9, 0x464: 0xa9, 0x465: 0xa9, 0x466: 0xa9, 0x467: 0xa9,
+ 0x468: 0xa9, 0x469: 0xa9, 0x46a: 0xa9, 0x46b: 0xa9, 0x46c: 0xa9, 0x46d: 0xa9, 0x46e: 0xa9, 0x46f: 0xa9,
+ 0x470: 0xa9, 0x471: 0xa9, 0x472: 0xa9, 0x473: 0xa9, 0x474: 0xa9, 0x475: 0xa9, 0x476: 0xa9, 0x477: 0xa9,
+ 0x478: 0xa9, 0x479: 0xa9, 0x47a: 0xa9, 0x47b: 0xa9, 0x47c: 0xa9, 0x47d: 0xa9, 0x47e: 0xa9, 0x47f: 0xa9,
+ // Block 0x12, offset 0x480
+ 0x480: 0xa9, 0x481: 0xa9, 0x482: 0xa9, 0x483: 0xa9, 0x484: 0xa9, 0x485: 0xa9, 0x486: 0xa9, 0x487: 0xa9,
+ 0x488: 0xa9, 0x489: 0xa9, 0x48a: 0xa9, 0x48b: 0xa9, 0x48c: 0xa9, 0x48d: 0xa9, 0x48e: 0xa9, 0x48f: 0x10c,
+ 0x490: 0xa9, 0x491: 0xa9, 0x492: 0xa9, 0x493: 0xa9, 0x494: 0xa9, 0x495: 0xa9, 0x496: 0xa9, 0x497: 0xa9,
+ 0x498: 0xa9, 0x499: 0x150, 0x49a: 0x101, 0x49b: 0x101, 0x49c: 0x101, 0x49d: 0x101, 0x49e: 0x101, 0x49f: 0x101,
+ 0x4a0: 0x101, 0x4a1: 0x101, 0x4a2: 0x101, 0x4a3: 0x101, 0x4a4: 0x101, 0x4a5: 0x101, 0x4a6: 0x101, 0x4a7: 0x101,
+ 0x4a8: 0x101, 0x4a9: 0x101, 0x4aa: 0x101, 0x4ab: 0x101, 0x4ac: 0x101, 0x4ad: 0x101, 0x4ae: 0x101, 0x4af: 0x101,
+ 0x4b0: 0x101, 0x4b1: 0x101, 0x4b2: 0x101, 0x4b3: 0x101, 0x4b4: 0x101, 0x4b5: 0x101, 0x4b6: 0x101, 0x4b7: 0x101,
+ 0x4b8: 0x101, 0x4b9: 0x101, 0x4ba: 0x101, 0x4bb: 0x101, 0x4bc: 0x101, 0x4bd: 0x101, 0x4be: 0x101, 0x4bf: 0x101,
+ // Block 0x13, offset 0x4c0
+ 0x4c0: 0x101, 0x4c1: 0x101, 0x4c2: 0x101, 0x4c3: 0x101, 0x4c4: 0x171, 0x4c5: 0x101, 0x4c6: 0x101, 0x4c7: 0x101,
+ 0x4c8: 0x101, 0x4c9: 0x101, 0x4ca: 0x101, 0x4cb: 0x101, 0x4cc: 0x101, 0x4cd: 0x101, 0x4ce: 0x101, 0x4cf: 0x101,
+ 0x4d0: 0x101, 0x4d1: 0x101, 0x4d2: 0x101, 0x4d3: 0x101, 0x4d4: 0x101, 0x4d5: 0x101, 0x4d6: 0x101, 0x4d7: 0x101,
+ 0x4d8: 0x101, 0x4d9: 0x101, 0x4da: 0x101, 0x4db: 0x101, 0x4dc: 0x101, 0x4dd: 0x101, 0x4de: 0x101, 0x4df: 0x101,
+ 0x4e0: 0xa9, 0x4e1: 0xa9, 0x4e2: 0xa9, 0x4e3: 0xa9, 0x4e4: 0xa9, 0x4e5: 0xa9, 0x4e6: 0xa9, 0x4e7: 0xa9,
+ 0x4e8: 0x15a, 0x4e9: 0x172, 0x4ea: 0x173, 0x4eb: 0x174, 0x4ec: 0x175, 0x4ed: 0x176, 0x4ee: 0x177, 0x4ef: 0x101,
+ 0x4f0: 0x101, 0x4f1: 0x101, 0x4f2: 0x101, 0x4f3: 0x101, 0x4f4: 0x101, 0x4f5: 0x178, 0x4f6: 0x101, 0x4f7: 0x101,
+ 0x4f8: 0x101, 0x4f9: 0x179, 0x4fa: 0x64, 0x4fb: 0x17a, 0x4fc: 0xa9, 0x4fd: 0x17b, 0x4fe: 0x17c, 0x4ff: 0x17d,
+ // Block 0x14, offset 0x500
+ 0x500: 0xa9, 0x501: 0xa9, 0x502: 0xa9, 0x503: 0xa9, 0x504: 0xa9, 0x505: 0xa9, 0x506: 0xa9, 0x507: 0xa9,
+ 0x508: 0xa9, 0x509: 0xa9, 0x50a: 0xa9, 0x50b: 0xa9, 0x50c: 0xa9, 0x50d: 0xa9, 0x50e: 0xa9, 0x50f: 0xa9,
+ 0x510: 0xa9, 0x511: 0xa9, 0x512: 0xa9, 0x513: 0xa9, 0x514: 0xa9, 0x515: 0xa9, 0x516: 0xa9, 0x517: 0xa9,
+ 0x518: 0xa9, 0x519: 0xa9, 0x51a: 0xa9, 0x51b: 0xa9, 0x51c: 0xa9, 0x51d: 0xa9, 0x51e: 0xa9, 0x51f: 0xa9,
+ 0x520: 0xa9, 0x521: 0xa9, 0x522: 0xa9, 0x523: 0xa9, 0x524: 0xa9, 0x525: 0xa9, 0x526: 0xa9, 0x527: 0xa9,
+ 0x528: 0xa9, 0x529: 0xa9, 0x52a: 0xa9, 0x52b: 0xa9, 0x52c: 0xa9, 0x52d: 0xa9, 0x52e: 0xa9, 0x52f: 0xa9,
+ 0x530: 0xa9, 0x531: 0xa9, 0x532: 0xa9, 0x533: 0x17e, 0x534: 0x17f, 0x535: 0x101, 0x536: 0xa9, 0x537: 0x180,
+ 0x538: 0x101, 0x539: 0x101, 0x53a: 0x101, 0x53b: 0x101, 0x53c: 0x101, 0x53d: 0x101, 0x53e: 0x101, 0x53f: 0x101,
+ // Block 0x15, offset 0x540
+ 0x540: 0x101, 0x541: 0x101, 0x542: 0x101, 0x543: 0x101, 0x544: 0x101, 0x545: 0x101, 0x546: 0x101, 0x547: 0x101,
+ 0x548: 0x101, 0x549: 0x101, 0x54a: 0x101, 0x54b: 0x101, 0x54c: 0x101, 0x54d: 0x101, 0x54e: 0x101, 0x54f: 0x101,
+ 0x550: 0x101, 0x551: 0x101, 0x552: 0x101, 0x553: 0x101, 0x554: 0x101, 0x555: 0x101, 0x556: 0x101, 0x557: 0x101,
+ 0x558: 0x101, 0x559: 0x101, 0x55a: 0x101, 0x55b: 0x101, 0x55c: 0x101, 0x55d: 0x101, 0x55e: 0x101, 0x55f: 0x101,
+ 0x560: 0x101, 0x561: 0x101, 0x562: 0x101, 0x563: 0x101, 0x564: 0x101, 0x565: 0x101, 0x566: 0x101, 0x567: 0x101,
+ 0x568: 0x101, 0x569: 0x101, 0x56a: 0x101, 0x56b: 0x101, 0x56c: 0x101, 0x56d: 0x101, 0x56e: 0x101, 0x56f: 0x101,
+ 0x570: 0x101, 0x571: 0x101, 0x572: 0x101, 0x573: 0x101, 0x574: 0x101, 0x575: 0x101, 0x576: 0x101, 0x577: 0x101,
+ 0x578: 0x101, 0x579: 0x101, 0x57a: 0x101, 0x57b: 0x101, 0x57c: 0x101, 0x57d: 0x101, 0x57e: 0x101, 0x57f: 0x181,
+ // Block 0x16, offset 0x580
+ 0x580: 0xa9, 0x581: 0xa9, 0x582: 0xa9, 0x583: 0xa9, 0x584: 0x182, 0x585: 0x183, 0x586: 0xa9, 0x587: 0xa9,
+ 0x588: 0xa9, 0x589: 0xa9, 0x58a: 0xa9, 0x58b: 0x184, 0x58c: 0x101, 0x58d: 0x101, 0x58e: 0x101, 0x58f: 0x101,
+ 0x590: 0x101, 0x591: 0x101, 0x592: 0x101, 0x593: 0x101, 0x594: 0x101, 0x595: 0x101, 0x596: 0x101, 0x597: 0x101,
+ 0x598: 0x101, 0x599: 0x101, 0x59a: 0x101, 0x59b: 0x101, 0x59c: 0x101, 0x59d: 0x101, 0x59e: 0x101, 0x59f: 0x101,
+ 0x5a0: 0x101, 0x5a1: 0x101, 0x5a2: 0x101, 0x5a3: 0x101, 0x5a4: 0x101, 0x5a5: 0x101, 0x5a6: 0x101, 0x5a7: 0x101,
+ 0x5a8: 0x101, 0x5a9: 0x101, 0x5aa: 0x101, 0x5ab: 0x101, 0x5ac: 0x101, 0x5ad: 0x101, 0x5ae: 0x101, 0x5af: 0x101,
+ 0x5b0: 0xa9, 0x5b1: 0x185, 0x5b2: 0x186, 0x5b3: 0x101, 0x5b4: 0x101, 0x5b5: 0x101, 0x5b6: 0x101, 0x5b7: 0x101,
+ 0x5b8: 0x101, 0x5b9: 0x101, 0x5ba: 0x101, 0x5bb: 0x101, 0x5bc: 0x101, 0x5bd: 0x101, 0x5be: 0x101, 0x5bf: 0x101,
+ // Block 0x17, offset 0x5c0
+ 0x5c0: 0x101, 0x5c1: 0x101, 0x5c2: 0x101, 0x5c3: 0x101, 0x5c4: 0x101, 0x5c5: 0x101, 0x5c6: 0x101, 0x5c7: 0x101,
+ 0x5c8: 0x101, 0x5c9: 0x101, 0x5ca: 0x101, 0x5cb: 0x101, 0x5cc: 0x101, 0x5cd: 0x101, 0x5ce: 0x101, 0x5cf: 0x101,
+ 0x5d0: 0x101, 0x5d1: 0x101, 0x5d2: 0x101, 0x5d3: 0x101, 0x5d4: 0x101, 0x5d5: 0x101, 0x5d6: 0x101, 0x5d7: 0x101,
+ 0x5d8: 0x101, 0x5d9: 0x101, 0x5da: 0x101, 0x5db: 0x101, 0x5dc: 0x101, 0x5dd: 0x101, 0x5de: 0x101, 0x5df: 0x101,
+ 0x5e0: 0x101, 0x5e1: 0x101, 0x5e2: 0x101, 0x5e3: 0x101, 0x5e4: 0x101, 0x5e5: 0x101, 0x5e6: 0x101, 0x5e7: 0x101,
+ 0x5e8: 0x101, 0x5e9: 0x101, 0x5ea: 0x101, 0x5eb: 0x101, 0x5ec: 0x101, 0x5ed: 0x101, 0x5ee: 0x101, 0x5ef: 0x101,
+ 0x5f0: 0xa5, 0x5f1: 0xa5, 0x5f2: 0xa5, 0x5f3: 0x65, 0x5f4: 0xa5, 0x5f5: 0xa5, 0x5f6: 0xa5, 0x5f7: 0xa5,
+ 0x5f8: 0xa5, 0x5f9: 0xa5, 0x5fa: 0x187, 0x5fb: 0x188, 0x5fc: 0x189, 0x5fd: 0x18a, 0x5fe: 0xa5, 0x5ff: 0x18b,
+ // Block 0x18, offset 0x600
+ 0x600: 0xa5, 0x601: 0xa5, 0x602: 0xa5, 0x603: 0x18c, 0x604: 0x18d, 0x605: 0x18e, 0x606: 0x18f, 0x607: 0x190,
+ 0x608: 0xa5, 0x609: 0x191, 0x60a: 0x101, 0x60b: 0x192, 0x60c: 0xa5, 0x60d: 0x193, 0x60e: 0x101, 0x60f: 0x101,
+ 0x610: 0x66, 0x611: 0x67, 0x612: 0x68, 0x613: 0x69, 0x614: 0x6a, 0x615: 0x6b, 0x616: 0x6c, 0x617: 0x6d,
+ 0x618: 0x6e, 0x619: 0x6f, 0x61a: 0x70, 0x61b: 0x71, 0x61c: 0x72, 0x61d: 0x73, 0x61e: 0x74, 0x61f: 0x75,
+ 0x620: 0xa5, 0x621: 0xa5, 0x622: 0xa5, 0x623: 0xa5, 0x624: 0xa5, 0x625: 0xa5, 0x626: 0xa5, 0x627: 0xa5,
+ 0x628: 0x194, 0x629: 0x195, 0x62a: 0x196, 0x62b: 0x101, 0x62c: 0x101, 0x62d: 0x101, 0x62e: 0x101, 0x62f: 0x101,
+ 0x630: 0x101, 0x631: 0x101, 0x632: 0x101, 0x633: 0x101, 0x634: 0x101, 0x635: 0x101, 0x636: 0x101, 0x637: 0x101,
+ 0x638: 0x101, 0x639: 0x101, 0x63a: 0x101, 0x63b: 0x101, 0x63c: 0x197, 0x63d: 0x101, 0x63e: 0x101, 0x63f: 0x101,
+ // Block 0x19, offset 0x640
+ 0x640: 0x76, 0x641: 0x77, 0x642: 0x198, 0x643: 0x101, 0x644: 0x199, 0x645: 0x19a, 0x646: 0x101, 0x647: 0x101,
+ 0x648: 0x101, 0x649: 0x101, 0x64a: 0x19b, 0x64b: 0x19c, 0x64c: 0x101, 0x64d: 0x101, 0x64e: 0x101, 0x64f: 0x101,
+ 0x650: 0x101, 0x651: 0x101, 0x652: 0x101, 0x653: 0x19d, 0x654: 0x101, 0x655: 0x101, 0x656: 0x101, 0x657: 0x19e,
+ 0x658: 0x101, 0x659: 0x101, 0x65a: 0x101, 0x65b: 0x19f, 0x65c: 0x101, 0x65d: 0x101, 0x65e: 0x101, 0x65f: 0x1a0,
+ 0x660: 0x12a, 0x661: 0x12a, 0x662: 0x12a, 0x663: 0x1a1, 0x664: 0x78, 0x665: 0x1a2, 0x666: 0x101, 0x667: 0x101,
+ 0x668: 0x101, 0x669: 0x101, 0x66a: 0x101, 0x66b: 0x101, 0x66c: 0x101, 0x66d: 0x101, 0x66e: 0x101, 0x66f: 0x101,
+ 0x670: 0x101, 0x671: 0x1a3, 0x672: 0x1a4, 0x673: 0x101, 0x674: 0x1a5, 0x675: 0x101, 0x676: 0x101, 0x677: 0x101,
+ 0x678: 0x79, 0x679: 0x7a, 0x67a: 0x7b, 0x67b: 0x1a6, 0x67c: 0x101, 0x67d: 0x101, 0x67e: 0x101, 0x67f: 0x101,
+ // Block 0x1a, offset 0x680
+ 0x680: 0x1a7, 0x681: 0xa5, 0x682: 0x1a8, 0x683: 0x1a9, 0x684: 0x7c, 0x685: 0x7d, 0x686: 0x1aa, 0x687: 0x1ab,
+ 0x688: 0x7e, 0x689: 0x1ac, 0x68a: 0x101, 0x68b: 0x101, 0x68c: 0xa5, 0x68d: 0xa5, 0x68e: 0xa5, 0x68f: 0xa5,
+ 0x690: 0xa5, 0x691: 0xa5, 0x692: 0xa5, 0x693: 0xa5, 0x694: 0xa5, 0x695: 0xa5, 0x696: 0xa5, 0x697: 0xa5,
+ 0x698: 0xa5, 0x699: 0xa5, 0x69a: 0xa5, 0x69b: 0x1ad, 0x69c: 0xa5, 0x69d: 0xa5, 0x69e: 0xa5, 0x69f: 0x1ae,
+ 0x6a0: 0x1af, 0x6a1: 0x1b0, 0x6a2: 0x1b1, 0x6a3: 0x1b2, 0x6a4: 0xa5, 0x6a5: 0xa5, 0x6a6: 0xa5, 0x6a7: 0xa5,
+ 0x6a8: 0xa5, 0x6a9: 0x1b3, 0x6aa: 0x1b4, 0x6ab: 0x1b5, 0x6ac: 0xa5, 0x6ad: 0xa5, 0x6ae: 0x1b6, 0x6af: 0x1b7,
+ 0x6b0: 0x101, 0x6b1: 0x101, 0x6b2: 0x101, 0x6b3: 0x101, 0x6b4: 0x101, 0x6b5: 0x101, 0x6b6: 0x101, 0x6b7: 0x101,
+ 0x6b8: 0x101, 0x6b9: 0x101, 0x6ba: 0x101, 0x6bb: 0x101, 0x6bc: 0x101, 0x6bd: 0x101, 0x6be: 0x101, 0x6bf: 0x101,
+ // Block 0x1b, offset 0x6c0
+ 0x6c0: 0xa9, 0x6c1: 0xa9, 0x6c2: 0xa9, 0x6c3: 0xa9, 0x6c4: 0xa9, 0x6c5: 0xa9, 0x6c6: 0xa9, 0x6c7: 0xa9,
+ 0x6c8: 0xa9, 0x6c9: 0xa9, 0x6ca: 0xa9, 0x6cb: 0xa9, 0x6cc: 0xa9, 0x6cd: 0xa9, 0x6ce: 0xa9, 0x6cf: 0xa9,
+ 0x6d0: 0xa9, 0x6d1: 0xa9, 0x6d2: 0xa9, 0x6d3: 0xa9, 0x6d4: 0xa9, 0x6d5: 0xa9, 0x6d6: 0xa9, 0x6d7: 0xa9,
+ 0x6d8: 0xa9, 0x6d9: 0xa9, 0x6da: 0xa9, 0x6db: 0x1b8, 0x6dc: 0xa9, 0x6dd: 0xa9, 0x6de: 0xa9, 0x6df: 0xa9,
+ 0x6e0: 0xa9, 0x6e1: 0xa9, 0x6e2: 0xa9, 0x6e3: 0xa9, 0x6e4: 0xa9, 0x6e5: 0xa9, 0x6e6: 0xa9, 0x6e7: 0xa9,
+ 0x6e8: 0xa9, 0x6e9: 0xa9, 0x6ea: 0xa9, 0x6eb: 0xa9, 0x6ec: 0xa9, 0x6ed: 0xa9, 0x6ee: 0xa9, 0x6ef: 0xa9,
+ 0x6f0: 0xa9, 0x6f1: 0xa9, 0x6f2: 0xa9, 0x6f3: 0xa9, 0x6f4: 0xa9, 0x6f5: 0xa9, 0x6f6: 0xa9, 0x6f7: 0xa9,
+ 0x6f8: 0xa9, 0x6f9: 0xa9, 0x6fa: 0xa9, 0x6fb: 0xa9, 0x6fc: 0xa9, 0x6fd: 0xa9, 0x6fe: 0xa9, 0x6ff: 0xa9,
+ // Block 0x1c, offset 0x700
+ 0x700: 0xa9, 0x701: 0xa9, 0x702: 0xa9, 0x703: 0xa9, 0x704: 0xa9, 0x705: 0xa9, 0x706: 0xa9, 0x707: 0xa9,
+ 0x708: 0xa9, 0x709: 0xa9, 0x70a: 0xa9, 0x70b: 0xa9, 0x70c: 0xa9, 0x70d: 0xa9, 0x70e: 0xa9, 0x70f: 0xa9,
+ 0x710: 0xa9, 0x711: 0xa9, 0x712: 0xa9, 0x713: 0xa9, 0x714: 0xa9, 0x715: 0xa9, 0x716: 0xa9, 0x717: 0xa9,
+ 0x718: 0xa9, 0x719: 0xa9, 0x71a: 0xa9, 0x71b: 0xa9, 0x71c: 0xa9, 0x71d: 0xa9, 0x71e: 0xa9, 0x71f: 0xa9,
+ 0x720: 0x1b9, 0x721: 0xa9, 0x722: 0xa9, 0x723: 0xa9, 0x724: 0xa9, 0x725: 0xa9, 0x726: 0xa9, 0x727: 0xa9,
+ 0x728: 0xa9, 0x729: 0xa9, 0x72a: 0xa9, 0x72b: 0xa9, 0x72c: 0xa9, 0x72d: 0xa9, 0x72e: 0xa9, 0x72f: 0xa9,
+ 0x730: 0xa9, 0x731: 0xa9, 0x732: 0xa9, 0x733: 0xa9, 0x734: 0xa9, 0x735: 0xa9, 0x736: 0xa9, 0x737: 0xa9,
+ 0x738: 0xa9, 0x739: 0xa9, 0x73a: 0xa9, 0x73b: 0xa9, 0x73c: 0xa9, 0x73d: 0xa9, 0x73e: 0xa9, 0x73f: 0xa9,
+ // Block 0x1d, offset 0x740
+ 0x740: 0xa9, 0x741: 0xa9, 0x742: 0xa9, 0x743: 0xa9, 0x744: 0xa9, 0x745: 0xa9, 0x746: 0xa9, 0x747: 0xa9,
+ 0x748: 0xa9, 0x749: 0xa9, 0x74a: 0xa9, 0x74b: 0xa9, 0x74c: 0xa9, 0x74d: 0xa9, 0x74e: 0xa9, 0x74f: 0xa9,
+ 0x750: 0xa9, 0x751: 0xa9, 0x752: 0xa9, 0x753: 0xa9, 0x754: 0xa9, 0x755: 0xa9, 0x756: 0xa9, 0x757: 0xa9,
+ 0x758: 0xa9, 0x759: 0xa9, 0x75a: 0xa9, 0x75b: 0xa9, 0x75c: 0xa9, 0x75d: 0xa9, 0x75e: 0xa9, 0x75f: 0xa9,
+ 0x760: 0xa9, 0x761: 0xa9, 0x762: 0xa9, 0x763: 0xa9, 0x764: 0xa9, 0x765: 0xa9, 0x766: 0xa9, 0x767: 0xa9,
+ 0x768: 0xa9, 0x769: 0xa9, 0x76a: 0xa9, 0x76b: 0xa9, 0x76c: 0xa9, 0x76d: 0xa9, 0x76e: 0xa9, 0x76f: 0xa9,
+ 0x770: 0xa9, 0x771: 0xa9, 0x772: 0xa9, 0x773: 0xa9, 0x774: 0xa9, 0x775: 0xa9, 0x776: 0xa9, 0x777: 0xa9,
+ 0x778: 0xa9, 0x779: 0xa9, 0x77a: 0x1ba, 0x77b: 0xa9, 0x77c: 0xa9, 0x77d: 0xa9, 0x77e: 0xa9, 0x77f: 0xa9,
+ // Block 0x1e, offset 0x780
+ 0x780: 0xa9, 0x781: 0xa9, 0x782: 0xa9, 0x783: 0xa9, 0x784: 0xa9, 0x785: 0xa9, 0x786: 0xa9, 0x787: 0xa9,
+ 0x788: 0xa9, 0x789: 0xa9, 0x78a: 0xa9, 0x78b: 0xa9, 0x78c: 0xa9, 0x78d: 0xa9, 0x78e: 0xa9, 0x78f: 0xa9,
+ 0x790: 0xa9, 0x791: 0xa9, 0x792: 0xa9, 0x793: 0xa9, 0x794: 0xa9, 0x795: 0xa9, 0x796: 0xa9, 0x797: 0xa9,
+ 0x798: 0xa9, 0x799: 0xa9, 0x79a: 0xa9, 0x79b: 0xa9, 0x79c: 0xa9, 0x79d: 0xa9, 0x79e: 0xa9, 0x79f: 0xa9,
+ 0x7a0: 0xa9, 0x7a1: 0xa9, 0x7a2: 0xa9, 0x7a3: 0xa9, 0x7a4: 0xa9, 0x7a5: 0xa9, 0x7a6: 0xa9, 0x7a7: 0xa9,
+ 0x7a8: 0xa9, 0x7a9: 0xa9, 0x7aa: 0xa9, 0x7ab: 0xa9, 0x7ac: 0xa9, 0x7ad: 0xa9, 0x7ae: 0xa9, 0x7af: 0x1bb,
+ 0x7b0: 0xa9, 0x7b1: 0xa9, 0x7b2: 0xa9, 0x7b3: 0xa9, 0x7b4: 0xa9, 0x7b5: 0xa9, 0x7b6: 0xa9, 0x7b7: 0xa9,
+ 0x7b8: 0xa9, 0x7b9: 0x1bc, 0x7ba: 0x101, 0x7bb: 0x101, 0x7bc: 0x101, 0x7bd: 0x101, 0x7be: 0x101, 0x7bf: 0x101,
+ // Block 0x1f, offset 0x7c0
+ 0x7c0: 0x101, 0x7c1: 0x101, 0x7c2: 0x101, 0x7c3: 0x101, 0x7c4: 0x101, 0x7c5: 0x101, 0x7c6: 0x101, 0x7c7: 0x101,
+ 0x7c8: 0x101, 0x7c9: 0x101, 0x7ca: 0x101, 0x7cb: 0x101, 0x7cc: 0x101, 0x7cd: 0x101, 0x7ce: 0x101, 0x7cf: 0x101,
+ 0x7d0: 0x101, 0x7d1: 0x101, 0x7d2: 0x101, 0x7d3: 0x101, 0x7d4: 0x101, 0x7d5: 0x101, 0x7d6: 0x101, 0x7d7: 0x101,
+ 0x7d8: 0x101, 0x7d9: 0x101, 0x7da: 0x101, 0x7db: 0x101, 0x7dc: 0x101, 0x7dd: 0x101, 0x7de: 0x101, 0x7df: 0x101,
+ 0x7e0: 0x7f, 0x7e1: 0x80, 0x7e2: 0x81, 0x7e3: 0x82, 0x7e4: 0x83, 0x7e5: 0x84, 0x7e6: 0x85, 0x7e7: 0x86,
+ 0x7e8: 0x87, 0x7e9: 0x101, 0x7ea: 0x101, 0x7eb: 0x101, 0x7ec: 0x101, 0x7ed: 0x101, 0x7ee: 0x101, 0x7ef: 0x101,
+ 0x7f0: 0x101, 0x7f1: 0x101, 0x7f2: 0x101, 0x7f3: 0x101, 0x7f4: 0x101, 0x7f5: 0x101, 0x7f6: 0x101, 0x7f7: 0x101,
+ 0x7f8: 0x101, 0x7f9: 0x101, 0x7fa: 0x101, 0x7fb: 0x101, 0x7fc: 0x101, 0x7fd: 0x101, 0x7fe: 0x101, 0x7ff: 0x101,
+ // Block 0x20, offset 0x800
+ 0x800: 0xa9, 0x801: 0xa9, 0x802: 0xa9, 0x803: 0xa9, 0x804: 0xa9, 0x805: 0xa9, 0x806: 0xa9, 0x807: 0xa9,
+ 0x808: 0xa9, 0x809: 0xa9, 0x80a: 0xa9, 0x80b: 0xa9, 0x80c: 0xa9, 0x80d: 0x1bd, 0x80e: 0xa9, 0x80f: 0xa9,
+ 0x810: 0xa9, 0x811: 0xa9, 0x812: 0xa9, 0x813: 0xa9, 0x814: 0xa9, 0x815: 0xa9, 0x816: 0xa9, 0x817: 0xa9,
+ 0x818: 0xa9, 0x819: 0xa9, 0x81a: 0xa9, 0x81b: 0xa9, 0x81c: 0xa9, 0x81d: 0xa9, 0x81e: 0xa9, 0x81f: 0xa9,
+ 0x820: 0xa9, 0x821: 0xa9, 0x822: 0xa9, 0x823: 0xa9, 0x824: 0xa9, 0x825: 0xa9, 0x826: 0xa9, 0x827: 0xa9,
+ 0x828: 0xa9, 0x829: 0xa9, 0x82a: 0xa9, 0x82b: 0xa9, 0x82c: 0xa9, 0x82d: 0xa9, 0x82e: 0xa9, 0x82f: 0xa9,
+ 0x830: 0xa9, 0x831: 0xa9, 0x832: 0xa9, 0x833: 0xa9, 0x834: 0xa9, 0x835: 0xa9, 0x836: 0xa9, 0x837: 0xa9,
+ 0x838: 0xa9, 0x839: 0xa9, 0x83a: 0xa9, 0x83b: 0xa9, 0x83c: 0xa9, 0x83d: 0xa9, 0x83e: 0xa9, 0x83f: 0xa9,
+ // Block 0x21, offset 0x840
+ 0x840: 0xa9, 0x841: 0xa9, 0x842: 0xa9, 0x843: 0xa9, 0x844: 0xa9, 0x845: 0xa9, 0x846: 0xa9, 0x847: 0xa9,
+ 0x848: 0xa9, 0x849: 0xa9, 0x84a: 0xa9, 0x84b: 0xa9, 0x84c: 0xa9, 0x84d: 0xa9, 0x84e: 0xa9, 0x84f: 0xa9,
+ 0x850: 0xa9, 0x851: 0x1be, 0x852: 0x101, 0x853: 0x101, 0x854: 0x101, 0x855: 0x101, 0x856: 0x101, 0x857: 0x101,
+ 0x858: 0x101, 0x859: 0x101, 0x85a: 0x101, 0x85b: 0x101, 0x85c: 0x101, 0x85d: 0x101, 0x85e: 0x101, 0x85f: 0x101,
+ 0x860: 0x101, 0x861: 0x101, 0x862: 0x101, 0x863: 0x101, 0x864: 0x101, 0x865: 0x101, 0x866: 0x101, 0x867: 0x101,
+ 0x868: 0x101, 0x869: 0x101, 0x86a: 0x101, 0x86b: 0x101, 0x86c: 0x101, 0x86d: 0x101, 0x86e: 0x101, 0x86f: 0x101,
+ 0x870: 0x101, 0x871: 0x101, 0x872: 0x101, 0x873: 0x101, 0x874: 0x101, 0x875: 0x101, 0x876: 0x101, 0x877: 0x101,
+ 0x878: 0x101, 0x879: 0x101, 0x87a: 0x101, 0x87b: 0x101, 0x87c: 0x101, 0x87d: 0x101, 0x87e: 0x101, 0x87f: 0x101,
+ // Block 0x22, offset 0x880
+ 0x890: 0x0c, 0x891: 0x0d, 0x892: 0x0e, 0x893: 0x0f, 0x894: 0x10, 0x895: 0x0a, 0x896: 0x11, 0x897: 0x07,
+ 0x898: 0x12, 0x899: 0x0a, 0x89a: 0x13, 0x89b: 0x14, 0x89c: 0x15, 0x89d: 0x16, 0x89e: 0x17, 0x89f: 0x18,
+ 0x8a0: 0x07, 0x8a1: 0x07, 0x8a2: 0x07, 0x8a3: 0x07, 0x8a4: 0x07, 0x8a5: 0x07, 0x8a6: 0x07, 0x8a7: 0x07,
+ 0x8a8: 0x07, 0x8a9: 0x07, 0x8aa: 0x19, 0x8ab: 0x1a, 0x8ac: 0x1b, 0x8ad: 0x07, 0x8ae: 0x1c, 0x8af: 0x1d,
+ 0x8b0: 0x07, 0x8b1: 0x1e, 0x8b2: 0x07, 0x8b3: 0x1f, 0x8b4: 0x0a, 0x8b5: 0x0a, 0x8b6: 0x0a, 0x8b7: 0x0a,
+ 0x8b8: 0x0a, 0x8b9: 0x0a, 0x8ba: 0x0a, 0x8bb: 0x0a, 0x8bc: 0x0a, 0x8bd: 0x0a, 0x8be: 0x0a, 0x8bf: 0x0a,
+ // Block 0x23, offset 0x8c0
+ 0x8c0: 0x0a, 0x8c1: 0x0a, 0x8c2: 0x0a, 0x8c3: 0x0a, 0x8c4: 0x0a, 0x8c5: 0x0a, 0x8c6: 0x0a, 0x8c7: 0x0a,
+ 0x8c8: 0x0a, 0x8c9: 0x0a, 0x8ca: 0x0a, 0x8cb: 0x0a, 0x8cc: 0x0a, 0x8cd: 0x0a, 0x8ce: 0x0a, 0x8cf: 0x0a,
+ 0x8d0: 0x0a, 0x8d1: 0x0a, 0x8d2: 0x0a, 0x8d3: 0x0a, 0x8d4: 0x0a, 0x8d5: 0x0a, 0x8d6: 0x0a, 0x8d7: 0x0a,
+ 0x8d8: 0x0a, 0x8d9: 0x0a, 0x8da: 0x0a, 0x8db: 0x0a, 0x8dc: 0x0a, 0x8dd: 0x0a, 0x8de: 0x0a, 0x8df: 0x0a,
+ 0x8e0: 0x0a, 0x8e1: 0x0a, 0x8e2: 0x0a, 0x8e3: 0x0a, 0x8e4: 0x0a, 0x8e5: 0x0a, 0x8e6: 0x0a, 0x8e7: 0x0a,
+ 0x8e8: 0x0a, 0x8e9: 0x0a, 0x8ea: 0x0a, 0x8eb: 0x0a, 0x8ec: 0x0a, 0x8ed: 0x0a, 0x8ee: 0x0a, 0x8ef: 0x0a,
+ 0x8f0: 0x0a, 0x8f1: 0x0a, 0x8f2: 0x0a, 0x8f3: 0x0a, 0x8f4: 0x0a, 0x8f5: 0x0a, 0x8f6: 0x0a, 0x8f7: 0x0a,
+ 0x8f8: 0x0a, 0x8f9: 0x0a, 0x8fa: 0x0a, 0x8fb: 0x0a, 0x8fc: 0x0a, 0x8fd: 0x0a, 0x8fe: 0x0a, 0x8ff: 0x0a,
+ // Block 0x24, offset 0x900
+ 0x900: 0x1bf, 0x901: 0x1c0, 0x902: 0x101, 0x903: 0x101, 0x904: 0x1c1, 0x905: 0x1c1, 0x906: 0x1c1, 0x907: 0x1c2,
+ 0x908: 0x101, 0x909: 0x101, 0x90a: 0x101, 0x90b: 0x101, 0x90c: 0x101, 0x90d: 0x101, 0x90e: 0x101, 0x90f: 0x101,
+ 0x910: 0x101, 0x911: 0x101, 0x912: 0x101, 0x913: 0x101, 0x914: 0x101, 0x915: 0x101, 0x916: 0x101, 0x917: 0x101,
+ 0x918: 0x101, 0x919: 0x101, 0x91a: 0x101, 0x91b: 0x101, 0x91c: 0x101, 0x91d: 0x101, 0x91e: 0x101, 0x91f: 0x101,
+ 0x920: 0x101, 0x921: 0x101, 0x922: 0x101, 0x923: 0x101, 0x924: 0x101, 0x925: 0x101, 0x926: 0x101, 0x927: 0x101,
+ 0x928: 0x101, 0x929: 0x101, 0x92a: 0x101, 0x92b: 0x101, 0x92c: 0x101, 0x92d: 0x101, 0x92e: 0x101, 0x92f: 0x101,
+ 0x930: 0x101, 0x931: 0x101, 0x932: 0x101, 0x933: 0x101, 0x934: 0x101, 0x935: 0x101, 0x936: 0x101, 0x937: 0x101,
+ 0x938: 0x101, 0x939: 0x101, 0x93a: 0x101, 0x93b: 0x101, 0x93c: 0x101, 0x93d: 0x101, 0x93e: 0x101, 0x93f: 0x101,
+ // Block 0x25, offset 0x940
+ 0x940: 0x0a, 0x941: 0x0a, 0x942: 0x0a, 0x943: 0x0a, 0x944: 0x0a, 0x945: 0x0a, 0x946: 0x0a, 0x947: 0x0a,
+ 0x948: 0x0a, 0x949: 0x0a, 0x94a: 0x0a, 0x94b: 0x0a, 0x94c: 0x0a, 0x94d: 0x0a, 0x94e: 0x0a, 0x94f: 0x0a,
+ 0x950: 0x0a, 0x951: 0x0a, 0x952: 0x0a, 0x953: 0x0a, 0x954: 0x0a, 0x955: 0x0a, 0x956: 0x0a, 0x957: 0x0a,
+ 0x958: 0x0a, 0x959: 0x0a, 0x95a: 0x0a, 0x95b: 0x0a, 0x95c: 0x0a, 0x95d: 0x0a, 0x95e: 0x0a, 0x95f: 0x0a,
+ 0x960: 0x22, 0x961: 0x0a, 0x962: 0x0a, 0x963: 0x0a, 0x964: 0x0a, 0x965: 0x0a, 0x966: 0x0a, 0x967: 0x0a,
+ 0x968: 0x0a, 0x969: 0x0a, 0x96a: 0x0a, 0x96b: 0x0a, 0x96c: 0x0a, 0x96d: 0x0a, 0x96e: 0x0a, 0x96f: 0x0a,
+ 0x970: 0x0a, 0x971: 0x0a, 0x972: 0x0a, 0x973: 0x0a, 0x974: 0x0a, 0x975: 0x0a, 0x976: 0x0a, 0x977: 0x0a,
+ 0x978: 0x0a, 0x979: 0x0a, 0x97a: 0x0a, 0x97b: 0x0a, 0x97c: 0x0a, 0x97d: 0x0a, 0x97e: 0x0a, 0x97f: 0x0a,
+ // Block 0x26, offset 0x980
+ 0x980: 0x0a, 0x981: 0x0a, 0x982: 0x0a, 0x983: 0x0a, 0x984: 0x0a, 0x985: 0x0a, 0x986: 0x0a, 0x987: 0x0a,
+ 0x988: 0x0a, 0x989: 0x0a, 0x98a: 0x0a, 0x98b: 0x0a, 0x98c: 0x0a, 0x98d: 0x0a, 0x98e: 0x0a, 0x98f: 0x0a,
+}
+
+// idnaSparseOffset: 315 entries, 630 bytes
+var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x7e, 0x87, 0x97, 0xa6, 0xb1, 0xbe, 0xcf, 0xd9, 0xe0, 0xed, 0xfe, 0x105, 0x110, 0x11f, 0x12d, 0x138, 0x13a, 0x13f, 0x142, 0x145, 0x147, 0x153, 0x15e, 0x166, 0x16c, 0x172, 0x177, 0x17c, 0x17f, 0x183, 0x189, 0x18e, 0x199, 0x1a3, 0x1a9, 0x1ba, 0x1c4, 0x1c7, 0x1cf, 0x1d2, 0x1df, 0x1e7, 0x1eb, 0x1f2, 0x1fa, 0x20a, 0x216, 0x21b, 0x225, 0x231, 0x23d, 0x249, 0x251, 0x256, 0x265, 0x276, 0x281, 0x286, 0x28f, 0x297, 0x29c, 0x29f, 0x2a3, 0x2a9, 0x2ad, 0x2b1, 0x2b6, 0x2be, 0x2c5, 0x2d0, 0x2da, 0x2de, 0x2e1, 0x2e7, 0x2eb, 0x2ed, 0x2f0, 0x2f2, 0x2f5, 0x2ff, 0x302, 0x311, 0x315, 0x319, 0x31b, 0x324, 0x328, 0x32d, 0x332, 0x338, 0x348, 0x34e, 0x352, 0x361, 0x366, 0x36e, 0x378, 0x383, 0x38b, 0x39c, 0x3a5, 0x3b5, 0x3c2, 0x3ce, 0x3d3, 0x3e0, 0x3e4, 0x3e9, 0x3eb, 0x3ed, 0x3f1, 0x3f3, 0x3f7, 0x400, 0x406, 0x40a, 0x41a, 0x424, 0x429, 0x42c, 0x432, 0x439, 0x43e, 0x442, 0x448, 0x44d, 0x456, 0x45b, 0x461, 0x468, 0x46f, 0x476, 0x47a, 0x47d, 0x480, 0x485, 0x491, 0x497, 0x49c, 0x4a3, 0x4ab, 0x4ae, 0x4b3, 0x4b7, 0x4c7, 0x4ce, 0x4d2, 0x4d6, 0x4dd, 0x4df, 0x4e2, 0x4e5, 0x4e9, 0x4f2, 0x4fa, 0x4ff, 0x503, 0x50b, 0x515, 0x51d, 0x528, 0x537, 0x543, 0x549, 0x556, 0x562, 0x56a, 0x573, 0x57e, 0x585, 0x594, 0x5a1, 0x5a5, 0x5b2, 0x5bb, 0x5c7, 0x5cb, 0x5da, 0x5e2, 0x5ed, 0x5f6, 0x5fc, 0x604, 0x60d, 0x619, 0x61e, 0x62c, 0x62f, 0x638, 0x63b, 0x640, 0x649, 0x64e, 0x65b, 0x666, 0x66f, 0x67a, 0x67d, 0x680, 0x689, 0x68f, 0x699, 0x6a2, 0x6ae, 0x6bb, 0x6c8, 0x6d7, 0x6dc, 0x6e3, 0x6ee, 0x6f6, 0x6fa, 0x6fe, 0x701, 0x706, 0x709, 0x70c, 0x710, 0x713, 0x719, 0x721, 0x728, 0x72b, 0x733, 0x737, 0x742, 0x745, 0x74c, 0x74f, 0x752, 0x758, 0x75e, 0x769, 0x76d, 0x770, 0x773, 0x77b, 0x780, 0x789, 0x78c, 0x791, 0x79b, 0x79f, 0x7a4, 0x7a8, 0x7ac, 0x7af, 0x7b2, 0x7b6, 0x7c5, 0x7d1, 0x7d5, 0x7da, 0x7df, 0x7e4, 0x7e8, 0x7ed, 0x7f6, 0x7fb, 0x7ff, 0x805, 0x80b, 0x810, 0x816, 0x81c, 0x823, 0x830, 0x83a, 0x840, 0x849, 0x84c, 0x84f, 0x853, 0x857, 0x85b, 0x861, 0x867, 0x86c, 0x86f, 0x87f, 0x886, 0x88d, 0x891, 0x897, 0x89e, 0x8a3, 0x8aa, 0x8ae, 0x8b9, 0x8bd, 0x8cb, 0x8ce, 0x8d2, 0x8d6, 0x8da, 0x8dd, 0x8e1, 0x8e4, 0x8e9, 0x8eb, 0x8ed}
+
+// idnaSparseValues: 2288 entries, 9152 bytes
+var idnaSparseValues = [2288]valueRange{
+ // Block 0x0, offset 0x0
+ {value: 0x0000, lo: 0x07},
+ {value: 0xe105, lo: 0x80, hi: 0x96},
+ {value: 0x0018, lo: 0x97, hi: 0x97},
+ {value: 0xe105, lo: 0x98, hi: 0x9e},
+ {value: 0x001f, lo: 0x9f, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xb6},
+ {value: 0x0018, lo: 0xb7, hi: 0xb7},
+ {value: 0x0008, lo: 0xb8, hi: 0xbf},
+ // Block 0x1, offset 0x8
+ {value: 0x0000, lo: 0x10},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0xe01d, lo: 0x81, hi: 0x81},
+ {value: 0x0008, lo: 0x82, hi: 0x82},
+ {value: 0x0335, lo: 0x83, hi: 0x83},
+ {value: 0x034d, lo: 0x84, hi: 0x84},
+ {value: 0x0365, lo: 0x85, hi: 0x85},
+ {value: 0xe00d, lo: 0x86, hi: 0x86},
+ {value: 0x0008, lo: 0x87, hi: 0x87},
+ {value: 0xe00d, lo: 0x88, hi: 0x88},
+ {value: 0x0008, lo: 0x89, hi: 0x89},
+ {value: 0xe00d, lo: 0x8a, hi: 0x8a},
+ {value: 0x0008, lo: 0x8b, hi: 0x8b},
+ {value: 0xe00d, lo: 0x8c, hi: 0x8c},
+ {value: 0x0008, lo: 0x8d, hi: 0x8d},
+ {value: 0xe00d, lo: 0x8e, hi: 0x8e},
+ {value: 0x0008, lo: 0x8f, hi: 0xbf},
+ // Block 0x2, offset 0x19
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0xaf},
+ {value: 0x00a9, lo: 0xb0, hi: 0xb0},
+ {value: 0x037d, lo: 0xb1, hi: 0xb1},
+ {value: 0x00b1, lo: 0xb2, hi: 0xb2},
+ {value: 0x00b9, lo: 0xb3, hi: 0xb3},
+ {value: 0x034d, lo: 0xb4, hi: 0xb4},
+ {value: 0x0395, lo: 0xb5, hi: 0xb5},
+ {value: 0xe1bd, lo: 0xb6, hi: 0xb6},
+ {value: 0x00c1, lo: 0xb7, hi: 0xb7},
+ {value: 0x00c9, lo: 0xb8, hi: 0xb8},
+ {value: 0x0008, lo: 0xb9, hi: 0xbf},
+ // Block 0x3, offset 0x25
+ {value: 0x0000, lo: 0x01},
+ {value: 0x3308, lo: 0x80, hi: 0xbf},
+ // Block 0x4, offset 0x27
+ {value: 0x0000, lo: 0x04},
+ {value: 0x03f5, lo: 0x80, hi: 0x8f},
+ {value: 0xe105, lo: 0x90, hi: 0x9f},
+ {value: 0x049d, lo: 0xa0, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x5, offset 0x2c
+ {value: 0x0000, lo: 0x06},
+ {value: 0xe185, lo: 0x80, hi: 0x8f},
+ {value: 0x0545, lo: 0x90, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x98},
+ {value: 0x0008, lo: 0x99, hi: 0x99},
+ {value: 0x0018, lo: 0x9a, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0x6, offset 0x33
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x0131, lo: 0x87, hi: 0x87},
+ {value: 0x0008, lo: 0x88, hi: 0x88},
+ {value: 0x0018, lo: 0x89, hi: 0x8a},
+ {value: 0x0040, lo: 0x8b, hi: 0x8c},
+ {value: 0x0018, lo: 0x8d, hi: 0x8f},
+ {value: 0x0040, lo: 0x90, hi: 0x90},
+ {value: 0x3308, lo: 0x91, hi: 0xbd},
+ {value: 0x0818, lo: 0xbe, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0x7, offset 0x3e
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0818, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x82},
+ {value: 0x0818, lo: 0x83, hi: 0x83},
+ {value: 0x3308, lo: 0x84, hi: 0x85},
+ {value: 0x0818, lo: 0x86, hi: 0x86},
+ {value: 0x3308, lo: 0x87, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0808, lo: 0x90, hi: 0xaa},
+ {value: 0x0040, lo: 0xab, hi: 0xae},
+ {value: 0x0808, lo: 0xaf, hi: 0xb4},
+ {value: 0x0040, lo: 0xb5, hi: 0xbf},
+ // Block 0x8, offset 0x4a
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0a08, lo: 0x80, hi: 0x87},
+ {value: 0x0c08, lo: 0x88, hi: 0x99},
+ {value: 0x0a08, lo: 0x9a, hi: 0xbf},
+ // Block 0x9, offset 0x4e
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x3308, lo: 0x80, hi: 0x8a},
+ {value: 0x0040, lo: 0x8b, hi: 0x8c},
+ {value: 0x0c08, lo: 0x8d, hi: 0x8d},
+ {value: 0x0a08, lo: 0x8e, hi: 0x98},
+ {value: 0x0c08, lo: 0x99, hi: 0x9b},
+ {value: 0x0a08, lo: 0x9c, hi: 0xaa},
+ {value: 0x0c08, lo: 0xab, hi: 0xac},
+ {value: 0x0a08, lo: 0xad, hi: 0xb0},
+ {value: 0x0c08, lo: 0xb1, hi: 0xb1},
+ {value: 0x0a08, lo: 0xb2, hi: 0xb2},
+ {value: 0x0c08, lo: 0xb3, hi: 0xb4},
+ {value: 0x0a08, lo: 0xb5, hi: 0xb7},
+ {value: 0x0c08, lo: 0xb8, hi: 0xb9},
+ {value: 0x0a08, lo: 0xba, hi: 0xbf},
+ // Block 0xa, offset 0x5d
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0808, lo: 0x80, hi: 0xa5},
+ {value: 0x3308, lo: 0xa6, hi: 0xb0},
+ {value: 0x0808, lo: 0xb1, hi: 0xb1},
+ {value: 0x0040, lo: 0xb2, hi: 0xbf},
+ // Block 0xb, offset 0x62
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0808, lo: 0x80, hi: 0x89},
+ {value: 0x0a08, lo: 0x8a, hi: 0xaa},
+ {value: 0x3308, lo: 0xab, hi: 0xb3},
+ {value: 0x0808, lo: 0xb4, hi: 0xb5},
+ {value: 0x0018, lo: 0xb6, hi: 0xb9},
+ {value: 0x0818, lo: 0xba, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbc},
+ {value: 0x3308, lo: 0xbd, hi: 0xbd},
+ {value: 0x0818, lo: 0xbe, hi: 0xbf},
+ // Block 0xc, offset 0x6c
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0808, lo: 0x80, hi: 0x95},
+ {value: 0x3308, lo: 0x96, hi: 0x99},
+ {value: 0x0808, lo: 0x9a, hi: 0x9a},
+ {value: 0x3308, lo: 0x9b, hi: 0xa3},
+ {value: 0x0808, lo: 0xa4, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xa7},
+ {value: 0x0808, lo: 0xa8, hi: 0xa8},
+ {value: 0x3308, lo: 0xa9, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x0818, lo: 0xb0, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0xd, offset 0x78
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0a08, lo: 0x80, hi: 0x88},
+ {value: 0x0808, lo: 0x89, hi: 0x89},
+ {value: 0x3308, lo: 0x8a, hi: 0xa1},
+ {value: 0x0840, lo: 0xa2, hi: 0xa2},
+ {value: 0x3308, lo: 0xa3, hi: 0xbf},
+ // Block 0xe, offset 0x7e
+ {value: 0x0000, lo: 0x08},
+ {value: 0x3308, lo: 0x80, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbc},
+ {value: 0x0008, lo: 0xbd, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0xf, offset 0x87
+ {value: 0x0000, lo: 0x0f},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x3008, lo: 0x81, hi: 0x82},
+ {value: 0x0040, lo: 0x83, hi: 0x85},
+ {value: 0x3008, lo: 0x86, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x89},
+ {value: 0x3008, lo: 0x8a, hi: 0x8c},
+ {value: 0x3b08, lo: 0x8d, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x90},
+ {value: 0x0040, lo: 0x91, hi: 0x96},
+ {value: 0x3008, lo: 0x97, hi: 0x97},
+ {value: 0x0040, lo: 0x98, hi: 0xa5},
+ {value: 0x0008, lo: 0xa6, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbf},
+ // Block 0x10, offset 0x97
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x3008, lo: 0x81, hi: 0x83},
+ {value: 0x3308, lo: 0x84, hi: 0x84},
+ {value: 0x0008, lo: 0x85, hi: 0x8c},
+ {value: 0x0040, lo: 0x8d, hi: 0x8d},
+ {value: 0x0008, lo: 0x8e, hi: 0x90},
+ {value: 0x0040, lo: 0x91, hi: 0x91},
+ {value: 0x0008, lo: 0x92, hi: 0xa8},
+ {value: 0x0040, lo: 0xa9, hi: 0xa9},
+ {value: 0x0008, lo: 0xaa, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbc},
+ {value: 0x0008, lo: 0xbd, hi: 0xbd},
+ {value: 0x3308, lo: 0xbe, hi: 0xbf},
+ // Block 0x11, offset 0xa6
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0x8c},
+ {value: 0x0040, lo: 0x8d, hi: 0x8d},
+ {value: 0x0008, lo: 0x8e, hi: 0x90},
+ {value: 0x0040, lo: 0x91, hi: 0x91},
+ {value: 0x0008, lo: 0x92, hi: 0xba},
+ {value: 0x3b08, lo: 0xbb, hi: 0xbc},
+ {value: 0x0008, lo: 0xbd, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0x12, offset 0xb1
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0040, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x83},
+ {value: 0x0040, lo: 0x84, hi: 0x84},
+ {value: 0x0008, lo: 0x85, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x99},
+ {value: 0x0008, lo: 0x9a, hi: 0xb1},
+ {value: 0x0040, lo: 0xb2, hi: 0xb2},
+ {value: 0x0008, lo: 0xb3, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbc},
+ {value: 0x0008, lo: 0xbd, hi: 0xbd},
+ {value: 0x0040, lo: 0xbe, hi: 0xbf},
+ // Block 0x13, offset 0xbe
+ {value: 0x0000, lo: 0x10},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x89},
+ {value: 0x3b08, lo: 0x8a, hi: 0x8a},
+ {value: 0x0040, lo: 0x8b, hi: 0x8e},
+ {value: 0x3008, lo: 0x8f, hi: 0x91},
+ {value: 0x3308, lo: 0x92, hi: 0x94},
+ {value: 0x0040, lo: 0x95, hi: 0x95},
+ {value: 0x3308, lo: 0x96, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x97},
+ {value: 0x3008, lo: 0x98, hi: 0x9f},
+ {value: 0x0040, lo: 0xa0, hi: 0xa5},
+ {value: 0x0008, lo: 0xa6, hi: 0xaf},
+ {value: 0x0040, lo: 0xb0, hi: 0xb1},
+ {value: 0x3008, lo: 0xb2, hi: 0xb3},
+ {value: 0x0018, lo: 0xb4, hi: 0xb4},
+ {value: 0x0040, lo: 0xb5, hi: 0xbf},
+ // Block 0x14, offset 0xcf
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0040, lo: 0x80, hi: 0x80},
+ {value: 0x0008, lo: 0x81, hi: 0xb0},
+ {value: 0x3308, lo: 0xb1, hi: 0xb1},
+ {value: 0x0008, lo: 0xb2, hi: 0xb2},
+ {value: 0x01f1, lo: 0xb3, hi: 0xb3},
+ {value: 0x3308, lo: 0xb4, hi: 0xb9},
+ {value: 0x3b08, lo: 0xba, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbe},
+ {value: 0x0018, lo: 0xbf, hi: 0xbf},
+ // Block 0x15, offset 0xd9
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x3308, lo: 0x87, hi: 0x8e},
+ {value: 0x0018, lo: 0x8f, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0018, lo: 0x9a, hi: 0x9b},
+ {value: 0x0040, lo: 0x9c, hi: 0xbf},
+ // Block 0x16, offset 0xe0
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x84},
+ {value: 0x0040, lo: 0x85, hi: 0x85},
+ {value: 0x0008, lo: 0x86, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x87},
+ {value: 0x3308, lo: 0x88, hi: 0x8e},
+ {value: 0x0040, lo: 0x8f, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9b},
+ {value: 0x0201, lo: 0x9c, hi: 0x9c},
+ {value: 0x0209, lo: 0x9d, hi: 0x9d},
+ {value: 0x0008, lo: 0x9e, hi: 0x9f},
+ {value: 0x0040, lo: 0xa0, hi: 0xbf},
+ // Block 0x17, offset 0xed
+ {value: 0x0000, lo: 0x10},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0x0018, lo: 0x81, hi: 0x8a},
+ {value: 0x0008, lo: 0x8b, hi: 0x8b},
+ {value: 0xe03d, lo: 0x8c, hi: 0x8c},
+ {value: 0x0018, lo: 0x8d, hi: 0x97},
+ {value: 0x3308, lo: 0x98, hi: 0x99},
+ {value: 0x0018, lo: 0x9a, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa9},
+ {value: 0x0018, lo: 0xaa, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb5},
+ {value: 0x0018, lo: 0xb6, hi: 0xb6},
+ {value: 0x3308, lo: 0xb7, hi: 0xb7},
+ {value: 0x0018, lo: 0xb8, hi: 0xb8},
+ {value: 0x3308, lo: 0xb9, hi: 0xb9},
+ {value: 0x0018, lo: 0xba, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0x18, offset 0xfe
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0018, lo: 0x80, hi: 0x85},
+ {value: 0x3308, lo: 0x86, hi: 0x86},
+ {value: 0x0018, lo: 0x87, hi: 0x8c},
+ {value: 0x0040, lo: 0x8d, hi: 0x8d},
+ {value: 0x0018, lo: 0x8e, hi: 0x9a},
+ {value: 0x0040, lo: 0x9b, hi: 0xbf},
+ // Block 0x19, offset 0x105
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0xaa},
+ {value: 0x3008, lo: 0xab, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xb0},
+ {value: 0x3008, lo: 0xb1, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb7},
+ {value: 0x3008, lo: 0xb8, hi: 0xb8},
+ {value: 0x3b08, lo: 0xb9, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbc},
+ {value: 0x3308, lo: 0xbd, hi: 0xbe},
+ {value: 0x0008, lo: 0xbf, hi: 0xbf},
+ // Block 0x1a, offset 0x110
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x0018, lo: 0x8a, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x95},
+ {value: 0x3008, lo: 0x96, hi: 0x97},
+ {value: 0x3308, lo: 0x98, hi: 0x99},
+ {value: 0x0008, lo: 0x9a, hi: 0x9d},
+ {value: 0x3308, lo: 0x9e, hi: 0xa0},
+ {value: 0x0008, lo: 0xa1, hi: 0xa1},
+ {value: 0x3008, lo: 0xa2, hi: 0xa4},
+ {value: 0x0008, lo: 0xa5, hi: 0xa6},
+ {value: 0x3008, lo: 0xa7, hi: 0xad},
+ {value: 0x0008, lo: 0xae, hi: 0xb0},
+ {value: 0x3308, lo: 0xb1, hi: 0xb4},
+ {value: 0x0008, lo: 0xb5, hi: 0xbf},
+ // Block 0x1b, offset 0x11f
+ {value: 0x0000, lo: 0x0d},
+ {value: 0x0008, lo: 0x80, hi: 0x81},
+ {value: 0x3308, lo: 0x82, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x84},
+ {value: 0x3308, lo: 0x85, hi: 0x86},
+ {value: 0x3008, lo: 0x87, hi: 0x8c},
+ {value: 0x3308, lo: 0x8d, hi: 0x8d},
+ {value: 0x0008, lo: 0x8e, hi: 0x8e},
+ {value: 0x3008, lo: 0x8f, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x3008, lo: 0x9a, hi: 0x9c},
+ {value: 0x3308, lo: 0x9d, hi: 0x9d},
+ {value: 0x0018, lo: 0x9e, hi: 0x9f},
+ {value: 0x055d, lo: 0xa0, hi: 0xbf},
+ // Block 0x1c, offset 0x12d
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x057d, lo: 0x80, hi: 0x85},
+ {value: 0x0040, lo: 0x86, hi: 0x86},
+ {value: 0x057d, lo: 0x87, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8c},
+ {value: 0x057d, lo: 0x8d, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xba},
+ {value: 0x0018, lo: 0xbb, hi: 0xbb},
+ {value: 0xe105, lo: 0xbc, hi: 0xbc},
+ {value: 0x0008, lo: 0xbd, hi: 0xbf},
+ // Block 0x1d, offset 0x138
+ {value: 0x0000, lo: 0x01},
+ {value: 0x0018, lo: 0x80, hi: 0xbf},
+ // Block 0x1e, offset 0x13a
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x9e},
+ {value: 0x00c0, lo: 0x9f, hi: 0xa0},
+ {value: 0x2018, lo: 0xa1, hi: 0xb5},
+ {value: 0x0018, lo: 0xb6, hi: 0xbf},
+ // Block 0x1f, offset 0x13f
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0xa7},
+ {value: 0x2018, lo: 0xa8, hi: 0xbf},
+ // Block 0x20, offset 0x142
+ {value: 0x0000, lo: 0x02},
+ {value: 0x2018, lo: 0x80, hi: 0x82},
+ {value: 0x0018, lo: 0x83, hi: 0xbf},
+ // Block 0x21, offset 0x145
+ {value: 0x0000, lo: 0x01},
+ {value: 0x0008, lo: 0x80, hi: 0xbf},
+ // Block 0x22, offset 0x147
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x89},
+ {value: 0x0008, lo: 0x8a, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x97},
+ {value: 0x0008, lo: 0x98, hi: 0x98},
+ {value: 0x0040, lo: 0x99, hi: 0x99},
+ {value: 0x0008, lo: 0x9a, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0x23, offset 0x153
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x89},
+ {value: 0x0008, lo: 0x8a, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xb0},
+ {value: 0x0040, lo: 0xb1, hi: 0xb1},
+ {value: 0x0008, lo: 0xb2, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xb7},
+ {value: 0x0008, lo: 0xb8, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0x24, offset 0x15e
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0x0040, lo: 0x81, hi: 0x81},
+ {value: 0x0008, lo: 0x82, hi: 0x85},
+ {value: 0x0040, lo: 0x86, hi: 0x87},
+ {value: 0x0008, lo: 0x88, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x97},
+ {value: 0x0008, lo: 0x98, hi: 0xbf},
+ // Block 0x25, offset 0x166
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0x90},
+ {value: 0x0040, lo: 0x91, hi: 0x91},
+ {value: 0x0008, lo: 0x92, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0x97},
+ {value: 0x0008, lo: 0x98, hi: 0xbf},
+ // Block 0x26, offset 0x16c
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0x9a},
+ {value: 0x0040, lo: 0x9b, hi: 0x9c},
+ {value: 0x3308, lo: 0x9d, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xbc},
+ {value: 0x0040, lo: 0xbd, hi: 0xbf},
+ // Block 0x27, offset 0x172
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0x28, offset 0x177
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xb7},
+ {value: 0xe045, lo: 0xb8, hi: 0xbd},
+ {value: 0x0040, lo: 0xbe, hi: 0xbf},
+ // Block 0x29, offset 0x17c
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0x80},
+ {value: 0x0008, lo: 0x81, hi: 0xbf},
+ // Block 0x2a, offset 0x17f
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xac},
+ {value: 0x0018, lo: 0xad, hi: 0xae},
+ {value: 0x0008, lo: 0xaf, hi: 0xbf},
+ // Block 0x2b, offset 0x183
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0040, lo: 0x80, hi: 0x80},
+ {value: 0x0008, lo: 0x81, hi: 0x9a},
+ {value: 0x0018, lo: 0x9b, hi: 0x9c},
+ {value: 0x0040, lo: 0x9d, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0x2c, offset 0x189
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0xaa},
+ {value: 0x0018, lo: 0xab, hi: 0xb0},
+ {value: 0x0008, lo: 0xb1, hi: 0xb8},
+ {value: 0x0040, lo: 0xb9, hi: 0xbf},
+ // Block 0x2d, offset 0x18e
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0x91},
+ {value: 0x3308, lo: 0x92, hi: 0x93},
+ {value: 0x3b08, lo: 0x94, hi: 0x94},
+ {value: 0x3808, lo: 0x95, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0x9e},
+ {value: 0x0008, lo: 0x9f, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb3},
+ {value: 0x3808, lo: 0xb4, hi: 0xb4},
+ {value: 0x0018, lo: 0xb5, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xbf},
+ // Block 0x2e, offset 0x199
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0008, lo: 0x80, hi: 0x91},
+ {value: 0x3308, lo: 0x92, hi: 0x93},
+ {value: 0x0040, lo: 0x94, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xac},
+ {value: 0x0040, lo: 0xad, hi: 0xad},
+ {value: 0x0008, lo: 0xae, hi: 0xb0},
+ {value: 0x0040, lo: 0xb1, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xbf},
+ // Block 0x2f, offset 0x1a3
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0xb3},
+ {value: 0x33c0, lo: 0xb4, hi: 0xb5},
+ {value: 0x3008, lo: 0xb6, hi: 0xb6},
+ {value: 0x3308, lo: 0xb7, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0x30, offset 0x1a9
+ {value: 0x0000, lo: 0x10},
+ {value: 0x3008, lo: 0x80, hi: 0x85},
+ {value: 0x3308, lo: 0x86, hi: 0x86},
+ {value: 0x3008, lo: 0x87, hi: 0x88},
+ {value: 0x3308, lo: 0x89, hi: 0x91},
+ {value: 0x3b08, lo: 0x92, hi: 0x92},
+ {value: 0x3308, lo: 0x93, hi: 0x93},
+ {value: 0x0018, lo: 0x94, hi: 0x96},
+ {value: 0x0008, lo: 0x97, hi: 0x97},
+ {value: 0x0018, lo: 0x98, hi: 0x9b},
+ {value: 0x0008, lo: 0x9c, hi: 0x9c},
+ {value: 0x3308, lo: 0x9d, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa9},
+ {value: 0x0040, lo: 0xaa, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0x31, offset 0x1ba
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0018, lo: 0x80, hi: 0x86},
+ {value: 0x0218, lo: 0x87, hi: 0x87},
+ {value: 0x0018, lo: 0x88, hi: 0x8a},
+ {value: 0x33c0, lo: 0x8b, hi: 0x8d},
+ {value: 0x00c0, lo: 0x8e, hi: 0x8e},
+ {value: 0x33c0, lo: 0x8f, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9f},
+ {value: 0x0208, lo: 0xa0, hi: 0xbf},
+ // Block 0x32, offset 0x1c4
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0208, lo: 0x80, hi: 0xb8},
+ {value: 0x0040, lo: 0xb9, hi: 0xbf},
+ // Block 0x33, offset 0x1c7
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0x84},
+ {value: 0x3308, lo: 0x85, hi: 0x86},
+ {value: 0x0208, lo: 0x87, hi: 0xa8},
+ {value: 0x3308, lo: 0xa9, hi: 0xa9},
+ {value: 0x0208, lo: 0xaa, hi: 0xaa},
+ {value: 0x0040, lo: 0xab, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x34, offset 0x1cf
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xbf},
+ // Block 0x35, offset 0x1d2
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0x9f},
+ {value: 0x3308, lo: 0xa0, hi: 0xa2},
+ {value: 0x3008, lo: 0xa3, hi: 0xa6},
+ {value: 0x3308, lo: 0xa7, hi: 0xa8},
+ {value: 0x3008, lo: 0xa9, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xaf},
+ {value: 0x3008, lo: 0xb0, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb2},
+ {value: 0x3008, lo: 0xb3, hi: 0xb8},
+ {value: 0x3308, lo: 0xb9, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbf},
+ // Block 0x36, offset 0x1df
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0018, lo: 0x80, hi: 0x80},
+ {value: 0x0040, lo: 0x81, hi: 0x83},
+ {value: 0x0018, lo: 0x84, hi: 0x85},
+ {value: 0x0008, lo: 0x86, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb4},
+ {value: 0x0040, lo: 0xb5, hi: 0xbf},
+ // Block 0x37, offset 0x1e7
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x38, offset 0x1eb
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0028, lo: 0x9a, hi: 0x9a},
+ {value: 0x0040, lo: 0x9b, hi: 0x9d},
+ {value: 0x0018, lo: 0x9e, hi: 0xbf},
+ // Block 0x39, offset 0x1f2
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0x96},
+ {value: 0x3308, lo: 0x97, hi: 0x98},
+ {value: 0x3008, lo: 0x99, hi: 0x9a},
+ {value: 0x3308, lo: 0x9b, hi: 0x9b},
+ {value: 0x0040, lo: 0x9c, hi: 0x9d},
+ {value: 0x0018, lo: 0x9e, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0x3a, offset 0x1fa
+ {value: 0x0000, lo: 0x0f},
+ {value: 0x0008, lo: 0x80, hi: 0x94},
+ {value: 0x3008, lo: 0x95, hi: 0x95},
+ {value: 0x3308, lo: 0x96, hi: 0x96},
+ {value: 0x3008, lo: 0x97, hi: 0x97},
+ {value: 0x3308, lo: 0x98, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0x9f},
+ {value: 0x3b08, lo: 0xa0, hi: 0xa0},
+ {value: 0x3008, lo: 0xa1, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa2},
+ {value: 0x3008, lo: 0xa3, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xac},
+ {value: 0x3008, lo: 0xad, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xbc},
+ {value: 0x0040, lo: 0xbd, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0x3b, offset 0x20a
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xa6},
+ {value: 0x0008, lo: 0xa7, hi: 0xa7},
+ {value: 0x0018, lo: 0xa8, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xbd},
+ {value: 0x3318, lo: 0xbe, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0x3c, offset 0x216
+ {value: 0x0000, lo: 0x04},
+ {value: 0x3308, lo: 0x80, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0x9f},
+ {value: 0x3308, lo: 0xa0, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xbf},
+ // Block 0x3d, offset 0x21b
+ {value: 0x0000, lo: 0x09},
+ {value: 0x3308, lo: 0x80, hi: 0x83},
+ {value: 0x3008, lo: 0x84, hi: 0x84},
+ {value: 0x0008, lo: 0x85, hi: 0xb3},
+ {value: 0x3308, lo: 0xb4, hi: 0xb4},
+ {value: 0x3008, lo: 0xb5, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbc},
+ {value: 0x3008, lo: 0xbd, hi: 0xbf},
+ // Block 0x3e, offset 0x225
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x3008, lo: 0x80, hi: 0x81},
+ {value: 0x3308, lo: 0x82, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x83},
+ {value: 0x3808, lo: 0x84, hi: 0x84},
+ {value: 0x0008, lo: 0x85, hi: 0x8c},
+ {value: 0x0040, lo: 0x8d, hi: 0x8d},
+ {value: 0x0018, lo: 0x8e, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0018, lo: 0x9a, hi: 0xaa},
+ {value: 0x3308, lo: 0xab, hi: 0xb3},
+ {value: 0x0018, lo: 0xb4, hi: 0xbf},
+ // Block 0x3f, offset 0x231
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
+ {value: 0x0008, lo: 0x83, hi: 0xa0},
+ {value: 0x3008, lo: 0xa1, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa5},
+ {value: 0x3008, lo: 0xa6, hi: 0xa7},
+ {value: 0x3308, lo: 0xa8, hi: 0xa9},
+ {value: 0x3808, lo: 0xaa, hi: 0xaa},
+ {value: 0x3b08, lo: 0xab, hi: 0xab},
+ {value: 0x3308, lo: 0xac, hi: 0xad},
+ {value: 0x0008, lo: 0xae, hi: 0xbf},
+ // Block 0x40, offset 0x23d
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0xa5},
+ {value: 0x3308, lo: 0xa6, hi: 0xa6},
+ {value: 0x3008, lo: 0xa7, hi: 0xa7},
+ {value: 0x3308, lo: 0xa8, hi: 0xa9},
+ {value: 0x3008, lo: 0xaa, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xad},
+ {value: 0x3008, lo: 0xae, hi: 0xae},
+ {value: 0x3308, lo: 0xaf, hi: 0xb1},
+ {value: 0x3808, lo: 0xb2, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xbb},
+ {value: 0x0018, lo: 0xbc, hi: 0xbf},
+ // Block 0x41, offset 0x249
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0xa3},
+ {value: 0x3008, lo: 0xa4, hi: 0xab},
+ {value: 0x3308, lo: 0xac, hi: 0xb3},
+ {value: 0x3008, lo: 0xb4, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xb7},
+ {value: 0x0040, lo: 0xb8, hi: 0xba},
+ {value: 0x0018, lo: 0xbb, hi: 0xbf},
+ // Block 0x42, offset 0x251
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8c},
+ {value: 0x0008, lo: 0x8d, hi: 0xbd},
+ {value: 0x0018, lo: 0xbe, hi: 0xbf},
+ // Block 0x43, offset 0x256
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x02a9, lo: 0x80, hi: 0x80},
+ {value: 0x02b1, lo: 0x81, hi: 0x81},
+ {value: 0x02b9, lo: 0x82, hi: 0x82},
+ {value: 0x02c1, lo: 0x83, hi: 0x83},
+ {value: 0x02c9, lo: 0x84, hi: 0x85},
+ {value: 0x02d1, lo: 0x86, hi: 0x86},
+ {value: 0x02d9, lo: 0x87, hi: 0x87},
+ {value: 0x059d, lo: 0x88, hi: 0x88},
+ {value: 0xe01d, lo: 0x89, hi: 0x89},
+ {value: 0x0008, lo: 0x8a, hi: 0x8a},
+ {value: 0x0040, lo: 0x8b, hi: 0x8f},
+ {value: 0x05bd, lo: 0x90, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbc},
+ {value: 0x05bd, lo: 0xbd, hi: 0xbf},
+ // Block 0x44, offset 0x265
+ {value: 0x0000, lo: 0x10},
+ {value: 0x0018, lo: 0x80, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x3308, lo: 0x90, hi: 0x92},
+ {value: 0x0018, lo: 0x93, hi: 0x93},
+ {value: 0x3308, lo: 0x94, hi: 0xa0},
+ {value: 0x3008, lo: 0xa1, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa8},
+ {value: 0x0008, lo: 0xa9, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xad},
+ {value: 0x0008, lo: 0xae, hi: 0xb3},
+ {value: 0x3308, lo: 0xb4, hi: 0xb4},
+ {value: 0x0008, lo: 0xb5, hi: 0xb6},
+ {value: 0x3008, lo: 0xb7, hi: 0xb7},
+ {value: 0x3308, lo: 0xb8, hi: 0xb9},
+ {value: 0x0008, lo: 0xba, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbf},
+ // Block 0x45, offset 0x276
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0x87},
+ {value: 0xe045, lo: 0x88, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0x97},
+ {value: 0xe045, lo: 0x98, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa7},
+ {value: 0xe045, lo: 0xa8, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb7},
+ {value: 0xe045, lo: 0xb8, hi: 0xbf},
+ // Block 0x46, offset 0x281
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x81},
+ {value: 0x0040, lo: 0x82, hi: 0x8f},
+ {value: 0x3318, lo: 0x90, hi: 0xb0},
+ {value: 0x0040, lo: 0xb1, hi: 0xbf},
+ // Block 0x47, offset 0x286
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0018, lo: 0x80, hi: 0x82},
+ {value: 0xe03d, lo: 0x83, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0x84},
+ {value: 0x0018, lo: 0x85, hi: 0x88},
+ {value: 0x0851, lo: 0x89, hi: 0x89},
+ {value: 0x0018, lo: 0x8a, hi: 0x8b},
+ {value: 0x0040, lo: 0x8c, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0xbf},
+ // Block 0x48, offset 0x28f
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0018, lo: 0x80, hi: 0xab},
+ {value: 0x0859, lo: 0xac, hi: 0xac},
+ {value: 0x0861, lo: 0xad, hi: 0xad},
+ {value: 0x0018, lo: 0xae, hi: 0xae},
+ {value: 0x0869, lo: 0xaf, hi: 0xaf},
+ {value: 0x0871, lo: 0xb0, hi: 0xb0},
+ {value: 0x0018, lo: 0xb1, hi: 0xbf},
+ // Block 0x49, offset 0x297
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0xa8},
+ {value: 0x0a15, lo: 0xa9, hi: 0xa9},
+ {value: 0x0a35, lo: 0xaa, hi: 0xaa},
+ {value: 0x0018, lo: 0xab, hi: 0xbf},
+ // Block 0x4a, offset 0x29c
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0xa9},
+ {value: 0x0040, lo: 0xaa, hi: 0xbf},
+ // Block 0x4b, offset 0x29f
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0x8b},
+ {value: 0x0929, lo: 0x8c, hi: 0x8c},
+ {value: 0x0018, lo: 0x8d, hi: 0xbf},
+ // Block 0x4c, offset 0x2a3
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0018, lo: 0x80, hi: 0xb3},
+ {value: 0x0eb5, lo: 0xb4, hi: 0xb4},
+ {value: 0x0931, lo: 0xb5, hi: 0xb5},
+ {value: 0x0ed5, lo: 0xb6, hi: 0xb6},
+ {value: 0x0018, lo: 0xb7, hi: 0xbf},
+ // Block 0x4d, offset 0x2a9
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0x9b},
+ {value: 0x0939, lo: 0x9c, hi: 0x9c},
+ {value: 0x0018, lo: 0x9d, hi: 0xbf},
+ // Block 0x4e, offset 0x2ad
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xb5},
+ {value: 0x0018, lo: 0xb6, hi: 0xbf},
+ // Block 0x4f, offset 0x2b1
+ {value: 0x0000, lo: 0x04},
+ {value: 0xe185, lo: 0x80, hi: 0x8f},
+ {value: 0x03f5, lo: 0x90, hi: 0x9f},
+ {value: 0x0ef5, lo: 0xa0, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x50, offset 0x2b6
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0xa5},
+ {value: 0x0040, lo: 0xa6, hi: 0xa6},
+ {value: 0x0008, lo: 0xa7, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xac},
+ {value: 0x0008, lo: 0xad, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x51, offset 0x2be
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0008, lo: 0x80, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xae},
+ {value: 0xe075, lo: 0xaf, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xb0},
+ {value: 0x0040, lo: 0xb1, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0x52, offset 0x2c5
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa6},
+ {value: 0x0040, lo: 0xa7, hi: 0xa7},
+ {value: 0x0008, lo: 0xa8, hi: 0xae},
+ {value: 0x0040, lo: 0xaf, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xb7},
+ {value: 0x0008, lo: 0xb8, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0x53, offset 0x2d0
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x87},
+ {value: 0x0008, lo: 0x88, hi: 0x8e},
+ {value: 0x0040, lo: 0x8f, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x97},
+ {value: 0x0008, lo: 0x98, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0x9f},
+ {value: 0x3308, lo: 0xa0, hi: 0xbf},
+ // Block 0x54, offset 0x2da
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0xae},
+ {value: 0x0008, lo: 0xaf, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xbf},
+ // Block 0x55, offset 0x2de
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0xbf},
+ // Block 0x56, offset 0x2e1
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0018, lo: 0x80, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9a},
+ {value: 0x0018, lo: 0x9b, hi: 0x9e},
+ {value: 0x0f2d, lo: 0x9f, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xbf},
+ // Block 0x57, offset 0x2e7
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0xb2},
+ {value: 0x0f4d, lo: 0xb3, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xbf},
+ // Block 0x58, offset 0x2eb
+ {value: 0x0020, lo: 0x01},
+ {value: 0x0f6d, lo: 0x80, hi: 0xbf},
+ // Block 0x59, offset 0x2ed
+ {value: 0x0020, lo: 0x02},
+ {value: 0x176d, lo: 0x80, hi: 0x8f},
+ {value: 0x194d, lo: 0x90, hi: 0xbf},
+ // Block 0x5a, offset 0x2f0
+ {value: 0x0020, lo: 0x01},
+ {value: 0x1f4d, lo: 0x80, hi: 0xbf},
+ // Block 0x5b, offset 0x2f2
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0040, lo: 0x80, hi: 0x80},
+ {value: 0x0008, lo: 0x81, hi: 0xbf},
+ // Block 0x5c, offset 0x2f5
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0008, lo: 0x80, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x98},
+ {value: 0x3308, lo: 0x99, hi: 0x9a},
+ {value: 0x0969, lo: 0x9b, hi: 0x9b},
+ {value: 0x0971, lo: 0x9c, hi: 0x9c},
+ {value: 0x0008, lo: 0x9d, hi: 0x9e},
+ {value: 0x0979, lo: 0x9f, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xa0},
+ {value: 0x0008, lo: 0xa1, hi: 0xbf},
+ // Block 0x5d, offset 0x2ff
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xbe},
+ {value: 0x0981, lo: 0xbf, hi: 0xbf},
+ // Block 0x5e, offset 0x302
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x0040, lo: 0x80, hi: 0x84},
+ {value: 0x0008, lo: 0x85, hi: 0xaf},
+ {value: 0x0040, lo: 0xb0, hi: 0xb0},
+ {value: 0x2a6d, lo: 0xb1, hi: 0xb1},
+ {value: 0x2a8d, lo: 0xb2, hi: 0xb2},
+ {value: 0x2aad, lo: 0xb3, hi: 0xb3},
+ {value: 0x2acd, lo: 0xb4, hi: 0xb4},
+ {value: 0x2aad, lo: 0xb5, hi: 0xb5},
+ {value: 0x2aed, lo: 0xb6, hi: 0xb6},
+ {value: 0x2b0d, lo: 0xb7, hi: 0xb7},
+ {value: 0x2b2d, lo: 0xb8, hi: 0xb9},
+ {value: 0x2b4d, lo: 0xba, hi: 0xbb},
+ {value: 0x2b6d, lo: 0xbc, hi: 0xbd},
+ {value: 0x2b4d, lo: 0xbe, hi: 0xbf},
+ // Block 0x5f, offset 0x311
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0xa5},
+ {value: 0x0040, lo: 0xa6, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x60, offset 0x315
+ {value: 0x0008, lo: 0x03},
+ {value: 0x0989, lo: 0x80, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0x9f},
+ {value: 0x0a81, lo: 0xa0, hi: 0xbf},
+ // Block 0x61, offset 0x319
+ {value: 0x0008, lo: 0x01},
+ {value: 0x0d19, lo: 0x80, hi: 0xbf},
+ // Block 0x62, offset 0x31b
+ {value: 0x0008, lo: 0x08},
+ {value: 0x0f19, lo: 0x80, hi: 0xb0},
+ {value: 0x407d, lo: 0xb1, hi: 0xb1},
+ {value: 0x10a1, lo: 0xb2, hi: 0xb3},
+ {value: 0x409d, lo: 0xb4, hi: 0xb4},
+ {value: 0x10b1, lo: 0xb5, hi: 0xb7},
+ {value: 0x40bd, lo: 0xb8, hi: 0xb8},
+ {value: 0x40bd, lo: 0xb9, hi: 0xb9},
+ {value: 0x10c9, lo: 0xba, hi: 0xbf},
+ // Block 0x63, offset 0x324
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0x8c},
+ {value: 0x0040, lo: 0x8d, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0xbf},
+ // Block 0x64, offset 0x328
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xbd},
+ {value: 0x0018, lo: 0xbe, hi: 0xbf},
+ // Block 0x65, offset 0x32d
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x8c},
+ {value: 0x0018, lo: 0x8d, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xbf},
+ // Block 0x66, offset 0x332
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0xa5},
+ {value: 0x0018, lo: 0xa6, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb1},
+ {value: 0x0018, lo: 0xb2, hi: 0xb7},
+ {value: 0x0040, lo: 0xb8, hi: 0xbf},
+ // Block 0x67, offset 0x338
+ {value: 0x0000, lo: 0x0f},
+ {value: 0x0008, lo: 0x80, hi: 0x81},
+ {value: 0x3308, lo: 0x82, hi: 0x82},
+ {value: 0x0008, lo: 0x83, hi: 0x85},
+ {value: 0x3b08, lo: 0x86, hi: 0x86},
+ {value: 0x0008, lo: 0x87, hi: 0x8a},
+ {value: 0x3308, lo: 0x8b, hi: 0x8b},
+ {value: 0x0008, lo: 0x8c, hi: 0xa2},
+ {value: 0x3008, lo: 0xa3, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xa6},
+ {value: 0x3008, lo: 0xa7, hi: 0xa7},
+ {value: 0x0018, lo: 0xa8, hi: 0xab},
+ {value: 0x3b08, lo: 0xac, hi: 0xac},
+ {value: 0x0040, lo: 0xad, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0x68, offset 0x348
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0208, lo: 0x80, hi: 0xb1},
+ {value: 0x0108, lo: 0xb2, hi: 0xb2},
+ {value: 0x0008, lo: 0xb3, hi: 0xb3},
+ {value: 0x0018, lo: 0xb4, hi: 0xb7},
+ {value: 0x0040, lo: 0xb8, hi: 0xbf},
+ // Block 0x69, offset 0x34e
+ {value: 0x0000, lo: 0x03},
+ {value: 0x3008, lo: 0x80, hi: 0x81},
+ {value: 0x0008, lo: 0x82, hi: 0xb3},
+ {value: 0x3008, lo: 0xb4, hi: 0xbf},
+ // Block 0x6a, offset 0x352
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x3008, lo: 0x80, hi: 0x83},
+ {value: 0x3b08, lo: 0x84, hi: 0x84},
+ {value: 0x3308, lo: 0x85, hi: 0x85},
+ {value: 0x0040, lo: 0x86, hi: 0x8d},
+ {value: 0x0018, lo: 0x8e, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9f},
+ {value: 0x3308, lo: 0xa0, hi: 0xb1},
+ {value: 0x0008, lo: 0xb2, hi: 0xb7},
+ {value: 0x0018, lo: 0xb8, hi: 0xba},
+ {value: 0x0008, lo: 0xbb, hi: 0xbb},
+ {value: 0x0018, lo: 0xbc, hi: 0xbc},
+ {value: 0x0008, lo: 0xbd, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0x6b, offset 0x361
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0xa5},
+ {value: 0x3308, lo: 0xa6, hi: 0xad},
+ {value: 0x0018, lo: 0xae, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x6c, offset 0x366
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x3308, lo: 0x87, hi: 0x91},
+ {value: 0x3008, lo: 0x92, hi: 0x92},
+ {value: 0x3808, lo: 0x93, hi: 0x93},
+ {value: 0x0040, lo: 0x94, hi: 0x9e},
+ {value: 0x0018, lo: 0x9f, hi: 0xbc},
+ {value: 0x0040, lo: 0xbd, hi: 0xbf},
+ // Block 0x6d, offset 0x36e
+ {value: 0x0000, lo: 0x09},
+ {value: 0x3308, lo: 0x80, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb3},
+ {value: 0x3008, lo: 0xb4, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xb9},
+ {value: 0x3008, lo: 0xba, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0x6e, offset 0x378
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x3808, lo: 0x80, hi: 0x80},
+ {value: 0x0018, lo: 0x81, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x8e},
+ {value: 0x0008, lo: 0x8f, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9d},
+ {value: 0x0018, lo: 0x9e, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xa5},
+ {value: 0x0008, lo: 0xa6, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0x6f, offset 0x383
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0xa8},
+ {value: 0x3308, lo: 0xa9, hi: 0xae},
+ {value: 0x3008, lo: 0xaf, hi: 0xb0},
+ {value: 0x3308, lo: 0xb1, hi: 0xb2},
+ {value: 0x3008, lo: 0xb3, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xbf},
+ // Block 0x70, offset 0x38b
+ {value: 0x0000, lo: 0x10},
+ {value: 0x0008, lo: 0x80, hi: 0x82},
+ {value: 0x3308, lo: 0x83, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0x8b},
+ {value: 0x3308, lo: 0x8c, hi: 0x8c},
+ {value: 0x3008, lo: 0x8d, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9b},
+ {value: 0x0018, lo: 0x9c, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xb6},
+ {value: 0x0018, lo: 0xb7, hi: 0xb9},
+ {value: 0x0008, lo: 0xba, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbc},
+ {value: 0x3008, lo: 0xbd, hi: 0xbd},
+ {value: 0x0008, lo: 0xbe, hi: 0xbf},
+ // Block 0x71, offset 0x39c
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0008, lo: 0x80, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb0},
+ {value: 0x0008, lo: 0xb1, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb4},
+ {value: 0x0008, lo: 0xb5, hi: 0xb6},
+ {value: 0x3308, lo: 0xb7, hi: 0xb8},
+ {value: 0x0008, lo: 0xb9, hi: 0xbd},
+ {value: 0x3308, lo: 0xbe, hi: 0xbf},
+ // Block 0x72, offset 0x3a5
+ {value: 0x0000, lo: 0x0f},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x81},
+ {value: 0x0008, lo: 0x82, hi: 0x82},
+ {value: 0x0040, lo: 0x83, hi: 0x9a},
+ {value: 0x0008, lo: 0x9b, hi: 0x9d},
+ {value: 0x0018, lo: 0x9e, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xaa},
+ {value: 0x3008, lo: 0xab, hi: 0xab},
+ {value: 0x3308, lo: 0xac, hi: 0xad},
+ {value: 0x3008, lo: 0xae, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xb1},
+ {value: 0x0008, lo: 0xb2, hi: 0xb4},
+ {value: 0x3008, lo: 0xb5, hi: 0xb5},
+ {value: 0x3b08, lo: 0xb6, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xbf},
+ // Block 0x73, offset 0x3b5
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0040, lo: 0x80, hi: 0x80},
+ {value: 0x0008, lo: 0x81, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x88},
+ {value: 0x0008, lo: 0x89, hi: 0x8e},
+ {value: 0x0040, lo: 0x8f, hi: 0x90},
+ {value: 0x0008, lo: 0x91, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa6},
+ {value: 0x0040, lo: 0xa7, hi: 0xa7},
+ {value: 0x0008, lo: 0xa8, hi: 0xae},
+ {value: 0x0040, lo: 0xaf, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x74, offset 0x3c2
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0x9a},
+ {value: 0x0018, lo: 0x9b, hi: 0x9b},
+ {value: 0x44d5, lo: 0x9c, hi: 0x9c},
+ {value: 0x44ed, lo: 0x9d, hi: 0x9d},
+ {value: 0x0941, lo: 0x9e, hi: 0x9e},
+ {value: 0xe06d, lo: 0x9f, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa8},
+ {value: 0x1409, lo: 0xa9, hi: 0xa9},
+ {value: 0x0018, lo: 0xaa, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xaf},
+ {value: 0x4505, lo: 0xb0, hi: 0xbf},
+ // Block 0x75, offset 0x3ce
+ {value: 0x0000, lo: 0x04},
+ {value: 0x4525, lo: 0x80, hi: 0x8f},
+ {value: 0x4545, lo: 0x90, hi: 0x9f},
+ {value: 0x4565, lo: 0xa0, hi: 0xaf},
+ {value: 0x4545, lo: 0xb0, hi: 0xbf},
+ // Block 0x76, offset 0x3d3
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0xa2},
+ {value: 0x3008, lo: 0xa3, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xa5},
+ {value: 0x3008, lo: 0xa6, hi: 0xa7},
+ {value: 0x3308, lo: 0xa8, hi: 0xa8},
+ {value: 0x3008, lo: 0xa9, hi: 0xaa},
+ {value: 0x0018, lo: 0xab, hi: 0xab},
+ {value: 0x3008, lo: 0xac, hi: 0xac},
+ {value: 0x3b08, lo: 0xad, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0x77, offset 0x3e0
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xa3},
+ {value: 0x0040, lo: 0xa4, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xbf},
+ // Block 0x78, offset 0x3e4
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x8a},
+ {value: 0x0018, lo: 0x8b, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbf},
+ // Block 0x79, offset 0x3e9
+ {value: 0x0000, lo: 0x01},
+ {value: 0x0040, lo: 0x80, hi: 0xbf},
+ // Block 0x7a, offset 0x3eb
+ {value: 0x0020, lo: 0x01},
+ {value: 0x4585, lo: 0x80, hi: 0xbf},
+ // Block 0x7b, offset 0x3ed
+ {value: 0x0020, lo: 0x03},
+ {value: 0x4d85, lo: 0x80, hi: 0x94},
+ {value: 0x4b45, lo: 0x95, hi: 0x95},
+ {value: 0x5025, lo: 0x96, hi: 0xbf},
+ // Block 0x7c, offset 0x3f1
+ {value: 0x0020, lo: 0x01},
+ {value: 0x5565, lo: 0x80, hi: 0xbf},
+ // Block 0x7d, offset 0x3f3
+ {value: 0x0020, lo: 0x03},
+ {value: 0x5d65, lo: 0x80, hi: 0x84},
+ {value: 0x56c5, lo: 0x85, hi: 0x85},
+ {value: 0x5e05, lo: 0x86, hi: 0xbf},
+ // Block 0x7e, offset 0x3f7
+ {value: 0x0020, lo: 0x08},
+ {value: 0x6bc5, lo: 0x80, hi: 0x8f},
+ {value: 0x6d85, lo: 0x90, hi: 0x90},
+ {value: 0x6dc5, lo: 0x91, hi: 0xab},
+ {value: 0x1411, lo: 0xac, hi: 0xac},
+ {value: 0x7125, lo: 0xad, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xae},
+ {value: 0x0040, lo: 0xaf, hi: 0xaf},
+ {value: 0x7145, lo: 0xb0, hi: 0xbf},
+ // Block 0x7f, offset 0x400
+ {value: 0x0020, lo: 0x05},
+ {value: 0x7345, lo: 0x80, hi: 0xad},
+ {value: 0x65a5, lo: 0xae, hi: 0xae},
+ {value: 0x7905, lo: 0xaf, hi: 0xb5},
+ {value: 0x6fc5, lo: 0xb6, hi: 0xb6},
+ {value: 0x79e5, lo: 0xb7, hi: 0xbf},
+ // Block 0x80, offset 0x406
+ {value: 0x0008, lo: 0x03},
+ {value: 0x1761, lo: 0x80, hi: 0x82},
+ {value: 0x1751, lo: 0x83, hi: 0x83},
+ {value: 0x1779, lo: 0x84, hi: 0xbf},
+ // Block 0x81, offset 0x40a
+ {value: 0x0008, lo: 0x0f},
+ {value: 0x1d91, lo: 0x80, hi: 0x83},
+ {value: 0x1da9, lo: 0x84, hi: 0x85},
+ {value: 0x1db1, lo: 0x86, hi: 0x87},
+ {value: 0x1db9, lo: 0x88, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0x90},
+ {value: 0x0018, lo: 0x91, hi: 0x91},
+ {value: 0x1df9, lo: 0x92, hi: 0x97},
+ {value: 0x1e21, lo: 0x98, hi: 0x9c},
+ {value: 0x1e41, lo: 0x9d, hi: 0xb3},
+ {value: 0x1d81, lo: 0xb4, hi: 0xb4},
+ {value: 0x1d91, lo: 0xb5, hi: 0xb5},
+ {value: 0x1ef9, lo: 0xb6, hi: 0xbb},
+ {value: 0x1f19, lo: 0xbc, hi: 0xbc},
+ {value: 0x1f09, lo: 0xbd, hi: 0xbd},
+ {value: 0x1f29, lo: 0xbe, hi: 0xbf},
+ // Block 0x82, offset 0x41a
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0008, lo: 0x80, hi: 0x8b},
+ {value: 0x0040, lo: 0x8c, hi: 0x8c},
+ {value: 0x0008, lo: 0x8d, hi: 0xa6},
+ {value: 0x0040, lo: 0xa7, hi: 0xa7},
+ {value: 0x0008, lo: 0xa8, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbb},
+ {value: 0x0008, lo: 0xbc, hi: 0xbd},
+ {value: 0x0040, lo: 0xbe, hi: 0xbe},
+ {value: 0x0008, lo: 0xbf, hi: 0xbf},
+ // Block 0x83, offset 0x424
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0xbf},
+ // Block 0x84, offset 0x429
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbf},
+ // Block 0x85, offset 0x42c
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0018, lo: 0x80, hi: 0x82},
+ {value: 0x0040, lo: 0x83, hi: 0x86},
+ {value: 0x0018, lo: 0x87, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xb6},
+ {value: 0x0018, lo: 0xb7, hi: 0xbf},
+ // Block 0x86, offset 0x432
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0018, lo: 0x80, hi: 0x8e},
+ {value: 0x0040, lo: 0x8f, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0x9c},
+ {value: 0x0040, lo: 0x9d, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xa0},
+ {value: 0x0040, lo: 0xa1, hi: 0xbf},
+ // Block 0x87, offset 0x439
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0040, lo: 0x80, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0xbc},
+ {value: 0x3308, lo: 0xbd, hi: 0xbd},
+ {value: 0x0040, lo: 0xbe, hi: 0xbf},
+ // Block 0x88, offset 0x43e
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0x9c},
+ {value: 0x0040, lo: 0x9d, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0x89, offset 0x442
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0x90},
+ {value: 0x0040, lo: 0x91, hi: 0x9f},
+ {value: 0x3308, lo: 0xa0, hi: 0xa0},
+ {value: 0x0018, lo: 0xa1, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbf},
+ // Block 0x8a, offset 0x448
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xa3},
+ {value: 0x0040, lo: 0xa4, hi: 0xac},
+ {value: 0x0008, lo: 0xad, hi: 0xbf},
+ // Block 0x8b, offset 0x44d
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0x0018, lo: 0x81, hi: 0x81},
+ {value: 0x0008, lo: 0x82, hi: 0x89},
+ {value: 0x0018, lo: 0x8a, hi: 0x8a},
+ {value: 0x0040, lo: 0x8b, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbf},
+ // Block 0x8c, offset 0x456
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0x9e},
+ {value: 0x0018, lo: 0x9f, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0x8d, offset 0x45b
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0x83},
+ {value: 0x0040, lo: 0x84, hi: 0x87},
+ {value: 0x0008, lo: 0x88, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0xbf},
+ // Block 0x8e, offset 0x461
+ {value: 0x0000, lo: 0x06},
+ {value: 0xe145, lo: 0x80, hi: 0x87},
+ {value: 0xe1c5, lo: 0x88, hi: 0x8f},
+ {value: 0xe145, lo: 0x90, hi: 0x97},
+ {value: 0x8b45, lo: 0x98, hi: 0x9f},
+ {value: 0x8b5d, lo: 0xa0, hi: 0xa7},
+ {value: 0x0008, lo: 0xa8, hi: 0xbf},
+ // Block 0x8f, offset 0x468
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0008, lo: 0x80, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa9},
+ {value: 0x0040, lo: 0xaa, hi: 0xaf},
+ {value: 0x8b5d, lo: 0xb0, hi: 0xb7},
+ {value: 0x8b45, lo: 0xb8, hi: 0xbf},
+ // Block 0x90, offset 0x46f
+ {value: 0x0000, lo: 0x06},
+ {value: 0xe145, lo: 0x80, hi: 0x87},
+ {value: 0xe1c5, lo: 0x88, hi: 0x8f},
+ {value: 0xe145, lo: 0x90, hi: 0x93},
+ {value: 0x0040, lo: 0x94, hi: 0x97},
+ {value: 0x0008, lo: 0x98, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbf},
+ // Block 0x91, offset 0x476
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x92, offset 0x47a
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xbf},
+ // Block 0x93, offset 0x47d
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xbf},
+ // Block 0x94, offset 0x480
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xbf},
+ // Block 0x95, offset 0x485
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0808, lo: 0x80, hi: 0x85},
+ {value: 0x0040, lo: 0x86, hi: 0x87},
+ {value: 0x0808, lo: 0x88, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x89},
+ {value: 0x0808, lo: 0x8a, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xb6},
+ {value: 0x0808, lo: 0xb7, hi: 0xb8},
+ {value: 0x0040, lo: 0xb9, hi: 0xbb},
+ {value: 0x0808, lo: 0xbc, hi: 0xbc},
+ {value: 0x0040, lo: 0xbd, hi: 0xbe},
+ {value: 0x0808, lo: 0xbf, hi: 0xbf},
+ // Block 0x96, offset 0x491
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0808, lo: 0x80, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0x96},
+ {value: 0x0818, lo: 0x97, hi: 0x9f},
+ {value: 0x0808, lo: 0xa0, hi: 0xb6},
+ {value: 0x0818, lo: 0xb7, hi: 0xbf},
+ // Block 0x97, offset 0x497
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0808, lo: 0x80, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0xa6},
+ {value: 0x0818, lo: 0xa7, hi: 0xaf},
+ {value: 0x0040, lo: 0xb0, hi: 0xbf},
+ // Block 0x98, offset 0x49c
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0040, lo: 0x80, hi: 0x9f},
+ {value: 0x0808, lo: 0xa0, hi: 0xb2},
+ {value: 0x0040, lo: 0xb3, hi: 0xb3},
+ {value: 0x0808, lo: 0xb4, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xba},
+ {value: 0x0818, lo: 0xbb, hi: 0xbf},
+ // Block 0x99, offset 0x4a3
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0808, lo: 0x80, hi: 0x95},
+ {value: 0x0818, lo: 0x96, hi: 0x9b},
+ {value: 0x0040, lo: 0x9c, hi: 0x9e},
+ {value: 0x0018, lo: 0x9f, hi: 0x9f},
+ {value: 0x0808, lo: 0xa0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbe},
+ {value: 0x0818, lo: 0xbf, hi: 0xbf},
+ // Block 0x9a, offset 0x4ab
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0808, lo: 0x80, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0xbf},
+ // Block 0x9b, offset 0x4ae
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0808, lo: 0x80, hi: 0xb7},
+ {value: 0x0040, lo: 0xb8, hi: 0xbb},
+ {value: 0x0818, lo: 0xbc, hi: 0xbd},
+ {value: 0x0808, lo: 0xbe, hi: 0xbf},
+ // Block 0x9c, offset 0x4b3
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0818, lo: 0x80, hi: 0x8f},
+ {value: 0x0040, lo: 0x90, hi: 0x91},
+ {value: 0x0818, lo: 0x92, hi: 0xbf},
+ // Block 0x9d, offset 0x4b7
+ {value: 0x0000, lo: 0x0f},
+ {value: 0x0808, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x83},
+ {value: 0x0040, lo: 0x84, hi: 0x84},
+ {value: 0x3308, lo: 0x85, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x8b},
+ {value: 0x3308, lo: 0x8c, hi: 0x8f},
+ {value: 0x0808, lo: 0x90, hi: 0x93},
+ {value: 0x0040, lo: 0x94, hi: 0x94},
+ {value: 0x0808, lo: 0x95, hi: 0x97},
+ {value: 0x0040, lo: 0x98, hi: 0x98},
+ {value: 0x0808, lo: 0x99, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xb7},
+ {value: 0x3308, lo: 0xb8, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0x9e, offset 0x4c7
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0818, lo: 0x80, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x8f},
+ {value: 0x0818, lo: 0x90, hi: 0x98},
+ {value: 0x0040, lo: 0x99, hi: 0x9f},
+ {value: 0x0808, lo: 0xa0, hi: 0xbc},
+ {value: 0x0818, lo: 0xbd, hi: 0xbf},
+ // Block 0x9f, offset 0x4ce
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0808, lo: 0x80, hi: 0x9c},
+ {value: 0x0818, lo: 0x9d, hi: 0x9f},
+ {value: 0x0040, lo: 0xa0, hi: 0xbf},
+ // Block 0xa0, offset 0x4d2
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0808, lo: 0x80, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xb8},
+ {value: 0x0018, lo: 0xb9, hi: 0xbf},
+ // Block 0xa1, offset 0x4d6
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0808, lo: 0x80, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0x97},
+ {value: 0x0818, lo: 0x98, hi: 0x9f},
+ {value: 0x0808, lo: 0xa0, hi: 0xb2},
+ {value: 0x0040, lo: 0xb3, hi: 0xb7},
+ {value: 0x0818, lo: 0xb8, hi: 0xbf},
+ // Block 0xa2, offset 0x4dd
+ {value: 0x0000, lo: 0x01},
+ {value: 0x0808, lo: 0x80, hi: 0xbf},
+ // Block 0xa3, offset 0x4df
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0808, lo: 0x80, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0xbf},
+ // Block 0xa4, offset 0x4e2
+ {value: 0x0000, lo: 0x02},
+ {value: 0x03dd, lo: 0x80, hi: 0xb2},
+ {value: 0x0040, lo: 0xb3, hi: 0xbf},
+ // Block 0xa5, offset 0x4e5
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0808, lo: 0x80, hi: 0xb2},
+ {value: 0x0040, lo: 0xb3, hi: 0xb9},
+ {value: 0x0818, lo: 0xba, hi: 0xbf},
+ // Block 0xa6, offset 0x4e9
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0908, lo: 0x80, hi: 0x80},
+ {value: 0x0a08, lo: 0x81, hi: 0xa1},
+ {value: 0x0c08, lo: 0xa2, hi: 0xa2},
+ {value: 0x0a08, lo: 0xa3, hi: 0xa3},
+ {value: 0x3308, lo: 0xa4, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xaf},
+ {value: 0x0808, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0xa7, offset 0x4f2
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0808, lo: 0x80, hi: 0x8f},
+ {value: 0xe105, lo: 0x90, hi: 0x9f},
+ {value: 0x8cdd, lo: 0xa0, hi: 0xa5},
+ {value: 0x0040, lo: 0xa6, hi: 0xa8},
+ {value: 0x3308, lo: 0xa9, hi: 0xad},
+ {value: 0x0018, lo: 0xae, hi: 0xae},
+ {value: 0x0808, lo: 0xaf, hi: 0xbf},
+ // Block 0xa8, offset 0x4fa
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0808, lo: 0x80, hi: 0x85},
+ {value: 0x0040, lo: 0x86, hi: 0x8d},
+ {value: 0x0818, lo: 0x8e, hi: 0x8f},
+ {value: 0x0040, lo: 0x90, hi: 0xbf},
+ // Block 0xa9, offset 0x4ff
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0040, lo: 0x80, hi: 0x9f},
+ {value: 0x0818, lo: 0xa0, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0xaa, offset 0x503
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0808, lo: 0x80, hi: 0xa9},
+ {value: 0x0040, lo: 0xaa, hi: 0xaa},
+ {value: 0x3308, lo: 0xab, hi: 0xac},
+ {value: 0x0818, lo: 0xad, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x0808, lo: 0xb0, hi: 0xb1},
+ {value: 0x0040, lo: 0xb2, hi: 0xbf},
+ // Block 0xab, offset 0x50b
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0040, lo: 0x80, hi: 0x81},
+ {value: 0x0c08, lo: 0x82, hi: 0x82},
+ {value: 0x0a08, lo: 0x83, hi: 0x84},
+ {value: 0x0808, lo: 0x85, hi: 0x85},
+ {value: 0x0a08, lo: 0x86, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0x98},
+ {value: 0x0040, lo: 0x99, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xbf},
+ // Block 0xac, offset 0x515
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0808, lo: 0x80, hi: 0x9c},
+ {value: 0x0818, lo: 0x9d, hi: 0xa6},
+ {value: 0x0808, lo: 0xa7, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xaf},
+ {value: 0x0a08, lo: 0xb0, hi: 0xb2},
+ {value: 0x0c08, lo: 0xb3, hi: 0xb3},
+ {value: 0x0a08, lo: 0xb4, hi: 0xbf},
+ // Block 0xad, offset 0x51d
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0a08, lo: 0x80, hi: 0x84},
+ {value: 0x0808, lo: 0x85, hi: 0x85},
+ {value: 0x3308, lo: 0x86, hi: 0x90},
+ {value: 0x0a18, lo: 0x91, hi: 0x93},
+ {value: 0x0c18, lo: 0x94, hi: 0x94},
+ {value: 0x0818, lo: 0x95, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0xaf},
+ {value: 0x0a08, lo: 0xb0, hi: 0xb3},
+ {value: 0x0c08, lo: 0xb4, hi: 0xb5},
+ {value: 0x0a08, lo: 0xb6, hi: 0xbf},
+ // Block 0xae, offset 0x528
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x0a08, lo: 0x80, hi: 0x81},
+ {value: 0x3308, lo: 0x82, hi: 0x85},
+ {value: 0x0818, lo: 0x86, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0xaf},
+ {value: 0x0a08, lo: 0xb0, hi: 0xb0},
+ {value: 0x0808, lo: 0xb1, hi: 0xb1},
+ {value: 0x0a08, lo: 0xb2, hi: 0xb3},
+ {value: 0x0c08, lo: 0xb4, hi: 0xb6},
+ {value: 0x0808, lo: 0xb7, hi: 0xb7},
+ {value: 0x0a08, lo: 0xb8, hi: 0xb8},
+ {value: 0x0c08, lo: 0xb9, hi: 0xba},
+ {value: 0x0a08, lo: 0xbb, hi: 0xbc},
+ {value: 0x0c08, lo: 0xbd, hi: 0xbd},
+ {value: 0x0a08, lo: 0xbe, hi: 0xbf},
+ // Block 0xaf, offset 0x537
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0808, lo: 0x80, hi: 0x80},
+ {value: 0x0a08, lo: 0x81, hi: 0x81},
+ {value: 0x0c08, lo: 0x82, hi: 0x83},
+ {value: 0x0a08, lo: 0x84, hi: 0x84},
+ {value: 0x0818, lo: 0x85, hi: 0x88},
+ {value: 0x0c18, lo: 0x89, hi: 0x89},
+ {value: 0x0a18, lo: 0x8a, hi: 0x8a},
+ {value: 0x0918, lo: 0x8b, hi: 0x8b},
+ {value: 0x0040, lo: 0x8c, hi: 0x9f},
+ {value: 0x0808, lo: 0xa0, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xbf},
+ // Block 0xb0, offset 0x543
+ {value: 0x0000, lo: 0x05},
+ {value: 0x3008, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
+ {value: 0x0008, lo: 0x83, hi: 0xb7},
+ {value: 0x3308, lo: 0xb8, hi: 0xbf},
+ // Block 0xb1, offset 0x549
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x3308, lo: 0x80, hi: 0x85},
+ {value: 0x3b08, lo: 0x86, hi: 0x86},
+ {value: 0x0018, lo: 0x87, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x91},
+ {value: 0x0018, lo: 0x92, hi: 0xa5},
+ {value: 0x0008, lo: 0xa6, hi: 0xaf},
+ {value: 0x3b08, lo: 0xb0, hi: 0xb0},
+ {value: 0x0008, lo: 0xb1, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb4},
+ {value: 0x0008, lo: 0xb5, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xb2, offset 0x556
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
+ {value: 0x0008, lo: 0x83, hi: 0xaf},
+ {value: 0x3008, lo: 0xb0, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb6},
+ {value: 0x3008, lo: 0xb7, hi: 0xb8},
+ {value: 0x3b08, lo: 0xb9, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
+ {value: 0x0018, lo: 0xbb, hi: 0xbc},
+ {value: 0x0040, lo: 0xbd, hi: 0xbd},
+ {value: 0x0018, lo: 0xbe, hi: 0xbf},
+ // Block 0xb3, offset 0x562
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0018, lo: 0x80, hi: 0x81},
+ {value: 0x3308, lo: 0x82, hi: 0x82},
+ {value: 0x0040, lo: 0x83, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xa8},
+ {value: 0x0040, lo: 0xa9, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0xb4, offset 0x56a
+ {value: 0x0000, lo: 0x08},
+ {value: 0x3308, lo: 0x80, hi: 0x82},
+ {value: 0x0008, lo: 0x83, hi: 0xa6},
+ {value: 0x3308, lo: 0xa7, hi: 0xab},
+ {value: 0x3008, lo: 0xac, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xb2},
+ {value: 0x3b08, lo: 0xb3, hi: 0xb4},
+ {value: 0x0040, lo: 0xb5, hi: 0xb5},
+ {value: 0x0008, lo: 0xb6, hi: 0xbf},
+ // Block 0xb5, offset 0x573
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0018, lo: 0x80, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0x84},
+ {value: 0x3008, lo: 0x85, hi: 0x86},
+ {value: 0x0008, lo: 0x87, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb3},
+ {value: 0x0018, lo: 0xb4, hi: 0xb5},
+ {value: 0x0008, lo: 0xb6, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xbf},
+ // Block 0xb6, offset 0x57e
+ {value: 0x0000, lo: 0x06},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
+ {value: 0x0008, lo: 0x83, hi: 0xb2},
+ {value: 0x3008, lo: 0xb3, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xbe},
+ {value: 0x3008, lo: 0xbf, hi: 0xbf},
+ // Block 0xb7, offset 0x585
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x3808, lo: 0x80, hi: 0x80},
+ {value: 0x0008, lo: 0x81, hi: 0x84},
+ {value: 0x0018, lo: 0x85, hi: 0x88},
+ {value: 0x3308, lo: 0x89, hi: 0x8c},
+ {value: 0x0018, lo: 0x8d, hi: 0x8d},
+ {value: 0x3008, lo: 0x8e, hi: 0x8e},
+ {value: 0x3308, lo: 0x8f, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x9a},
+ {value: 0x0018, lo: 0x9b, hi: 0x9b},
+ {value: 0x0008, lo: 0x9c, hi: 0x9c},
+ {value: 0x0018, lo: 0x9d, hi: 0x9f},
+ {value: 0x0040, lo: 0xa0, hi: 0xa0},
+ {value: 0x0018, lo: 0xa1, hi: 0xb4},
+ {value: 0x0040, lo: 0xb5, hi: 0xbf},
+ // Block 0xb8, offset 0x594
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x91},
+ {value: 0x0040, lo: 0x92, hi: 0x92},
+ {value: 0x0008, lo: 0x93, hi: 0xab},
+ {value: 0x3008, lo: 0xac, hi: 0xae},
+ {value: 0x3308, lo: 0xaf, hi: 0xb1},
+ {value: 0x3008, lo: 0xb2, hi: 0xb3},
+ {value: 0x3308, lo: 0xb4, hi: 0xb4},
+ {value: 0x3808, lo: 0xb5, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xb7},
+ {value: 0x0018, lo: 0xb8, hi: 0xbd},
+ {value: 0x3308, lo: 0xbe, hi: 0xbe},
+ {value: 0x0008, lo: 0xbf, hi: 0xbf},
+ // Block 0xb9, offset 0x5a1
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x81},
+ {value: 0x0040, lo: 0x82, hi: 0xbf},
+ // Block 0xba, offset 0x5a5
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x87},
+ {value: 0x0008, lo: 0x88, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x89},
+ {value: 0x0008, lo: 0x8a, hi: 0x8d},
+ {value: 0x0040, lo: 0x8e, hi: 0x8e},
+ {value: 0x0008, lo: 0x8f, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0x9e},
+ {value: 0x0008, lo: 0x9f, hi: 0xa8},
+ {value: 0x0018, lo: 0xa9, hi: 0xa9},
+ {value: 0x0040, lo: 0xaa, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0xbb, offset 0x5b2
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0008, lo: 0x80, hi: 0x9e},
+ {value: 0x3308, lo: 0x9f, hi: 0x9f},
+ {value: 0x3008, lo: 0xa0, hi: 0xa2},
+ {value: 0x3308, lo: 0xa3, hi: 0xa9},
+ {value: 0x3b08, lo: 0xaa, hi: 0xaa},
+ {value: 0x0040, lo: 0xab, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0xbc, offset 0x5bb
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8a},
+ {value: 0x0008, lo: 0x8b, hi: 0x8b},
+ {value: 0x0040, lo: 0x8c, hi: 0x8d},
+ {value: 0x0008, lo: 0x8e, hi: 0x8e},
+ {value: 0x0040, lo: 0x8f, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xb6},
+ {value: 0x0008, lo: 0xb7, hi: 0xb7},
+ {value: 0x3008, lo: 0xb8, hi: 0xba},
+ {value: 0x3308, lo: 0xbb, hi: 0xbf},
+ // Block 0xbd, offset 0x5c7
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xb4},
+ {value: 0x3008, lo: 0xb5, hi: 0xb7},
+ {value: 0x3308, lo: 0xb8, hi: 0xbf},
+ // Block 0xbe, offset 0x5cb
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x3008, lo: 0x80, hi: 0x81},
+ {value: 0x3b08, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x83, hi: 0x84},
+ {value: 0x3008, lo: 0x85, hi: 0x85},
+ {value: 0x3308, lo: 0x86, hi: 0x86},
+ {value: 0x0008, lo: 0x87, hi: 0x8a},
+ {value: 0x0018, lo: 0x8b, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0018, lo: 0x9a, hi: 0x9b},
+ {value: 0x0040, lo: 0x9c, hi: 0x9c},
+ {value: 0x0018, lo: 0x9d, hi: 0x9d},
+ {value: 0x3308, lo: 0x9e, hi: 0x9e},
+ {value: 0x0008, lo: 0x9f, hi: 0xa1},
+ {value: 0x0040, lo: 0xa2, hi: 0xbf},
+ // Block 0xbf, offset 0x5da
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0xaf},
+ {value: 0x3008, lo: 0xb0, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb8},
+ {value: 0x3008, lo: 0xb9, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0xc0, offset 0x5e2
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x3008, lo: 0x81, hi: 0x81},
+ {value: 0x3b08, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x83, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0x85},
+ {value: 0x0018, lo: 0x86, hi: 0x86},
+ {value: 0x0008, lo: 0x87, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0xbf},
+ // Block 0xc1, offset 0x5ed
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0008, lo: 0x80, hi: 0xae},
+ {value: 0x3008, lo: 0xaf, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xb7},
+ {value: 0x3008, lo: 0xb8, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xc2, offset 0x5f6
+ {value: 0x0000, lo: 0x05},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x0018, lo: 0x81, hi: 0x97},
+ {value: 0x0008, lo: 0x98, hi: 0x9b},
+ {value: 0x3308, lo: 0x9c, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0xbf},
+ // Block 0xc3, offset 0x5fc
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0xaf},
+ {value: 0x3008, lo: 0xb0, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbc},
+ {value: 0x3308, lo: 0xbd, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xc4, offset 0x604
+ {value: 0x0000, lo: 0x08},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x0018, lo: 0x81, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0x84},
+ {value: 0x0040, lo: 0x85, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xac},
+ {value: 0x0040, lo: 0xad, hi: 0xbf},
+ // Block 0xc5, offset 0x60d
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0xaa},
+ {value: 0x3308, lo: 0xab, hi: 0xab},
+ {value: 0x3008, lo: 0xac, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xad},
+ {value: 0x3008, lo: 0xae, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb5},
+ {value: 0x3808, lo: 0xb6, hi: 0xb6},
+ {value: 0x3308, lo: 0xb7, hi: 0xb7},
+ {value: 0x0008, lo: 0xb8, hi: 0xb8},
+ {value: 0x0018, lo: 0xb9, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0xc6, offset 0x619
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xa3},
+ {value: 0x0040, lo: 0xa4, hi: 0xbf},
+ // Block 0xc7, offset 0x61e
+ {value: 0x0000, lo: 0x0d},
+ {value: 0x0008, lo: 0x80, hi: 0x9a},
+ {value: 0x0040, lo: 0x9b, hi: 0x9c},
+ {value: 0x3308, lo: 0x9d, hi: 0x9d},
+ {value: 0x3008, lo: 0x9e, hi: 0x9e},
+ {value: 0x3308, lo: 0x9f, hi: 0x9f},
+ {value: 0x3008, lo: 0xa0, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa5},
+ {value: 0x3008, lo: 0xa6, hi: 0xa6},
+ {value: 0x3308, lo: 0xa7, hi: 0xaa},
+ {value: 0x3b08, lo: 0xab, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0018, lo: 0xba, hi: 0xbf},
+ // Block 0xc8, offset 0x62c
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0xbf},
+ // Block 0xc9, offset 0x62f
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0008, lo: 0x80, hi: 0xab},
+ {value: 0x3008, lo: 0xac, hi: 0xae},
+ {value: 0x3308, lo: 0xaf, hi: 0xb7},
+ {value: 0x3008, lo: 0xb8, hi: 0xb8},
+ {value: 0x3b08, lo: 0xb9, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
+ {value: 0x0018, lo: 0xbb, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbf},
+ // Block 0xca, offset 0x638
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0040, lo: 0x80, hi: 0x9f},
+ {value: 0x049d, lo: 0xa0, hi: 0xbf},
+ // Block 0xcb, offset 0x63b
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0xa9},
+ {value: 0x0018, lo: 0xaa, hi: 0xb2},
+ {value: 0x0040, lo: 0xb3, hi: 0xbe},
+ {value: 0x0008, lo: 0xbf, hi: 0xbf},
+ // Block 0xcc, offset 0x640
+ {value: 0x0000, lo: 0x08},
+ {value: 0x3008, lo: 0x80, hi: 0x80},
+ {value: 0x0008, lo: 0x81, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x83, hi: 0x83},
+ {value: 0x0018, lo: 0x84, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0xbf},
+ // Block 0xcd, offset 0x649
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0040, lo: 0x80, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xa9},
+ {value: 0x0008, lo: 0xaa, hi: 0xbf},
+ // Block 0xce, offset 0x64e
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x90},
+ {value: 0x3008, lo: 0x91, hi: 0x93},
+ {value: 0x3308, lo: 0x94, hi: 0x97},
+ {value: 0x0040, lo: 0x98, hi: 0x99},
+ {value: 0x3308, lo: 0x9a, hi: 0x9b},
+ {value: 0x3008, lo: 0x9c, hi: 0x9f},
+ {value: 0x3b08, lo: 0xa0, hi: 0xa0},
+ {value: 0x0008, lo: 0xa1, hi: 0xa1},
+ {value: 0x0018, lo: 0xa2, hi: 0xa2},
+ {value: 0x0008, lo: 0xa3, hi: 0xa3},
+ {value: 0x3008, lo: 0xa4, hi: 0xa4},
+ {value: 0x0040, lo: 0xa5, hi: 0xbf},
+ // Block 0xcf, offset 0x65b
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x8a},
+ {value: 0x0008, lo: 0x8b, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb3},
+ {value: 0x3b08, lo: 0xb4, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb8},
+ {value: 0x3008, lo: 0xb9, hi: 0xb9},
+ {value: 0x0008, lo: 0xba, hi: 0xba},
+ {value: 0x3308, lo: 0xbb, hi: 0xbe},
+ {value: 0x0018, lo: 0xbf, hi: 0xbf},
+ // Block 0xd0, offset 0x666
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0018, lo: 0x80, hi: 0x86},
+ {value: 0x3b08, lo: 0x87, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x90},
+ {value: 0x3308, lo: 0x91, hi: 0x96},
+ {value: 0x3008, lo: 0x97, hi: 0x98},
+ {value: 0x3308, lo: 0x99, hi: 0x9b},
+ {value: 0x0008, lo: 0x9c, hi: 0xbf},
+ // Block 0xd1, offset 0x66f
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x3308, lo: 0x8a, hi: 0x96},
+ {value: 0x3008, lo: 0x97, hi: 0x97},
+ {value: 0x3308, lo: 0x98, hi: 0x98},
+ {value: 0x3b08, lo: 0x99, hi: 0x99},
+ {value: 0x0018, lo: 0x9a, hi: 0x9c},
+ {value: 0x0008, lo: 0x9d, hi: 0x9d},
+ {value: 0x0018, lo: 0x9e, hi: 0xa2},
+ {value: 0x0040, lo: 0xa3, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0xd2, offset 0x67a
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xb8},
+ {value: 0x0040, lo: 0xb9, hi: 0xbf},
+ // Block 0xd3, offset 0x67d
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0xbf},
+ // Block 0xd4, offset 0x680
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0040, lo: 0x80, hi: 0x9f},
+ {value: 0x3308, lo: 0xa0, hi: 0xa0},
+ {value: 0x3008, lo: 0xa1, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa4},
+ {value: 0x3008, lo: 0xa5, hi: 0xa5},
+ {value: 0x3308, lo: 0xa6, hi: 0xa6},
+ {value: 0x3008, lo: 0xa7, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xbf},
+ // Block 0xd5, offset 0x689
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0xa0},
+ {value: 0x0018, lo: 0xa1, hi: 0xa1},
+ {value: 0x0040, lo: 0xa2, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0xd6, offset 0x68f
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0008, lo: 0x80, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x89},
+ {value: 0x0008, lo: 0x8a, hi: 0xae},
+ {value: 0x3008, lo: 0xaf, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xb7},
+ {value: 0x3308, lo: 0xb8, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xd7, offset 0x699
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0x0018, lo: 0x81, hi: 0x85},
+ {value: 0x0040, lo: 0x86, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0018, lo: 0x9a, hi: 0xac},
+ {value: 0x0040, lo: 0xad, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xb1},
+ {value: 0x0008, lo: 0xb2, hi: 0xbf},
+ // Block 0xd8, offset 0x6a2
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0x8f},
+ {value: 0x0040, lo: 0x90, hi: 0x91},
+ {value: 0x3308, lo: 0x92, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xa8},
+ {value: 0x3008, lo: 0xa9, hi: 0xa9},
+ {value: 0x3308, lo: 0xaa, hi: 0xb0},
+ {value: 0x3008, lo: 0xb1, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb3},
+ {value: 0x3008, lo: 0xb4, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xbf},
+ // Block 0xd9, offset 0x6ae
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x87},
+ {value: 0x0008, lo: 0x88, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8a},
+ {value: 0x0008, lo: 0x8b, hi: 0xb0},
+ {value: 0x3308, lo: 0xb1, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbd},
+ {value: 0x0040, lo: 0xbe, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0xda, offset 0x6bb
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x3308, lo: 0x80, hi: 0x83},
+ {value: 0x3b08, lo: 0x84, hi: 0x85},
+ {value: 0x0008, lo: 0x86, hi: 0x86},
+ {value: 0x3308, lo: 0x87, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa5},
+ {value: 0x0040, lo: 0xa6, hi: 0xa6},
+ {value: 0x0008, lo: 0xa7, hi: 0xa8},
+ {value: 0x0040, lo: 0xa9, hi: 0xa9},
+ {value: 0x0008, lo: 0xaa, hi: 0xbf},
+ // Block 0xdb, offset 0x6c8
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x3008, lo: 0x8a, hi: 0x8e},
+ {value: 0x0040, lo: 0x8f, hi: 0x8f},
+ {value: 0x3308, lo: 0x90, hi: 0x91},
+ {value: 0x0040, lo: 0x92, hi: 0x92},
+ {value: 0x3008, lo: 0x93, hi: 0x94},
+ {value: 0x3308, lo: 0x95, hi: 0x95},
+ {value: 0x3008, lo: 0x96, hi: 0x96},
+ {value: 0x3b08, lo: 0x97, hi: 0x97},
+ {value: 0x0008, lo: 0x98, hi: 0x98},
+ {value: 0x0040, lo: 0x99, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa9},
+ {value: 0x0040, lo: 0xaa, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0xdc, offset 0x6d7
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x9b},
+ {value: 0x0040, lo: 0x9c, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa9},
+ {value: 0x0040, lo: 0xaa, hi: 0xbf},
+ // Block 0xdd, offset 0x6dc
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0040, lo: 0x80, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb4},
+ {value: 0x3008, lo: 0xb5, hi: 0xb6},
+ {value: 0x0018, lo: 0xb7, hi: 0xb8},
+ {value: 0x0040, lo: 0xb9, hi: 0xbf},
+ // Block 0xde, offset 0x6e3
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x0008, lo: 0x82, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x83},
+ {value: 0x0008, lo: 0x84, hi: 0x90},
+ {value: 0x0040, lo: 0x91, hi: 0x91},
+ {value: 0x0008, lo: 0x92, hi: 0xb3},
+ {value: 0x3008, lo: 0xb4, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0xdf, offset 0x6ee
+ {value: 0x0000, lo: 0x07},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x3808, lo: 0x81, hi: 0x81},
+ {value: 0x3b08, lo: 0x82, hi: 0x82},
+ {value: 0x0018, lo: 0x83, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x3308, lo: 0x9a, hi: 0x9a},
+ {value: 0x0040, lo: 0x9b, hi: 0xbf},
+ // Block 0xe0, offset 0x6f6
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0040, lo: 0x80, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb0},
+ {value: 0x0040, lo: 0xb1, hi: 0xbf},
+ // Block 0xe1, offset 0x6fa
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0xb1},
+ {value: 0x0040, lo: 0xb2, hi: 0xbe},
+ {value: 0x0018, lo: 0xbf, hi: 0xbf},
+ // Block 0xe2, offset 0x6fe
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0xbf},
+ // Block 0xe3, offset 0x701
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0xae},
+ {value: 0x0040, lo: 0xaf, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xb4},
+ {value: 0x0040, lo: 0xb5, hi: 0xbf},
+ // Block 0xe4, offset 0x706
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0x83},
+ {value: 0x0040, lo: 0x84, hi: 0xbf},
+ // Block 0xe5, offset 0x709
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0040, lo: 0x80, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xbf},
+ // Block 0xe6, offset 0x70c
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xb0},
+ {value: 0x0018, lo: 0xb1, hi: 0xb2},
+ {value: 0x0040, lo: 0xb3, hi: 0xbf},
+ // Block 0xe7, offset 0x710
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xaf},
+ {value: 0x0340, lo: 0xb0, hi: 0xbf},
+ // Block 0xe8, offset 0x713
+ {value: 0x0000, lo: 0x05},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x0008, lo: 0x81, hi: 0x86},
+ {value: 0x3308, lo: 0x87, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0xe9, offset 0x719
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0x9d},
+ {value: 0x3308, lo: 0x9e, hi: 0xa9},
+ {value: 0x3008, lo: 0xaa, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xae},
+ {value: 0x3b08, lo: 0xaf, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0xea, offset 0x721
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0008, lo: 0x80, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa9},
+ {value: 0x0040, lo: 0xaa, hi: 0xad},
+ {value: 0x0018, lo: 0xae, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0xeb, offset 0x728
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0xec, offset 0x72b
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb4},
+ {value: 0x0018, lo: 0xb5, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xbf},
+ // Block 0xed, offset 0x733
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb6},
+ {value: 0x0018, lo: 0xb7, hi: 0xbf},
+ // Block 0xee, offset 0x737
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0008, lo: 0x80, hi: 0x83},
+ {value: 0x0018, lo: 0x84, hi: 0x85},
+ {value: 0x0040, lo: 0x86, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9a},
+ {value: 0x0018, lo: 0x9b, hi: 0xa1},
+ {value: 0x0040, lo: 0xa2, hi: 0xa2},
+ {value: 0x0008, lo: 0xa3, hi: 0xb7},
+ {value: 0x0040, lo: 0xb8, hi: 0xbc},
+ {value: 0x0008, lo: 0xbd, hi: 0xbf},
+ // Block 0xef, offset 0x742
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0x8f},
+ {value: 0x0040, lo: 0x90, hi: 0xbf},
+ // Block 0xf0, offset 0x745
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0008, lo: 0x80, hi: 0xa6},
+ {value: 0x2008, lo: 0xa7, hi: 0xa8},
+ {value: 0x0008, lo: 0xa9, hi: 0xac},
+ {value: 0x0018, lo: 0xad, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0xf1, offset 0x74c
+ {value: 0x0000, lo: 0x02},
+ {value: 0xe105, lo: 0x80, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0xf2, offset 0x74f
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0x93},
+ {value: 0x0040, lo: 0x94, hi: 0xbf},
+ // Block 0xf3, offset 0x752
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0x8a},
+ {value: 0x0040, lo: 0x8b, hi: 0x8e},
+ {value: 0x3308, lo: 0x8f, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x90},
+ {value: 0x3008, lo: 0x91, hi: 0xbf},
+ // Block 0xf4, offset 0x758
+ {value: 0x0000, lo: 0x05},
+ {value: 0x3008, lo: 0x80, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8e},
+ {value: 0x3308, lo: 0x8f, hi: 0x92},
+ {value: 0x0008, lo: 0x93, hi: 0x9f},
+ {value: 0x0040, lo: 0xa0, hi: 0xbf},
+ // Block 0xf5, offset 0x75e
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0040, lo: 0x80, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa1},
+ {value: 0x0018, lo: 0xa2, hi: 0xa2},
+ {value: 0x0008, lo: 0xa3, hi: 0xa3},
+ {value: 0x3308, lo: 0xa4, hi: 0xa4},
+ {value: 0x0040, lo: 0xa5, hi: 0xaf},
+ {value: 0x3008, lo: 0xb0, hi: 0xb1},
+ {value: 0x0008, lo: 0xb2, hi: 0xb3},
+ {value: 0x0018, lo: 0xb4, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xbf},
+ // Block 0xf6, offset 0x769
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0xbe},
+ {value: 0x0008, lo: 0xbf, hi: 0xbf},
+ // Block 0xf7, offset 0x76d
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0xbf},
+ // Block 0xf8, offset 0x770
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xb2},
+ {value: 0x0040, lo: 0xb3, hi: 0xbf},
+ // Block 0xf9, offset 0x773
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0040, lo: 0x80, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xb4},
+ {value: 0x0008, lo: 0xb5, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbc},
+ {value: 0x0008, lo: 0xbd, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0xfa, offset 0x77b
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0xa2},
+ {value: 0x0040, lo: 0xa3, hi: 0xb1},
+ {value: 0x0008, lo: 0xb2, hi: 0xb2},
+ {value: 0x0040, lo: 0xb3, hi: 0xbf},
+ // Block 0xfb, offset 0x780
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0040, lo: 0x80, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x92},
+ {value: 0x0040, lo: 0x93, hi: 0x94},
+ {value: 0x0008, lo: 0x95, hi: 0x95},
+ {value: 0x0040, lo: 0x96, hi: 0xa3},
+ {value: 0x0008, lo: 0xa4, hi: 0xa7},
+ {value: 0x0040, lo: 0xa8, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0xfc, offset 0x789
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbf},
+ // Block 0xfd, offset 0x78c
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0xaa},
+ {value: 0x0040, lo: 0xab, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbc},
+ {value: 0x0040, lo: 0xbd, hi: 0xbf},
+ // Block 0xfe, offset 0x791
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0008, lo: 0x80, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9b},
+ {value: 0x0018, lo: 0x9c, hi: 0x9c},
+ {value: 0x3308, lo: 0x9d, hi: 0x9e},
+ {value: 0x0018, lo: 0x9f, hi: 0x9f},
+ {value: 0x03c0, lo: 0xa0, hi: 0xa3},
+ {value: 0x0040, lo: 0xa4, hi: 0xbf},
+ // Block 0xff, offset 0x79b
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xb9},
+ {value: 0x0018, lo: 0xba, hi: 0xbf},
+ // Block 0x100, offset 0x79f
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x90},
+ {value: 0x0040, lo: 0x91, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xb0},
+ {value: 0x0040, lo: 0xb1, hi: 0xbf},
+ // Block 0x101, offset 0x7a4
+ {value: 0x0000, lo: 0x03},
+ {value: 0x3308, lo: 0x80, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xbf},
+ // Block 0x102, offset 0x7a8
+ {value: 0x0000, lo: 0x03},
+ {value: 0x3308, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0xbf},
+ // Block 0x103, offset 0x7ac
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0x83},
+ {value: 0x0040, lo: 0x84, hi: 0xbf},
+ // Block 0x104, offset 0x7af
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xbf},
+ // Block 0x105, offset 0x7b2
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0xa6},
+ {value: 0x0040, lo: 0xa7, hi: 0xa8},
+ {value: 0x0018, lo: 0xa9, hi: 0xbf},
+ // Block 0x106, offset 0x7b6
+ {value: 0x0000, lo: 0x0e},
+ {value: 0x0018, lo: 0x80, hi: 0x9d},
+ {value: 0x2381, lo: 0x9e, hi: 0x9e},
+ {value: 0x2389, lo: 0x9f, hi: 0x9f},
+ {value: 0x2391, lo: 0xa0, hi: 0xa0},
+ {value: 0x2399, lo: 0xa1, hi: 0xa1},
+ {value: 0x23a1, lo: 0xa2, hi: 0xa2},
+ {value: 0x23a9, lo: 0xa3, hi: 0xa3},
+ {value: 0x23b1, lo: 0xa4, hi: 0xa4},
+ {value: 0x3018, lo: 0xa5, hi: 0xa6},
+ {value: 0x3318, lo: 0xa7, hi: 0xa9},
+ {value: 0x0018, lo: 0xaa, hi: 0xac},
+ {value: 0x3018, lo: 0xad, hi: 0xb2},
+ {value: 0x03c0, lo: 0xb3, hi: 0xba},
+ {value: 0x3318, lo: 0xbb, hi: 0xbf},
+ // Block 0x107, offset 0x7c5
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x3318, lo: 0x80, hi: 0x82},
+ {value: 0x0018, lo: 0x83, hi: 0x84},
+ {value: 0x3318, lo: 0x85, hi: 0x8b},
+ {value: 0x0018, lo: 0x8c, hi: 0xa9},
+ {value: 0x3318, lo: 0xaa, hi: 0xad},
+ {value: 0x0018, lo: 0xae, hi: 0xba},
+ {value: 0x23b9, lo: 0xbb, hi: 0xbb},
+ {value: 0x23c1, lo: 0xbc, hi: 0xbc},
+ {value: 0x23c9, lo: 0xbd, hi: 0xbd},
+ {value: 0x23d1, lo: 0xbe, hi: 0xbe},
+ {value: 0x23d9, lo: 0xbf, hi: 0xbf},
+ // Block 0x108, offset 0x7d1
+ {value: 0x0000, lo: 0x03},
+ {value: 0x23e1, lo: 0x80, hi: 0x80},
+ {value: 0x0018, lo: 0x81, hi: 0xaa},
+ {value: 0x0040, lo: 0xab, hi: 0xbf},
+ // Block 0x109, offset 0x7d5
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x81},
+ {value: 0x3318, lo: 0x82, hi: 0x84},
+ {value: 0x0018, lo: 0x85, hi: 0x85},
+ {value: 0x0040, lo: 0x86, hi: 0xbf},
+ // Block 0x10a, offset 0x7da
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x93},
+ {value: 0x0040, lo: 0x94, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xb3},
+ {value: 0x0040, lo: 0xb4, hi: 0xbf},
+ // Block 0x10b, offset 0x7df
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xb8},
+ {value: 0x0040, lo: 0xb9, hi: 0xbf},
+ // Block 0x10c, offset 0x7e4
+ {value: 0x0000, lo: 0x03},
+ {value: 0x3308, lo: 0x80, hi: 0xb6},
+ {value: 0x0018, lo: 0xb7, hi: 0xba},
+ {value: 0x3308, lo: 0xbb, hi: 0xbf},
+ // Block 0x10d, offset 0x7e8
+ {value: 0x0000, lo: 0x04},
+ {value: 0x3308, lo: 0x80, hi: 0xac},
+ {value: 0x0018, lo: 0xad, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb5},
+ {value: 0x0018, lo: 0xb6, hi: 0xbf},
+ // Block 0x10e, offset 0x7ed
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0018, lo: 0x80, hi: 0x83},
+ {value: 0x3308, lo: 0x84, hi: 0x84},
+ {value: 0x0018, lo: 0x85, hi: 0x8b},
+ {value: 0x0040, lo: 0x8c, hi: 0x9a},
+ {value: 0x3308, lo: 0x9b, hi: 0x9f},
+ {value: 0x0040, lo: 0xa0, hi: 0xa0},
+ {value: 0x3308, lo: 0xa1, hi: 0xaf},
+ {value: 0x0040, lo: 0xb0, hi: 0xbf},
+ // Block 0x10f, offset 0x7f6
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0008, lo: 0x80, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0xa4},
+ {value: 0x0008, lo: 0xa5, hi: 0xaa},
+ {value: 0x0040, lo: 0xab, hi: 0xbf},
+ // Block 0x110, offset 0x7fb
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0040, lo: 0x80, hi: 0x8e},
+ {value: 0x3308, lo: 0x8f, hi: 0x8f},
+ {value: 0x0040, lo: 0x90, hi: 0xbf},
+ // Block 0x111, offset 0x7ff
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0xac},
+ {value: 0x0040, lo: 0xad, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb6},
+ {value: 0x0008, lo: 0xb7, hi: 0xbd},
+ {value: 0x0040, lo: 0xbe, hi: 0xbf},
+ // Block 0x112, offset 0x805
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8d},
+ {value: 0x0008, lo: 0x8e, hi: 0x8e},
+ {value: 0x0018, lo: 0x8f, hi: 0x8f},
+ {value: 0x0040, lo: 0x90, hi: 0xbf},
+ // Block 0x113, offset 0x80b
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0040, lo: 0x80, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xad},
+ {value: 0x3308, lo: 0xae, hi: 0xae},
+ {value: 0x0040, lo: 0xaf, hi: 0xbf},
+ // Block 0x114, offset 0x810
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0008, lo: 0x80, hi: 0xab},
+ {value: 0x3308, lo: 0xac, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbe},
+ {value: 0x0018, lo: 0xbf, hi: 0xbf},
+ // Block 0x115, offset 0x816
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0040, lo: 0x80, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xab},
+ {value: 0x3308, lo: 0xac, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0x116, offset 0x81c
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0040, lo: 0x80, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xad},
+ {value: 0x3308, lo: 0xae, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbe},
+ {value: 0x0018, lo: 0xbf, hi: 0xbf},
+ // Block 0x117, offset 0x823
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa2},
+ {value: 0x3308, lo: 0xa3, hi: 0xa3},
+ {value: 0x0008, lo: 0xa4, hi: 0xa5},
+ {value: 0x3308, lo: 0xa6, hi: 0xa6},
+ {value: 0x0008, lo: 0xa7, hi: 0xad},
+ {value: 0x3308, lo: 0xae, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xbd},
+ {value: 0x0008, lo: 0xbe, hi: 0xbf},
+ // Block 0x118, offset 0x830
+ {value: 0x0000, lo: 0x09},
+ {value: 0x0040, lo: 0x80, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xa6},
+ {value: 0x0040, lo: 0xa7, hi: 0xa7},
+ {value: 0x0008, lo: 0xa8, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xac},
+ {value: 0x0008, lo: 0xad, hi: 0xae},
+ {value: 0x0040, lo: 0xaf, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0x119, offset 0x83a
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0808, lo: 0x80, hi: 0x84},
+ {value: 0x0040, lo: 0x85, hi: 0x86},
+ {value: 0x0818, lo: 0x87, hi: 0x8f},
+ {value: 0x3308, lo: 0x90, hi: 0x96},
+ {value: 0x0040, lo: 0x97, hi: 0xbf},
+ // Block 0x11a, offset 0x840
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0a08, lo: 0x80, hi: 0x83},
+ {value: 0x3308, lo: 0x84, hi: 0x8a},
+ {value: 0x0b08, lo: 0x8b, hi: 0x8b},
+ {value: 0x0040, lo: 0x8c, hi: 0x8f},
+ {value: 0x0808, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9d},
+ {value: 0x0818, lo: 0x9e, hi: 0x9f},
+ {value: 0x0040, lo: 0xa0, hi: 0xbf},
+ // Block 0x11b, offset 0x849
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0040, lo: 0x80, hi: 0xb0},
+ {value: 0x0818, lo: 0xb1, hi: 0xbf},
+ // Block 0x11c, offset 0x84c
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0818, lo: 0x80, hi: 0xb4},
+ {value: 0x0040, lo: 0xb5, hi: 0xbf},
+ // Block 0x11d, offset 0x84f
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0040, lo: 0x80, hi: 0x80},
+ {value: 0x0818, lo: 0x81, hi: 0xbd},
+ {value: 0x0040, lo: 0xbe, hi: 0xbf},
+ // Block 0x11e, offset 0x853
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0040, lo: 0x80, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xb1},
+ {value: 0x0040, lo: 0xb2, hi: 0xbf},
+ // Block 0x11f, offset 0x857
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xbf},
+ // Block 0x120, offset 0x85b
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0018, lo: 0x80, hi: 0x93},
+ {value: 0x0040, lo: 0x94, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xae},
+ {value: 0x0040, lo: 0xaf, hi: 0xb0},
+ {value: 0x0018, lo: 0xb1, hi: 0xbf},
+ // Block 0x121, offset 0x861
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0040, lo: 0x80, hi: 0x80},
+ {value: 0x0018, lo: 0x81, hi: 0x8f},
+ {value: 0x0040, lo: 0x90, hi: 0x90},
+ {value: 0x0018, lo: 0x91, hi: 0xb5},
+ {value: 0x0040, lo: 0xb6, hi: 0xbf},
+ // Block 0x122, offset 0x867
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x8f},
+ {value: 0x2719, lo: 0x90, hi: 0x90},
+ {value: 0x0018, lo: 0x91, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xbf},
+ // Block 0x123, offset 0x86c
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0040, lo: 0x80, hi: 0xa5},
+ {value: 0x0018, lo: 0xa6, hi: 0xbf},
+ // Block 0x124, offset 0x86f
+ {value: 0x0000, lo: 0x0f},
+ {value: 0x2899, lo: 0x80, hi: 0x80},
+ {value: 0x28a1, lo: 0x81, hi: 0x81},
+ {value: 0x28a9, lo: 0x82, hi: 0x82},
+ {value: 0x28b1, lo: 0x83, hi: 0x83},
+ {value: 0x28b9, lo: 0x84, hi: 0x84},
+ {value: 0x28c1, lo: 0x85, hi: 0x85},
+ {value: 0x28c9, lo: 0x86, hi: 0x86},
+ {value: 0x28d1, lo: 0x87, hi: 0x87},
+ {value: 0x28d9, lo: 0x88, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x8f},
+ {value: 0x28e1, lo: 0x90, hi: 0x90},
+ {value: 0x28e9, lo: 0x91, hi: 0x91},
+ {value: 0x0040, lo: 0x92, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xa5},
+ {value: 0x0040, lo: 0xa6, hi: 0xbf},
+ // Block 0x125, offset 0x87f
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0018, lo: 0x80, hi: 0x98},
+ {value: 0x0040, lo: 0x99, hi: 0x9b},
+ {value: 0x0018, lo: 0x9c, hi: 0xac},
+ {value: 0x0040, lo: 0xad, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xbc},
+ {value: 0x0040, lo: 0xbd, hi: 0xbf},
+ // Block 0x126, offset 0x886
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0018, lo: 0x80, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xb0},
+ {value: 0x0040, lo: 0xb1, hi: 0xbf},
+ // Block 0x127, offset 0x88d
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0x8b},
+ {value: 0x0040, lo: 0x8c, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0xbf},
+ // Block 0x128, offset 0x891
+ {value: 0x0000, lo: 0x05},
+ {value: 0x0018, lo: 0x80, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xbf},
+ // Block 0x129, offset 0x897
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0018, lo: 0x80, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbf},
+ // Block 0x12a, offset 0x89e
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x81},
+ {value: 0x0040, lo: 0x82, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0x98},
+ {value: 0x0040, lo: 0x99, hi: 0xbf},
+ // Block 0x12b, offset 0x8a3
+ {value: 0x0000, lo: 0x06},
+ {value: 0x0018, lo: 0x80, hi: 0x97},
+ {value: 0x0040, lo: 0x98, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x0018, lo: 0xb0, hi: 0xbc},
+ {value: 0x0040, lo: 0xbd, hi: 0xbf},
+ // Block 0x12c, offset 0x8aa
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0x8a},
+ {value: 0x0040, lo: 0x8b, hi: 0x8d},
+ {value: 0x0018, lo: 0x8e, hi: 0xbf},
+ // Block 0x12d, offset 0x8ae
+ {value: 0x0000, lo: 0x0a},
+ {value: 0x0018, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x87},
+ {value: 0x0018, lo: 0x88, hi: 0x88},
+ {value: 0x0040, lo: 0x89, hi: 0x8c},
+ {value: 0x0018, lo: 0x8d, hi: 0x9c},
+ {value: 0x0040, lo: 0x9d, hi: 0x9e},
+ {value: 0x0018, lo: 0x9f, hi: 0xaa},
+ {value: 0x0040, lo: 0xab, hi: 0xae},
+ {value: 0x0018, lo: 0xaf, hi: 0xb8},
+ {value: 0x0040, lo: 0xb9, hi: 0xbf},
+ // Block 0x12e, offset 0x8b9
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0018, lo: 0x80, hi: 0x92},
+ {value: 0x0040, lo: 0x93, hi: 0x93},
+ {value: 0x0018, lo: 0x94, hi: 0xbf},
+ // Block 0x12f, offset 0x8bd
+ {value: 0x0000, lo: 0x0d},
+ {value: 0x0018, lo: 0x80, hi: 0xaf},
+ {value: 0x06e1, lo: 0xb0, hi: 0xb0},
+ {value: 0x0049, lo: 0xb1, hi: 0xb1},
+ {value: 0x0029, lo: 0xb2, hi: 0xb2},
+ {value: 0x0031, lo: 0xb3, hi: 0xb3},
+ {value: 0x06e9, lo: 0xb4, hi: 0xb4},
+ {value: 0x06f1, lo: 0xb5, hi: 0xb5},
+ {value: 0x06f9, lo: 0xb6, hi: 0xb6},
+ {value: 0x0701, lo: 0xb7, hi: 0xb7},
+ {value: 0x0709, lo: 0xb8, hi: 0xb8},
+ {value: 0x0711, lo: 0xb9, hi: 0xb9},
+ {value: 0x0018, lo: 0xba, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbf},
+ // Block 0x130, offset 0x8cb
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0x9f},
+ {value: 0x0040, lo: 0xa0, hi: 0xbf},
+ // Block 0x131, offset 0x8ce
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0x9f},
+ {value: 0x0008, lo: 0xa0, hi: 0xbf},
+ // Block 0x132, offset 0x8d2
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xad},
+ {value: 0x0040, lo: 0xae, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x133, offset 0x8d6
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0xa0},
+ {value: 0x0040, lo: 0xa1, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x134, offset 0x8da
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0x9d},
+ {value: 0x0040, lo: 0x9e, hi: 0xbf},
+ // Block 0x135, offset 0x8dd
+ {value: 0x0000, lo: 0x03},
+ {value: 0x0008, lo: 0x80, hi: 0x8a},
+ {value: 0x0040, lo: 0x8b, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0xbf},
+ // Block 0x136, offset 0x8e1
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xbf},
+ // Block 0x137, offset 0x8e4
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0040, lo: 0x80, hi: 0x80},
+ {value: 0x0340, lo: 0x81, hi: 0x81},
+ {value: 0x0040, lo: 0x82, hi: 0x9f},
+ {value: 0x0340, lo: 0xa0, hi: 0xbf},
+ // Block 0x138, offset 0x8e9
+ {value: 0x0000, lo: 0x01},
+ {value: 0x0340, lo: 0x80, hi: 0xbf},
+ // Block 0x139, offset 0x8eb
+ {value: 0x0000, lo: 0x01},
+ {value: 0x33c0, lo: 0x80, hi: 0xbf},
+ // Block 0x13a, offset 0x8ed
+ {value: 0x0000, lo: 0x02},
+ {value: 0x33c0, lo: 0x80, hi: 0xaf},
+ {value: 0x0040, lo: 0xb0, hi: 0xbf},
+}
+
+// Total table size 47629 bytes (46KiB); checksum: 2D372017
diff --git a/vendor/golang.org/x/net/idna/tables9.0.0.go b/vendor/golang.org/x/net/idna/tables9.0.0.go
deleted file mode 100644
index 0f25e84ca..000000000
--- a/vendor/golang.org/x/net/idna/tables9.0.0.go
+++ /dev/null
@@ -1,4486 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-//go:build !go1.10
-
-package idna
-
-// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "9.0.0"
-
-var mappings string = "" + // Size: 8175 bytes
- "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" +
- "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" +
- "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" +
- "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" +
- "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" +
- "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" +
- "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" +
- "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" +
- "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" +
- "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" +
- "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" +
- "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" +
- "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" +
- "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" +
- "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" +
- "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" +
- "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" +
- "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" +
- "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" +
- "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" +
- "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" +
- "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" +
- "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" +
- "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" +
- "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" +
- "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" +
- ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" +
- "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" +
- "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" +
- "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" +
- "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" +
- "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" +
- "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" +
- "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" +
- "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" +
- "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" +
- "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" +
- "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" +
- "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" +
- "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" +
- "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" +
- "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" +
- "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" +
- "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" +
- "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" +
- "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" +
- "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" +
- "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" +
- "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" +
- "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" +
- "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" +
- "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" +
- "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" +
- "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" +
- "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" +
- "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" +
- "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" +
- "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" +
- "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" +
- "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" +
- "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" +
- "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" +
- "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" +
- "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" +
- "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" +
- "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" +
- "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" +
- "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" +
- "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" +
- "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" +
- "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" +
- "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" +
- "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" +
- " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" +
- "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" +
- "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" +
- "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" +
- "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" +
- "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" +
- "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" +
- "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" +
- "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" +
- "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" +
- "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" +
- "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" +
- "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" +
- "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" +
- "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" +
- "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" +
- "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" +
- "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" +
- "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" +
- "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" +
- "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" +
- "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" +
- "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" +
- "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" +
- "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" +
- "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" +
- "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" +
- "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" +
- "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" +
- "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" +
- "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" +
- "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" +
- "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" +
- "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" +
- "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" +
- "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" +
- "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" +
- "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" +
- "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" +
- "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" +
- "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" +
- "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" +
- "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" +
- "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" +
- "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" +
- "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" +
- "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" +
- "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" +
- "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" +
- "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" +
- "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" +
- "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" +
- "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" +
- "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" +
- "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" +
- "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" +
- "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" +
- "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" +
- "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" +
- "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" +
- "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" +
- "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" +
- "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" +
- "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻"
-
-var xorData string = "" + // Size: 4855 bytes
- "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" +
- "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" +
- "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" +
- "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" +
- "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" +
- "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" +
- "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" +
- "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" +
- "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" +
- "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" +
- "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" +
- "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" +
- "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" +
- "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" +
- "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" +
- "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" +
- "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" +
- "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" +
- "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" +
- "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" +
- "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" +
- "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" +
- "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" +
- "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" +
- "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" +
- "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" +
- "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" +
- "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" +
- "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" +
- "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" +
- "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" +
- "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" +
- "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" +
- "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" +
- "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" +
- "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" +
- "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " +
- "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" +
- "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" +
- "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" +
- "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" +
- "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" +
- ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" +
- "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" +
- "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" +
- "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" +
- "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" +
- "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" +
- "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" +
- "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" +
- "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" +
- "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" +
- "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" +
- "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" +
- "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" +
- "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" +
- "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" +
- "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" +
- "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" +
- "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" +
- "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" +
- "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" +
- "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" +
- "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" +
- "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" +
- "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" +
- "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" +
- "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" +
- "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" +
- "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" +
- "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" +
- "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" +
- "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" +
- "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" +
- "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" +
- "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" +
- "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" +
- "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" +
- "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" +
- "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" +
- "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" +
- "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" +
- "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" +
- "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" +
- "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" +
- "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" +
- "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" +
- "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" +
- "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," +
- "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" +
- "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" +
- "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" +
- "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" +
- ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" +
- "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" +
- "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" +
- "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" +
- "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" +
- "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" +
- "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" +
- "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" +
- "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" +
- "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" +
- "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" +
- "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" +
- "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" +
- "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" +
- "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" +
- "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" +
- "\x08\x1a\x0a\x03\x07\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03\x09\x0c" +
- "\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06!3\x03" +
- "\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05\x03\x07" +
- "<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" +
- "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" +
- "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" +
- "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" +
- "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" +
- "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" +
- "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" +
- "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" +
- "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" +
- "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" +
- "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" +
- "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" +
- "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" +
- "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" +
- "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" +
- "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" +
- "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" +
- "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." +
- "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" +
- "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" +
- "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " +
- "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" +
- "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" +
- "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" +
- "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" +
- "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" +
- "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" +
- "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," +
- "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" +
- "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" +
- "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" +
- "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" +
- "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" +
- "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" +
- "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" +
- "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" +
- "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" +
- "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" +
- "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" +
- "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" +
- "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" +
- "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" +
- "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" +
- "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" +
- "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" +
- "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" +
- "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" +
- "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" +
- "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" +
- "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" +
- "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" +
- "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" +
- "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" +
- "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" +
- "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" +
- "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" +
- "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" +
- "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" +
- "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" +
- "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" +
- "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" +
- "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" +
- "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" +
- "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" +
- "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" +
- "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" +
- "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," +
- "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" +
- "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" +
- "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" +
- "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" +
- "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" +
- "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" +
- "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" +
- "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" +
- "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" +
- "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" +
- "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" +
- "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" +
- "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" +
- "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" +
- "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" +
- "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" +
- "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" +
- "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" +
- "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" +
- "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" +
- "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" +
- "\x04\x03\x0c?\x05\x03\x0c\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" +
- "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" +
- "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" +
- "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" +
- "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" +
- "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" +
- "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" +
- "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" +
- "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" +
- "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" +
- "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" +
- "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" +
- "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" +
- "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" +
- "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" +
- "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" +
- "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" +
- "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" +
- "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" +
- "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" +
- "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" +
- "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" +
- "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" +
- "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" +
- "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" +
- "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" +
- "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" +
- "\x05\x22\x05\x03\x050\x1d"
-
-// lookup returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupUnsafe(s []byte) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// lookupString returns the trie value for the first UTF-8 encoding in s and
-// the width in bytes of this encoding. The size will be 0 if s does not
-// hold enough bytes to complete the encoding. len(s) must be greater than 0.
-func (t *idnaTrie) lookupString(s string) (v uint16, sz int) {
- c0 := s[0]
- switch {
- case c0 < 0x80: // is ASCII
- return idnaValues[c0], 1
- case c0 < 0xC2:
- return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
- case c0 < 0xE0: // 2-byte UTF-8
- if len(s) < 2 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c1), 2
- case c0 < 0xF0: // 3-byte UTF-8
- if len(s) < 3 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c2), 3
- case c0 < 0xF8: // 4-byte UTF-8
- if len(s) < 4 {
- return 0, 0
- }
- i := idnaIndex[c0]
- c1 := s[1]
- if c1 < 0x80 || 0xC0 <= c1 {
- return 0, 1 // Illegal UTF-8: not a continuation byte.
- }
- o := uint32(i)<<6 + uint32(c1)
- i = idnaIndex[o]
- c2 := s[2]
- if c2 < 0x80 || 0xC0 <= c2 {
- return 0, 2 // Illegal UTF-8: not a continuation byte.
- }
- o = uint32(i)<<6 + uint32(c2)
- i = idnaIndex[o]
- c3 := s[3]
- if c3 < 0x80 || 0xC0 <= c3 {
- return 0, 3 // Illegal UTF-8: not a continuation byte.
- }
- return t.lookupValue(uint32(i), c3), 4
- }
- // Illegal rune
- return 0, 1
-}
-
-// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
-// s must start with a full and valid UTF-8 encoded rune.
-func (t *idnaTrie) lookupStringUnsafe(s string) uint16 {
- c0 := s[0]
- if c0 < 0x80 { // is ASCII
- return idnaValues[c0]
- }
- i := idnaIndex[c0]
- if c0 < 0xE0 { // 2-byte UTF-8
- return t.lookupValue(uint32(i), s[1])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[1])]
- if c0 < 0xF0 { // 3-byte UTF-8
- return t.lookupValue(uint32(i), s[2])
- }
- i = idnaIndex[uint32(i)<<6+uint32(s[2])]
- if c0 < 0xF8 { // 4-byte UTF-8
- return t.lookupValue(uint32(i), s[3])
- }
- return 0
-}
-
-// idnaTrie. Total size: 28600 bytes (27.93 KiB). Checksum: 95575047b5d8fff.
-type idnaTrie struct{}
-
-func newIdnaTrie(i int) *idnaTrie {
- return &idnaTrie{}
-}
-
-// lookupValue determines the type of block n and looks up the value for b.
-func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {
- switch {
- case n < 124:
- return uint16(idnaValues[n<<6+uint32(b)])
- default:
- n -= 124
- return uint16(idnaSparse.lookup(n, b))
- }
-}
-
-// idnaValues: 126 blocks, 8064 entries, 16128 bytes
-// The third block is the zero block.
-var idnaValues = [8064]uint16{
- // Block 0x0, offset 0x0
- 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080,
- 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080,
- 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080,
- 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080,
- 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080,
- 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080,
- 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080,
- 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080,
- 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008,
- 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080,
- 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080,
- // Block 0x1, offset 0x40
- 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105,
- 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105,
- 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105,
- 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105,
- 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080,
- 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008,
- 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008,
- 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008,
- 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008,
- 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080,
- 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080,
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040,
- 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040,
- 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040,
- 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040,
- 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040,
- 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018,
- 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018,
- 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a,
- 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005,
- 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018,
- 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018,
- // Block 0x4, offset 0x100
- 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008,
- 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008,
- 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008,
- 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008,
- 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008,
- 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008,
- 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008,
- 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008,
- 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008,
- 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d,
- 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199,
- // Block 0x5, offset 0x140
- 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d,
- 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008,
- 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008,
- 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008,
- 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008,
- 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008,
- 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008,
- 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008,
- 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008,
- 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d,
- 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9,
- // Block 0x6, offset 0x180
- 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008,
- 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d,
- 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d,
- 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d,
- 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155,
- 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008,
- 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d,
- 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd,
- 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d,
- 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008,
- 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9,
- 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d,
- 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d,
- 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d,
- 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008,
- 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008,
- 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008,
- 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008,
- 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008,
- 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008,
- 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008,
- // Block 0x8, offset 0x200
- 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008,
- 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008,
- 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008,
- 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008,
- 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008,
- 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008,
- 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008,
- 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008,
- 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008,
- 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d,
- 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008,
- // Block 0x9, offset 0x240
- 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018,
- 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008,
- 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008,
- 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018,
- 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a,
- 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369,
- 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018,
- 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018,
- 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018,
- 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,
- 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,
- // Block 0xa, offset 0x280
- 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d,
- 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,
- 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,
- 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,
- 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,
- 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,
- 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,
- 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,
- 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,
- 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008,
- 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2,
- 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040,
- 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105,
- 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105,
- 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105,
- 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d,
- 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d,
- 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008,
- 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008,
- 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008,
- 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008,
- // Block 0xc, offset 0x300
- 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008,
- 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008,
- 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd,
- 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008,
- 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008,
- 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008,
- 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008,
- 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008,
- 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd,
- 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008,
- 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d,
- // Block 0xd, offset 0x340
- 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008,
- 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008,
- 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008,
- 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008,
- 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008,
- 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008,
- 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008,
- 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008,
- 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008,
- 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,
- 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,
- // Block 0xe, offset 0x380
- 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,
- 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,
- 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,
- 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,
- 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,
- 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008,
- 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008,
- 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008,
- 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008,
- 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008,
- 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d,
- 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d,
- 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008,
- 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008,
- 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008,
- 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008,
- 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008,
- 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008,
- 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008,
- 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008,
- 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008,
- // Block 0x10, offset 0x400
- 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008,
- 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008,
- 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008,
- 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008,
- 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008,
- 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008,
- 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008,
- 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008,
- 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5,
- 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,
- 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,
- // Block 0x11, offset 0x440
- 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,
- 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,
- 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,
- 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,
- 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040,
- 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,
- 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,
- 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,
- 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,
- 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,
- 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,
- // Block 0x12, offset 0x480
- 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,
- 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,
- 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,
- 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,
- 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,
- 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,
- 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,
- 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,
- 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429,
- 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,
- 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,
- 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,
- 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,
- 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,
- 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,
- 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,
- 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,
- 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,
- 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,
- 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,
- 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,
- // Block 0x14, offset 0x500
- 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,
- 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,
- 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,
- 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,
- 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,
- 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,
- 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,
- 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,
- 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,
- 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,
- 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,
- // Block 0x15, offset 0x540
- 0x540: 0x3008, 0x541: 0x3308, 0x542: 0x3308, 0x543: 0x3308, 0x544: 0x3308, 0x545: 0x3308,
- 0x546: 0x3308, 0x547: 0x3308, 0x548: 0x3308, 0x549: 0x3008, 0x54a: 0x3008, 0x54b: 0x3008,
- 0x54c: 0x3008, 0x54d: 0x3b08, 0x54e: 0x3008, 0x54f: 0x3008, 0x550: 0x0008, 0x551: 0x3308,
- 0x552: 0x3308, 0x553: 0x3308, 0x554: 0x3308, 0x555: 0x3308, 0x556: 0x3308, 0x557: 0x3308,
- 0x558: 0x04c9, 0x559: 0x0501, 0x55a: 0x0539, 0x55b: 0x0571, 0x55c: 0x05a9, 0x55d: 0x05e1,
- 0x55e: 0x0619, 0x55f: 0x0651, 0x560: 0x0008, 0x561: 0x0008, 0x562: 0x3308, 0x563: 0x3308,
- 0x564: 0x0018, 0x565: 0x0018, 0x566: 0x0008, 0x567: 0x0008, 0x568: 0x0008, 0x569: 0x0008,
- 0x56a: 0x0008, 0x56b: 0x0008, 0x56c: 0x0008, 0x56d: 0x0008, 0x56e: 0x0008, 0x56f: 0x0008,
- 0x570: 0x0018, 0x571: 0x0008, 0x572: 0x0008, 0x573: 0x0008, 0x574: 0x0008, 0x575: 0x0008,
- 0x576: 0x0008, 0x577: 0x0008, 0x578: 0x0008, 0x579: 0x0008, 0x57a: 0x0008, 0x57b: 0x0008,
- 0x57c: 0x0008, 0x57d: 0x0008, 0x57e: 0x0008, 0x57f: 0x0008,
- // Block 0x16, offset 0x580
- 0x580: 0x0008, 0x581: 0x3308, 0x582: 0x3008, 0x583: 0x3008, 0x584: 0x0040, 0x585: 0x0008,
- 0x586: 0x0008, 0x587: 0x0008, 0x588: 0x0008, 0x589: 0x0008, 0x58a: 0x0008, 0x58b: 0x0008,
- 0x58c: 0x0008, 0x58d: 0x0040, 0x58e: 0x0040, 0x58f: 0x0008, 0x590: 0x0008, 0x591: 0x0040,
- 0x592: 0x0040, 0x593: 0x0008, 0x594: 0x0008, 0x595: 0x0008, 0x596: 0x0008, 0x597: 0x0008,
- 0x598: 0x0008, 0x599: 0x0008, 0x59a: 0x0008, 0x59b: 0x0008, 0x59c: 0x0008, 0x59d: 0x0008,
- 0x59e: 0x0008, 0x59f: 0x0008, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x0008, 0x5a3: 0x0008,
- 0x5a4: 0x0008, 0x5a5: 0x0008, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0040,
- 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008,
- 0x5b0: 0x0008, 0x5b1: 0x0040, 0x5b2: 0x0008, 0x5b3: 0x0040, 0x5b4: 0x0040, 0x5b5: 0x0040,
- 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0040, 0x5bb: 0x0040,
- 0x5bc: 0x3308, 0x5bd: 0x0008, 0x5be: 0x3008, 0x5bf: 0x3008,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x3008, 0x5c1: 0x3308, 0x5c2: 0x3308, 0x5c3: 0x3308, 0x5c4: 0x3308, 0x5c5: 0x0040,
- 0x5c6: 0x0040, 0x5c7: 0x3008, 0x5c8: 0x3008, 0x5c9: 0x0040, 0x5ca: 0x0040, 0x5cb: 0x3008,
- 0x5cc: 0x3008, 0x5cd: 0x3b08, 0x5ce: 0x0008, 0x5cf: 0x0040, 0x5d0: 0x0040, 0x5d1: 0x0040,
- 0x5d2: 0x0040, 0x5d3: 0x0040, 0x5d4: 0x0040, 0x5d5: 0x0040, 0x5d6: 0x0040, 0x5d7: 0x3008,
- 0x5d8: 0x0040, 0x5d9: 0x0040, 0x5da: 0x0040, 0x5db: 0x0040, 0x5dc: 0x0689, 0x5dd: 0x06c1,
- 0x5de: 0x0040, 0x5df: 0x06f9, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x3308, 0x5e3: 0x3308,
- 0x5e4: 0x0040, 0x5e5: 0x0040, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0008,
- 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,
- 0x5f0: 0x0008, 0x5f1: 0x0008, 0x5f2: 0x0018, 0x5f3: 0x0018, 0x5f4: 0x0018, 0x5f5: 0x0018,
- 0x5f6: 0x0018, 0x5f7: 0x0018, 0x5f8: 0x0018, 0x5f9: 0x0018, 0x5fa: 0x0018, 0x5fb: 0x0018,
- 0x5fc: 0x0040, 0x5fd: 0x0040, 0x5fe: 0x0040, 0x5ff: 0x0040,
- // Block 0x18, offset 0x600
- 0x600: 0x0040, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3008, 0x604: 0x0040, 0x605: 0x0008,
- 0x606: 0x0008, 0x607: 0x0008, 0x608: 0x0008, 0x609: 0x0008, 0x60a: 0x0008, 0x60b: 0x0040,
- 0x60c: 0x0040, 0x60d: 0x0040, 0x60e: 0x0040, 0x60f: 0x0008, 0x610: 0x0008, 0x611: 0x0040,
- 0x612: 0x0040, 0x613: 0x0008, 0x614: 0x0008, 0x615: 0x0008, 0x616: 0x0008, 0x617: 0x0008,
- 0x618: 0x0008, 0x619: 0x0008, 0x61a: 0x0008, 0x61b: 0x0008, 0x61c: 0x0008, 0x61d: 0x0008,
- 0x61e: 0x0008, 0x61f: 0x0008, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x0008, 0x623: 0x0008,
- 0x624: 0x0008, 0x625: 0x0008, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0040,
- 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,
- 0x630: 0x0008, 0x631: 0x0040, 0x632: 0x0008, 0x633: 0x0731, 0x634: 0x0040, 0x635: 0x0008,
- 0x636: 0x0769, 0x637: 0x0040, 0x638: 0x0008, 0x639: 0x0008, 0x63a: 0x0040, 0x63b: 0x0040,
- 0x63c: 0x3308, 0x63d: 0x0040, 0x63e: 0x3008, 0x63f: 0x3008,
- // Block 0x19, offset 0x640
- 0x640: 0x3008, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x0040, 0x644: 0x0040, 0x645: 0x0040,
- 0x646: 0x0040, 0x647: 0x3308, 0x648: 0x3308, 0x649: 0x0040, 0x64a: 0x0040, 0x64b: 0x3308,
- 0x64c: 0x3308, 0x64d: 0x3b08, 0x64e: 0x0040, 0x64f: 0x0040, 0x650: 0x0040, 0x651: 0x3308,
- 0x652: 0x0040, 0x653: 0x0040, 0x654: 0x0040, 0x655: 0x0040, 0x656: 0x0040, 0x657: 0x0040,
- 0x658: 0x0040, 0x659: 0x07a1, 0x65a: 0x07d9, 0x65b: 0x0811, 0x65c: 0x0008, 0x65d: 0x0040,
- 0x65e: 0x0849, 0x65f: 0x0040, 0x660: 0x0040, 0x661: 0x0040, 0x662: 0x0040, 0x663: 0x0040,
- 0x664: 0x0040, 0x665: 0x0040, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0008,
- 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,
- 0x670: 0x3308, 0x671: 0x3308, 0x672: 0x0008, 0x673: 0x0008, 0x674: 0x0008, 0x675: 0x3308,
- 0x676: 0x0040, 0x677: 0x0040, 0x678: 0x0040, 0x679: 0x0040, 0x67a: 0x0040, 0x67b: 0x0040,
- 0x67c: 0x0040, 0x67d: 0x0040, 0x67e: 0x0040, 0x67f: 0x0040,
- // Block 0x1a, offset 0x680
- 0x680: 0x0040, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x3008, 0x684: 0x0040, 0x685: 0x0008,
- 0x686: 0x0008, 0x687: 0x0008, 0x688: 0x0008, 0x689: 0x0008, 0x68a: 0x0008, 0x68b: 0x0008,
- 0x68c: 0x0008, 0x68d: 0x0008, 0x68e: 0x0040, 0x68f: 0x0008, 0x690: 0x0008, 0x691: 0x0008,
- 0x692: 0x0040, 0x693: 0x0008, 0x694: 0x0008, 0x695: 0x0008, 0x696: 0x0008, 0x697: 0x0008,
- 0x698: 0x0008, 0x699: 0x0008, 0x69a: 0x0008, 0x69b: 0x0008, 0x69c: 0x0008, 0x69d: 0x0008,
- 0x69e: 0x0008, 0x69f: 0x0008, 0x6a0: 0x0008, 0x6a1: 0x0008, 0x6a2: 0x0008, 0x6a3: 0x0008,
- 0x6a4: 0x0008, 0x6a5: 0x0008, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0040,
- 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,
- 0x6b0: 0x0008, 0x6b1: 0x0040, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0040, 0x6b5: 0x0008,
- 0x6b6: 0x0008, 0x6b7: 0x0008, 0x6b8: 0x0008, 0x6b9: 0x0008, 0x6ba: 0x0040, 0x6bb: 0x0040,
- 0x6bc: 0x3308, 0x6bd: 0x0008, 0x6be: 0x3008, 0x6bf: 0x3008,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x3008, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3308, 0x6c4: 0x3308, 0x6c5: 0x3308,
- 0x6c6: 0x0040, 0x6c7: 0x3308, 0x6c8: 0x3308, 0x6c9: 0x3008, 0x6ca: 0x0040, 0x6cb: 0x3008,
- 0x6cc: 0x3008, 0x6cd: 0x3b08, 0x6ce: 0x0040, 0x6cf: 0x0040, 0x6d0: 0x0008, 0x6d1: 0x0040,
- 0x6d2: 0x0040, 0x6d3: 0x0040, 0x6d4: 0x0040, 0x6d5: 0x0040, 0x6d6: 0x0040, 0x6d7: 0x0040,
- 0x6d8: 0x0040, 0x6d9: 0x0040, 0x6da: 0x0040, 0x6db: 0x0040, 0x6dc: 0x0040, 0x6dd: 0x0040,
- 0x6de: 0x0040, 0x6df: 0x0040, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x3308, 0x6e3: 0x3308,
- 0x6e4: 0x0040, 0x6e5: 0x0040, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0008,
- 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,
- 0x6f0: 0x0018, 0x6f1: 0x0018, 0x6f2: 0x0040, 0x6f3: 0x0040, 0x6f4: 0x0040, 0x6f5: 0x0040,
- 0x6f6: 0x0040, 0x6f7: 0x0040, 0x6f8: 0x0040, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040,
- 0x6fc: 0x0040, 0x6fd: 0x0040, 0x6fe: 0x0040, 0x6ff: 0x0040,
- // Block 0x1c, offset 0x700
- 0x700: 0x0040, 0x701: 0x3308, 0x702: 0x3008, 0x703: 0x3008, 0x704: 0x0040, 0x705: 0x0008,
- 0x706: 0x0008, 0x707: 0x0008, 0x708: 0x0008, 0x709: 0x0008, 0x70a: 0x0008, 0x70b: 0x0008,
- 0x70c: 0x0008, 0x70d: 0x0040, 0x70e: 0x0040, 0x70f: 0x0008, 0x710: 0x0008, 0x711: 0x0040,
- 0x712: 0x0040, 0x713: 0x0008, 0x714: 0x0008, 0x715: 0x0008, 0x716: 0x0008, 0x717: 0x0008,
- 0x718: 0x0008, 0x719: 0x0008, 0x71a: 0x0008, 0x71b: 0x0008, 0x71c: 0x0008, 0x71d: 0x0008,
- 0x71e: 0x0008, 0x71f: 0x0008, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x0008, 0x723: 0x0008,
- 0x724: 0x0008, 0x725: 0x0008, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0040,
- 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,
- 0x730: 0x0008, 0x731: 0x0040, 0x732: 0x0008, 0x733: 0x0008, 0x734: 0x0040, 0x735: 0x0008,
- 0x736: 0x0008, 0x737: 0x0008, 0x738: 0x0008, 0x739: 0x0008, 0x73a: 0x0040, 0x73b: 0x0040,
- 0x73c: 0x3308, 0x73d: 0x0008, 0x73e: 0x3008, 0x73f: 0x3308,
- // Block 0x1d, offset 0x740
- 0x740: 0x3008, 0x741: 0x3308, 0x742: 0x3308, 0x743: 0x3308, 0x744: 0x3308, 0x745: 0x0040,
- 0x746: 0x0040, 0x747: 0x3008, 0x748: 0x3008, 0x749: 0x0040, 0x74a: 0x0040, 0x74b: 0x3008,
- 0x74c: 0x3008, 0x74d: 0x3b08, 0x74e: 0x0040, 0x74f: 0x0040, 0x750: 0x0040, 0x751: 0x0040,
- 0x752: 0x0040, 0x753: 0x0040, 0x754: 0x0040, 0x755: 0x0040, 0x756: 0x3308, 0x757: 0x3008,
- 0x758: 0x0040, 0x759: 0x0040, 0x75a: 0x0040, 0x75b: 0x0040, 0x75c: 0x0881, 0x75d: 0x08b9,
- 0x75e: 0x0040, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x3308, 0x763: 0x3308,
- 0x764: 0x0040, 0x765: 0x0040, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0008,
- 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,
- 0x770: 0x0018, 0x771: 0x0008, 0x772: 0x0018, 0x773: 0x0018, 0x774: 0x0018, 0x775: 0x0018,
- 0x776: 0x0018, 0x777: 0x0018, 0x778: 0x0040, 0x779: 0x0040, 0x77a: 0x0040, 0x77b: 0x0040,
- 0x77c: 0x0040, 0x77d: 0x0040, 0x77e: 0x0040, 0x77f: 0x0040,
- // Block 0x1e, offset 0x780
- 0x780: 0x0040, 0x781: 0x0040, 0x782: 0x3308, 0x783: 0x0008, 0x784: 0x0040, 0x785: 0x0008,
- 0x786: 0x0008, 0x787: 0x0008, 0x788: 0x0008, 0x789: 0x0008, 0x78a: 0x0008, 0x78b: 0x0040,
- 0x78c: 0x0040, 0x78d: 0x0040, 0x78e: 0x0008, 0x78f: 0x0008, 0x790: 0x0008, 0x791: 0x0040,
- 0x792: 0x0008, 0x793: 0x0008, 0x794: 0x0008, 0x795: 0x0008, 0x796: 0x0040, 0x797: 0x0040,
- 0x798: 0x0040, 0x799: 0x0008, 0x79a: 0x0008, 0x79b: 0x0040, 0x79c: 0x0008, 0x79d: 0x0040,
- 0x79e: 0x0008, 0x79f: 0x0008, 0x7a0: 0x0040, 0x7a1: 0x0040, 0x7a2: 0x0040, 0x7a3: 0x0008,
- 0x7a4: 0x0008, 0x7a5: 0x0040, 0x7a6: 0x0040, 0x7a7: 0x0040, 0x7a8: 0x0008, 0x7a9: 0x0008,
- 0x7aa: 0x0008, 0x7ab: 0x0040, 0x7ac: 0x0040, 0x7ad: 0x0040, 0x7ae: 0x0008, 0x7af: 0x0008,
- 0x7b0: 0x0008, 0x7b1: 0x0008, 0x7b2: 0x0008, 0x7b3: 0x0008, 0x7b4: 0x0008, 0x7b5: 0x0008,
- 0x7b6: 0x0008, 0x7b7: 0x0008, 0x7b8: 0x0008, 0x7b9: 0x0008, 0x7ba: 0x0040, 0x7bb: 0x0040,
- 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x3008, 0x7bf: 0x3008,
- // Block 0x1f, offset 0x7c0
- 0x7c0: 0x3308, 0x7c1: 0x3008, 0x7c2: 0x3008, 0x7c3: 0x3008, 0x7c4: 0x3008, 0x7c5: 0x0040,
- 0x7c6: 0x3308, 0x7c7: 0x3308, 0x7c8: 0x3308, 0x7c9: 0x0040, 0x7ca: 0x3308, 0x7cb: 0x3308,
- 0x7cc: 0x3308, 0x7cd: 0x3b08, 0x7ce: 0x0040, 0x7cf: 0x0040, 0x7d0: 0x0040, 0x7d1: 0x0040,
- 0x7d2: 0x0040, 0x7d3: 0x0040, 0x7d4: 0x0040, 0x7d5: 0x3308, 0x7d6: 0x3308, 0x7d7: 0x0040,
- 0x7d8: 0x0008, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0040, 0x7dd: 0x0040,
- 0x7de: 0x0040, 0x7df: 0x0040, 0x7e0: 0x0008, 0x7e1: 0x0008, 0x7e2: 0x3308, 0x7e3: 0x3308,
- 0x7e4: 0x0040, 0x7e5: 0x0040, 0x7e6: 0x0008, 0x7e7: 0x0008, 0x7e8: 0x0008, 0x7e9: 0x0008,
- 0x7ea: 0x0008, 0x7eb: 0x0008, 0x7ec: 0x0008, 0x7ed: 0x0008, 0x7ee: 0x0008, 0x7ef: 0x0008,
- 0x7f0: 0x0040, 0x7f1: 0x0040, 0x7f2: 0x0040, 0x7f3: 0x0040, 0x7f4: 0x0040, 0x7f5: 0x0040,
- 0x7f6: 0x0040, 0x7f7: 0x0040, 0x7f8: 0x0018, 0x7f9: 0x0018, 0x7fa: 0x0018, 0x7fb: 0x0018,
- 0x7fc: 0x0018, 0x7fd: 0x0018, 0x7fe: 0x0018, 0x7ff: 0x0018,
- // Block 0x20, offset 0x800
- 0x800: 0x0008, 0x801: 0x3308, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x0040, 0x805: 0x0008,
- 0x806: 0x0008, 0x807: 0x0008, 0x808: 0x0008, 0x809: 0x0008, 0x80a: 0x0008, 0x80b: 0x0008,
- 0x80c: 0x0008, 0x80d: 0x0040, 0x80e: 0x0008, 0x80f: 0x0008, 0x810: 0x0008, 0x811: 0x0040,
- 0x812: 0x0008, 0x813: 0x0008, 0x814: 0x0008, 0x815: 0x0008, 0x816: 0x0008, 0x817: 0x0008,
- 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0008, 0x81c: 0x0008, 0x81d: 0x0008,
- 0x81e: 0x0008, 0x81f: 0x0008, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x0008, 0x823: 0x0008,
- 0x824: 0x0008, 0x825: 0x0008, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0040,
- 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008,
- 0x830: 0x0008, 0x831: 0x0008, 0x832: 0x0008, 0x833: 0x0008, 0x834: 0x0040, 0x835: 0x0008,
- 0x836: 0x0008, 0x837: 0x0008, 0x838: 0x0008, 0x839: 0x0008, 0x83a: 0x0040, 0x83b: 0x0040,
- 0x83c: 0x3308, 0x83d: 0x0008, 0x83e: 0x3008, 0x83f: 0x3308,
- // Block 0x21, offset 0x840
- 0x840: 0x3008, 0x841: 0x3008, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x3008, 0x845: 0x0040,
- 0x846: 0x3308, 0x847: 0x3008, 0x848: 0x3008, 0x849: 0x0040, 0x84a: 0x3008, 0x84b: 0x3008,
- 0x84c: 0x3308, 0x84d: 0x3b08, 0x84e: 0x0040, 0x84f: 0x0040, 0x850: 0x0040, 0x851: 0x0040,
- 0x852: 0x0040, 0x853: 0x0040, 0x854: 0x0040, 0x855: 0x3008, 0x856: 0x3008, 0x857: 0x0040,
- 0x858: 0x0040, 0x859: 0x0040, 0x85a: 0x0040, 0x85b: 0x0040, 0x85c: 0x0040, 0x85d: 0x0040,
- 0x85e: 0x0008, 0x85f: 0x0040, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x3308, 0x863: 0x3308,
- 0x864: 0x0040, 0x865: 0x0040, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0008,
- 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,
- 0x870: 0x0040, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0040, 0x874: 0x0040, 0x875: 0x0040,
- 0x876: 0x0040, 0x877: 0x0040, 0x878: 0x0040, 0x879: 0x0040, 0x87a: 0x0040, 0x87b: 0x0040,
- 0x87c: 0x0040, 0x87d: 0x0040, 0x87e: 0x0040, 0x87f: 0x0040,
- // Block 0x22, offset 0x880
- 0x880: 0x3008, 0x881: 0x3308, 0x882: 0x3308, 0x883: 0x3308, 0x884: 0x3308, 0x885: 0x0040,
- 0x886: 0x3008, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008,
- 0x88c: 0x3008, 0x88d: 0x3b08, 0x88e: 0x0008, 0x88f: 0x0018, 0x890: 0x0040, 0x891: 0x0040,
- 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0008, 0x895: 0x0008, 0x896: 0x0008, 0x897: 0x3008,
- 0x898: 0x0018, 0x899: 0x0018, 0x89a: 0x0018, 0x89b: 0x0018, 0x89c: 0x0018, 0x89d: 0x0018,
- 0x89e: 0x0018, 0x89f: 0x0008, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308,
- 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008,
- 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,
- 0x8b0: 0x0018, 0x8b1: 0x0018, 0x8b2: 0x0018, 0x8b3: 0x0018, 0x8b4: 0x0018, 0x8b5: 0x0018,
- 0x8b6: 0x0018, 0x8b7: 0x0018, 0x8b8: 0x0018, 0x8b9: 0x0018, 0x8ba: 0x0008, 0x8bb: 0x0008,
- 0x8bc: 0x0008, 0x8bd: 0x0008, 0x8be: 0x0008, 0x8bf: 0x0008,
- // Block 0x23, offset 0x8c0
- 0x8c0: 0x0040, 0x8c1: 0x0008, 0x8c2: 0x0008, 0x8c3: 0x0040, 0x8c4: 0x0008, 0x8c5: 0x0040,
- 0x8c6: 0x0040, 0x8c7: 0x0008, 0x8c8: 0x0008, 0x8c9: 0x0040, 0x8ca: 0x0008, 0x8cb: 0x0040,
- 0x8cc: 0x0040, 0x8cd: 0x0008, 0x8ce: 0x0040, 0x8cf: 0x0040, 0x8d0: 0x0040, 0x8d1: 0x0040,
- 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x0008,
- 0x8d8: 0x0040, 0x8d9: 0x0008, 0x8da: 0x0008, 0x8db: 0x0008, 0x8dc: 0x0008, 0x8dd: 0x0008,
- 0x8de: 0x0008, 0x8df: 0x0008, 0x8e0: 0x0040, 0x8e1: 0x0008, 0x8e2: 0x0008, 0x8e3: 0x0008,
- 0x8e4: 0x0040, 0x8e5: 0x0008, 0x8e6: 0x0040, 0x8e7: 0x0008, 0x8e8: 0x0040, 0x8e9: 0x0040,
- 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0040, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,
- 0x8f0: 0x0008, 0x8f1: 0x3308, 0x8f2: 0x0008, 0x8f3: 0x0929, 0x8f4: 0x3308, 0x8f5: 0x3308,
- 0x8f6: 0x3308, 0x8f7: 0x3308, 0x8f8: 0x3308, 0x8f9: 0x3308, 0x8fa: 0x0040, 0x8fb: 0x3308,
- 0x8fc: 0x3308, 0x8fd: 0x0008, 0x8fe: 0x0040, 0x8ff: 0x0040,
- // Block 0x24, offset 0x900
- 0x900: 0x0008, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x09d1, 0x904: 0x0008, 0x905: 0x0008,
- 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0040, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0008,
- 0x90c: 0x0008, 0x90d: 0x0a09, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008,
- 0x912: 0x0a41, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0a79,
- 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0ab1, 0x91d: 0x0008,
- 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008,
- 0x924: 0x0008, 0x925: 0x0008, 0x926: 0x0008, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0ae9,
- 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0040, 0x92e: 0x0040, 0x92f: 0x0040,
- 0x930: 0x0040, 0x931: 0x3308, 0x932: 0x3308, 0x933: 0x0b21, 0x934: 0x3308, 0x935: 0x0b59,
- 0x936: 0x0b91, 0x937: 0x0bc9, 0x938: 0x0c19, 0x939: 0x0c51, 0x93a: 0x3308, 0x93b: 0x3308,
- 0x93c: 0x3308, 0x93d: 0x3308, 0x93e: 0x3308, 0x93f: 0x3008,
- // Block 0x25, offset 0x940
- 0x940: 0x3308, 0x941: 0x0ca1, 0x942: 0x3308, 0x943: 0x3308, 0x944: 0x3b08, 0x945: 0x0018,
- 0x946: 0x3308, 0x947: 0x3308, 0x948: 0x0008, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,
- 0x94c: 0x0008, 0x94d: 0x3308, 0x94e: 0x3308, 0x94f: 0x3308, 0x950: 0x3308, 0x951: 0x3308,
- 0x952: 0x3308, 0x953: 0x0cd9, 0x954: 0x3308, 0x955: 0x3308, 0x956: 0x3308, 0x957: 0x3308,
- 0x958: 0x0040, 0x959: 0x3308, 0x95a: 0x3308, 0x95b: 0x3308, 0x95c: 0x3308, 0x95d: 0x0d11,
- 0x95e: 0x3308, 0x95f: 0x3308, 0x960: 0x3308, 0x961: 0x3308, 0x962: 0x0d49, 0x963: 0x3308,
- 0x964: 0x3308, 0x965: 0x3308, 0x966: 0x3308, 0x967: 0x0d81, 0x968: 0x3308, 0x969: 0x3308,
- 0x96a: 0x3308, 0x96b: 0x3308, 0x96c: 0x0db9, 0x96d: 0x3308, 0x96e: 0x3308, 0x96f: 0x3308,
- 0x970: 0x3308, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x3308, 0x974: 0x3308, 0x975: 0x3308,
- 0x976: 0x3308, 0x977: 0x3308, 0x978: 0x3308, 0x979: 0x0df1, 0x97a: 0x3308, 0x97b: 0x3308,
- 0x97c: 0x3308, 0x97d: 0x0040, 0x97e: 0x0018, 0x97f: 0x0018,
- // Block 0x26, offset 0x980
- 0x980: 0x0008, 0x981: 0x0008, 0x982: 0x0008, 0x983: 0x0008, 0x984: 0x0008, 0x985: 0x0008,
- 0x986: 0x0008, 0x987: 0x0008, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,
- 0x98c: 0x0008, 0x98d: 0x0008, 0x98e: 0x0008, 0x98f: 0x0008, 0x990: 0x0008, 0x991: 0x0008,
- 0x992: 0x0008, 0x993: 0x0008, 0x994: 0x0008, 0x995: 0x0008, 0x996: 0x0008, 0x997: 0x0008,
- 0x998: 0x0008, 0x999: 0x0008, 0x99a: 0x0008, 0x99b: 0x0008, 0x99c: 0x0008, 0x99d: 0x0008,
- 0x99e: 0x0008, 0x99f: 0x0008, 0x9a0: 0x0008, 0x9a1: 0x0008, 0x9a2: 0x0008, 0x9a3: 0x0008,
- 0x9a4: 0x0008, 0x9a5: 0x0008, 0x9a6: 0x0008, 0x9a7: 0x0008, 0x9a8: 0x0008, 0x9a9: 0x0008,
- 0x9aa: 0x0008, 0x9ab: 0x0008, 0x9ac: 0x0039, 0x9ad: 0x0ed1, 0x9ae: 0x0ee9, 0x9af: 0x0008,
- 0x9b0: 0x0ef9, 0x9b1: 0x0f09, 0x9b2: 0x0f19, 0x9b3: 0x0f31, 0x9b4: 0x0249, 0x9b5: 0x0f41,
- 0x9b6: 0x0259, 0x9b7: 0x0f51, 0x9b8: 0x0359, 0x9b9: 0x0f61, 0x9ba: 0x0f71, 0x9bb: 0x0008,
- 0x9bc: 0x00d9, 0x9bd: 0x0f81, 0x9be: 0x0f99, 0x9bf: 0x0269,
- // Block 0x27, offset 0x9c0
- 0x9c0: 0x0fa9, 0x9c1: 0x0fb9, 0x9c2: 0x0279, 0x9c3: 0x0039, 0x9c4: 0x0fc9, 0x9c5: 0x0fe1,
- 0x9c6: 0x059d, 0x9c7: 0x0ee9, 0x9c8: 0x0ef9, 0x9c9: 0x0f09, 0x9ca: 0x0ff9, 0x9cb: 0x1011,
- 0x9cc: 0x1029, 0x9cd: 0x0f31, 0x9ce: 0x0008, 0x9cf: 0x0f51, 0x9d0: 0x0f61, 0x9d1: 0x1041,
- 0x9d2: 0x00d9, 0x9d3: 0x1059, 0x9d4: 0x05b5, 0x9d5: 0x05b5, 0x9d6: 0x0f99, 0x9d7: 0x0fa9,
- 0x9d8: 0x0fb9, 0x9d9: 0x059d, 0x9da: 0x1071, 0x9db: 0x1089, 0x9dc: 0x05cd, 0x9dd: 0x1099,
- 0x9de: 0x10b1, 0x9df: 0x10c9, 0x9e0: 0x10e1, 0x9e1: 0x10f9, 0x9e2: 0x0f41, 0x9e3: 0x0269,
- 0x9e4: 0x0fb9, 0x9e5: 0x1089, 0x9e6: 0x1099, 0x9e7: 0x10b1, 0x9e8: 0x1111, 0x9e9: 0x10e1,
- 0x9ea: 0x10f9, 0x9eb: 0x0008, 0x9ec: 0x0008, 0x9ed: 0x0008, 0x9ee: 0x0008, 0x9ef: 0x0008,
- 0x9f0: 0x0008, 0x9f1: 0x0008, 0x9f2: 0x0008, 0x9f3: 0x0008, 0x9f4: 0x0008, 0x9f5: 0x0008,
- 0x9f6: 0x0008, 0x9f7: 0x0008, 0x9f8: 0x1129, 0x9f9: 0x0008, 0x9fa: 0x0008, 0x9fb: 0x0008,
- 0x9fc: 0x0008, 0x9fd: 0x0008, 0x9fe: 0x0008, 0x9ff: 0x0008,
- // Block 0x28, offset 0xa00
- 0xa00: 0x0008, 0xa01: 0x0008, 0xa02: 0x0008, 0xa03: 0x0008, 0xa04: 0x0008, 0xa05: 0x0008,
- 0xa06: 0x0008, 0xa07: 0x0008, 0xa08: 0x0008, 0xa09: 0x0008, 0xa0a: 0x0008, 0xa0b: 0x0008,
- 0xa0c: 0x0008, 0xa0d: 0x0008, 0xa0e: 0x0008, 0xa0f: 0x0008, 0xa10: 0x0008, 0xa11: 0x0008,
- 0xa12: 0x0008, 0xa13: 0x0008, 0xa14: 0x0008, 0xa15: 0x0008, 0xa16: 0x0008, 0xa17: 0x0008,
- 0xa18: 0x0008, 0xa19: 0x0008, 0xa1a: 0x0008, 0xa1b: 0x1141, 0xa1c: 0x1159, 0xa1d: 0x1169,
- 0xa1e: 0x1181, 0xa1f: 0x1029, 0xa20: 0x1199, 0xa21: 0x11a9, 0xa22: 0x11c1, 0xa23: 0x11d9,
- 0xa24: 0x11f1, 0xa25: 0x1209, 0xa26: 0x1221, 0xa27: 0x05e5, 0xa28: 0x1239, 0xa29: 0x1251,
- 0xa2a: 0xe17d, 0xa2b: 0x1269, 0xa2c: 0x1281, 0xa2d: 0x1299, 0xa2e: 0x12b1, 0xa2f: 0x12c9,
- 0xa30: 0x12e1, 0xa31: 0x12f9, 0xa32: 0x1311, 0xa33: 0x1329, 0xa34: 0x1341, 0xa35: 0x1359,
- 0xa36: 0x1371, 0xa37: 0x1389, 0xa38: 0x05fd, 0xa39: 0x13a1, 0xa3a: 0x13b9, 0xa3b: 0x13d1,
- 0xa3c: 0x13e1, 0xa3d: 0x13f9, 0xa3e: 0x1411, 0xa3f: 0x1429,
- // Block 0x29, offset 0xa40
- 0xa40: 0xe00d, 0xa41: 0x0008, 0xa42: 0xe00d, 0xa43: 0x0008, 0xa44: 0xe00d, 0xa45: 0x0008,
- 0xa46: 0xe00d, 0xa47: 0x0008, 0xa48: 0xe00d, 0xa49: 0x0008, 0xa4a: 0xe00d, 0xa4b: 0x0008,
- 0xa4c: 0xe00d, 0xa4d: 0x0008, 0xa4e: 0xe00d, 0xa4f: 0x0008, 0xa50: 0xe00d, 0xa51: 0x0008,
- 0xa52: 0xe00d, 0xa53: 0x0008, 0xa54: 0xe00d, 0xa55: 0x0008, 0xa56: 0xe00d, 0xa57: 0x0008,
- 0xa58: 0xe00d, 0xa59: 0x0008, 0xa5a: 0xe00d, 0xa5b: 0x0008, 0xa5c: 0xe00d, 0xa5d: 0x0008,
- 0xa5e: 0xe00d, 0xa5f: 0x0008, 0xa60: 0xe00d, 0xa61: 0x0008, 0xa62: 0xe00d, 0xa63: 0x0008,
- 0xa64: 0xe00d, 0xa65: 0x0008, 0xa66: 0xe00d, 0xa67: 0x0008, 0xa68: 0xe00d, 0xa69: 0x0008,
- 0xa6a: 0xe00d, 0xa6b: 0x0008, 0xa6c: 0xe00d, 0xa6d: 0x0008, 0xa6e: 0xe00d, 0xa6f: 0x0008,
- 0xa70: 0xe00d, 0xa71: 0x0008, 0xa72: 0xe00d, 0xa73: 0x0008, 0xa74: 0xe00d, 0xa75: 0x0008,
- 0xa76: 0xe00d, 0xa77: 0x0008, 0xa78: 0xe00d, 0xa79: 0x0008, 0xa7a: 0xe00d, 0xa7b: 0x0008,
- 0xa7c: 0xe00d, 0xa7d: 0x0008, 0xa7e: 0xe00d, 0xa7f: 0x0008,
- // Block 0x2a, offset 0xa80
- 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008,
- 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008,
- 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008,
- 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0x0008, 0xa97: 0x0008,
- 0xa98: 0x0008, 0xa99: 0x0008, 0xa9a: 0x0615, 0xa9b: 0x0635, 0xa9c: 0x0008, 0xa9d: 0x0008,
- 0xa9e: 0x1441, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008,
- 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008,
- 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008,
- 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008,
- 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008,
- 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008,
- // Block 0x2b, offset 0xac0
- 0xac0: 0x0008, 0xac1: 0x0008, 0xac2: 0x0008, 0xac3: 0x0008, 0xac4: 0x0008, 0xac5: 0x0008,
- 0xac6: 0x0040, 0xac7: 0x0040, 0xac8: 0xe045, 0xac9: 0xe045, 0xaca: 0xe045, 0xacb: 0xe045,
- 0xacc: 0xe045, 0xacd: 0xe045, 0xace: 0x0040, 0xacf: 0x0040, 0xad0: 0x0008, 0xad1: 0x0008,
- 0xad2: 0x0008, 0xad3: 0x0008, 0xad4: 0x0008, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008,
- 0xad8: 0x0040, 0xad9: 0xe045, 0xada: 0x0040, 0xadb: 0xe045, 0xadc: 0x0040, 0xadd: 0xe045,
- 0xade: 0x0040, 0xadf: 0xe045, 0xae0: 0x0008, 0xae1: 0x0008, 0xae2: 0x0008, 0xae3: 0x0008,
- 0xae4: 0x0008, 0xae5: 0x0008, 0xae6: 0x0008, 0xae7: 0x0008, 0xae8: 0xe045, 0xae9: 0xe045,
- 0xaea: 0xe045, 0xaeb: 0xe045, 0xaec: 0xe045, 0xaed: 0xe045, 0xaee: 0xe045, 0xaef: 0xe045,
- 0xaf0: 0x0008, 0xaf1: 0x1459, 0xaf2: 0x0008, 0xaf3: 0x1471, 0xaf4: 0x0008, 0xaf5: 0x1489,
- 0xaf6: 0x0008, 0xaf7: 0x14a1, 0xaf8: 0x0008, 0xaf9: 0x14b9, 0xafa: 0x0008, 0xafb: 0x14d1,
- 0xafc: 0x0008, 0xafd: 0x14e9, 0xafe: 0x0040, 0xaff: 0x0040,
- // Block 0x2c, offset 0xb00
- 0xb00: 0x1501, 0xb01: 0x1531, 0xb02: 0x1561, 0xb03: 0x1591, 0xb04: 0x15c1, 0xb05: 0x15f1,
- 0xb06: 0x1621, 0xb07: 0x1651, 0xb08: 0x1501, 0xb09: 0x1531, 0xb0a: 0x1561, 0xb0b: 0x1591,
- 0xb0c: 0x15c1, 0xb0d: 0x15f1, 0xb0e: 0x1621, 0xb0f: 0x1651, 0xb10: 0x1681, 0xb11: 0x16b1,
- 0xb12: 0x16e1, 0xb13: 0x1711, 0xb14: 0x1741, 0xb15: 0x1771, 0xb16: 0x17a1, 0xb17: 0x17d1,
- 0xb18: 0x1681, 0xb19: 0x16b1, 0xb1a: 0x16e1, 0xb1b: 0x1711, 0xb1c: 0x1741, 0xb1d: 0x1771,
- 0xb1e: 0x17a1, 0xb1f: 0x17d1, 0xb20: 0x1801, 0xb21: 0x1831, 0xb22: 0x1861, 0xb23: 0x1891,
- 0xb24: 0x18c1, 0xb25: 0x18f1, 0xb26: 0x1921, 0xb27: 0x1951, 0xb28: 0x1801, 0xb29: 0x1831,
- 0xb2a: 0x1861, 0xb2b: 0x1891, 0xb2c: 0x18c1, 0xb2d: 0x18f1, 0xb2e: 0x1921, 0xb2f: 0x1951,
- 0xb30: 0x0008, 0xb31: 0x0008, 0xb32: 0x1981, 0xb33: 0x19b1, 0xb34: 0x19d9, 0xb35: 0x0040,
- 0xb36: 0x0008, 0xb37: 0x1a01, 0xb38: 0xe045, 0xb39: 0xe045, 0xb3a: 0x064d, 0xb3b: 0x1459,
- 0xb3c: 0x19b1, 0xb3d: 0x0666, 0xb3e: 0x1a31, 0xb3f: 0x0686,
- // Block 0x2d, offset 0xb40
- 0xb40: 0x06a6, 0xb41: 0x1a4a, 0xb42: 0x1a79, 0xb43: 0x1aa9, 0xb44: 0x1ad1, 0xb45: 0x0040,
- 0xb46: 0x0008, 0xb47: 0x1af9, 0xb48: 0x06c5, 0xb49: 0x1471, 0xb4a: 0x06dd, 0xb4b: 0x1489,
- 0xb4c: 0x1aa9, 0xb4d: 0x1b2a, 0xb4e: 0x1b5a, 0xb4f: 0x1b8a, 0xb50: 0x0008, 0xb51: 0x0008,
- 0xb52: 0x0008, 0xb53: 0x1bb9, 0xb54: 0x0040, 0xb55: 0x0040, 0xb56: 0x0008, 0xb57: 0x0008,
- 0xb58: 0xe045, 0xb59: 0xe045, 0xb5a: 0x06f5, 0xb5b: 0x14a1, 0xb5c: 0x0040, 0xb5d: 0x1bd2,
- 0xb5e: 0x1c02, 0xb5f: 0x1c32, 0xb60: 0x0008, 0xb61: 0x0008, 0xb62: 0x0008, 0xb63: 0x1c61,
- 0xb64: 0x0008, 0xb65: 0x0008, 0xb66: 0x0008, 0xb67: 0x0008, 0xb68: 0xe045, 0xb69: 0xe045,
- 0xb6a: 0x070d, 0xb6b: 0x14d1, 0xb6c: 0xe04d, 0xb6d: 0x1c7a, 0xb6e: 0x03d2, 0xb6f: 0x1caa,
- 0xb70: 0x0040, 0xb71: 0x0040, 0xb72: 0x1cb9, 0xb73: 0x1ce9, 0xb74: 0x1d11, 0xb75: 0x0040,
- 0xb76: 0x0008, 0xb77: 0x1d39, 0xb78: 0x0725, 0xb79: 0x14b9, 0xb7a: 0x0515, 0xb7b: 0x14e9,
- 0xb7c: 0x1ce9, 0xb7d: 0x073e, 0xb7e: 0x075e, 0xb7f: 0x0040,
- // Block 0x2e, offset 0xb80
- 0xb80: 0x000a, 0xb81: 0x000a, 0xb82: 0x000a, 0xb83: 0x000a, 0xb84: 0x000a, 0xb85: 0x000a,
- 0xb86: 0x000a, 0xb87: 0x000a, 0xb88: 0x000a, 0xb89: 0x000a, 0xb8a: 0x000a, 0xb8b: 0x03c0,
- 0xb8c: 0x0003, 0xb8d: 0x0003, 0xb8e: 0x0340, 0xb8f: 0x0b40, 0xb90: 0x0018, 0xb91: 0xe00d,
- 0xb92: 0x0018, 0xb93: 0x0018, 0xb94: 0x0018, 0xb95: 0x0018, 0xb96: 0x0018, 0xb97: 0x077e,
- 0xb98: 0x0018, 0xb99: 0x0018, 0xb9a: 0x0018, 0xb9b: 0x0018, 0xb9c: 0x0018, 0xb9d: 0x0018,
- 0xb9e: 0x0018, 0xb9f: 0x0018, 0xba0: 0x0018, 0xba1: 0x0018, 0xba2: 0x0018, 0xba3: 0x0018,
- 0xba4: 0x0040, 0xba5: 0x0040, 0xba6: 0x0040, 0xba7: 0x0018, 0xba8: 0x0040, 0xba9: 0x0040,
- 0xbaa: 0x0340, 0xbab: 0x0340, 0xbac: 0x0340, 0xbad: 0x0340, 0xbae: 0x0340, 0xbaf: 0x000a,
- 0xbb0: 0x0018, 0xbb1: 0x0018, 0xbb2: 0x0018, 0xbb3: 0x1d69, 0xbb4: 0x1da1, 0xbb5: 0x0018,
- 0xbb6: 0x1df1, 0xbb7: 0x1e29, 0xbb8: 0x0018, 0xbb9: 0x0018, 0xbba: 0x0018, 0xbbb: 0x0018,
- 0xbbc: 0x1e7a, 0xbbd: 0x0018, 0xbbe: 0x079e, 0xbbf: 0x0018,
- // Block 0x2f, offset 0xbc0
- 0xbc0: 0x0018, 0xbc1: 0x0018, 0xbc2: 0x0018, 0xbc3: 0x0018, 0xbc4: 0x0018, 0xbc5: 0x0018,
- 0xbc6: 0x0018, 0xbc7: 0x1e92, 0xbc8: 0x1eaa, 0xbc9: 0x1ec2, 0xbca: 0x0018, 0xbcb: 0x0018,
- 0xbcc: 0x0018, 0xbcd: 0x0018, 0xbce: 0x0018, 0xbcf: 0x0018, 0xbd0: 0x0018, 0xbd1: 0x0018,
- 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x1ed9,
- 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018,
- 0xbde: 0x0018, 0xbdf: 0x000a, 0xbe0: 0x03c0, 0xbe1: 0x0340, 0xbe2: 0x0340, 0xbe3: 0x0340,
- 0xbe4: 0x03c0, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0040, 0xbe8: 0x0040, 0xbe9: 0x0040,
- 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x0340,
- 0xbf0: 0x1f41, 0xbf1: 0x0f41, 0xbf2: 0x0040, 0xbf3: 0x0040, 0xbf4: 0x1f51, 0xbf5: 0x1f61,
- 0xbf6: 0x1f71, 0xbf7: 0x1f81, 0xbf8: 0x1f91, 0xbf9: 0x1fa1, 0xbfa: 0x1fb2, 0xbfb: 0x07bd,
- 0xbfc: 0x1fc2, 0xbfd: 0x1fd2, 0xbfe: 0x1fe2, 0xbff: 0x0f71,
- // Block 0x30, offset 0xc00
- 0xc00: 0x1f41, 0xc01: 0x00c9, 0xc02: 0x0069, 0xc03: 0x0079, 0xc04: 0x1f51, 0xc05: 0x1f61,
- 0xc06: 0x1f71, 0xc07: 0x1f81, 0xc08: 0x1f91, 0xc09: 0x1fa1, 0xc0a: 0x1fb2, 0xc0b: 0x07d5,
- 0xc0c: 0x1fc2, 0xc0d: 0x1fd2, 0xc0e: 0x1fe2, 0xc0f: 0x0040, 0xc10: 0x0039, 0xc11: 0x0f09,
- 0xc12: 0x00d9, 0xc13: 0x0369, 0xc14: 0x0ff9, 0xc15: 0x0249, 0xc16: 0x0f51, 0xc17: 0x0359,
- 0xc18: 0x0f61, 0xc19: 0x0f71, 0xc1a: 0x0f99, 0xc1b: 0x01d9, 0xc1c: 0x0fa9, 0xc1d: 0x0040,
- 0xc1e: 0x0040, 0xc1f: 0x0040, 0xc20: 0x0018, 0xc21: 0x0018, 0xc22: 0x0018, 0xc23: 0x0018,
- 0xc24: 0x0018, 0xc25: 0x0018, 0xc26: 0x0018, 0xc27: 0x0018, 0xc28: 0x1ff1, 0xc29: 0x0018,
- 0xc2a: 0x0018, 0xc2b: 0x0018, 0xc2c: 0x0018, 0xc2d: 0x0018, 0xc2e: 0x0018, 0xc2f: 0x0018,
- 0xc30: 0x0018, 0xc31: 0x0018, 0xc32: 0x0018, 0xc33: 0x0018, 0xc34: 0x0018, 0xc35: 0x0018,
- 0xc36: 0x0018, 0xc37: 0x0018, 0xc38: 0x0018, 0xc39: 0x0018, 0xc3a: 0x0018, 0xc3b: 0x0018,
- 0xc3c: 0x0018, 0xc3d: 0x0018, 0xc3e: 0x0018, 0xc3f: 0x0040,
- // Block 0x31, offset 0xc40
- 0xc40: 0x07ee, 0xc41: 0x080e, 0xc42: 0x1159, 0xc43: 0x082d, 0xc44: 0x0018, 0xc45: 0x084e,
- 0xc46: 0x086e, 0xc47: 0x1011, 0xc48: 0x0018, 0xc49: 0x088d, 0xc4a: 0x0f31, 0xc4b: 0x0249,
- 0xc4c: 0x0249, 0xc4d: 0x0249, 0xc4e: 0x0249, 0xc4f: 0x2009, 0xc50: 0x0f41, 0xc51: 0x0f41,
- 0xc52: 0x0359, 0xc53: 0x0359, 0xc54: 0x0018, 0xc55: 0x0f71, 0xc56: 0x2021, 0xc57: 0x0018,
- 0xc58: 0x0018, 0xc59: 0x0f99, 0xc5a: 0x2039, 0xc5b: 0x0269, 0xc5c: 0x0269, 0xc5d: 0x0269,
- 0xc5e: 0x0018, 0xc5f: 0x0018, 0xc60: 0x2049, 0xc61: 0x08ad, 0xc62: 0x2061, 0xc63: 0x0018,
- 0xc64: 0x13d1, 0xc65: 0x0018, 0xc66: 0x2079, 0xc67: 0x0018, 0xc68: 0x13d1, 0xc69: 0x0018,
- 0xc6a: 0x0f51, 0xc6b: 0x2091, 0xc6c: 0x0ee9, 0xc6d: 0x1159, 0xc6e: 0x0018, 0xc6f: 0x0f09,
- 0xc70: 0x0f09, 0xc71: 0x1199, 0xc72: 0x0040, 0xc73: 0x0f61, 0xc74: 0x00d9, 0xc75: 0x20a9,
- 0xc76: 0x20c1, 0xc77: 0x20d9, 0xc78: 0x20f1, 0xc79: 0x0f41, 0xc7a: 0x0018, 0xc7b: 0x08cd,
- 0xc7c: 0x2109, 0xc7d: 0x10b1, 0xc7e: 0x10b1, 0xc7f: 0x2109,
- // Block 0x32, offset 0xc80
- 0xc80: 0x08ed, 0xc81: 0x0018, 0xc82: 0x0018, 0xc83: 0x0018, 0xc84: 0x0018, 0xc85: 0x0ef9,
- 0xc86: 0x0ef9, 0xc87: 0x0f09, 0xc88: 0x0f41, 0xc89: 0x0259, 0xc8a: 0x0018, 0xc8b: 0x0018,
- 0xc8c: 0x0018, 0xc8d: 0x0018, 0xc8e: 0x0008, 0xc8f: 0x0018, 0xc90: 0x2121, 0xc91: 0x2151,
- 0xc92: 0x2181, 0xc93: 0x21b9, 0xc94: 0x21e9, 0xc95: 0x2219, 0xc96: 0x2249, 0xc97: 0x2279,
- 0xc98: 0x22a9, 0xc99: 0x22d9, 0xc9a: 0x2309, 0xc9b: 0x2339, 0xc9c: 0x2369, 0xc9d: 0x2399,
- 0xc9e: 0x23c9, 0xc9f: 0x23f9, 0xca0: 0x0f41, 0xca1: 0x2421, 0xca2: 0x0905, 0xca3: 0x2439,
- 0xca4: 0x1089, 0xca5: 0x2451, 0xca6: 0x0925, 0xca7: 0x2469, 0xca8: 0x2491, 0xca9: 0x0369,
- 0xcaa: 0x24a9, 0xcab: 0x0945, 0xcac: 0x0359, 0xcad: 0x1159, 0xcae: 0x0ef9, 0xcaf: 0x0f61,
- 0xcb0: 0x0f41, 0xcb1: 0x2421, 0xcb2: 0x0965, 0xcb3: 0x2439, 0xcb4: 0x1089, 0xcb5: 0x2451,
- 0xcb6: 0x0985, 0xcb7: 0x2469, 0xcb8: 0x2491, 0xcb9: 0x0369, 0xcba: 0x24a9, 0xcbb: 0x09a5,
- 0xcbc: 0x0359, 0xcbd: 0x1159, 0xcbe: 0x0ef9, 0xcbf: 0x0f61,
- // Block 0x33, offset 0xcc0
- 0xcc0: 0x0018, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0018,
- 0xcc6: 0x0018, 0xcc7: 0x0018, 0xcc8: 0x0018, 0xcc9: 0x0018, 0xcca: 0x0018, 0xccb: 0x0040,
- 0xccc: 0x0040, 0xccd: 0x0040, 0xcce: 0x0040, 0xccf: 0x0040, 0xcd0: 0x0040, 0xcd1: 0x0040,
- 0xcd2: 0x0040, 0xcd3: 0x0040, 0xcd4: 0x0040, 0xcd5: 0x0040, 0xcd6: 0x0040, 0xcd7: 0x0040,
- 0xcd8: 0x0040, 0xcd9: 0x0040, 0xcda: 0x0040, 0xcdb: 0x0040, 0xcdc: 0x0040, 0xcdd: 0x0040,
- 0xcde: 0x0040, 0xcdf: 0x0040, 0xce0: 0x00c9, 0xce1: 0x0069, 0xce2: 0x0079, 0xce3: 0x1f51,
- 0xce4: 0x1f61, 0xce5: 0x1f71, 0xce6: 0x1f81, 0xce7: 0x1f91, 0xce8: 0x1fa1, 0xce9: 0x2601,
- 0xcea: 0x2619, 0xceb: 0x2631, 0xcec: 0x2649, 0xced: 0x2661, 0xcee: 0x2679, 0xcef: 0x2691,
- 0xcf0: 0x26a9, 0xcf1: 0x26c1, 0xcf2: 0x26d9, 0xcf3: 0x26f1, 0xcf4: 0x0a06, 0xcf5: 0x0a26,
- 0xcf6: 0x0a46, 0xcf7: 0x0a66, 0xcf8: 0x0a86, 0xcf9: 0x0aa6, 0xcfa: 0x0ac6, 0xcfb: 0x0ae6,
- 0xcfc: 0x0b06, 0xcfd: 0x270a, 0xcfe: 0x2732, 0xcff: 0x275a,
- // Block 0x34, offset 0xd00
- 0xd00: 0x2782, 0xd01: 0x27aa, 0xd02: 0x27d2, 0xd03: 0x27fa, 0xd04: 0x2822, 0xd05: 0x284a,
- 0xd06: 0x2872, 0xd07: 0x289a, 0xd08: 0x0040, 0xd09: 0x0040, 0xd0a: 0x0040, 0xd0b: 0x0040,
- 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040,
- 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040,
- 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0b26, 0xd1d: 0x0b46,
- 0xd1e: 0x0b66, 0xd1f: 0x0b86, 0xd20: 0x0ba6, 0xd21: 0x0bc6, 0xd22: 0x0be6, 0xd23: 0x0c06,
- 0xd24: 0x0c26, 0xd25: 0x0c46, 0xd26: 0x0c66, 0xd27: 0x0c86, 0xd28: 0x0ca6, 0xd29: 0x0cc6,
- 0xd2a: 0x0ce6, 0xd2b: 0x0d06, 0xd2c: 0x0d26, 0xd2d: 0x0d46, 0xd2e: 0x0d66, 0xd2f: 0x0d86,
- 0xd30: 0x0da6, 0xd31: 0x0dc6, 0xd32: 0x0de6, 0xd33: 0x0e06, 0xd34: 0x0e26, 0xd35: 0x0e46,
- 0xd36: 0x0039, 0xd37: 0x0ee9, 0xd38: 0x1159, 0xd39: 0x0ef9, 0xd3a: 0x0f09, 0xd3b: 0x1199,
- 0xd3c: 0x0f31, 0xd3d: 0x0249, 0xd3e: 0x0f41, 0xd3f: 0x0259,
- // Block 0x35, offset 0xd40
- 0xd40: 0x0f51, 0xd41: 0x0359, 0xd42: 0x0f61, 0xd43: 0x0f71, 0xd44: 0x00d9, 0xd45: 0x0f99,
- 0xd46: 0x2039, 0xd47: 0x0269, 0xd48: 0x01d9, 0xd49: 0x0fa9, 0xd4a: 0x0fb9, 0xd4b: 0x1089,
- 0xd4c: 0x0279, 0xd4d: 0x0369, 0xd4e: 0x0289, 0xd4f: 0x13d1, 0xd50: 0x0039, 0xd51: 0x0ee9,
- 0xd52: 0x1159, 0xd53: 0x0ef9, 0xd54: 0x0f09, 0xd55: 0x1199, 0xd56: 0x0f31, 0xd57: 0x0249,
- 0xd58: 0x0f41, 0xd59: 0x0259, 0xd5a: 0x0f51, 0xd5b: 0x0359, 0xd5c: 0x0f61, 0xd5d: 0x0f71,
- 0xd5e: 0x00d9, 0xd5f: 0x0f99, 0xd60: 0x2039, 0xd61: 0x0269, 0xd62: 0x01d9, 0xd63: 0x0fa9,
- 0xd64: 0x0fb9, 0xd65: 0x1089, 0xd66: 0x0279, 0xd67: 0x0369, 0xd68: 0x0289, 0xd69: 0x13d1,
- 0xd6a: 0x1f41, 0xd6b: 0x0018, 0xd6c: 0x0018, 0xd6d: 0x0018, 0xd6e: 0x0018, 0xd6f: 0x0018,
- 0xd70: 0x0018, 0xd71: 0x0018, 0xd72: 0x0018, 0xd73: 0x0018, 0xd74: 0x0018, 0xd75: 0x0018,
- 0xd76: 0x0018, 0xd77: 0x0018, 0xd78: 0x0018, 0xd79: 0x0018, 0xd7a: 0x0018, 0xd7b: 0x0018,
- 0xd7c: 0x0018, 0xd7d: 0x0018, 0xd7e: 0x0018, 0xd7f: 0x0018,
- // Block 0x36, offset 0xd80
- 0xd80: 0x0008, 0xd81: 0x0008, 0xd82: 0x0008, 0xd83: 0x0008, 0xd84: 0x0008, 0xd85: 0x0008,
- 0xd86: 0x0008, 0xd87: 0x0008, 0xd88: 0x0008, 0xd89: 0x0008, 0xd8a: 0x0008, 0xd8b: 0x0008,
- 0xd8c: 0x0008, 0xd8d: 0x0008, 0xd8e: 0x0008, 0xd8f: 0x0008, 0xd90: 0x0008, 0xd91: 0x0008,
- 0xd92: 0x0008, 0xd93: 0x0008, 0xd94: 0x0008, 0xd95: 0x0008, 0xd96: 0x0008, 0xd97: 0x0008,
- 0xd98: 0x0008, 0xd99: 0x0008, 0xd9a: 0x0008, 0xd9b: 0x0008, 0xd9c: 0x0008, 0xd9d: 0x0008,
- 0xd9e: 0x0008, 0xd9f: 0x0040, 0xda0: 0xe00d, 0xda1: 0x0008, 0xda2: 0x2971, 0xda3: 0x0ebd,
- 0xda4: 0x2989, 0xda5: 0x0008, 0xda6: 0x0008, 0xda7: 0xe07d, 0xda8: 0x0008, 0xda9: 0xe01d,
- 0xdaa: 0x0008, 0xdab: 0xe03d, 0xdac: 0x0008, 0xdad: 0x0fe1, 0xdae: 0x1281, 0xdaf: 0x0fc9,
- 0xdb0: 0x1141, 0xdb1: 0x0008, 0xdb2: 0xe00d, 0xdb3: 0x0008, 0xdb4: 0x0008, 0xdb5: 0xe01d,
- 0xdb6: 0x0008, 0xdb7: 0x0008, 0xdb8: 0x0008, 0xdb9: 0x0008, 0xdba: 0x0008, 0xdbb: 0x0008,
- 0xdbc: 0x0259, 0xdbd: 0x1089, 0xdbe: 0x29a1, 0xdbf: 0x29b9,
- // Block 0x37, offset 0xdc0
- 0xdc0: 0xe00d, 0xdc1: 0x0008, 0xdc2: 0xe00d, 0xdc3: 0x0008, 0xdc4: 0xe00d, 0xdc5: 0x0008,
- 0xdc6: 0xe00d, 0xdc7: 0x0008, 0xdc8: 0xe00d, 0xdc9: 0x0008, 0xdca: 0xe00d, 0xdcb: 0x0008,
- 0xdcc: 0xe00d, 0xdcd: 0x0008, 0xdce: 0xe00d, 0xdcf: 0x0008, 0xdd0: 0xe00d, 0xdd1: 0x0008,
- 0xdd2: 0xe00d, 0xdd3: 0x0008, 0xdd4: 0xe00d, 0xdd5: 0x0008, 0xdd6: 0xe00d, 0xdd7: 0x0008,
- 0xdd8: 0xe00d, 0xdd9: 0x0008, 0xdda: 0xe00d, 0xddb: 0x0008, 0xddc: 0xe00d, 0xddd: 0x0008,
- 0xdde: 0xe00d, 0xddf: 0x0008, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0xe00d, 0xde3: 0x0008,
- 0xde4: 0x0008, 0xde5: 0x0018, 0xde6: 0x0018, 0xde7: 0x0018, 0xde8: 0x0018, 0xde9: 0x0018,
- 0xdea: 0x0018, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0xe01d, 0xdee: 0x0008, 0xdef: 0x3308,
- 0xdf0: 0x3308, 0xdf1: 0x3308, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0040, 0xdf5: 0x0040,
- 0xdf6: 0x0040, 0xdf7: 0x0040, 0xdf8: 0x0040, 0xdf9: 0x0018, 0xdfa: 0x0018, 0xdfb: 0x0018,
- 0xdfc: 0x0018, 0xdfd: 0x0018, 0xdfe: 0x0018, 0xdff: 0x0018,
- // Block 0x38, offset 0xe00
- 0xe00: 0x26fd, 0xe01: 0x271d, 0xe02: 0x273d, 0xe03: 0x275d, 0xe04: 0x277d, 0xe05: 0x279d,
- 0xe06: 0x27bd, 0xe07: 0x27dd, 0xe08: 0x27fd, 0xe09: 0x281d, 0xe0a: 0x283d, 0xe0b: 0x285d,
- 0xe0c: 0x287d, 0xe0d: 0x289d, 0xe0e: 0x28bd, 0xe0f: 0x28dd, 0xe10: 0x28fd, 0xe11: 0x291d,
- 0xe12: 0x293d, 0xe13: 0x295d, 0xe14: 0x297d, 0xe15: 0x299d, 0xe16: 0x0040, 0xe17: 0x0040,
- 0xe18: 0x0040, 0xe19: 0x0040, 0xe1a: 0x0040, 0xe1b: 0x0040, 0xe1c: 0x0040, 0xe1d: 0x0040,
- 0xe1e: 0x0040, 0xe1f: 0x0040, 0xe20: 0x0040, 0xe21: 0x0040, 0xe22: 0x0040, 0xe23: 0x0040,
- 0xe24: 0x0040, 0xe25: 0x0040, 0xe26: 0x0040, 0xe27: 0x0040, 0xe28: 0x0040, 0xe29: 0x0040,
- 0xe2a: 0x0040, 0xe2b: 0x0040, 0xe2c: 0x0040, 0xe2d: 0x0040, 0xe2e: 0x0040, 0xe2f: 0x0040,
- 0xe30: 0x0040, 0xe31: 0x0040, 0xe32: 0x0040, 0xe33: 0x0040, 0xe34: 0x0040, 0xe35: 0x0040,
- 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0040, 0xe3a: 0x0040, 0xe3b: 0x0040,
- 0xe3c: 0x0040, 0xe3d: 0x0040, 0xe3e: 0x0040, 0xe3f: 0x0040,
- // Block 0x39, offset 0xe40
- 0xe40: 0x000a, 0xe41: 0x0018, 0xe42: 0x29d1, 0xe43: 0x0018, 0xe44: 0x0018, 0xe45: 0x0008,
- 0xe46: 0x0008, 0xe47: 0x0008, 0xe48: 0x0018, 0xe49: 0x0018, 0xe4a: 0x0018, 0xe4b: 0x0018,
- 0xe4c: 0x0018, 0xe4d: 0x0018, 0xe4e: 0x0018, 0xe4f: 0x0018, 0xe50: 0x0018, 0xe51: 0x0018,
- 0xe52: 0x0018, 0xe53: 0x0018, 0xe54: 0x0018, 0xe55: 0x0018, 0xe56: 0x0018, 0xe57: 0x0018,
- 0xe58: 0x0018, 0xe59: 0x0018, 0xe5a: 0x0018, 0xe5b: 0x0018, 0xe5c: 0x0018, 0xe5d: 0x0018,
- 0xe5e: 0x0018, 0xe5f: 0x0018, 0xe60: 0x0018, 0xe61: 0x0018, 0xe62: 0x0018, 0xe63: 0x0018,
- 0xe64: 0x0018, 0xe65: 0x0018, 0xe66: 0x0018, 0xe67: 0x0018, 0xe68: 0x0018, 0xe69: 0x0018,
- 0xe6a: 0x3308, 0xe6b: 0x3308, 0xe6c: 0x3308, 0xe6d: 0x3308, 0xe6e: 0x3018, 0xe6f: 0x3018,
- 0xe70: 0x0018, 0xe71: 0x0018, 0xe72: 0x0018, 0xe73: 0x0018, 0xe74: 0x0018, 0xe75: 0x0018,
- 0xe76: 0xe125, 0xe77: 0x0018, 0xe78: 0x29bd, 0xe79: 0x29dd, 0xe7a: 0x29fd, 0xe7b: 0x0018,
- 0xe7c: 0x0008, 0xe7d: 0x0018, 0xe7e: 0x0018, 0xe7f: 0x0018,
- // Block 0x3a, offset 0xe80
- 0xe80: 0x2b3d, 0xe81: 0x2b5d, 0xe82: 0x2b7d, 0xe83: 0x2b9d, 0xe84: 0x2bbd, 0xe85: 0x2bdd,
- 0xe86: 0x2bdd, 0xe87: 0x2bdd, 0xe88: 0x2bfd, 0xe89: 0x2bfd, 0xe8a: 0x2bfd, 0xe8b: 0x2bfd,
- 0xe8c: 0x2c1d, 0xe8d: 0x2c1d, 0xe8e: 0x2c1d, 0xe8f: 0x2c3d, 0xe90: 0x2c5d, 0xe91: 0x2c5d,
- 0xe92: 0x2a7d, 0xe93: 0x2a7d, 0xe94: 0x2c5d, 0xe95: 0x2c5d, 0xe96: 0x2c7d, 0xe97: 0x2c7d,
- 0xe98: 0x2c5d, 0xe99: 0x2c5d, 0xe9a: 0x2a7d, 0xe9b: 0x2a7d, 0xe9c: 0x2c5d, 0xe9d: 0x2c5d,
- 0xe9e: 0x2c3d, 0xe9f: 0x2c3d, 0xea0: 0x2c9d, 0xea1: 0x2c9d, 0xea2: 0x2cbd, 0xea3: 0x2cbd,
- 0xea4: 0x0040, 0xea5: 0x2cdd, 0xea6: 0x2cfd, 0xea7: 0x2d1d, 0xea8: 0x2d1d, 0xea9: 0x2d3d,
- 0xeaa: 0x2d5d, 0xeab: 0x2d7d, 0xeac: 0x2d9d, 0xead: 0x2dbd, 0xeae: 0x2ddd, 0xeaf: 0x2dfd,
- 0xeb0: 0x2e1d, 0xeb1: 0x2e3d, 0xeb2: 0x2e3d, 0xeb3: 0x2e5d, 0xeb4: 0x2e7d, 0xeb5: 0x2e7d,
- 0xeb6: 0x2e9d, 0xeb7: 0x2ebd, 0xeb8: 0x2e5d, 0xeb9: 0x2edd, 0xeba: 0x2efd, 0xebb: 0x2edd,
- 0xebc: 0x2e5d, 0xebd: 0x2f1d, 0xebe: 0x2f3d, 0xebf: 0x2f5d,
- // Block 0x3b, offset 0xec0
- 0xec0: 0x2f7d, 0xec1: 0x2f9d, 0xec2: 0x2cfd, 0xec3: 0x2cdd, 0xec4: 0x2fbd, 0xec5: 0x2fdd,
- 0xec6: 0x2ffd, 0xec7: 0x301d, 0xec8: 0x303d, 0xec9: 0x305d, 0xeca: 0x307d, 0xecb: 0x309d,
- 0xecc: 0x30bd, 0xecd: 0x30dd, 0xece: 0x30fd, 0xecf: 0x0040, 0xed0: 0x0018, 0xed1: 0x0018,
- 0xed2: 0x311d, 0xed3: 0x313d, 0xed4: 0x315d, 0xed5: 0x317d, 0xed6: 0x319d, 0xed7: 0x31bd,
- 0xed8: 0x31dd, 0xed9: 0x31fd, 0xeda: 0x321d, 0xedb: 0x323d, 0xedc: 0x315d, 0xedd: 0x325d,
- 0xede: 0x327d, 0xedf: 0x329d, 0xee0: 0x0008, 0xee1: 0x0008, 0xee2: 0x0008, 0xee3: 0x0008,
- 0xee4: 0x0008, 0xee5: 0x0008, 0xee6: 0x0008, 0xee7: 0x0008, 0xee8: 0x0008, 0xee9: 0x0008,
- 0xeea: 0x0008, 0xeeb: 0x0008, 0xeec: 0x0008, 0xeed: 0x0008, 0xeee: 0x0008, 0xeef: 0x0008,
- 0xef0: 0x0008, 0xef1: 0x0008, 0xef2: 0x0008, 0xef3: 0x0008, 0xef4: 0x0008, 0xef5: 0x0008,
- 0xef6: 0x0008, 0xef7: 0x0008, 0xef8: 0x0008, 0xef9: 0x0008, 0xefa: 0x0008, 0xefb: 0x0040,
- 0xefc: 0x0040, 0xefd: 0x0040, 0xefe: 0x0040, 0xeff: 0x0040,
- // Block 0x3c, offset 0xf00
- 0xf00: 0x36a2, 0xf01: 0x36d2, 0xf02: 0x3702, 0xf03: 0x3732, 0xf04: 0x32bd, 0xf05: 0x32dd,
- 0xf06: 0x32fd, 0xf07: 0x331d, 0xf08: 0x0018, 0xf09: 0x0018, 0xf0a: 0x0018, 0xf0b: 0x0018,
- 0xf0c: 0x0018, 0xf0d: 0x0018, 0xf0e: 0x0018, 0xf0f: 0x0018, 0xf10: 0x333d, 0xf11: 0x3761,
- 0xf12: 0x3779, 0xf13: 0x3791, 0xf14: 0x37a9, 0xf15: 0x37c1, 0xf16: 0x37d9, 0xf17: 0x37f1,
- 0xf18: 0x3809, 0xf19: 0x3821, 0xf1a: 0x3839, 0xf1b: 0x3851, 0xf1c: 0x3869, 0xf1d: 0x3881,
- 0xf1e: 0x3899, 0xf1f: 0x38b1, 0xf20: 0x335d, 0xf21: 0x337d, 0xf22: 0x339d, 0xf23: 0x33bd,
- 0xf24: 0x33dd, 0xf25: 0x33dd, 0xf26: 0x33fd, 0xf27: 0x341d, 0xf28: 0x343d, 0xf29: 0x345d,
- 0xf2a: 0x347d, 0xf2b: 0x349d, 0xf2c: 0x34bd, 0xf2d: 0x34dd, 0xf2e: 0x34fd, 0xf2f: 0x351d,
- 0xf30: 0x353d, 0xf31: 0x355d, 0xf32: 0x357d, 0xf33: 0x359d, 0xf34: 0x35bd, 0xf35: 0x35dd,
- 0xf36: 0x35fd, 0xf37: 0x361d, 0xf38: 0x363d, 0xf39: 0x365d, 0xf3a: 0x367d, 0xf3b: 0x369d,
- 0xf3c: 0x38c9, 0xf3d: 0x3901, 0xf3e: 0x36bd, 0xf3f: 0x0018,
- // Block 0x3d, offset 0xf40
- 0xf40: 0x36dd, 0xf41: 0x36fd, 0xf42: 0x371d, 0xf43: 0x373d, 0xf44: 0x375d, 0xf45: 0x377d,
- 0xf46: 0x379d, 0xf47: 0x37bd, 0xf48: 0x37dd, 0xf49: 0x37fd, 0xf4a: 0x381d, 0xf4b: 0x383d,
- 0xf4c: 0x385d, 0xf4d: 0x387d, 0xf4e: 0x389d, 0xf4f: 0x38bd, 0xf50: 0x38dd, 0xf51: 0x38fd,
- 0xf52: 0x391d, 0xf53: 0x393d, 0xf54: 0x395d, 0xf55: 0x397d, 0xf56: 0x399d, 0xf57: 0x39bd,
- 0xf58: 0x39dd, 0xf59: 0x39fd, 0xf5a: 0x3a1d, 0xf5b: 0x3a3d, 0xf5c: 0x3a5d, 0xf5d: 0x3a7d,
- 0xf5e: 0x3a9d, 0xf5f: 0x3abd, 0xf60: 0x3add, 0xf61: 0x3afd, 0xf62: 0x3b1d, 0xf63: 0x3b3d,
- 0xf64: 0x3b5d, 0xf65: 0x3b7d, 0xf66: 0x127d, 0xf67: 0x3b9d, 0xf68: 0x3bbd, 0xf69: 0x3bdd,
- 0xf6a: 0x3bfd, 0xf6b: 0x3c1d, 0xf6c: 0x3c3d, 0xf6d: 0x3c5d, 0xf6e: 0x239d, 0xf6f: 0x3c7d,
- 0xf70: 0x3c9d, 0xf71: 0x3939, 0xf72: 0x3951, 0xf73: 0x3969, 0xf74: 0x3981, 0xf75: 0x3999,
- 0xf76: 0x39b1, 0xf77: 0x39c9, 0xf78: 0x39e1, 0xf79: 0x39f9, 0xf7a: 0x3a11, 0xf7b: 0x3a29,
- 0xf7c: 0x3a41, 0xf7d: 0x3a59, 0xf7e: 0x3a71, 0xf7f: 0x3a89,
- // Block 0x3e, offset 0xf80
- 0xf80: 0x3aa1, 0xf81: 0x3ac9, 0xf82: 0x3af1, 0xf83: 0x3b19, 0xf84: 0x3b41, 0xf85: 0x3b69,
- 0xf86: 0x3b91, 0xf87: 0x3bb9, 0xf88: 0x3be1, 0xf89: 0x3c09, 0xf8a: 0x3c39, 0xf8b: 0x3c69,
- 0xf8c: 0x3c99, 0xf8d: 0x3cbd, 0xf8e: 0x3cb1, 0xf8f: 0x3cdd, 0xf90: 0x3cfd, 0xf91: 0x3d15,
- 0xf92: 0x3d2d, 0xf93: 0x3d45, 0xf94: 0x3d5d, 0xf95: 0x3d5d, 0xf96: 0x3d45, 0xf97: 0x3d75,
- 0xf98: 0x07bd, 0xf99: 0x3d8d, 0xf9a: 0x3da5, 0xf9b: 0x3dbd, 0xf9c: 0x3dd5, 0xf9d: 0x3ded,
- 0xf9e: 0x3e05, 0xf9f: 0x3e1d, 0xfa0: 0x3e35, 0xfa1: 0x3e4d, 0xfa2: 0x3e65, 0xfa3: 0x3e7d,
- 0xfa4: 0x3e95, 0xfa5: 0x3e95, 0xfa6: 0x3ead, 0xfa7: 0x3ead, 0xfa8: 0x3ec5, 0xfa9: 0x3ec5,
- 0xfaa: 0x3edd, 0xfab: 0x3ef5, 0xfac: 0x3f0d, 0xfad: 0x3f25, 0xfae: 0x3f3d, 0xfaf: 0x3f3d,
- 0xfb0: 0x3f55, 0xfb1: 0x3f55, 0xfb2: 0x3f55, 0xfb3: 0x3f6d, 0xfb4: 0x3f85, 0xfb5: 0x3f9d,
- 0xfb6: 0x3fb5, 0xfb7: 0x3f9d, 0xfb8: 0x3fcd, 0xfb9: 0x3fe5, 0xfba: 0x3f6d, 0xfbb: 0x3ffd,
- 0xfbc: 0x4015, 0xfbd: 0x4015, 0xfbe: 0x4015, 0xfbf: 0x0040,
- // Block 0x3f, offset 0xfc0
- 0xfc0: 0x3cc9, 0xfc1: 0x3d31, 0xfc2: 0x3d99, 0xfc3: 0x3e01, 0xfc4: 0x3e51, 0xfc5: 0x3eb9,
- 0xfc6: 0x3f09, 0xfc7: 0x3f59, 0xfc8: 0x3fd9, 0xfc9: 0x4041, 0xfca: 0x4091, 0xfcb: 0x40e1,
- 0xfcc: 0x4131, 0xfcd: 0x4199, 0xfce: 0x4201, 0xfcf: 0x4251, 0xfd0: 0x42a1, 0xfd1: 0x42d9,
- 0xfd2: 0x4329, 0xfd3: 0x4391, 0xfd4: 0x43f9, 0xfd5: 0x4431, 0xfd6: 0x44b1, 0xfd7: 0x4549,
- 0xfd8: 0x45c9, 0xfd9: 0x4619, 0xfda: 0x4699, 0xfdb: 0x4719, 0xfdc: 0x4781, 0xfdd: 0x47d1,
- 0xfde: 0x4821, 0xfdf: 0x4871, 0xfe0: 0x48d9, 0xfe1: 0x4959, 0xfe2: 0x49c1, 0xfe3: 0x4a11,
- 0xfe4: 0x4a61, 0xfe5: 0x4ab1, 0xfe6: 0x4ae9, 0xfe7: 0x4b21, 0xfe8: 0x4b59, 0xfe9: 0x4b91,
- 0xfea: 0x4be1, 0xfeb: 0x4c31, 0xfec: 0x4cb1, 0xfed: 0x4d01, 0xfee: 0x4d69, 0xfef: 0x4de9,
- 0xff0: 0x4e39, 0xff1: 0x4e71, 0xff2: 0x4ea9, 0xff3: 0x4f29, 0xff4: 0x4f91, 0xff5: 0x5011,
- 0xff6: 0x5061, 0xff7: 0x50e1, 0xff8: 0x5119, 0xff9: 0x5169, 0xffa: 0x51b9, 0xffb: 0x5209,
- 0xffc: 0x5259, 0xffd: 0x52a9, 0xffe: 0x5311, 0xfff: 0x5361,
- // Block 0x40, offset 0x1000
- 0x1000: 0x5399, 0x1001: 0x53e9, 0x1002: 0x5439, 0x1003: 0x5489, 0x1004: 0x54f1, 0x1005: 0x5541,
- 0x1006: 0x5591, 0x1007: 0x55e1, 0x1008: 0x5661, 0x1009: 0x56c9, 0x100a: 0x5701, 0x100b: 0x5781,
- 0x100c: 0x57b9, 0x100d: 0x5821, 0x100e: 0x5889, 0x100f: 0x58d9, 0x1010: 0x5929, 0x1011: 0x5979,
- 0x1012: 0x59e1, 0x1013: 0x5a19, 0x1014: 0x5a69, 0x1015: 0x5ad1, 0x1016: 0x5b09, 0x1017: 0x5b89,
- 0x1018: 0x5bd9, 0x1019: 0x5c01, 0x101a: 0x5c29, 0x101b: 0x5c51, 0x101c: 0x5c79, 0x101d: 0x5ca1,
- 0x101e: 0x5cc9, 0x101f: 0x5cf1, 0x1020: 0x5d19, 0x1021: 0x5d41, 0x1022: 0x5d69, 0x1023: 0x5d99,
- 0x1024: 0x5dc9, 0x1025: 0x5df9, 0x1026: 0x5e29, 0x1027: 0x5e59, 0x1028: 0x5e89, 0x1029: 0x5eb9,
- 0x102a: 0x5ee9, 0x102b: 0x5f19, 0x102c: 0x5f49, 0x102d: 0x5f79, 0x102e: 0x5fa9, 0x102f: 0x5fd9,
- 0x1030: 0x6009, 0x1031: 0x402d, 0x1032: 0x6039, 0x1033: 0x6051, 0x1034: 0x404d, 0x1035: 0x6069,
- 0x1036: 0x6081, 0x1037: 0x6099, 0x1038: 0x406d, 0x1039: 0x406d, 0x103a: 0x60b1, 0x103b: 0x60c9,
- 0x103c: 0x6101, 0x103d: 0x6139, 0x103e: 0x6171, 0x103f: 0x61a9,
- // Block 0x41, offset 0x1040
- 0x1040: 0x6211, 0x1041: 0x6229, 0x1042: 0x408d, 0x1043: 0x6241, 0x1044: 0x6259, 0x1045: 0x6271,
- 0x1046: 0x6289, 0x1047: 0x62a1, 0x1048: 0x40ad, 0x1049: 0x62b9, 0x104a: 0x62e1, 0x104b: 0x62f9,
- 0x104c: 0x40cd, 0x104d: 0x40cd, 0x104e: 0x6311, 0x104f: 0x6329, 0x1050: 0x6341, 0x1051: 0x40ed,
- 0x1052: 0x410d, 0x1053: 0x412d, 0x1054: 0x414d, 0x1055: 0x416d, 0x1056: 0x6359, 0x1057: 0x6371,
- 0x1058: 0x6389, 0x1059: 0x63a1, 0x105a: 0x63b9, 0x105b: 0x418d, 0x105c: 0x63d1, 0x105d: 0x63e9,
- 0x105e: 0x6401, 0x105f: 0x41ad, 0x1060: 0x41cd, 0x1061: 0x6419, 0x1062: 0x41ed, 0x1063: 0x420d,
- 0x1064: 0x422d, 0x1065: 0x6431, 0x1066: 0x424d, 0x1067: 0x6449, 0x1068: 0x6479, 0x1069: 0x6211,
- 0x106a: 0x426d, 0x106b: 0x428d, 0x106c: 0x42ad, 0x106d: 0x42cd, 0x106e: 0x64b1, 0x106f: 0x64f1,
- 0x1070: 0x6539, 0x1071: 0x6551, 0x1072: 0x42ed, 0x1073: 0x6569, 0x1074: 0x6581, 0x1075: 0x6599,
- 0x1076: 0x430d, 0x1077: 0x65b1, 0x1078: 0x65c9, 0x1079: 0x65b1, 0x107a: 0x65e1, 0x107b: 0x65f9,
- 0x107c: 0x432d, 0x107d: 0x6611, 0x107e: 0x6629, 0x107f: 0x6611,
- // Block 0x42, offset 0x1080
- 0x1080: 0x434d, 0x1081: 0x436d, 0x1082: 0x0040, 0x1083: 0x6641, 0x1084: 0x6659, 0x1085: 0x6671,
- 0x1086: 0x6689, 0x1087: 0x0040, 0x1088: 0x66c1, 0x1089: 0x66d9, 0x108a: 0x66f1, 0x108b: 0x6709,
- 0x108c: 0x6721, 0x108d: 0x6739, 0x108e: 0x6401, 0x108f: 0x6751, 0x1090: 0x6769, 0x1091: 0x6781,
- 0x1092: 0x438d, 0x1093: 0x6799, 0x1094: 0x6289, 0x1095: 0x43ad, 0x1096: 0x43cd, 0x1097: 0x67b1,
- 0x1098: 0x0040, 0x1099: 0x43ed, 0x109a: 0x67c9, 0x109b: 0x67e1, 0x109c: 0x67f9, 0x109d: 0x6811,
- 0x109e: 0x6829, 0x109f: 0x6859, 0x10a0: 0x6889, 0x10a1: 0x68b1, 0x10a2: 0x68d9, 0x10a3: 0x6901,
- 0x10a4: 0x6929, 0x10a5: 0x6951, 0x10a6: 0x6979, 0x10a7: 0x69a1, 0x10a8: 0x69c9, 0x10a9: 0x69f1,
- 0x10aa: 0x6a21, 0x10ab: 0x6a51, 0x10ac: 0x6a81, 0x10ad: 0x6ab1, 0x10ae: 0x6ae1, 0x10af: 0x6b11,
- 0x10b0: 0x6b41, 0x10b1: 0x6b71, 0x10b2: 0x6ba1, 0x10b3: 0x6bd1, 0x10b4: 0x6c01, 0x10b5: 0x6c31,
- 0x10b6: 0x6c61, 0x10b7: 0x6c91, 0x10b8: 0x6cc1, 0x10b9: 0x6cf1, 0x10ba: 0x6d21, 0x10bb: 0x6d51,
- 0x10bc: 0x6d81, 0x10bd: 0x6db1, 0x10be: 0x6de1, 0x10bf: 0x440d,
- // Block 0x43, offset 0x10c0
- 0x10c0: 0xe00d, 0x10c1: 0x0008, 0x10c2: 0xe00d, 0x10c3: 0x0008, 0x10c4: 0xe00d, 0x10c5: 0x0008,
- 0x10c6: 0xe00d, 0x10c7: 0x0008, 0x10c8: 0xe00d, 0x10c9: 0x0008, 0x10ca: 0xe00d, 0x10cb: 0x0008,
- 0x10cc: 0xe00d, 0x10cd: 0x0008, 0x10ce: 0xe00d, 0x10cf: 0x0008, 0x10d0: 0xe00d, 0x10d1: 0x0008,
- 0x10d2: 0xe00d, 0x10d3: 0x0008, 0x10d4: 0xe00d, 0x10d5: 0x0008, 0x10d6: 0xe00d, 0x10d7: 0x0008,
- 0x10d8: 0xe00d, 0x10d9: 0x0008, 0x10da: 0xe00d, 0x10db: 0x0008, 0x10dc: 0xe00d, 0x10dd: 0x0008,
- 0x10de: 0xe00d, 0x10df: 0x0008, 0x10e0: 0xe00d, 0x10e1: 0x0008, 0x10e2: 0xe00d, 0x10e3: 0x0008,
- 0x10e4: 0xe00d, 0x10e5: 0x0008, 0x10e6: 0xe00d, 0x10e7: 0x0008, 0x10e8: 0xe00d, 0x10e9: 0x0008,
- 0x10ea: 0xe00d, 0x10eb: 0x0008, 0x10ec: 0xe00d, 0x10ed: 0x0008, 0x10ee: 0x0008, 0x10ef: 0x3308,
- 0x10f0: 0x3318, 0x10f1: 0x3318, 0x10f2: 0x3318, 0x10f3: 0x0018, 0x10f4: 0x3308, 0x10f5: 0x3308,
- 0x10f6: 0x3308, 0x10f7: 0x3308, 0x10f8: 0x3308, 0x10f9: 0x3308, 0x10fa: 0x3308, 0x10fb: 0x3308,
- 0x10fc: 0x3308, 0x10fd: 0x3308, 0x10fe: 0x0018, 0x10ff: 0x0008,
- // Block 0x44, offset 0x1100
- 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008,
- 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008,
- 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008,
- 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008,
- 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0x0ea1, 0x111d: 0x6e11,
- 0x111e: 0x3308, 0x111f: 0x3308, 0x1120: 0x0008, 0x1121: 0x0008, 0x1122: 0x0008, 0x1123: 0x0008,
- 0x1124: 0x0008, 0x1125: 0x0008, 0x1126: 0x0008, 0x1127: 0x0008, 0x1128: 0x0008, 0x1129: 0x0008,
- 0x112a: 0x0008, 0x112b: 0x0008, 0x112c: 0x0008, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x0008,
- 0x1130: 0x0008, 0x1131: 0x0008, 0x1132: 0x0008, 0x1133: 0x0008, 0x1134: 0x0008, 0x1135: 0x0008,
- 0x1136: 0x0008, 0x1137: 0x0008, 0x1138: 0x0008, 0x1139: 0x0008, 0x113a: 0x0008, 0x113b: 0x0008,
- 0x113c: 0x0008, 0x113d: 0x0008, 0x113e: 0x0008, 0x113f: 0x0008,
- // Block 0x45, offset 0x1140
- 0x1140: 0x0018, 0x1141: 0x0018, 0x1142: 0x0018, 0x1143: 0x0018, 0x1144: 0x0018, 0x1145: 0x0018,
- 0x1146: 0x0018, 0x1147: 0x0018, 0x1148: 0x0018, 0x1149: 0x0018, 0x114a: 0x0018, 0x114b: 0x0018,
- 0x114c: 0x0018, 0x114d: 0x0018, 0x114e: 0x0018, 0x114f: 0x0018, 0x1150: 0x0018, 0x1151: 0x0018,
- 0x1152: 0x0018, 0x1153: 0x0018, 0x1154: 0x0018, 0x1155: 0x0018, 0x1156: 0x0018, 0x1157: 0x0008,
- 0x1158: 0x0008, 0x1159: 0x0008, 0x115a: 0x0008, 0x115b: 0x0008, 0x115c: 0x0008, 0x115d: 0x0008,
- 0x115e: 0x0008, 0x115f: 0x0008, 0x1160: 0x0018, 0x1161: 0x0018, 0x1162: 0xe00d, 0x1163: 0x0008,
- 0x1164: 0xe00d, 0x1165: 0x0008, 0x1166: 0xe00d, 0x1167: 0x0008, 0x1168: 0xe00d, 0x1169: 0x0008,
- 0x116a: 0xe00d, 0x116b: 0x0008, 0x116c: 0xe00d, 0x116d: 0x0008, 0x116e: 0xe00d, 0x116f: 0x0008,
- 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0xe00d, 0x1173: 0x0008, 0x1174: 0xe00d, 0x1175: 0x0008,
- 0x1176: 0xe00d, 0x1177: 0x0008, 0x1178: 0xe00d, 0x1179: 0x0008, 0x117a: 0xe00d, 0x117b: 0x0008,
- 0x117c: 0xe00d, 0x117d: 0x0008, 0x117e: 0xe00d, 0x117f: 0x0008,
- // Block 0x46, offset 0x1180
- 0x1180: 0xe00d, 0x1181: 0x0008, 0x1182: 0xe00d, 0x1183: 0x0008, 0x1184: 0xe00d, 0x1185: 0x0008,
- 0x1186: 0xe00d, 0x1187: 0x0008, 0x1188: 0xe00d, 0x1189: 0x0008, 0x118a: 0xe00d, 0x118b: 0x0008,
- 0x118c: 0xe00d, 0x118d: 0x0008, 0x118e: 0xe00d, 0x118f: 0x0008, 0x1190: 0xe00d, 0x1191: 0x0008,
- 0x1192: 0xe00d, 0x1193: 0x0008, 0x1194: 0xe00d, 0x1195: 0x0008, 0x1196: 0xe00d, 0x1197: 0x0008,
- 0x1198: 0xe00d, 0x1199: 0x0008, 0x119a: 0xe00d, 0x119b: 0x0008, 0x119c: 0xe00d, 0x119d: 0x0008,
- 0x119e: 0xe00d, 0x119f: 0x0008, 0x11a0: 0xe00d, 0x11a1: 0x0008, 0x11a2: 0xe00d, 0x11a3: 0x0008,
- 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,
- 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008,
- 0x11b0: 0xe0fd, 0x11b1: 0x0008, 0x11b2: 0x0008, 0x11b3: 0x0008, 0x11b4: 0x0008, 0x11b5: 0x0008,
- 0x11b6: 0x0008, 0x11b7: 0x0008, 0x11b8: 0x0008, 0x11b9: 0xe01d, 0x11ba: 0x0008, 0x11bb: 0xe03d,
- 0x11bc: 0x0008, 0x11bd: 0x442d, 0x11be: 0xe00d, 0x11bf: 0x0008,
- // Block 0x47, offset 0x11c0
- 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008,
- 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0x0008, 0x11c9: 0x0018, 0x11ca: 0x0018, 0x11cb: 0xe03d,
- 0x11cc: 0x0008, 0x11cd: 0x11d9, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008,
- 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008,
- 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008,
- 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008,
- 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008,
- 0x11ea: 0x6e29, 0x11eb: 0x1029, 0x11ec: 0x11c1, 0x11ed: 0x6e41, 0x11ee: 0x1221, 0x11ef: 0x0040,
- 0x11f0: 0x6e59, 0x11f1: 0x6e71, 0x11f2: 0x1239, 0x11f3: 0x444d, 0x11f4: 0xe00d, 0x11f5: 0x0008,
- 0x11f6: 0xe00d, 0x11f7: 0x0008, 0x11f8: 0x0040, 0x11f9: 0x0040, 0x11fa: 0x0040, 0x11fb: 0x0040,
- 0x11fc: 0x0040, 0x11fd: 0x0040, 0x11fe: 0x0040, 0x11ff: 0x0040,
- // Block 0x48, offset 0x1200
- 0x1200: 0x64d5, 0x1201: 0x64f5, 0x1202: 0x6515, 0x1203: 0x6535, 0x1204: 0x6555, 0x1205: 0x6575,
- 0x1206: 0x6595, 0x1207: 0x65b5, 0x1208: 0x65d5, 0x1209: 0x65f5, 0x120a: 0x6615, 0x120b: 0x6635,
- 0x120c: 0x6655, 0x120d: 0x6675, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0x6695, 0x1211: 0x0008,
- 0x1212: 0x66b5, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x66d5, 0x1216: 0x66f5, 0x1217: 0x6715,
- 0x1218: 0x6735, 0x1219: 0x6755, 0x121a: 0x6775, 0x121b: 0x6795, 0x121c: 0x67b5, 0x121d: 0x67d5,
- 0x121e: 0x67f5, 0x121f: 0x0008, 0x1220: 0x6815, 0x1221: 0x0008, 0x1222: 0x6835, 0x1223: 0x0008,
- 0x1224: 0x0008, 0x1225: 0x6855, 0x1226: 0x6875, 0x1227: 0x0008, 0x1228: 0x0008, 0x1229: 0x0008,
- 0x122a: 0x6895, 0x122b: 0x68b5, 0x122c: 0x68d5, 0x122d: 0x68f5, 0x122e: 0x6915, 0x122f: 0x6935,
- 0x1230: 0x6955, 0x1231: 0x6975, 0x1232: 0x6995, 0x1233: 0x69b5, 0x1234: 0x69d5, 0x1235: 0x69f5,
- 0x1236: 0x6a15, 0x1237: 0x6a35, 0x1238: 0x6a55, 0x1239: 0x6a75, 0x123a: 0x6a95, 0x123b: 0x6ab5,
- 0x123c: 0x6ad5, 0x123d: 0x6af5, 0x123e: 0x6b15, 0x123f: 0x6b35,
- // Block 0x49, offset 0x1240
- 0x1240: 0x7a95, 0x1241: 0x7ab5, 0x1242: 0x7ad5, 0x1243: 0x7af5, 0x1244: 0x7b15, 0x1245: 0x7b35,
- 0x1246: 0x7b55, 0x1247: 0x7b75, 0x1248: 0x7b95, 0x1249: 0x7bb5, 0x124a: 0x7bd5, 0x124b: 0x7bf5,
- 0x124c: 0x7c15, 0x124d: 0x7c35, 0x124e: 0x7c55, 0x124f: 0x6ec9, 0x1250: 0x6ef1, 0x1251: 0x6f19,
- 0x1252: 0x7c75, 0x1253: 0x7c95, 0x1254: 0x7cb5, 0x1255: 0x6f41, 0x1256: 0x6f69, 0x1257: 0x6f91,
- 0x1258: 0x7cd5, 0x1259: 0x7cf5, 0x125a: 0x0040, 0x125b: 0x0040, 0x125c: 0x0040, 0x125d: 0x0040,
- 0x125e: 0x0040, 0x125f: 0x0040, 0x1260: 0x0040, 0x1261: 0x0040, 0x1262: 0x0040, 0x1263: 0x0040,
- 0x1264: 0x0040, 0x1265: 0x0040, 0x1266: 0x0040, 0x1267: 0x0040, 0x1268: 0x0040, 0x1269: 0x0040,
- 0x126a: 0x0040, 0x126b: 0x0040, 0x126c: 0x0040, 0x126d: 0x0040, 0x126e: 0x0040, 0x126f: 0x0040,
- 0x1270: 0x0040, 0x1271: 0x0040, 0x1272: 0x0040, 0x1273: 0x0040, 0x1274: 0x0040, 0x1275: 0x0040,
- 0x1276: 0x0040, 0x1277: 0x0040, 0x1278: 0x0040, 0x1279: 0x0040, 0x127a: 0x0040, 0x127b: 0x0040,
- 0x127c: 0x0040, 0x127d: 0x0040, 0x127e: 0x0040, 0x127f: 0x0040,
- // Block 0x4a, offset 0x1280
- 0x1280: 0x6fb9, 0x1281: 0x6fd1, 0x1282: 0x6fe9, 0x1283: 0x7d15, 0x1284: 0x7d35, 0x1285: 0x7001,
- 0x1286: 0x7001, 0x1287: 0x0040, 0x1288: 0x0040, 0x1289: 0x0040, 0x128a: 0x0040, 0x128b: 0x0040,
- 0x128c: 0x0040, 0x128d: 0x0040, 0x128e: 0x0040, 0x128f: 0x0040, 0x1290: 0x0040, 0x1291: 0x0040,
- 0x1292: 0x0040, 0x1293: 0x7019, 0x1294: 0x7041, 0x1295: 0x7069, 0x1296: 0x7091, 0x1297: 0x70b9,
- 0x1298: 0x0040, 0x1299: 0x0040, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x70e1,
- 0x129e: 0x3308, 0x129f: 0x7109, 0x12a0: 0x7131, 0x12a1: 0x20a9, 0x12a2: 0x20f1, 0x12a3: 0x7149,
- 0x12a4: 0x7161, 0x12a5: 0x7179, 0x12a6: 0x7191, 0x12a7: 0x71a9, 0x12a8: 0x71c1, 0x12a9: 0x1fb2,
- 0x12aa: 0x71d9, 0x12ab: 0x7201, 0x12ac: 0x7229, 0x12ad: 0x7261, 0x12ae: 0x7299, 0x12af: 0x72c1,
- 0x12b0: 0x72e9, 0x12b1: 0x7311, 0x12b2: 0x7339, 0x12b3: 0x7361, 0x12b4: 0x7389, 0x12b5: 0x73b1,
- 0x12b6: 0x73d9, 0x12b7: 0x0040, 0x12b8: 0x7401, 0x12b9: 0x7429, 0x12ba: 0x7451, 0x12bb: 0x7479,
- 0x12bc: 0x74a1, 0x12bd: 0x0040, 0x12be: 0x74c9, 0x12bf: 0x0040,
- // Block 0x4b, offset 0x12c0
- 0x12c0: 0x74f1, 0x12c1: 0x7519, 0x12c2: 0x0040, 0x12c3: 0x7541, 0x12c4: 0x7569, 0x12c5: 0x0040,
- 0x12c6: 0x7591, 0x12c7: 0x75b9, 0x12c8: 0x75e1, 0x12c9: 0x7609, 0x12ca: 0x7631, 0x12cb: 0x7659,
- 0x12cc: 0x7681, 0x12cd: 0x76a9, 0x12ce: 0x76d1, 0x12cf: 0x76f9, 0x12d0: 0x7721, 0x12d1: 0x7721,
- 0x12d2: 0x7739, 0x12d3: 0x7739, 0x12d4: 0x7739, 0x12d5: 0x7739, 0x12d6: 0x7751, 0x12d7: 0x7751,
- 0x12d8: 0x7751, 0x12d9: 0x7751, 0x12da: 0x7769, 0x12db: 0x7769, 0x12dc: 0x7769, 0x12dd: 0x7769,
- 0x12de: 0x7781, 0x12df: 0x7781, 0x12e0: 0x7781, 0x12e1: 0x7781, 0x12e2: 0x7799, 0x12e3: 0x7799,
- 0x12e4: 0x7799, 0x12e5: 0x7799, 0x12e6: 0x77b1, 0x12e7: 0x77b1, 0x12e8: 0x77b1, 0x12e9: 0x77b1,
- 0x12ea: 0x77c9, 0x12eb: 0x77c9, 0x12ec: 0x77c9, 0x12ed: 0x77c9, 0x12ee: 0x77e1, 0x12ef: 0x77e1,
- 0x12f0: 0x77e1, 0x12f1: 0x77e1, 0x12f2: 0x77f9, 0x12f3: 0x77f9, 0x12f4: 0x77f9, 0x12f5: 0x77f9,
- 0x12f6: 0x7811, 0x12f7: 0x7811, 0x12f8: 0x7811, 0x12f9: 0x7811, 0x12fa: 0x7829, 0x12fb: 0x7829,
- 0x12fc: 0x7829, 0x12fd: 0x7829, 0x12fe: 0x7841, 0x12ff: 0x7841,
- // Block 0x4c, offset 0x1300
- 0x1300: 0x7841, 0x1301: 0x7841, 0x1302: 0x7859, 0x1303: 0x7859, 0x1304: 0x7871, 0x1305: 0x7871,
- 0x1306: 0x7889, 0x1307: 0x7889, 0x1308: 0x78a1, 0x1309: 0x78a1, 0x130a: 0x78b9, 0x130b: 0x78b9,
- 0x130c: 0x78d1, 0x130d: 0x78d1, 0x130e: 0x78e9, 0x130f: 0x78e9, 0x1310: 0x78e9, 0x1311: 0x78e9,
- 0x1312: 0x7901, 0x1313: 0x7901, 0x1314: 0x7901, 0x1315: 0x7901, 0x1316: 0x7919, 0x1317: 0x7919,
- 0x1318: 0x7919, 0x1319: 0x7919, 0x131a: 0x7931, 0x131b: 0x7931, 0x131c: 0x7931, 0x131d: 0x7931,
- 0x131e: 0x7949, 0x131f: 0x7949, 0x1320: 0x7961, 0x1321: 0x7961, 0x1322: 0x7961, 0x1323: 0x7961,
- 0x1324: 0x7979, 0x1325: 0x7979, 0x1326: 0x7991, 0x1327: 0x7991, 0x1328: 0x7991, 0x1329: 0x7991,
- 0x132a: 0x79a9, 0x132b: 0x79a9, 0x132c: 0x79a9, 0x132d: 0x79a9, 0x132e: 0x79c1, 0x132f: 0x79c1,
- 0x1330: 0x79d9, 0x1331: 0x79d9, 0x1332: 0x0818, 0x1333: 0x0818, 0x1334: 0x0818, 0x1335: 0x0818,
- 0x1336: 0x0818, 0x1337: 0x0818, 0x1338: 0x0818, 0x1339: 0x0818, 0x133a: 0x0818, 0x133b: 0x0818,
- 0x133c: 0x0818, 0x133d: 0x0818, 0x133e: 0x0818, 0x133f: 0x0818,
- // Block 0x4d, offset 0x1340
- 0x1340: 0x0818, 0x1341: 0x0818, 0x1342: 0x0040, 0x1343: 0x0040, 0x1344: 0x0040, 0x1345: 0x0040,
- 0x1346: 0x0040, 0x1347: 0x0040, 0x1348: 0x0040, 0x1349: 0x0040, 0x134a: 0x0040, 0x134b: 0x0040,
- 0x134c: 0x0040, 0x134d: 0x0040, 0x134e: 0x0040, 0x134f: 0x0040, 0x1350: 0x0040, 0x1351: 0x0040,
- 0x1352: 0x0040, 0x1353: 0x79f1, 0x1354: 0x79f1, 0x1355: 0x79f1, 0x1356: 0x79f1, 0x1357: 0x7a09,
- 0x1358: 0x7a09, 0x1359: 0x7a21, 0x135a: 0x7a21, 0x135b: 0x7a39, 0x135c: 0x7a39, 0x135d: 0x0479,
- 0x135e: 0x7a51, 0x135f: 0x7a51, 0x1360: 0x7a69, 0x1361: 0x7a69, 0x1362: 0x7a81, 0x1363: 0x7a81,
- 0x1364: 0x7a99, 0x1365: 0x7a99, 0x1366: 0x7a99, 0x1367: 0x7a99, 0x1368: 0x7ab1, 0x1369: 0x7ab1,
- 0x136a: 0x7ac9, 0x136b: 0x7ac9, 0x136c: 0x7af1, 0x136d: 0x7af1, 0x136e: 0x7b19, 0x136f: 0x7b19,
- 0x1370: 0x7b41, 0x1371: 0x7b41, 0x1372: 0x7b69, 0x1373: 0x7b69, 0x1374: 0x7b91, 0x1375: 0x7b91,
- 0x1376: 0x7bb9, 0x1377: 0x7bb9, 0x1378: 0x7bb9, 0x1379: 0x7be1, 0x137a: 0x7be1, 0x137b: 0x7be1,
- 0x137c: 0x7c09, 0x137d: 0x7c09, 0x137e: 0x7c09, 0x137f: 0x7c09,
- // Block 0x4e, offset 0x1380
- 0x1380: 0x85f9, 0x1381: 0x8621, 0x1382: 0x8649, 0x1383: 0x8671, 0x1384: 0x8699, 0x1385: 0x86c1,
- 0x1386: 0x86e9, 0x1387: 0x8711, 0x1388: 0x8739, 0x1389: 0x8761, 0x138a: 0x8789, 0x138b: 0x87b1,
- 0x138c: 0x87d9, 0x138d: 0x8801, 0x138e: 0x8829, 0x138f: 0x8851, 0x1390: 0x8879, 0x1391: 0x88a1,
- 0x1392: 0x88c9, 0x1393: 0x88f1, 0x1394: 0x8919, 0x1395: 0x8941, 0x1396: 0x8969, 0x1397: 0x8991,
- 0x1398: 0x89b9, 0x1399: 0x89e1, 0x139a: 0x8a09, 0x139b: 0x8a31, 0x139c: 0x8a59, 0x139d: 0x8a81,
- 0x139e: 0x8aaa, 0x139f: 0x8ada, 0x13a0: 0x8b0a, 0x13a1: 0x8b3a, 0x13a2: 0x8b6a, 0x13a3: 0x8b9a,
- 0x13a4: 0x8bc9, 0x13a5: 0x8bf1, 0x13a6: 0x7c71, 0x13a7: 0x8c19, 0x13a8: 0x7be1, 0x13a9: 0x7c99,
- 0x13aa: 0x8c41, 0x13ab: 0x8c69, 0x13ac: 0x7d39, 0x13ad: 0x8c91, 0x13ae: 0x7d61, 0x13af: 0x7d89,
- 0x13b0: 0x8cb9, 0x13b1: 0x8ce1, 0x13b2: 0x7e29, 0x13b3: 0x8d09, 0x13b4: 0x7e51, 0x13b5: 0x7e79,
- 0x13b6: 0x8d31, 0x13b7: 0x8d59, 0x13b8: 0x7ec9, 0x13b9: 0x8d81, 0x13ba: 0x7ef1, 0x13bb: 0x7f19,
- 0x13bc: 0x83a1, 0x13bd: 0x83c9, 0x13be: 0x8441, 0x13bf: 0x8469,
- // Block 0x4f, offset 0x13c0
- 0x13c0: 0x8491, 0x13c1: 0x8531, 0x13c2: 0x8559, 0x13c3: 0x8581, 0x13c4: 0x85a9, 0x13c5: 0x8649,
- 0x13c6: 0x8671, 0x13c7: 0x8699, 0x13c8: 0x8da9, 0x13c9: 0x8739, 0x13ca: 0x8dd1, 0x13cb: 0x8df9,
- 0x13cc: 0x8829, 0x13cd: 0x8e21, 0x13ce: 0x8851, 0x13cf: 0x8879, 0x13d0: 0x8a81, 0x13d1: 0x8e49,
- 0x13d2: 0x8e71, 0x13d3: 0x89b9, 0x13d4: 0x8e99, 0x13d5: 0x89e1, 0x13d6: 0x8a09, 0x13d7: 0x7c21,
- 0x13d8: 0x7c49, 0x13d9: 0x8ec1, 0x13da: 0x7c71, 0x13db: 0x8ee9, 0x13dc: 0x7cc1, 0x13dd: 0x7ce9,
- 0x13de: 0x7d11, 0x13df: 0x7d39, 0x13e0: 0x8f11, 0x13e1: 0x7db1, 0x13e2: 0x7dd9, 0x13e3: 0x7e01,
- 0x13e4: 0x7e29, 0x13e5: 0x8f39, 0x13e6: 0x7ec9, 0x13e7: 0x7f41, 0x13e8: 0x7f69, 0x13e9: 0x7f91,
- 0x13ea: 0x7fb9, 0x13eb: 0x7fe1, 0x13ec: 0x8031, 0x13ed: 0x8059, 0x13ee: 0x8081, 0x13ef: 0x80a9,
- 0x13f0: 0x80d1, 0x13f1: 0x80f9, 0x13f2: 0x8f61, 0x13f3: 0x8121, 0x13f4: 0x8149, 0x13f5: 0x8171,
- 0x13f6: 0x8199, 0x13f7: 0x81c1, 0x13f8: 0x81e9, 0x13f9: 0x8239, 0x13fa: 0x8261, 0x13fb: 0x8289,
- 0x13fc: 0x82b1, 0x13fd: 0x82d9, 0x13fe: 0x8301, 0x13ff: 0x8329,
- // Block 0x50, offset 0x1400
- 0x1400: 0x8351, 0x1401: 0x8379, 0x1402: 0x83f1, 0x1403: 0x8419, 0x1404: 0x84b9, 0x1405: 0x84e1,
- 0x1406: 0x8509, 0x1407: 0x8531, 0x1408: 0x8559, 0x1409: 0x85d1, 0x140a: 0x85f9, 0x140b: 0x8621,
- 0x140c: 0x8649, 0x140d: 0x8f89, 0x140e: 0x86c1, 0x140f: 0x86e9, 0x1410: 0x8711, 0x1411: 0x8739,
- 0x1412: 0x87b1, 0x1413: 0x87d9, 0x1414: 0x8801, 0x1415: 0x8829, 0x1416: 0x8fb1, 0x1417: 0x88a1,
- 0x1418: 0x88c9, 0x1419: 0x8fd9, 0x141a: 0x8941, 0x141b: 0x8969, 0x141c: 0x8991, 0x141d: 0x89b9,
- 0x141e: 0x9001, 0x141f: 0x7c71, 0x1420: 0x8ee9, 0x1421: 0x7d39, 0x1422: 0x8f11, 0x1423: 0x7e29,
- 0x1424: 0x8f39, 0x1425: 0x7ec9, 0x1426: 0x9029, 0x1427: 0x80d1, 0x1428: 0x9051, 0x1429: 0x9079,
- 0x142a: 0x90a1, 0x142b: 0x8531, 0x142c: 0x8559, 0x142d: 0x8649, 0x142e: 0x8829, 0x142f: 0x8fb1,
- 0x1430: 0x89b9, 0x1431: 0x9001, 0x1432: 0x90c9, 0x1433: 0x9101, 0x1434: 0x9139, 0x1435: 0x9171,
- 0x1436: 0x9199, 0x1437: 0x91c1, 0x1438: 0x91e9, 0x1439: 0x9211, 0x143a: 0x9239, 0x143b: 0x9261,
- 0x143c: 0x9289, 0x143d: 0x92b1, 0x143e: 0x92d9, 0x143f: 0x9301,
- // Block 0x51, offset 0x1440
- 0x1440: 0x9329, 0x1441: 0x9351, 0x1442: 0x9379, 0x1443: 0x93a1, 0x1444: 0x93c9, 0x1445: 0x93f1,
- 0x1446: 0x9419, 0x1447: 0x9441, 0x1448: 0x9469, 0x1449: 0x9491, 0x144a: 0x94b9, 0x144b: 0x94e1,
- 0x144c: 0x9079, 0x144d: 0x9509, 0x144e: 0x9531, 0x144f: 0x9559, 0x1450: 0x9581, 0x1451: 0x9171,
- 0x1452: 0x9199, 0x1453: 0x91c1, 0x1454: 0x91e9, 0x1455: 0x9211, 0x1456: 0x9239, 0x1457: 0x9261,
- 0x1458: 0x9289, 0x1459: 0x92b1, 0x145a: 0x92d9, 0x145b: 0x9301, 0x145c: 0x9329, 0x145d: 0x9351,
- 0x145e: 0x9379, 0x145f: 0x93a1, 0x1460: 0x93c9, 0x1461: 0x93f1, 0x1462: 0x9419, 0x1463: 0x9441,
- 0x1464: 0x9469, 0x1465: 0x9491, 0x1466: 0x94b9, 0x1467: 0x94e1, 0x1468: 0x9079, 0x1469: 0x9509,
- 0x146a: 0x9531, 0x146b: 0x9559, 0x146c: 0x9581, 0x146d: 0x9491, 0x146e: 0x94b9, 0x146f: 0x94e1,
- 0x1470: 0x9079, 0x1471: 0x9051, 0x1472: 0x90a1, 0x1473: 0x8211, 0x1474: 0x8059, 0x1475: 0x8081,
- 0x1476: 0x80a9, 0x1477: 0x9491, 0x1478: 0x94b9, 0x1479: 0x94e1, 0x147a: 0x8211, 0x147b: 0x8239,
- 0x147c: 0x95a9, 0x147d: 0x95a9, 0x147e: 0x0018, 0x147f: 0x0018,
- // Block 0x52, offset 0x1480
- 0x1480: 0x0040, 0x1481: 0x0040, 0x1482: 0x0040, 0x1483: 0x0040, 0x1484: 0x0040, 0x1485: 0x0040,
- 0x1486: 0x0040, 0x1487: 0x0040, 0x1488: 0x0040, 0x1489: 0x0040, 0x148a: 0x0040, 0x148b: 0x0040,
- 0x148c: 0x0040, 0x148d: 0x0040, 0x148e: 0x0040, 0x148f: 0x0040, 0x1490: 0x95d1, 0x1491: 0x9609,
- 0x1492: 0x9609, 0x1493: 0x9641, 0x1494: 0x9679, 0x1495: 0x96b1, 0x1496: 0x96e9, 0x1497: 0x9721,
- 0x1498: 0x9759, 0x1499: 0x9759, 0x149a: 0x9791, 0x149b: 0x97c9, 0x149c: 0x9801, 0x149d: 0x9839,
- 0x149e: 0x9871, 0x149f: 0x98a9, 0x14a0: 0x98a9, 0x14a1: 0x98e1, 0x14a2: 0x9919, 0x14a3: 0x9919,
- 0x14a4: 0x9951, 0x14a5: 0x9951, 0x14a6: 0x9989, 0x14a7: 0x99c1, 0x14a8: 0x99c1, 0x14a9: 0x99f9,
- 0x14aa: 0x9a31, 0x14ab: 0x9a31, 0x14ac: 0x9a69, 0x14ad: 0x9a69, 0x14ae: 0x9aa1, 0x14af: 0x9ad9,
- 0x14b0: 0x9ad9, 0x14b1: 0x9b11, 0x14b2: 0x9b11, 0x14b3: 0x9b49, 0x14b4: 0x9b81, 0x14b5: 0x9bb9,
- 0x14b6: 0x9bf1, 0x14b7: 0x9bf1, 0x14b8: 0x9c29, 0x14b9: 0x9c61, 0x14ba: 0x9c99, 0x14bb: 0x9cd1,
- 0x14bc: 0x9d09, 0x14bd: 0x9d09, 0x14be: 0x9d41, 0x14bf: 0x9d79,
- // Block 0x53, offset 0x14c0
- 0x14c0: 0xa949, 0x14c1: 0xa981, 0x14c2: 0xa9b9, 0x14c3: 0xa8a1, 0x14c4: 0x9bb9, 0x14c5: 0x9989,
- 0x14c6: 0xa9f1, 0x14c7: 0xaa29, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040,
- 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x0040, 0x14d1: 0x0040,
- 0x14d2: 0x0040, 0x14d3: 0x0040, 0x14d4: 0x0040, 0x14d5: 0x0040, 0x14d6: 0x0040, 0x14d7: 0x0040,
- 0x14d8: 0x0040, 0x14d9: 0x0040, 0x14da: 0x0040, 0x14db: 0x0040, 0x14dc: 0x0040, 0x14dd: 0x0040,
- 0x14de: 0x0040, 0x14df: 0x0040, 0x14e0: 0x0040, 0x14e1: 0x0040, 0x14e2: 0x0040, 0x14e3: 0x0040,
- 0x14e4: 0x0040, 0x14e5: 0x0040, 0x14e6: 0x0040, 0x14e7: 0x0040, 0x14e8: 0x0040, 0x14e9: 0x0040,
- 0x14ea: 0x0040, 0x14eb: 0x0040, 0x14ec: 0x0040, 0x14ed: 0x0040, 0x14ee: 0x0040, 0x14ef: 0x0040,
- 0x14f0: 0xaa61, 0x14f1: 0xaa99, 0x14f2: 0xaad1, 0x14f3: 0xab19, 0x14f4: 0xab61, 0x14f5: 0xaba9,
- 0x14f6: 0xabf1, 0x14f7: 0xac39, 0x14f8: 0xac81, 0x14f9: 0xacc9, 0x14fa: 0xad02, 0x14fb: 0xae12,
- 0x14fc: 0xae91, 0x14fd: 0x0018, 0x14fe: 0x0040, 0x14ff: 0x0040,
- // Block 0x54, offset 0x1500
- 0x1500: 0x33c0, 0x1501: 0x33c0, 0x1502: 0x33c0, 0x1503: 0x33c0, 0x1504: 0x33c0, 0x1505: 0x33c0,
- 0x1506: 0x33c0, 0x1507: 0x33c0, 0x1508: 0x33c0, 0x1509: 0x33c0, 0x150a: 0x33c0, 0x150b: 0x33c0,
- 0x150c: 0x33c0, 0x150d: 0x33c0, 0x150e: 0x33c0, 0x150f: 0x33c0, 0x1510: 0xaeda, 0x1511: 0x7d55,
- 0x1512: 0x0040, 0x1513: 0xaeea, 0x1514: 0x03c2, 0x1515: 0xaefa, 0x1516: 0xaf0a, 0x1517: 0x7d75,
- 0x1518: 0x7d95, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040,
- 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x3308, 0x1521: 0x3308, 0x1522: 0x3308, 0x1523: 0x3308,
- 0x1524: 0x3308, 0x1525: 0x3308, 0x1526: 0x3308, 0x1527: 0x3308, 0x1528: 0x3308, 0x1529: 0x3308,
- 0x152a: 0x3308, 0x152b: 0x3308, 0x152c: 0x3308, 0x152d: 0x3308, 0x152e: 0x3308, 0x152f: 0x3308,
- 0x1530: 0x0040, 0x1531: 0x7db5, 0x1532: 0x7dd5, 0x1533: 0xaf1a, 0x1534: 0xaf1a, 0x1535: 0x1fd2,
- 0x1536: 0x1fe2, 0x1537: 0xaf2a, 0x1538: 0xaf3a, 0x1539: 0x7df5, 0x153a: 0x7e15, 0x153b: 0x7e35,
- 0x153c: 0x7df5, 0x153d: 0x7e55, 0x153e: 0x7e75, 0x153f: 0x7e55,
- // Block 0x55, offset 0x1540
- 0x1540: 0x7e95, 0x1541: 0x7eb5, 0x1542: 0x7ed5, 0x1543: 0x7eb5, 0x1544: 0x7ef5, 0x1545: 0x0018,
- 0x1546: 0x0018, 0x1547: 0xaf4a, 0x1548: 0xaf5a, 0x1549: 0x7f16, 0x154a: 0x7f36, 0x154b: 0x7f56,
- 0x154c: 0x7f76, 0x154d: 0xaf1a, 0x154e: 0xaf1a, 0x154f: 0xaf1a, 0x1550: 0xaeda, 0x1551: 0x7f95,
- 0x1552: 0x0040, 0x1553: 0x0040, 0x1554: 0x03c2, 0x1555: 0xaeea, 0x1556: 0xaf0a, 0x1557: 0xaefa,
- 0x1558: 0x7fb5, 0x1559: 0x1fd2, 0x155a: 0x1fe2, 0x155b: 0xaf2a, 0x155c: 0xaf3a, 0x155d: 0x7e95,
- 0x155e: 0x7ef5, 0x155f: 0xaf6a, 0x1560: 0xaf7a, 0x1561: 0xaf8a, 0x1562: 0x1fb2, 0x1563: 0xaf99,
- 0x1564: 0xafaa, 0x1565: 0xafba, 0x1566: 0x1fc2, 0x1567: 0x0040, 0x1568: 0xafca, 0x1569: 0xafda,
- 0x156a: 0xafea, 0x156b: 0xaffa, 0x156c: 0x0040, 0x156d: 0x0040, 0x156e: 0x0040, 0x156f: 0x0040,
- 0x1570: 0x7fd6, 0x1571: 0xb009, 0x1572: 0x7ff6, 0x1573: 0x0808, 0x1574: 0x8016, 0x1575: 0x0040,
- 0x1576: 0x8036, 0x1577: 0xb031, 0x1578: 0x8056, 0x1579: 0xb059, 0x157a: 0x8076, 0x157b: 0xb081,
- 0x157c: 0x8096, 0x157d: 0xb0a9, 0x157e: 0x80b6, 0x157f: 0xb0d1,
- // Block 0x56, offset 0x1580
- 0x1580: 0xb0f9, 0x1581: 0xb111, 0x1582: 0xb111, 0x1583: 0xb129, 0x1584: 0xb129, 0x1585: 0xb141,
- 0x1586: 0xb141, 0x1587: 0xb159, 0x1588: 0xb159, 0x1589: 0xb171, 0x158a: 0xb171, 0x158b: 0xb171,
- 0x158c: 0xb171, 0x158d: 0xb189, 0x158e: 0xb189, 0x158f: 0xb1a1, 0x1590: 0xb1a1, 0x1591: 0xb1a1,
- 0x1592: 0xb1a1, 0x1593: 0xb1b9, 0x1594: 0xb1b9, 0x1595: 0xb1d1, 0x1596: 0xb1d1, 0x1597: 0xb1d1,
- 0x1598: 0xb1d1, 0x1599: 0xb1e9, 0x159a: 0xb1e9, 0x159b: 0xb1e9, 0x159c: 0xb1e9, 0x159d: 0xb201,
- 0x159e: 0xb201, 0x159f: 0xb201, 0x15a0: 0xb201, 0x15a1: 0xb219, 0x15a2: 0xb219, 0x15a3: 0xb219,
- 0x15a4: 0xb219, 0x15a5: 0xb231, 0x15a6: 0xb231, 0x15a7: 0xb231, 0x15a8: 0xb231, 0x15a9: 0xb249,
- 0x15aa: 0xb249, 0x15ab: 0xb261, 0x15ac: 0xb261, 0x15ad: 0xb279, 0x15ae: 0xb279, 0x15af: 0xb291,
- 0x15b0: 0xb291, 0x15b1: 0xb2a9, 0x15b2: 0xb2a9, 0x15b3: 0xb2a9, 0x15b4: 0xb2a9, 0x15b5: 0xb2c1,
- 0x15b6: 0xb2c1, 0x15b7: 0xb2c1, 0x15b8: 0xb2c1, 0x15b9: 0xb2d9, 0x15ba: 0xb2d9, 0x15bb: 0xb2d9,
- 0x15bc: 0xb2d9, 0x15bd: 0xb2f1, 0x15be: 0xb2f1, 0x15bf: 0xb2f1,
- // Block 0x57, offset 0x15c0
- 0x15c0: 0xb2f1, 0x15c1: 0xb309, 0x15c2: 0xb309, 0x15c3: 0xb309, 0x15c4: 0xb309, 0x15c5: 0xb321,
- 0x15c6: 0xb321, 0x15c7: 0xb321, 0x15c8: 0xb321, 0x15c9: 0xb339, 0x15ca: 0xb339, 0x15cb: 0xb339,
- 0x15cc: 0xb339, 0x15cd: 0xb351, 0x15ce: 0xb351, 0x15cf: 0xb351, 0x15d0: 0xb351, 0x15d1: 0xb369,
- 0x15d2: 0xb369, 0x15d3: 0xb369, 0x15d4: 0xb369, 0x15d5: 0xb381, 0x15d6: 0xb381, 0x15d7: 0xb381,
- 0x15d8: 0xb381, 0x15d9: 0xb399, 0x15da: 0xb399, 0x15db: 0xb399, 0x15dc: 0xb399, 0x15dd: 0xb3b1,
- 0x15de: 0xb3b1, 0x15df: 0xb3b1, 0x15e0: 0xb3b1, 0x15e1: 0xb3c9, 0x15e2: 0xb3c9, 0x15e3: 0xb3c9,
- 0x15e4: 0xb3c9, 0x15e5: 0xb3e1, 0x15e6: 0xb3e1, 0x15e7: 0xb3e1, 0x15e8: 0xb3e1, 0x15e9: 0xb3f9,
- 0x15ea: 0xb3f9, 0x15eb: 0xb3f9, 0x15ec: 0xb3f9, 0x15ed: 0xb411, 0x15ee: 0xb411, 0x15ef: 0x7ab1,
- 0x15f0: 0x7ab1, 0x15f1: 0xb429, 0x15f2: 0xb429, 0x15f3: 0xb429, 0x15f4: 0xb429, 0x15f5: 0xb441,
- 0x15f6: 0xb441, 0x15f7: 0xb469, 0x15f8: 0xb469, 0x15f9: 0xb491, 0x15fa: 0xb491, 0x15fb: 0xb4b9,
- 0x15fc: 0xb4b9, 0x15fd: 0x0040, 0x15fe: 0x0040, 0x15ff: 0x03c0,
- // Block 0x58, offset 0x1600
- 0x1600: 0x0040, 0x1601: 0xaefa, 0x1602: 0xb4e2, 0x1603: 0xaf6a, 0x1604: 0xafda, 0x1605: 0xafea,
- 0x1606: 0xaf7a, 0x1607: 0xb4f2, 0x1608: 0x1fd2, 0x1609: 0x1fe2, 0x160a: 0xaf8a, 0x160b: 0x1fb2,
- 0x160c: 0xaeda, 0x160d: 0xaf99, 0x160e: 0x29d1, 0x160f: 0xb502, 0x1610: 0x1f41, 0x1611: 0x00c9,
- 0x1612: 0x0069, 0x1613: 0x0079, 0x1614: 0x1f51, 0x1615: 0x1f61, 0x1616: 0x1f71, 0x1617: 0x1f81,
- 0x1618: 0x1f91, 0x1619: 0x1fa1, 0x161a: 0xaeea, 0x161b: 0x03c2, 0x161c: 0xafaa, 0x161d: 0x1fc2,
- 0x161e: 0xafba, 0x161f: 0xaf0a, 0x1620: 0xaffa, 0x1621: 0x0039, 0x1622: 0x0ee9, 0x1623: 0x1159,
- 0x1624: 0x0ef9, 0x1625: 0x0f09, 0x1626: 0x1199, 0x1627: 0x0f31, 0x1628: 0x0249, 0x1629: 0x0f41,
- 0x162a: 0x0259, 0x162b: 0x0f51, 0x162c: 0x0359, 0x162d: 0x0f61, 0x162e: 0x0f71, 0x162f: 0x00d9,
- 0x1630: 0x0f99, 0x1631: 0x2039, 0x1632: 0x0269, 0x1633: 0x01d9, 0x1634: 0x0fa9, 0x1635: 0x0fb9,
- 0x1636: 0x1089, 0x1637: 0x0279, 0x1638: 0x0369, 0x1639: 0x0289, 0x163a: 0x13d1, 0x163b: 0xaf4a,
- 0x163c: 0xafca, 0x163d: 0xaf5a, 0x163e: 0xb512, 0x163f: 0xaf1a,
- // Block 0x59, offset 0x1640
- 0x1640: 0x1caa, 0x1641: 0x0039, 0x1642: 0x0ee9, 0x1643: 0x1159, 0x1644: 0x0ef9, 0x1645: 0x0f09,
- 0x1646: 0x1199, 0x1647: 0x0f31, 0x1648: 0x0249, 0x1649: 0x0f41, 0x164a: 0x0259, 0x164b: 0x0f51,
- 0x164c: 0x0359, 0x164d: 0x0f61, 0x164e: 0x0f71, 0x164f: 0x00d9, 0x1650: 0x0f99, 0x1651: 0x2039,
- 0x1652: 0x0269, 0x1653: 0x01d9, 0x1654: 0x0fa9, 0x1655: 0x0fb9, 0x1656: 0x1089, 0x1657: 0x0279,
- 0x1658: 0x0369, 0x1659: 0x0289, 0x165a: 0x13d1, 0x165b: 0xaf2a, 0x165c: 0xb522, 0x165d: 0xaf3a,
- 0x165e: 0xb532, 0x165f: 0x80d5, 0x1660: 0x80f5, 0x1661: 0x29d1, 0x1662: 0x8115, 0x1663: 0x8115,
- 0x1664: 0x8135, 0x1665: 0x8155, 0x1666: 0x8175, 0x1667: 0x8195, 0x1668: 0x81b5, 0x1669: 0x81d5,
- 0x166a: 0x81f5, 0x166b: 0x8215, 0x166c: 0x8235, 0x166d: 0x8255, 0x166e: 0x8275, 0x166f: 0x8295,
- 0x1670: 0x82b5, 0x1671: 0x82d5, 0x1672: 0x82f5, 0x1673: 0x8315, 0x1674: 0x8335, 0x1675: 0x8355,
- 0x1676: 0x8375, 0x1677: 0x8395, 0x1678: 0x83b5, 0x1679: 0x83d5, 0x167a: 0x83f5, 0x167b: 0x8415,
- 0x167c: 0x81b5, 0x167d: 0x8435, 0x167e: 0x8455, 0x167f: 0x8215,
- // Block 0x5a, offset 0x1680
- 0x1680: 0x8475, 0x1681: 0x8495, 0x1682: 0x84b5, 0x1683: 0x84d5, 0x1684: 0x84f5, 0x1685: 0x8515,
- 0x1686: 0x8535, 0x1687: 0x8555, 0x1688: 0x84d5, 0x1689: 0x8575, 0x168a: 0x84d5, 0x168b: 0x8595,
- 0x168c: 0x8595, 0x168d: 0x85b5, 0x168e: 0x85b5, 0x168f: 0x85d5, 0x1690: 0x8515, 0x1691: 0x85f5,
- 0x1692: 0x8615, 0x1693: 0x85f5, 0x1694: 0x8635, 0x1695: 0x8615, 0x1696: 0x8655, 0x1697: 0x8655,
- 0x1698: 0x8675, 0x1699: 0x8675, 0x169a: 0x8695, 0x169b: 0x8695, 0x169c: 0x8615, 0x169d: 0x8115,
- 0x169e: 0x86b5, 0x169f: 0x86d5, 0x16a0: 0x0040, 0x16a1: 0x86f5, 0x16a2: 0x8715, 0x16a3: 0x8735,
- 0x16a4: 0x8755, 0x16a5: 0x8735, 0x16a6: 0x8775, 0x16a7: 0x8795, 0x16a8: 0x87b5, 0x16a9: 0x87b5,
- 0x16aa: 0x87d5, 0x16ab: 0x87d5, 0x16ac: 0x87f5, 0x16ad: 0x87f5, 0x16ae: 0x87d5, 0x16af: 0x87d5,
- 0x16b0: 0x8815, 0x16b1: 0x8835, 0x16b2: 0x8855, 0x16b3: 0x8875, 0x16b4: 0x8895, 0x16b5: 0x88b5,
- 0x16b6: 0x88b5, 0x16b7: 0x88b5, 0x16b8: 0x88d5, 0x16b9: 0x88d5, 0x16ba: 0x88d5, 0x16bb: 0x88d5,
- 0x16bc: 0x87b5, 0x16bd: 0x87b5, 0x16be: 0x87b5, 0x16bf: 0x0040,
- // Block 0x5b, offset 0x16c0
- 0x16c0: 0x0040, 0x16c1: 0x0040, 0x16c2: 0x8715, 0x16c3: 0x86f5, 0x16c4: 0x88f5, 0x16c5: 0x86f5,
- 0x16c6: 0x8715, 0x16c7: 0x86f5, 0x16c8: 0x0040, 0x16c9: 0x0040, 0x16ca: 0x8915, 0x16cb: 0x8715,
- 0x16cc: 0x8935, 0x16cd: 0x88f5, 0x16ce: 0x8935, 0x16cf: 0x8715, 0x16d0: 0x0040, 0x16d1: 0x0040,
- 0x16d2: 0x8955, 0x16d3: 0x8975, 0x16d4: 0x8875, 0x16d5: 0x8935, 0x16d6: 0x88f5, 0x16d7: 0x8935,
- 0x16d8: 0x0040, 0x16d9: 0x0040, 0x16da: 0x8995, 0x16db: 0x89b5, 0x16dc: 0x8995, 0x16dd: 0x0040,
- 0x16de: 0x0040, 0x16df: 0x0040, 0x16e0: 0xb541, 0x16e1: 0xb559, 0x16e2: 0xb571, 0x16e3: 0x89d6,
- 0x16e4: 0xb589, 0x16e5: 0xb5a1, 0x16e6: 0x89f5, 0x16e7: 0x0040, 0x16e8: 0x8a15, 0x16e9: 0x8a35,
- 0x16ea: 0x8a55, 0x16eb: 0x8a35, 0x16ec: 0x8a75, 0x16ed: 0x8a95, 0x16ee: 0x8ab5, 0x16ef: 0x0040,
- 0x16f0: 0x0040, 0x16f1: 0x0040, 0x16f2: 0x0040, 0x16f3: 0x0040, 0x16f4: 0x0040, 0x16f5: 0x0040,
- 0x16f6: 0x0040, 0x16f7: 0x0040, 0x16f8: 0x0040, 0x16f9: 0x0340, 0x16fa: 0x0340, 0x16fb: 0x0340,
- 0x16fc: 0x0040, 0x16fd: 0x0040, 0x16fe: 0x0040, 0x16ff: 0x0040,
- // Block 0x5c, offset 0x1700
- 0x1700: 0x0a08, 0x1701: 0x0a08, 0x1702: 0x0a08, 0x1703: 0x0a08, 0x1704: 0x0a08, 0x1705: 0x0c08,
- 0x1706: 0x0808, 0x1707: 0x0c08, 0x1708: 0x0818, 0x1709: 0x0c08, 0x170a: 0x0c08, 0x170b: 0x0808,
- 0x170c: 0x0808, 0x170d: 0x0908, 0x170e: 0x0c08, 0x170f: 0x0c08, 0x1710: 0x0c08, 0x1711: 0x0c08,
- 0x1712: 0x0c08, 0x1713: 0x0a08, 0x1714: 0x0a08, 0x1715: 0x0a08, 0x1716: 0x0a08, 0x1717: 0x0908,
- 0x1718: 0x0a08, 0x1719: 0x0a08, 0x171a: 0x0a08, 0x171b: 0x0a08, 0x171c: 0x0a08, 0x171d: 0x0c08,
- 0x171e: 0x0a08, 0x171f: 0x0a08, 0x1720: 0x0a08, 0x1721: 0x0c08, 0x1722: 0x0808, 0x1723: 0x0808,
- 0x1724: 0x0c08, 0x1725: 0x3308, 0x1726: 0x3308, 0x1727: 0x0040, 0x1728: 0x0040, 0x1729: 0x0040,
- 0x172a: 0x0040, 0x172b: 0x0a18, 0x172c: 0x0a18, 0x172d: 0x0a18, 0x172e: 0x0a18, 0x172f: 0x0c18,
- 0x1730: 0x0818, 0x1731: 0x0818, 0x1732: 0x0818, 0x1733: 0x0818, 0x1734: 0x0818, 0x1735: 0x0818,
- 0x1736: 0x0818, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0040, 0x173a: 0x0040, 0x173b: 0x0040,
- 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,
- // Block 0x5d, offset 0x1740
- 0x1740: 0x0a08, 0x1741: 0x0c08, 0x1742: 0x0a08, 0x1743: 0x0c08, 0x1744: 0x0c08, 0x1745: 0x0c08,
- 0x1746: 0x0a08, 0x1747: 0x0a08, 0x1748: 0x0a08, 0x1749: 0x0c08, 0x174a: 0x0a08, 0x174b: 0x0a08,
- 0x174c: 0x0c08, 0x174d: 0x0a08, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0a08, 0x1751: 0x0c08,
- 0x1752: 0x0040, 0x1753: 0x0040, 0x1754: 0x0040, 0x1755: 0x0040, 0x1756: 0x0040, 0x1757: 0x0040,
- 0x1758: 0x0040, 0x1759: 0x0818, 0x175a: 0x0818, 0x175b: 0x0818, 0x175c: 0x0818, 0x175d: 0x0040,
- 0x175e: 0x0040, 0x175f: 0x0040, 0x1760: 0x0040, 0x1761: 0x0040, 0x1762: 0x0040, 0x1763: 0x0040,
- 0x1764: 0x0040, 0x1765: 0x0040, 0x1766: 0x0040, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0c18,
- 0x176a: 0x0c18, 0x176b: 0x0c18, 0x176c: 0x0c18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0818,
- 0x1770: 0x0040, 0x1771: 0x0040, 0x1772: 0x0040, 0x1773: 0x0040, 0x1774: 0x0040, 0x1775: 0x0040,
- 0x1776: 0x0040, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040,
- 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040,
- // Block 0x5e, offset 0x1780
- 0x1780: 0x3308, 0x1781: 0x3308, 0x1782: 0x3008, 0x1783: 0x3008, 0x1784: 0x0040, 0x1785: 0x0008,
- 0x1786: 0x0008, 0x1787: 0x0008, 0x1788: 0x0008, 0x1789: 0x0008, 0x178a: 0x0008, 0x178b: 0x0008,
- 0x178c: 0x0008, 0x178d: 0x0040, 0x178e: 0x0040, 0x178f: 0x0008, 0x1790: 0x0008, 0x1791: 0x0040,
- 0x1792: 0x0040, 0x1793: 0x0008, 0x1794: 0x0008, 0x1795: 0x0008, 0x1796: 0x0008, 0x1797: 0x0008,
- 0x1798: 0x0008, 0x1799: 0x0008, 0x179a: 0x0008, 0x179b: 0x0008, 0x179c: 0x0008, 0x179d: 0x0008,
- 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x0008, 0x17a3: 0x0008,
- 0x17a4: 0x0008, 0x17a5: 0x0008, 0x17a6: 0x0008, 0x17a7: 0x0008, 0x17a8: 0x0008, 0x17a9: 0x0040,
- 0x17aa: 0x0008, 0x17ab: 0x0008, 0x17ac: 0x0008, 0x17ad: 0x0008, 0x17ae: 0x0008, 0x17af: 0x0008,
- 0x17b0: 0x0008, 0x17b1: 0x0040, 0x17b2: 0x0008, 0x17b3: 0x0008, 0x17b4: 0x0040, 0x17b5: 0x0008,
- 0x17b6: 0x0008, 0x17b7: 0x0008, 0x17b8: 0x0008, 0x17b9: 0x0008, 0x17ba: 0x0040, 0x17bb: 0x0040,
- 0x17bc: 0x3308, 0x17bd: 0x0008, 0x17be: 0x3008, 0x17bf: 0x3008,
- // Block 0x5f, offset 0x17c0
- 0x17c0: 0x3308, 0x17c1: 0x3008, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x3008, 0x17c5: 0x0040,
- 0x17c6: 0x0040, 0x17c7: 0x3008, 0x17c8: 0x3008, 0x17c9: 0x0040, 0x17ca: 0x0040, 0x17cb: 0x3008,
- 0x17cc: 0x3008, 0x17cd: 0x3808, 0x17ce: 0x0040, 0x17cf: 0x0040, 0x17d0: 0x0008, 0x17d1: 0x0040,
- 0x17d2: 0x0040, 0x17d3: 0x0040, 0x17d4: 0x0040, 0x17d5: 0x0040, 0x17d6: 0x0040, 0x17d7: 0x3008,
- 0x17d8: 0x0040, 0x17d9: 0x0040, 0x17da: 0x0040, 0x17db: 0x0040, 0x17dc: 0x0040, 0x17dd: 0x0008,
- 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x3008, 0x17e3: 0x3008,
- 0x17e4: 0x0040, 0x17e5: 0x0040, 0x17e6: 0x3308, 0x17e7: 0x3308, 0x17e8: 0x3308, 0x17e9: 0x3308,
- 0x17ea: 0x3308, 0x17eb: 0x3308, 0x17ec: 0x3308, 0x17ed: 0x0040, 0x17ee: 0x0040, 0x17ef: 0x0040,
- 0x17f0: 0x3308, 0x17f1: 0x3308, 0x17f2: 0x3308, 0x17f3: 0x3308, 0x17f4: 0x3308, 0x17f5: 0x0040,
- 0x17f6: 0x0040, 0x17f7: 0x0040, 0x17f8: 0x0040, 0x17f9: 0x0040, 0x17fa: 0x0040, 0x17fb: 0x0040,
- 0x17fc: 0x0040, 0x17fd: 0x0040, 0x17fe: 0x0040, 0x17ff: 0x0040,
- // Block 0x60, offset 0x1800
- 0x1800: 0x0039, 0x1801: 0x0ee9, 0x1802: 0x1159, 0x1803: 0x0ef9, 0x1804: 0x0f09, 0x1805: 0x1199,
- 0x1806: 0x0f31, 0x1807: 0x0249, 0x1808: 0x0f41, 0x1809: 0x0259, 0x180a: 0x0f51, 0x180b: 0x0359,
- 0x180c: 0x0f61, 0x180d: 0x0f71, 0x180e: 0x00d9, 0x180f: 0x0f99, 0x1810: 0x2039, 0x1811: 0x0269,
- 0x1812: 0x01d9, 0x1813: 0x0fa9, 0x1814: 0x0fb9, 0x1815: 0x1089, 0x1816: 0x0279, 0x1817: 0x0369,
- 0x1818: 0x0289, 0x1819: 0x13d1, 0x181a: 0x0039, 0x181b: 0x0ee9, 0x181c: 0x1159, 0x181d: 0x0ef9,
- 0x181e: 0x0f09, 0x181f: 0x1199, 0x1820: 0x0f31, 0x1821: 0x0249, 0x1822: 0x0f41, 0x1823: 0x0259,
- 0x1824: 0x0f51, 0x1825: 0x0359, 0x1826: 0x0f61, 0x1827: 0x0f71, 0x1828: 0x00d9, 0x1829: 0x0f99,
- 0x182a: 0x2039, 0x182b: 0x0269, 0x182c: 0x01d9, 0x182d: 0x0fa9, 0x182e: 0x0fb9, 0x182f: 0x1089,
- 0x1830: 0x0279, 0x1831: 0x0369, 0x1832: 0x0289, 0x1833: 0x13d1, 0x1834: 0x0039, 0x1835: 0x0ee9,
- 0x1836: 0x1159, 0x1837: 0x0ef9, 0x1838: 0x0f09, 0x1839: 0x1199, 0x183a: 0x0f31, 0x183b: 0x0249,
- 0x183c: 0x0f41, 0x183d: 0x0259, 0x183e: 0x0f51, 0x183f: 0x0359,
- // Block 0x61, offset 0x1840
- 0x1840: 0x0f61, 0x1841: 0x0f71, 0x1842: 0x00d9, 0x1843: 0x0f99, 0x1844: 0x2039, 0x1845: 0x0269,
- 0x1846: 0x01d9, 0x1847: 0x0fa9, 0x1848: 0x0fb9, 0x1849: 0x1089, 0x184a: 0x0279, 0x184b: 0x0369,
- 0x184c: 0x0289, 0x184d: 0x13d1, 0x184e: 0x0039, 0x184f: 0x0ee9, 0x1850: 0x1159, 0x1851: 0x0ef9,
- 0x1852: 0x0f09, 0x1853: 0x1199, 0x1854: 0x0f31, 0x1855: 0x0040, 0x1856: 0x0f41, 0x1857: 0x0259,
- 0x1858: 0x0f51, 0x1859: 0x0359, 0x185a: 0x0f61, 0x185b: 0x0f71, 0x185c: 0x00d9, 0x185d: 0x0f99,
- 0x185e: 0x2039, 0x185f: 0x0269, 0x1860: 0x01d9, 0x1861: 0x0fa9, 0x1862: 0x0fb9, 0x1863: 0x1089,
- 0x1864: 0x0279, 0x1865: 0x0369, 0x1866: 0x0289, 0x1867: 0x13d1, 0x1868: 0x0039, 0x1869: 0x0ee9,
- 0x186a: 0x1159, 0x186b: 0x0ef9, 0x186c: 0x0f09, 0x186d: 0x1199, 0x186e: 0x0f31, 0x186f: 0x0249,
- 0x1870: 0x0f41, 0x1871: 0x0259, 0x1872: 0x0f51, 0x1873: 0x0359, 0x1874: 0x0f61, 0x1875: 0x0f71,
- 0x1876: 0x00d9, 0x1877: 0x0f99, 0x1878: 0x2039, 0x1879: 0x0269, 0x187a: 0x01d9, 0x187b: 0x0fa9,
- 0x187c: 0x0fb9, 0x187d: 0x1089, 0x187e: 0x0279, 0x187f: 0x0369,
- // Block 0x62, offset 0x1880
- 0x1880: 0x0289, 0x1881: 0x13d1, 0x1882: 0x0039, 0x1883: 0x0ee9, 0x1884: 0x1159, 0x1885: 0x0ef9,
- 0x1886: 0x0f09, 0x1887: 0x1199, 0x1888: 0x0f31, 0x1889: 0x0249, 0x188a: 0x0f41, 0x188b: 0x0259,
- 0x188c: 0x0f51, 0x188d: 0x0359, 0x188e: 0x0f61, 0x188f: 0x0f71, 0x1890: 0x00d9, 0x1891: 0x0f99,
- 0x1892: 0x2039, 0x1893: 0x0269, 0x1894: 0x01d9, 0x1895: 0x0fa9, 0x1896: 0x0fb9, 0x1897: 0x1089,
- 0x1898: 0x0279, 0x1899: 0x0369, 0x189a: 0x0289, 0x189b: 0x13d1, 0x189c: 0x0039, 0x189d: 0x0040,
- 0x189e: 0x1159, 0x189f: 0x0ef9, 0x18a0: 0x0040, 0x18a1: 0x0040, 0x18a2: 0x0f31, 0x18a3: 0x0040,
- 0x18a4: 0x0040, 0x18a5: 0x0259, 0x18a6: 0x0f51, 0x18a7: 0x0040, 0x18a8: 0x0040, 0x18a9: 0x0f71,
- 0x18aa: 0x00d9, 0x18ab: 0x0f99, 0x18ac: 0x2039, 0x18ad: 0x0040, 0x18ae: 0x01d9, 0x18af: 0x0fa9,
- 0x18b0: 0x0fb9, 0x18b1: 0x1089, 0x18b2: 0x0279, 0x18b3: 0x0369, 0x18b4: 0x0289, 0x18b5: 0x13d1,
- 0x18b6: 0x0039, 0x18b7: 0x0ee9, 0x18b8: 0x1159, 0x18b9: 0x0ef9, 0x18ba: 0x0040, 0x18bb: 0x1199,
- 0x18bc: 0x0040, 0x18bd: 0x0249, 0x18be: 0x0f41, 0x18bf: 0x0259,
- // Block 0x63, offset 0x18c0
- 0x18c0: 0x0f51, 0x18c1: 0x0359, 0x18c2: 0x0f61, 0x18c3: 0x0f71, 0x18c4: 0x0040, 0x18c5: 0x0f99,
- 0x18c6: 0x2039, 0x18c7: 0x0269, 0x18c8: 0x01d9, 0x18c9: 0x0fa9, 0x18ca: 0x0fb9, 0x18cb: 0x1089,
- 0x18cc: 0x0279, 0x18cd: 0x0369, 0x18ce: 0x0289, 0x18cf: 0x13d1, 0x18d0: 0x0039, 0x18d1: 0x0ee9,
- 0x18d2: 0x1159, 0x18d3: 0x0ef9, 0x18d4: 0x0f09, 0x18d5: 0x1199, 0x18d6: 0x0f31, 0x18d7: 0x0249,
- 0x18d8: 0x0f41, 0x18d9: 0x0259, 0x18da: 0x0f51, 0x18db: 0x0359, 0x18dc: 0x0f61, 0x18dd: 0x0f71,
- 0x18de: 0x00d9, 0x18df: 0x0f99, 0x18e0: 0x2039, 0x18e1: 0x0269, 0x18e2: 0x01d9, 0x18e3: 0x0fa9,
- 0x18e4: 0x0fb9, 0x18e5: 0x1089, 0x18e6: 0x0279, 0x18e7: 0x0369, 0x18e8: 0x0289, 0x18e9: 0x13d1,
- 0x18ea: 0x0039, 0x18eb: 0x0ee9, 0x18ec: 0x1159, 0x18ed: 0x0ef9, 0x18ee: 0x0f09, 0x18ef: 0x1199,
- 0x18f0: 0x0f31, 0x18f1: 0x0249, 0x18f2: 0x0f41, 0x18f3: 0x0259, 0x18f4: 0x0f51, 0x18f5: 0x0359,
- 0x18f6: 0x0f61, 0x18f7: 0x0f71, 0x18f8: 0x00d9, 0x18f9: 0x0f99, 0x18fa: 0x2039, 0x18fb: 0x0269,
- 0x18fc: 0x01d9, 0x18fd: 0x0fa9, 0x18fe: 0x0fb9, 0x18ff: 0x1089,
- // Block 0x64, offset 0x1900
- 0x1900: 0x0279, 0x1901: 0x0369, 0x1902: 0x0289, 0x1903: 0x13d1, 0x1904: 0x0039, 0x1905: 0x0ee9,
- 0x1906: 0x0040, 0x1907: 0x0ef9, 0x1908: 0x0f09, 0x1909: 0x1199, 0x190a: 0x0f31, 0x190b: 0x0040,
- 0x190c: 0x0040, 0x190d: 0x0259, 0x190e: 0x0f51, 0x190f: 0x0359, 0x1910: 0x0f61, 0x1911: 0x0f71,
- 0x1912: 0x00d9, 0x1913: 0x0f99, 0x1914: 0x2039, 0x1915: 0x0040, 0x1916: 0x01d9, 0x1917: 0x0fa9,
- 0x1918: 0x0fb9, 0x1919: 0x1089, 0x191a: 0x0279, 0x191b: 0x0369, 0x191c: 0x0289, 0x191d: 0x0040,
- 0x191e: 0x0039, 0x191f: 0x0ee9, 0x1920: 0x1159, 0x1921: 0x0ef9, 0x1922: 0x0f09, 0x1923: 0x1199,
- 0x1924: 0x0f31, 0x1925: 0x0249, 0x1926: 0x0f41, 0x1927: 0x0259, 0x1928: 0x0f51, 0x1929: 0x0359,
- 0x192a: 0x0f61, 0x192b: 0x0f71, 0x192c: 0x00d9, 0x192d: 0x0f99, 0x192e: 0x2039, 0x192f: 0x0269,
- 0x1930: 0x01d9, 0x1931: 0x0fa9, 0x1932: 0x0fb9, 0x1933: 0x1089, 0x1934: 0x0279, 0x1935: 0x0369,
- 0x1936: 0x0289, 0x1937: 0x13d1, 0x1938: 0x0039, 0x1939: 0x0ee9, 0x193a: 0x0040, 0x193b: 0x0ef9,
- 0x193c: 0x0f09, 0x193d: 0x1199, 0x193e: 0x0f31, 0x193f: 0x0040,
- // Block 0x65, offset 0x1940
- 0x1940: 0x0f41, 0x1941: 0x0259, 0x1942: 0x0f51, 0x1943: 0x0359, 0x1944: 0x0f61, 0x1945: 0x0040,
- 0x1946: 0x00d9, 0x1947: 0x0040, 0x1948: 0x0040, 0x1949: 0x0040, 0x194a: 0x01d9, 0x194b: 0x0fa9,
- 0x194c: 0x0fb9, 0x194d: 0x1089, 0x194e: 0x0279, 0x194f: 0x0369, 0x1950: 0x0289, 0x1951: 0x0040,
- 0x1952: 0x0039, 0x1953: 0x0ee9, 0x1954: 0x1159, 0x1955: 0x0ef9, 0x1956: 0x0f09, 0x1957: 0x1199,
- 0x1958: 0x0f31, 0x1959: 0x0249, 0x195a: 0x0f41, 0x195b: 0x0259, 0x195c: 0x0f51, 0x195d: 0x0359,
- 0x195e: 0x0f61, 0x195f: 0x0f71, 0x1960: 0x00d9, 0x1961: 0x0f99, 0x1962: 0x2039, 0x1963: 0x0269,
- 0x1964: 0x01d9, 0x1965: 0x0fa9, 0x1966: 0x0fb9, 0x1967: 0x1089, 0x1968: 0x0279, 0x1969: 0x0369,
- 0x196a: 0x0289, 0x196b: 0x13d1, 0x196c: 0x0039, 0x196d: 0x0ee9, 0x196e: 0x1159, 0x196f: 0x0ef9,
- 0x1970: 0x0f09, 0x1971: 0x1199, 0x1972: 0x0f31, 0x1973: 0x0249, 0x1974: 0x0f41, 0x1975: 0x0259,
- 0x1976: 0x0f51, 0x1977: 0x0359, 0x1978: 0x0f61, 0x1979: 0x0f71, 0x197a: 0x00d9, 0x197b: 0x0f99,
- 0x197c: 0x2039, 0x197d: 0x0269, 0x197e: 0x01d9, 0x197f: 0x0fa9,
- // Block 0x66, offset 0x1980
- 0x1980: 0x0fb9, 0x1981: 0x1089, 0x1982: 0x0279, 0x1983: 0x0369, 0x1984: 0x0289, 0x1985: 0x13d1,
- 0x1986: 0x0039, 0x1987: 0x0ee9, 0x1988: 0x1159, 0x1989: 0x0ef9, 0x198a: 0x0f09, 0x198b: 0x1199,
- 0x198c: 0x0f31, 0x198d: 0x0249, 0x198e: 0x0f41, 0x198f: 0x0259, 0x1990: 0x0f51, 0x1991: 0x0359,
- 0x1992: 0x0f61, 0x1993: 0x0f71, 0x1994: 0x00d9, 0x1995: 0x0f99, 0x1996: 0x2039, 0x1997: 0x0269,
- 0x1998: 0x01d9, 0x1999: 0x0fa9, 0x199a: 0x0fb9, 0x199b: 0x1089, 0x199c: 0x0279, 0x199d: 0x0369,
- 0x199e: 0x0289, 0x199f: 0x13d1, 0x19a0: 0x0039, 0x19a1: 0x0ee9, 0x19a2: 0x1159, 0x19a3: 0x0ef9,
- 0x19a4: 0x0f09, 0x19a5: 0x1199, 0x19a6: 0x0f31, 0x19a7: 0x0249, 0x19a8: 0x0f41, 0x19a9: 0x0259,
- 0x19aa: 0x0f51, 0x19ab: 0x0359, 0x19ac: 0x0f61, 0x19ad: 0x0f71, 0x19ae: 0x00d9, 0x19af: 0x0f99,
- 0x19b0: 0x2039, 0x19b1: 0x0269, 0x19b2: 0x01d9, 0x19b3: 0x0fa9, 0x19b4: 0x0fb9, 0x19b5: 0x1089,
- 0x19b6: 0x0279, 0x19b7: 0x0369, 0x19b8: 0x0289, 0x19b9: 0x13d1, 0x19ba: 0x0039, 0x19bb: 0x0ee9,
- 0x19bc: 0x1159, 0x19bd: 0x0ef9, 0x19be: 0x0f09, 0x19bf: 0x1199,
- // Block 0x67, offset 0x19c0
- 0x19c0: 0x0f31, 0x19c1: 0x0249, 0x19c2: 0x0f41, 0x19c3: 0x0259, 0x19c4: 0x0f51, 0x19c5: 0x0359,
- 0x19c6: 0x0f61, 0x19c7: 0x0f71, 0x19c8: 0x00d9, 0x19c9: 0x0f99, 0x19ca: 0x2039, 0x19cb: 0x0269,
- 0x19cc: 0x01d9, 0x19cd: 0x0fa9, 0x19ce: 0x0fb9, 0x19cf: 0x1089, 0x19d0: 0x0279, 0x19d1: 0x0369,
- 0x19d2: 0x0289, 0x19d3: 0x13d1, 0x19d4: 0x0039, 0x19d5: 0x0ee9, 0x19d6: 0x1159, 0x19d7: 0x0ef9,
- 0x19d8: 0x0f09, 0x19d9: 0x1199, 0x19da: 0x0f31, 0x19db: 0x0249, 0x19dc: 0x0f41, 0x19dd: 0x0259,
- 0x19de: 0x0f51, 0x19df: 0x0359, 0x19e0: 0x0f61, 0x19e1: 0x0f71, 0x19e2: 0x00d9, 0x19e3: 0x0f99,
- 0x19e4: 0x2039, 0x19e5: 0x0269, 0x19e6: 0x01d9, 0x19e7: 0x0fa9, 0x19e8: 0x0fb9, 0x19e9: 0x1089,
- 0x19ea: 0x0279, 0x19eb: 0x0369, 0x19ec: 0x0289, 0x19ed: 0x13d1, 0x19ee: 0x0039, 0x19ef: 0x0ee9,
- 0x19f0: 0x1159, 0x19f1: 0x0ef9, 0x19f2: 0x0f09, 0x19f3: 0x1199, 0x19f4: 0x0f31, 0x19f5: 0x0249,
- 0x19f6: 0x0f41, 0x19f7: 0x0259, 0x19f8: 0x0f51, 0x19f9: 0x0359, 0x19fa: 0x0f61, 0x19fb: 0x0f71,
- 0x19fc: 0x00d9, 0x19fd: 0x0f99, 0x19fe: 0x2039, 0x19ff: 0x0269,
- // Block 0x68, offset 0x1a00
- 0x1a00: 0x01d9, 0x1a01: 0x0fa9, 0x1a02: 0x0fb9, 0x1a03: 0x1089, 0x1a04: 0x0279, 0x1a05: 0x0369,
- 0x1a06: 0x0289, 0x1a07: 0x13d1, 0x1a08: 0x0039, 0x1a09: 0x0ee9, 0x1a0a: 0x1159, 0x1a0b: 0x0ef9,
- 0x1a0c: 0x0f09, 0x1a0d: 0x1199, 0x1a0e: 0x0f31, 0x1a0f: 0x0249, 0x1a10: 0x0f41, 0x1a11: 0x0259,
- 0x1a12: 0x0f51, 0x1a13: 0x0359, 0x1a14: 0x0f61, 0x1a15: 0x0f71, 0x1a16: 0x00d9, 0x1a17: 0x0f99,
- 0x1a18: 0x2039, 0x1a19: 0x0269, 0x1a1a: 0x01d9, 0x1a1b: 0x0fa9, 0x1a1c: 0x0fb9, 0x1a1d: 0x1089,
- 0x1a1e: 0x0279, 0x1a1f: 0x0369, 0x1a20: 0x0289, 0x1a21: 0x13d1, 0x1a22: 0x0039, 0x1a23: 0x0ee9,
- 0x1a24: 0x1159, 0x1a25: 0x0ef9, 0x1a26: 0x0f09, 0x1a27: 0x1199, 0x1a28: 0x0f31, 0x1a29: 0x0249,
- 0x1a2a: 0x0f41, 0x1a2b: 0x0259, 0x1a2c: 0x0f51, 0x1a2d: 0x0359, 0x1a2e: 0x0f61, 0x1a2f: 0x0f71,
- 0x1a30: 0x00d9, 0x1a31: 0x0f99, 0x1a32: 0x2039, 0x1a33: 0x0269, 0x1a34: 0x01d9, 0x1a35: 0x0fa9,
- 0x1a36: 0x0fb9, 0x1a37: 0x1089, 0x1a38: 0x0279, 0x1a39: 0x0369, 0x1a3a: 0x0289, 0x1a3b: 0x13d1,
- 0x1a3c: 0x0039, 0x1a3d: 0x0ee9, 0x1a3e: 0x1159, 0x1a3f: 0x0ef9,
- // Block 0x69, offset 0x1a40
- 0x1a40: 0x0f09, 0x1a41: 0x1199, 0x1a42: 0x0f31, 0x1a43: 0x0249, 0x1a44: 0x0f41, 0x1a45: 0x0259,
- 0x1a46: 0x0f51, 0x1a47: 0x0359, 0x1a48: 0x0f61, 0x1a49: 0x0f71, 0x1a4a: 0x00d9, 0x1a4b: 0x0f99,
- 0x1a4c: 0x2039, 0x1a4d: 0x0269, 0x1a4e: 0x01d9, 0x1a4f: 0x0fa9, 0x1a50: 0x0fb9, 0x1a51: 0x1089,
- 0x1a52: 0x0279, 0x1a53: 0x0369, 0x1a54: 0x0289, 0x1a55: 0x13d1, 0x1a56: 0x0039, 0x1a57: 0x0ee9,
- 0x1a58: 0x1159, 0x1a59: 0x0ef9, 0x1a5a: 0x0f09, 0x1a5b: 0x1199, 0x1a5c: 0x0f31, 0x1a5d: 0x0249,
- 0x1a5e: 0x0f41, 0x1a5f: 0x0259, 0x1a60: 0x0f51, 0x1a61: 0x0359, 0x1a62: 0x0f61, 0x1a63: 0x0f71,
- 0x1a64: 0x00d9, 0x1a65: 0x0f99, 0x1a66: 0x2039, 0x1a67: 0x0269, 0x1a68: 0x01d9, 0x1a69: 0x0fa9,
- 0x1a6a: 0x0fb9, 0x1a6b: 0x1089, 0x1a6c: 0x0279, 0x1a6d: 0x0369, 0x1a6e: 0x0289, 0x1a6f: 0x13d1,
- 0x1a70: 0x0039, 0x1a71: 0x0ee9, 0x1a72: 0x1159, 0x1a73: 0x0ef9, 0x1a74: 0x0f09, 0x1a75: 0x1199,
- 0x1a76: 0x0f31, 0x1a77: 0x0249, 0x1a78: 0x0f41, 0x1a79: 0x0259, 0x1a7a: 0x0f51, 0x1a7b: 0x0359,
- 0x1a7c: 0x0f61, 0x1a7d: 0x0f71, 0x1a7e: 0x00d9, 0x1a7f: 0x0f99,
- // Block 0x6a, offset 0x1a80
- 0x1a80: 0x2039, 0x1a81: 0x0269, 0x1a82: 0x01d9, 0x1a83: 0x0fa9, 0x1a84: 0x0fb9, 0x1a85: 0x1089,
- 0x1a86: 0x0279, 0x1a87: 0x0369, 0x1a88: 0x0289, 0x1a89: 0x13d1, 0x1a8a: 0x0039, 0x1a8b: 0x0ee9,
- 0x1a8c: 0x1159, 0x1a8d: 0x0ef9, 0x1a8e: 0x0f09, 0x1a8f: 0x1199, 0x1a90: 0x0f31, 0x1a91: 0x0249,
- 0x1a92: 0x0f41, 0x1a93: 0x0259, 0x1a94: 0x0f51, 0x1a95: 0x0359, 0x1a96: 0x0f61, 0x1a97: 0x0f71,
- 0x1a98: 0x00d9, 0x1a99: 0x0f99, 0x1a9a: 0x2039, 0x1a9b: 0x0269, 0x1a9c: 0x01d9, 0x1a9d: 0x0fa9,
- 0x1a9e: 0x0fb9, 0x1a9f: 0x1089, 0x1aa0: 0x0279, 0x1aa1: 0x0369, 0x1aa2: 0x0289, 0x1aa3: 0x13d1,
- 0x1aa4: 0xba81, 0x1aa5: 0xba99, 0x1aa6: 0x0040, 0x1aa7: 0x0040, 0x1aa8: 0xbab1, 0x1aa9: 0x1099,
- 0x1aaa: 0x10b1, 0x1aab: 0x10c9, 0x1aac: 0xbac9, 0x1aad: 0xbae1, 0x1aae: 0xbaf9, 0x1aaf: 0x1429,
- 0x1ab0: 0x1a31, 0x1ab1: 0xbb11, 0x1ab2: 0xbb29, 0x1ab3: 0xbb41, 0x1ab4: 0xbb59, 0x1ab5: 0xbb71,
- 0x1ab6: 0xbb89, 0x1ab7: 0x2109, 0x1ab8: 0x1111, 0x1ab9: 0x1429, 0x1aba: 0xbba1, 0x1abb: 0xbbb9,
- 0x1abc: 0xbbd1, 0x1abd: 0x10e1, 0x1abe: 0x10f9, 0x1abf: 0xbbe9,
- // Block 0x6b, offset 0x1ac0
- 0x1ac0: 0x2079, 0x1ac1: 0xbc01, 0x1ac2: 0xbab1, 0x1ac3: 0x1099, 0x1ac4: 0x10b1, 0x1ac5: 0x10c9,
- 0x1ac6: 0xbac9, 0x1ac7: 0xbae1, 0x1ac8: 0xbaf9, 0x1ac9: 0x1429, 0x1aca: 0x1a31, 0x1acb: 0xbb11,
- 0x1acc: 0xbb29, 0x1acd: 0xbb41, 0x1ace: 0xbb59, 0x1acf: 0xbb71, 0x1ad0: 0xbb89, 0x1ad1: 0x2109,
- 0x1ad2: 0x1111, 0x1ad3: 0xbba1, 0x1ad4: 0xbba1, 0x1ad5: 0xbbb9, 0x1ad6: 0xbbd1, 0x1ad7: 0x10e1,
- 0x1ad8: 0x10f9, 0x1ad9: 0xbbe9, 0x1ada: 0x2079, 0x1adb: 0xbc21, 0x1adc: 0xbac9, 0x1add: 0x1429,
- 0x1ade: 0xbb11, 0x1adf: 0x10e1, 0x1ae0: 0x1111, 0x1ae1: 0x2109, 0x1ae2: 0xbab1, 0x1ae3: 0x1099,
- 0x1ae4: 0x10b1, 0x1ae5: 0x10c9, 0x1ae6: 0xbac9, 0x1ae7: 0xbae1, 0x1ae8: 0xbaf9, 0x1ae9: 0x1429,
- 0x1aea: 0x1a31, 0x1aeb: 0xbb11, 0x1aec: 0xbb29, 0x1aed: 0xbb41, 0x1aee: 0xbb59, 0x1aef: 0xbb71,
- 0x1af0: 0xbb89, 0x1af1: 0x2109, 0x1af2: 0x1111, 0x1af3: 0x1429, 0x1af4: 0xbba1, 0x1af5: 0xbbb9,
- 0x1af6: 0xbbd1, 0x1af7: 0x10e1, 0x1af8: 0x10f9, 0x1af9: 0xbbe9, 0x1afa: 0x2079, 0x1afb: 0xbc01,
- 0x1afc: 0xbab1, 0x1afd: 0x1099, 0x1afe: 0x10b1, 0x1aff: 0x10c9,
- // Block 0x6c, offset 0x1b00
- 0x1b00: 0xbac9, 0x1b01: 0xbae1, 0x1b02: 0xbaf9, 0x1b03: 0x1429, 0x1b04: 0x1a31, 0x1b05: 0xbb11,
- 0x1b06: 0xbb29, 0x1b07: 0xbb41, 0x1b08: 0xbb59, 0x1b09: 0xbb71, 0x1b0a: 0xbb89, 0x1b0b: 0x2109,
- 0x1b0c: 0x1111, 0x1b0d: 0xbba1, 0x1b0e: 0xbba1, 0x1b0f: 0xbbb9, 0x1b10: 0xbbd1, 0x1b11: 0x10e1,
- 0x1b12: 0x10f9, 0x1b13: 0xbbe9, 0x1b14: 0x2079, 0x1b15: 0xbc21, 0x1b16: 0xbac9, 0x1b17: 0x1429,
- 0x1b18: 0xbb11, 0x1b19: 0x10e1, 0x1b1a: 0x1111, 0x1b1b: 0x2109, 0x1b1c: 0xbab1, 0x1b1d: 0x1099,
- 0x1b1e: 0x10b1, 0x1b1f: 0x10c9, 0x1b20: 0xbac9, 0x1b21: 0xbae1, 0x1b22: 0xbaf9, 0x1b23: 0x1429,
- 0x1b24: 0x1a31, 0x1b25: 0xbb11, 0x1b26: 0xbb29, 0x1b27: 0xbb41, 0x1b28: 0xbb59, 0x1b29: 0xbb71,
- 0x1b2a: 0xbb89, 0x1b2b: 0x2109, 0x1b2c: 0x1111, 0x1b2d: 0x1429, 0x1b2e: 0xbba1, 0x1b2f: 0xbbb9,
- 0x1b30: 0xbbd1, 0x1b31: 0x10e1, 0x1b32: 0x10f9, 0x1b33: 0xbbe9, 0x1b34: 0x2079, 0x1b35: 0xbc01,
- 0x1b36: 0xbab1, 0x1b37: 0x1099, 0x1b38: 0x10b1, 0x1b39: 0x10c9, 0x1b3a: 0xbac9, 0x1b3b: 0xbae1,
- 0x1b3c: 0xbaf9, 0x1b3d: 0x1429, 0x1b3e: 0x1a31, 0x1b3f: 0xbb11,
- // Block 0x6d, offset 0x1b40
- 0x1b40: 0xbb29, 0x1b41: 0xbb41, 0x1b42: 0xbb59, 0x1b43: 0xbb71, 0x1b44: 0xbb89, 0x1b45: 0x2109,
- 0x1b46: 0x1111, 0x1b47: 0xbba1, 0x1b48: 0xbba1, 0x1b49: 0xbbb9, 0x1b4a: 0xbbd1, 0x1b4b: 0x10e1,
- 0x1b4c: 0x10f9, 0x1b4d: 0xbbe9, 0x1b4e: 0x2079, 0x1b4f: 0xbc21, 0x1b50: 0xbac9, 0x1b51: 0x1429,
- 0x1b52: 0xbb11, 0x1b53: 0x10e1, 0x1b54: 0x1111, 0x1b55: 0x2109, 0x1b56: 0xbab1, 0x1b57: 0x1099,
- 0x1b58: 0x10b1, 0x1b59: 0x10c9, 0x1b5a: 0xbac9, 0x1b5b: 0xbae1, 0x1b5c: 0xbaf9, 0x1b5d: 0x1429,
- 0x1b5e: 0x1a31, 0x1b5f: 0xbb11, 0x1b60: 0xbb29, 0x1b61: 0xbb41, 0x1b62: 0xbb59, 0x1b63: 0xbb71,
- 0x1b64: 0xbb89, 0x1b65: 0x2109, 0x1b66: 0x1111, 0x1b67: 0x1429, 0x1b68: 0xbba1, 0x1b69: 0xbbb9,
- 0x1b6a: 0xbbd1, 0x1b6b: 0x10e1, 0x1b6c: 0x10f9, 0x1b6d: 0xbbe9, 0x1b6e: 0x2079, 0x1b6f: 0xbc01,
- 0x1b70: 0xbab1, 0x1b71: 0x1099, 0x1b72: 0x10b1, 0x1b73: 0x10c9, 0x1b74: 0xbac9, 0x1b75: 0xbae1,
- 0x1b76: 0xbaf9, 0x1b77: 0x1429, 0x1b78: 0x1a31, 0x1b79: 0xbb11, 0x1b7a: 0xbb29, 0x1b7b: 0xbb41,
- 0x1b7c: 0xbb59, 0x1b7d: 0xbb71, 0x1b7e: 0xbb89, 0x1b7f: 0x2109,
- // Block 0x6e, offset 0x1b80
- 0x1b80: 0x1111, 0x1b81: 0xbba1, 0x1b82: 0xbba1, 0x1b83: 0xbbb9, 0x1b84: 0xbbd1, 0x1b85: 0x10e1,
- 0x1b86: 0x10f9, 0x1b87: 0xbbe9, 0x1b88: 0x2079, 0x1b89: 0xbc21, 0x1b8a: 0xbac9, 0x1b8b: 0x1429,
- 0x1b8c: 0xbb11, 0x1b8d: 0x10e1, 0x1b8e: 0x1111, 0x1b8f: 0x2109, 0x1b90: 0xbab1, 0x1b91: 0x1099,
- 0x1b92: 0x10b1, 0x1b93: 0x10c9, 0x1b94: 0xbac9, 0x1b95: 0xbae1, 0x1b96: 0xbaf9, 0x1b97: 0x1429,
- 0x1b98: 0x1a31, 0x1b99: 0xbb11, 0x1b9a: 0xbb29, 0x1b9b: 0xbb41, 0x1b9c: 0xbb59, 0x1b9d: 0xbb71,
- 0x1b9e: 0xbb89, 0x1b9f: 0x2109, 0x1ba0: 0x1111, 0x1ba1: 0x1429, 0x1ba2: 0xbba1, 0x1ba3: 0xbbb9,
- 0x1ba4: 0xbbd1, 0x1ba5: 0x10e1, 0x1ba6: 0x10f9, 0x1ba7: 0xbbe9, 0x1ba8: 0x2079, 0x1ba9: 0xbc01,
- 0x1baa: 0xbab1, 0x1bab: 0x1099, 0x1bac: 0x10b1, 0x1bad: 0x10c9, 0x1bae: 0xbac9, 0x1baf: 0xbae1,
- 0x1bb0: 0xbaf9, 0x1bb1: 0x1429, 0x1bb2: 0x1a31, 0x1bb3: 0xbb11, 0x1bb4: 0xbb29, 0x1bb5: 0xbb41,
- 0x1bb6: 0xbb59, 0x1bb7: 0xbb71, 0x1bb8: 0xbb89, 0x1bb9: 0x2109, 0x1bba: 0x1111, 0x1bbb: 0xbba1,
- 0x1bbc: 0xbba1, 0x1bbd: 0xbbb9, 0x1bbe: 0xbbd1, 0x1bbf: 0x10e1,
- // Block 0x6f, offset 0x1bc0
- 0x1bc0: 0x10f9, 0x1bc1: 0xbbe9, 0x1bc2: 0x2079, 0x1bc3: 0xbc21, 0x1bc4: 0xbac9, 0x1bc5: 0x1429,
- 0x1bc6: 0xbb11, 0x1bc7: 0x10e1, 0x1bc8: 0x1111, 0x1bc9: 0x2109, 0x1bca: 0xbc41, 0x1bcb: 0xbc41,
- 0x1bcc: 0x0040, 0x1bcd: 0x0040, 0x1bce: 0x1f41, 0x1bcf: 0x00c9, 0x1bd0: 0x0069, 0x1bd1: 0x0079,
- 0x1bd2: 0x1f51, 0x1bd3: 0x1f61, 0x1bd4: 0x1f71, 0x1bd5: 0x1f81, 0x1bd6: 0x1f91, 0x1bd7: 0x1fa1,
- 0x1bd8: 0x1f41, 0x1bd9: 0x00c9, 0x1bda: 0x0069, 0x1bdb: 0x0079, 0x1bdc: 0x1f51, 0x1bdd: 0x1f61,
- 0x1bde: 0x1f71, 0x1bdf: 0x1f81, 0x1be0: 0x1f91, 0x1be1: 0x1fa1, 0x1be2: 0x1f41, 0x1be3: 0x00c9,
- 0x1be4: 0x0069, 0x1be5: 0x0079, 0x1be6: 0x1f51, 0x1be7: 0x1f61, 0x1be8: 0x1f71, 0x1be9: 0x1f81,
- 0x1bea: 0x1f91, 0x1beb: 0x1fa1, 0x1bec: 0x1f41, 0x1bed: 0x00c9, 0x1bee: 0x0069, 0x1bef: 0x0079,
- 0x1bf0: 0x1f51, 0x1bf1: 0x1f61, 0x1bf2: 0x1f71, 0x1bf3: 0x1f81, 0x1bf4: 0x1f91, 0x1bf5: 0x1fa1,
- 0x1bf6: 0x1f41, 0x1bf7: 0x00c9, 0x1bf8: 0x0069, 0x1bf9: 0x0079, 0x1bfa: 0x1f51, 0x1bfb: 0x1f61,
- 0x1bfc: 0x1f71, 0x1bfd: 0x1f81, 0x1bfe: 0x1f91, 0x1bff: 0x1fa1,
- // Block 0x70, offset 0x1c00
- 0x1c00: 0xe115, 0x1c01: 0xe115, 0x1c02: 0xe135, 0x1c03: 0xe135, 0x1c04: 0xe115, 0x1c05: 0xe115,
- 0x1c06: 0xe175, 0x1c07: 0xe175, 0x1c08: 0xe115, 0x1c09: 0xe115, 0x1c0a: 0xe135, 0x1c0b: 0xe135,
- 0x1c0c: 0xe115, 0x1c0d: 0xe115, 0x1c0e: 0xe1f5, 0x1c0f: 0xe1f5, 0x1c10: 0xe115, 0x1c11: 0xe115,
- 0x1c12: 0xe135, 0x1c13: 0xe135, 0x1c14: 0xe115, 0x1c15: 0xe115, 0x1c16: 0xe175, 0x1c17: 0xe175,
- 0x1c18: 0xe115, 0x1c19: 0xe115, 0x1c1a: 0xe135, 0x1c1b: 0xe135, 0x1c1c: 0xe115, 0x1c1d: 0xe115,
- 0x1c1e: 0x8b05, 0x1c1f: 0x8b05, 0x1c20: 0x04b5, 0x1c21: 0x04b5, 0x1c22: 0x0a08, 0x1c23: 0x0a08,
- 0x1c24: 0x0a08, 0x1c25: 0x0a08, 0x1c26: 0x0a08, 0x1c27: 0x0a08, 0x1c28: 0x0a08, 0x1c29: 0x0a08,
- 0x1c2a: 0x0a08, 0x1c2b: 0x0a08, 0x1c2c: 0x0a08, 0x1c2d: 0x0a08, 0x1c2e: 0x0a08, 0x1c2f: 0x0a08,
- 0x1c30: 0x0a08, 0x1c31: 0x0a08, 0x1c32: 0x0a08, 0x1c33: 0x0a08, 0x1c34: 0x0a08, 0x1c35: 0x0a08,
- 0x1c36: 0x0a08, 0x1c37: 0x0a08, 0x1c38: 0x0a08, 0x1c39: 0x0a08, 0x1c3a: 0x0a08, 0x1c3b: 0x0a08,
- 0x1c3c: 0x0a08, 0x1c3d: 0x0a08, 0x1c3e: 0x0a08, 0x1c3f: 0x0a08,
- // Block 0x71, offset 0x1c40
- 0x1c40: 0xb189, 0x1c41: 0xb1a1, 0x1c42: 0xb201, 0x1c43: 0xb249, 0x1c44: 0x0040, 0x1c45: 0xb411,
- 0x1c46: 0xb291, 0x1c47: 0xb219, 0x1c48: 0xb309, 0x1c49: 0xb429, 0x1c4a: 0xb399, 0x1c4b: 0xb3b1,
- 0x1c4c: 0xb3c9, 0x1c4d: 0xb3e1, 0x1c4e: 0xb2a9, 0x1c4f: 0xb339, 0x1c50: 0xb369, 0x1c51: 0xb2d9,
- 0x1c52: 0xb381, 0x1c53: 0xb279, 0x1c54: 0xb2c1, 0x1c55: 0xb1d1, 0x1c56: 0xb1e9, 0x1c57: 0xb231,
- 0x1c58: 0xb261, 0x1c59: 0xb2f1, 0x1c5a: 0xb321, 0x1c5b: 0xb351, 0x1c5c: 0xbc59, 0x1c5d: 0x7949,
- 0x1c5e: 0xbc71, 0x1c5f: 0xbc89, 0x1c60: 0x0040, 0x1c61: 0xb1a1, 0x1c62: 0xb201, 0x1c63: 0x0040,
- 0x1c64: 0xb3f9, 0x1c65: 0x0040, 0x1c66: 0x0040, 0x1c67: 0xb219, 0x1c68: 0x0040, 0x1c69: 0xb429,
- 0x1c6a: 0xb399, 0x1c6b: 0xb3b1, 0x1c6c: 0xb3c9, 0x1c6d: 0xb3e1, 0x1c6e: 0xb2a9, 0x1c6f: 0xb339,
- 0x1c70: 0xb369, 0x1c71: 0xb2d9, 0x1c72: 0xb381, 0x1c73: 0x0040, 0x1c74: 0xb2c1, 0x1c75: 0xb1d1,
- 0x1c76: 0xb1e9, 0x1c77: 0xb231, 0x1c78: 0x0040, 0x1c79: 0xb2f1, 0x1c7a: 0x0040, 0x1c7b: 0xb351,
- 0x1c7c: 0x0040, 0x1c7d: 0x0040, 0x1c7e: 0x0040, 0x1c7f: 0x0040,
- // Block 0x72, offset 0x1c80
- 0x1c80: 0x0040, 0x1c81: 0x0040, 0x1c82: 0xb201, 0x1c83: 0x0040, 0x1c84: 0x0040, 0x1c85: 0x0040,
- 0x1c86: 0x0040, 0x1c87: 0xb219, 0x1c88: 0x0040, 0x1c89: 0xb429, 0x1c8a: 0x0040, 0x1c8b: 0xb3b1,
- 0x1c8c: 0x0040, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0x0040, 0x1c91: 0xb2d9,
- 0x1c92: 0xb381, 0x1c93: 0x0040, 0x1c94: 0xb2c1, 0x1c95: 0x0040, 0x1c96: 0x0040, 0x1c97: 0xb231,
- 0x1c98: 0x0040, 0x1c99: 0xb2f1, 0x1c9a: 0x0040, 0x1c9b: 0xb351, 0x1c9c: 0x0040, 0x1c9d: 0x7949,
- 0x1c9e: 0x0040, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040,
- 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0xb309, 0x1ca9: 0xb429,
- 0x1caa: 0xb399, 0x1cab: 0x0040, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339,
- 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1,
- 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0xb321, 0x1cbb: 0xb351,
- 0x1cbc: 0xbc59, 0x1cbd: 0x0040, 0x1cbe: 0xbc71, 0x1cbf: 0x0040,
- // Block 0x73, offset 0x1cc0
- 0x1cc0: 0xb189, 0x1cc1: 0xb1a1, 0x1cc2: 0xb201, 0x1cc3: 0xb249, 0x1cc4: 0xb3f9, 0x1cc5: 0xb411,
- 0x1cc6: 0xb291, 0x1cc7: 0xb219, 0x1cc8: 0xb309, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1,
- 0x1ccc: 0xb3c9, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0xb369, 0x1cd1: 0xb2d9,
- 0x1cd2: 0xb381, 0x1cd3: 0xb279, 0x1cd4: 0xb2c1, 0x1cd5: 0xb1d1, 0x1cd6: 0xb1e9, 0x1cd7: 0xb231,
- 0x1cd8: 0xb261, 0x1cd9: 0xb2f1, 0x1cda: 0xb321, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x0040,
- 0x1cde: 0x0040, 0x1cdf: 0x0040, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0xb249,
- 0x1ce4: 0x0040, 0x1ce5: 0xb411, 0x1ce6: 0xb291, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429,
- 0x1cea: 0x0040, 0x1ceb: 0xb3b1, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339,
- 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0xb279, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1,
- 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0xb261, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351,
- 0x1cfc: 0x0040, 0x1cfd: 0x0040, 0x1cfe: 0x0040, 0x1cff: 0x0040,
- // Block 0x74, offset 0x1d00
- 0x1d00: 0x0040, 0x1d01: 0xbca2, 0x1d02: 0xbcba, 0x1d03: 0xbcd2, 0x1d04: 0xbcea, 0x1d05: 0xbd02,
- 0x1d06: 0xbd1a, 0x1d07: 0xbd32, 0x1d08: 0xbd4a, 0x1d09: 0xbd62, 0x1d0a: 0xbd7a, 0x1d0b: 0x0018,
- 0x1d0c: 0x0018, 0x1d0d: 0x0040, 0x1d0e: 0x0040, 0x1d0f: 0x0040, 0x1d10: 0xbd92, 0x1d11: 0xbdb2,
- 0x1d12: 0xbdd2, 0x1d13: 0xbdf2, 0x1d14: 0xbe12, 0x1d15: 0xbe32, 0x1d16: 0xbe52, 0x1d17: 0xbe72,
- 0x1d18: 0xbe92, 0x1d19: 0xbeb2, 0x1d1a: 0xbed2, 0x1d1b: 0xbef2, 0x1d1c: 0xbf12, 0x1d1d: 0xbf32,
- 0x1d1e: 0xbf52, 0x1d1f: 0xbf72, 0x1d20: 0xbf92, 0x1d21: 0xbfb2, 0x1d22: 0xbfd2, 0x1d23: 0xbff2,
- 0x1d24: 0xc012, 0x1d25: 0xc032, 0x1d26: 0xc052, 0x1d27: 0xc072, 0x1d28: 0xc092, 0x1d29: 0xc0b2,
- 0x1d2a: 0xc0d1, 0x1d2b: 0x1159, 0x1d2c: 0x0269, 0x1d2d: 0x6671, 0x1d2e: 0xc111, 0x1d2f: 0x0040,
- 0x1d30: 0x0039, 0x1d31: 0x0ee9, 0x1d32: 0x1159, 0x1d33: 0x0ef9, 0x1d34: 0x0f09, 0x1d35: 0x1199,
- 0x1d36: 0x0f31, 0x1d37: 0x0249, 0x1d38: 0x0f41, 0x1d39: 0x0259, 0x1d3a: 0x0f51, 0x1d3b: 0x0359,
- 0x1d3c: 0x0f61, 0x1d3d: 0x0f71, 0x1d3e: 0x00d9, 0x1d3f: 0x0f99,
- // Block 0x75, offset 0x1d40
- 0x1d40: 0x2039, 0x1d41: 0x0269, 0x1d42: 0x01d9, 0x1d43: 0x0fa9, 0x1d44: 0x0fb9, 0x1d45: 0x1089,
- 0x1d46: 0x0279, 0x1d47: 0x0369, 0x1d48: 0x0289, 0x1d49: 0x13d1, 0x1d4a: 0xc129, 0x1d4b: 0x65b1,
- 0x1d4c: 0xc141, 0x1d4d: 0x1441, 0x1d4e: 0xc159, 0x1d4f: 0xc179, 0x1d50: 0x0018, 0x1d51: 0x0018,
- 0x1d52: 0x0018, 0x1d53: 0x0018, 0x1d54: 0x0018, 0x1d55: 0x0018, 0x1d56: 0x0018, 0x1d57: 0x0018,
- 0x1d58: 0x0018, 0x1d59: 0x0018, 0x1d5a: 0x0018, 0x1d5b: 0x0018, 0x1d5c: 0x0018, 0x1d5d: 0x0018,
- 0x1d5e: 0x0018, 0x1d5f: 0x0018, 0x1d60: 0x0018, 0x1d61: 0x0018, 0x1d62: 0x0018, 0x1d63: 0x0018,
- 0x1d64: 0x0018, 0x1d65: 0x0018, 0x1d66: 0x0018, 0x1d67: 0x0018, 0x1d68: 0x0018, 0x1d69: 0x0018,
- 0x1d6a: 0xc191, 0x1d6b: 0xc1a9, 0x1d6c: 0x0040, 0x1d6d: 0x0040, 0x1d6e: 0x0040, 0x1d6f: 0x0040,
- 0x1d70: 0x0018, 0x1d71: 0x0018, 0x1d72: 0x0018, 0x1d73: 0x0018, 0x1d74: 0x0018, 0x1d75: 0x0018,
- 0x1d76: 0x0018, 0x1d77: 0x0018, 0x1d78: 0x0018, 0x1d79: 0x0018, 0x1d7a: 0x0018, 0x1d7b: 0x0018,
- 0x1d7c: 0x0018, 0x1d7d: 0x0018, 0x1d7e: 0x0018, 0x1d7f: 0x0018,
- // Block 0x76, offset 0x1d80
- 0x1d80: 0xc1d9, 0x1d81: 0xc211, 0x1d82: 0xc249, 0x1d83: 0x0040, 0x1d84: 0x0040, 0x1d85: 0x0040,
- 0x1d86: 0x0040, 0x1d87: 0x0040, 0x1d88: 0x0040, 0x1d89: 0x0040, 0x1d8a: 0x0040, 0x1d8b: 0x0040,
- 0x1d8c: 0x0040, 0x1d8d: 0x0040, 0x1d8e: 0x0040, 0x1d8f: 0x0040, 0x1d90: 0xc269, 0x1d91: 0xc289,
- 0x1d92: 0xc2a9, 0x1d93: 0xc2c9, 0x1d94: 0xc2e9, 0x1d95: 0xc309, 0x1d96: 0xc329, 0x1d97: 0xc349,
- 0x1d98: 0xc369, 0x1d99: 0xc389, 0x1d9a: 0xc3a9, 0x1d9b: 0xc3c9, 0x1d9c: 0xc3e9, 0x1d9d: 0xc409,
- 0x1d9e: 0xc429, 0x1d9f: 0xc449, 0x1da0: 0xc469, 0x1da1: 0xc489, 0x1da2: 0xc4a9, 0x1da3: 0xc4c9,
- 0x1da4: 0xc4e9, 0x1da5: 0xc509, 0x1da6: 0xc529, 0x1da7: 0xc549, 0x1da8: 0xc569, 0x1da9: 0xc589,
- 0x1daa: 0xc5a9, 0x1dab: 0xc5c9, 0x1dac: 0xc5e9, 0x1dad: 0xc609, 0x1dae: 0xc629, 0x1daf: 0xc649,
- 0x1db0: 0xc669, 0x1db1: 0xc689, 0x1db2: 0xc6a9, 0x1db3: 0xc6c9, 0x1db4: 0xc6e9, 0x1db5: 0xc709,
- 0x1db6: 0xc729, 0x1db7: 0xc749, 0x1db8: 0xc769, 0x1db9: 0xc789, 0x1dba: 0xc7a9, 0x1dbb: 0xc7c9,
- 0x1dbc: 0x0040, 0x1dbd: 0x0040, 0x1dbe: 0x0040, 0x1dbf: 0x0040,
- // Block 0x77, offset 0x1dc0
- 0x1dc0: 0xcaf9, 0x1dc1: 0xcb19, 0x1dc2: 0xcb39, 0x1dc3: 0x8b1d, 0x1dc4: 0xcb59, 0x1dc5: 0xcb79,
- 0x1dc6: 0xcb99, 0x1dc7: 0xcbb9, 0x1dc8: 0xcbd9, 0x1dc9: 0xcbf9, 0x1dca: 0xcc19, 0x1dcb: 0xcc39,
- 0x1dcc: 0xcc59, 0x1dcd: 0x8b3d, 0x1dce: 0xcc79, 0x1dcf: 0xcc99, 0x1dd0: 0xccb9, 0x1dd1: 0xccd9,
- 0x1dd2: 0x8b5d, 0x1dd3: 0xccf9, 0x1dd4: 0xcd19, 0x1dd5: 0xc429, 0x1dd6: 0x8b7d, 0x1dd7: 0xcd39,
- 0x1dd8: 0xcd59, 0x1dd9: 0xcd79, 0x1dda: 0xcd99, 0x1ddb: 0xcdb9, 0x1ddc: 0x8b9d, 0x1ddd: 0xcdd9,
- 0x1dde: 0xcdf9, 0x1ddf: 0xce19, 0x1de0: 0xce39, 0x1de1: 0xce59, 0x1de2: 0xc789, 0x1de3: 0xce79,
- 0x1de4: 0xce99, 0x1de5: 0xceb9, 0x1de6: 0xced9, 0x1de7: 0xcef9, 0x1de8: 0xcf19, 0x1de9: 0xcf39,
- 0x1dea: 0xcf59, 0x1deb: 0xcf79, 0x1dec: 0xcf99, 0x1ded: 0xcfb9, 0x1dee: 0xcfd9, 0x1def: 0xcff9,
- 0x1df0: 0xd019, 0x1df1: 0xd039, 0x1df2: 0xd039, 0x1df3: 0xd039, 0x1df4: 0x8bbd, 0x1df5: 0xd059,
- 0x1df6: 0xd079, 0x1df7: 0xd099, 0x1df8: 0x8bdd, 0x1df9: 0xd0b9, 0x1dfa: 0xd0d9, 0x1dfb: 0xd0f9,
- 0x1dfc: 0xd119, 0x1dfd: 0xd139, 0x1dfe: 0xd159, 0x1dff: 0xd179,
- // Block 0x78, offset 0x1e00
- 0x1e00: 0xd199, 0x1e01: 0xd1b9, 0x1e02: 0xd1d9, 0x1e03: 0xd1f9, 0x1e04: 0xd219, 0x1e05: 0xd239,
- 0x1e06: 0xd239, 0x1e07: 0xd259, 0x1e08: 0xd279, 0x1e09: 0xd299, 0x1e0a: 0xd2b9, 0x1e0b: 0xd2d9,
- 0x1e0c: 0xd2f9, 0x1e0d: 0xd319, 0x1e0e: 0xd339, 0x1e0f: 0xd359, 0x1e10: 0xd379, 0x1e11: 0xd399,
- 0x1e12: 0xd3b9, 0x1e13: 0xd3d9, 0x1e14: 0xd3f9, 0x1e15: 0xd419, 0x1e16: 0xd439, 0x1e17: 0xd459,
- 0x1e18: 0xd479, 0x1e19: 0x8bfd, 0x1e1a: 0xd499, 0x1e1b: 0xd4b9, 0x1e1c: 0xd4d9, 0x1e1d: 0xc309,
- 0x1e1e: 0xd4f9, 0x1e1f: 0xd519, 0x1e20: 0x8c1d, 0x1e21: 0x8c3d, 0x1e22: 0xd539, 0x1e23: 0xd559,
- 0x1e24: 0xd579, 0x1e25: 0xd599, 0x1e26: 0xd5b9, 0x1e27: 0xd5d9, 0x1e28: 0x2040, 0x1e29: 0xd5f9,
- 0x1e2a: 0xd619, 0x1e2b: 0xd619, 0x1e2c: 0x8c5d, 0x1e2d: 0xd639, 0x1e2e: 0xd659, 0x1e2f: 0xd679,
- 0x1e30: 0xd699, 0x1e31: 0x8c7d, 0x1e32: 0xd6b9, 0x1e33: 0xd6d9, 0x1e34: 0x2040, 0x1e35: 0xd6f9,
- 0x1e36: 0xd719, 0x1e37: 0xd739, 0x1e38: 0xd759, 0x1e39: 0xd779, 0x1e3a: 0xd799, 0x1e3b: 0x8c9d,
- 0x1e3c: 0xd7b9, 0x1e3d: 0x8cbd, 0x1e3e: 0xd7d9, 0x1e3f: 0xd7f9,
- // Block 0x79, offset 0x1e40
- 0x1e40: 0xd819, 0x1e41: 0xd839, 0x1e42: 0xd859, 0x1e43: 0xd879, 0x1e44: 0xd899, 0x1e45: 0xd8b9,
- 0x1e46: 0xd8d9, 0x1e47: 0xd8f9, 0x1e48: 0xd919, 0x1e49: 0x8cdd, 0x1e4a: 0xd939, 0x1e4b: 0xd959,
- 0x1e4c: 0xd979, 0x1e4d: 0xd999, 0x1e4e: 0xd9b9, 0x1e4f: 0x8cfd, 0x1e50: 0xd9d9, 0x1e51: 0x8d1d,
- 0x1e52: 0x8d3d, 0x1e53: 0xd9f9, 0x1e54: 0xda19, 0x1e55: 0xda19, 0x1e56: 0xda39, 0x1e57: 0x8d5d,
- 0x1e58: 0x8d7d, 0x1e59: 0xda59, 0x1e5a: 0xda79, 0x1e5b: 0xda99, 0x1e5c: 0xdab9, 0x1e5d: 0xdad9,
- 0x1e5e: 0xdaf9, 0x1e5f: 0xdb19, 0x1e60: 0xdb39, 0x1e61: 0xdb59, 0x1e62: 0xdb79, 0x1e63: 0xdb99,
- 0x1e64: 0x8d9d, 0x1e65: 0xdbb9, 0x1e66: 0xdbd9, 0x1e67: 0xdbf9, 0x1e68: 0xdc19, 0x1e69: 0xdbf9,
- 0x1e6a: 0xdc39, 0x1e6b: 0xdc59, 0x1e6c: 0xdc79, 0x1e6d: 0xdc99, 0x1e6e: 0xdcb9, 0x1e6f: 0xdcd9,
- 0x1e70: 0xdcf9, 0x1e71: 0xdd19, 0x1e72: 0xdd39, 0x1e73: 0xdd59, 0x1e74: 0xdd79, 0x1e75: 0xdd99,
- 0x1e76: 0xddb9, 0x1e77: 0xddd9, 0x1e78: 0x8dbd, 0x1e79: 0xddf9, 0x1e7a: 0xde19, 0x1e7b: 0xde39,
- 0x1e7c: 0xde59, 0x1e7d: 0xde79, 0x1e7e: 0x8ddd, 0x1e7f: 0xde99,
- // Block 0x7a, offset 0x1e80
- 0x1e80: 0xe599, 0x1e81: 0xe5b9, 0x1e82: 0xe5d9, 0x1e83: 0xe5f9, 0x1e84: 0xe619, 0x1e85: 0xe639,
- 0x1e86: 0x8efd, 0x1e87: 0xe659, 0x1e88: 0xe679, 0x1e89: 0xe699, 0x1e8a: 0xe6b9, 0x1e8b: 0xe6d9,
- 0x1e8c: 0xe6f9, 0x1e8d: 0x8f1d, 0x1e8e: 0xe719, 0x1e8f: 0xe739, 0x1e90: 0x8f3d, 0x1e91: 0x8f5d,
- 0x1e92: 0xe759, 0x1e93: 0xe779, 0x1e94: 0xe799, 0x1e95: 0xe7b9, 0x1e96: 0xe7d9, 0x1e97: 0xe7f9,
- 0x1e98: 0xe819, 0x1e99: 0xe839, 0x1e9a: 0xe859, 0x1e9b: 0x8f7d, 0x1e9c: 0xe879, 0x1e9d: 0x8f9d,
- 0x1e9e: 0xe899, 0x1e9f: 0x2040, 0x1ea0: 0xe8b9, 0x1ea1: 0xe8d9, 0x1ea2: 0xe8f9, 0x1ea3: 0x8fbd,
- 0x1ea4: 0xe919, 0x1ea5: 0xe939, 0x1ea6: 0x8fdd, 0x1ea7: 0x8ffd, 0x1ea8: 0xe959, 0x1ea9: 0xe979,
- 0x1eaa: 0xe999, 0x1eab: 0xe9b9, 0x1eac: 0xe9d9, 0x1ead: 0xe9d9, 0x1eae: 0xe9f9, 0x1eaf: 0xea19,
- 0x1eb0: 0xea39, 0x1eb1: 0xea59, 0x1eb2: 0xea79, 0x1eb3: 0xea99, 0x1eb4: 0xeab9, 0x1eb5: 0x901d,
- 0x1eb6: 0xead9, 0x1eb7: 0x903d, 0x1eb8: 0xeaf9, 0x1eb9: 0x905d, 0x1eba: 0xeb19, 0x1ebb: 0x907d,
- 0x1ebc: 0x909d, 0x1ebd: 0x90bd, 0x1ebe: 0xeb39, 0x1ebf: 0xeb59,
- // Block 0x7b, offset 0x1ec0
- 0x1ec0: 0xeb79, 0x1ec1: 0x90dd, 0x1ec2: 0x90fd, 0x1ec3: 0x911d, 0x1ec4: 0x913d, 0x1ec5: 0xeb99,
- 0x1ec6: 0xebb9, 0x1ec7: 0xebb9, 0x1ec8: 0xebd9, 0x1ec9: 0xebf9, 0x1eca: 0xec19, 0x1ecb: 0xec39,
- 0x1ecc: 0xec59, 0x1ecd: 0x915d, 0x1ece: 0xec79, 0x1ecf: 0xec99, 0x1ed0: 0xecb9, 0x1ed1: 0xecd9,
- 0x1ed2: 0x917d, 0x1ed3: 0xecf9, 0x1ed4: 0x919d, 0x1ed5: 0x91bd, 0x1ed6: 0xed19, 0x1ed7: 0xed39,
- 0x1ed8: 0xed59, 0x1ed9: 0xed79, 0x1eda: 0xed99, 0x1edb: 0xedb9, 0x1edc: 0x91dd, 0x1edd: 0x91fd,
- 0x1ede: 0x921d, 0x1edf: 0x2040, 0x1ee0: 0xedd9, 0x1ee1: 0x923d, 0x1ee2: 0xedf9, 0x1ee3: 0xee19,
- 0x1ee4: 0xee39, 0x1ee5: 0x925d, 0x1ee6: 0xee59, 0x1ee7: 0xee79, 0x1ee8: 0xee99, 0x1ee9: 0xeeb9,
- 0x1eea: 0xeed9, 0x1eeb: 0x927d, 0x1eec: 0xeef9, 0x1eed: 0xef19, 0x1eee: 0xef39, 0x1eef: 0xef59,
- 0x1ef0: 0xef79, 0x1ef1: 0xef99, 0x1ef2: 0x929d, 0x1ef3: 0x92bd, 0x1ef4: 0xefb9, 0x1ef5: 0x92dd,
- 0x1ef6: 0xefd9, 0x1ef7: 0x92fd, 0x1ef8: 0xeff9, 0x1ef9: 0xf019, 0x1efa: 0xf039, 0x1efb: 0x931d,
- 0x1efc: 0x933d, 0x1efd: 0xf059, 0x1efe: 0x935d, 0x1eff: 0xf079,
- // Block 0x7c, offset 0x1f00
- 0x1f00: 0xf6b9, 0x1f01: 0xf6d9, 0x1f02: 0xf6f9, 0x1f03: 0xf719, 0x1f04: 0xf739, 0x1f05: 0x951d,
- 0x1f06: 0xf759, 0x1f07: 0xf779, 0x1f08: 0xf799, 0x1f09: 0xf7b9, 0x1f0a: 0xf7d9, 0x1f0b: 0x953d,
- 0x1f0c: 0x955d, 0x1f0d: 0xf7f9, 0x1f0e: 0xf819, 0x1f0f: 0xf839, 0x1f10: 0xf859, 0x1f11: 0xf879,
- 0x1f12: 0xf899, 0x1f13: 0x957d, 0x1f14: 0xf8b9, 0x1f15: 0xf8d9, 0x1f16: 0xf8f9, 0x1f17: 0xf919,
- 0x1f18: 0x959d, 0x1f19: 0x95bd, 0x1f1a: 0xf939, 0x1f1b: 0xf959, 0x1f1c: 0xf979, 0x1f1d: 0x95dd,
- 0x1f1e: 0xf999, 0x1f1f: 0xf9b9, 0x1f20: 0x6815, 0x1f21: 0x95fd, 0x1f22: 0xf9d9, 0x1f23: 0xf9f9,
- 0x1f24: 0xfa19, 0x1f25: 0x961d, 0x1f26: 0xfa39, 0x1f27: 0xfa59, 0x1f28: 0xfa79, 0x1f29: 0xfa99,
- 0x1f2a: 0xfab9, 0x1f2b: 0xfad9, 0x1f2c: 0xfaf9, 0x1f2d: 0x963d, 0x1f2e: 0xfb19, 0x1f2f: 0xfb39,
- 0x1f30: 0xfb59, 0x1f31: 0x965d, 0x1f32: 0xfb79, 0x1f33: 0xfb99, 0x1f34: 0xfbb9, 0x1f35: 0xfbd9,
- 0x1f36: 0x7b35, 0x1f37: 0x967d, 0x1f38: 0xfbf9, 0x1f39: 0xfc19, 0x1f3a: 0xfc39, 0x1f3b: 0x969d,
- 0x1f3c: 0xfc59, 0x1f3d: 0x96bd, 0x1f3e: 0xfc79, 0x1f3f: 0xfc79,
- // Block 0x7d, offset 0x1f40
- 0x1f40: 0xfc99, 0x1f41: 0x96dd, 0x1f42: 0xfcb9, 0x1f43: 0xfcd9, 0x1f44: 0xfcf9, 0x1f45: 0xfd19,
- 0x1f46: 0xfd39, 0x1f47: 0xfd59, 0x1f48: 0xfd79, 0x1f49: 0x96fd, 0x1f4a: 0xfd99, 0x1f4b: 0xfdb9,
- 0x1f4c: 0xfdd9, 0x1f4d: 0xfdf9, 0x1f4e: 0xfe19, 0x1f4f: 0xfe39, 0x1f50: 0x971d, 0x1f51: 0xfe59,
- 0x1f52: 0x973d, 0x1f53: 0x975d, 0x1f54: 0x977d, 0x1f55: 0xfe79, 0x1f56: 0xfe99, 0x1f57: 0xfeb9,
- 0x1f58: 0xfed9, 0x1f59: 0xfef9, 0x1f5a: 0xff19, 0x1f5b: 0xff39, 0x1f5c: 0xff59, 0x1f5d: 0x979d,
- 0x1f5e: 0x0040, 0x1f5f: 0x0040, 0x1f60: 0x0040, 0x1f61: 0x0040, 0x1f62: 0x0040, 0x1f63: 0x0040,
- 0x1f64: 0x0040, 0x1f65: 0x0040, 0x1f66: 0x0040, 0x1f67: 0x0040, 0x1f68: 0x0040, 0x1f69: 0x0040,
- 0x1f6a: 0x0040, 0x1f6b: 0x0040, 0x1f6c: 0x0040, 0x1f6d: 0x0040, 0x1f6e: 0x0040, 0x1f6f: 0x0040,
- 0x1f70: 0x0040, 0x1f71: 0x0040, 0x1f72: 0x0040, 0x1f73: 0x0040, 0x1f74: 0x0040, 0x1f75: 0x0040,
- 0x1f76: 0x0040, 0x1f77: 0x0040, 0x1f78: 0x0040, 0x1f79: 0x0040, 0x1f7a: 0x0040, 0x1f7b: 0x0040,
- 0x1f7c: 0x0040, 0x1f7d: 0x0040, 0x1f7e: 0x0040, 0x1f7f: 0x0040,
-}
-
-// idnaIndex: 35 blocks, 2240 entries, 4480 bytes
-// Block 0 is the zero block.
-var idnaIndex = [2240]uint16{
- // Block 0x0, offset 0x0
- // Block 0x1, offset 0x40
- // Block 0x2, offset 0x80
- // Block 0x3, offset 0xc0
- 0xc2: 0x01, 0xc3: 0x7c, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,
- 0xc8: 0x06, 0xc9: 0x7d, 0xca: 0x7e, 0xcb: 0x07, 0xcc: 0x7f, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,
- 0xd0: 0x80, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x81, 0xd6: 0x82, 0xd7: 0x83,
- 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x84, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x85, 0xde: 0x86, 0xdf: 0x87,
- 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,
- 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c,
- 0xf0: 0x1c, 0xf1: 0x1d, 0xf2: 0x1d, 0xf3: 0x1f, 0xf4: 0x20,
- // Block 0x4, offset 0x100
- 0x120: 0x88, 0x121: 0x89, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x13, 0x126: 0x14, 0x127: 0x15,
- 0x128: 0x16, 0x129: 0x17, 0x12a: 0x18, 0x12b: 0x19, 0x12c: 0x1a, 0x12d: 0x1b, 0x12e: 0x1c, 0x12f: 0x8d,
- 0x130: 0x8e, 0x131: 0x1d, 0x132: 0x1e, 0x133: 0x1f, 0x134: 0x8f, 0x135: 0x20, 0x136: 0x90, 0x137: 0x91,
- 0x138: 0x92, 0x139: 0x93, 0x13a: 0x21, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x22, 0x13e: 0x23, 0x13f: 0x96,
- // Block 0x5, offset 0x140
- 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e,
- 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6,
- 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f,
- 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae,
- 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6,
- 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe,
- 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x24, 0x175: 0x25, 0x176: 0x26, 0x177: 0xc3,
- 0x178: 0x27, 0x179: 0x27, 0x17a: 0x28, 0x17b: 0x27, 0x17c: 0xc4, 0x17d: 0x29, 0x17e: 0x2a, 0x17f: 0x2b,
- // Block 0x6, offset 0x180
- 0x180: 0x2c, 0x181: 0x2d, 0x182: 0x2e, 0x183: 0xc5, 0x184: 0x2f, 0x185: 0x30, 0x186: 0xc6, 0x187: 0x9b,
- 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0xca,
- 0x190: 0xcb, 0x191: 0x31, 0x192: 0x32, 0x193: 0x33, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b,
- 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b,
- 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b,
- 0x1a8: 0xcc, 0x1a9: 0xcd, 0x1aa: 0x9b, 0x1ab: 0xce, 0x1ac: 0x9b, 0x1ad: 0xcf, 0x1ae: 0xd0, 0x1af: 0xd1,
- 0x1b0: 0xd2, 0x1b1: 0x34, 0x1b2: 0x27, 0x1b3: 0x35, 0x1b4: 0xd3, 0x1b5: 0xd4, 0x1b6: 0xd5, 0x1b7: 0xd6,
- 0x1b8: 0xd7, 0x1b9: 0xd8, 0x1ba: 0xd9, 0x1bb: 0xda, 0x1bc: 0xdb, 0x1bd: 0xdc, 0x1be: 0xdd, 0x1bf: 0x36,
- // Block 0x7, offset 0x1c0
- 0x1c0: 0x37, 0x1c1: 0xde, 0x1c2: 0xdf, 0x1c3: 0xe0, 0x1c4: 0xe1, 0x1c5: 0x38, 0x1c6: 0x39, 0x1c7: 0xe2,
- 0x1c8: 0xe3, 0x1c9: 0x3a, 0x1ca: 0x3b, 0x1cb: 0x3c, 0x1cc: 0x3d, 0x1cd: 0x3e, 0x1ce: 0x3f, 0x1cf: 0x40,
- 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f,
- 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f,
- 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f,
- 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f,
- 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f,
- 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f,
- // Block 0x8, offset 0x200
- 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f,
- 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f,
- 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f,
- 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f,
- 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f,
- 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f,
- 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b,
- 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f,
- // Block 0x9, offset 0x240
- 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f,
- 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f,
- 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f,
- 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f,
- 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f,
- 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f,
- 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f,
- 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f,
- // Block 0xa, offset 0x280
- 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f,
- 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f,
- 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f,
- 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f,
- 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f,
- 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f,
- 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f,
- 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe4,
- // Block 0xb, offset 0x2c0
- 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f,
- 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f,
- 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe5, 0x2d3: 0xe6, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f,
- 0x2d8: 0xe7, 0x2d9: 0x41, 0x2da: 0x42, 0x2db: 0xe8, 0x2dc: 0x43, 0x2dd: 0x44, 0x2de: 0x45, 0x2df: 0xe9,
- 0x2e0: 0xea, 0x2e1: 0xeb, 0x2e2: 0xec, 0x2e3: 0xed, 0x2e4: 0xee, 0x2e5: 0xef, 0x2e6: 0xf0, 0x2e7: 0xf1,
- 0x2e8: 0xf2, 0x2e9: 0xf3, 0x2ea: 0xf4, 0x2eb: 0xf5, 0x2ec: 0xf6, 0x2ed: 0xf7, 0x2ee: 0xf8, 0x2ef: 0xf9,
- 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f,
- 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f,
- // Block 0xc, offset 0x300
- 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f,
- 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f,
- 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f,
- 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xfa, 0x31f: 0xfb,
- // Block 0xd, offset 0x340
- 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba,
- 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba,
- 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba,
- 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba,
- 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba,
- 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba,
- 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba,
- 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba,
- // Block 0xe, offset 0x380
- 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba,
- 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba,
- 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba,
- 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba,
- 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfc, 0x3a5: 0xfd, 0x3a6: 0xfe, 0x3a7: 0xff,
- 0x3a8: 0x46, 0x3a9: 0x100, 0x3aa: 0x101, 0x3ab: 0x47, 0x3ac: 0x48, 0x3ad: 0x49, 0x3ae: 0x4a, 0x3af: 0x4b,
- 0x3b0: 0x102, 0x3b1: 0x4c, 0x3b2: 0x4d, 0x3b3: 0x4e, 0x3b4: 0x4f, 0x3b5: 0x50, 0x3b6: 0x103, 0x3b7: 0x51,
- 0x3b8: 0x52, 0x3b9: 0x53, 0x3ba: 0x54, 0x3bb: 0x55, 0x3bc: 0x56, 0x3bd: 0x57, 0x3be: 0x58, 0x3bf: 0x59,
- // Block 0xf, offset 0x3c0
- 0x3c0: 0x104, 0x3c1: 0x105, 0x3c2: 0x9f, 0x3c3: 0x106, 0x3c4: 0x107, 0x3c5: 0x9b, 0x3c6: 0x108, 0x3c7: 0x109,
- 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x10a, 0x3cb: 0x10b, 0x3cc: 0x10c, 0x3cd: 0x10d, 0x3ce: 0x10e, 0x3cf: 0x10f,
- 0x3d0: 0x110, 0x3d1: 0x9f, 0x3d2: 0x111, 0x3d3: 0x112, 0x3d4: 0x113, 0x3d5: 0x114, 0x3d6: 0xba, 0x3d7: 0xba,
- 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x115, 0x3dd: 0x116, 0x3de: 0xba, 0x3df: 0xba,
- 0x3e0: 0x117, 0x3e1: 0x118, 0x3e2: 0x119, 0x3e3: 0x11a, 0x3e4: 0x11b, 0x3e5: 0xba, 0x3e6: 0x11c, 0x3e7: 0x11d,
- 0x3e8: 0x11e, 0x3e9: 0x11f, 0x3ea: 0x120, 0x3eb: 0x5a, 0x3ec: 0x121, 0x3ed: 0x122, 0x3ee: 0x5b, 0x3ef: 0xba,
- 0x3f0: 0x123, 0x3f1: 0x124, 0x3f2: 0x125, 0x3f3: 0x126, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba,
- 0x3f8: 0xba, 0x3f9: 0x127, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba,
- // Block 0x10, offset 0x400
- 0x400: 0x128, 0x401: 0x129, 0x402: 0x12a, 0x403: 0x12b, 0x404: 0x12c, 0x405: 0x12d, 0x406: 0x12e, 0x407: 0x12f,
- 0x408: 0x130, 0x409: 0xba, 0x40a: 0x131, 0x40b: 0x132, 0x40c: 0x5c, 0x40d: 0x5d, 0x40e: 0xba, 0x40f: 0xba,
- 0x410: 0x133, 0x411: 0x134, 0x412: 0x135, 0x413: 0x136, 0x414: 0xba, 0x415: 0xba, 0x416: 0x137, 0x417: 0x138,
- 0x418: 0x139, 0x419: 0x13a, 0x41a: 0x13b, 0x41b: 0x13c, 0x41c: 0x13d, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba,
- 0x420: 0xba, 0x421: 0xba, 0x422: 0x13e, 0x423: 0x13f, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba,
- 0x428: 0xba, 0x429: 0xba, 0x42a: 0xba, 0x42b: 0x140, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba,
- 0x430: 0x141, 0x431: 0x142, 0x432: 0x143, 0x433: 0xba, 0x434: 0xba, 0x435: 0xba, 0x436: 0xba, 0x437: 0xba,
- 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba,
- // Block 0x11, offset 0x440
- 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f,
- 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x144, 0x44f: 0xba,
- 0x450: 0x9b, 0x451: 0x145, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x146, 0x456: 0xba, 0x457: 0xba,
- 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba,
- 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba,
- 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba,
- 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba,
- 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba,
- // Block 0x12, offset 0x480
- 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f,
- 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f,
- 0x490: 0x147, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba,
- 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba,
- 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba,
- 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba,
- 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba,
- 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba,
- // Block 0x13, offset 0x4c0
- 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba,
- 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba,
- 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f,
- 0x4d8: 0x9f, 0x4d9: 0x148, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba,
- 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba,
- 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba,
- 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba,
- 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba,
- // Block 0x14, offset 0x500
- 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba,
- 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba,
- 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba,
- 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba,
- 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f,
- 0x528: 0x140, 0x529: 0x149, 0x52a: 0xba, 0x52b: 0x14a, 0x52c: 0x14b, 0x52d: 0x14c, 0x52e: 0x14d, 0x52f: 0xba,
- 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba,
- 0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x14e, 0x53e: 0x14f, 0x53f: 0x150,
- // Block 0x15, offset 0x540
- 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f,
- 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f,
- 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f,
- 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x151,
- 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f,
- 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x152, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba,
- 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba,
- 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba,
- // Block 0x16, offset 0x580
- 0x580: 0x153, 0x581: 0xba, 0x582: 0xba, 0x583: 0xba, 0x584: 0xba, 0x585: 0xba, 0x586: 0xba, 0x587: 0xba,
- 0x588: 0xba, 0x589: 0xba, 0x58a: 0xba, 0x58b: 0xba, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba,
- 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba,
- 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba,
- 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba,
- 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba,
- 0x5b0: 0x9f, 0x5b1: 0x154, 0x5b2: 0x155, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba,
- 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba,
- // Block 0x17, offset 0x5c0
- 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x156, 0x5c4: 0x157, 0x5c5: 0x158, 0x5c6: 0x159, 0x5c7: 0x15a,
- 0x5c8: 0x9b, 0x5c9: 0x15b, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x15c, 0x5ce: 0xba, 0x5cf: 0xba,
- 0x5d0: 0x5e, 0x5d1: 0x5f, 0x5d2: 0x60, 0x5d3: 0x61, 0x5d4: 0x62, 0x5d5: 0x63, 0x5d6: 0x64, 0x5d7: 0x65,
- 0x5d8: 0x66, 0x5d9: 0x67, 0x5da: 0x68, 0x5db: 0x69, 0x5dc: 0x6a, 0x5dd: 0x6b, 0x5de: 0x6c, 0x5df: 0x6d,
- 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b,
- 0x5e8: 0x15d, 0x5e9: 0x15e, 0x5ea: 0x15f, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba,
- 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba,
- 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba,
- // Block 0x18, offset 0x600
- 0x600: 0x160, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba,
- 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba,
- 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba,
- 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba,
- 0x620: 0x123, 0x621: 0x123, 0x622: 0x123, 0x623: 0x161, 0x624: 0x6e, 0x625: 0x162, 0x626: 0xba, 0x627: 0xba,
- 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba,
- 0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba,
- 0x638: 0x6f, 0x639: 0x70, 0x63a: 0x71, 0x63b: 0x163, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba,
- // Block 0x19, offset 0x640
- 0x640: 0x164, 0x641: 0x9b, 0x642: 0x165, 0x643: 0x166, 0x644: 0x72, 0x645: 0x73, 0x646: 0x167, 0x647: 0x168,
- 0x648: 0x74, 0x649: 0x169, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b,
- 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b,
- 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x16a, 0x65c: 0x9b, 0x65d: 0x16b, 0x65e: 0x9b, 0x65f: 0x16c,
- 0x660: 0x16d, 0x661: 0x16e, 0x662: 0x16f, 0x663: 0xba, 0x664: 0x170, 0x665: 0x171, 0x666: 0x172, 0x667: 0x173,
- 0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba,
- 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba,
- 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba,
- // Block 0x1a, offset 0x680
- 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f,
- 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f,
- 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f,
- 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x174, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f,
- 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f,
- 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f,
- 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f,
- 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f,
- // Block 0x1b, offset 0x6c0
- 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f,
- 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f,
- 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f,
- 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x175, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f,
- 0x6e0: 0x176, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f,
- 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f,
- 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f,
- 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f,
- // Block 0x1c, offset 0x700
- 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f,
- 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f,
- 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f,
- 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f,
- 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f,
- 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f,
- 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f,
- 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x177, 0x73b: 0xba, 0x73c: 0xba, 0x73d: 0xba, 0x73e: 0xba, 0x73f: 0xba,
- // Block 0x1d, offset 0x740
- 0x740: 0xba, 0x741: 0xba, 0x742: 0xba, 0x743: 0xba, 0x744: 0xba, 0x745: 0xba, 0x746: 0xba, 0x747: 0xba,
- 0x748: 0xba, 0x749: 0xba, 0x74a: 0xba, 0x74b: 0xba, 0x74c: 0xba, 0x74d: 0xba, 0x74e: 0xba, 0x74f: 0xba,
- 0x750: 0xba, 0x751: 0xba, 0x752: 0xba, 0x753: 0xba, 0x754: 0xba, 0x755: 0xba, 0x756: 0xba, 0x757: 0xba,
- 0x758: 0xba, 0x759: 0xba, 0x75a: 0xba, 0x75b: 0xba, 0x75c: 0xba, 0x75d: 0xba, 0x75e: 0xba, 0x75f: 0xba,
- 0x760: 0x75, 0x761: 0x76, 0x762: 0x77, 0x763: 0x178, 0x764: 0x78, 0x765: 0x79, 0x766: 0x179, 0x767: 0x7a,
- 0x768: 0x7b, 0x769: 0xba, 0x76a: 0xba, 0x76b: 0xba, 0x76c: 0xba, 0x76d: 0xba, 0x76e: 0xba, 0x76f: 0xba,
- 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba,
- 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba,
- // Block 0x1e, offset 0x780
- 0x790: 0x0d, 0x791: 0x0e, 0x792: 0x0f, 0x793: 0x10, 0x794: 0x11, 0x795: 0x0b, 0x796: 0x12, 0x797: 0x07,
- 0x798: 0x13, 0x799: 0x0b, 0x79a: 0x0b, 0x79b: 0x14, 0x79c: 0x0b, 0x79d: 0x15, 0x79e: 0x16, 0x79f: 0x17,
- 0x7a0: 0x07, 0x7a1: 0x07, 0x7a2: 0x07, 0x7a3: 0x07, 0x7a4: 0x07, 0x7a5: 0x07, 0x7a6: 0x07, 0x7a7: 0x07,
- 0x7a8: 0x07, 0x7a9: 0x07, 0x7aa: 0x18, 0x7ab: 0x19, 0x7ac: 0x1a, 0x7ad: 0x0b, 0x7ae: 0x0b, 0x7af: 0x1b,
- 0x7b0: 0x0b, 0x7b1: 0x0b, 0x7b2: 0x0b, 0x7b3: 0x0b, 0x7b4: 0x0b, 0x7b5: 0x0b, 0x7b6: 0x0b, 0x7b7: 0x0b,
- 0x7b8: 0x0b, 0x7b9: 0x0b, 0x7ba: 0x0b, 0x7bb: 0x0b, 0x7bc: 0x0b, 0x7bd: 0x0b, 0x7be: 0x0b, 0x7bf: 0x0b,
- // Block 0x1f, offset 0x7c0
- 0x7c0: 0x0b, 0x7c1: 0x0b, 0x7c2: 0x0b, 0x7c3: 0x0b, 0x7c4: 0x0b, 0x7c5: 0x0b, 0x7c6: 0x0b, 0x7c7: 0x0b,
- 0x7c8: 0x0b, 0x7c9: 0x0b, 0x7ca: 0x0b, 0x7cb: 0x0b, 0x7cc: 0x0b, 0x7cd: 0x0b, 0x7ce: 0x0b, 0x7cf: 0x0b,
- 0x7d0: 0x0b, 0x7d1: 0x0b, 0x7d2: 0x0b, 0x7d3: 0x0b, 0x7d4: 0x0b, 0x7d5: 0x0b, 0x7d6: 0x0b, 0x7d7: 0x0b,
- 0x7d8: 0x0b, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x0b, 0x7dc: 0x0b, 0x7dd: 0x0b, 0x7de: 0x0b, 0x7df: 0x0b,
- 0x7e0: 0x0b, 0x7e1: 0x0b, 0x7e2: 0x0b, 0x7e3: 0x0b, 0x7e4: 0x0b, 0x7e5: 0x0b, 0x7e6: 0x0b, 0x7e7: 0x0b,
- 0x7e8: 0x0b, 0x7e9: 0x0b, 0x7ea: 0x0b, 0x7eb: 0x0b, 0x7ec: 0x0b, 0x7ed: 0x0b, 0x7ee: 0x0b, 0x7ef: 0x0b,
- 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b,
- 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b,
- // Block 0x20, offset 0x800
- 0x800: 0x17a, 0x801: 0x17b, 0x802: 0xba, 0x803: 0xba, 0x804: 0x17c, 0x805: 0x17c, 0x806: 0x17c, 0x807: 0x17d,
- 0x808: 0xba, 0x809: 0xba, 0x80a: 0xba, 0x80b: 0xba, 0x80c: 0xba, 0x80d: 0xba, 0x80e: 0xba, 0x80f: 0xba,
- 0x810: 0xba, 0x811: 0xba, 0x812: 0xba, 0x813: 0xba, 0x814: 0xba, 0x815: 0xba, 0x816: 0xba, 0x817: 0xba,
- 0x818: 0xba, 0x819: 0xba, 0x81a: 0xba, 0x81b: 0xba, 0x81c: 0xba, 0x81d: 0xba, 0x81e: 0xba, 0x81f: 0xba,
- 0x820: 0xba, 0x821: 0xba, 0x822: 0xba, 0x823: 0xba, 0x824: 0xba, 0x825: 0xba, 0x826: 0xba, 0x827: 0xba,
- 0x828: 0xba, 0x829: 0xba, 0x82a: 0xba, 0x82b: 0xba, 0x82c: 0xba, 0x82d: 0xba, 0x82e: 0xba, 0x82f: 0xba,
- 0x830: 0xba, 0x831: 0xba, 0x832: 0xba, 0x833: 0xba, 0x834: 0xba, 0x835: 0xba, 0x836: 0xba, 0x837: 0xba,
- 0x838: 0xba, 0x839: 0xba, 0x83a: 0xba, 0x83b: 0xba, 0x83c: 0xba, 0x83d: 0xba, 0x83e: 0xba, 0x83f: 0xba,
- // Block 0x21, offset 0x840
- 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b,
- 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b,
- 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b,
- 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b,
- 0x860: 0x1e, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b,
- 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b,
- 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b,
- 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b,
- // Block 0x22, offset 0x880
- 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b,
- 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b,
-}
-
-// idnaSparseOffset: 258 entries, 516 bytes
-var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x93, 0x98, 0xa1, 0xb1, 0xbf, 0xcc, 0xd8, 0xe9, 0xf3, 0xfa, 0x107, 0x118, 0x11f, 0x12a, 0x139, 0x147, 0x151, 0x153, 0x158, 0x15b, 0x15e, 0x160, 0x16c, 0x177, 0x17f, 0x185, 0x18b, 0x190, 0x195, 0x198, 0x19c, 0x1a2, 0x1a7, 0x1b3, 0x1bd, 0x1c3, 0x1d4, 0x1de, 0x1e1, 0x1e9, 0x1ec, 0x1f9, 0x201, 0x205, 0x20c, 0x214, 0x224, 0x230, 0x232, 0x23c, 0x248, 0x254, 0x260, 0x268, 0x26d, 0x277, 0x288, 0x28c, 0x297, 0x29b, 0x2a4, 0x2ac, 0x2b2, 0x2b7, 0x2ba, 0x2bd, 0x2c1, 0x2c7, 0x2cb, 0x2cf, 0x2d5, 0x2dc, 0x2e2, 0x2ea, 0x2f1, 0x2fc, 0x306, 0x30a, 0x30d, 0x313, 0x317, 0x319, 0x31c, 0x31e, 0x321, 0x32b, 0x32e, 0x33d, 0x341, 0x346, 0x349, 0x34d, 0x352, 0x357, 0x35d, 0x363, 0x372, 0x378, 0x37c, 0x38b, 0x390, 0x398, 0x3a2, 0x3ad, 0x3b5, 0x3c6, 0x3cf, 0x3df, 0x3ec, 0x3f6, 0x3fb, 0x408, 0x40c, 0x411, 0x413, 0x417, 0x419, 0x41d, 0x426, 0x42c, 0x430, 0x440, 0x44a, 0x44f, 0x452, 0x458, 0x45f, 0x464, 0x468, 0x46e, 0x473, 0x47c, 0x481, 0x487, 0x48e, 0x495, 0x49c, 0x4a0, 0x4a5, 0x4a8, 0x4ad, 0x4b9, 0x4bf, 0x4c4, 0x4cb, 0x4d3, 0x4d8, 0x4dc, 0x4ec, 0x4f3, 0x4f7, 0x4fb, 0x502, 0x504, 0x507, 0x50a, 0x50e, 0x512, 0x518, 0x521, 0x52d, 0x534, 0x53d, 0x545, 0x54c, 0x55a, 0x567, 0x574, 0x57d, 0x581, 0x58f, 0x597, 0x5a2, 0x5ab, 0x5b1, 0x5b9, 0x5c2, 0x5cc, 0x5cf, 0x5db, 0x5de, 0x5e3, 0x5e6, 0x5f0, 0x5f9, 0x605, 0x608, 0x60d, 0x610, 0x613, 0x616, 0x61d, 0x624, 0x628, 0x633, 0x636, 0x63c, 0x641, 0x645, 0x648, 0x64b, 0x64e, 0x653, 0x65d, 0x660, 0x664, 0x673, 0x67f, 0x683, 0x688, 0x68d, 0x691, 0x696, 0x69f, 0x6aa, 0x6b0, 0x6b8, 0x6bc, 0x6c0, 0x6c6, 0x6cc, 0x6d1, 0x6d4, 0x6e2, 0x6e9, 0x6ec, 0x6ef, 0x6f3, 0x6f9, 0x6fe, 0x708, 0x70d, 0x710, 0x713, 0x716, 0x719, 0x71d, 0x720, 0x730, 0x741, 0x746, 0x748, 0x74a}
-
-// idnaSparseValues: 1869 entries, 7476 bytes
-var idnaSparseValues = [1869]valueRange{
- // Block 0x0, offset 0x0
- {value: 0x0000, lo: 0x07},
- {value: 0xe105, lo: 0x80, hi: 0x96},
- {value: 0x0018, lo: 0x97, hi: 0x97},
- {value: 0xe105, lo: 0x98, hi: 0x9e},
- {value: 0x001f, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbf},
- // Block 0x1, offset 0x8
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0xe01d, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0335, lo: 0x83, hi: 0x83},
- {value: 0x034d, lo: 0x84, hi: 0x84},
- {value: 0x0365, lo: 0x85, hi: 0x85},
- {value: 0xe00d, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0xe00d, lo: 0x88, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x89},
- {value: 0xe00d, lo: 0x8a, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe00d, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0x8d},
- {value: 0xe00d, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0xbf},
- // Block 0x2, offset 0x19
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x0249, lo: 0xb0, hi: 0xb0},
- {value: 0x037d, lo: 0xb1, hi: 0xb1},
- {value: 0x0259, lo: 0xb2, hi: 0xb2},
- {value: 0x0269, lo: 0xb3, hi: 0xb3},
- {value: 0x034d, lo: 0xb4, hi: 0xb4},
- {value: 0x0395, lo: 0xb5, hi: 0xb5},
- {value: 0xe1bd, lo: 0xb6, hi: 0xb6},
- {value: 0x0279, lo: 0xb7, hi: 0xb7},
- {value: 0x0289, lo: 0xb8, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbf},
- // Block 0x3, offset 0x25
- {value: 0x0000, lo: 0x01},
- {value: 0x3308, lo: 0x80, hi: 0xbf},
- // Block 0x4, offset 0x27
- {value: 0x0000, lo: 0x04},
- {value: 0x03f5, lo: 0x80, hi: 0x8f},
- {value: 0xe105, lo: 0x90, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x5, offset 0x2c
- {value: 0x0000, lo: 0x07},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x0545, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x0008, lo: 0x99, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xbf},
- // Block 0x6, offset 0x34
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0401, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x88},
- {value: 0x0018, lo: 0x89, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x3308, lo: 0x91, hi: 0xbd},
- {value: 0x0818, lo: 0xbe, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x7, offset 0x3f
- {value: 0x0000, lo: 0x0b},
- {value: 0x0818, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x82},
- {value: 0x0818, lo: 0x83, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x85},
- {value: 0x0818, lo: 0x86, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0808, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x8, offset 0x4b
- {value: 0x0000, lo: 0x03},
- {value: 0x0a08, lo: 0x80, hi: 0x87},
- {value: 0x0c08, lo: 0x88, hi: 0x99},
- {value: 0x0a08, lo: 0x9a, hi: 0xbf},
- // Block 0x9, offset 0x4f
- {value: 0x0000, lo: 0x0e},
- {value: 0x3308, lo: 0x80, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0c08, lo: 0x8d, hi: 0x8d},
- {value: 0x0a08, lo: 0x8e, hi: 0x98},
- {value: 0x0c08, lo: 0x99, hi: 0x9b},
- {value: 0x0a08, lo: 0x9c, hi: 0xaa},
- {value: 0x0c08, lo: 0xab, hi: 0xac},
- {value: 0x0a08, lo: 0xad, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb1},
- {value: 0x0a08, lo: 0xb2, hi: 0xb2},
- {value: 0x0c08, lo: 0xb3, hi: 0xb4},
- {value: 0x0a08, lo: 0xb5, hi: 0xb7},
- {value: 0x0c08, lo: 0xb8, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbf},
- // Block 0xa, offset 0x5e
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xb0},
- {value: 0x0808, lo: 0xb1, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xb, offset 0x63
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x89},
- {value: 0x0a08, lo: 0x8a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0xc, offset 0x6b
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x99},
- {value: 0x0808, lo: 0x9a, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa3},
- {value: 0x0808, lo: 0xa4, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa7},
- {value: 0x0808, lo: 0xa8, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0818, lo: 0xb0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xd, offset 0x77
- {value: 0x0000, lo: 0x0d},
- {value: 0x0c08, lo: 0x80, hi: 0x80},
- {value: 0x0a08, lo: 0x81, hi: 0x85},
- {value: 0x0c08, lo: 0x86, hi: 0x87},
- {value: 0x0a08, lo: 0x88, hi: 0x88},
- {value: 0x0c08, lo: 0x89, hi: 0x89},
- {value: 0x0a08, lo: 0x8a, hi: 0x93},
- {value: 0x0c08, lo: 0x94, hi: 0x94},
- {value: 0x0a08, lo: 0x95, hi: 0x95},
- {value: 0x0808, lo: 0x96, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9d},
- {value: 0x0818, lo: 0x9e, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xe, offset 0x85
- {value: 0x0000, lo: 0x0d},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0a08, lo: 0xa0, hi: 0xa9},
- {value: 0x0c08, lo: 0xaa, hi: 0xac},
- {value: 0x0808, lo: 0xad, hi: 0xad},
- {value: 0x0c08, lo: 0xae, hi: 0xae},
- {value: 0x0a08, lo: 0xaf, hi: 0xb0},
- {value: 0x0c08, lo: 0xb1, hi: 0xb2},
- {value: 0x0a08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0a08, lo: 0xb6, hi: 0xb8},
- {value: 0x0c08, lo: 0xb9, hi: 0xb9},
- {value: 0x0a08, lo: 0xba, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0xf, offset 0x93
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0xa1},
- {value: 0x0840, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xbf},
- // Block 0x10, offset 0x98
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x11, offset 0xa1
- {value: 0x0000, lo: 0x0f},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x85},
- {value: 0x3008, lo: 0x86, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x3008, lo: 0x8a, hi: 0x8c},
- {value: 0x3b08, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x12, offset 0xb1
- {value: 0x0000, lo: 0x0d},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xa9},
- {value: 0x0008, lo: 0xaa, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x13, offset 0xbf
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x14, offset 0xcc
- {value: 0x0000, lo: 0x0b},
- {value: 0x0040, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x15, offset 0xd8
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x89},
- {value: 0x3b08, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x3008, lo: 0x98, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x16, offset 0xe9
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb2},
- {value: 0x08f1, lo: 0xb3, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb9},
- {value: 0x3b08, lo: 0xba, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0x17, offset 0xf3
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x8e},
- {value: 0x0018, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0xbf},
- // Block 0x18, offset 0xfa
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0961, lo: 0x9c, hi: 0x9c},
- {value: 0x0999, lo: 0x9d, hi: 0x9d},
- {value: 0x0008, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x19, offset 0x107
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8a},
- {value: 0x0008, lo: 0x8b, hi: 0x8b},
- {value: 0xe03d, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x1a, offset 0x118
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0x1b, offset 0x11f
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x1c, offset 0x12a
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x3008, lo: 0x96, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x3308, lo: 0x9e, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xa1},
- {value: 0x3008, lo: 0xa2, hi: 0xa4},
- {value: 0x0008, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xbf},
- // Block 0x1d, offset 0x139
- {value: 0x0000, lo: 0x0d},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x8c},
- {value: 0x3308, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x8e},
- {value: 0x3008, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x3008, lo: 0x9a, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x1e, offset 0x147
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x86},
- {value: 0x055d, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8c},
- {value: 0x055d, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbb},
- {value: 0xe105, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0x1f, offset 0x151
- {value: 0x0000, lo: 0x01},
- {value: 0x0018, lo: 0x80, hi: 0xbf},
- // Block 0x20, offset 0x153
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa0},
- {value: 0x2018, lo: 0xa1, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x21, offset 0x158
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa7},
- {value: 0x2018, lo: 0xa8, hi: 0xbf},
- // Block 0x22, offset 0x15b
- {value: 0x0000, lo: 0x02},
- {value: 0x2018, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0xbf},
- // Block 0x23, offset 0x15e
- {value: 0x0000, lo: 0x01},
- {value: 0x0008, lo: 0x80, hi: 0xbf},
- // Block 0x24, offset 0x160
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x25, offset 0x16c
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x26, offset 0x177
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x27, offset 0x17f
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0x0008, lo: 0x92, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x28, offset 0x185
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x29, offset 0x18b
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x2a, offset 0x190
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x2b, offset 0x195
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x2c, offset 0x198
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xbf},
- // Block 0x2d, offset 0x19c
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x2e, offset 0x1a2
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x2f, offset 0x1a7
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8d},
- {value: 0x0008, lo: 0x8e, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x3b08, lo: 0x94, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3b08, lo: 0xb4, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x30, offset 0x1b3
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x31, offset 0x1bd
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xb3},
- {value: 0x3340, lo: 0xb4, hi: 0xb5},
- {value: 0x3008, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbf},
- // Block 0x32, offset 0x1c3
- {value: 0x0000, lo: 0x10},
- {value: 0x3008, lo: 0x80, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x3008, lo: 0x87, hi: 0x88},
- {value: 0x3308, lo: 0x89, hi: 0x91},
- {value: 0x3b08, lo: 0x92, hi: 0x92},
- {value: 0x3308, lo: 0x93, hi: 0x93},
- {value: 0x0018, lo: 0x94, hi: 0x96},
- {value: 0x0008, lo: 0x97, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x33, offset 0x1d4
- {value: 0x0000, lo: 0x09},
- {value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x86},
- {value: 0x0218, lo: 0x87, hi: 0x87},
- {value: 0x0018, lo: 0x88, hi: 0x8a},
- {value: 0x33c0, lo: 0x8b, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0208, lo: 0xa0, hi: 0xbf},
- // Block 0x34, offset 0x1de
- {value: 0x0000, lo: 0x02},
- {value: 0x0208, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x35, offset 0x1e1
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0208, lo: 0x87, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xa9},
- {value: 0x0208, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x36, offset 0x1e9
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0x37, offset 0x1ec
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb8},
- {value: 0x3308, lo: 0xb9, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x38, offset 0x1f9
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0008, lo: 0x86, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x39, offset 0x201
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x3a, offset 0x205
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0028, lo: 0x9a, hi: 0x9a},
- {value: 0x0040, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0xbf},
- // Block 0x3b, offset 0x20c
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x3308, lo: 0x97, hi: 0x98},
- {value: 0x3008, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x3c, offset 0x214
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x94},
- {value: 0x3008, lo: 0x95, hi: 0x95},
- {value: 0x3308, lo: 0x96, hi: 0x96},
- {value: 0x3008, lo: 0x97, hi: 0x97},
- {value: 0x3308, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3b08, lo: 0xa0, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xac},
- {value: 0x3008, lo: 0xad, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0x3d, offset 0x224
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xbd},
- {value: 0x3318, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x3e, offset 0x230
- {value: 0x0000, lo: 0x01},
- {value: 0x0040, lo: 0x80, hi: 0xbf},
- // Block 0x3f, offset 0x232
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x83},
- {value: 0x3008, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbf},
- // Block 0x40, offset 0x23c
- {value: 0x0000, lo: 0x0b},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x3808, lo: 0x84, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x41, offset 0x248
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3808, lo: 0xaa, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xbf},
- // Block 0x42, offset 0x254
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa9},
- {value: 0x3008, lo: 0xaa, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3808, lo: 0xb2, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbf},
- // Block 0x43, offset 0x260
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x3008, lo: 0xa4, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbf},
- // Block 0x44, offset 0x268
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x45, offset 0x26d
- {value: 0x0000, lo: 0x09},
- {value: 0x0e29, lo: 0x80, hi: 0x80},
- {value: 0x0e41, lo: 0x81, hi: 0x81},
- {value: 0x0e59, lo: 0x82, hi: 0x82},
- {value: 0x0e71, lo: 0x83, hi: 0x83},
- {value: 0x0e89, lo: 0x84, hi: 0x85},
- {value: 0x0ea1, lo: 0x86, hi: 0x86},
- {value: 0x0eb9, lo: 0x87, hi: 0x87},
- {value: 0x057d, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0x46, offset 0x277
- {value: 0x0000, lo: 0x10},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x92},
- {value: 0x0018, lo: 0x93, hi: 0x93},
- {value: 0x3308, lo: 0x94, hi: 0xa0},
- {value: 0x3008, lo: 0xa1, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa8},
- {value: 0x0008, lo: 0xa9, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x0008, lo: 0xae, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x47, offset 0x288
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0x48, offset 0x28c
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x87},
- {value: 0xe045, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0xe045, lo: 0x98, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0xe045, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb7},
- {value: 0xe045, lo: 0xb8, hi: 0xbf},
- // Block 0x49, offset 0x297
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x3318, lo: 0x90, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbf},
- // Block 0x4a, offset 0x29b
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x88},
- {value: 0x24c1, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x4b, offset 0x2a4
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x24f1, lo: 0xac, hi: 0xac},
- {value: 0x2529, lo: 0xad, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xae},
- {value: 0x2579, lo: 0xaf, hi: 0xaf},
- {value: 0x25b1, lo: 0xb0, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0x4c, offset 0x2ac
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x9f},
- {value: 0x0080, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xad},
- {value: 0x0080, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x4d, offset 0x2b2
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xa8},
- {value: 0x09c5, lo: 0xa9, hi: 0xa9},
- {value: 0x09e5, lo: 0xaa, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xbf},
- // Block 0x4e, offset 0x2b7
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x4f, offset 0x2ba
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xbf},
- // Block 0x50, offset 0x2bd
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x28c1, lo: 0x8c, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x51, offset 0x2c1
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0e66, lo: 0xb4, hi: 0xb4},
- {value: 0x292a, lo: 0xb5, hi: 0xb5},
- {value: 0x0e86, lo: 0xb6, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x52, offset 0x2c7
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x9b},
- {value: 0x2941, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0xbf},
- // Block 0x53, offset 0x2cb
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x54, offset 0x2cf
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbc},
- {value: 0x0018, lo: 0xbd, hi: 0xbf},
- // Block 0x55, offset 0x2d5
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0xab},
- {value: 0x0018, lo: 0xac, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x56, offset 0x2dc
- {value: 0x0000, lo: 0x05},
- {value: 0xe185, lo: 0x80, hi: 0x8f},
- {value: 0x03f5, lo: 0x90, hi: 0x9f},
- {value: 0x0ea5, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x57, offset 0x2e2
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xa6},
- {value: 0x0008, lo: 0xa7, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x58, offset 0x2ea
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xae},
- {value: 0xe075, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0x59, offset 0x2f1
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x0008, lo: 0xb8, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x5a, offset 0x2fc
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xbf},
- // Block 0x5b, offset 0x306
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0008, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x5c, offset 0x30a
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0xbf},
- // Block 0x5d, offset 0x30d
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9e},
- {value: 0x0edd, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x5e, offset 0x313
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xb2},
- {value: 0x0efd, lo: 0xb3, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x5f, offset 0x317
- {value: 0x0020, lo: 0x01},
- {value: 0x0f1d, lo: 0x80, hi: 0xbf},
- // Block 0x60, offset 0x319
- {value: 0x0020, lo: 0x02},
- {value: 0x171d, lo: 0x80, hi: 0x8f},
- {value: 0x18fd, lo: 0x90, hi: 0xbf},
- // Block 0x61, offset 0x31c
- {value: 0x0020, lo: 0x01},
- {value: 0x1efd, lo: 0x80, hi: 0xbf},
- // Block 0x62, offset 0x31e
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x63, offset 0x321
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x3308, lo: 0x99, hi: 0x9a},
- {value: 0x29e2, lo: 0x9b, hi: 0x9b},
- {value: 0x2a0a, lo: 0x9c, hi: 0x9c},
- {value: 0x0008, lo: 0x9d, hi: 0x9e},
- {value: 0x2a31, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0008, lo: 0xa1, hi: 0xbf},
- // Block 0x64, offset 0x32b
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xbe},
- {value: 0x2a69, lo: 0xbf, hi: 0xbf},
- // Block 0x65, offset 0x32e
- {value: 0x0000, lo: 0x0e},
- {value: 0x0040, lo: 0x80, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xb0},
- {value: 0x2a1d, lo: 0xb1, hi: 0xb1},
- {value: 0x2a3d, lo: 0xb2, hi: 0xb2},
- {value: 0x2a5d, lo: 0xb3, hi: 0xb3},
- {value: 0x2a7d, lo: 0xb4, hi: 0xb4},
- {value: 0x2a5d, lo: 0xb5, hi: 0xb5},
- {value: 0x2a9d, lo: 0xb6, hi: 0xb6},
- {value: 0x2abd, lo: 0xb7, hi: 0xb7},
- {value: 0x2add, lo: 0xb8, hi: 0xb9},
- {value: 0x2afd, lo: 0xba, hi: 0xbb},
- {value: 0x2b1d, lo: 0xbc, hi: 0xbd},
- {value: 0x2afd, lo: 0xbe, hi: 0xbf},
- // Block 0x66, offset 0x33d
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x67, offset 0x341
- {value: 0x0030, lo: 0x04},
- {value: 0x2aa2, lo: 0x80, hi: 0x9d},
- {value: 0x305a, lo: 0x9e, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x30a2, lo: 0xa0, hi: 0xbf},
- // Block 0x68, offset 0x346
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x69, offset 0x349
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0040, lo: 0x8d, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x6a, offset 0x34d
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x6b, offset 0x352
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0x6c, offset 0x357
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb1},
- {value: 0x0018, lo: 0xb2, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6d, offset 0x35d
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0xb6},
- {value: 0x0008, lo: 0xb7, hi: 0xb7},
- {value: 0x2009, lo: 0xb8, hi: 0xb8},
- {value: 0x6e89, lo: 0xb9, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xbf},
- // Block 0x6e, offset 0x363
- {value: 0x0000, lo: 0x0e},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x3308, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x3308, lo: 0x8b, hi: 0x8b},
- {value: 0x0008, lo: 0x8c, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa6},
- {value: 0x3008, lo: 0xa7, hi: 0xa7},
- {value: 0x0018, lo: 0xa8, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x6f, offset 0x372
- {value: 0x0000, lo: 0x05},
- {value: 0x0208, lo: 0x80, hi: 0xb1},
- {value: 0x0108, lo: 0xb2, hi: 0xb2},
- {value: 0x0008, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x70, offset 0x378
- {value: 0x0000, lo: 0x03},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xbf},
- // Block 0x71, offset 0x37c
- {value: 0x0000, lo: 0x0e},
- {value: 0x3008, lo: 0x80, hi: 0x83},
- {value: 0x3b08, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8d},
- {value: 0x0018, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xba},
- {value: 0x0008, lo: 0xbb, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x72, offset 0x38b
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x73, offset 0x390
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x3308, lo: 0x87, hi: 0x91},
- {value: 0x3008, lo: 0x92, hi: 0x92},
- {value: 0x3808, lo: 0x93, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x74, offset 0x398
- {value: 0x0000, lo: 0x09},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x3008, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb9},
- {value: 0x3008, lo: 0xba, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbf},
- // Block 0x75, offset 0x3a2
- {value: 0x0000, lo: 0x0a},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x76, offset 0x3ad
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xa8},
- {value: 0x3308, lo: 0xa9, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb0},
- {value: 0x3308, lo: 0xb1, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x77, offset 0x3b5
- {value: 0x0000, lo: 0x10},
- {value: 0x0008, lo: 0x80, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8c},
- {value: 0x3008, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xb9},
- {value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbc},
- {value: 0x3008, lo: 0xbd, hi: 0xbd},
- {value: 0x0008, lo: 0xbe, hi: 0xbf},
- // Block 0x78, offset 0x3c6
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb4},
- {value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb8},
- {value: 0x0008, lo: 0xb9, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbf},
- // Block 0x79, offset 0x3cf
- {value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x9a},
- {value: 0x0008, lo: 0x9b, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xaa},
- {value: 0x3008, lo: 0xab, hi: 0xab},
- {value: 0x3308, lo: 0xac, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb5},
- {value: 0x3b08, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x7a, offset 0x3df
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x88},
- {value: 0x0008, lo: 0x89, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x90},
- {value: 0x0008, lo: 0x91, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x7b, offset 0x3ec
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x4465, lo: 0x9c, hi: 0x9c},
- {value: 0x447d, lo: 0x9d, hi: 0x9d},
- {value: 0x2971, lo: 0x9e, hi: 0x9e},
- {value: 0xe06d, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa5},
- {value: 0x0040, lo: 0xa6, hi: 0xaf},
- {value: 0x4495, lo: 0xb0, hi: 0xbf},
- // Block 0x7c, offset 0x3f6
- {value: 0x0000, lo: 0x04},
- {value: 0x44b5, lo: 0x80, hi: 0x8f},
- {value: 0x44d5, lo: 0x90, hi: 0x9f},
- {value: 0x44f5, lo: 0xa0, hi: 0xaf},
- {value: 0x44d5, lo: 0xb0, hi: 0xbf},
- // Block 0x7d, offset 0x3fb
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0xa2},
- {value: 0x3008, lo: 0xa3, hi: 0xa4},
- {value: 0x3308, lo: 0xa5, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa7},
- {value: 0x3308, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xaa},
- {value: 0x0018, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3b08, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x7e, offset 0x408
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x7f, offset 0x40c
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x80, offset 0x411
- {value: 0x0020, lo: 0x01},
- {value: 0x4515, lo: 0x80, hi: 0xbf},
- // Block 0x81, offset 0x413
- {value: 0x0020, lo: 0x03},
- {value: 0x4d15, lo: 0x80, hi: 0x94},
- {value: 0x4ad5, lo: 0x95, hi: 0x95},
- {value: 0x4fb5, lo: 0x96, hi: 0xbf},
- // Block 0x82, offset 0x417
- {value: 0x0020, lo: 0x01},
- {value: 0x54f5, lo: 0x80, hi: 0xbf},
- // Block 0x83, offset 0x419
- {value: 0x0020, lo: 0x03},
- {value: 0x5cf5, lo: 0x80, hi: 0x84},
- {value: 0x5655, lo: 0x85, hi: 0x85},
- {value: 0x5d95, lo: 0x86, hi: 0xbf},
- // Block 0x84, offset 0x41d
- {value: 0x0020, lo: 0x08},
- {value: 0x6b55, lo: 0x80, hi: 0x8f},
- {value: 0x6d15, lo: 0x90, hi: 0x90},
- {value: 0x6d55, lo: 0x91, hi: 0xab},
- {value: 0x6ea1, lo: 0xac, hi: 0xac},
- {value: 0x70b5, lo: 0xad, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x70d5, lo: 0xb0, hi: 0xbf},
- // Block 0x85, offset 0x426
- {value: 0x0020, lo: 0x05},
- {value: 0x72d5, lo: 0x80, hi: 0xad},
- {value: 0x6535, lo: 0xae, hi: 0xae},
- {value: 0x7895, lo: 0xaf, hi: 0xb5},
- {value: 0x6f55, lo: 0xb6, hi: 0xb6},
- {value: 0x7975, lo: 0xb7, hi: 0xbf},
- // Block 0x86, offset 0x42c
- {value: 0x0028, lo: 0x03},
- {value: 0x7c21, lo: 0x80, hi: 0x82},
- {value: 0x7be1, lo: 0x83, hi: 0x83},
- {value: 0x7c99, lo: 0x84, hi: 0xbf},
- // Block 0x87, offset 0x430
- {value: 0x0038, lo: 0x0f},
- {value: 0x9db1, lo: 0x80, hi: 0x83},
- {value: 0x9e59, lo: 0x84, hi: 0x85},
- {value: 0x9e91, lo: 0x86, hi: 0x87},
- {value: 0x9ec9, lo: 0x88, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x91},
- {value: 0xa089, lo: 0x92, hi: 0x97},
- {value: 0xa1a1, lo: 0x98, hi: 0x9c},
- {value: 0xa281, lo: 0x9d, hi: 0xb3},
- {value: 0x9d41, lo: 0xb4, hi: 0xb4},
- {value: 0x9db1, lo: 0xb5, hi: 0xb5},
- {value: 0xa789, lo: 0xb6, hi: 0xbb},
- {value: 0xa869, lo: 0xbc, hi: 0xbc},
- {value: 0xa7f9, lo: 0xbd, hi: 0xbd},
- {value: 0xa8d9, lo: 0xbe, hi: 0xbf},
- // Block 0x88, offset 0x440
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8c},
- {value: 0x0008, lo: 0x8d, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbb},
- {value: 0x0008, lo: 0xbc, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x89, offset 0x44a
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0x8a, offset 0x44f
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x8b, offset 0x452
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x82},
- {value: 0x0040, lo: 0x83, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x8c, offset 0x458
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x8e},
- {value: 0x0040, lo: 0x8f, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x8d, offset 0x45f
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x8e, offset 0x464
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9c},
- {value: 0x0040, lo: 0x9d, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x8f, offset 0x468
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x90},
- {value: 0x0040, lo: 0x91, hi: 0x9f},
- {value: 0x3308, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x90, offset 0x46e
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x91, offset 0x473
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x81},
- {value: 0x0008, lo: 0x82, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x92, offset 0x47c
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x93, offset 0x481
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x94, offset 0x487
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x97},
- {value: 0x8ad5, lo: 0x98, hi: 0x9f},
- {value: 0x8aed, lo: 0xa0, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xbf},
- // Block 0x95, offset 0x48e
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x8aed, lo: 0xb0, hi: 0xb7},
- {value: 0x8ad5, lo: 0xb8, hi: 0xbf},
- // Block 0x96, offset 0x495
- {value: 0x0000, lo: 0x06},
- {value: 0xe145, lo: 0x80, hi: 0x87},
- {value: 0xe1c5, lo: 0x88, hi: 0x8f},
- {value: 0xe145, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0xbb},
- {value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x97, offset 0x49c
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x98, offset 0x4a0
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xae},
- {value: 0x0018, lo: 0xaf, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x99, offset 0x4a5
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x9a, offset 0x4a8
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xbf},
- // Block 0x9b, offset 0x4ad
- {value: 0x0000, lo: 0x0b},
- {value: 0x0808, lo: 0x80, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0808, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0808, lo: 0x8a, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb6},
- {value: 0x0808, lo: 0xb7, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbb},
- {value: 0x0808, lo: 0xbc, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x0808, lo: 0xbf, hi: 0xbf},
- // Block 0x9c, offset 0x4b9
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x96},
- {value: 0x0818, lo: 0x97, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb6},
- {value: 0x0818, lo: 0xb7, hi: 0xbf},
- // Block 0x9d, offset 0x4bf
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xa6},
- {value: 0x0818, lo: 0xa7, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x9e, offset 0x4c4
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb3},
- {value: 0x0808, lo: 0xb4, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xba},
- {value: 0x0818, lo: 0xbb, hi: 0xbf},
- // Block 0x9f, offset 0x4cb
- {value: 0x0000, lo: 0x07},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0818, lo: 0x96, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbe},
- {value: 0x0818, lo: 0xbf, hi: 0xbf},
- // Block 0xa0, offset 0x4d3
- {value: 0x0000, lo: 0x04},
- {value: 0x0808, lo: 0x80, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbb},
- {value: 0x0818, lo: 0xbc, hi: 0xbd},
- {value: 0x0808, lo: 0xbe, hi: 0xbf},
- // Block 0xa1, offset 0x4d8
- {value: 0x0000, lo: 0x03},
- {value: 0x0818, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x0818, lo: 0x92, hi: 0xbf},
- // Block 0xa2, offset 0x4dc
- {value: 0x0000, lo: 0x0f},
- {value: 0x0808, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x3308, lo: 0x85, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x8b},
- {value: 0x3308, lo: 0x8c, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x94},
- {value: 0x0808, lo: 0x95, hi: 0x97},
- {value: 0x0040, lo: 0x98, hi: 0x98},
- {value: 0x0808, lo: 0x99, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xa3, offset 0x4ec
- {value: 0x0000, lo: 0x06},
- {value: 0x0818, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0818, lo: 0x90, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xbc},
- {value: 0x0818, lo: 0xbd, hi: 0xbf},
- // Block 0xa4, offset 0x4f3
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0x9c},
- {value: 0x0818, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xa5, offset 0x4f7
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb8},
- {value: 0x0018, lo: 0xb9, hi: 0xbf},
- // Block 0xa6, offset 0x4fb
- {value: 0x0000, lo: 0x06},
- {value: 0x0808, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0818, lo: 0x98, hi: 0x9f},
- {value: 0x0808, lo: 0xa0, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb7},
- {value: 0x0818, lo: 0xb8, hi: 0xbf},
- // Block 0xa7, offset 0x502
- {value: 0x0000, lo: 0x01},
- {value: 0x0808, lo: 0x80, hi: 0xbf},
- // Block 0xa8, offset 0x504
- {value: 0x0000, lo: 0x02},
- {value: 0x0808, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0xa9, offset 0x507
- {value: 0x0000, lo: 0x02},
- {value: 0x03dd, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xaa, offset 0x50a
- {value: 0x0000, lo: 0x03},
- {value: 0x0808, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xb9},
- {value: 0x0818, lo: 0xba, hi: 0xbf},
- // Block 0xab, offset 0x50e
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0818, lo: 0xa0, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xac, offset 0x512
- {value: 0x0000, lo: 0x05},
- {value: 0x3008, lo: 0x80, hi: 0x80},
- {value: 0x3308, lo: 0x81, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xad, offset 0x518
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x85},
- {value: 0x3b08, lo: 0x86, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x91},
- {value: 0x0018, lo: 0x92, hi: 0xa5},
- {value: 0x0008, lo: 0xa6, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xae, offset 0x521
- {value: 0x0000, lo: 0x0b},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb6},
- {value: 0x3008, lo: 0xb7, hi: 0xb8},
- {value: 0x3b08, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbc},
- {value: 0x0340, lo: 0xbd, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0xaf, offset 0x52d
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb0, offset 0x534
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xb2},
- {value: 0x3b08, lo: 0xb3, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xbf},
- // Block 0xb1, offset 0x53d
- {value: 0x0000, lo: 0x07},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb3},
- {value: 0x0018, lo: 0xb4, hi: 0xb5},
- {value: 0x0008, lo: 0xb6, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xb2, offset 0x545
- {value: 0x0000, lo: 0x06},
- {value: 0x3308, lo: 0x80, hi: 0x81},
- {value: 0x3008, lo: 0x82, hi: 0x82},
- {value: 0x0008, lo: 0x83, hi: 0xb2},
- {value: 0x3008, lo: 0xb3, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xbe},
- {value: 0x3008, lo: 0xbf, hi: 0xbf},
- // Block 0xb3, offset 0x54c
- {value: 0x0000, lo: 0x0d},
- {value: 0x3808, lo: 0x80, hi: 0x80},
- {value: 0x0008, lo: 0x81, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x89},
- {value: 0x3308, lo: 0x8a, hi: 0x8c},
- {value: 0x0018, lo: 0x8d, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xb4, offset 0x55a
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xae},
- {value: 0x3308, lo: 0xaf, hi: 0xb1},
- {value: 0x3008, lo: 0xb2, hi: 0xb3},
- {value: 0x3308, lo: 0xb4, hi: 0xb4},
- {value: 0x3808, lo: 0xb5, hi: 0xb5},
- {value: 0x3308, lo: 0xb6, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xbd},
- {value: 0x3308, lo: 0xbe, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xb5, offset 0x567
- {value: 0x0000, lo: 0x0c},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0x8d},
- {value: 0x0040, lo: 0x8e, hi: 0x8e},
- {value: 0x0008, lo: 0x8f, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9e},
- {value: 0x0008, lo: 0x9f, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xb6, offset 0x574
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x3308, lo: 0x9f, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa9},
- {value: 0x3b08, lo: 0xaa, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb7, offset 0x57d
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x3008, lo: 0xb5, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbf},
- // Block 0xb8, offset 0x581
- {value: 0x0000, lo: 0x0d},
- {value: 0x3008, lo: 0x80, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x84},
- {value: 0x3008, lo: 0x85, hi: 0x85},
- {value: 0x3308, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x0018, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xb9, offset 0x58f
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xb8},
- {value: 0x3008, lo: 0xb9, hi: 0xb9},
- {value: 0x3308, lo: 0xba, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbe},
- {value: 0x3308, lo: 0xbf, hi: 0xbf},
- // Block 0xba, offset 0x597
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x3008, lo: 0x81, hi: 0x81},
- {value: 0x3b08, lo: 0x82, hi: 0x82},
- {value: 0x3308, lo: 0x83, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x85},
- {value: 0x0018, lo: 0x86, hi: 0x86},
- {value: 0x0008, lo: 0x87, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xbb, offset 0x5a2
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x3008, lo: 0xb8, hi: 0xbb},
- {value: 0x3308, lo: 0xbc, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xbc, offset 0x5ab
- {value: 0x0000, lo: 0x05},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x97},
- {value: 0x0008, lo: 0x98, hi: 0x9b},
- {value: 0x3308, lo: 0x9c, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xbd, offset 0x5b1
- {value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3008, lo: 0xb0, hi: 0xb2},
- {value: 0x3308, lo: 0xb3, hi: 0xba},
- {value: 0x3008, lo: 0xbb, hi: 0xbc},
- {value: 0x3308, lo: 0xbd, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xbe, offset 0x5b9
- {value: 0x0000, lo: 0x08},
- {value: 0x3308, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x83},
- {value: 0x0008, lo: 0x84, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xbf, offset 0x5c2
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x3308, lo: 0xab, hi: 0xab},
- {value: 0x3008, lo: 0xac, hi: 0xac},
- {value: 0x3308, lo: 0xad, hi: 0xad},
- {value: 0x3008, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb5},
- {value: 0x3808, lo: 0xb6, hi: 0xb6},
- {value: 0x3308, lo: 0xb7, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0xc0, offset 0x5cc
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0040, lo: 0x8a, hi: 0xbf},
- // Block 0xc1, offset 0x5cf
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9f},
- {value: 0x3008, lo: 0xa0, hi: 0xa1},
- {value: 0x3308, lo: 0xa2, hi: 0xa5},
- {value: 0x3008, lo: 0xa6, hi: 0xa6},
- {value: 0x3308, lo: 0xa7, hi: 0xaa},
- {value: 0x3b08, lo: 0xab, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0xc2, offset 0x5db
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x049d, lo: 0xa0, hi: 0xbf},
- // Block 0xc3, offset 0x5de
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0xc4, offset 0x5e3
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb8},
- {value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xc5, offset 0x5e6
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0xae},
- {value: 0x3008, lo: 0xaf, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x3308, lo: 0xb8, hi: 0xbd},
- {value: 0x3008, lo: 0xbe, hi: 0xbe},
- {value: 0x3b08, lo: 0xbf, hi: 0xbf},
- // Block 0xc6, offset 0x5f0
- {value: 0x0000, lo: 0x08},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0018, lo: 0x9a, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0008, lo: 0xb2, hi: 0xbf},
- // Block 0xc7, offset 0x5f9
- {value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x3308, lo: 0x92, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xa8},
- {value: 0x3008, lo: 0xa9, hi: 0xa9},
- {value: 0x3308, lo: 0xaa, hi: 0xb0},
- {value: 0x3008, lo: 0xb1, hi: 0xb1},
- {value: 0x3308, lo: 0xb2, hi: 0xb3},
- {value: 0x3008, lo: 0xb4, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xc8, offset 0x605
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xc9, offset 0x608
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xca, offset 0x60d
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0040, lo: 0x84, hi: 0xbf},
- // Block 0xcb, offset 0x610
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xbf},
- // Block 0xcc, offset 0x613
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0xbf},
- // Block 0xcd, offset 0x616
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0040, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xce, offset 0x61d
- {value: 0x0000, lo: 0x06},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb4},
- {value: 0x0018, lo: 0xb5, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xcf, offset 0x624
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x3308, lo: 0xb0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0xd0, offset 0x628
- {value: 0x0000, lo: 0x0a},
- {value: 0x0008, lo: 0x80, hi: 0x83},
- {value: 0x0018, lo: 0x84, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9a},
- {value: 0x0018, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x0008, lo: 0xa3, hi: 0xb7},
- {value: 0x0040, lo: 0xb8, hi: 0xbc},
- {value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0xd1, offset 0x633
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0xd2, offset 0x636
- {value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x3008, lo: 0x91, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xd3, offset 0x63c
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x8e},
- {value: 0x3308, lo: 0x8f, hi: 0x92},
- {value: 0x0008, lo: 0x93, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xd4, offset 0x641
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0xd5, offset 0x645
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xd6, offset 0x648
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb2},
- {value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xd7, offset 0x64b
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0xbf},
- // Block 0xd8, offset 0x64e
- {value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbc},
- {value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0xd9, offset 0x653
- {value: 0x0000, lo: 0x09},
- {value: 0x0008, lo: 0x80, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9b},
- {value: 0x0018, lo: 0x9c, hi: 0x9c},
- {value: 0x3308, lo: 0x9d, hi: 0x9e},
- {value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x03c0, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xbf},
- // Block 0xda, offset 0x65d
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xdb, offset 0x660
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xa6},
- {value: 0x0040, lo: 0xa7, hi: 0xa8},
- {value: 0x0018, lo: 0xa9, hi: 0xbf},
- // Block 0xdc, offset 0x664
- {value: 0x0000, lo: 0x0e},
- {value: 0x0018, lo: 0x80, hi: 0x9d},
- {value: 0xb5b9, lo: 0x9e, hi: 0x9e},
- {value: 0xb601, lo: 0x9f, hi: 0x9f},
- {value: 0xb649, lo: 0xa0, hi: 0xa0},
- {value: 0xb6b1, lo: 0xa1, hi: 0xa1},
- {value: 0xb719, lo: 0xa2, hi: 0xa2},
- {value: 0xb781, lo: 0xa3, hi: 0xa3},
- {value: 0xb7e9, lo: 0xa4, hi: 0xa4},
- {value: 0x3018, lo: 0xa5, hi: 0xa6},
- {value: 0x3318, lo: 0xa7, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xac},
- {value: 0x3018, lo: 0xad, hi: 0xb2},
- {value: 0x0340, lo: 0xb3, hi: 0xba},
- {value: 0x3318, lo: 0xbb, hi: 0xbf},
- // Block 0xdd, offset 0x673
- {value: 0x0000, lo: 0x0b},
- {value: 0x3318, lo: 0x80, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0x84},
- {value: 0x3318, lo: 0x85, hi: 0x8b},
- {value: 0x0018, lo: 0x8c, hi: 0xa9},
- {value: 0x3318, lo: 0xaa, hi: 0xad},
- {value: 0x0018, lo: 0xae, hi: 0xba},
- {value: 0xb851, lo: 0xbb, hi: 0xbb},
- {value: 0xb899, lo: 0xbc, hi: 0xbc},
- {value: 0xb8e1, lo: 0xbd, hi: 0xbd},
- {value: 0xb949, lo: 0xbe, hi: 0xbe},
- {value: 0xb9b1, lo: 0xbf, hi: 0xbf},
- // Block 0xde, offset 0x67f
- {value: 0x0000, lo: 0x03},
- {value: 0xba19, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0xa8},
- {value: 0x0040, lo: 0xa9, hi: 0xbf},
- // Block 0xdf, offset 0x683
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x3318, lo: 0x82, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x85},
- {value: 0x0040, lo: 0x86, hi: 0xbf},
- // Block 0xe0, offset 0x688
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xe1, offset 0x68d
- {value: 0x0000, lo: 0x03},
- {value: 0x3308, lo: 0x80, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xba},
- {value: 0x3308, lo: 0xbb, hi: 0xbf},
- // Block 0xe2, offset 0x691
- {value: 0x0000, lo: 0x04},
- {value: 0x3308, lo: 0x80, hi: 0xac},
- {value: 0x0018, lo: 0xad, hi: 0xb4},
- {value: 0x3308, lo: 0xb5, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0xe3, offset 0x696
- {value: 0x0000, lo: 0x08},
- {value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x84},
- {value: 0x0018, lo: 0x85, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x3308, lo: 0xa1, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xe4, offset 0x69f
- {value: 0x0000, lo: 0x0a},
- {value: 0x3308, lo: 0x80, hi: 0x86},
- {value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x3308, lo: 0x88, hi: 0x98},
- {value: 0x0040, lo: 0x99, hi: 0x9a},
- {value: 0x3308, lo: 0x9b, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x3308, lo: 0xa3, hi: 0xa4},
- {value: 0x0040, lo: 0xa5, hi: 0xa5},
- {value: 0x3308, lo: 0xa6, hi: 0xaa},
- {value: 0x0040, lo: 0xab, hi: 0xbf},
- // Block 0xe5, offset 0x6aa
- {value: 0x0000, lo: 0x05},
- {value: 0x0808, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0x86},
- {value: 0x0818, lo: 0x87, hi: 0x8f},
- {value: 0x3308, lo: 0x90, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0xe6, offset 0x6b0
- {value: 0x0000, lo: 0x07},
- {value: 0x0a08, lo: 0x80, hi: 0x83},
- {value: 0x3308, lo: 0x84, hi: 0x8a},
- {value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0808, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0818, lo: 0x9e, hi: 0x9f},
- {value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xe7, offset 0x6b8
- {value: 0x0000, lo: 0x03},
- {value: 0x0040, lo: 0x80, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb1},
- {value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xe8, offset 0x6bc
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0xab},
- {value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0xe9, offset 0x6c0
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x93},
- {value: 0x0040, lo: 0x94, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xae},
- {value: 0x0040, lo: 0xaf, hi: 0xb0},
- {value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0xea, offset 0x6c6
- {value: 0x0000, lo: 0x05},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0018, lo: 0x81, hi: 0x8f},
- {value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xeb, offset 0x6cc
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8f},
- {value: 0xc1c1, lo: 0x90, hi: 0x90},
- {value: 0x0018, lo: 0x91, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xec, offset 0x6d1
- {value: 0x0000, lo: 0x02},
- {value: 0x0040, lo: 0x80, hi: 0xa5},
- {value: 0x0018, lo: 0xa6, hi: 0xbf},
- // Block 0xed, offset 0x6d4
- {value: 0x0000, lo: 0x0d},
- {value: 0xc7e9, lo: 0x80, hi: 0x80},
- {value: 0xc839, lo: 0x81, hi: 0x81},
- {value: 0xc889, lo: 0x82, hi: 0x82},
- {value: 0xc8d9, lo: 0x83, hi: 0x83},
- {value: 0xc929, lo: 0x84, hi: 0x84},
- {value: 0xc979, lo: 0x85, hi: 0x85},
- {value: 0xc9c9, lo: 0x86, hi: 0x86},
- {value: 0xca19, lo: 0x87, hi: 0x87},
- {value: 0xca69, lo: 0x88, hi: 0x88},
- {value: 0x0040, lo: 0x89, hi: 0x8f},
- {value: 0xcab9, lo: 0x90, hi: 0x90},
- {value: 0xcad9, lo: 0x91, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0xbf},
- // Block 0xee, offset 0x6e2
- {value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x92},
- {value: 0x0040, lo: 0x93, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xac},
- {value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xef, offset 0x6e9
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xb3},
- {value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0xf0, offset 0x6ec
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x94},
- {value: 0x0040, lo: 0x95, hi: 0xbf},
- // Block 0xf1, offset 0x6ef
- {value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0xf2, offset 0x6f3
- {value: 0x0000, lo: 0x05},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x99},
- {value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0xf3, offset 0x6f9
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x87},
- {value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xbf},
- // Block 0xf4, offset 0x6fe
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb2},
- {value: 0x0018, lo: 0xb3, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xf5, offset 0x708
- {value: 0x0000, lo: 0x04},
- {value: 0x0018, lo: 0x80, hi: 0x8b},
- {value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xf6, offset 0x70d
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0xbf},
- // Block 0xf7, offset 0x710
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0xbf},
- // Block 0xf8, offset 0x713
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0xf9, offset 0x716
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xfa, offset 0x719
- {value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9d},
- {value: 0x0040, lo: 0x9e, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0xfb, offset 0x71d
- {value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xbf},
- // Block 0xfc, offset 0x720
- {value: 0x0020, lo: 0x0f},
- {value: 0xdeb9, lo: 0x80, hi: 0x89},
- {value: 0x8dfd, lo: 0x8a, hi: 0x8a},
- {value: 0xdff9, lo: 0x8b, hi: 0x9c},
- {value: 0x8e1d, lo: 0x9d, hi: 0x9d},
- {value: 0xe239, lo: 0x9e, hi: 0xa2},
- {value: 0x8e3d, lo: 0xa3, hi: 0xa3},
- {value: 0xe2d9, lo: 0xa4, hi: 0xab},
- {value: 0x7ed5, lo: 0xac, hi: 0xac},
- {value: 0xe3d9, lo: 0xad, hi: 0xaf},
- {value: 0x8e5d, lo: 0xb0, hi: 0xb0},
- {value: 0xe439, lo: 0xb1, hi: 0xb6},
- {value: 0x8e7d, lo: 0xb7, hi: 0xb9},
- {value: 0xe4f9, lo: 0xba, hi: 0xba},
- {value: 0x8edd, lo: 0xbb, hi: 0xbb},
- {value: 0xe519, lo: 0xbc, hi: 0xbf},
- // Block 0xfd, offset 0x730
- {value: 0x0020, lo: 0x10},
- {value: 0x937d, lo: 0x80, hi: 0x80},
- {value: 0xf099, lo: 0x81, hi: 0x86},
- {value: 0x939d, lo: 0x87, hi: 0x8a},
- {value: 0xd9f9, lo: 0x8b, hi: 0x8b},
- {value: 0xf159, lo: 0x8c, hi: 0x96},
- {value: 0x941d, lo: 0x97, hi: 0x97},
- {value: 0xf2b9, lo: 0x98, hi: 0xa3},
- {value: 0x943d, lo: 0xa4, hi: 0xa6},
- {value: 0xf439, lo: 0xa7, hi: 0xaa},
- {value: 0x949d, lo: 0xab, hi: 0xab},
- {value: 0xf4b9, lo: 0xac, hi: 0xac},
- {value: 0x94bd, lo: 0xad, hi: 0xad},
- {value: 0xf4d9, lo: 0xae, hi: 0xaf},
- {value: 0x94dd, lo: 0xb0, hi: 0xb1},
- {value: 0xf519, lo: 0xb2, hi: 0xbe},
- {value: 0x2040, lo: 0xbf, hi: 0xbf},
- // Block 0xfe, offset 0x741
- {value: 0x0000, lo: 0x04},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x0340, lo: 0x81, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0x9f},
- {value: 0x0340, lo: 0xa0, hi: 0xbf},
- // Block 0xff, offset 0x746
- {value: 0x0000, lo: 0x01},
- {value: 0x0340, lo: 0x80, hi: 0xbf},
- // Block 0x100, offset 0x748
- {value: 0x0000, lo: 0x01},
- {value: 0x33c0, lo: 0x80, hi: 0xbf},
- // Block 0x101, offset 0x74a
- {value: 0x0000, lo: 0x02},
- {value: 0x33c0, lo: 0x80, hi: 0xaf},
- {value: 0x0040, lo: 0xb0, hi: 0xbf},
-}
-
-// Total table size 41662 bytes (40KiB); checksum: 355A58A4
diff --git a/vendor/golang.org/x/net/idna/trie12.0.0.go b/vendor/golang.org/x/net/idna/trie12.0.0.go
deleted file mode 100644
index 8a75b9667..000000000
--- a/vendor/golang.org/x/net/idna/trie12.0.0.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !go1.16
-
-package idna
-
-// appendMapping appends the mapping for the respective rune. isMapped must be
-// true. A mapping is a categorization of a rune as defined in UTS #46.
-func (c info) appendMapping(b []byte, s string) []byte {
- index := int(c >> indexShift)
- if c&xorBit == 0 {
- s := mappings[index:]
- return append(b, s[1:s[0]+1]...)
- }
- b = append(b, s...)
- if c&inlineXOR == inlineXOR {
- // TODO: support and handle two-byte inline masks
- b[len(b)-1] ^= byte(index)
- } else {
- for p := len(b) - int(xorData[index]); p < len(b); p++ {
- index++
- b[p] ^= xorData[index]
- }
- }
- return b
-}
diff --git a/vendor/golang.org/x/net/idna/trie13.0.0.go b/vendor/golang.org/x/net/idna/trie13.0.0.go
deleted file mode 100644
index fa45bb907..000000000
--- a/vendor/golang.org/x/net/idna/trie13.0.0.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
-
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build go1.16
-
-package idna
-
-// appendMapping appends the mapping for the respective rune. isMapped must be
-// true. A mapping is a categorization of a rune as defined in UTS #46.
-func (c info) appendMapping(b []byte, s string) []byte {
- index := int(c >> indexShift)
- if c&xorBit == 0 {
- p := index
- return append(b, mappings[mappingIndex[p]:mappingIndex[p+1]]...)
- }
- b = append(b, s...)
- if c&inlineXOR == inlineXOR {
- // TODO: support and handle two-byte inline masks
- b[len(b)-1] ^= byte(index)
- } else {
- for p := len(b) - int(xorData[index]); p < len(b); p++ {
- index++
- b[p] ^= xorData[index]
- }
- }
- return b
-}
diff --git a/vendor/golang.org/x/net/internal/httpcommon/README.md b/vendor/golang.org/x/net/internal/httpcommon/README.md
new file mode 100644
index 000000000..951c346c2
--- /dev/null
+++ b/vendor/golang.org/x/net/internal/httpcommon/README.md
@@ -0,0 +1,7 @@
+These two packages are identical:
+
+- net/http/internal/httpcommon
+- golang.org/x/net/internal/httpcommon
+
+The two are kept in sync manually.
+Any change to one should be made in the other.
diff --git a/vendor/golang.org/x/net/internal/httpcommon/gzip.go b/vendor/golang.org/x/net/internal/httpcommon/gzip.go
new file mode 100644
index 000000000..819dd650c
--- /dev/null
+++ b/vendor/golang.org/x/net/internal/httpcommon/gzip.go
@@ -0,0 +1,132 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package httpcommon
+
+import (
+ "compress/flate"
+ "compress/gzip"
+ "errors"
+ "io"
+ "io/fs"
+ "sync"
+)
+
+var errConcurrentRead = errors.New("http: concurrent read on response body")
+
+// incomparable is a zero-width, non-comparable type. Adding it to a struct
+// makes that struct also non-comparable, and generally doesn't add
+// any size (as long as it's first).
+type incomparable [0]func()
+
+// GzipReader wraps a response body so it can lazily
+// get gzip.Reader from the pool on the first call to Read.
+// After Close is called it puts gzip.Reader to the pool immediately
+// if there is no Read in progress or later when Read completes.
+type GzipReader struct {
+ _ incomparable
+ Body io.ReadCloser // underlying Response.Body
+ mu sync.Mutex // guards zr and zerr
+ zr *gzip.Reader // stores gzip reader from the pool between reads
+ zerr error // sticky gzip reader init error or sentinel value to detect concurrent read and read after close
+}
+
+type eofReader struct{}
+
+func (eofReader) Read([]byte) (int, error) { return 0, io.EOF }
+func (eofReader) ReadByte() (byte, error) { return 0, io.EOF }
+
+var gzipPool = sync.Pool{New: func() any { return new(gzip.Reader) }}
+
+// gzipPoolGet gets a gzip.Reader from the pool and resets it to read from r.
+func gzipPoolGet(r io.Reader) (*gzip.Reader, error) {
+ zr := gzipPool.Get().(*gzip.Reader)
+ if err := zr.Reset(r); err != nil {
+ gzipPoolPut(zr)
+ return nil, err
+ }
+ return zr, nil
+}
+
+// gzipPoolPut puts a gzip.Reader back into the pool.
+func gzipPoolPut(zr *gzip.Reader) {
+ // Reset will allocate bufio.Reader if we pass it anything
+ // other than a flate.Reader, so ensure that it's getting one.
+ var r flate.Reader = eofReader{}
+ zr.Reset(r)
+ gzipPool.Put(zr)
+}
+
+// acquire returns a gzip.Reader for reading response body.
+// The reader must be released after use.
+func (gz *GzipReader) acquire() (*gzip.Reader, error) {
+ gz.mu.Lock()
+ defer gz.mu.Unlock()
+ if gz.zerr != nil {
+ return nil, gz.zerr
+ }
+ if gz.zr == nil {
+ // gzipPoolGet might block indefinitely since it reads the gzip header.
+ // Therefore, drop mu temporarily when using gzipPoolGet.
+ // We set zerr to errConcurrentRead to prevent concurrent read
+ // even when mu is temporarily dropped.
+ gz.zerr = errConcurrentRead
+ gz.mu.Unlock()
+ zr, err := gzipPoolGet(gz.Body)
+ gz.mu.Lock()
+ // Guard against Close being called while gzipPoolGet is running.
+ if gz.zerr != errConcurrentRead {
+ if zr != nil {
+ gzipPoolPut(zr)
+ }
+ return nil, gz.zerr
+ }
+ gz.zr, gz.zerr = zr, err
+ if gz.zerr != nil {
+ return nil, gz.zerr
+ }
+ }
+ ret := gz.zr
+ gz.zr, gz.zerr = nil, errConcurrentRead
+ return ret, nil
+}
+
+// release returns the gzip.Reader to the pool if Close was called during Read.
+func (gz *GzipReader) release(zr *gzip.Reader) {
+ gz.mu.Lock()
+ defer gz.mu.Unlock()
+ if gz.zerr == errConcurrentRead {
+ gz.zr, gz.zerr = zr, nil
+ } else { // fs.ErrClosed
+ gzipPoolPut(zr)
+ }
+}
+
+// close returns the gzip.Reader to the pool immediately or
+// signals release to do so after Read completes.
+func (gz *GzipReader) close() {
+ gz.mu.Lock()
+ defer gz.mu.Unlock()
+ if gz.zerr == nil && gz.zr != nil {
+ gzipPoolPut(gz.zr)
+ gz.zr = nil
+ }
+ gz.zerr = fs.ErrClosed
+}
+
+func (gz *GzipReader) Read(p []byte) (n int, err error) {
+ zr, err := gz.acquire()
+ if err != nil {
+ return 0, err
+ }
+ defer gz.release(zr)
+
+ return zr.Read(p)
+}
+
+func (gz *GzipReader) Close() error {
+ gz.close()
+
+ return gz.Body.Close()
+}
diff --git a/vendor/golang.org/x/net/internal/httpcommon/request.go b/vendor/golang.org/x/net/internal/httpcommon/request.go
index 1e10f89eb..5aaca5989 100644
--- a/vendor/golang.org/x/net/internal/httpcommon/request.go
+++ b/vendor/golang.org/x/net/internal/httpcommon/request.go
@@ -391,6 +391,7 @@ type ServerRequestParam struct {
// ServerRequestResult is the result of NewServerRequest.
type ServerRequestResult struct {
// Various http.Request fields.
+ Host string
URL *url.URL
RequestURI string
Trailer map[string][]string
@@ -433,21 +434,55 @@ func NewServerRequest(rp ServerRequestParam) ServerRequestResult {
}
delete(rp.Header, "Trailer")
+ authority := rp.Authority
+ if host := rp.Header["Host"]; len(host) == 1 {
+ // HTTP/2 and HTTP/3 permit the Host header to be present,
+ // but it must match the :authority pseudo-header.
+ if authority == "" {
+ authority = host[0]
+ } else if host[0] != authority {
+ return ServerRequestResult{
+ InvalidReason: "authority_host_mismatch",
+ }
+ }
+ delete(rp.Header, "Host")
+ } else if len(host) > 1 {
+ // HTTP/1.1 rejects any request containing more than one Host header.
+ // HTTP/2 and HTTP/3 don't use the Host header, but reject multiple anyway.
+ return ServerRequestResult{
+ InvalidReason: "multiple_host_headers",
+ }
+ }
+
// "':authority' MUST NOT include the deprecated userinfo subcomponent
// for "http" or "https" schemed URIs."
// https://www.rfc-editor.org/rfc/rfc9113.html#section-8.3.1-2.3.8
- if strings.IndexByte(rp.Authority, '@') != -1 && (rp.Scheme == "http" || rp.Scheme == "https") {
+ if strings.IndexByte(authority, '@') != -1 && (rp.Scheme == "http" || rp.Scheme == "https") {
return ServerRequestResult{
InvalidReason: "userinfo_in_authority",
}
}
+ if authority != "" && !httpguts.ValidHostHeader(authority) {
+ return ServerRequestResult{
+ InvalidReason: "invalid_authority",
+ }
+ }
+
var url_ *url.URL
var requestURI string
if rp.Method == "CONNECT" && rp.Protocol == "" {
- url_ = &url.URL{Host: rp.Authority}
- requestURI = rp.Authority // mimic HTTP/1 server behavior
+ url_ = &url.URL{Host: authority}
+ requestURI = authority // mimic HTTP/1 server behavior
} else {
+ // "[The :path] pseudo-header field MUST NOT be empty [...]"
+ // https://www.rfc-editor.org/rfc/rfc9113.html#section-8.3.1-2.4.2
+ if rp.Path == "" || (rp.Path[0] != '/' && rp.Path != "*") {
+ return ServerRequestResult{
+ InvalidReason: "bad_path",
+ }
+ }
+
var err error
url_, err = url.ParseRequestURI(rp.Path)
if err != nil {
@@ -459,6 +494,7 @@ func NewServerRequest(rp ServerRequestParam) ServerRequestResult {
}
return ServerRequestResult{
+ Host: authority,
URL: url_,
NeedsContinue: needsContinue,
RequestURI: requestURI,
diff --git a/vendor/golang.org/x/net/trace/histogram.go b/vendor/golang.org/x/net/trace/histogram.go
index d6c71101e..2f7868314 100644
--- a/vendor/golang.org/x/net/trace/histogram.go
+++ b/vendor/golang.org/x/net/trace/histogram.go
@@ -70,10 +70,7 @@ func log2(i int64) int {
}
func getBucket(i int64) (index int) {
- index = log2(i) - 1
- if index < 0 {
- index = 0
- }
+ index = max(log2(i)-1, 0)
if index >= bucketCount {
index = bucketCount - 1
}
diff --git a/vendor/golang.org/x/oauth2/google/default.go b/vendor/golang.org/x/oauth2/google/default.go
index 6e5720699..069f1aac9 100644
--- a/vendor/golang.org/x/oauth2/google/default.go
+++ b/vendor/golang.org/x/oauth2/google/default.go
@@ -253,7 +253,7 @@ func FindDefaultCredentialsWithParams(ctx context.Context, params CredentialsPar
if metadata.OnGCE() {
id, _ := metadata.ProjectID()
universeDomainProvider := func() (string, error) {
- universeDomain, err := metadata.Get("universe/universe_domain")
+ universeDomain, err := metadata.Get("universe/universe-domain")
if err != nil {
if _, ok := err.(metadata.NotDefinedError); ok {
// http.StatusNotFound (404)
diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go
index f69fd7546..c261a8ebb 100644
--- a/vendor/golang.org/x/sync/errgroup/errgroup.go
+++ b/vendor/golang.org/x/sync/errgroup/errgroup.go
@@ -109,7 +109,7 @@ func (g *Group) TryGo(f func() error) bool {
if g.sem != nil {
select {
case g.sem <- token{}:
- // Note: this allows barging iff channels in general allow barging.
+ // Note: this allows barging if and only if channels in general allow barging.
default:
return false
}
diff --git a/vendor/golang.org/x/sync/singleflight/singleflight.go b/vendor/golang.org/x/sync/singleflight/singleflight.go
new file mode 100644
index 000000000..32e40bdc8
--- /dev/null
+++ b/vendor/golang.org/x/sync/singleflight/singleflight.go
@@ -0,0 +1,214 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package singleflight provides a duplicate function call suppression
+// mechanism.
+package singleflight // import "golang.org/x/sync/singleflight"
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "runtime"
+ "runtime/debug"
+ "sync"
+)
+
+// errGoexit indicates runtime.Goexit was called in
+// the user-given function.
+var errGoexit = errors.New("runtime.Goexit was called")
+
+// A panicError is an arbitrary value recovered from a panic
+// with the stack trace during the execution of the given function.
+type panicError struct {
+ value any
+ stack []byte
+}
+
+// Error implements error interface.
+func (p *panicError) Error() string {
+ return fmt.Sprintf("%v\n\n%s", p.value, p.stack)
+}
+
+func (p *panicError) Unwrap() error {
+ err, ok := p.value.(error)
+ if !ok {
+ return nil
+ }
+
+ return err
+}
+
+func newPanicError(v any) error {
+ stack := debug.Stack()
+
+ // The first line of the stack trace is of the form "goroutine N [status]:"
+ // but by the time the panic reaches Do the goroutine may no longer exist
+ // and its status will have changed. Trim out the misleading line.
+ if line := bytes.IndexByte(stack[:], '\n'); line >= 0 {
+ stack = stack[line+1:]
+ }
+ return &panicError{value: v, stack: stack}
+}
+
+// call is an in-flight or completed singleflight.Do call
+type call struct {
+ wg sync.WaitGroup
+
+ // These fields are written once before the WaitGroup is done
+ // and are only read after the WaitGroup is done.
+ val any
+ err error
+
+ // These fields are read and written with the singleflight
+ // mutex held before the WaitGroup is done, and are read but
+ // not written after the WaitGroup is done.
+ dups int
+ chans []chan<- Result
+}
+
+// Group represents a class of work and forms a namespace in
+// which units of work can be executed with duplicate suppression.
+type Group struct {
+ mu sync.Mutex // protects m
+ m map[string]*call // lazily initialized
+}
+
+// Result holds the results of Do, so they can be passed
+// on a channel.
+type Result struct {
+ Val any
+ Err error
+ Shared bool
+}
+
+// Do executes and returns the results of the given function, making
+// sure that only one execution is in-flight for a given key at a
+// time. If a duplicate comes in, the duplicate caller waits for the
+// original to complete and receives the same results.
+// The return value shared indicates whether v was given to multiple callers.
+func (g *Group) Do(key string, fn func() (any, error)) (v any, err error, shared bool) {
+ g.mu.Lock()
+ if g.m == nil {
+ g.m = make(map[string]*call)
+ }
+ if c, ok := g.m[key]; ok {
+ c.dups++
+ g.mu.Unlock()
+ c.wg.Wait()
+
+ if e, ok := c.err.(*panicError); ok {
+ panic(e)
+ } else if c.err == errGoexit {
+ runtime.Goexit()
+ }
+ return c.val, c.err, true
+ }
+ c := new(call)
+ c.wg.Add(1)
+ g.m[key] = c
+ g.mu.Unlock()
+
+ g.doCall(c, key, fn)
+ return c.val, c.err, c.dups > 0
+}
+
+// DoChan is like Do but returns a channel that will receive the
+// results when they are ready.
+//
+// The returned channel will not be closed.
+func (g *Group) DoChan(key string, fn func() (any, error)) <-chan Result {
+ ch := make(chan Result, 1)
+ g.mu.Lock()
+ if g.m == nil {
+ g.m = make(map[string]*call)
+ }
+ if c, ok := g.m[key]; ok {
+ c.dups++
+ c.chans = append(c.chans, ch)
+ g.mu.Unlock()
+ return ch
+ }
+ c := &call{chans: []chan<- Result{ch}}
+ c.wg.Add(1)
+ g.m[key] = c
+ g.mu.Unlock()
+
+ go g.doCall(c, key, fn)
+
+ return ch
+}
+
+// doCall handles the single call for a key.
+func (g *Group) doCall(c *call, key string, fn func() (any, error)) {
+ normalReturn := false
+ recovered := false
+
+ // use double-defer to distinguish panic from runtime.Goexit,
+ // more details see https://golang.org/cl/134395
+ defer func() {
+ // the given function invoked runtime.Goexit
+ if !normalReturn && !recovered {
+ c.err = errGoexit
+ }
+
+ g.mu.Lock()
+ defer g.mu.Unlock()
+ c.wg.Done()
+ if g.m[key] == c {
+ delete(g.m, key)
+ }
+
+ if e, ok := c.err.(*panicError); ok {
+ // In order to prevent the waiting channels from being blocked forever,
+ // needs to ensure that this panic cannot be recovered.
+ if len(c.chans) > 0 {
+ go panic(e)
+ select {} // Keep this goroutine around so that it will appear in the crash dump.
+ } else {
+ panic(e)
+ }
+ } else if c.err == errGoexit {
+ // Already in the process of goexit, no need to call again
+ } else {
+ // Normal return
+ for _, ch := range c.chans {
+ ch <- Result{c.val, c.err, c.dups > 0}
+ }
+ }
+ }()
+
+ func() {
+ defer func() {
+ if !normalReturn {
+ // Ideally, we would wait to take a stack trace until we've determined
+ // whether this is a panic or a runtime.Goexit.
+ //
+ // Unfortunately, the only way we can distinguish the two is to see
+ // whether the recover stopped the goroutine from terminating, and by
+ // the time we know that, the part of the stack trace relevant to the
+ // panic has been discarded.
+ if r := recover(); r != nil {
+ c.err = newPanicError(r)
+ }
+ }
+ }()
+
+ c.val, c.err = fn()
+ normalReturn = true
+ }()
+
+ if !normalReturn {
+ recovered = true
+ }
+}
+
+// Forget tells the singleflight to forget about a key. Future calls
+// to Do for this key will call the function rather than waiting for
+// an earlier call to complete.
+func (g *Group) Forget(key string) {
+ g.mu.Lock()
+ delete(g.m, key)
+ g.mu.Unlock()
+}
diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go
index 63541994e..422b139cd 100644
--- a/vendor/golang.org/x/sys/cpu/cpu.go
+++ b/vendor/golang.org/x/sys/cpu/cpu.go
@@ -61,7 +61,11 @@ var X86 struct {
HasBMI2 bool // Bit manipulation instruction set 2
HasCX16 bool // Compare and exchange 16 Bytes
HasERMS bool // Enhanced REP for MOVSB and STOSB
+ HasF16C bool // 16-bit floating-point conversion instructions
HasFMA bool // Fused-multiply-add instructions
+ HasLAHF bool // LAHF/SAHF available in 64-bit mode
+ HasLZCNT bool // Leading zeros count instruction
+ HasMOVBE bool // Move data after byte swap
HasOSXSAVE bool // OS supports XSAVE/XRESTOR for saving/restoring XMM registers.
HasPCLMULQDQ bool // PCLMULQDQ instruction - most often used for AES-GCM
HasPOPCNT bool // Hamming weight instruction POPCNT.
@@ -75,6 +79,7 @@ var X86 struct {
HasAVXIFMA bool // Advanced vector extension Integer Fused Multiply Add
HasAVXVNNI bool // Advanced vector extension Vector Neural Network Instructions
HasAVXVNNIInt8 bool // Advanced vector extension Vector Neural Network Int8 instructions
+ HasXSAVE bool // XSAVE/XRSTOR/XSETBV/XGETBV instructions (hardware support; see also HasOSXSAVE)
_ CacheLinePad
}
@@ -152,13 +157,17 @@ var ARM struct {
// The booleans in Loong64 contain the correspondingly named cpu feature bit.
// The struct is padded to avoid false sharing.
var Loong64 struct {
- _ CacheLinePad
- HasLSX bool // support 128-bit vector extension
- HasLASX bool // support 256-bit vector extension
- HasCRC32 bool // support CRC instruction
- HasLAM_BH bool // support AM{SWAP/ADD}[_DB].{B/H} instruction
- HasLAMCAS bool // support AMCAS[_DB].{B/H/W/D} instruction
- _ CacheLinePad
+ _ CacheLinePad
+ HasLSX bool // support 128-bit vector extension
+ HasLASX bool // support 256-bit vector extension
+ HasCRC32 bool // support CRC instruction
+ HasLAMCAS bool // support AMCAS[_DB].{B/H/W/D}
+ HasLAM_BH bool // support AM{SWAP/ADD}[_DB].{B/H} instruction
+ HasLLACQ_SCREL bool // support LLACQ.{W/D}, SCREL.{W/D} instruction
+ HasSCQ bool // support SC.Q instruction
+ HasDBAR_HINTS bool // supports finer-grained DBAR hints
+
+ _ CacheLinePad
}
// MIPS64X contains the supported CPU features of the current mips64/mips64le
@@ -178,12 +187,13 @@ var MIPS64X struct {
// require kernel support to work (DARN, SCV), so there are feature bits for
// those as well. The struct is padded to avoid false sharing.
var PPC64 struct {
- _ CacheLinePad
- HasDARN bool // Hardware random number generator (requires kernel enablement)
- HasSCV bool // Syscall vectored (requires kernel enablement)
- IsPOWER8 bool // ISA v2.07 (POWER8)
- IsPOWER9 bool // ISA v3.00 (POWER9), implies IsPOWER8
- _ CacheLinePad
+ _ CacheLinePad
+ HasDARN bool // Hardware random number generator (requires kernel enablement)
+ HasSCV bool // Syscall vectored (requires kernel enablement)
+ IsPOWER8 bool // ISA v2.07 (POWER8)
+ IsPOWER9 bool // ISA v3.00 (POWER9), implies IsPOWER8
+ IsPOWER10 bool // ISA v3.1 (POWER10 and POWER11; POWER11 did not add a new architected level), implies IsPOWER9
+ _ CacheLinePad
}
// S390X contains the supported CPU features of the current IBM Z
@@ -232,6 +242,7 @@ var RISCV64 struct {
HasZba bool // Address generation instructions extension
HasZbb bool // Basic bit-manipulation extension
HasZbs bool // Single-bit instructions extension
+ HasZbc bool // Carryless multiplication extension
HasZvbb bool // Vector Basic Bit-manipulation
HasZvbc bool // Vector Carryless Multiplication
HasZvkb bool // Vector Cryptography Bit-manipulation
@@ -243,13 +254,21 @@ var RISCV64 struct {
HasZvks bool // ShangMi Algorithm Suite
HasZvksc bool // ShangMi Algorithm Suite with carryless multiplication
HasZvksg bool // ShangMi Algorithm Suite with GCM
+ VLENB uint // Vector register length in bytes, 0 if undetected
_ CacheLinePad
}
+// doDerived, if non-nil, is called after processing GODEBUG to set "derived"
+// feature flags.
+var doDerived func()
+
func init() {
archInit()
initOptions()
processOptions()
+ if doDerived != nil {
+ doDerived()
+ }
}
// options contains the cpu debug options that can be used in GODEBUG.
diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_gc_riscv64.go
new file mode 100644
index 000000000..3d660dd48
--- /dev/null
+++ b/vendor/golang.org/x/sys/cpu/cpu_gc_riscv64.go
@@ -0,0 +1,11 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build gc
+
+package cpu
+
+// Can only be called when the vector extension is present.
+// Implemented in cpu_riscv64.s.
+func readVLENB() uint
diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go b/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
index 197188e67..70b3dc7dd 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
@@ -11,6 +11,7 @@ const (
// ISA Level
_PPC_FEATURE2_ARCH_2_07 = 0x80000000
_PPC_FEATURE2_ARCH_3_00 = 0x00800000
+ _PPC_FEATURE2_ARCH_3_1 = 0x00040000
// CPU features
_PPC_FEATURE2_DARN = 0x00200000
@@ -21,6 +22,9 @@ func doinit() {
// HWCAP2 feature bits
PPC64.IsPOWER8 = isSet(hwCap2, _PPC_FEATURE2_ARCH_2_07)
PPC64.IsPOWER9 = isSet(hwCap2, _PPC_FEATURE2_ARCH_3_00)
+ // ISA 3.1 covers both POWER10 and POWER11: POWER11 did not introduce a
+ // new architected HWCAP level, so there is no separate IsPOWER11.
+ PPC64.IsPOWER10 = isSet(hwCap2, _PPC_FEATURE2_ARCH_3_1)
PPC64.HasDARN = isSet(hwCap2, _PPC_FEATURE2_DARN)
PPC64.HasSCV = isSet(hwCap2, _PPC_FEATURE2_SCV)
}
diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
index ad741536f..53e909114 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
@@ -58,6 +58,7 @@ const (
riscv_HWPROBE_EXT_ZBA = 0x8
riscv_HWPROBE_EXT_ZBB = 0x10
riscv_HWPROBE_EXT_ZBS = 0x20
+ riscv_HWPROBE_EXT_ZBC = 0x80
riscv_HWPROBE_EXT_ZVBB = 0x20000
riscv_HWPROBE_EXT_ZVBC = 0x40000
riscv_HWPROBE_EXT_ZVKB = 0x80000
@@ -108,6 +109,7 @@ func doinit() {
RISCV64.HasZba = isSet(v, riscv_HWPROBE_EXT_ZBA)
RISCV64.HasZbb = isSet(v, riscv_HWPROBE_EXT_ZBB)
RISCV64.HasZbs = isSet(v, riscv_HWPROBE_EXT_ZBS)
+ RISCV64.HasZbc = isSet(v, riscv_HWPROBE_EXT_ZBC)
RISCV64.HasZvbb = isSet(v, riscv_HWPROBE_EXT_ZVBB)
RISCV64.HasZvbc = isSet(v, riscv_HWPROBE_EXT_ZVBC)
RISCV64.HasZvkb = isSet(v, riscv_HWPROBE_EXT_ZVKB)
@@ -128,6 +130,9 @@ func doinit() {
RISCV64.HasFastMisaligned = v == riscv_HWPROBE_MISALIGNED_FAST
}
}
+ if RISCV64.HasV {
+ RISCV64.VLENB = readVLENB()
+ }
// Let's double check with HWCAP if the C extension does not appear to be supported.
// This may happen if we're running on a kernel older than 6.4.
@@ -135,6 +140,14 @@ func doinit() {
if !RISCV64.HasC {
RISCV64.HasC = isSet(hwCap, hwcap_RISCV_ISA_C)
}
+
+ doDerived = func() {
+ // If the vector extension is disabled by GODEBUG, then the VLENB is zero.
+ if !RISCV64.HasV {
+ RISCV64.VLENB = 0
+ }
+ }
+
}
func isSet(hwc uint, value uint) bool {
diff --git a/vendor/golang.org/x/sys/cpu/cpu_loong64.go b/vendor/golang.org/x/sys/cpu/cpu_loong64.go
index 45ecb29ae..8c234b441 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_loong64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_loong64.go
@@ -15,8 +15,13 @@ const (
cpucfg1_CRC32 = 1 << 25
// CPUCFG2 bits
- cpucfg2_LAM_BH = 1 << 27
- cpucfg2_LAMCAS = 1 << 28
+ cpucfg2_LAM_BH = 1 << 27
+ cpucfg2_LAMCAS = 1 << 28
+ cpucfg2_LLACQ_SCREL = 1 << 29
+ cpucfg2_SCQ = 1 << 30
+
+ // CPUCFG3 bits
+ cpucfg3_DBAR_HINTS = 1 << 17
)
func initOptions() {
@@ -26,6 +31,9 @@ func initOptions() {
{Name: "crc32", Feature: &Loong64.HasCRC32},
{Name: "lam_bh", Feature: &Loong64.HasLAM_BH},
{Name: "lamcas", Feature: &Loong64.HasLAMCAS},
+ {Name: "llacq_screl", Feature: &Loong64.HasLLACQ_SCREL},
+ {Name: "scq", Feature: &Loong64.HasSCQ},
+ {Name: "dbar_hints", Feature: &Loong64.HasDBAR_HINTS},
}
// The CPUCFG data on Loong64 only reflects the hardware capabilities,
@@ -37,10 +45,14 @@ func initOptions() {
// through CPUCFG
cfg1 := get_cpucfg(1)
cfg2 := get_cpucfg(2)
+ cfg3 := get_cpucfg(3)
Loong64.HasCRC32 = cfgIsSet(cfg1, cpucfg1_CRC32)
Loong64.HasLAMCAS = cfgIsSet(cfg2, cpucfg2_LAMCAS)
Loong64.HasLAM_BH = cfgIsSet(cfg2, cpucfg2_LAM_BH)
+ Loong64.HasLLACQ_SCREL = cfgIsSet(cfg2, cpucfg2_LLACQ_SCREL)
+ Loong64.HasSCQ = cfgIsSet(cfg2, cpucfg2_SCQ)
+ Loong64.HasDBAR_HINTS = cfgIsSet(cfg3, cpucfg3_DBAR_HINTS)
}
func get_cpucfg(reg uint32) uint32
diff --git a/vendor/golang.org/x/sys/cpu/cpu_netbsd_amd64.go b/vendor/golang.org/x/sys/cpu/cpu_netbsd_amd64.go
new file mode 100644
index 000000000..4f981b1c8
--- /dev/null
+++ b/vendor/golang.org/x/sys/cpu/cpu_netbsd_amd64.go
@@ -0,0 +1,47 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build netbsd && amd64 && gc
+
+package cpu
+
+func doinit() {
+ // NetBSD corrupts avx registers when receiving signals.
+ // See issue 80285.
+ // TODO: when NetBSD fixes the bug, add a version
+ // check and skip here.
+ X86.HasAVX = false
+ X86.HasAVX2 = false
+ // Set these also, just to be safe
+ X86.HasAVXVNNI = false
+ X86.HasAVX512 = false
+ X86.HasAVX512F = false
+ X86.HasAVX512CD = false
+ X86.HasAVX512CD = false
+ X86.HasAVX512ER = false
+ X86.HasAVX512PF = false
+ X86.HasAVX512VL = false
+ X86.HasAVX512BW = false
+ X86.HasAVX512DQ = false
+ X86.HasAVX512IFMA = false
+ X86.HasAVX512VBMI = false
+ X86.HasAVX5124VNNIW = false
+ X86.HasAVX5124FMAPS = false
+ X86.HasAVX512VPOPCNTDQ = false
+ X86.HasAVX512VPCLMULQDQ = false
+ X86.HasAVX512VNNI = false
+ X86.HasAVX512GFNI = false
+ X86.HasAVX512VAES = false
+ X86.HasAVX512VBMI2 = false
+ X86.HasAVX512BITALG = false
+ X86.HasAVX512BF16 = false
+ X86.HasAVXIFMA = false
+ X86.HasAVXVNNI = false
+ X86.HasAVXVNNIInt8 = false
+
+}
+
+func darwinSupportsAVX512() bool {
+ panic("only implemented for gc && amd64 && darwin")
+}
diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
index 53f814d7a..6c7c5bfd5 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build !darwin && !linux && !netbsd && !openbsd && arm64
+//go:build !darwin && !linux && !netbsd && !openbsd && !windows && arm64
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_x86.go b/vendor/golang.org/x/sys/cpu/cpu_other_x86.go
index a0fd7e2f7..82b7580d0 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_other_x86.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_other_x86.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build 386 || amd64p32 || (amd64 && (!darwin || !gc))
+//go:build 386 || amd64p32 || (amd64 && ((!darwin && !netbsd) || !gc))
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
index 0f617aef5..d4e9885f3 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
@@ -16,6 +16,7 @@ func initOptions() {
{Name: "zba", Feature: &RISCV64.HasZba},
{Name: "zbb", Feature: &RISCV64.HasZbb},
{Name: "zbs", Feature: &RISCV64.HasZbs},
+ {Name: "zbc", Feature: &RISCV64.HasZbc},
// RISC-V Cryptography Extensions
{Name: "zvbb", Feature: &RISCV64.HasZvbb},
{Name: "zvbc", Feature: &RISCV64.HasZvbc},
diff --git a/vendor/golang.org/x/sys/cpu/cpu_riscv64.s b/vendor/golang.org/x/sys/cpu/cpu_riscv64.s
new file mode 100644
index 000000000..b092fb269
--- /dev/null
+++ b/vendor/golang.org/x/sys/cpu/cpu_riscv64.s
@@ -0,0 +1,17 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build gc
+
+#include "textflag.h"
+
+// Read the vector register length in bytes from the vlenb CSR.
+// May only be called when the vector extension is present.
+// func readVLENB() uint
+TEXT ·readVLENB(SB), NOSPLIT|NOFRAME, $0-8
+ // Go 1.25's assembler does not recognize VLENB, so use its raw CSRR encoding.
+ // Replace WORD with CSRR VLENB, X10 once go.mod requires Go 1.27.
+ WORD $0xc2202573
+ MOV X10, ret+0(FP)
+ RET
diff --git a/vendor/golang.org/x/sys/cpu/cpu_sparc64.go b/vendor/golang.org/x/sys/cpu/cpu_sparc64.go
new file mode 100644
index 000000000..0199ef19b
--- /dev/null
+++ b/vendor/golang.org/x/sys/cpu/cpu_sparc64.go
@@ -0,0 +1,12 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build sparc64
+
+package cpu
+
+// The L1 line is 32 bytes; false sharing is governed by the 64-byte L2 line.
+const cacheLineSize = 64
+
+func initOptions() {}
diff --git a/vendor/golang.org/x/sys/cpu/cpu_windows.go b/vendor/golang.org/x/sys/cpu/cpu_windows.go
new file mode 100644
index 000000000..99ec8fdfc
--- /dev/null
+++ b/vendor/golang.org/x/sys/cpu/cpu_windows.go
@@ -0,0 +1,26 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package cpu
+
+//go:generate go run golang.org/x/sys/windows/mkwinsyscall -systemdll=false -output zcpu_windows.go cpu_windows.go
+
+//sys isProcessorFeaturePresent(ProcessorFeature uint32) (ret bool) = kernel32.IsProcessorFeaturePresent
+
+// The processor features to be tested for IsProcessorFeaturePresent, see
+// https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-isprocessorfeaturepresent
+const (
+ _PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE = 30
+ _PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE = 31
+ _PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE = 34
+ _PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE = 43
+
+ _PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44
+ _PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45
+ _PF_ARM_SVE_INSTRUCTIONS_AVAILABLE = 46
+ _PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47
+
+ _PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64
+ _PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65
+)
diff --git a/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go
new file mode 100644
index 000000000..034732e55
--- /dev/null
+++ b/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go
@@ -0,0 +1,38 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package cpu
+
+func doinit() {
+ // set HasASIMD and HasFP to true as per
+ // https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#base-requirements
+ //
+ // The ARM64 version of Windows always presupposes that it's running on an ARMv8 or later architecture.
+ // Both floating-point and NEON support are presumed to be present in hardware.
+ //
+ ARM64.HasASIMD = true
+ ARM64.HasFP = true
+
+ if isProcessorFeaturePresent(_PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) {
+ ARM64.HasAES = true
+ ARM64.HasPMULL = true
+ ARM64.HasSHA1 = true
+ ARM64.HasSHA2 = true
+ }
+ ARM64.HasSHA3 = isProcessorFeaturePresent(_PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE)
+ ARM64.HasCRC32 = isProcessorFeaturePresent(_PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE)
+ ARM64.HasSHA512 = isProcessorFeaturePresent(_PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE)
+ ARM64.HasATOMICS = isProcessorFeaturePresent(_PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE)
+ if isProcessorFeaturePresent(_PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE) {
+ ARM64.HasASIMDDP = true
+ ARM64.HasASIMDRDM = true
+ }
+ if isProcessorFeaturePresent(_PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE) {
+ ARM64.HasLRCPC = true
+ ARM64.HasSM3 = true
+ }
+ ARM64.HasSVE = isProcessorFeaturePresent(_PF_ARM_SVE_INSTRUCTIONS_AVAILABLE)
+ ARM64.HasSVE2 = isProcessorFeaturePresent(_PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE)
+ ARM64.HasJSCVT = isProcessorFeaturePresent(_PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE)
+}
diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.go b/vendor/golang.org/x/sys/cpu/cpu_x86.go
index f5723d4f7..7e6cead53 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_x86.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_x86.go
@@ -43,7 +43,11 @@ func initOptions() {
{Name: "bmi2", Feature: &X86.HasBMI2},
{Name: "cx16", Feature: &X86.HasCX16},
{Name: "erms", Feature: &X86.HasERMS},
+ {Name: "f16c", Feature: &X86.HasF16C},
{Name: "fma", Feature: &X86.HasFMA},
+ {Name: "lahf", Feature: &X86.HasLAHF},
+ {Name: "lzcnt", Feature: &X86.HasLZCNT},
+ {Name: "movbe", Feature: &X86.HasMOVBE},
{Name: "osxsave", Feature: &X86.HasOSXSAVE},
{Name: "pclmulqdq", Feature: &X86.HasPCLMULQDQ},
{Name: "popcnt", Feature: &X86.HasPOPCNT},
@@ -56,6 +60,7 @@ func initOptions() {
{Name: "avxifma", Feature: &X86.HasAVXIFMA},
{Name: "avxvnni", Feature: &X86.HasAVXVNNI},
{Name: "avxvnniint8", Feature: &X86.HasAVXVNNIInt8},
+ {Name: "xsave", Feature: &X86.HasXSAVE},
// These capabilities should always be enabled on amd64:
{Name: "sse2", Feature: &X86.HasSSE2, Required: runtime.GOARCH == "amd64"},
@@ -83,10 +88,13 @@ func archInit() {
cpuid_AVX512VPOPCNTDQ = 1 << 14
cpuid_SSE41 = 1 << 19
cpuid_SSE42 = 1 << 20
+ cpuid_MOVBE = 1 << 22
cpuid_POPCNT = 1 << 23
cpuid_AES = 1 << 25
+ cpuid_XSAVE = 1 << 26
cpuid_OSXSAVE = 1 << 27
cpuid_AVX = 1 << 28
+ cpuid_F16C = 1 << 29
// "Extended Feature Flag" bits returned in EBX for CPUID EAX=0x7 ECX=0x0
cpuid_BMI1 = 1 << 3
@@ -110,6 +118,9 @@ func archInit() {
// edx bits
cpuid_FSRM = 1 << 4
+ // ecx bits for CPUID 0x80000001
+ cpuid_LAHF = 1 << 0
+ cpuid_LZCNT = 1 << 5
// edx bits for CPUID 0x80000001
cpuid_RDTSCP = 1 << 27
)
@@ -158,9 +169,21 @@ func archInit() {
X86.HasSSE42 = isSet(ecx1, cpuid_SSE42)
X86.HasPOPCNT = isSet(ecx1, cpuid_POPCNT)
X86.HasAES = isSet(ecx1, cpuid_AES)
+ X86.HasXSAVE = isSet(ecx1, cpuid_XSAVE)
X86.HasOSXSAVE = isSet(ecx1, cpuid_OSXSAVE)
+ X86.HasF16C = isSet(ecx1, cpuid_F16C)
+ X86.HasMOVBE = isSet(ecx1, cpuid_MOVBE)
X86.HasRDRAND = isSet(ecx1, cpuid_RDRAND)
+ // Extended processor info and feature bits, under the separate extended
+ // (0x8000_0000-prefixed) leaf hierarchy, so maxID (the basic leaf count)
+ // doesn't gate it.
+ if maxExtID, _, _, _ := cpuid(0x80000000, 0); maxExtID >= 0x80000001 {
+ _, _, ecxExt1, _ := cpuid(0x80000001, 0)
+ X86.HasLAHF = isSet(ecxExt1, cpuid_LAHF)
+ X86.HasLZCNT = isSet(ecxExt1, cpuid_LZCNT)
+ }
+
var osSupportsAVX, osSupportsAVX512 bool
// For XGETBV, OSXSAVE bit is required and sufficient.
if X86.HasOSXSAVE {
diff --git a/vendor/golang.org/x/sys/cpu/parse.go b/vendor/golang.org/x/sys/cpu/parse.go
index 56a7e1a17..12a99af5c 100644
--- a/vendor/golang.org/x/sys/cpu/parse.go
+++ b/vendor/golang.org/x/sys/cpu/parse.go
@@ -6,38 +6,50 @@ package cpu
import "strconv"
-// parseRelease parses a dot-separated version number. It follows the semver
-// syntax, but allows the minor and patch versions to be elided.
+// parseRelease parses a dot-separated version number from the prefix
+// of rel. It returns ok=true only if at least the major and minor
+// components were successfully parsed; the patch component is
+// best-effort. Trailing vendor or build suffixes such as
+// "-generic", "+", "_hi3535", or "-rc1" are ignored.
//
// This is a copy of the Go runtime's parseRelease from
-// https://golang.org/cl/209597.
+// https://golang.org/cl/209597, updated in https://golang.org/cl/781800.
func parseRelease(rel string) (major, minor, patch int, ok bool) {
- // Strip anything after a dash or plus.
- for i := range len(rel) {
- if rel[i] == '-' || rel[i] == '+' {
- rel = rel[:i]
- break
+ // next consumes a run of decimal digits from the front of rel,
+ // returning the parsed value. If the digits are followed by a
+ // '.', it is consumed and more is set so the caller knows to
+ // parse another component; otherwise scanning terminates and
+ // the rest of rel is discarded.
+ next := func() (n int, more, ok bool) {
+ i := 0
+ for i < len(rel) && rel[i] >= '0' && rel[i] <= '9' {
+ i++
}
- }
-
- next := func() (int, bool) {
- for i := range len(rel) {
- if rel[i] == '.' {
- ver, err := strconv.Atoi(rel[:i])
- rel = rel[i+1:]
- return ver, err == nil
- }
+ if i == 0 {
+ return 0, false, false
+ }
+ n, err := strconv.Atoi(rel[:i])
+ if err != nil {
+ return 0, false, false
+ }
+ if i < len(rel) && rel[i] == '.' {
+ rel = rel[i+1:]
+ return n, true, true
}
- ver, err := strconv.Atoi(rel)
rel = ""
- return ver, err == nil
+ return n, false, true
+ }
+
+ var more bool
+ if major, more, ok = next(); !ok || !more {
+ return 0, 0, 0, false
}
- if major, ok = next(); !ok || rel == "" {
- return
+ if minor, more, ok = next(); !ok {
+ return 0, 0, 0, false
}
- if minor, ok = next(); !ok || rel == "" {
- return
+ if !more {
+ return major, minor, 0, true
}
- patch, ok = next()
- return
+ patch, _, _ = next()
+ return major, minor, patch, true
}
diff --git a/vendor/golang.org/x/sys/cpu/zcpu_windows.go b/vendor/golang.org/x/sys/cpu/zcpu_windows.go
new file mode 100644
index 000000000..6411a7a71
--- /dev/null
+++ b/vendor/golang.org/x/sys/cpu/zcpu_windows.go
@@ -0,0 +1,48 @@
+// Code generated by 'go generate'; DO NOT EDIT.
+
+package cpu
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+var _ unsafe.Pointer
+
+// Do the interface allocations only once for common
+// Errno values.
+const (
+ errnoERROR_IO_PENDING = 997
+)
+
+var (
+ errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING)
+ errERROR_EINVAL error = syscall.EINVAL
+)
+
+// errnoErr returns common boxed Errno values, to prevent
+// allocations at runtime.
+func errnoErr(e syscall.Errno) error {
+ switch e {
+ case 0:
+ return errERROR_EINVAL
+ case errnoERROR_IO_PENDING:
+ return errERROR_IO_PENDING
+ }
+ // TODO: add more here, after collecting data on the common
+ // error values see on Windows. (perhaps when running
+ // all.bat?)
+ return e
+}
+
+var (
+ modkernel32 = syscall.NewLazyDLL("kernel32.dll")
+
+ procIsProcessorFeaturePresent = modkernel32.NewProc("IsProcessorFeaturePresent")
+)
+
+func isProcessorFeaturePresent(ProcessorFeature uint32) (ret bool) {
+ r0, _, _ := syscall.SyscallN(procIsProcessorFeaturePresent.Addr(), uintptr(ProcessorFeature))
+ ret = r0 != 0
+ return
+}
diff --git a/vendor/golang.org/x/sys/unix/affinity_linux.go b/vendor/golang.org/x/sys/unix/affinity_linux.go
index 3ea470387..acd6257fa 100644
--- a/vendor/golang.org/x/sys/unix/affinity_linux.go
+++ b/vendor/golang.org/x/sys/unix/affinity_linux.go
@@ -13,11 +13,19 @@ import (
const cpuSetSize = _CPU_SETSIZE / _NCPUBITS
-// CPUSet represents a CPU affinity mask.
+// CPUSet represents a bit mask of CPUs, to be used with [SchedGetaffinity], [SchedSetaffinity],
+// and [SetMemPolicy].
+//
+// Note this type can only represent CPU IDs 0 through 1023.
+// Use [CPUSetDynamic]/[NewCPUSet] instead to avoid this limit.
type CPUSet [cpuSetSize]cpuMask
-func schedAffinity(trap uintptr, pid int, set *CPUSet) error {
- _, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(*set)), uintptr(unsafe.Pointer(set)))
+// CPUSetDynamic represents a bit mask of CPUs, to be used with [SchedGetaffinityDynamic],
+// [SchedSetaffinityDynamic], and [SetMemPolicyDynamic]. Use [NewCPUSet] to allocate.
+type CPUSetDynamic []cpuMask
+
+func schedAffinity(trap uintptr, pid int, size uintptr, ptr unsafe.Pointer) error {
+ _, _, e := RawSyscall(trap, uintptr(pid), uintptr(size), uintptr(ptr))
if e != 0 {
return errnoErr(e)
}
@@ -27,13 +35,13 @@ func schedAffinity(trap uintptr, pid int, set *CPUSet) error {
// SchedGetaffinity gets the CPU affinity mask of the thread specified by pid.
// If pid is 0 the calling thread is used.
func SchedGetaffinity(pid int, set *CPUSet) error {
- return schedAffinity(SYS_SCHED_GETAFFINITY, pid, set)
+ return schedAffinity(SYS_SCHED_GETAFFINITY, pid, unsafe.Sizeof(*set), unsafe.Pointer(set))
}
// SchedSetaffinity sets the CPU affinity mask of the thread specified by pid.
// If pid is 0 the calling thread is used.
func SchedSetaffinity(pid int, set *CPUSet) error {
- return schedAffinity(SYS_SCHED_SETAFFINITY, pid, set)
+ return schedAffinity(SYS_SCHED_SETAFFINITY, pid, unsafe.Sizeof(*set), unsafe.Pointer(set))
}
// Zero clears the set s, so that it contains no CPUs.
@@ -45,9 +53,7 @@ func (s *CPUSet) Zero() {
// will silently ignore any invalid CPU bits in [CPUSet] so this is an
// efficient way of resetting the CPU affinity of a process.
func (s *CPUSet) Fill() {
- for i := range s {
- s[i] = ^cpuMask(0)
- }
+ cpuMaskFill(s[:])
}
func cpuBitsIndex(cpu int) int {
@@ -58,24 +64,27 @@ func cpuBitsMask(cpu int) cpuMask {
return cpuMask(1 << (uint(cpu) % _NCPUBITS))
}
-// Set adds cpu to the set s.
-func (s *CPUSet) Set(cpu int) {
+func cpuMaskFill(s []cpuMask) {
+ for i := range s {
+ s[i] = ^cpuMask(0)
+ }
+}
+
+func cpuMaskSet(s []cpuMask, cpu int) {
i := cpuBitsIndex(cpu)
if i < len(s) {
s[i] |= cpuBitsMask(cpu)
}
}
-// Clear removes cpu from the set s.
-func (s *CPUSet) Clear(cpu int) {
+func cpuMaskClear(s []cpuMask, cpu int) {
i := cpuBitsIndex(cpu)
if i < len(s) {
s[i] &^= cpuBitsMask(cpu)
}
}
-// IsSet reports whether cpu is in the set s.
-func (s *CPUSet) IsSet(cpu int) bool {
+func cpuMaskIsSet(s []cpuMask, cpu int) bool {
i := cpuBitsIndex(cpu)
if i < len(s) {
return s[i]&cpuBitsMask(cpu) != 0
@@ -83,11 +92,98 @@ func (s *CPUSet) IsSet(cpu int) bool {
return false
}
-// Count returns the number of CPUs in the set s.
-func (s *CPUSet) Count() int {
+func cpuMaskCount(s []cpuMask) int {
c := 0
for _, b := range s {
c += bits.OnesCount64(uint64(b))
}
return c
}
+
+// Set adds cpu to the set s. If cpu is out of bounds for s, no action is taken.
+func (s *CPUSet) Set(cpu int) {
+ cpuMaskSet(s[:], cpu)
+}
+
+// Clear removes cpu from the set s. If cpu is out of bounds for s, no action is taken.
+func (s *CPUSet) Clear(cpu int) {
+ cpuMaskClear(s[:], cpu)
+}
+
+// IsSet reports whether cpu is in the set s.
+func (s *CPUSet) IsSet(cpu int) bool {
+ return cpuMaskIsSet(s[:], cpu)
+}
+
+// Count returns the number of CPUs in the set s.
+func (s *CPUSet) Count() int {
+ return cpuMaskCount(s[:])
+}
+
+// NewCPUSet creates a CPU affinity mask capable of representing CPU IDs
+// up to maxCPU (exclusive).
+func NewCPUSet(maxCPU int) CPUSetDynamic {
+ numMasks := (maxCPU + _NCPUBITS - 1) / _NCPUBITS
+ if numMasks == 0 {
+ numMasks = 1
+ }
+ return make(CPUSetDynamic, numMasks)
+}
+
+// Zero clears the set s, so that it contains no CPUs.
+func (s CPUSetDynamic) Zero() {
+ clear(s)
+}
+
+// Fill adds all possible CPU bits to the set s. On Linux, [SchedSetaffinityDynamic]
+// will silently ignore any invalid CPU bits in [CPUSetDynamic] so this is an
+// efficient way of resetting the CPU affinity of a process.
+func (s CPUSetDynamic) Fill() {
+ cpuMaskFill(s)
+}
+
+// Set adds cpu to the set s. If cpu is out of bounds for s, no action is taken.
+func (s CPUSetDynamic) Set(cpu int) {
+ cpuMaskSet(s, cpu)
+}
+
+// Clear removes cpu from the set s. If cpu is out of bounds for s, no action is taken.
+func (s CPUSetDynamic) Clear(cpu int) {
+ cpuMaskClear(s, cpu)
+}
+
+// IsSet reports whether cpu is in the set s.
+func (s CPUSetDynamic) IsSet(cpu int) bool {
+ return cpuMaskIsSet(s, cpu)
+}
+
+// Count returns the number of CPUs in the set s.
+func (s CPUSetDynamic) Count() int {
+ return cpuMaskCount(s)
+}
+
+func (s CPUSetDynamic) size() uintptr {
+ return uintptr(len(s)) * unsafe.Sizeof(cpuMask(0))
+}
+
+func (s CPUSetDynamic) pointer() unsafe.Pointer {
+ if len(s) == 0 {
+ return nil
+ }
+ return unsafe.Pointer(&s[0])
+}
+
+// SchedGetaffinityDynamic gets the CPU affinity mask of the thread specified by pid.
+// If pid is 0 the calling thread is used.
+//
+// If the set is smaller than the size of the affinity mask used by the kernel,
+// [EINVAL] is returned.
+func SchedGetaffinityDynamic(pid int, set CPUSetDynamic) error {
+ return schedAffinity(SYS_SCHED_GETAFFINITY, pid, set.size(), set.pointer())
+}
+
+// SchedSetaffinityDynamic sets the CPU affinity mask of the thread specified by pid.
+// If pid is 0 the calling thread is used.
+func SchedSetaffinityDynamic(pid int, set CPUSetDynamic) error {
+ return schedAffinity(SYS_SCHED_SETAFFINITY, pid, set.size(), set.pointer())
+}
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
index bdfc024d2..2e1f4c3e7 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
@@ -13,6 +13,16 @@
// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.
+TEXT ·Syscall(SB),NOSPLIT,$0-56
+ MOVD $syscall·Syscall(SB), R31
+ MOVD R31, CTR
+ JMP (CTR)
+
+TEXT ·Syscall6(SB),NOSPLIT,$0-80
+ MOVD $syscall·Syscall6(SB), R31
+ MOVD R31, CTR
+ JMP (CTR)
+
TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
BL runtime·entersyscall(SB)
MOVD a1+8(FP), R3
@@ -28,6 +38,16 @@ TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
BL runtime·exitsyscall(SB)
RET
+TEXT ·RawSyscall(SB),NOSPLIT,$0-56
+ MOVD $syscall·RawSyscall(SB), R31
+ MOVD R31, CTR
+ JMP (CTR)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ MOVD $syscall·RawSyscall6(SB), R31
+ MOVD R31, CTR
+ JMP (CTR)
+
TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
MOVD a1+8(FP), R3
MOVD a2+16(FP), R4
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_sparc64.s b/vendor/golang.org/x/sys/unix/asm_linux_sparc64.s
new file mode 100644
index 000000000..77e1e327e
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_sparc64.s
@@ -0,0 +1,48 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build linux && sparc64 && gc
+
+#include "textflag.h"
+
+//
+// System calls for sparc64, Linux
+//
+
+// Just jump to package syscall's implementation for all these functions.
+// The runtime may know about them.
+
+TEXT ·Syscall(SB), NOSPLIT, $0-56
+ JMP syscall·Syscall(SB)
+
+TEXT ·Syscall6(SB), NOSPLIT, $0-80
+ JMP syscall·Syscall6(SB)
+
+TEXT ·SyscallNoError(SB), NOSPLIT, $0-48
+ CALL runtime·entersyscall(SB)
+ MOVD trap+0(FP), R1 // syscall entry
+ MOVD a1+8(FP), R8
+ MOVD a2+16(FP), R9
+ MOVD a3+24(FP), R10
+ TA $0x6d
+ MOVD R8, r1+32(FP)
+ MOVD R9, r2+40(FP)
+ CALL runtime·exitsyscall(SB)
+ RET
+
+TEXT ·RawSyscall(SB), NOSPLIT, $0-56
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB), NOSPLIT, $0-80
+ JMP syscall·RawSyscall6(SB)
+
+TEXT ·RawSyscallNoError(SB), NOSPLIT, $0-48
+ MOVD trap+0(FP), R1 // syscall entry
+ MOVD a1+8(FP), R8
+ MOVD a2+16(FP), R9
+ MOVD a3+24(FP), R10
+ TA $0x6d
+ MOVD R8, r1+32(FP)
+ MOVD R9, r2+40(FP)
+ RET
diff --git a/vendor/golang.org/x/sys/unix/asm_zos_s390x.s b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
index 813dfad7d..980f07a3b 100644
--- a/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
+++ b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
@@ -30,21 +30,8 @@
#define SVC_LOAD BYTE $0x0A; BYTE $0x08 // SVC 08 LOAD
#define SVC_DELETE BYTE $0x0A; BYTE $0x09 // SVC 09 DELETE
-DATA zosLibVec<>(SB)/8, $0
-GLOBL zosLibVec<>(SB), NOPTR, $8
-
-TEXT ·initZosLibVec(SB), NOSPLIT|NOFRAME, $0-0
- MOVW PSALAA, R8
- MOVD LCA64(R8), R8
- MOVD CAA(R8), R8
- MOVD EDCHPXV(R8), R8
- MOVD R8, zosLibVec<>(SB)
- RET
-
TEXT ·GetZosLibVec(SB), NOSPLIT|NOFRAME, $0-0
- MOVD zosLibVec<>(SB), R8
- MOVD R8, ret+0(FP)
- RET
+ JMP runtime·GetZosLibVec(SB)
TEXT ·clearErrno(SB), NOSPLIT, $0-0
BL addrerrno<>(SB)
@@ -160,163 +147,13 @@ TEXT ·gettid(SB), NOSPLIT, $0
// errno and errno2 is retrieved
//
TEXT ·CallLeFuncWithErr(SB), NOSPLIT, $0
- MOVW PSALAA, R8
- MOVD LCA64(R8), R8
- MOVD CAA(R8), R9
- MOVD g, GOCB(R9)
-
- // Restore LE stack.
- MOVD SAVSTACK_ASYNC(R8), R9 // R9-> LE stack frame saving address
- MOVD 0(R9), R4 // R4-> restore previously saved stack frame pointer
-
- MOVD parms_base+8(FP), R7 // R7 -> argument array
- MOVD parms_len+16(FP), R8 // R8 number of arguments
-
- // arg 1 ---> R1
- CMP R8, $0
- BEQ docall
- SUB $1, R8
- MOVD 0(R7), R1
-
- // arg 2 ---> R2
- CMP R8, $0
- BEQ docall
- SUB $1, R8
- ADD $8, R7
- MOVD 0(R7), R2
-
- // arg 3 --> R3
- CMP R8, $0
- BEQ docall
- SUB $1, R8
- ADD $8, R7
- MOVD 0(R7), R3
-
- CMP R8, $0
- BEQ docall
- MOVD $2176+16, R6 // starting LE stack address-8 to store 4th argument
-
-repeat:
- ADD $8, R7
- MOVD 0(R7), R0 // advance arg pointer by 8 byte
- ADD $8, R6 // advance LE argument address by 8 byte
- MOVD R0, (R4)(R6*1) // copy argument from go-slice to le-frame
- SUB $1, R8
- CMP R8, $0
- BNE repeat
-
-docall:
- MOVD funcdesc+0(FP), R8 // R8-> function descriptor
- LMG 0(R8), R5, R6
- MOVD $0, 0(R9) // R9 address of SAVSTACK_ASYNC
- LE_CALL // balr R7, R6 (return #1)
- NOPH
- MOVD R3, ret+32(FP)
- CMP R3, $-1 // compare result to -1
- BNE done
-
- // retrieve errno and errno2
- MOVD zosLibVec<>(SB), R8
- ADD $(__errno), R8
- LMG 0(R8), R5, R6
- LE_CALL // balr R7, R6 __errno (return #3)
- NOPH
- MOVWZ 0(R3), R3
- MOVD R3, err+48(FP)
- MOVD zosLibVec<>(SB), R8
- ADD $(__err2ad), R8
- LMG 0(R8), R5, R6
- LE_CALL // balr R7, R6 __err2ad (return #2)
- NOPH
- MOVW (R3), R2 // retrieve errno2
- MOVD R2, errno2+40(FP) // store in return area
-
-done:
- MOVD R4, 0(R9) // Save stack pointer.
- RET
-
+ JMP runtime·CallLeFuncWithErr(SB)
//
// Call LE function, if the return is 0
// errno and errno2 is retrieved
//
TEXT ·CallLeFuncWithPtrReturn(SB), NOSPLIT, $0
- MOVW PSALAA, R8
- MOVD LCA64(R8), R8
- MOVD CAA(R8), R9
- MOVD g, GOCB(R9)
-
- // Restore LE stack.
- MOVD SAVSTACK_ASYNC(R8), R9 // R9-> LE stack frame saving address
- MOVD 0(R9), R4 // R4-> restore previously saved stack frame pointer
-
- MOVD parms_base+8(FP), R7 // R7 -> argument array
- MOVD parms_len+16(FP), R8 // R8 number of arguments
-
- // arg 1 ---> R1
- CMP R8, $0
- BEQ docall
- SUB $1, R8
- MOVD 0(R7), R1
-
- // arg 2 ---> R2
- CMP R8, $0
- BEQ docall
- SUB $1, R8
- ADD $8, R7
- MOVD 0(R7), R2
-
- // arg 3 --> R3
- CMP R8, $0
- BEQ docall
- SUB $1, R8
- ADD $8, R7
- MOVD 0(R7), R3
-
- CMP R8, $0
- BEQ docall
- MOVD $2176+16, R6 // starting LE stack address-8 to store 4th argument
-
-repeat:
- ADD $8, R7
- MOVD 0(R7), R0 // advance arg pointer by 8 byte
- ADD $8, R6 // advance LE argument address by 8 byte
- MOVD R0, (R4)(R6*1) // copy argument from go-slice to le-frame
- SUB $1, R8
- CMP R8, $0
- BNE repeat
-
-docall:
- MOVD funcdesc+0(FP), R8 // R8-> function descriptor
- LMG 0(R8), R5, R6
- MOVD $0, 0(R9) // R9 address of SAVSTACK_ASYNC
- LE_CALL // balr R7, R6 (return #1)
- NOPH
- MOVD R3, ret+32(FP)
- CMP R3, $0 // compare result to 0
- BNE done
-
- // retrieve errno and errno2
- MOVD zosLibVec<>(SB), R8
- ADD $(__errno), R8
- LMG 0(R8), R5, R6
- LE_CALL // balr R7, R6 __errno (return #3)
- NOPH
- MOVWZ 0(R3), R3
- MOVD R3, err+48(FP)
- MOVD zosLibVec<>(SB), R8
- ADD $(__err2ad), R8
- LMG 0(R8), R5, R6
- LE_CALL // balr R7, R6 __err2ad (return #2)
- NOPH
- MOVW (R3), R2 // retrieve errno2
- MOVD R2, errno2+40(FP) // store in return area
- XOR R2, R2
- MOVWZ R2, (R3) // clear errno2
-
-done:
- MOVD R4, 0(R9) // Save stack pointer.
- RET
-
+ JMP runtime·CallLeFuncWithPtrReturn(SB)
//
// function to test if a pointer can be safely dereferenced (content read)
// return 0 for succces
@@ -360,23 +197,4 @@ TEXT ·ptrtest(SB), NOSPLIT, $0-16
//
// func safeload(ptr uintptr) ( value uintptr, error uintptr)
TEXT ·safeload(SB), NOSPLIT, $0-24
- MOVD ptr+0(FP), R10 // test pointer in R10
- MOVD $0x0, R6
- BYTE $0xE3; BYTE $0x20; BYTE $0x04; BYTE $0xB8; BYTE $0x00; BYTE $0x17 // llgt 2,1208
- BYTE $0xB9; BYTE $0x17; BYTE $0x00; BYTE $0x22 // llgtr 2,2
- BYTE $0xA5; BYTE $0x26; BYTE $0x7F; BYTE $0xFF // nilh 2,32767
- BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x58; BYTE $0x00; BYTE $0x04 // lg 2,88(2)
- BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x08; BYTE $0x00; BYTE $0x04 // lg 2,8(2)
- BYTE $0x41; BYTE $0x22; BYTE $0x03; BYTE $0x68 // la 2,872(2)
- BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x33 // xgr 3,3
- BYTE $0xA7; BYTE $0x55; BYTE $0x00; BYTE $0x04 // bras 5,lbl1
- BYTE $0xA7; BYTE $0x39; BYTE $0x00; BYTE $0x01 // lghi 3,1
- BYTE $0xB9; BYTE $0x02; BYTE $0x00; BYTE $0x33 // lbl1 ltgr 3,3
- BYTE $0xA7; BYTE $0x74; BYTE $0x00; BYTE $0x08 // brc b'0111',lbl2
- BYTE $0xE3; BYTE $0x52; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 5,0(2)
- BYTE $0xE3; BYTE $0x6A; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x04 // lg 6,0(10)
- BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x99 // lbl2 xgr 9,9
- BYTE $0xE3; BYTE $0x92; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 9,0(2)
- MOVD R6, value+8(FP) // result in R6
- MOVD R3, error+16(FP) // error in R3
- RET
+ JMP runtime·ZosSafeLoad(SB)
diff --git a/vendor/golang.org/x/sys/unix/bpxsvc_zos.s b/vendor/golang.org/x/sys/unix/bpxsvc_zos.s
index 4bd4a1798..1236e1e90 100644
--- a/vendor/golang.org/x/sys/unix/bpxsvc_zos.s
+++ b/vendor/golang.org/x/sys/unix/bpxsvc_zos.s
@@ -20,15 +20,15 @@ TEXT ·bpxcall(SB), NOSPLIT|NOFRAME, $0
MOVD plist_base+0(FP), R1 // r1 points to plist
MOVD bpx_offset+24(FP), R2 // r2 offset to BPX vector table
MOVD R14, R7 // save r14
- MOVD R15, R8 // save r15
- MOVWZ 16(R0), R9
- MOVWZ 544(R9), R9
- MOVWZ 24(R9), R9 // call vector in r9
- ADD R2, R9 // add offset to vector table
- MOVWZ (R9), R9 // r9 points to entry point
- BYTE $0x0D // BL R14,R9 --> basr r14,r9
- BYTE $0xE9 // clobbers 0,1,14,15
- MOVD R8, R15 // restore 15
+ MOVD R15, R9 // save r15
+ MOVWZ 16(R0), R15
+ MOVWZ 544(R15), R15
+ MOVWZ 24(R15), R15 // call vector in r15
+ ADD R2, R15 // add offset to vector table
+ MOVWZ (R15), R15 // r15 points to entry point
+ BYTE $0x0D // BL R14,R15 --> basr r14,r15
+ BYTE $0xEF // clobbers 0,1,14,15
+ MOVD R9, R15 // restore 15
JMP R7 // return via saved return address
// func A2e(arr [] byte)
diff --git a/vendor/golang.org/x/sys/unix/fcntl_darwin.go b/vendor/golang.org/x/sys/unix/fcntl_darwin.go
index a9911c7c1..78c28a3dc 100644
--- a/vendor/golang.org/x/sys/unix/fcntl_darwin.go
+++ b/vendor/golang.org/x/sys/unix/fcntl_darwin.go
@@ -13,12 +13,12 @@ func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
- _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk))))
+ _, err := fcntlPtr(int(fd), cmd, unsafe.Pointer(lk))
return err
}
// FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command.
func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error {
- _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore))))
+ _, err := fcntlPtr(int(fd), cmd, unsafe.Pointer(fstore))
return err
}
diff --git a/vendor/golang.org/x/sys/unix/ifreq_linux.go b/vendor/golang.org/x/sys/unix/ifreq_linux.go
index 309f5a2b0..3f7fa7664 100644
--- a/vendor/golang.org/x/sys/unix/ifreq_linux.go
+++ b/vendor/golang.org/x/sys/unix/ifreq_linux.go
@@ -22,7 +22,13 @@ import (
// fields can be get and set using the following methods:
// - Uint16/SetUint16: flags
// - Uint32/SetUint32: ifindex, metric, mtu
-type Ifreq struct{ raw ifreq }
+type Ifreq struct {
+ // Aligns the union for the accessors below, which cast it in place;
+ // the generated ifreq is all byte arrays, so its alignment is one.
+ _ [0]int64
+
+ raw ifreq
+}
// NewIfreq creates an Ifreq with the input network interface name after
// validating the name does not exceed IFNAMSIZ-1 (trailing NULL required)
diff --git a/vendor/golang.org/x/sys/unix/ioctl_linux.go b/vendor/golang.org/x/sys/unix/ioctl_linux.go
index 7ca4fa12a..5589d4f66 100644
--- a/vendor/golang.org/x/sys/unix/ioctl_linux.go
+++ b/vendor/golang.org/x/sys/unix/ioctl_linux.go
@@ -332,3 +332,10 @@ func IoctlLoopSetStatus64(fd int, value *LoopInfo64) error {
func IoctlLoopConfigure(fd int, value *LoopConfig) error {
return ioctlPtr(fd, LOOP_CONFIGURE, unsafe.Pointer(value))
}
+
+// IoctlPidfdInfo fetches information about a pidfd.
+// The Mask field of the info argument indicates which
+// values to fetch.
+func IoctlPidfdInfo(fd int, info *PidfdInfo) error {
+ return ioctlPtr(fd, PIDFD_GET_INFO, unsafe.Pointer(info))
+}
diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh
index d0ed61191..f6ddee1ae 100644
--- a/vendor/golang.org/x/sys/unix/mkall.sh
+++ b/vendor/golang.org/x/sys/unix/mkall.sh
@@ -51,7 +51,7 @@ if [[ "$GOOS" = "linux" ]]; then
# Files generated through docker (use $cmd so you can Ctl-C the build or run)
set -e
$cmd docker build --tag generate:$GOOS $GOOS
- $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")/.." && pwd):/build generate:$GOOS
+ $cmd docker run --rm --interactive --tty --volume $(cd -- "$(dirname -- "$0")/.." && pwd):/build generate:$GOOS
exit
fi
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
index fd39be4ef..e95eecd53 100644
--- a/vendor/golang.org/x/sys/unix/mkerrors.sh
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -290,14 +290,7 @@ struct ltchars {
#include
#include
-#if defined(__sparc__)
-// On sparc{,64}, the kernel defines struct termios2 itself which clashes with the
-// definition in glibc. As only the error constants are needed here, include the
-// generic termibits.h (which is included by termbits.h on sparc).
-#include
-#else
#include
-#endif
#ifndef PTRACE_GETREGS
#define PTRACE_GETREGS 0xc
@@ -354,6 +347,9 @@ struct ltchars {
// Renamed in v6.16, commit c6d732c38f93 ("net: ethtool: remove duplicate defines for family info")
#define ETHTOOL_FAMILY_NAME ETHTOOL_GENL_NAME
#define ETHTOOL_FAMILY_VERSION ETHTOOL_GENL_VERSION
+
+// Removed in v6.17, commit 760e6f7befba ("futex: Remove support for IMMUTABLE")
+#define PR_FUTEX_HASH_GET_IMMUTABLE 3
'
includes_NetBSD='
@@ -541,7 +537,7 @@ ccflags="$@"
$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
$2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
$2 == "LOOP_CONFIGURE" ||
- $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MREMAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT|UDP)_/ ||
+ $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MREMAP|MFD|MLOCK|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT|UDP)_/ ||
$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
$2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
$2 ~ /^PTP_/ ||
@@ -583,7 +579,7 @@ ccflags="$@"
$2 ~ /^DIOC/ ||
$2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ ||
$2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ ||
- $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
+ $2 ~ /^PRIO_(PROCESS|PGRP|USER|DARWIN_(THREAD|PROCESS|BG|NONUI))/ ||
$2 ~ /^CLONE_[A-Z_]+/ ||
$2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+|BPF_F_LINK)$/ &&
$2 ~ /^(BPF|DLT)_/ ||
diff --git a/vendor/golang.org/x/sys/unix/ptrace_zos.go b/vendor/golang.org/x/sys/unix/ptrace_zos.go
new file mode 100644
index 000000000..394fbd71b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ptrace_zos.go
@@ -0,0 +1,537 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build zos
+
+package unix
+
+import "unsafe"
+
+// z/OS ptrace implementation notes:
+//
+// This file provides ptrace wrappers for z/OS that match the Linux API as closely
+// as possible. However, there are fundamental differences in how z/OS implements
+// process tracing compared to Linux:
+//
+// 1. SYSTEM CALL INTERFACE:
+// - z/OS uses BPX4PTR (5 parameters) vs Linux ptrace syscall (4 parameters)
+// - The 5th parameter (buffer) is used for block operations
+//
+// 2. MEMORY OPERATIONS:
+// - z/OS: PT_READ_BLOCK/PT_WRITE_BLOCK for efficient block transfers
+// - Linux: PTRACE_PEEKTEXT/POKETEXT for word-by-word access
+//
+// 3. REGISTER OPERATIONS:
+// - z/OS: PT_READ_GPR/PT_WRITE_GPR with register number for 64-bit values
+// - Linux: PTRACE_GETREGSET/SETREGSET with iovec structure
+//
+// 4. SINGLE-STEPPING:
+// - z/OS: No native single-step; requires temporary breakpoints or PER
+// - Linux: PTRACE_SINGLESTEP natively supported
+// a) Read instruction at current PSW
+// b) Calculate next instruction address (handle branches)
+// c) Set temporary breakpoint (SVC 144 = 0x0A90) at next address
+// d) Continue execution until breakpoint hit
+// e) Restore original instruction and adjust PSW
+//
+// 5. SYSCALL TRACING:
+// - z/OS: No PTRACE_SYSCALL equivalent; requires breakpoint-based approach
+// - Linux: PTRACE_SYSCALL stops at syscall entry/exit
+// a) Identify BPX syscall vector location
+// b) Set breakpoints at syscall entry points
+// c) Detect BASR instructions calling into syscall vector
+// d) Parse arguments from registers before/after syscall
+//
+// 6. LIMITATIONS:
+// - PtraceSetOptions: No equivalent (returns ENOSYS)
+// - PtraceGetEventMsg: No equivalent (returns ENOSYS)
+// - PtraceSingleStep: Requires complex implementation (returns ENOSYS)
+// - PtraceInterrupt: No equivalent (returns ENOSYS)
+// - PtracePokeUser: No PT_WRITE_U (returns ENOSYS)
+//
+// For reference implementations of single-stepping and syscall tracing on z/OS,
+
+// ptrace is the basic wrapper for BPX4PTR on z/OS.
+// Note: z/OS ptrace (BPX4PTR) takes 5 parameters vs 4 on Linux/Darwin.
+// The 5th parameter (buffer) is used for operations like PT_READ_BLOCK/PT_WRITE_BLOCK.
+//
+// data is an integer-valued argument (signal number, register index, byte count,
+// or a target-process address). It is not a Go-managed pointer. We must not pass
+// it to Bpx4ptr as unsafe.Pointer(data) because the garbage collector would treat
+// that integer as a pointer and may crash trying to follow it.
+//
+// Instead we inline the parms array that Bpx4ptr would construct, placing &data
+// at parms[3]. BPX4PTR dereferences parms[3] to obtain the data value, so it
+// receives data unchanged while the GC only ever sees a valid stack pointer.
+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
+ req32 := int32(request)
+ pid32 := int32(pid)
+ var rv, rc, rn int32
+ var buffer unsafe.Pointer
+ parms := [8]unsafe.Pointer{
+ unsafe.Pointer(&req32),
+ unsafe.Pointer(&pid32),
+ unsafe.Pointer(&addr),
+ unsafe.Pointer(&data), // &data, not unsafe.Pointer(data)
+ unsafe.Pointer(&buffer),
+ unsafe.Pointer(&rv),
+ unsafe.Pointer(&rc),
+ unsafe.Pointer(&rn),
+ }
+ bpxcall(parms[:], BPX4PTR)
+ if rv != 0 {
+ err = errnoErr2(Errno(rc), uintptr(rn))
+ }
+ return
+}
+
+// ptracePtr is a variant that accepts unsafe.Pointer for the data parameter.
+// addr is a target-process address (a raw integer), not a Go-managed pointer.
+// We must not pass it to Bpx4ptr as unsafe.Pointer(addr); instead we inline the
+// parms array and place &addr at parms[2], exactly as ptrace() does for data.
+func ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) {
+ req32 := int32(request)
+ pid32 := int32(pid)
+ var rv, rc, rn int32
+ var buffer unsafe.Pointer
+ parms := [8]unsafe.Pointer{
+ unsafe.Pointer(&req32),
+ unsafe.Pointer(&pid32),
+ unsafe.Pointer(&addr), // &addr, not unsafe.Pointer(addr)
+ unsafe.Pointer(&data),
+ unsafe.Pointer(&buffer),
+ unsafe.Pointer(&rv),
+ unsafe.Pointer(&rc),
+ unsafe.Pointer(&rn),
+ }
+ bpxcall(parms[:], BPX4PTR)
+ if rv != 0 {
+ err = errnoErr2(Errno(rc), uintptr(rn))
+ }
+ return
+}
+
+// ptracePtrWithBuffer is used for operations that require the buffer parameter.
+// addr is a target-process address; same &addr treatment as ptracePtr.
+func ptracePtrWithBuffer(request int, pid int, addr uintptr, data unsafe.Pointer, buffer unsafe.Pointer) (err error) {
+ req32 := int32(request)
+ pid32 := int32(pid)
+ var rv, rc, rn int32
+ parms := [8]unsafe.Pointer{
+ unsafe.Pointer(&req32),
+ unsafe.Pointer(&pid32),
+ unsafe.Pointer(&addr), // &addr, not unsafe.Pointer(addr)
+ unsafe.Pointer(&data),
+ unsafe.Pointer(&buffer),
+ unsafe.Pointer(&rv),
+ unsafe.Pointer(&rc),
+ unsafe.Pointer(&rn),
+ }
+ bpxcall(parms[:], BPX4PTR)
+ if rv != 0 {
+ err = errnoErr2(Errno(rc), uintptr(rn))
+ }
+ return
+}
+
+// High-level convenience functions matching the Linux/Darwin API
+
+func PtraceAttach(pid int) (err error) {
+ return ptrace(PT_ATTACH, pid, 0, 0)
+}
+
+func PtraceDetach(pid int) (err error) {
+ return ptrace(PT_DETACH, pid, 0, 0)
+}
+
+func PtraceCont(pid int, signal int) (err error) {
+ // PT_CONTINUE can be interrupted by signals (EINTR), retry if needed
+ for {
+ err = ptrace(PT_CONTINUE, pid, 0, uintptr(signal))
+ if err != EINTR {
+ break
+ }
+ }
+ return err
+}
+
+func PtraceKill(pid int) (err error) {
+ return ptrace(PT_KILL, pid, 0, 0)
+}
+
+// ptracePeek implements the peek operations using PT_READ_BLOCK.
+// On z/OS, PT_READ_BLOCK can read arbitrary-length data efficiently.
+// Unlike Linux which reads word-by-word, z/OS can read blocks directly.
+func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) {
+ if len(out) == 0 {
+ return 0, nil
+ }
+
+ // z/OS PT_READ_BLOCK can read blocks directly without word-by-word alignment
+ // The buffer parameter points to the output buffer
+ buffer := unsafe.Pointer(&out[0])
+ err = ptracePtrWithBuffer(req, pid, addr, unsafe.Pointer(uintptr(len(out))), buffer)
+ if err != nil {
+ return 0, err
+ }
+ return len(out), nil
+}
+
+// PtracePeekText reads from the traced process's text segment.
+func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {
+ return ptracePeek(PT_READ_BLOCK, pid, addr, out)
+}
+
+// PtracePeekData reads from the traced process's data segment.
+func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {
+ return ptracePeek(PT_READ_BLOCK, pid, addr, out)
+}
+
+// PtracePeekUser reads from the traced process's user area.
+// On z/OS, PT_READ_U reads a 32-bit word from the user area at the specified offset.
+// To match Linux behavior, we implement word-by-word reading for arbitrary lengths.
+func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) {
+ if len(out) == 0 {
+ return 0, nil
+ }
+
+ // PT_READ_U reads 32-bit words from user area
+ // We need to read word-by-word to handle arbitrary lengths
+ n := 0
+ for n < len(out) {
+ var data uint32
+ err = ptracePtr(PT_READ_U, pid, addr+uintptr(n), unsafe.Pointer(&data))
+ if err != nil {
+ return n, err
+ }
+
+ // Copy up to 4 bytes to output
+ remaining := len(out) - n
+ if remaining >= 4 {
+ out[n] = byte(data >> 24)
+ out[n+1] = byte(data >> 16)
+ out[n+2] = byte(data >> 8)
+ out[n+3] = byte(data)
+ n += 4
+ } else {
+ // Handle partial word at the end
+ for i := 0; i < remaining; i++ {
+ out[n+i] = byte(data >> (24 - i*8))
+ }
+ n += remaining
+ }
+ }
+ return n, nil
+}
+
+// ptracePoke implements the poke operations using PT_WRITE_BLOCK.
+func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) {
+ if len(data) == 0 {
+ return 0, nil
+ }
+
+ // z/OS PT_WRITE_BLOCK can write blocks directly
+ buffer := unsafe.Pointer(&data[0])
+ err = ptracePtrWithBuffer(pokeReq, pid, addr, unsafe.Pointer(uintptr(len(data))), buffer)
+ if err != nil {
+ return 0, err
+ }
+ return len(data), nil
+}
+
+// PtracePokeText writes to the traced process's text segment.
+func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {
+ return ptracePoke(PT_WRITE_BLOCK, PT_READ_BLOCK, pid, addr, data)
+}
+
+// PtracePokeData writes to the traced process's data segment.
+func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
+ return ptracePoke(PT_WRITE_BLOCK, PT_READ_BLOCK, pid, addr, data)
+}
+
+// PtracePokeUser writes to the traced process's user area.
+// Note: z/OS does not have a direct PT_WRITE_U equivalent.
+// This function returns ENOSYS to indicate it's not supported.
+// DIFFERENCE FROM LINUX: Linux supports PTRACE_POKEUSR, z/OS does not.
+func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) {
+ // z/OS doesn't have PT_WRITE_U
+ return 0, ENOSYS
+}
+
+// PtraceGetRegs retrieves the general purpose registers from the traced process.
+// On z/OS, PT_READ_GPR can read individual registers as 64-bit values when called
+// with a register number, or read all registers when called with a buffer.
+// This function reads each register individually to ensure full 64-bit values.
+// DIFFERENCE FROM LINUX: Linux uses PTRACE_GETREGSET with iovec, z/OS uses PT_READ_GPR.
+func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
+ // Use PT_REGHSET to enable reading high GPRs for AMODE 64 programs
+ rv, rc, rn := Bpx4ptr(int32(PT_REGHSET), int32(pid), nil, nil, nil)
+ _ = rv
+ _ = rc
+ _ = rn
+
+ // Use PT_BLOCKREQ to read GPRs and PSW in one call
+ // dbx uses 3 requests: PT_READ_GPR, PT_READ_U, PT_READ_GPRH
+ // PT_READ_U is required for ptrace to populate PSW in GPR block
+ //
+ // IMPORTANT: z/OS ptrace always returns 64-bit ESA/390 format PSW in the Psw field.
+ // The 128-bit Pswg field is never populated, even with PSWG_Req bit set.
+ // We convert ESA/390 to z/Architecture format in software (matching DBX behavior).
+ const (
+ numRequests = 3
+ reqSize = int(unsafe.Sizeof(PtraceBlkReqReq{}))
+ gprSize = int(unsafe.Sizeof(PtraceBlkGpr{}))
+ uareaSize = int(unsafe.Sizeof(PtraceBlkUar{})) + 6*int(unsafe.Sizeof(PtraceBlkUarOcw{}))
+ totalSize = int(unsafe.Sizeof(PtraceBlkReq{})) + numRequests*reqSize + gprSize*2 + uareaSize
+ )
+
+ // Allocate buffer for block request
+ buf := make([]byte, totalSize)
+
+ // Setup block request header
+ blkReq := (*PtraceBlkReq)(unsafe.Pointer(&buf[0]))
+ blkReq.Numreq = numRequests
+
+ // Setup request array
+ reqOffset := int(unsafe.Sizeof(PtraceBlkReq{}))
+ reqs := (*[3]PtraceBlkReqReq)(unsafe.Pointer(&buf[reqOffset]))
+
+ // Setup GPR block (lower 32 bits)
+ gprOffset := reqOffset + numRequests*reqSize
+ gprBlock := (*PtraceBlkGpr)(unsafe.Pointer(&buf[gprOffset]))
+
+ // Setup user area block (required for PSW)
+ uareaOffset := gprOffset + gprSize
+ uareaBlock := (*PtraceBlkUar)(unsafe.Pointer(&buf[uareaOffset]))
+ uareaBlock.Num = 6 // Number of control info entries
+
+ // Setup user area offset/control words
+ uareaOcw := (*[6]PtraceBlkUarOcw)(unsafe.Pointer(&buf[uareaOffset+int(unsafe.Sizeof(PtraceBlkUar{}))]))
+ uareaOcw[0].Ofs = 1025 // program interrupt code
+ uareaOcw[1].Ofs = 1026 // abend completion code
+ uareaOcw[2].Ofs = 1027 // abend reason code
+ uareaOcw[3].Ofs = 1028 // signal code
+ uareaOcw[4].Ofs = 1029 // instruction length code
+ uareaOcw[5].Ofs = 1030 // process flags
+
+ // Setup high GPR block (upper 32 bits)
+ gprHighOffset := uareaOffset + uareaSize
+ gprHighBlock := (*PtraceBlkGpr)(unsafe.Pointer(&buf[gprHighOffset]))
+
+ // Configure requests (order matters: GPR, U, GPRH)
+ // reqdata contains OFFSET from buffer start, not absolute address
+ // dbx: brr[0].reqdata=(unsigned long)brg; where brg is the offset
+ reqs[0].Reqtype = PT_READ_GPR
+ reqs[0].Reqdata = uint32(gprOffset)
+ reqs[1].Reqtype = PT_READ_U
+ reqs[1].Reqdata = uint32(uareaOffset)
+ reqs[2].Reqtype = PT_READ_GPRH
+ reqs[2].Reqdata = uint32(gprHighOffset)
+
+ // Execute block request
+ rvBlk, rcBlk, rnBlk := Bpx4ptr(int32(PT_BLOCKREQ), int32(pid),
+ unsafe.Pointer(&buf[0]), unsafe.Pointer(uintptr(totalSize)), nil)
+ if rvBlk == -1 {
+ return errnoErr2(Errno(rcBlk), uintptr(rnBlk))
+ }
+
+ // Extract GPRs (combine low and high 32 bits)
+ for i := 0; i < 16; i++ {
+ low := uint64(gprBlock.Gpr[i])
+ high := uint64(gprHighBlock.Gpr[i]) << 32
+ regsout.Gprs[i] = high | low
+ }
+
+ // Extract PSW from GPR block structure
+ // z/OS ptrace ALWAYS returns 8-byte ESA/390 format PSW at offset 144.
+ // The 16-byte PSWG field at offset 152 is NEVER populated (always zero).
+ // We must convert ESA/390 format to z/Architecture format in software (like DBX does).
+ //
+ // ESA/390 PSW format (8 bytes):
+ // Word 1 (bytes 0-3): Mask with bit 12 = 1 (ECMODE31BIT)
+ // Word 2 (bytes 4-7): Address with bit 0 = AMODE bit (1=31-bit, 0=64-bit)
+ //
+ // z/Architecture PSW format (16 bytes):
+ // Mask (bytes 0-7): Extended mask with bit 12 = 0, bits 31-32 = EA+BA (AMODE)
+ // Addr (bytes 8-15): Full 64-bit instruction address
+
+ // Read ESA/390 PSW as two 32-bit words
+ pswWord1 := uint32(gprBlock.Psw[0])<<24 | uint32(gprBlock.Psw[1])<<16 |
+ uint32(gprBlock.Psw[2])<<8 | uint32(gprBlock.Psw[3])
+ pswWord2 := uint32(gprBlock.Psw[4])<<24 | uint32(gprBlock.Psw[5])<<16 |
+ uint32(gprBlock.Psw[6])<<8 | uint32(gprBlock.Psw[7])
+
+ // Convert ESA/390 to z/Architecture format (matching DBX psw_ESA390_to_zArchitecture)
+ const ECMODE31BIT = uint64(0x0000000000080000)
+ const AMODE31BIT = uint64(0x0000000080000000)
+ const ADDR_MASK_31 = uint64(0x000000007FFFFFFF)
+
+ // Extract AMODE bit from address word (bit 0 of word 2)
+ amode31 := uint64(pswWord2) & AMODE31BIT
+
+ // Mask off AMODE bit from address
+ addr := uint64(pswWord2) & ADDR_MASK_31
+
+ // Convert mask: clear ECMODE31BIT, shift left 32 bits, add AMODE bit
+ mask := uint64(pswWord1) & ^ECMODE31BIT
+ mask = (mask << 32) | amode31
+
+ regsout.Psw.Mask = mask
+ regsout.Psw.Addr = addr
+
+ // Note: Access registers (Acrs), floating point registers (Fp_regs),
+ // PER info (Per_info), and other fields would require additional
+ // PT_READ_* calls. For now, we focus on GPRs and PSW which are
+ // the most commonly used registers for debugging.
+
+ return nil
+}
+
+// ptraceWritePSW writes only the PSW address register.
+// This is a lower-level function used internally for single-stepping.
+// Based on ztrace's write_psw function.
+func ptraceWritePSW(pid int, pswAddr uint32) error {
+ const PTRACE_REG_PSWA = 41
+ rv, rc, rn := Bpx4ptr(int32(PT_WRITE_GPR), int32(pid),
+ unsafe.Pointer(uintptr(PTRACE_REG_PSWA)),
+ unsafe.Pointer(uintptr(pswAddr)),
+ nil)
+ if rv == -1 {
+ return errnoErr2(Errno(rc), uintptr(rn))
+ }
+ return nil
+}
+
+// PtraceSetRegs sets the general purpose registers in the traced process.
+// Uses PT_BLOCKREQ to write GPRs and PSW in a single call, matching dbx implementation.
+// DIFFERENCE FROM LINUX: Linux uses PTRACE_SETREGSET with iovec, z/OS uses PT_BLOCKREQ.
+// NOTE: The process must be in a stopped state for register writes to succeed.
+func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
+ // Use PT_REGHSET to enable writing high GPRs for AMODE 64 programs
+ rv, rc, rn := Bpx4ptr(int32(PT_REGHSET), int32(pid), nil, nil, nil)
+ _ = rv
+ _ = rc
+ _ = rn
+
+ // Use PT_BLOCKREQ to write GPRs and PSW in one call
+ const (
+ numRequests = 2
+ reqSize = int(unsafe.Sizeof(PtraceBlkReqReq{}))
+ gprSize = int(unsafe.Sizeof(PtraceBlkGpr{}))
+ totalSize = int(unsafe.Sizeof(PtraceBlkReq{})) + numRequests*reqSize + gprSize*2
+ )
+
+ // Allocate buffer for block request
+ buf := make([]byte, totalSize)
+
+ // Setup block request header
+ blkReq := (*PtraceBlkReq)(unsafe.Pointer(&buf[0]))
+ blkReq.Numreq = numRequests
+
+ // Setup request array
+ reqOffset := int(unsafe.Sizeof(PtraceBlkReq{}))
+ reqs := (*[2]PtraceBlkReqReq)(unsafe.Pointer(&buf[reqOffset]))
+
+ // Setup GPR block (lower 32 bits)
+ gprOffset := reqOffset + numRequests*reqSize
+ gprBlock := (*PtraceBlkGpr)(unsafe.Pointer(&buf[gprOffset]))
+
+ // Setup high GPR block (upper 32 bits)
+ gprHighOffset := gprOffset + gprSize
+ gprHighBlock := (*PtraceBlkGpr)(unsafe.Pointer(&buf[gprHighOffset]))
+
+ // Mark all GPRs as modified (set all 16 bits)
+ gprBlock.Writebitflags = 0xFFFF
+ gprHighBlock.Writebitflags = 0xFFFF
+
+ // Split 64-bit GPRs into low and high 32 bits
+ for i := 0; i < 16; i++ {
+ gprBlock.Gpr[i] = uint32(regs.Gprs[i] & 0xFFFFFFFF)
+ gprHighBlock.Gpr[i] = uint32(regs.Gprs[i] >> 32)
+ }
+
+ // Pack PSW for 31-bit targets (current z/OS)
+ // Upper 32 bits = mask, lower 32 bits = address
+ gprBlock.Wpsw = 1 // Mark PSW as modified
+ // Write PSW in old format (8 bytes at offset 144)
+ // Word 1 (mask) at bytes 0-3, Word 2 (addr) at bytes 4-7
+ pswMask := uint32(regs.Psw.Mask)
+ pswAddr := uint32(regs.Psw.Addr)
+ gprBlock.Psw[0] = byte(pswMask >> 24)
+ gprBlock.Psw[1] = byte(pswMask >> 16)
+ gprBlock.Psw[2] = byte(pswMask >> 8)
+ gprBlock.Psw[3] = byte(pswMask)
+ gprBlock.Psw[4] = byte(pswAddr >> 24)
+ gprBlock.Psw[5] = byte(pswAddr >> 16)
+ gprBlock.Psw[6] = byte(pswAddr >> 8)
+ gprBlock.Psw[7] = byte(pswAddr)
+
+ // Clear extended PSWG (not used for 31-bit targets)
+ for i := 0; i < 16; i++ {
+ gprBlock.Pswg[i] = 0
+ }
+
+ // Configure requests
+ // reqdata contains OFFSET from buffer start, not absolute address
+ reqs[0].Reqtype = PT_WRITE_GPR
+ reqs[0].Reqdata = uint32(gprOffset)
+ reqs[1].Reqtype = PT_WRITE_GPRH
+ reqs[1].Reqdata = uint32(gprHighOffset)
+
+ // Execute block request
+ rvBlk, rcBlk, rnBlk := Bpx4ptr(int32(PT_BLOCKREQ), int32(pid),
+ unsafe.Pointer(&buf[0]), unsafe.Pointer(uintptr(totalSize)), nil)
+ if rvBlk == -1 {
+ return errnoErr2(Errno(rcBlk), uintptr(rnBlk))
+ }
+
+ return nil
+}
+
+// PtraceSetOptions sets ptrace options.
+// DIFFERENCE FROM LINUX: z/OS doesn't have PTRACE_SETOPTIONS equivalent.
+// Returns ENOSYS to indicate this is not supported on z/OS.
+func PtraceSetOptions(pid int, options int) (err error) {
+ return ENOSYS
+}
+
+// PtraceGetEventMsg retrieves a message about the ptrace event.
+// DIFFERENCE FROM LINUX: z/OS doesn't have PTRACE_GETEVENTMSG equivalent.
+// Returns ENOSYS to indicate this is not supported on z/OS.
+func PtraceGetEventMsg(pid int) (msg uint, err error) {
+ return 0, ENOSYS
+}
+
+// PtraceSyscall continues execution and stops at the next syscall entry/exit.
+// DIFFERENCE FROM LINUX: z/OS doesn't have PTRACE_SYSCALL equivalent.
+// This function falls back to PT_CONTINUE and will NOT stop at syscalls.
+//
+// To trace syscalls on z/OS, applications must:
+// 1. Set breakpoints at BPX syscall entry points (requires knowledge of syscall vector)
+// 2. Detect BASR instructions that call into the BPX syscall vector
+// 3. Use PT_LDINFO to identify loaded modules and their entry points
+func PtraceSyscall(pid int, signal int) (err error) {
+ // z/OS doesn't have a direct PTRACE_SYSCALL equivalent
+ // Use PT_CONTINUE as a fallback (won't stop at syscalls)
+ return ptrace(PT_CONTINUE, pid, 0, uintptr(signal))
+}
+
+// Note: PtraceSingleStep is implemented in ptrace_zos_singlestep.go
+// with full two-breakpoint emulation for branch instructions.
+
+// PtraceInterrupt interrupts the traced process.
+// DIFFERENCE FROM LINUX: z/OS doesn't have PTRACE_INTERRUPT equivalent.
+// Returns ENOSYS to indicate this is not supported on z/OS.
+func PtraceInterrupt(pid int) (err error) {
+ return ENOSYS
+}
+
+// PtraceSeize attaches to a process without stopping it.
+// DIFFERENCE FROM LINUX: z/OS doesn't have PTRACE_SEIZE equivalent.
+// Uses PT_ATTACH as a fallback, which will stop the process.
+func PtraceSeize(pid int) (err error) {
+ // z/OS doesn't have PTRACE_SEIZE, use PT_ATTACH
+ // Note: This WILL stop the process, unlike Linux PTRACE_SEIZE
+ return ptrace(PT_ATTACH, pid, 0, 0)
+}
diff --git a/vendor/golang.org/x/sys/unix/ptrace_zos_singlestep.go b/vendor/golang.org/x/sys/unix/ptrace_zos_singlestep.go
new file mode 100644
index 000000000..7d7e2c8d3
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ptrace_zos_singlestep.go
@@ -0,0 +1,425 @@
+// Copyright 2024 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build zos
+
+package unix
+
+import (
+ "sync"
+)
+
+// Single-stepping emulation for z/OS
+//
+// z/OS does not have native single-step support like Linux's PTRACE_SINGLESTEP.
+// Instead, single-stepping must be emulated using temporary breakpoints.
+//
+// This file provides a complete implementation of single-step emulation using
+// temporary breakpoints at both the sequential next instruction and branch target.
+
+const (
+ // NO_BRANCH_DEST indicates the instruction is not a branch or cannot branch
+ NO_BRANCH_DEST = 0xFFFFFFFF
+
+ // SVC_144 is the breakpoint instruction (SVC 144 = 0x0A90)
+ SVC_144 = 0x0A90
+
+ // Maximum number of temporary breakpoints (one for next PC, one for branch dest)
+ MAX_TEMP_BREAKPOINTS = 2
+
+ // S/390 branch instruction opcodes
+ // RR format (Register-Register)
+ opBCR = 0x07 // Branch on Condition Register
+ opBALR = 0x05 // Branch and Link Register
+ opBASR = 0x0D // Branch and Save Register
+ opBASSM = 0x0C // Branch and Save and Set Mode
+ opBSM = 0x0B // Branch and Set Mode
+ opBCTR = 0x06 // Branch on Count Register
+
+ // RX format (Register-Index-Storage)
+ opBC = 0x47 // Branch on Condition
+ opBAL = 0x45 // Branch and Link
+ opBCT = 0x46 // Branch on Count
+ opBAS = 0x4D // Branch and Save
+
+ // RS format (Register-Storage)
+ opBXH = 0x86 // Branch on Index High
+ opBXLE = 0x87 // Branch on Index Low or Equal
+
+ // Extended branch opcodes
+ opBA7 = 0xA7 // A7x series (BRC, BRAS, BRCT, BRCTG)
+ opBC0 = 0xC0 // C0x series (BRASL, BRCL)
+ opBEC = 0xEC // ECxx series (RIEc format: compare-and-branch)
+)
+
+// tempBreakpoint represents a temporary breakpoint for single-stepping
+type tempBreakpoint struct {
+ address uint64
+ originalInsn [8]byte // Save up to 8 bytes (full instruction)
+ active bool
+}
+
+// singleStepState manages temporary breakpoints for a process
+type singleStepState struct {
+ mu sync.Mutex
+ breakpoints [MAX_TEMP_BREAKPOINTS]tempBreakpoint
+}
+
+var (
+ // Global map of process states (pid -> state)
+ processStates = make(map[int]*singleStepState)
+ processStatesMu sync.Mutex
+)
+
+// getProcessState returns or creates the single-step state for a process
+func getProcessState(pid int) *singleStepState {
+ processStatesMu.Lock()
+ defer processStatesMu.Unlock()
+
+ state, exists := processStates[pid]
+ if !exists {
+ state = &singleStepState{}
+ processStates[pid] = state
+ }
+ return state
+}
+
+// cleanupProcessState removes the state for a process (call on detach)
+func cleanupProcessState(pid int) {
+ processStatesMu.Lock()
+ defer processStatesMu.Unlock()
+ delete(processStates, pid)
+}
+
+// GetInstructionLength returns the length of an S/390 instruction in bytes.
+func GetInstructionLength(firstByte byte) int {
+ switch (firstByte >> 6) & 0x03 {
+ case 0x00:
+ return 2
+ case 0x01, 0x02:
+ return 4
+ case 0x03:
+ return 6
+ default:
+ return 2
+ }
+}
+
+// GetNextInstructionAddr returns the address of the next sequential instruction.
+func GetNextInstructionAddr(pc uint64, instruction []byte) uint64 {
+ if len(instruction) < 1 {
+ return pc + 2
+ }
+ insnLen := GetInstructionLength(instruction[0])
+ return pc + uint64(insnLen)
+}
+
+// CalculateBranchDest calculates the destination address for branch instructions.
+func CalculateBranchDest(pid int, pc uint64, instruction []byte) uint64 {
+ if len(instruction) < 6 {
+ return NO_BRANCH_DEST
+ }
+
+ inst0_15 := uint16(instruction[0])<<8 | uint16(instruction[1])
+ inst16_31 := uint16(instruction[2])<<8 | uint16(instruction[3])
+ inst32_47 := uint16(instruction[4])<<8 | uint16(instruction[5])
+ opcode := instruction[0]
+
+ var dest uint64 = NO_BRANCH_DEST
+
+ // RR format branches
+ if opcode == opBCR || opcode == opBALR || opcode == opBASR ||
+ opcode == opBASSM || opcode == opBSM || opcode == opBCTR {
+
+ r2 := int(inst0_15 & 0x0F)
+
+ if opcode == opBCR {
+ mask := int((inst0_15 >> 4) & 0x0F)
+ if mask == 0 || r2 == 0 {
+ return NO_BRANCH_DEST
+ }
+ } else {
+ if r2 == 0 {
+ return NO_BRANCH_DEST
+ }
+ }
+
+ var regs PtraceRegs
+ if err := PtraceGetRegs(pid, ®s); err == nil {
+ if r2 >= 0 && r2 < 16 {
+ regVal := regs.Gprs[r2]
+ dest = regVal
+ }
+ }
+ } else if opcode == opBC || opcode == opBAL || opcode == opBCT || opcode == opBAS {
+ // RX format branches
+ if opcode == opBC {
+ mask := int((inst0_15 >> 4) & 0x0F)
+ if mask == 0 {
+ return NO_BRANCH_DEST
+ }
+ }
+
+ index := int(inst0_15 & 0x0F)
+ base := int((inst16_31 >> 12) & 0x0F)
+ displacement := uint32(inst16_31 & 0x0FFF)
+
+ var baseVal, indexVal uint64
+ var regs PtraceRegs
+ if err := PtraceGetRegs(pid, ®s); err == nil {
+ if base != 0 && base < 16 {
+ baseVal = regs.Gprs[base]
+ }
+ if index != 0 && index < 16 {
+ indexVal = regs.Gprs[index]
+ }
+ }
+
+ if base == 0 && index == 0 {
+ dest = pc + uint64(displacement)
+ } else {
+ dest = baseVal + indexVal + uint64(displacement)
+ }
+ } else if opcode == opBXH || opcode == opBXLE {
+ // RS format branches
+ base := int((inst16_31 >> 12) & 0x0F)
+ displacement := uint32(inst16_31 & 0x0FFF)
+
+ var baseVal uint64
+ var regs PtraceRegs
+ if err := PtraceGetRegs(pid, ®s); err == nil {
+ if base != 0 && base < 16 {
+ baseVal = regs.Gprs[base]
+ }
+ }
+
+ dest = baseVal + uint64(displacement)
+ } else if opcode == opBA7 {
+ // RI format branches
+ subOp := int(inst0_15 & 0x0F)
+
+ if subOp < 4 || subOp > 7 {
+ return NO_BRANCH_DEST
+ }
+
+ if subOp == 0x04 {
+ mask := int((inst0_15 >> 4) & 0x0F)
+ if mask == 0 {
+ return NO_BRANCH_DEST
+ }
+ }
+
+ relDispl := int16(inst16_31)
+ dest = uint64(int64(pc) + int64(relDispl)*2)
+ } else if opcode == opBC0 {
+ // RIL format branches
+ subOp := int(inst0_15 & 0x0F)
+
+ if subOp == 0x04 || subOp == 0x05 {
+ if subOp == 0x04 {
+ mask := int((inst0_15 >> 4) & 0x0F)
+ if mask == 0 {
+ return NO_BRANCH_DEST
+ }
+ }
+
+ inst16_47 := (uint32(inst16_31) << 16) | uint32(inst32_47)
+ relDispl4 := int32(inst16_47)
+ dest = uint64(int64(pc) + int64(relDispl4)*2)
+ }
+ } else if opcode == opBEC {
+ // RIEc format compare-and-branch
+ subOp := instruction[4]
+
+ isCompareBranch := (subOp >= 0x64 && subOp <= 0x67) ||
+ (subOp >= 0x76 && subOp <= 0x77) ||
+ (subOp >= 0x7C && subOp <= 0x7F)
+
+ if isCompareBranch {
+ ri4 := int16(inst16_31)
+ dest = uint64(int64(pc) + int64(ri4)*2)
+ }
+ }
+
+ if dest < 0x2000 {
+ return NO_BRANCH_DEST
+ }
+
+ return dest
+}
+
+// setTempBreakpoint sets a temporary breakpoint at the specified address
+func (s *singleStepState) setTempBreakpoint(pid int, addr uint64) error {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ // Find free slot
+ slot := -1
+ for i := 0; i < MAX_TEMP_BREAKPOINTS; i++ {
+ if !s.breakpoints[i].active {
+ slot = i
+ break
+ }
+ }
+
+ if slot == -1 {
+ return ENOMEM // All slots in use
+ }
+
+ // Read original instruction (up to 8 bytes for safety)
+ _, err := PtracePeekText(pid, uintptr(addr), s.breakpoints[slot].originalInsn[:])
+ if err != nil {
+ return err
+ }
+
+ // Write SVC 144 (0x0A90) as breakpoint
+ svc144 := []byte{0x0A, 0x90}
+ _, err = PtracePokeText(pid, uintptr(addr), svc144)
+ if err != nil {
+ return err
+ }
+
+ s.breakpoints[slot].address = addr
+ s.breakpoints[slot].active = true
+
+ return nil
+}
+
+// removeTempBreakpoints removes all active temporary breakpoints
+func (s *singleStepState) removeTempBreakpoints(pid int) error {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ var lastErr error
+ for i := 0; i < MAX_TEMP_BREAKPOINTS; i++ {
+ if !s.breakpoints[i].active {
+ continue
+ }
+
+ // Restore original instruction (first 2 bytes are enough for SVC 144)
+ _, err := PtracePokeText(pid, uintptr(s.breakpoints[i].address), s.breakpoints[i].originalInsn[:2])
+ if err != nil {
+ lastErr = err
+ }
+
+ s.breakpoints[i].active = false
+ }
+
+ return lastErr
+}
+
+// isTempBreakpoint checks if an address is a temporary breakpoint
+func (s *singleStepState) isTempBreakpoint(addr uint64) bool {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ for i := 0; i < MAX_TEMP_BREAKPOINTS; i++ {
+ if s.breakpoints[i].active && s.breakpoints[i].address == addr {
+ return true
+ }
+ }
+ return false
+}
+
+// PtraceSingleStep executes a single instruction using temporary breakpoints.
+//
+// This function:
+// 1. Reads the current instruction at PSW
+// 2. Calculates the next instruction address (sequential)
+// 3. If branch instruction, calculates branch destination
+// 4. Sets temporary breakpoints at both addresses
+// 5. Continues execution until breakpoint hit
+// 6. Restores original instructions and adjusts PSW
+//
+// Returns nil on success, error on failure.
+func PtraceSingleStep(pid int) error {
+ state := getProcessState(pid)
+
+ // 1. Get current PSW
+ var regs PtraceRegs
+ if err := PtraceGetRegs(pid, ®s); err != nil {
+ return err
+ }
+ pc := regs.Psw.Addr
+
+ // 2. Read instruction at PC
+ insn := make([]byte, 8)
+ if _, err := PtracePeekText(pid, uintptr(pc), insn); err != nil {
+ return err
+ }
+
+ // 3. Calculate next instruction addresses
+ nextPC := GetNextInstructionAddr(pc, insn)
+ branchDest := CalculateBranchDest(pid, pc, insn)
+
+ // 4. Set temporary breakpoints
+ if err := state.setTempBreakpoint(pid, nextPC); err != nil {
+ return err
+ }
+
+ // If branch instruction, set breakpoint at branch destination too
+ if branchDest != NO_BRANCH_DEST && branchDest != nextPC {
+ if err := state.setTempBreakpoint(pid, branchDest); err != nil {
+ state.removeTempBreakpoints(pid) // Cleanup first breakpoint
+ return err
+ }
+ }
+
+ // 5. Continue execution
+ if err := PtraceCont(pid, 0); err != nil {
+ state.removeTempBreakpoints(pid)
+ return err
+ }
+
+ // 6. Wait for breakpoint hit (retry on EINTR)
+ var status WaitStatus
+ for {
+ _, err := Wait4(pid, &status, 0, nil)
+ if err == EINTR {
+ continue // Retry on interrupted system call
+ }
+ if err != nil {
+ state.removeTempBreakpoints(pid)
+ return err
+ }
+ break
+ }
+
+ // Check if process stopped (should be at breakpoint)
+ if !status.Stopped() {
+ state.removeTempBreakpoints(pid)
+ return ECHILD // Process exited or error
+ }
+
+ // 7. Get current PSW (should be at breakpoint + 2)
+ if err := PtraceGetRegs(pid, ®s); err != nil {
+ state.removeTempBreakpoints(pid)
+ return err
+ }
+
+ // 8. Remove temporary breakpoints
+ if err := state.removeTempBreakpoints(pid); err != nil {
+ return err
+ }
+
+ // 9. Back up PSW by 2 bytes (to point at original instruction, not SVC 144)
+ // Use direct PSW write like ztrace does, not full register set
+ hitAddr := regs.Psw.Addr
+ if state.isTempBreakpoint(hitAddr - 2) {
+ if err := ptraceWritePSW(pid, uint32(hitAddr-2)); err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+// PtraceDetachWithCleanup detaches from a process and cleans up single-step state.
+// Use this instead of PtraceDetach when using PtraceSingleStep.
+func PtraceDetachWithCleanup(pid int) error {
+ state := getProcessState(pid)
+ state.removeTempBreakpoints(pid)
+ cleanupProcessState(pid)
+ return PtraceDetach(pid)
+}
diff --git a/vendor/golang.org/x/sys/unix/readv_unix.go b/vendor/golang.org/x/sys/unix/readv_unix.go
new file mode 100644
index 000000000..38a2be937
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/readv_unix.go
@@ -0,0 +1,103 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build darwin || linux || openbsd
+
+package unix
+
+import "unsafe"
+
+// minIovec is the size of the small initial allocation used by
+// Readv, Writev, etc.
+//
+// This small allocation gets stack allocated, which lets the
+// common use case of len(iovs) <= minIovec avoid more expensive
+// heap allocations.
+const minIovec = 8
+
+// appendBytes converts bs to Iovecs and appends them to vecs.
+func appendBytes(vecs []Iovec, bs [][]byte) []Iovec {
+ for _, b := range bs {
+ var v Iovec
+ v.SetLen(len(b))
+ if len(b) > 0 {
+ v.Base = &b[0]
+ } else {
+ v.Base = (*byte)(unsafe.Pointer(&_zero))
+ }
+ vecs = append(vecs, v)
+ }
+ return vecs
+}
+
+// writevRaceDetect tells the race detector that the program
+// has read the first n bytes stored in iovecs.
+func writevRaceDetect(iovecs []Iovec, n int) {
+ if !raceenabled {
+ return
+ }
+ for i := 0; n > 0 && i < len(iovecs); i++ {
+ m := min(int(iovecs[i].Len), n)
+ n -= m
+ if m > 0 {
+ raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
+ }
+ }
+}
+
+// readvRaceDetect tells the race detector that the program
+// has written to the first n bytes stored in iovecs.
+func readvRaceDetect(iovecs []Iovec, n int, err error) {
+ if !raceenabled {
+ return
+ }
+ for i := 0; n > 0 && i < len(iovecs); i++ {
+ m := min(int(iovecs[i].Len), n)
+ n -= m
+ if m > 0 {
+ raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
+ }
+ }
+ if err == nil {
+ raceAcquire(unsafe.Pointer(&ioSync))
+ }
+}
+
+func Readv(fd int, iovs [][]byte) (n int, err error) {
+ iovecs := make([]Iovec, 0, minIovec)
+ iovecs = appendBytes(iovecs, iovs)
+ n, err = readv(fd, iovecs)
+ readvRaceDetect(iovecs, n, err)
+ return n, err
+}
+
+func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
+ iovecs := make([]Iovec, 0, minIovec)
+ iovecs = appendBytes(iovecs, iovs)
+ n, err = preadv(fd, iovecs, offset)
+ readvRaceDetect(iovecs, n, err)
+ return n, err
+}
+
+func Writev(fd int, iovs [][]byte) (n int, err error) {
+ iovecs := make([]Iovec, 0, minIovec)
+ iovecs = appendBytes(iovecs, iovs)
+ if raceenabled {
+ raceReleaseMerge(unsafe.Pointer(&ioSync))
+ }
+ n, err = writev(fd, iovecs)
+ writevRaceDetect(iovecs, n)
+ return n, err
+}
+
+func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
+ iovecs := make([]Iovec, 0, minIovec)
+ iovecs = appendBytes(iovecs, iovs)
+ if raceenabled {
+ raceReleaseMerge(unsafe.Pointer(&ioSync))
+ }
+ n, err = pwritev(fd, iovecs, offset)
+ writevRaceDetect(iovecs, n)
+ return n, err
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go
index 5ea74da98..8f27e7ecb 100644
--- a/vendor/golang.org/x/sys/unix/syscall.go
+++ b/vendor/golang.org/x/sys/unix/syscall.go
@@ -76,7 +76,7 @@ func BytePtrToString(p *byte) string {
// Find NUL terminator.
n := 0
for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ {
- ptr = unsafe.Pointer(uintptr(ptr) + 1)
+ ptr = unsafe.Add(ptr, 1)
}
return string(unsafe.Slice(p, n))
diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go
index a00c3e545..035c2cd91 100644
--- a/vendor/golang.org/x/sys/unix/syscall_bsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go
@@ -188,7 +188,7 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
}
sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL
sa.raw.Family = AF_UNIX
- for i := 0; i < n; i++ {
+ for i := range n {
sa.raw.Path[i] = int8(name[i])
}
return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go
index 7838ca5db..cb9d0a181 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go
@@ -369,6 +369,7 @@ func Flistxattr(fd int, dest []byte) (sz int, err error) {
*/
//sys fcntl(fd int, cmd int, arg int) (val int, err error)
+//sys fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (val int, err error) = SYS_FCNTL
//sys kill(pid int, signum int, posix int) (err error)
@@ -602,95 +603,6 @@ func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocI
return
}
-const minIovec = 8
-
-func Readv(fd int, iovs [][]byte) (n int, err error) {
- iovecs := make([]Iovec, 0, minIovec)
- iovecs = appendBytes(iovecs, iovs)
- n, err = readv(fd, iovecs)
- readvRacedetect(iovecs, n, err)
- return n, err
-}
-
-func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
- iovecs := make([]Iovec, 0, minIovec)
- iovecs = appendBytes(iovecs, iovs)
- n, err = preadv(fd, iovecs, offset)
- readvRacedetect(iovecs, n, err)
- return n, err
-}
-
-func Writev(fd int, iovs [][]byte) (n int, err error) {
- iovecs := make([]Iovec, 0, minIovec)
- iovecs = appendBytes(iovecs, iovs)
- if raceenabled {
- raceReleaseMerge(unsafe.Pointer(&ioSync))
- }
- n, err = writev(fd, iovecs)
- writevRacedetect(iovecs, n)
- return n, err
-}
-
-func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
- iovecs := make([]Iovec, 0, minIovec)
- iovecs = appendBytes(iovecs, iovs)
- if raceenabled {
- raceReleaseMerge(unsafe.Pointer(&ioSync))
- }
- n, err = pwritev(fd, iovecs, offset)
- writevRacedetect(iovecs, n)
- return n, err
-}
-
-func appendBytes(vecs []Iovec, bs [][]byte) []Iovec {
- for _, b := range bs {
- var v Iovec
- v.SetLen(len(b))
- if len(b) > 0 {
- v.Base = &b[0]
- } else {
- v.Base = (*byte)(unsafe.Pointer(&_zero))
- }
- vecs = append(vecs, v)
- }
- return vecs
-}
-
-func writevRacedetect(iovecs []Iovec, n int) {
- if !raceenabled {
- return
- }
- for i := 0; n > 0 && i < len(iovecs); i++ {
- m := int(iovecs[i].Len)
- if m > n {
- m = n
- }
- n -= m
- if m > 0 {
- raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
- }
- }
-}
-
-func readvRacedetect(iovecs []Iovec, n int, err error) {
- if !raceenabled {
- return
- }
- for i := 0; n > 0 && i < len(iovecs); i++ {
- m := int(iovecs[i].Len)
- if m > n {
- m = n
- }
- n -= m
- if m > 0 {
- raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
- }
- }
- if err == nil {
- raceAcquire(unsafe.Pointer(&ioSync))
- }
-}
-
//sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
index 2b57e0f73..495188996 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
@@ -369,6 +369,15 @@ func Dup3(oldfd, newfd, flags int) error {
//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)
//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
+//sys extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE
//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
//sys Fchdir(fd int) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go
index 06c0eea6f..a31e2c71a 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go
@@ -1874,6 +1874,7 @@ func Dup2(oldfd, newfd int) error {
//sys Dup3(oldfd int, newfd int, flags int) (err error)
//sysnb EpollCreate1(flag int) (fd int, err error)
//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2
//sys Exit(code int) = SYS_EXIT_GROUP
//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error)
@@ -1990,7 +1991,24 @@ func FsconfigReconfigure(fd int) (err error) {
return fsconfig(fd, FSCONFIG_CMD_RECONFIGURE, nil, nil, 0)
}
-//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
+//sys getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
+
+// Getdents reads directory entries from fd into buf.
+func Getdents(fd int, buf []byte) (n int, err error) {
+ // getdents64 stores d_ino with a 64-bit write, which faults on
+ // strict-alignment targets unless buf is 8-aligned.
+ if len(buf) > 0 {
+ if off := int(-uintptr(unsafe.Pointer(&buf[0])) & 7); off > 0 && off < len(buf) {
+ n, err = getdents(fd, buf[off:])
+ if n > 0 {
+ copy(buf, buf[off:off+n])
+ }
+ return n, err
+ }
+ }
+ return getdents(fd, buf)
+}
+
//sysnb Getpgid(pid int) (pgid int, err error)
func Getpgrp() (pid int) {
@@ -2032,6 +2050,7 @@ func Getrandom(buf []byte, flags int) (n int, err error) {
//sysnb Kill(pid int, sig syscall.Signal) (err error)
//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG
//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error)
+//sys Listns(req *NsIdReq, nsIds []uint64, flags uint) (n int, err error)
//sys Listxattr(path string, dest []byte) (sz int, err error)
//sys Llistxattr(path string, dest []byte) (sz int, err error)
//sys Lremovexattr(path string, attr string) (err error)
@@ -2045,6 +2064,7 @@ func Getrandom(buf []byte, flags int) (n int, err error) {
//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
+//sys PrctlArg5Ptr(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 unsafe.Pointer) (err error) = SYS_PRCTL
//sys pselect6(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_argpack) (n int, err error)
//sys read(fd int, p []byte) (n int, err error)
//sys Removexattr(path string, attr string) (err error)
@@ -2150,33 +2170,10 @@ func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) {
//sys exitThread(code int) (err error) = SYS_EXIT
//sys readv(fd int, iovs []Iovec) (n int, err error) = SYS_READV
//sys writev(fd int, iovs []Iovec) (n int, err error) = SYS_WRITEV
-//sys preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PREADV
-//sys pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PWRITEV
-//sys preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PREADV2
-//sys pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PWRITEV2
-
-// minIovec is the size of the small initial allocation used by
-// Readv, Writev, etc.
-//
-// This small allocation gets stack allocated, which lets the
-// common use case of len(iovs) <= minIovs avoid more expensive
-// heap allocations.
-const minIovec = 8
-
-// appendBytes converts bs to Iovecs and appends them to vecs.
-func appendBytes(vecs []Iovec, bs [][]byte) []Iovec {
- for _, b := range bs {
- var v Iovec
- v.SetLen(len(b))
- if len(b) > 0 {
- v.Base = &b[0]
- } else {
- v.Base = (*byte)(unsafe.Pointer(&_zero))
- }
- vecs = append(vecs, v)
- }
- return vecs
-}
+//sys preadvSyscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PREADV
+//sys pwritevSyscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PWRITEV
+//sys preadv2Syscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PREADV2
+//sys pwritev2Syscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PWRITEV2
// offs2lohi splits offs into its low and high order bits.
func offs2lohi(offs int64) (lo, hi uintptr) {
@@ -2184,69 +2181,23 @@ func offs2lohi(offs int64) (lo, hi uintptr) {
return uintptr(offs), uintptr(uint64(offs) >> (longBits - 1) >> 1) // two shifts to avoid false positive in vet
}
-func Readv(fd int, iovs [][]byte) (n int, err error) {
- iovecs := make([]Iovec, 0, minIovec)
- iovecs = appendBytes(iovecs, iovs)
- n, err = readv(fd, iovecs)
- readvRacedetect(iovecs, n, err)
- return n, err
-}
-
-func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
- iovecs := make([]Iovec, 0, minIovec)
- iovecs = appendBytes(iovecs, iovs)
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
lo, hi := offs2lohi(offset)
- n, err = preadv(fd, iovecs, lo, hi)
- readvRacedetect(iovecs, n, err)
- return n, err
+ return preadvSyscall(fd, iovecs, lo, hi)
}
func Preadv2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) {
iovecs := make([]Iovec, 0, minIovec)
iovecs = appendBytes(iovecs, iovs)
lo, hi := offs2lohi(offset)
- n, err = preadv2(fd, iovecs, lo, hi, flags)
- readvRacedetect(iovecs, n, err)
- return n, err
-}
-
-func readvRacedetect(iovecs []Iovec, n int, err error) {
- if !raceenabled {
- return
- }
- for i := 0; n > 0 && i < len(iovecs); i++ {
- m := min(int(iovecs[i].Len), n)
- n -= m
- if m > 0 {
- raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
- }
- }
- if err == nil {
- raceAcquire(unsafe.Pointer(&ioSync))
- }
-}
-
-func Writev(fd int, iovs [][]byte) (n int, err error) {
- iovecs := make([]Iovec, 0, minIovec)
- iovecs = appendBytes(iovecs, iovs)
- if raceenabled {
- raceReleaseMerge(unsafe.Pointer(&ioSync))
- }
- n, err = writev(fd, iovecs)
- writevRacedetect(iovecs, n)
+ n, err = preadv2Syscall(fd, iovecs, lo, hi, flags)
+ readvRaceDetect(iovecs, n, err)
return n, err
}
-func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
- iovecs := make([]Iovec, 0, minIovec)
- iovecs = appendBytes(iovecs, iovs)
- if raceenabled {
- raceReleaseMerge(unsafe.Pointer(&ioSync))
- }
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
lo, hi := offs2lohi(offset)
- n, err = pwritev(fd, iovecs, lo, hi)
- writevRacedetect(iovecs, n)
- return n, err
+ return pwritevSyscall(fd, iovecs, lo, hi)
}
func Pwritev2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) {
@@ -2256,24 +2207,11 @@ func Pwritev2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error)
raceReleaseMerge(unsafe.Pointer(&ioSync))
}
lo, hi := offs2lohi(offset)
- n, err = pwritev2(fd, iovecs, lo, hi, flags)
- writevRacedetect(iovecs, n)
+ n, err = pwritev2Syscall(fd, iovecs, lo, hi, flags)
+ writevRaceDetect(iovecs, n)
return n, err
}
-func writevRacedetect(iovecs []Iovec, n int) {
- if !raceenabled {
- return
- }
- for i := 0; n > 0 && i < len(iovecs); i++ {
- m := min(int(iovecs[i].Len), n)
- n -= m
- if m > 0 {
- raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
- }
- }
-}
-
// mmap varies by architecture; see syscall_linux_*.go.
//sys munmap(addr uintptr, length uintptr) (err error)
//sys mremap(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags int, newaddr uintptr) (xaddr uintptr, err error)
@@ -2444,7 +2382,7 @@ func (fh *FileHandle) Bytes() []byte {
if n == 0 {
return nil
}
- return unsafe.Slice((*byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type))+4)), n)
+ return unsafe.Slice((*byte)(unsafe.Add(unsafe.Pointer(&fh.fileHandle.Type), 4)), n)
}
// NameToHandleAt wraps the name_to_handle_at system call; it obtains
@@ -2644,8 +2582,12 @@ func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) {
//sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error)
//sys Mseal(b []byte, flags uint) (err error)
-//sys setMemPolicy(mode int, mask *CPUSet, size int) (err error) = SYS_SET_MEMPOLICY
+//sys setMemPolicy(mode int, mask unsafe.Pointer, size uintptr) (err error) = SYS_SET_MEMPOLICY
func SetMemPolicy(mode int, mask *CPUSet) error {
- return setMemPolicy(mode, mask, _CPU_SETSIZE)
+ return setMemPolicy(mode, unsafe.Pointer(mask), _CPU_SETSIZE)
+}
+
+func SetMemPolicyDynamic(mode int, mask CPUSetDynamic) error {
+ return setMemPolicy(mode, mask.pointer(), mask.size())
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
index 506dafa7b..210d545c9 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
@@ -20,7 +20,6 @@ func setTimeval(sec, usec int64) Timeval {
// 64-bit file system and 32-bit uid calls
// (386 default is 32-bit file system and 16-bit uid).
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64
//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32
//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
index d557cf8de..a9a52f231 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
@@ -6,7 +6,6 @@
package unix
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstat(fd int, stat *Stat_t) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
index cd2dd797f..54474c20f 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
@@ -44,7 +44,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
// 64-bit file system and 32-bit uid calls
// (16-bit uid calls are not always supported in newer kernels)
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32
//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
@@ -82,6 +81,9 @@ func Time(t *Time_t) (Time_t, error) {
}
func Utime(path string, buf *Utimbuf) error {
+ if buf == nil {
+ return Utimes(path, nil)
+ }
tv := []Timeval{
{Sec: buf.Actime},
{Sec: buf.Modtime},
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
index 745e5c7e6..e9f30db97 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
@@ -8,7 +8,6 @@ package unix
import "unsafe"
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstat(fd int, stat *Stat_t) (err error)
@@ -113,6 +112,9 @@ func Time(t *Time_t) (Time_t, error) {
}
func Utime(path string, buf *Utimbuf) error {
+ if buf == nil {
+ return Utimes(path, nil)
+ }
tv := []Timeval{
{Sec: buf.Actime},
{Sec: buf.Modtime},
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
index dd2262a40..6f09ca200 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
@@ -8,7 +8,6 @@ package unix
import "unsafe"
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstatfs(fd int, buf *Statfs_t) (err error)
@@ -150,6 +149,9 @@ func Time(t *Time_t) (Time_t, error) {
}
func Utime(path string, buf *Utimbuf) error {
+ if buf == nil {
+ return Utimes(path, nil)
+ }
tv := []Timeval{
{Sec: buf.Actime},
{Sec: buf.Modtime},
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
index 70963a95a..ca3b56597 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
@@ -6,7 +6,6 @@
package unix
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstatfs(fd int, buf *Statfs_t) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
index c218ebd28..54ba667b1 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
@@ -13,7 +13,6 @@ import (
func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
index e6c48500c..ce4628590 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
@@ -11,7 +11,6 @@ import (
"unsafe"
)
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
index 7286a9aa8..33f7af380 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
@@ -6,7 +6,6 @@
package unix
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstat(fd int, stat *Stat_t) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
index 8cf3670bd..c658871e3 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
@@ -8,7 +8,6 @@ package unix
import "unsafe"
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstat(fd int, stat *Stat_t) (err error)
@@ -112,6 +111,9 @@ func Time(t *Time_t) (Time_t, error) {
}
func Utime(path string, buf *Utimbuf) error {
+ if buf == nil {
+ return Utimes(path, nil)
+ }
tv := []Timeval{
{Sec: buf.Actime},
{Sec: buf.Modtime},
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
index 66f31210d..2c8587691 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
@@ -10,7 +10,6 @@ import (
"unsafe"
)
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstat(fd int, stat *Stat_t) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
index 11d1f1698..cd50715c9 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
@@ -6,10 +6,9 @@
package unix
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
-//sys Fstat(fd int, stat *Stat_t) (err error)
+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
//sys Fstatfs(fd int, buf *Statfs_t) (err error)
//sys Ftruncate(fd int, length int64) (err error)
@@ -20,7 +19,7 @@ package unix
//sysnb Getuid() (uid int)
//sys Lchown(path string, uid int, gid int) (err error)
//sys Listen(s int, n int) (err error)
-//sys Lstat(path string, stat *Stat_t) (err error)
+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
//sys Pause() (err error)
//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
@@ -32,7 +31,7 @@ package unix
//sys setfsuid(uid int) (prev int, err error)
//sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
-//sys Stat(path string, stat *Stat_t) (err error)
+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
//sys Statfs(path string, buf *Statfs_t) (err error)
//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
//sys Truncate(path string, length int64) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
index 34a467697..c8badc54c 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
@@ -293,6 +293,15 @@ func Getvfsstat(buf []Statvfs_t, flags int) (n int, err error) {
//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)
//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
+//sys extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error)
+//sys extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error)
//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE
//sys Fchdir(fd int) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
index b86ded549..7b0ef8e12 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
@@ -300,6 +300,10 @@ func Uname(uname *Utsname) error {
//sys Pathconf(path string, name int) (val int, err error)
//sys pread(fd int, p []byte, offset int64) (n int, err error)
//sys pwrite(fd int, p []byte, offset int64) (n int, err error)
+//sys readv(fd int, iovecs []Iovec) (n int, err error)
+//sys writev(fd int, iovecs []Iovec) (n int, err error)
+//sys preadv(fd int, iovecs []Iovec, offset int64) (n int, err error)
+//sys pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error)
//sys read(fd int, p []byte) (n int, err error)
//sys Readlink(path string, buf []byte) (n int, err error)
//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
index 05c95bccf..60c0d16cf 100644
--- a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc
+//go:build (darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris) && gc
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
deleted file mode 100644
index 23f39b7af..000000000
--- a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build linux && (ppc64le || ppc64) && gc
-
-package unix
-
-import "syscall"
-
-func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
- return syscall.Syscall(trap, a1, a2, a3)
-}
-func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
- return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6)
-}
-func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
- return syscall.RawSyscall(trap, a1, a2, a3)
-}
-func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
- return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
index 7bf5c04bb..edabb6892 100644
--- a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
@@ -27,14 +27,10 @@ import (
"unsafe"
)
-//go:noescape
-func initZosLibVec()
-
//go:noescape
func GetZosLibVec() uintptr
func init() {
- initZosLibVec()
r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACE\x00"))[0])))
if r0 != 0 {
n, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0)
diff --git a/vendor/golang.org/x/sys/unix/xattr_bsd.go b/vendor/golang.org/x/sys/unix/xattr_bsd.go
index e16879396..d3d12c27c 100644
--- a/vendor/golang.org/x/sys/unix/xattr_bsd.go
+++ b/vendor/golang.org/x/sys/unix/xattr_bsd.go
@@ -56,7 +56,7 @@ func Getxattr(file string, attr string, dest []byte) (sz int, err error) {
return -1, err
}
- return ExtattrGetFile(file, nsid, a, uintptr(d), destsize)
+ return extattrGetFile(file, nsid, a, d, destsize)
}
func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
@@ -68,7 +68,7 @@ func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
return -1, err
}
- return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize)
+ return extattrGetFd(fd, nsid, a, d, destsize)
}
func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
@@ -80,7 +80,7 @@ func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
return -1, err
}
- return ExtattrGetLink(link, nsid, a, uintptr(d), destsize)
+ return extattrGetLink(link, nsid, a, d, destsize)
}
// flags are unused on FreeBSD
@@ -97,7 +97,7 @@ func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
return
}
- _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz)
+ _, err = extattrSetFd(fd, nsid, a, d, datasiz)
return
}
@@ -113,7 +113,7 @@ func Setxattr(file string, attr string, data []byte, flags int) (err error) {
return
}
- _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz)
+ _, err = extattrSetFile(file, nsid, a, d, datasiz)
return
}
@@ -129,7 +129,7 @@ func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
return
}
- _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz)
+ _, err = extattrSetLink(link, nsid, a, d, datasiz)
return
}
@@ -199,9 +199,9 @@ func ListxattrNS(file string, nsid int, dest []byte) (sz int, err error) {
d := initxattrdest(dest, 0)
destsiz := len(dest)
- s, e := ExtattrListFile(file, nsid, uintptr(d), destsiz)
+ s, e := extattrListFile(file, nsid, d, destsiz)
if e != nil {
- return 0, err
+ return 0, e
}
return s, nil
@@ -235,9 +235,9 @@ func FlistxattrNS(fd int, nsid int, dest []byte) (sz int, err error) {
d := initxattrdest(dest, 0)
destsiz := len(dest)
- s, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz)
+ s, e := extattrListFd(fd, nsid, d, destsiz)
if e != nil {
- return 0, err
+ return 0, e
}
return s, nil
@@ -271,9 +271,9 @@ func LlistxattrNS(link string, nsid int, dest []byte) (sz int, err error) {
d := initxattrdest(dest, 0)
destsiz := len(dest)
- s, e := ExtattrListLink(link, nsid, uintptr(d), destsiz)
+ s, e := extattrListLink(link, nsid, d, destsiz)
if e != nil {
- return 0, err
+ return 0, e
}
return s, nil
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
index d73c4652e..01a395332 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
@@ -1128,6 +1128,7 @@ const (
O_DSYNC = 0x400000
O_EVTONLY = 0x8000
O_EXCL = 0x800
+ O_EXEC = 0x40000000
O_EXLOCK = 0x20
O_FSYNC = 0x80
O_NDELAY = 0x4
@@ -1138,6 +1139,7 @@ const (
O_POPUP = 0x80000000
O_RDONLY = 0x0
O_RDWR = 0x2
+ O_SEARCH = 0x40100000
O_SHLOCK = 0x10
O_SYMLINK = 0x200000
O_SYNC = 0x80
@@ -1147,6 +1149,10 @@ const (
PARMRK = 0x8
PARODD = 0x2000
PENDIN = 0x20000000
+ PRIO_DARWIN_BG = 0x1000
+ PRIO_DARWIN_NONUI = 0x1001
+ PRIO_DARWIN_PROCESS = 0x4
+ PRIO_DARWIN_THREAD = 0x3
PRIO_PGRP = 0x1
PRIO_PROCESS = 0x0
PRIO_USER = 0x2
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
index 4a55a4005..d80b95f6b 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
@@ -1128,6 +1128,7 @@ const (
O_DSYNC = 0x400000
O_EVTONLY = 0x8000
O_EXCL = 0x800
+ O_EXEC = 0x40000000
O_EXLOCK = 0x20
O_FSYNC = 0x80
O_NDELAY = 0x4
@@ -1138,6 +1139,7 @@ const (
O_POPUP = 0x80000000
O_RDONLY = 0x0
O_RDWR = 0x2
+ O_SEARCH = 0x40100000
O_SHLOCK = 0x10
O_SYMLINK = 0x200000
O_SYNC = 0x80
@@ -1147,6 +1149,10 @@ const (
PARMRK = 0x8
PARODD = 0x2000
PENDIN = 0x20000000
+ PRIO_DARWIN_BG = 0x1000
+ PRIO_DARWIN_NONUI = 0x1001
+ PRIO_DARWIN_PROCESS = 0x4
+ PRIO_DARWIN_THREAD = 0x3
PRIO_PGRP = 0x1
PRIO_PROCESS = 0x0
PRIO_USER = 0x2
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go
index 120a7b35d..aa68cb8d0 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go
@@ -353,8 +353,10 @@ const (
AUDIT_MAC_IPSEC_EVENT = 0x587
AUDIT_MAC_MAP_ADD = 0x581
AUDIT_MAC_MAP_DEL = 0x582
+ AUDIT_MAC_OBJ_CONTEXTS = 0x592
AUDIT_MAC_POLICY_LOAD = 0x57b
AUDIT_MAC_STATUS = 0x57c
+ AUDIT_MAC_TASK_CONTEXTS = 0x591
AUDIT_MAC_UNLBL_ALLOW = 0x57e
AUDIT_MAC_UNLBL_STCADD = 0x588
AUDIT_MAC_UNLBL_STCDEL = 0x589
@@ -591,8 +593,13 @@ const (
CAN_CTRLMODE_LOOPBACK = 0x1
CAN_CTRLMODE_ONE_SHOT = 0x8
CAN_CTRLMODE_PRESUME_ACK = 0x40
+ CAN_CTRLMODE_RESTRICTED = 0x800
CAN_CTRLMODE_TDC_AUTO = 0x200
CAN_CTRLMODE_TDC_MANUAL = 0x400
+ CAN_CTRLMODE_XL = 0x1000
+ CAN_CTRLMODE_XL_TDC_AUTO = 0x2000
+ CAN_CTRLMODE_XL_TDC_MANUAL = 0x4000
+ CAN_CTRLMODE_XL_TMS = 0x8000
CAN_EFF_FLAG = 0x80000000
CAN_EFF_ID_BITS = 0x1d
CAN_EFF_MASK = 0x1fffffff
@@ -745,10 +752,12 @@ const (
CLONE_ARGS_SIZE_VER0 = 0x40
CLONE_ARGS_SIZE_VER1 = 0x50
CLONE_ARGS_SIZE_VER2 = 0x58
+ CLONE_AUTOREAP = 0x400000000
CLONE_CHILD_CLEARTID = 0x200000
CLONE_CHILD_SETTID = 0x1000000
CLONE_CLEAR_SIGHAND = 0x100000000
CLONE_DETACHED = 0x400000
+ CLONE_EMPTY_MNTNS = 0x2000000000
CLONE_FILES = 0x400
CLONE_FS = 0x200
CLONE_INTO_CGROUP = 0x200000000
@@ -761,9 +770,11 @@ const (
CLONE_NEWTIME = 0x80
CLONE_NEWUSER = 0x10000000
CLONE_NEWUTS = 0x4000000
+ CLONE_NNP = 0x800000000
CLONE_PARENT = 0x8000
CLONE_PARENT_SETTID = 0x100000
CLONE_PIDFD = 0x1000
+ CLONE_PIDFD_AUTOKILL = 0x1000000000
CLONE_PTRACE = 0x2000
CLONE_SETTLS = 0x80000
CLONE_SIGHAND = 0x800
@@ -796,10 +807,15 @@ const (
DEVLINK_GENL_MCGRP_CONFIG_NAME = "config"
DEVLINK_GENL_NAME = "devlink"
DEVLINK_GENL_VERSION = 0x1
+ DEVLINK_INDEX_BUS_NAME = "devlink_index"
DEVLINK_PORT_FN_CAP_IPSEC_CRYPTO = 0x4
DEVLINK_PORT_FN_CAP_IPSEC_PACKET = 0x8
DEVLINK_PORT_FN_CAP_MIGRATABLE = 0x2
DEVLINK_PORT_FN_CAP_ROCE = 0x1
+ DEVLINK_RATE_TCS_MAX = 0x8
+ DEVLINK_RATE_TC_INDEX_MAX = 0x7
+ DEVLINK_RESOURCE_SCOPE_DEV = 0x1
+ DEVLINK_RESOURCE_SCOPE_PORT = 0x2
DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14
DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS = 0x3
DEVMEM_MAGIC = 0x454d444d
@@ -1118,6 +1134,7 @@ const (
ETHTOOL_SWOL = 0x6
ETHTOOL_TEST = 0x1a
ETH_P_1588 = 0x88f7
+ ETH_P_8021AC = 0x8870
ETH_P_8021AD = 0x88a8
ETH_P_8021AH = 0x88e7
ETH_P_8021Q = 0x8100
@@ -1161,6 +1178,7 @@ const (
ETH_P_ETHERCAT = 0x88a4
ETH_P_FCOE = 0x8906
ETH_P_FIP = 0x8914
+ ETH_P_GRE_OSI = 0xfe
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
ETH_P_IBOE = 0x8915
@@ -1186,8 +1204,10 @@ const (
ETH_P_MPLS_UC = 0x8847
ETH_P_MRP = 0x88e3
ETH_P_MVRP = 0x88f5
+ ETH_P_MXLGSW = 0x88c3
ETH_P_NCSI = 0x88f8
ETH_P_NSH = 0x894f
+ ETH_P_NXP_NETC = 0xfd3a
ETH_P_PAE = 0x888e
ETH_P_PAUSE = 0x8808
ETH_P_PHONET = 0xf5
@@ -1218,6 +1238,7 @@ const (
ETH_P_WCCP = 0x883e
ETH_P_X25 = 0x805
ETH_P_XDSA = 0xf8
+ ETH_P_YT921X = 0x9988
ET_CORE = 0x4
ET_DYN = 0x3
ET_EXEC = 0x2
@@ -1258,6 +1279,7 @@ const (
FALLOC_FL_NO_HIDE_STALE = 0x4
FALLOC_FL_PUNCH_HOLE = 0x2
FALLOC_FL_UNSHARE_RANGE = 0x40
+ FALLOC_FL_WRITE_ZEROES = 0x80
FALLOC_FL_ZERO_RANGE = 0x10
FANOTIFY_METADATA_VERSION = 0x3
FAN_ACCESS = 0x1
@@ -1347,6 +1369,8 @@ const (
FAN_UNLIMITED_MARKS = 0x20
FAN_UNLIMITED_QUEUE = 0x10
FD_CLOEXEC = 0x1
+ FD_NSFS_ROOT = -0x2713
+ FD_PIDFS_ROOT = -0x2712
FD_SETSIZE = 0x400
FF0 = 0x0
FIB_RULE_DEV_DETACHED = 0x8
@@ -1414,6 +1438,8 @@ const (
FS_POLICY_FLAGS_PAD_8 = 0x1
FS_POLICY_FLAGS_PAD_MASK = 0x3
FS_POLICY_FLAGS_VALID = 0x7
+ FS_SHUTDOWN_FLAGS_LOGFLUSH = 0x1
+ FS_SHUTDOWN_FLAGS_NOLOGFLUSH = 0x2
FS_VERITY_FL = 0x100000
FS_VERITY_HASH_ALG_SHA256 = 0x1
FS_VERITY_HASH_ALG_SHA512 = 0x2
@@ -1428,6 +1454,7 @@ const (
F_DUPFD_CLOEXEC = 0x406
F_DUPFD_QUERY = 0x403
F_EXLCK = 0x4
+ F_GETDELEG = 0x40f
F_GETFD = 0x1
F_GETFL = 0x3
F_GETLEASE = 0x401
@@ -1449,6 +1476,7 @@ const (
F_SEAL_SEAL = 0x1
F_SEAL_SHRINK = 0x2
F_SEAL_WRITE = 0x8
+ F_SETDELEG = 0x410
F_SETFD = 0x2
F_SETFL = 0x4
F_SETLEASE = 0x400
@@ -1477,6 +1505,7 @@ const (
GRND_INSECURE = 0x4
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
+ GUEST_MEMFD_MAGIC = 0x474d454d
HDIO_DRIVE_CMD = 0x31f
HDIO_DRIVE_CMD_AEB = 0x31e
HDIO_DRIVE_CMD_HDR_SIZE = 0x4
@@ -1517,6 +1546,7 @@ const (
HDIO_SET_XFER = 0x306
HDIO_TRISTATE_HWIF = 0x31b
HDIO_UNREGISTER_HWIF = 0x32a
+ HIDIOCTL_LAST = 0xd
HID_MAX_DESCRIPTOR_SIZE = 0x1000
HOSTFS_SUPER_MAGIC = 0xc0ffee
HPFS_SUPER_MAGIC = 0xf995e849
@@ -1617,6 +1647,7 @@ const (
IN_UNMOUNT = 0x2000
IOCTL_MEI_CONNECT_CLIENT = 0xc0104801
IOCTL_MEI_CONNECT_CLIENT_VTAG = 0xc0144804
+ IPPROTO_AGGFRAG = 0x90
IPPROTO_AH = 0x33
IPPROTO_BEETPH = 0x5e
IPPROTO_COMP = 0x6c
@@ -1809,6 +1840,8 @@ const (
KEXEC_ARCH_X86_64 = 0x3e0000
KEXEC_CRASH_HOTPLUG_SUPPORT = 0x8
KEXEC_FILE_DEBUG = 0x8
+ KEXEC_FILE_FORCE_DTB = 0x20
+ KEXEC_FILE_NO_CMA = 0x10
KEXEC_FILE_NO_INITRAMFS = 0x4
KEXEC_FILE_ON_CRASH = 0x2
KEXEC_FILE_UNLOAD = 0x1
@@ -1896,15 +1929,20 @@ const (
LANDLOCK_ACCESS_FS_REFER = 0x2000
LANDLOCK_ACCESS_FS_REMOVE_DIR = 0x10
LANDLOCK_ACCESS_FS_REMOVE_FILE = 0x20
+ LANDLOCK_ACCESS_FS_RESOLVE_UNIX = 0x10000
LANDLOCK_ACCESS_FS_TRUNCATE = 0x4000
LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2
LANDLOCK_ACCESS_NET_BIND_TCP = 0x1
+ LANDLOCK_ACCESS_NET_BIND_UDP = 0x4
+ LANDLOCK_ACCESS_NET_CONNECT_SEND_UDP = 0x8
LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2
+ LANDLOCK_ADD_RULE_QUIET = 0x1
LANDLOCK_CREATE_RULESET_ERRATA = 0x2
LANDLOCK_CREATE_RULESET_VERSION = 0x1
LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON = 0x2
LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF = 0x1
LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF = 0x4
+ LANDLOCK_RESTRICT_SELF_TSYNC = 0x8
LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET = 0x1
LANDLOCK_SCOPE_SIGNAL = 0x2
LINUX_REBOOT_CMD_CAD_OFF = 0x0
@@ -1953,6 +1991,8 @@ const (
MADV_DONTNEED = 0x4
MADV_DONTNEED_LOCKED = 0x18
MADV_FREE = 0x8
+ MADV_GUARD_INSTALL = 0x66
+ MADV_GUARD_REMOVE = 0x67
MADV_HUGEPAGE = 0xe
MADV_HWPOISON = 0x64
MADV_KEEPONFORK = 0x13
@@ -2028,6 +2068,7 @@ const (
MINIX3_SUPER_MAGIC = 0x4d5a
MINIX_SUPER_MAGIC = 0x137f
MINIX_SUPER_MAGIC2 = 0x138f
+ MLOCK_ONFAULT = 0x1
MNT_DETACH = 0x2
MNT_EXPIRE = 0x4
MNT_FORCE = 0x1
@@ -2097,7 +2138,7 @@ const (
MS_NOSEC = 0x10000000
MS_NOSUID = 0x2
MS_NOSYMFOLLOW = 0x100
- MS_NOUSER = -0x80000000
+ MS_NOUSER = 0x80000000
MS_POSIXACL = 0x10000
MS_PRIVATE = 0x40000
MS_RDONLY = 0x1
@@ -2412,6 +2453,7 @@ const (
NN_PRXFPREG = "LINUX"
NN_RISCV_CSR = "LINUX"
NN_RISCV_TAGGED_ADDR_CTRL = "LINUX"
+ NN_RISCV_USER_CFI = "LINUX"
NN_RISCV_VECTOR = "LINUX"
NN_S390_CTRS = "LINUX"
NN_S390_GS_BC = "LINUX"
@@ -2493,6 +2535,7 @@ const (
NT_PRXFPREG = 0x46e62b7f
NT_RISCV_CSR = 0x900
NT_RISCV_TAGGED_ADDR_CTRL = 0x902
+ NT_RISCV_USER_CFI = 0x903
NT_RISCV_VECTOR = 0x901
NT_S390_CTRS = 0x304
NT_S390_GS_BC = 0x30c
@@ -2515,6 +2558,7 @@ const (
NT_X86_SHSTK = 0x204
NT_X86_XSAVE_LAYOUT = 0x205
NT_X86_XSTATE = 0x202
+ NULL_FS_MAGIC = 0x4e554c4c
OCFS2_SUPER_MAGIC = 0x7461636f
OCRNL = 0x8
OFDEL = 0x80
@@ -2594,6 +2638,7 @@ const (
PERF_ATTR_SIZE_VER6 = 0x78
PERF_ATTR_SIZE_VER7 = 0x80
PERF_ATTR_SIZE_VER8 = 0x88
+ PERF_ATTR_SIZE_VER9 = 0x90
PERF_AUX_FLAG_COLLISION = 0x8
PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT = 0x0
PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW = 0x100
@@ -2629,6 +2674,7 @@ const (
PERF_MEM_LVLNUM_ANY_CACHE = 0xb
PERF_MEM_LVLNUM_CXL = 0x9
PERF_MEM_LVLNUM_IO = 0xa
+ PERF_MEM_LVLNUM_L0 = 0x7
PERF_MEM_LVLNUM_L1 = 0x1
PERF_MEM_LVLNUM_L2 = 0x2
PERF_MEM_LVLNUM_L2_MHB = 0x5
@@ -2662,6 +2708,23 @@ const (
PERF_MEM_OP_PFETCH = 0x8
PERF_MEM_OP_SHIFT = 0x0
PERF_MEM_OP_STORE = 0x4
+ PERF_MEM_REGION_L_NON_SHARE = 0x3
+ PERF_MEM_REGION_L_SHARE = 0x2
+ PERF_MEM_REGION_MEM0 = 0x8
+ PERF_MEM_REGION_MEM1 = 0x9
+ PERF_MEM_REGION_MEM2 = 0xa
+ PERF_MEM_REGION_MEM3 = 0xb
+ PERF_MEM_REGION_MEM4 = 0xc
+ PERF_MEM_REGION_MEM5 = 0xd
+ PERF_MEM_REGION_MEM6 = 0xe
+ PERF_MEM_REGION_MEM7 = 0xf
+ PERF_MEM_REGION_MMIO = 0x7
+ PERF_MEM_REGION_NA = 0x0
+ PERF_MEM_REGION_O_IO = 0x4
+ PERF_MEM_REGION_O_NON_SHARE = 0x6
+ PERF_MEM_REGION_O_SHARE = 0x5
+ PERF_MEM_REGION_RSVD = 0x1
+ PERF_MEM_REGION_SHIFT = 0x2e
PERF_MEM_REMOTE_REMOTE = 0x1
PERF_MEM_REMOTE_SHIFT = 0x25
PERF_MEM_SNOOPX_FWD = 0x1
@@ -2776,6 +2839,10 @@ const (
PR_CAP_AMBIENT_IS_SET = 0x1
PR_CAP_AMBIENT_LOWER = 0x3
PR_CAP_AMBIENT_RAISE = 0x2
+ PR_CFI_BRANCH_LANDING_PADS = 0x0
+ PR_CFI_DISABLE = 0x2
+ PR_CFI_ENABLE = 0x1
+ PR_CFI_LOCK = 0x4
PR_ENDIAN_BIG = 0x0
PR_ENDIAN_LITTLE = 0x1
PR_ENDIAN_PPC_LITTLE = 0x2
@@ -2798,6 +2865,7 @@ const (
PR_FUTEX_HASH_GET_SLOTS = 0x2
PR_FUTEX_HASH_SET_SLOTS = 0x1
PR_GET_AUXV = 0x41555856
+ PR_GET_CFI = 0x50
PR_GET_CHILD_SUBREAPER = 0x25
PR_GET_DUMPABLE = 0x3
PR_GET_ENDIAN = 0x13
@@ -2834,6 +2902,7 @@ const (
PR_MDWE_REFUSE_EXEC_GAIN = 0x1
PR_MPX_DISABLE_MANAGEMENT = 0x2c
PR_MPX_ENABLE_MANAGEMENT = 0x2b
+ PR_MTE_STORE_ONLY = 0x80000
PR_MTE_TAG_MASK = 0x7fff8
PR_MTE_TAG_SHIFT = 0x3
PR_MTE_TCF_ASYNC = 0x4
@@ -2877,6 +2946,10 @@ const (
PR_RISCV_V_VSTATE_CTRL_NEXT_MASK = 0xc
PR_RISCV_V_VSTATE_CTRL_OFF = 0x1
PR_RISCV_V_VSTATE_CTRL_ON = 0x2
+ PR_RSEQ_SLICE_EXTENSION = 0x4f
+ PR_RSEQ_SLICE_EXTENSION_GET = 0x1
+ PR_RSEQ_SLICE_EXTENSION_SET = 0x2
+ PR_RSEQ_SLICE_EXT_ENABLE = 0x1
PR_SCHED_CORE = 0x3e
PR_SCHED_CORE_CREATE = 0x1
PR_SCHED_CORE_GET = 0x0
@@ -2886,6 +2959,7 @@ const (
PR_SCHED_CORE_SCOPE_THREAD_GROUP = 0x1
PR_SCHED_CORE_SHARE_FROM = 0x3
PR_SCHED_CORE_SHARE_TO = 0x2
+ PR_SET_CFI = 0x51
PR_SET_CHILD_SUBREAPER = 0x24
PR_SET_DUMPABLE = 0x4
PR_SET_ENDIAN = 0x14
@@ -2951,11 +3025,14 @@ const (
PR_SVE_SET_VL_ONEXEC = 0x40000
PR_SVE_VL_INHERIT = 0x20000
PR_SVE_VL_LEN_MASK = 0xffff
+ PR_SYS_DISPATCH_EXCLUSIVE_ON = 0x1
+ PR_SYS_DISPATCH_INCLUSIVE_ON = 0x2
PR_SYS_DISPATCH_OFF = 0x0
PR_SYS_DISPATCH_ON = 0x1
PR_TAGGED_ADDR_ENABLE = 0x1
PR_TASK_PERF_EVENTS_DISABLE = 0x1f
PR_TASK_PERF_EVENTS_ENABLE = 0x20
+ PR_THP_DISABLE_EXCEPT_ADVISED = 0x2
PR_TIMER_CREATE_RESTORE_IDS = 0x4d
PR_TIMER_CREATE_RESTORE_IDS_GET = 0x2
PR_TIMER_CREATE_RESTORE_IDS_OFF = 0x0
@@ -2987,8 +3064,10 @@ const (
PTP_STRICT_FLAGS = 0x8
PTP_SYS_OFFSET_EXTENDED = 0xc4c03d09
PTP_SYS_OFFSET_EXTENDED2 = 0xc4c03d12
+ PTP_SYS_OFFSET_EXTENDED_CYCLES = 0xc4c03d16
PTP_SYS_OFFSET_PRECISE = 0xc0403d08
PTP_SYS_OFFSET_PRECISE2 = 0xc0403d11
+ PTP_SYS_OFFSET_PRECISE_CYCLES = 0xc0403d15
PTRACE_ATTACH = 0x10
PTRACE_CONT = 0x7
PTRACE_DETACH = 0x11
@@ -3330,8 +3409,9 @@ const (
RWF_DSYNC = 0x2
RWF_HIPRI = 0x1
RWF_NOAPPEND = 0x20
+ RWF_NOSIGNAL = 0x100
RWF_NOWAIT = 0x8
- RWF_SUPPORTED = 0xff
+ RWF_SUPPORTED = 0x1ff
RWF_SYNC = 0x4
RWF_WRITE_LIFE_NOT_SET = 0x0
SCHED_BATCH = 0x3
@@ -3348,6 +3428,7 @@ const (
SCHED_FLAG_UTIL_CLAMP = 0x60
SCHED_FLAG_UTIL_CLAMP_MAX = 0x40
SCHED_FLAG_UTIL_CLAMP_MIN = 0x20
+ SCHED_GETATTR_FLAG_DL_DYNAMIC = 0x1
SCHED_IDLE = 0x5
SCHED_NORMAL = 0x0
SCHED_RESET_ON_FORK = 0x40000000
@@ -3714,7 +3795,7 @@ const (
TASKSTATS_GENL_NAME = "TASKSTATS"
TASKSTATS_GENL_VERSION = 0x1
TASKSTATS_TYPE_MAX = 0x6
- TASKSTATS_VERSION = 0x10
+ TASKSTATS_VERSION = 0x11
TCIFLUSH = 0x0
TCIOFF = 0x2
TCIOFLUSH = 0x2
@@ -3730,6 +3811,17 @@ const (
TCPOPT_TIMESTAMP = 0x8
TCPOPT_TSTAMP_HDR = 0x101080a
TCPOPT_WINDOW = 0x3
+ TCP_ACCECN_ACE_FAIL_RECV = 0x2
+ TCP_ACCECN_ACE_FAIL_SEND = 0x1
+ TCP_ACCECN_OPT_COUNTER_SEEN = 0x2
+ TCP_ACCECN_OPT_EMPTY_SEEN = 0x1
+ TCP_ACCECN_OPT_FAIL_RECV = 0x8
+ TCP_ACCECN_OPT_FAIL_SEEN = 0x3
+ TCP_ACCECN_OPT_FAIL_SEND = 0x4
+ TCP_ACCECN_OPT_NOT_SEEN = 0x0
+ TCP_AO_KEYF_EXCLUDE_OPT = 0x2
+ TCP_AO_KEYF_IFINDEX = 0x1
+ TCP_AO_MAXKEYLEN = 0x50
TCP_CC_INFO = 0x1a
TCP_CM_INQ = 0x24
TCP_CONGESTION = 0xd
@@ -3741,6 +3833,7 @@ const (
TCP_COOKIE_TRANSACTIONS = 0xf
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
+ TCP_DELACK_MAX_US = 0x2e
TCP_FASTOPEN = 0x17
TCP_FASTOPEN_CONNECT = 0x1e
TCP_FASTOPEN_KEY = 0x21
@@ -3773,6 +3866,8 @@ const (
TCP_REPAIR_OPTIONS = 0x16
TCP_REPAIR_QUEUE = 0x14
TCP_REPAIR_WINDOW = 0x1d
+ TCP_RTO_MAX_MS = 0x2c
+ TCP_RTO_MIN_US = 0x2d
TCP_SAVED_SYN = 0x1c
TCP_SAVE_SYN = 0x1b
TCP_SYNCNT = 0x7
@@ -3800,6 +3895,7 @@ const (
TIOCPKT_NOSTOP = 0x10
TIOCPKT_START = 0x8
TIOCPKT_STOP = 0x4
+ TIOCSER_TEMT = 0x1
TIPC_ADDR_ID = 0x3
TIPC_ADDR_MCAST = 0x1
TIPC_ADDR_NAME = 0x2
@@ -4052,6 +4148,7 @@ const (
XDP_FLAGS_REPLACE = 0x10
XDP_FLAGS_SKB_MODE = 0x2
XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1
+ XDP_MAX_TX_SKB_BUDGET = 0x9
XDP_MMAP_OFFSETS = 0x1
XDP_OPTIONS = 0x8
XDP_OPTIONS_ZEROCOPY = 0x1
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
index 97a61fc5b..5aaf4bc7a 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
@@ -159,6 +159,7 @@ const (
NFDBITS = 0x20
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x8008b70d
NS_GET_MNTNS_ID = 0x8008b705
NS_GET_NSTYPE = 0xb703
NS_GET_OWNER_UID = 0xb704
@@ -305,6 +306,7 @@ const (
RTC_WKALM_SET = 0x4028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -352,6 +354,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -480,7 +483,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x5423
TIOCSIG = 0x40045436
TIOCSISO7816 = 0xc0285443
@@ -596,6 +598,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -819,7 +824,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -836,6 +841,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
index a0d6d498c..b8e6287a1 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
@@ -159,6 +159,7 @@ const (
NFDBITS = 0x40
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x8008b70d
NS_GET_MNTNS_ID = 0x8008b705
NS_GET_NSTYPE = 0xb703
NS_GET_OWNER_UID = 0xb704
@@ -306,6 +307,7 @@ const (
RTC_WKALM_SET = 0x4028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -353,6 +355,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -481,7 +484,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x5423
TIOCSIG = 0x40045436
TIOCSISO7816 = 0xc0285443
@@ -596,6 +598,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -819,7 +824,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -836,6 +841,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
index dd9c903f9..464f82189 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
@@ -156,6 +156,7 @@ const (
NFDBITS = 0x20
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x8008b70d
NS_GET_MNTNS_ID = 0x8008b705
NS_GET_NSTYPE = 0xb703
NS_GET_OWNER_UID = 0xb704
@@ -311,6 +312,7 @@ const (
RTC_WKALM_SET = 0x4028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -358,6 +360,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -486,7 +489,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x5423
TIOCSIG = 0x40045436
TIOCSISO7816 = 0xc0285443
@@ -601,6 +603,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -824,7 +829,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -841,6 +846,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
index 384c61ca3..735265b62 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
@@ -161,6 +161,7 @@ const (
NFDBITS = 0x40
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x8008b70d
NS_GET_MNTNS_ID = 0x8008b705
NS_GET_NSTYPE = 0xb703
NS_GET_OWNER_UID = 0xb704
@@ -304,6 +305,7 @@ const (
RTC_WKALM_SET = 0x4028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -351,6 +353,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -480,7 +483,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x5423
TIOCSIG = 0x40045436
TIOCSISO7816 = 0xc0285443
@@ -598,6 +600,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -821,7 +826,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -838,6 +843,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
index 6384c9831..1970ce826 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
@@ -160,6 +160,7 @@ const (
NFDBITS = 0x40
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x8008b70d
NS_GET_MNTNS_ID = 0x8008b705
NS_GET_NSTYPE = 0xb703
NS_GET_OWNER_UID = 0xb704
@@ -298,6 +299,7 @@ const (
RTC_WKALM_SET = 0x4028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -345,6 +347,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -473,7 +476,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x5423
TIOCSIG = 0x40045436
TIOCSISO7816 = 0xc0285443
@@ -588,6 +590,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -811,7 +816,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -828,6 +833,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
index 553c1c6f1..56de9aeb2 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
@@ -156,6 +156,7 @@ const (
NFDBITS = 0x20
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x4008b70d
NS_GET_MNTNS_ID = 0x4008b705
NS_GET_NSTYPE = 0x2000b703
NS_GET_OWNER_UID = 0x2000b704
@@ -304,6 +305,7 @@ const (
RTC_WKALM_SET = 0x8028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -351,6 +353,7 @@ const (
SO_ERROR = 0x1007
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x2c
@@ -478,7 +481,6 @@ const (
TIOCSERGWILD = 0x5489
TIOCSERSETMULTI = 0x5490
TIOCSERSWILD = 0x548a
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x7401
TIOCSETN = 0x740a
TIOCSETP = 0x7409
@@ -597,6 +599,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x60)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x46d)
+ EFSBADCRC = syscall.Errno(0x4d)
+ EFSCORRUPTED = syscall.Errno(0x87)
+ EFTYPE = syscall.Errno(0xa9)
EHOSTDOWN = syscall.Errno(0x93)
EHOSTUNREACH = syscall.Errno(0x94)
EHWPOISON = syscall.Errno(0xa8)
@@ -814,7 +819,7 @@ var errorList = [...]struct {
{132, "ENOBUFS", "no buffer space available"},
{133, "EISCONN", "transport endpoint is already connected"},
{134, "ENOTCONN", "transport endpoint is not connected"},
- {135, "EUCLEAN", "structure needs cleaning"},
+ {135, "EFSCORRUPTED", "structure needs cleaning"},
{137, "ENOTNAM", "not a XENIX named type file"},
{138, "ENAVAIL", "no XENIX semaphores available"},
{139, "EISNAM", "is a named type file"},
@@ -841,6 +846,7 @@ var errorList = [...]struct {
{166, "ENOTRECOVERABLE", "state not recoverable"},
{167, "ERFKILL", "operation not possible due to RF-kill"},
{168, "EHWPOISON", "memory page has hardware error"},
+ {169, "EFTYPE", "unknown error 169"},
{1133, "EDQUOT", "disk quota exceeded"},
}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
index b3339f209..26ca1caca 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
@@ -156,6 +156,7 @@ const (
NFDBITS = 0x40
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x4008b70d
NS_GET_MNTNS_ID = 0x4008b705
NS_GET_NSTYPE = 0x2000b703
NS_GET_OWNER_UID = 0x2000b704
@@ -304,6 +305,7 @@ const (
RTC_WKALM_SET = 0x8028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -351,6 +353,7 @@ const (
SO_ERROR = 0x1007
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x2c
@@ -478,7 +481,6 @@ const (
TIOCSERGWILD = 0x5489
TIOCSERSETMULTI = 0x5490
TIOCSERSWILD = 0x548a
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x7401
TIOCSETN = 0x740a
TIOCSETP = 0x7409
@@ -597,6 +599,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x60)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x46d)
+ EFSBADCRC = syscall.Errno(0x4d)
+ EFSCORRUPTED = syscall.Errno(0x87)
+ EFTYPE = syscall.Errno(0xa9)
EHOSTDOWN = syscall.Errno(0x93)
EHOSTUNREACH = syscall.Errno(0x94)
EHWPOISON = syscall.Errno(0xa8)
@@ -814,7 +819,7 @@ var errorList = [...]struct {
{132, "ENOBUFS", "no buffer space available"},
{133, "EISCONN", "transport endpoint is already connected"},
{134, "ENOTCONN", "transport endpoint is not connected"},
- {135, "EUCLEAN", "structure needs cleaning"},
+ {135, "EFSCORRUPTED", "structure needs cleaning"},
{137, "ENOTNAM", "not a XENIX named type file"},
{138, "ENAVAIL", "no XENIX semaphores available"},
{139, "EISNAM", "is a named type file"},
@@ -841,6 +846,7 @@ var errorList = [...]struct {
{166, "ENOTRECOVERABLE", "state not recoverable"},
{167, "ERFKILL", "operation not possible due to RF-kill"},
{168, "EHWPOISON", "memory page has hardware error"},
+ {169, "EFTYPE", "unknown error 169"},
{1133, "EDQUOT", "disk quota exceeded"},
}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
index 177091d2b..b19df2348 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
@@ -156,6 +156,7 @@ const (
NFDBITS = 0x40
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x4008b70d
NS_GET_MNTNS_ID = 0x4008b705
NS_GET_NSTYPE = 0x2000b703
NS_GET_OWNER_UID = 0x2000b704
@@ -304,6 +305,7 @@ const (
RTC_WKALM_SET = 0x8028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -351,6 +353,7 @@ const (
SO_ERROR = 0x1007
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x2c
@@ -478,7 +481,6 @@ const (
TIOCSERGWILD = 0x5489
TIOCSERSETMULTI = 0x5490
TIOCSERSWILD = 0x548a
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x7401
TIOCSETN = 0x740a
TIOCSETP = 0x7409
@@ -597,6 +599,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x60)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x46d)
+ EFSBADCRC = syscall.Errno(0x4d)
+ EFSCORRUPTED = syscall.Errno(0x87)
+ EFTYPE = syscall.Errno(0xa9)
EHOSTDOWN = syscall.Errno(0x93)
EHOSTUNREACH = syscall.Errno(0x94)
EHWPOISON = syscall.Errno(0xa8)
@@ -814,7 +819,7 @@ var errorList = [...]struct {
{132, "ENOBUFS", "no buffer space available"},
{133, "EISCONN", "transport endpoint is already connected"},
{134, "ENOTCONN", "transport endpoint is not connected"},
- {135, "EUCLEAN", "structure needs cleaning"},
+ {135, "EFSCORRUPTED", "structure needs cleaning"},
{137, "ENOTNAM", "not a XENIX named type file"},
{138, "ENAVAIL", "no XENIX semaphores available"},
{139, "EISNAM", "is a named type file"},
@@ -841,6 +846,7 @@ var errorList = [...]struct {
{166, "ENOTRECOVERABLE", "state not recoverable"},
{167, "ERFKILL", "operation not possible due to RF-kill"},
{168, "EHWPOISON", "memory page has hardware error"},
+ {169, "EFTYPE", "unknown error 169"},
{1133, "EDQUOT", "disk quota exceeded"},
}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
index c5abf156d..9ba3c9509 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
@@ -156,6 +156,7 @@ const (
NFDBITS = 0x20
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x4008b70d
NS_GET_MNTNS_ID = 0x4008b705
NS_GET_NSTYPE = 0x2000b703
NS_GET_OWNER_UID = 0x2000b704
@@ -304,6 +305,7 @@ const (
RTC_WKALM_SET = 0x8028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -351,6 +353,7 @@ const (
SO_ERROR = 0x1007
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x2c
@@ -478,7 +481,6 @@ const (
TIOCSERGWILD = 0x5489
TIOCSERSETMULTI = 0x5490
TIOCSERSWILD = 0x548a
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x7401
TIOCSETN = 0x740a
TIOCSETP = 0x7409
@@ -597,6 +599,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x60)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x46d)
+ EFSBADCRC = syscall.Errno(0x4d)
+ EFSCORRUPTED = syscall.Errno(0x87)
+ EFTYPE = syscall.Errno(0xa9)
EHOSTDOWN = syscall.Errno(0x93)
EHOSTUNREACH = syscall.Errno(0x94)
EHWPOISON = syscall.Errno(0xa8)
@@ -814,7 +819,7 @@ var errorList = [...]struct {
{132, "ENOBUFS", "no buffer space available"},
{133, "EISCONN", "transport endpoint is already connected"},
{134, "ENOTCONN", "transport endpoint is not connected"},
- {135, "EUCLEAN", "structure needs cleaning"},
+ {135, "EFSCORRUPTED", "structure needs cleaning"},
{137, "ENOTNAM", "not a XENIX named type file"},
{138, "ENAVAIL", "no XENIX semaphores available"},
{139, "EISNAM", "is a named type file"},
@@ -841,6 +846,7 @@ var errorList = [...]struct {
{166, "ENOTRECOVERABLE", "state not recoverable"},
{167, "ERFKILL", "operation not possible due to RF-kill"},
{168, "EHWPOISON", "memory page has hardware error"},
+ {169, "EFTYPE", "unknown error 169"},
{1133, "EDQUOT", "disk quota exceeded"},
}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
index f1f3fadf5..62da59f96 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
@@ -158,6 +158,7 @@ const (
NL3 = 0x300
NLDLY = 0x300
NOFLSH = 0x80000000
+ NS_GET_ID = 0x4008b70d
NS_GET_MNTNS_ID = 0x4008b705
NS_GET_NSTYPE = 0x2000b703
NS_GET_OWNER_UID = 0x2000b704
@@ -359,6 +360,7 @@ const (
RTC_WKALM_SET = 0x8028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -406,6 +408,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -532,7 +535,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETC = 0x80067411
TIOCSETD = 0x5423
TIOCSETN = 0x8006740a
@@ -653,6 +655,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -877,7 +882,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -894,6 +899,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
index 203ad9c54..d18d4daed 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
@@ -158,6 +158,7 @@ const (
NL3 = 0x300
NLDLY = 0x300
NOFLSH = 0x80000000
+ NS_GET_ID = 0x4008b70d
NS_GET_MNTNS_ID = 0x4008b705
NS_GET_NSTYPE = 0x2000b703
NS_GET_OWNER_UID = 0x2000b704
@@ -363,6 +364,7 @@ const (
RTC_WKALM_SET = 0x8028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -410,6 +412,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -536,7 +539,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETC = 0x80067411
TIOCSETD = 0x5423
TIOCSETN = 0x8006740a
@@ -657,6 +659,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -881,7 +886,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -898,6 +903,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
index 4b9abcb21..ba7767db5 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
@@ -158,6 +158,7 @@ const (
NL3 = 0x300
NLDLY = 0x300
NOFLSH = 0x80000000
+ NS_GET_ID = 0x4008b70d
NS_GET_MNTNS_ID = 0x4008b705
NS_GET_NSTYPE = 0x2000b703
NS_GET_OWNER_UID = 0x2000b704
@@ -363,6 +364,7 @@ const (
RTC_WKALM_SET = 0x8028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -410,6 +412,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -536,7 +539,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETC = 0x80067411
TIOCSETD = 0x5423
TIOCSETN = 0x8006740a
@@ -657,6 +659,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -881,7 +886,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -898,6 +903,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
index f87983037..76cb22111 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
@@ -11,553 +11,568 @@ package unix
import "syscall"
const (
- B1000000 = 0x1008
- B115200 = 0x1002
- B1152000 = 0x1009
- B1500000 = 0x100a
- B2000000 = 0x100b
- B230400 = 0x1003
- B2500000 = 0x100c
- B3000000 = 0x100d
- B3500000 = 0x100e
- B4000000 = 0x100f
- B460800 = 0x1004
- B500000 = 0x1005
- B57600 = 0x1001
- B576000 = 0x1006
- B921600 = 0x1007
- BLKALIGNOFF = 0x127a
- BLKBSZGET = 0x80081270
- BLKBSZSET = 0x40081271
- BLKDISCARD = 0x1277
- BLKDISCARDZEROES = 0x127c
- BLKFLSBUF = 0x1261
- BLKFRAGET = 0x1265
- BLKFRASET = 0x1264
- BLKGETDISKSEQ = 0x80081280
- BLKGETSIZE = 0x1260
- BLKGETSIZE64 = 0x80081272
- BLKIOMIN = 0x1278
- BLKIOOPT = 0x1279
- BLKPBSZGET = 0x127b
- BLKRAGET = 0x1263
- BLKRASET = 0x1262
- BLKROGET = 0x125e
- BLKROSET = 0x125d
- BLKROTATIONAL = 0x127e
- BLKRRPART = 0x125f
- BLKSECDISCARD = 0x127d
- BLKSECTGET = 0x1267
- BLKSECTSET = 0x1266
- BLKSSZGET = 0x1268
- BLKZEROOUT = 0x127f
- BOTHER = 0x1000
- BS1 = 0x2000
- BSDLY = 0x2000
- CBAUD = 0x100f
- CBAUDEX = 0x1000
- CIBAUD = 0x100f0000
- CLOCAL = 0x800
- CR1 = 0x200
- CR2 = 0x400
- CR3 = 0x600
- CRDLY = 0x600
- CREAD = 0x80
- CS6 = 0x10
- CS7 = 0x20
- CS8 = 0x30
- CSIZE = 0x30
- CSTOPB = 0x40
- DM_MPATH_PROBE_PATHS = 0xfd12
- ECCGETLAYOUT = 0x81484d11
- ECCGETSTATS = 0x80104d12
- ECHOCTL = 0x200
- ECHOE = 0x10
- ECHOK = 0x20
- ECHOKE = 0x800
- ECHONL = 0x40
- ECHOPRT = 0x400
- EFD_CLOEXEC = 0x80000
- EFD_NONBLOCK = 0x800
- EPIOCGPARAMS = 0x80088a02
- EPIOCSPARAMS = 0x40088a01
- EPOLL_CLOEXEC = 0x80000
- EXTPROC = 0x10000
- FF1 = 0x8000
- FFDLY = 0x8000
- FICLONE = 0x40049409
- FICLONERANGE = 0x4020940d
- FLUSHO = 0x1000
- FS_IOC_ENABLE_VERITY = 0x40806685
- FS_IOC_GETFLAGS = 0x80086601
- FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b
- FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615
- FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614
- FS_IOC_SETFLAGS = 0x40086602
- FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613
- F_GETLK = 0x5
- F_GETLK64 = 0x5
- F_GETOWN = 0x9
- F_RDLCK = 0x0
- F_SETLK = 0x6
- F_SETLK64 = 0x6
- F_SETLKW = 0x7
- F_SETLKW64 = 0x7
- F_SETOWN = 0x8
- F_UNLCK = 0x2
- F_WRLCK = 0x1
- HIDIOCGRAWINFO = 0x80084803
- HIDIOCGRDESC = 0x90044802
- HIDIOCGRDESCSIZE = 0x80044801
- HIDIOCREVOKE = 0x4004480d
- HUPCL = 0x400
- ICANON = 0x2
- IEXTEN = 0x8000
- IN_CLOEXEC = 0x80000
- IN_NONBLOCK = 0x800
- IOCTL_MEI_NOTIFY_GET = 0x80044803
- IOCTL_MEI_NOTIFY_SET = 0x40044802
- IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
- IPV6_FLOWINFO_MASK = 0xffffff0f
- IPV6_FLOWLABEL_MASK = 0xffff0f00
- ISIG = 0x1
- IUCLC = 0x200
- IXOFF = 0x1000
- IXON = 0x400
- MAP_ANON = 0x20
- MAP_ANONYMOUS = 0x20
- MAP_DENYWRITE = 0x800
- MAP_EXECUTABLE = 0x1000
- MAP_GROWSDOWN = 0x100
- MAP_HUGETLB = 0x40000
- MAP_LOCKED = 0x2000
- MAP_NONBLOCK = 0x10000
- MAP_NORESERVE = 0x4000
- MAP_POPULATE = 0x8000
- MAP_STACK = 0x20000
- MAP_SYNC = 0x80000
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- MCL_ONFAULT = 0x4
- MEMERASE = 0x40084d02
- MEMERASE64 = 0x40104d14
- MEMGETBADBLOCK = 0x40084d0b
- MEMGETINFO = 0x80204d01
- MEMGETOOBSEL = 0x80c84d0a
- MEMGETREGIONCOUNT = 0x80044d07
- MEMISLOCKED = 0x80084d17
- MEMLOCK = 0x40084d05
- MEMREAD = 0xc0404d1a
- MEMREADOOB = 0xc0104d04
- MEMSETBADBLOCK = 0x40084d0c
- MEMUNLOCK = 0x40084d06
- MEMWRITEOOB = 0xc0104d03
- MTDFILEMODE = 0x4d13
- NFDBITS = 0x40
- NLDLY = 0x100
- NOFLSH = 0x80
- NS_GET_MNTNS_ID = 0x8008b705
- NS_GET_NSTYPE = 0xb703
- NS_GET_OWNER_UID = 0xb704
- NS_GET_PARENT = 0xb702
- NS_GET_PID_FROM_PIDNS = 0x8004b706
- NS_GET_PID_IN_PIDNS = 0x8004b708
- NS_GET_TGID_FROM_PIDNS = 0x8004b707
- NS_GET_TGID_IN_PIDNS = 0x8004b709
- NS_GET_USERNS = 0xb701
- OLCUC = 0x2
- ONLCR = 0x4
- OTPERASE = 0x400c4d19
- OTPGETREGIONCOUNT = 0x40044d0e
- OTPGETREGIONINFO = 0x400c4d0f
- OTPLOCK = 0x800c4d10
- OTPSELECT = 0x80044d0d
- O_APPEND = 0x400
- O_ASYNC = 0x2000
- O_CLOEXEC = 0x80000
- O_CREAT = 0x40
- O_DIRECT = 0x4000
- O_DIRECTORY = 0x10000
- O_DSYNC = 0x1000
- O_EXCL = 0x80
- O_FSYNC = 0x101000
- O_LARGEFILE = 0x0
- O_NDELAY = 0x800
- O_NOATIME = 0x40000
- O_NOCTTY = 0x100
- O_NOFOLLOW = 0x20000
- O_NONBLOCK = 0x800
- O_PATH = 0x200000
- O_RSYNC = 0x101000
- O_SYNC = 0x101000
- O_TMPFILE = 0x410000
- O_TRUNC = 0x200
- PARENB = 0x100
- PARODD = 0x200
- PENDIN = 0x4000
- PERF_EVENT_IOC_DISABLE = 0x2401
- PERF_EVENT_IOC_ENABLE = 0x2400
- PERF_EVENT_IOC_ID = 0x80082407
- PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b
- PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409
- PERF_EVENT_IOC_PERIOD = 0x40082404
- PERF_EVENT_IOC_QUERY_BPF = 0xc008240a
- PERF_EVENT_IOC_REFRESH = 0x2402
- PERF_EVENT_IOC_RESET = 0x2403
- PERF_EVENT_IOC_SET_BPF = 0x40042408
- PERF_EVENT_IOC_SET_FILTER = 0x40082406
- PERF_EVENT_IOC_SET_OUTPUT = 0x2405
- PPPIOCATTACH = 0x4004743d
- PPPIOCATTCHAN = 0x40047438
- PPPIOCBRIDGECHAN = 0x40047435
- PPPIOCCONNECT = 0x4004743a
- PPPIOCDETACH = 0x4004743c
- PPPIOCDISCONN = 0x7439
- PPPIOCGASYNCMAP = 0x80047458
- PPPIOCGCHAN = 0x80047437
- PPPIOCGDEBUG = 0x80047441
- PPPIOCGFLAGS = 0x8004745a
- PPPIOCGIDLE = 0x8010743f
- PPPIOCGIDLE32 = 0x8008743f
- PPPIOCGIDLE64 = 0x8010743f
- PPPIOCGL2TPSTATS = 0x80487436
- PPPIOCGMRU = 0x80047453
- PPPIOCGRASYNCMAP = 0x80047455
- PPPIOCGUNIT = 0x80047456
- PPPIOCGXASYNCMAP = 0x80207450
- PPPIOCSACTIVE = 0x40107446
- PPPIOCSASYNCMAP = 0x40047457
- PPPIOCSCOMPRESS = 0x4010744d
- PPPIOCSDEBUG = 0x40047440
- PPPIOCSFLAGS = 0x40047459
- PPPIOCSMAXCID = 0x40047451
- PPPIOCSMRRU = 0x4004743b
- PPPIOCSMRU = 0x40047452
- PPPIOCSNPMODE = 0x4008744b
- PPPIOCSPASS = 0x40107447
- PPPIOCSRASYNCMAP = 0x40047454
- PPPIOCSXASYNCMAP = 0x4020744f
- PPPIOCUNBRIDGECHAN = 0x7434
- PPPIOCXFERUNIT = 0x744e
- PR_SET_PTRACER_ANY = 0xffffffffffffffff
- PTP_CLOCK_GETCAPS = 0x80503d01
- PTP_CLOCK_GETCAPS2 = 0x80503d0a
- PTP_ENABLE_PPS = 0x40043d04
- PTP_ENABLE_PPS2 = 0x40043d0d
- PTP_EXTTS_REQUEST = 0x40103d02
- PTP_EXTTS_REQUEST2 = 0x40103d0b
- PTP_MASK_CLEAR_ALL = 0x3d13
- PTP_MASK_EN_SINGLE = 0x40043d14
- PTP_PEROUT_REQUEST = 0x40383d03
- PTP_PEROUT_REQUEST2 = 0x40383d0c
- PTP_PIN_SETFUNC = 0x40603d07
- PTP_PIN_SETFUNC2 = 0x40603d10
- PTP_SYS_OFFSET = 0x43403d05
- PTP_SYS_OFFSET2 = 0x43403d0e
- PTRACE_GETFDPIC = 0x21
- PTRACE_GETFDPIC_EXEC = 0x0
- PTRACE_GETFDPIC_INTERP = 0x1
- RLIMIT_AS = 0x9
- RLIMIT_MEMLOCK = 0x8
- RLIMIT_NOFILE = 0x7
- RLIMIT_NPROC = 0x6
- RLIMIT_RSS = 0x5
- RNDADDENTROPY = 0x40085203
- RNDADDTOENTCNT = 0x40045201
- RNDCLEARPOOL = 0x5206
- RNDGETENTCNT = 0x80045200
- RNDGETPOOL = 0x80085202
- RNDRESEEDCRNG = 0x5207
- RNDZAPENTCNT = 0x5204
- RTC_AIE_OFF = 0x7002
- RTC_AIE_ON = 0x7001
- RTC_ALM_READ = 0x80247008
- RTC_ALM_SET = 0x40247007
- RTC_EPOCH_READ = 0x8008700d
- RTC_EPOCH_SET = 0x4008700e
- RTC_IRQP_READ = 0x8008700b
- RTC_IRQP_SET = 0x4008700c
- RTC_PARAM_GET = 0x40187013
- RTC_PARAM_SET = 0x40187014
- RTC_PIE_OFF = 0x7006
- RTC_PIE_ON = 0x7005
- RTC_PLL_GET = 0x80207011
- RTC_PLL_SET = 0x40207012
- RTC_RD_TIME = 0x80247009
- RTC_SET_TIME = 0x4024700a
- RTC_UIE_OFF = 0x7004
- RTC_UIE_ON = 0x7003
- RTC_VL_CLR = 0x7014
- RTC_VL_READ = 0x80047013
- RTC_WIE_OFF = 0x7010
- RTC_WIE_ON = 0x700f
- RTC_WKALM_RD = 0x80287010
- RTC_WKALM_SET = 0x4028700f
- SCM_DEVMEM_DMABUF = 0x4f
- SCM_DEVMEM_LINEAR = 0x4e
- SCM_TIMESTAMPING = 0x25
- SCM_TIMESTAMPING_OPT_STATS = 0x36
- SCM_TIMESTAMPING_PKTINFO = 0x3a
- SCM_TIMESTAMPNS = 0x23
- SCM_TS_OPT_ID = 0x51
- SCM_TXTIME = 0x3d
- SCM_WIFI_STATUS = 0x29
- SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103
- SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102
- SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104
- SFD_CLOEXEC = 0x80000
- SFD_NONBLOCK = 0x800
- SIOCATMARK = 0x8905
- SIOCGPGRP = 0x8904
- SIOCGSTAMPNS_NEW = 0x80108907
- SIOCGSTAMP_NEW = 0x80108906
- SIOCINQ = 0x541b
- SIOCOUTQ = 0x5411
- SIOCSPGRP = 0x8902
- SOCK_CLOEXEC = 0x80000
- SOCK_DGRAM = 0x2
- SOCK_NONBLOCK = 0x800
- SOCK_STREAM = 0x1
- SOL_SOCKET = 0x1
- SO_ACCEPTCONN = 0x1e
- SO_ATTACH_BPF = 0x32
- SO_ATTACH_REUSEPORT_CBPF = 0x33
- SO_ATTACH_REUSEPORT_EBPF = 0x34
- SO_BINDTODEVICE = 0x19
- SO_BINDTOIFINDEX = 0x3e
- SO_BPF_EXTENSIONS = 0x30
- SO_BROADCAST = 0x6
- SO_BSDCOMPAT = 0xe
- SO_BUF_LOCK = 0x48
- SO_BUSY_POLL = 0x2e
- SO_BUSY_POLL_BUDGET = 0x46
- SO_CNX_ADVICE = 0x35
- SO_COOKIE = 0x39
- SO_DETACH_REUSEPORT_BPF = 0x44
- SO_DEVMEM_DMABUF = 0x4f
- SO_DEVMEM_DONTNEED = 0x50
- SO_DEVMEM_LINEAR = 0x4e
- SO_DOMAIN = 0x27
- SO_DONTROUTE = 0x5
- SO_ERROR = 0x4
- SO_INCOMING_CPU = 0x31
- SO_INCOMING_NAPI_ID = 0x38
- SO_KEEPALIVE = 0x9
- SO_LINGER = 0xd
- SO_LOCK_FILTER = 0x2c
- SO_MARK = 0x24
- SO_MAX_PACING_RATE = 0x2f
- SO_MEMINFO = 0x37
- SO_NETNS_COOKIE = 0x47
- SO_NOFCS = 0x2b
- SO_OOBINLINE = 0xa
- SO_PASSCRED = 0x10
- SO_PASSPIDFD = 0x4c
- SO_PASSRIGHTS = 0x53
- SO_PASSSEC = 0x22
- SO_PEEK_OFF = 0x2a
- SO_PEERCRED = 0x11
- SO_PEERGROUPS = 0x3b
- SO_PEERPIDFD = 0x4d
- SO_PEERSEC = 0x1f
- SO_PREFER_BUSY_POLL = 0x45
- SO_PROTOCOL = 0x26
- SO_RCVBUF = 0x8
- SO_RCVBUFFORCE = 0x21
- SO_RCVLOWAT = 0x12
- SO_RCVMARK = 0x4b
- SO_RCVPRIORITY = 0x52
- SO_RCVTIMEO = 0x14
- SO_RCVTIMEO_NEW = 0x42
- SO_RCVTIMEO_OLD = 0x14
- SO_RESERVE_MEM = 0x49
- SO_REUSEADDR = 0x2
- SO_REUSEPORT = 0xf
- SO_RXQ_OVFL = 0x28
- SO_SECURITY_AUTHENTICATION = 0x16
- SO_SECURITY_ENCRYPTION_NETWORK = 0x18
- SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
- SO_SELECT_ERR_QUEUE = 0x2d
- SO_SNDBUF = 0x7
- SO_SNDBUFFORCE = 0x20
- SO_SNDLOWAT = 0x13
- SO_SNDTIMEO = 0x15
- SO_SNDTIMEO_NEW = 0x43
- SO_SNDTIMEO_OLD = 0x15
- SO_TIMESTAMPING = 0x25
- SO_TIMESTAMPING_NEW = 0x41
- SO_TIMESTAMPING_OLD = 0x25
- SO_TIMESTAMPNS = 0x23
- SO_TIMESTAMPNS_NEW = 0x40
- SO_TIMESTAMPNS_OLD = 0x23
- SO_TIMESTAMP_NEW = 0x3f
- SO_TXREHASH = 0x4a
- SO_TXTIME = 0x3d
- SO_TYPE = 0x3
- SO_WIFI_STATUS = 0x29
- SO_ZEROCOPY = 0x3c
- TAB1 = 0x800
- TAB2 = 0x1000
- TAB3 = 0x1800
- TABDLY = 0x1800
- TCFLSH = 0x540b
- TCGETA = 0x5405
- TCGETS = 0x5401
- TCGETS2 = 0x802c542a
- TCGETX = 0x5432
- TCSAFLUSH = 0x2
- TCSBRK = 0x5409
- TCSBRKP = 0x5425
- TCSETA = 0x5406
- TCSETAF = 0x5408
- TCSETAW = 0x5407
- TCSETS = 0x5402
- TCSETS2 = 0x402c542b
- TCSETSF = 0x5404
- TCSETSF2 = 0x402c542d
- TCSETSW = 0x5403
- TCSETSW2 = 0x402c542c
- TCSETX = 0x5433
- TCSETXF = 0x5434
- TCSETXW = 0x5435
- TCXONC = 0x540a
- TFD_CLOEXEC = 0x80000
- TFD_NONBLOCK = 0x800
- TIOCCBRK = 0x5428
- TIOCCONS = 0x541d
- TIOCEXCL = 0x540c
- TIOCGDEV = 0x80045432
- TIOCGETD = 0x5424
- TIOCGEXCL = 0x80045440
- TIOCGICOUNT = 0x545d
- TIOCGISO7816 = 0x80285442
- TIOCGLCKTRMIOS = 0x5456
- TIOCGPGRP = 0x540f
- TIOCGPKT = 0x80045438
- TIOCGPTLCK = 0x80045439
- TIOCGPTN = 0x80045430
- TIOCGPTPEER = 0x5441
- TIOCGRS485 = 0x542e
- TIOCGSERIAL = 0x541e
- TIOCGSID = 0x5429
- TIOCGSOFTCAR = 0x5419
- TIOCGWINSZ = 0x5413
- TIOCINQ = 0x541b
- TIOCLINUX = 0x541c
- TIOCMBIC = 0x5417
- TIOCMBIS = 0x5416
- TIOCMGET = 0x5415
- TIOCMIWAIT = 0x545c
- TIOCMSET = 0x5418
- TIOCM_CAR = 0x40
- TIOCM_CD = 0x40
- TIOCM_CTS = 0x20
- TIOCM_DSR = 0x100
- TIOCM_RI = 0x80
- TIOCM_RNG = 0x80
- TIOCM_SR = 0x10
- TIOCM_ST = 0x8
- TIOCNOTTY = 0x5422
- TIOCNXCL = 0x540d
- TIOCOUTQ = 0x5411
- TIOCPKT = 0x5420
- TIOCSBRK = 0x5427
- TIOCSCTTY = 0x540e
- TIOCSERCONFIG = 0x5453
- TIOCSERGETLSR = 0x5459
- TIOCSERGETMULTI = 0x545a
- TIOCSERGSTRUCT = 0x5458
- TIOCSERGWILD = 0x5454
- TIOCSERSETMULTI = 0x545b
- TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
- TIOCSETD = 0x5423
- TIOCSIG = 0x40045436
- TIOCSISO7816 = 0xc0285443
- TIOCSLCKTRMIOS = 0x5457
- TIOCSPGRP = 0x5410
- TIOCSPTLCK = 0x40045431
- TIOCSRS485 = 0x542f
- TIOCSSERIAL = 0x541f
- TIOCSSOFTCAR = 0x541a
- TIOCSTI = 0x5412
- TIOCSWINSZ = 0x5414
- TIOCVHANGUP = 0x5437
- TOSTOP = 0x100
- TUNATTACHFILTER = 0x401054d5
- TUNDETACHFILTER = 0x401054d6
- TUNGETDEVNETNS = 0x54e3
- TUNGETFEATURES = 0x800454cf
- TUNGETFILTER = 0x801054db
- TUNGETIFF = 0x800454d2
- TUNGETSNDBUF = 0x800454d3
- TUNGETVNETBE = 0x800454df
- TUNGETVNETHDRSZ = 0x800454d7
- TUNGETVNETLE = 0x800454dd
- TUNSETCARRIER = 0x400454e2
- TUNSETDEBUG = 0x400454c9
- TUNSETFILTEREBPF = 0x800454e1
- TUNSETGROUP = 0x400454ce
- TUNSETIFF = 0x400454ca
- TUNSETIFINDEX = 0x400454da
- TUNSETLINK = 0x400454cd
- TUNSETNOCSUM = 0x400454c8
- TUNSETOFFLOAD = 0x400454d0
- TUNSETOWNER = 0x400454cc
- TUNSETPERSIST = 0x400454cb
- TUNSETQUEUE = 0x400454d9
- TUNSETSNDBUF = 0x400454d4
- TUNSETSTEERINGEBPF = 0x800454e0
- TUNSETTXFILTER = 0x400454d1
- TUNSETVNETBE = 0x400454de
- TUNSETVNETHDRSZ = 0x400454d8
- TUNSETVNETLE = 0x400454dc
- UBI_IOCATT = 0x40186f40
- UBI_IOCDET = 0x40046f41
- UBI_IOCEBCH = 0x40044f02
- UBI_IOCEBER = 0x40044f01
- UBI_IOCEBISMAP = 0x80044f05
- UBI_IOCEBMAP = 0x40084f03
- UBI_IOCEBUNMAP = 0x40044f04
- UBI_IOCMKVOL = 0x40986f00
- UBI_IOCRMVOL = 0x40046f01
- UBI_IOCRNVOL = 0x51106f03
- UBI_IOCRPEB = 0x40046f04
- UBI_IOCRSVOL = 0x400c6f02
- UBI_IOCSETVOLPROP = 0x40104f06
- UBI_IOCSPEB = 0x40046f05
- UBI_IOCVOLCRBLK = 0x40804f07
- UBI_IOCVOLRMBLK = 0x4f08
- UBI_IOCVOLUP = 0x40084f00
- VDISCARD = 0xd
- VEOF = 0x4
- VEOL = 0xb
- VEOL2 = 0x10
- VMIN = 0x6
- VREPRINT = 0xc
- VSTART = 0x8
- VSTOP = 0x9
- VSUSP = 0xa
- VSWTC = 0x7
- VT1 = 0x4000
- VTDLY = 0x4000
- VTIME = 0x5
- VWERASE = 0xe
- WDIOC_GETBOOTSTATUS = 0x80045702
- WDIOC_GETPRETIMEOUT = 0x80045709
- WDIOC_GETSTATUS = 0x80045701
- WDIOC_GETSUPPORT = 0x80285700
- WDIOC_GETTEMP = 0x80045703
- WDIOC_GETTIMELEFT = 0x8004570a
- WDIOC_GETTIMEOUT = 0x80045707
- WDIOC_KEEPALIVE = 0x80045705
- WDIOC_SETOPTIONS = 0x80045704
- WORDSIZE = 0x40
- XCASE = 0x4
- XTABS = 0x1800
- _HIDIOCGRAWNAME = 0x80804804
- _HIDIOCGRAWPHYS = 0x80404805
- _HIDIOCGRAWUNIQ = 0x80404808
+ B1000000 = 0x1008
+ B115200 = 0x1002
+ B1152000 = 0x1009
+ B1500000 = 0x100a
+ B2000000 = 0x100b
+ B230400 = 0x1003
+ B2500000 = 0x100c
+ B3000000 = 0x100d
+ B3500000 = 0x100e
+ B4000000 = 0x100f
+ B460800 = 0x1004
+ B500000 = 0x1005
+ B57600 = 0x1001
+ B576000 = 0x1006
+ B921600 = 0x1007
+ BLKALIGNOFF = 0x127a
+ BLKBSZGET = 0x80081270
+ BLKBSZSET = 0x40081271
+ BLKDISCARD = 0x1277
+ BLKDISCARDZEROES = 0x127c
+ BLKFLSBUF = 0x1261
+ BLKFRAGET = 0x1265
+ BLKFRASET = 0x1264
+ BLKGETDISKSEQ = 0x80081280
+ BLKGETSIZE = 0x1260
+ BLKGETSIZE64 = 0x80081272
+ BLKIOMIN = 0x1278
+ BLKIOOPT = 0x1279
+ BLKPBSZGET = 0x127b
+ BLKRAGET = 0x1263
+ BLKRASET = 0x1262
+ BLKROGET = 0x125e
+ BLKROSET = 0x125d
+ BLKROTATIONAL = 0x127e
+ BLKRRPART = 0x125f
+ BLKSECDISCARD = 0x127d
+ BLKSECTGET = 0x1267
+ BLKSECTSET = 0x1266
+ BLKSSZGET = 0x1268
+ BLKZEROOUT = 0x127f
+ BOTHER = 0x1000
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CIBAUD = 0x100f0000
+ CLOCAL = 0x800
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIZE = 0x30
+ CSTOPB = 0x40
+ DM_MPATH_PROBE_PATHS = 0xfd12
+ ECCGETLAYOUT = 0x81484d11
+ ECCGETSTATS = 0x80104d12
+ ECHOCTL = 0x200
+ ECHOE = 0x10
+ ECHOK = 0x20
+ ECHOKE = 0x800
+ ECHONL = 0x40
+ ECHOPRT = 0x400
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EPIOCGPARAMS = 0x80088a02
+ EPIOCSPARAMS = 0x40088a01
+ EPOLL_CLOEXEC = 0x80000
+ EXTPROC = 0x10000
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FICLONE = 0x40049409
+ FICLONERANGE = 0x4020940d
+ FLUSHO = 0x1000
+ FS_IOC_ENABLE_VERITY = 0x40806685
+ FS_IOC_GETFLAGS = 0x80086601
+ FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b
+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615
+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614
+ FS_IOC_SETFLAGS = 0x40086602
+ FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613
+ F_GETLK = 0x5
+ F_GETLK64 = 0x5
+ F_GETOWN = 0x9
+ F_RDLCK = 0x0
+ F_SETLK = 0x6
+ F_SETLK64 = 0x6
+ F_SETLKW = 0x7
+ F_SETLKW64 = 0x7
+ F_SETOWN = 0x8
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ HIDIOCGRAWINFO = 0x80084803
+ HIDIOCGRDESC = 0x90044802
+ HIDIOCGRDESCSIZE = 0x80044801
+ HIDIOCREVOKE = 0x4004480d
+ HUPCL = 0x400
+ ICANON = 0x2
+ IEXTEN = 0x8000
+ IN_CLOEXEC = 0x80000
+ IN_NONBLOCK = 0x800
+ IOCTL_MEI_NOTIFY_GET = 0x80044803
+ IOCTL_MEI_NOTIFY_SET = 0x40044802
+ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
+ IPV6_FLOWINFO_MASK = 0xffffff0f
+ IPV6_FLOWLABEL_MASK = 0xffff0f00
+ ISIG = 0x1
+ IUCLC = 0x200
+ IXOFF = 0x1000
+ IXON = 0x400
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_GROWSDOWN = 0x100
+ MAP_HUGETLB = 0x40000
+ MAP_LOCKED = 0x2000
+ MAP_NONBLOCK = 0x10000
+ MAP_NORESERVE = 0x4000
+ MAP_POPULATE = 0x8000
+ MAP_STACK = 0x20000
+ MAP_SYNC = 0x80000
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MEMERASE = 0x40084d02
+ MEMERASE64 = 0x40104d14
+ MEMGETBADBLOCK = 0x40084d0b
+ MEMGETINFO = 0x80204d01
+ MEMGETOOBSEL = 0x80c84d0a
+ MEMGETREGIONCOUNT = 0x80044d07
+ MEMISLOCKED = 0x80084d17
+ MEMLOCK = 0x40084d05
+ MEMREAD = 0xc0404d1a
+ MEMREADOOB = 0xc0104d04
+ MEMSETBADBLOCK = 0x40084d0c
+ MEMUNLOCK = 0x40084d06
+ MEMWRITEOOB = 0xc0104d03
+ MTDFILEMODE = 0x4d13
+ NFDBITS = 0x40
+ NLDLY = 0x100
+ NOFLSH = 0x80
+ NS_GET_ID = 0x8008b70d
+ NS_GET_MNTNS_ID = 0x8008b705
+ NS_GET_NSTYPE = 0xb703
+ NS_GET_OWNER_UID = 0xb704
+ NS_GET_PARENT = 0xb702
+ NS_GET_PID_FROM_PIDNS = 0x8004b706
+ NS_GET_PID_IN_PIDNS = 0x8004b708
+ NS_GET_TGID_FROM_PIDNS = 0x8004b707
+ NS_GET_TGID_IN_PIDNS = 0x8004b709
+ NS_GET_USERNS = 0xb701
+ OLCUC = 0x2
+ ONLCR = 0x4
+ OTPERASE = 0x400c4d19
+ OTPGETREGIONCOUNT = 0x40044d0e
+ OTPGETREGIONINFO = 0x400c4d0f
+ OTPLOCK = 0x800c4d10
+ OTPSELECT = 0x80044d0d
+ O_APPEND = 0x400
+ O_ASYNC = 0x2000
+ O_CLOEXEC = 0x80000
+ O_CREAT = 0x40
+ O_DIRECT = 0x4000
+ O_DIRECTORY = 0x10000
+ O_DSYNC = 0x1000
+ O_EXCL = 0x80
+ O_FSYNC = 0x101000
+ O_LARGEFILE = 0x0
+ O_NDELAY = 0x800
+ O_NOATIME = 0x40000
+ O_NOCTTY = 0x100
+ O_NOFOLLOW = 0x20000
+ O_NONBLOCK = 0x800
+ O_PATH = 0x200000
+ O_RSYNC = 0x101000
+ O_SYNC = 0x101000
+ O_TMPFILE = 0x410000
+ O_TRUNC = 0x200
+ PARENB = 0x100
+ PARODD = 0x200
+ PENDIN = 0x4000
+ PERF_EVENT_IOC_DISABLE = 0x2401
+ PERF_EVENT_IOC_ENABLE = 0x2400
+ PERF_EVENT_IOC_ID = 0x80082407
+ PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b
+ PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ PERF_EVENT_IOC_QUERY_BPF = 0xc008240a
+ PERF_EVENT_IOC_REFRESH = 0x2402
+ PERF_EVENT_IOC_RESET = 0x2403
+ PERF_EVENT_IOC_SET_BPF = 0x40042408
+ PERF_EVENT_IOC_SET_FILTER = 0x40082406
+ PERF_EVENT_IOC_SET_OUTPUT = 0x2405
+ PPPIOCATTACH = 0x4004743d
+ PPPIOCATTCHAN = 0x40047438
+ PPPIOCBRIDGECHAN = 0x40047435
+ PPPIOCCONNECT = 0x4004743a
+ PPPIOCDETACH = 0x4004743c
+ PPPIOCDISCONN = 0x7439
+ PPPIOCGASYNCMAP = 0x80047458
+ PPPIOCGCHAN = 0x80047437
+ PPPIOCGDEBUG = 0x80047441
+ PPPIOCGFLAGS = 0x8004745a
+ PPPIOCGIDLE = 0x8010743f
+ PPPIOCGIDLE32 = 0x8008743f
+ PPPIOCGIDLE64 = 0x8010743f
+ PPPIOCGL2TPSTATS = 0x80487436
+ PPPIOCGMRU = 0x80047453
+ PPPIOCGRASYNCMAP = 0x80047455
+ PPPIOCGUNIT = 0x80047456
+ PPPIOCGXASYNCMAP = 0x80207450
+ PPPIOCSACTIVE = 0x40107446
+ PPPIOCSASYNCMAP = 0x40047457
+ PPPIOCSCOMPRESS = 0x4010744d
+ PPPIOCSDEBUG = 0x40047440
+ PPPIOCSFLAGS = 0x40047459
+ PPPIOCSMAXCID = 0x40047451
+ PPPIOCSMRRU = 0x4004743b
+ PPPIOCSMRU = 0x40047452
+ PPPIOCSNPMODE = 0x4008744b
+ PPPIOCSPASS = 0x40107447
+ PPPIOCSRASYNCMAP = 0x40047454
+ PPPIOCSXASYNCMAP = 0x4020744f
+ PPPIOCUNBRIDGECHAN = 0x7434
+ PPPIOCXFERUNIT = 0x744e
+ PR_SET_PTRACER_ANY = 0xffffffffffffffff
+ PTP_CLOCK_GETCAPS = 0x80503d01
+ PTP_CLOCK_GETCAPS2 = 0x80503d0a
+ PTP_ENABLE_PPS = 0x40043d04
+ PTP_ENABLE_PPS2 = 0x40043d0d
+ PTP_EXTTS_REQUEST = 0x40103d02
+ PTP_EXTTS_REQUEST2 = 0x40103d0b
+ PTP_MASK_CLEAR_ALL = 0x3d13
+ PTP_MASK_EN_SINGLE = 0x40043d14
+ PTP_PEROUT_REQUEST = 0x40383d03
+ PTP_PEROUT_REQUEST2 = 0x40383d0c
+ PTP_PIN_SETFUNC = 0x40603d07
+ PTP_PIN_SETFUNC2 = 0x40603d10
+ PTP_SYS_OFFSET = 0x43403d05
+ PTP_SYS_OFFSET2 = 0x43403d0e
+ PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_BIT = 0x2
+ PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_STATE = 0x4
+ PTRACE_CFI_BRANCH_LANDING_PAD_EN_BIT = 0x0
+ PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE = 0x1
+ PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_BIT = 0x1
+ PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_STATE = 0x2
+ PTRACE_CFI_SHADOW_STACK_EN_BIT = 0x3
+ PTRACE_CFI_SHADOW_STACK_EN_STATE = 0x8
+ PTRACE_CFI_SHADOW_STACK_LOCK_BIT = 0x4
+ PTRACE_CFI_SHADOW_STACK_LOCK_STATE = 0x10
+ PTRACE_CFI_SHADOW_STACK_PTR_BIT = 0x5
+ PTRACE_CFI_SHADOW_STACK_PTR_STATE = 0x20
+ PTRACE_CFI_STATE_INVALID_MASK = 0xffffffffffffffc0
+ PTRACE_GETFDPIC = 0x21
+ PTRACE_GETFDPIC_EXEC = 0x0
+ PTRACE_GETFDPIC_INTERP = 0x1
+ RLIMIT_AS = 0x9
+ RLIMIT_MEMLOCK = 0x8
+ RLIMIT_NOFILE = 0x7
+ RLIMIT_NPROC = 0x6
+ RLIMIT_RSS = 0x5
+ RNDADDENTROPY = 0x40085203
+ RNDADDTOENTCNT = 0x40045201
+ RNDCLEARPOOL = 0x5206
+ RNDGETENTCNT = 0x80045200
+ RNDGETPOOL = 0x80085202
+ RNDRESEEDCRNG = 0x5207
+ RNDZAPENTCNT = 0x5204
+ RTC_AIE_OFF = 0x7002
+ RTC_AIE_ON = 0x7001
+ RTC_ALM_READ = 0x80247008
+ RTC_ALM_SET = 0x40247007
+ RTC_EPOCH_READ = 0x8008700d
+ RTC_EPOCH_SET = 0x4008700e
+ RTC_IRQP_READ = 0x8008700b
+ RTC_IRQP_SET = 0x4008700c
+ RTC_PARAM_GET = 0x40187013
+ RTC_PARAM_SET = 0x40187014
+ RTC_PIE_OFF = 0x7006
+ RTC_PIE_ON = 0x7005
+ RTC_PLL_GET = 0x80207011
+ RTC_PLL_SET = 0x40207012
+ RTC_RD_TIME = 0x80247009
+ RTC_SET_TIME = 0x4024700a
+ RTC_UIE_OFF = 0x7004
+ RTC_UIE_ON = 0x7003
+ RTC_VL_CLR = 0x7014
+ RTC_VL_READ = 0x80047013
+ RTC_WIE_OFF = 0x7010
+ RTC_WIE_ON = 0x700f
+ RTC_WKALM_RD = 0x80287010
+ RTC_WKALM_SET = 0x4028700f
+ SCM_DEVMEM_DMABUF = 0x4f
+ SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
+ SCM_TIMESTAMPING = 0x25
+ SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
+ SCM_TIMESTAMPNS = 0x23
+ SCM_TS_OPT_ID = 0x51
+ SCM_TXTIME = 0x3d
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103
+ SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102
+ SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
+ SIOCATMARK = 0x8905
+ SIOCGPGRP = 0x8904
+ SIOCGSTAMPNS_NEW = 0x80108907
+ SIOCGSTAMP_NEW = 0x80108906
+ SIOCINQ = 0x541b
+ SIOCOUTQ = 0x5411
+ SIOCSPGRP = 0x8902
+ SOCK_CLOEXEC = 0x80000
+ SOCK_DGRAM = 0x2
+ SOCK_NONBLOCK = 0x800
+ SOCK_STREAM = 0x1
+ SOL_SOCKET = 0x1
+ SO_ACCEPTCONN = 0x1e
+ SO_ATTACH_BPF = 0x32
+ SO_ATTACH_REUSEPORT_CBPF = 0x33
+ SO_ATTACH_REUSEPORT_EBPF = 0x34
+ SO_BINDTODEVICE = 0x19
+ SO_BINDTOIFINDEX = 0x3e
+ SO_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x6
+ SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
+ SO_BUSY_POLL = 0x2e
+ SO_BUSY_POLL_BUDGET = 0x46
+ SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
+ SO_DETACH_REUSEPORT_BPF = 0x44
+ SO_DEVMEM_DMABUF = 0x4f
+ SO_DEVMEM_DONTNEED = 0x50
+ SO_DEVMEM_LINEAR = 0x4e
+ SO_DOMAIN = 0x27
+ SO_DONTROUTE = 0x5
+ SO_ERROR = 0x4
+ SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
+ SO_KEEPALIVE = 0x9
+ SO_LINGER = 0xd
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
+ SO_NETNS_COOKIE = 0x47
+ SO_NOFCS = 0x2b
+ SO_OOBINLINE = 0xa
+ SO_PASSCRED = 0x10
+ SO_PASSPIDFD = 0x4c
+ SO_PASSRIGHTS = 0x53
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x11
+ SO_PEERGROUPS = 0x3b
+ SO_PEERPIDFD = 0x4d
+ SO_PEERSEC = 0x1f
+ SO_PREFER_BUSY_POLL = 0x45
+ SO_PROTOCOL = 0x26
+ SO_RCVBUF = 0x8
+ SO_RCVBUFFORCE = 0x21
+ SO_RCVLOWAT = 0x12
+ SO_RCVMARK = 0x4b
+ SO_RCVPRIORITY = 0x52
+ SO_RCVTIMEO = 0x14
+ SO_RCVTIMEO_NEW = 0x42
+ SO_RCVTIMEO_OLD = 0x14
+ SO_RESERVE_MEM = 0x49
+ SO_REUSEADDR = 0x2
+ SO_REUSEPORT = 0xf
+ SO_RXQ_OVFL = 0x28
+ SO_SECURITY_AUTHENTICATION = 0x16
+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18
+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
+ SO_SELECT_ERR_QUEUE = 0x2d
+ SO_SNDBUF = 0x7
+ SO_SNDBUFFORCE = 0x20
+ SO_SNDLOWAT = 0x13
+ SO_SNDTIMEO = 0x15
+ SO_SNDTIMEO_NEW = 0x43
+ SO_SNDTIMEO_OLD = 0x15
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPING_NEW = 0x41
+ SO_TIMESTAMPING_OLD = 0x25
+ SO_TIMESTAMPNS = 0x23
+ SO_TIMESTAMPNS_NEW = 0x40
+ SO_TIMESTAMPNS_OLD = 0x23
+ SO_TIMESTAMP_NEW = 0x3f
+ SO_TXREHASH = 0x4a
+ SO_TXTIME = 0x3d
+ SO_TYPE = 0x3
+ SO_WIFI_STATUS = 0x29
+ SO_ZEROCOPY = 0x3c
+ TAB1 = 0x800
+ TAB2 = 0x1000
+ TAB3 = 0x1800
+ TABDLY = 0x1800
+ TCFLSH = 0x540b
+ TCGETA = 0x5405
+ TCGETS = 0x5401
+ TCGETS2 = 0x802c542a
+ TCGETX = 0x5432
+ TCSAFLUSH = 0x2
+ TCSBRK = 0x5409
+ TCSBRKP = 0x5425
+ TCSETA = 0x5406
+ TCSETAF = 0x5408
+ TCSETAW = 0x5407
+ TCSETS = 0x5402
+ TCSETS2 = 0x402c542b
+ TCSETSF = 0x5404
+ TCSETSF2 = 0x402c542d
+ TCSETSW = 0x5403
+ TCSETSW2 = 0x402c542c
+ TCSETX = 0x5433
+ TCSETXF = 0x5434
+ TCSETXW = 0x5435
+ TCXONC = 0x540a
+ TFD_CLOEXEC = 0x80000
+ TFD_NONBLOCK = 0x800
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ TIOCGISO7816 = 0x80285442
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGPGRP = 0x540f
+ TIOCGPKT = 0x80045438
+ TIOCGPTLCK = 0x80045439
+ TIOCGPTN = 0x80045430
+ TIOCGPTPEER = 0x5441
+ TIOCGRS485 = 0x542e
+ TIOCGSERIAL = 0x541e
+ TIOCGSID = 0x5429
+ TIOCGSOFTCAR = 0x5419
+ TIOCGWINSZ = 0x5413
+ TIOCINQ = 0x541b
+ TIOCLINUX = 0x541c
+ TIOCMBIC = 0x5417
+ TIOCMBIS = 0x5416
+ TIOCMGET = 0x5415
+ TIOCMIWAIT = 0x545c
+ TIOCMSET = 0x5418
+ TIOCM_CAR = 0x40
+ TIOCM_CD = 0x40
+ TIOCM_CTS = 0x20
+ TIOCM_DSR = 0x100
+ TIOCM_RI = 0x80
+ TIOCM_RNG = 0x80
+ TIOCM_SR = 0x10
+ TIOCM_ST = 0x8
+ TIOCNOTTY = 0x5422
+ TIOCNXCL = 0x540d
+ TIOCOUTQ = 0x5411
+ TIOCPKT = 0x5420
+ TIOCSBRK = 0x5427
+ TIOCSCTTY = 0x540e
+ TIOCSERCONFIG = 0x5453
+ TIOCSERGETLSR = 0x5459
+ TIOCSERGETMULTI = 0x545a
+ TIOCSERGSTRUCT = 0x5458
+ TIOCSERGWILD = 0x5454
+ TIOCSERSETMULTI = 0x545b
+ TIOCSERSWILD = 0x5455
+ TIOCSETD = 0x5423
+ TIOCSIG = 0x40045436
+ TIOCSISO7816 = 0xc0285443
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TUNATTACHFILTER = 0x401054d5
+ TUNDETACHFILTER = 0x401054d6
+ TUNGETDEVNETNS = 0x54e3
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x801054db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETCARRIER = 0x400454e2
+ TUNSETDEBUG = 0x400454c9
+ TUNSETFILTEREBPF = 0x800454e1
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETSTEERINGEBPF = 0x800454e0
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UBI_IOCATT = 0x40186f40
+ UBI_IOCDET = 0x40046f41
+ UBI_IOCEBCH = 0x40044f02
+ UBI_IOCEBER = 0x40044f01
+ UBI_IOCEBISMAP = 0x80044f05
+ UBI_IOCEBMAP = 0x40084f03
+ UBI_IOCEBUNMAP = 0x40044f04
+ UBI_IOCMKVOL = 0x40986f00
+ UBI_IOCRMVOL = 0x40046f01
+ UBI_IOCRNVOL = 0x51106f03
+ UBI_IOCRPEB = 0x40046f04
+ UBI_IOCRSVOL = 0x400c6f02
+ UBI_IOCSETVOLPROP = 0x40104f06
+ UBI_IOCSPEB = 0x40046f05
+ UBI_IOCVOLCRBLK = 0x40804f07
+ UBI_IOCVOLRMBLK = 0x4f08
+ UBI_IOCVOLUP = 0x40084f00
+ VDISCARD = 0xd
+ VEOF = 0x4
+ VEOL = 0xb
+ VEOL2 = 0x10
+ VMIN = 0x6
+ VREPRINT = 0xc
+ VSTART = 0x8
+ VSTOP = 0x9
+ VSUSP = 0xa
+ VSWTC = 0x7
+ VT1 = 0x4000
+ VTDLY = 0x4000
+ VTIME = 0x5
+ VWERASE = 0xe
+ WDIOC_GETBOOTSTATUS = 0x80045702
+ WDIOC_GETPRETIMEOUT = 0x80045709
+ WDIOC_GETSTATUS = 0x80045701
+ WDIOC_GETSUPPORT = 0x80285700
+ WDIOC_GETTEMP = 0x80045703
+ WDIOC_GETTIMELEFT = 0x8004570a
+ WDIOC_GETTIMEOUT = 0x80045707
+ WDIOC_KEEPALIVE = 0x80045705
+ WDIOC_SETOPTIONS = 0x80045704
+ WORDSIZE = 0x40
+ XCASE = 0x4
+ XTABS = 0x1800
+ _HIDIOCGRAWNAME = 0x80804804
+ _HIDIOCGRAWPHYS = 0x80404805
+ _HIDIOCGRAWUNIQ = 0x80404808
)
// Errors
@@ -585,6 +600,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -808,7 +826,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -825,6 +843,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
index 64347eb35..ffd12a97f 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
@@ -156,6 +156,7 @@ const (
NFDBITS = 0x40
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x8008b70d
NS_GET_MNTNS_ID = 0x8008b705
NS_GET_NSTYPE = 0xb703
NS_GET_OWNER_UID = 0xb704
@@ -367,6 +368,7 @@ const (
RTC_WKALM_SET = 0x4028700f
SCM_DEVMEM_DMABUF = 0x4f
SCM_DEVMEM_LINEAR = 0x4e
+ SCM_INQ = 0x54
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
SCM_TIMESTAMPING_PKTINFO = 0x3a
@@ -414,6 +416,7 @@ const (
SO_ERROR = 0x4
SO_INCOMING_CPU = 0x31
SO_INCOMING_NAPI_ID = 0x38
+ SO_INQ = 0x54
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
@@ -542,7 +545,6 @@ const (
TIOCSERGWILD = 0x5454
TIOCSERSETMULTI = 0x545b
TIOCSERSWILD = 0x5455
- TIOCSER_TEMT = 0x1
TIOCSETD = 0x5423
TIOCSIG = 0x40045436
TIOCSISO7816 = 0xc0285443
@@ -657,6 +659,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x59)
EDOTDOT = syscall.Errno(0x49)
EDQUOT = syscall.Errno(0x7a)
+ EFSBADCRC = syscall.Errno(0x4a)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x86)
EHOSTDOWN = syscall.Errno(0x70)
EHOSTUNREACH = syscall.Errno(0x71)
EHWPOISON = syscall.Errno(0x85)
@@ -880,7 +885,7 @@ var errorList = [...]struct {
{114, "EALREADY", "operation already in progress"},
{115, "EINPROGRESS", "operation now in progress"},
{116, "ESTALE", "stale file handle"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -897,6 +902,7 @@ var errorList = [...]struct {
{131, "ENOTRECOVERABLE", "state not recoverable"},
{132, "ERFKILL", "operation not possible due to RF-kill"},
{133, "EHWPOISON", "memory page has hardware error"},
+ {134, "EFTYPE", "unknown error 134"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
index 7d7191171..f372aed32 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
@@ -14,21 +14,21 @@ const (
ASI_LEON_DFLUSH = 0x11
ASI_LEON_IFLUSH = 0x10
ASI_LEON_MMUFLUSH = 0x18
- B1000000 = 0x1008
+ B1000000 = 0x100c
B115200 = 0x1002
- B1152000 = 0x1009
- B1500000 = 0x100a
- B2000000 = 0x100b
+ B1152000 = 0x100d
+ B1500000 = 0x100e
+ B153600 = 0x1006
+ B2000000 = 0x100f
B230400 = 0x1003
- B2500000 = 0x100c
- B3000000 = 0x100d
- B3500000 = 0x100e
- B4000000 = 0x100f
+ B307200 = 0x1007
B460800 = 0x1004
- B500000 = 0x1005
+ B500000 = 0x100a
B57600 = 0x1001
- B576000 = 0x1006
- B921600 = 0x1007
+ B576000 = 0x100b
+ B614400 = 0x1008
+ B76800 = 0x1005
+ B921600 = 0x1009
BLKALIGNOFF = 0x2000127a
BLKBSZGET = 0x40081270
BLKBSZSET = 0x80081271
@@ -91,7 +91,7 @@ const (
FFDLY = 0x8000
FICLONE = 0x80049409
FICLONERANGE = 0x8020940d
- FLUSHO = 0x1000
+ FLUSHO = 0x2000
FS_IOC_ENABLE_VERITY = 0x80806685
FS_IOC_GETFLAGS = 0x40086601
FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b
@@ -161,6 +161,7 @@ const (
NFDBITS = 0x40
NLDLY = 0x100
NOFLSH = 0x80
+ NS_GET_ID = 0x4008b70d
NS_GET_MNTNS_ID = 0x4008b705
NS_GET_NSTYPE = 0x2000b703
NS_GET_OWNER_UID = 0x2000b704
@@ -358,6 +359,7 @@ const (
RTC_WKALM_SET = 0x8028700f
SCM_DEVMEM_DMABUF = 0x58
SCM_DEVMEM_LINEAR = 0x57
+ SCM_INQ = 0x5d
SCM_TIMESTAMPING = 0x23
SCM_TIMESTAMPING_OPT_STATS = 0x38
SCM_TIMESTAMPING_PKTINFO = 0x3c
@@ -453,6 +455,7 @@ const (
SO_ERROR = 0x1007
SO_INCOMING_CPU = 0x33
SO_INCOMING_NAPI_ID = 0x3a
+ SO_INQ = 0x5d
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x28
@@ -560,6 +563,9 @@ const (
TIOCM_CD = 0x40
TIOCM_CTS = 0x20
TIOCM_DSR = 0x100
+ TIOCM_LOOP = 0x8000
+ TIOCM_OUT1 = 0x2000
+ TIOCM_OUT2 = 0x4000
TIOCM_RI = 0x80
TIOCM_RNG = 0x80
TIOCM_SR = 0x10
@@ -638,10 +644,11 @@ const (
UBI_IOCVOLRMBLK = 0x20004f08
UBI_IOCVOLUP = 0x80084f00
VDISCARD = 0xd
+ VDSUSP = 0xb
VEOF = 0x4
- VEOL = 0xb
- VEOL2 = 0x10
- VMIN = 0x6
+ VEOL = 0x5
+ VEOL2 = 0x6
+ VMIN = 0x4
VREPRINT = 0xc
VSTART = 0x8
VSTOP = 0x9
@@ -661,6 +668,7 @@ const (
WDIOC_KEEPALIVE = 0x40045705
WDIOC_SETOPTIONS = 0x40045704
WORDSIZE = 0x40
+ WRAP = 0x20000
XCASE = 0x4
XTABS = 0x1800
_HIDIOCGRAWNAME = 0x40804804
@@ -694,6 +702,9 @@ const (
EDESTADDRREQ = syscall.Errno(0x27)
EDOTDOT = syscall.Errno(0x58)
EDQUOT = syscall.Errno(0x45)
+ EFSBADCRC = syscall.Errno(0x4c)
+ EFSCORRUPTED = syscall.Errno(0x75)
+ EFTYPE = syscall.Errno(0x88)
EHOSTDOWN = syscall.Errno(0x40)
EHOSTUNREACH = syscall.Errno(0x41)
EHWPOISON = syscall.Errno(0x87)
@@ -921,7 +932,7 @@ var errorList = [...]struct {
{114, "ELIBACC", "can not access a needed shared library"},
{115, "ENOTUNIQ", "name not unique on network"},
{116, "ERESTART", "interrupted system call should be restarted"},
- {117, "EUCLEAN", "structure needs cleaning"},
+ {117, "EFSCORRUPTED", "structure needs cleaning"},
{118, "ENOTNAM", "not a XENIX named type file"},
{119, "ENAVAIL", "no XENIX semaphores available"},
{120, "EISNAM", "is a named type file"},
@@ -940,6 +951,7 @@ var errorList = [...]struct {
{133, "ENOTRECOVERABLE", "state not recoverable"},
{134, "ERFKILL", "operation not possible due to RF-kill"},
{135, "EHWPOISON", "memory page has hardware error"},
+ {136, "EFTYPE", "unknown error 136"},
}
// Signal table
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
index 813c05b66..7db9bf5f2 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
@@ -702,6 +702,17 @@ var libc_fcntl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (val int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ val = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func kill(pid int, signum int, posix int) (err error) {
_, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), uintptr(posix))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
index e6f58f3c6..2a658059d 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
@@ -702,6 +702,17 @@ var libc_fcntl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (val int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ val = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func kill(pid int, signum int, posix int) (err error) {
_, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), uintptr(posix))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
index c0096391a..10b57ffb9 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
@@ -825,6 +825,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
index 7664df749..6a6fc3cc4 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
@@ -825,6 +825,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
index ae099182c..4a15b4abf 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
@@ -825,6 +825,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
index 11fd5d45b..f15331fb4 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
@@ -825,6 +825,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
index c3d2d6530..faa562642 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
@@ -825,6 +825,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
index 8935d10a3..4c63b976b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
@@ -700,6 +700,23 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(events) > 0 {
+ _p0 = unsafe.Pointer(&events[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Eventfd(initval uint, flags int) (fd int, err error) {
r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
fd = int(r0)
@@ -926,7 +943,7 @@ func fsconfig(fd int, cmd uint, key *byte, value *byte, aux int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Getdents(fd int, buf []byte) (n int, err error) {
+func getdents(fd int, buf []byte) (n int, err error) {
var _p0 unsafe.Pointer
if len(buf) > 0 {
_p0 = unsafe.Pointer(&buf[0])
@@ -1150,6 +1167,23 @@ func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Listns(req *NsIdReq, nsIds []uint64, flags uint) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(nsIds) > 0 {
+ _p0 = unsafe.Pointer(&nsIds[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall6(SYS_LISTNS, uintptr(unsafe.Pointer(req)), uintptr(_p0), uintptr(len(nsIds)), uintptr(flags), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Listxattr(path string, dest []byte) (sz int, err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -1373,6 +1407,16 @@ func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func PrctlArg5Ptr(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pselect6(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_argpack) (n int, err error) {
r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))
n = int(r0)
@@ -1785,7 +1829,7 @@ func writev(fd int, iovs []Iovec) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) {
+func preadvSyscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) {
var _p0 unsafe.Pointer
if len(iovs) > 0 {
_p0 = unsafe.Pointer(&iovs[0])
@@ -1802,7 +1846,7 @@ func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err er
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) {
+func pwritevSyscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) {
var _p0 unsafe.Pointer
if len(iovs) > 0 {
_p0 = unsafe.Pointer(&iovs[0])
@@ -1819,7 +1863,7 @@ func pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err e
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) {
+func preadv2Syscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) {
var _p0 unsafe.Pointer
if len(iovs) > 0 {
_p0 = unsafe.Pointer(&iovs[0])
@@ -1836,7 +1880,7 @@ func preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) {
+func pwritev2Syscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) {
var _p0 unsafe.Pointer
if len(iovs) > 0 {
_p0 = unsafe.Pointer(&iovs[0])
@@ -2241,8 +2285,8 @@ func Mseal(b []byte, flags uint) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func setMemPolicy(mode int, mask *CPUSet, size int) (err error) {
- _, _, e1 := Syscall(SYS_SET_MEMPOLICY, uintptr(mode), uintptr(unsafe.Pointer(mask)), uintptr(size))
+func setMemPolicy(mode int, mask unsafe.Pointer, size uintptr) (err error) {
+ _, _, e1 := Syscall(SYS_SET_MEMPOLICY, uintptr(mode), uintptr(mask), uintptr(size))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
index 4def3e9fc..254f33988 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
index fef2bc8ba..27c05db1a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
index a9fd76a88..840d85bfc 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
@@ -213,23 +213,6 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fchown(fd int, uid int, gid int) (err error) {
_, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
index 460065028..fe414498b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
index c8987d264..eb358ce05 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
index 921f43061..c437622f1 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
index 44f067829..bc4ca2558 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
index e7fa0abf0..5051435ce 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
index 8c5125675..33aa5418a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
index 7392fd45e..3bef8ef1d 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fchown(fd int, uid int, gid int) (err error) {
_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
index 41180434e..fc1bd4e2c 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
index 40c6ce7ae..d78fe7dab 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
index 2cfe34adb..76dcf87d0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
index 61e6f0709..2cf020f2b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
index 834b84204..b7aca5459 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
@@ -45,23 +45,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- var _p0 unsafe.Pointer
- if len(events) > 0 {
- _p0 = unsafe.Pointer(&events[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
if e1 != 0 {
@@ -83,7 +66,7 @@ func Fchown(fd int, uid int, gid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fstat(fd int, stat *Stat_t) (err error) {
- _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -200,7 +183,7 @@ func Lstat(path string, stat *Stat_t) (err error) {
if err != nil {
return
}
- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -355,7 +338,7 @@ func Stat(path string, stat *Stat_t) (err error) {
if err != nil {
return
}
- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
index e91ebc14a..1e136d12b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
@@ -802,6 +802,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
index be28babbc..440db6ec5 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
@@ -802,6 +802,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
index fb587e826..db963000e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
@@ -802,6 +802,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
index d576438bb..c4bea6c89 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
@@ -802,6 +802,165 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func extattrGetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFd(fd int, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFd(fd int, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetFile(file string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListFile(file string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(file)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrGetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrSetLink(link string, attrnamespace int, attrname string, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(attrname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func extattrListLink(link string, attrnamespace int, data unsafe.Pointer, nbytes int) (ret int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(link)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
index 1851df14e..6487475f0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
@@ -1633,6 +1633,90 @@ var libc_pwrite_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), uintptr(offset>>32), 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), uintptr(offset>>32), 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func read(fd int, p []byte) (n int, err error) {
var _p0 unsafe.Pointer
if len(p) > 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
index 0b43c6936..f10201dac 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
@@ -498,6 +498,26 @@ TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $4
DATA ·libc_pwrite_trampoline_addr(SB)/4, $libc_pwrite_trampoline<>(SB)
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_readv(SB)
+GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $4
+DATA ·libc_readv_trampoline_addr(SB)/4, $libc_readv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_writev(SB)
+GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $4
+DATA ·libc_writev_trampoline_addr(SB)/4, $libc_writev_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_preadv(SB)
+GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $4
+DATA ·libc_preadv_trampoline_addr(SB)/4, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pwritev(SB)
+GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $4
+DATA ·libc_pwritev_trampoline_addr(SB)/4, $libc_pwritev_trampoline<>(SB)
+
TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_read(SB)
GLOBL ·libc_read_trampoline_addr(SB), RODATA, $4
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
index e1ec0dbe4..50980475d 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
@@ -1633,6 +1633,90 @@ var libc_pwrite_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func read(fd int, p []byte) (n int, err error) {
var _p0 unsafe.Pointer
if len(p) > 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
index 880c6d6e3..9de2cbaa4 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
@@ -498,6 +498,26 @@ TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8
DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB)
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_readv(SB)
+GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_writev(SB)
+GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_preadv(SB)
+GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pwritev(SB)
+GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
+
TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_read(SB)
GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
index 7c8452a63..33c9c3a43 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
@@ -1633,6 +1633,90 @@ var libc_pwrite_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), 0, uintptr(offset), uintptr(offset>>32))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), 0, uintptr(offset), uintptr(offset>>32))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func read(fd int, p []byte) (n int, err error) {
var _p0 unsafe.Pointer
if len(p) > 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
index b8ef95b0f..c6b9175a6 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
@@ -498,6 +498,26 @@ TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $4
DATA ·libc_pwrite_trampoline_addr(SB)/4, $libc_pwrite_trampoline<>(SB)
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_readv(SB)
+GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $4
+DATA ·libc_readv_trampoline_addr(SB)/4, $libc_readv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_writev(SB)
+GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $4
+DATA ·libc_writev_trampoline_addr(SB)/4, $libc_writev_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_preadv(SB)
+GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $4
+DATA ·libc_preadv_trampoline_addr(SB)/4, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pwritev(SB)
+GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $4
+DATA ·libc_pwritev_trampoline_addr(SB)/4, $libc_pwritev_trampoline<>(SB)
+
TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_read(SB)
GLOBL ·libc_read_trampoline_addr(SB), RODATA, $4
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
index 2ffdf861f..d3410262e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
@@ -1633,6 +1633,90 @@ var libc_pwrite_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func read(fd int, p []byte) (n int, err error) {
var _p0 unsafe.Pointer
if len(p) > 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
index 2af3b5c76..1be10bb45 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
@@ -498,6 +498,26 @@ TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8
DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB)
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_readv(SB)
+GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_writev(SB)
+GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_preadv(SB)
+GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pwritev(SB)
+GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
+
TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_read(SB)
GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
index 1da08d526..dea19d54e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
@@ -1633,6 +1633,90 @@ var libc_pwrite_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func read(fd int, p []byte) (n int, err error) {
var _p0 unsafe.Pointer
if len(p) > 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
index b7a251353..a9fec24d9 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
@@ -498,6 +498,26 @@ TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8
DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB)
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_readv(SB)
+GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_writev(SB)
+GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_preadv(SB)
+GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pwritev(SB)
+GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
+
TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_read(SB)
GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
index 6e85b0aac..436efb586 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
@@ -1633,6 +1633,90 @@ var libc_pwrite_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func read(fd int, p []byte) (n int, err error) {
var _p0 unsafe.Pointer
if len(p) > 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
index f15dadf05..441ed4e40 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
@@ -597,6 +597,30 @@ TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8
DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB)
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_readv(SB)
+ RET
+GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_writev(SB)
+ RET
+GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_preadv(SB)
+ RET
+GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_pwritev(SB)
+ RET
+GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
+
TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0
CALL libc_read(SB)
RET
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
index 28b487df2..d801e4b4e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
@@ -1633,6 +1633,90 @@ var libc_pwrite_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(iovecs) > 0 {
+ _p0 = unsafe.Pointer(&iovecs[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func read(fd int, p []byte) (n int, err error) {
var _p0 unsafe.Pointer
if len(p) > 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
index 1e7f321e4..b15cc0174 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
@@ -498,6 +498,26 @@ TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8
DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB)
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_readv(SB)
+GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_writev(SB)
+GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_preadv(SB)
+GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8
+DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pwritev(SB)
+GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
+
TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_read(SB)
GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
index aca56ee49..49d1b8803 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
@@ -463,4 +463,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
index 2ea1ef58c..f11f1de77 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
@@ -342,6 +342,7 @@ const (
SYS_IO_PGETEVENTS = 333
SYS_RSEQ = 334
SYS_URETPROBE = 335
+ SYS_UPROBE = 336
SYS_PIDFD_SEND_SIGNAL = 424
SYS_IO_URING_SETUP = 425
SYS_IO_URING_ENTER = 426
@@ -386,4 +387,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
index d22c8af31..bad740b79 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
@@ -427,4 +427,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
index 5ee264ae9..fe646d18e 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
@@ -330,4 +330,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
index f9f03ebf5..4362f6d55 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
@@ -306,6 +306,7 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 444
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
+ SYS_MEMFD_SECRET = 447
SYS_PROCESS_MRELEASE = 448
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
@@ -326,4 +327,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
index 87c2118e8..b63d155ae 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
@@ -447,4 +447,8 @@ const (
SYS_LISTXATTRAT = 4465
SYS_REMOVEXATTRAT = 4466
SYS_OPEN_TREE_ATTR = 4467
+ SYS_FILE_GETATTR = 4468
+ SYS_FILE_SETATTR = 4469
+ SYS_LISTNS = 4470
+ SYS_RSEQ_SLICE_YIELD = 4471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
index 391ad102f..435d43319 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
@@ -377,4 +377,8 @@ const (
SYS_LISTXATTRAT = 5465
SYS_REMOVEXATTRAT = 5466
SYS_OPEN_TREE_ATTR = 5467
+ SYS_FILE_GETATTR = 5468
+ SYS_FILE_SETATTR = 5469
+ SYS_LISTNS = 5470
+ SYS_RSEQ_SLICE_YIELD = 5471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
index 565615775..dcc0468d6 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
@@ -377,4 +377,8 @@ const (
SYS_LISTXATTRAT = 5465
SYS_REMOVEXATTRAT = 5466
SYS_OPEN_TREE_ATTR = 5467
+ SYS_FILE_GETATTR = 5468
+ SYS_FILE_SETATTR = 5469
+ SYS_LISTNS = 5470
+ SYS_RSEQ_SLICE_YIELD = 5471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
index 0482b52e3..b96f85ebd 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
@@ -447,4 +447,8 @@ const (
SYS_LISTXATTRAT = 4465
SYS_REMOVEXATTRAT = 4466
SYS_OPEN_TREE_ATTR = 4467
+ SYS_FILE_GETATTR = 4468
+ SYS_FILE_SETATTR = 4469
+ SYS_LISTNS = 4470
+ SYS_RSEQ_SLICE_YIELD = 4471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
index 71806f08f..bffa2bd1e 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
@@ -454,4 +454,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
index e35a71058..57bfc6b26 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
@@ -426,4 +426,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
index 2aea47670..750f706d5 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
@@ -426,4 +426,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
index 6c9bb4e56..303ccbf46 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
@@ -331,4 +331,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
index 680bc9915..5e5dd4ccb 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
@@ -392,4 +392,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
index 620f27105..f7c4fb3df 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
@@ -374,6 +374,7 @@ const (
SYS_FSMOUNT = 432
SYS_FSPICK = 433
SYS_PIDFD_OPEN = 434
+ SYS_CLONE3 = 435
SYS_CLOSE_RANGE = 436
SYS_OPENAT2 = 437
SYS_PIDFD_GETFD = 438
@@ -405,4 +406,8 @@ const (
SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
+ SYS_FILE_GETATTR = 468
+ SYS_FILE_SETATTR = 469
+ SYS_LISTNS = 470
+ SYS_RSEQ_SLICE_YIELD = 471
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
index 5e8c263ca..f09f84478 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
@@ -2848,5 +2848,18 @@ const (
SYS_____CHATTRAT64_A = 0xE39 // 3641
SYS_MADVISE = 0xE3A // 3642
SYS___AUTHENTICATE = 0xE3B // 3643
+ SYS_GETPWENT_R = 0xE3C // 3644
+ SYS___GETPWENT_R_A = 0xE3D // 3645
+ SYS_STRNLEN = 0xE3E // 3646
+ SYS_STPCPY = 0xE3F // 3647
+ SYS_STPNCPY = 0xE40 // 3648
+ SYS_STRSIGNAL = 0xE41 // 3649
+ SYS_WCPCPY = 0xE42 // 3650
+ SYS_WCPNCPY = 0xE43 // 3651
+ SYS_WCSNLEN = 0xE44 // 3652
+ SYS___STRSIGNAL_A = 0xE45 // 3653
+ SYS_FDOPENDIR = 0xE46 // 3654
+ SYS_FDCLOSEDIR = 0xE47 // 3655
+ SYS_SYSCALL = 0xE48 // 3656
)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go
index 45476a73c..2b3c00b9d 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go
@@ -18,6 +18,11 @@ type (
_C_long_long int64
)
+type KernelTimespec struct {
+ Sec int64
+ Nsec int64
+}
+
type ItimerSpec struct {
Interval Timespec
Value Timespec
@@ -521,6 +526,14 @@ type TCPInfo struct {
Total_rto uint16
Total_rto_recoveries uint16
Total_rto_time uint32
+ Received_ce uint32
+ Delivered_e1_bytes uint32
+ Delivered_e0_bytes uint32
+ Delivered_ce_bytes uint32
+ Received_e1_bytes uint32
+ Received_e0_bytes uint32
+ Received_ce_bytes uint32
+ _ [4]byte
}
type TCPVegasInfo struct {
@@ -586,7 +599,7 @@ const (
SizeofIPv6MTUInfo = 0x20
SizeofICMPv6Filter = 0x20
SizeofUcred = 0xc
- SizeofTCPInfo = 0xf8
+ SizeofTCPInfo = 0x118
SizeofTCPCCInfo = 0x14
SizeofCanFilter = 0x8
SizeofTCPRepairOpt = 0x8
@@ -920,6 +933,29 @@ type OpenHow struct {
const SizeofOpenHow = 0x18
+type NsIdReq struct {
+ Size uint32
+ Spare uint32
+ Ns_id uint64
+ Ns_type uint32
+ Spare2 uint32
+ User_ns_id uint64
+}
+
+const (
+ NS_ID_REQ_SIZE_VER0 = 0x20
+ LISTNS_CURRENT_USER = 0xffffffffffffffff
+
+ TIME_NS = 0x80
+ MNT_NS = 0x20000
+ CGROUP_NS = 0x2000000
+ UTS_NS = 0x4000000
+ IPC_NS = 0x8000000
+ USER_NS = 0x10000000
+ PID_NS = 0x20000000
+ NET_NS = 0x40000000
+)
+
const (
RESOLVE_BENEATH = 0x8
RESOLVE_IN_ROOT = 0x10
@@ -1324,7 +1360,7 @@ const (
PERF_RECORD_CGROUP = 0x13
PERF_RECORD_TEXT_POKE = 0x14
PERF_RECORD_AUX_OUTPUT_HW_ID = 0x15
- PERF_RECORD_MAX = 0x16
+ PERF_RECORD_MAX = 0x17
PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0x0
PERF_RECORD_KSYMBOL_TYPE_BPF = 0x1
PERF_RECORD_KSYMBOL_TYPE_OOL = 0x2
@@ -3566,7 +3602,7 @@ const (
DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES = 0xae
DEVLINK_ATTR_NESTED_DEVLINK = 0xaf
DEVLINK_ATTR_SELFTESTS = 0xb0
- DEVLINK_ATTR_MAX = 0xb3
+ DEVLINK_ATTR_MAX = 0xb9
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
@@ -3888,7 +3924,7 @@ const (
ETHTOOL_MSG_PHY_GET = 0x2d
ETHTOOL_MSG_TSCONFIG_GET = 0x2e
ETHTOOL_MSG_TSCONFIG_SET = 0x2f
- ETHTOOL_MSG_USER_MAX = 0x2f
+ ETHTOOL_MSG_USER_MAX = 0x33
ETHTOOL_MSG_KERNEL_NONE = 0x0
ETHTOOL_MSG_STRSET_GET_REPLY = 0x1
ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2
@@ -3938,7 +3974,7 @@ const (
ETHTOOL_MSG_PHY_NTF = 0x2e
ETHTOOL_MSG_TSCONFIG_GET_REPLY = 0x2f
ETHTOOL_MSG_TSCONFIG_SET_REPLY = 0x30
- ETHTOOL_MSG_KERNEL_MAX = 0x30
+ ETHTOOL_MSG_KERNEL_MAX = 0x36
ETHTOOL_FLAG_COMPACT_BITSETS = 0x1
ETHTOOL_FLAG_OMIT_REPLY = 0x2
ETHTOOL_FLAG_STATS = 0x4
@@ -4088,7 +4124,7 @@ const (
ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 0x17
ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 0x18
ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 0x19
- ETHTOOL_A_COALESCE_MAX = 0x1e
+ ETHTOOL_A_COALESCE_MAX = 0x20
ETHTOOL_A_PAUSE_UNSPEC = 0x0
ETHTOOL_A_PAUSE_HEADER = 0x1
ETHTOOL_A_PAUSE_AUTONEG = 0x2
@@ -4100,7 +4136,7 @@ const (
ETHTOOL_A_PAUSE_STAT_PAD = 0x1
ETHTOOL_A_PAUSE_STAT_TX_FRAMES = 0x2
ETHTOOL_A_PAUSE_STAT_RX_FRAMES = 0x3
- ETHTOOL_A_PAUSE_STAT_MAX = 0x3
+ ETHTOOL_A_PAUSE_STAT_MAX = 0x4
ETHTOOL_A_EEE_UNSPEC = 0x0
ETHTOOL_A_EEE_HEADER = 0x1
ETHTOOL_A_EEE_MODES_OURS = 0x2
@@ -4251,19 +4287,29 @@ type HwTstampConfig struct {
}
const (
- HWTSTAMP_FILTER_NONE = 0x0
- HWTSTAMP_FILTER_ALL = 0x1
- HWTSTAMP_FILTER_SOME = 0x2
- HWTSTAMP_FILTER_PTP_V1_L4_EVENT = 0x3
- HWTSTAMP_FILTER_PTP_V2_L4_EVENT = 0x6
- HWTSTAMP_FILTER_PTP_V2_L2_EVENT = 0x9
- HWTSTAMP_FILTER_PTP_V2_EVENT = 0xc
+ HWTSTAMP_FILTER_NONE = 0x0
+ HWTSTAMP_FILTER_ALL = 0x1
+ HWTSTAMP_FILTER_SOME = 0x2
+ HWTSTAMP_FILTER_PTP_V1_L4_EVENT = 0x3
+ HWTSTAMP_FILTER_PTP_V1_L4_SYNC = 0x4
+ HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ = 0x5
+ HWTSTAMP_FILTER_PTP_V2_L4_EVENT = 0x6
+ HWTSTAMP_FILTER_PTP_V2_L4_SYNC = 0x7
+ HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ = 0x8
+ HWTSTAMP_FILTER_PTP_V2_L2_EVENT = 0x9
+ HWTSTAMP_FILTER_PTP_V2_L2_SYNC = 0xa
+ HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ = 0xb
+ HWTSTAMP_FILTER_PTP_V2_EVENT = 0xc
+ HWTSTAMP_FILTER_PTP_V2_SYNC = 0xd
+ HWTSTAMP_FILTER_PTP_V2_DELAY_REQ = 0xe
+ HWTSTAMP_FILTER_NTP_ALL = 0xf
)
const (
HWTSTAMP_TX_OFF = 0x0
HWTSTAMP_TX_ON = 0x1
HWTSTAMP_TX_ONESTEP_SYNC = 0x2
+ HWTSTAMP_TX_ONESTEP_P2P = 0x3
)
type (
@@ -4514,9 +4560,12 @@ const (
)
type LandlockRulesetAttr struct {
- Access_fs uint64
- Access_net uint64
- Scoped uint64
+ Handled_access_fs uint64
+ Handled_access_net uint64
+ Scoped uint64
+ Quiet_access_fs uint64
+ Quiet_access_net uint64
+ Quiet_scoped uint64
}
type LandlockPathBeneathAttr struct {
@@ -4528,6 +4577,51 @@ const (
LANDLOCK_RULE_PATH_BENEATH = 0x1
)
+const (
+ PIDFD_SIGNAL_THREAD = 0x1
+ PIDFD_SIGNAL_THREAD_GROUP = 0x2
+ PIDFD_SIGNAL_PROCESS_GROUP = 0x4
+ PIDFD_SELF_THREAD = -0x2710
+ PIDFD_SELF_THREAD_GROUP = -0x2711
+ PIDFD_SELF = -0x2710
+ PIDFD_SELF_PROCESS = -0x2711
+ PIDFD_INFO_PID = 0x1
+ PIDFD_INFO_CREDS = 0x2
+ PIDFD_INFO_CGROUPID = 0x4
+ PIDFD_INFO_EXIT = 0x8
+ PIDFD_INFO_COREDUMP = 0x10
+ PIDFD_COREDUMPED = 0x1
+ PIDFD_COREDUMP_SKIP = 0x2
+ PIDFD_COREDUMP_USER = 0x4
+ PIDFD_COREDUMP_ROOT = 0x8
+ PIDFD_INFO_SIZE_VER0 = 0x40
+ PIDFD_GET_INFO = 0xc058ff0b
+)
+
+const SizeofPidfdInfo = 0x58
+
+type PidfdInfo struct {
+ Mask uint64
+ Cgroupid uint64
+ Pid uint32
+ Tgid uint32
+ Ppid uint32
+ Ruid uint32
+ Rgid uint32
+ Euid uint32
+ Egid uint32
+ Suid uint32
+ Sgid uint32
+ Fsuid uint32
+ Fsgid uint32
+ Exit_code int32
+ Coredump_mask uint32
+ Coredump_signal uint32
+ Coredump_code uint32
+ Coredump_pad uint32
+ Supported_mask uint64
+}
+
const (
IPC_CREAT = 0x200
IPC_EXCL = 0x400
@@ -4867,7 +4961,7 @@ const (
NL80211_ATTR_MAC_HINT = 0xc8
NL80211_ATTR_MAC_MASK = 0xd7
NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca
- NL80211_ATTR_MAX = 0x151
+ NL80211_ATTR_MAX = 0x16e
NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4
NL80211_ATTR_MAX_CSA_COUNTERS = 0xce
NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS = 0x143
@@ -5082,12 +5176,12 @@ const (
NL80211_ATTR_WOWLAN_TRIGGERS = 0x75
NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED = 0x76
NL80211_ATTR_WPA_VERSIONS = 0x4b
- NL80211_AUTHTYPE_AUTOMATIC = 0x8
+ NL80211_AUTHTYPE_AUTOMATIC = 0xa
NL80211_AUTHTYPE_FILS_PK = 0x7
NL80211_AUTHTYPE_FILS_SK = 0x5
NL80211_AUTHTYPE_FILS_SK_PFS = 0x6
NL80211_AUTHTYPE_FT = 0x2
- NL80211_AUTHTYPE_MAX = 0x7
+ NL80211_AUTHTYPE_MAX = 0x9
NL80211_AUTHTYPE_NETWORK_EAP = 0x3
NL80211_AUTHTYPE_OPEN_SYSTEM = 0x0
NL80211_AUTHTYPE_SAE = 0x4
@@ -5120,7 +5214,7 @@ const (
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY = 0x3
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE = 0x5
NL80211_BAND_IFTYPE_ATTR_IFTYPES = 0x1
- NL80211_BAND_IFTYPE_ATTR_MAX = 0xb
+ NL80211_BAND_IFTYPE_ATTR_MAX = 0xd
NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS = 0x7
NL80211_BAND_LC = 0x5
NL80211_BAND_S1GHZ = 0x4
@@ -5255,7 +5349,7 @@ const (
NL80211_CMD_LEAVE_MESH = 0x45
NL80211_CMD_LEAVE_OCB = 0x6d
NL80211_CMD_LINKS_REMOVED = 0x9a
- NL80211_CMD_MAX = 0x9d
+ NL80211_CMD_MAX = 0xa7
NL80211_CMD_MICHAEL_MIC_FAILURE = 0x29
NL80211_CMD_MODIFY_LINK_STA = 0x97
NL80211_CMD_NAN_MATCH = 0x78
@@ -5501,7 +5595,7 @@ const (
NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf
NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe
NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf
- NL80211_FREQUENCY_ATTR_MAX = 0x22
+ NL80211_FREQUENCY_ATTR_MAX = 0x29
NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6
NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11
NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc
@@ -5574,7 +5668,7 @@ const (
NL80211_IFTYPE_AKM_ATTR_SUITES = 0x2
NL80211_IFTYPE_AP = 0x3
NL80211_IFTYPE_AP_VLAN = 0x4
- NL80211_IFTYPE_MAX = 0xc
+ NL80211_IFTYPE_MAX = 0xe
NL80211_IFTYPE_MESH_POINT = 0x7
NL80211_IFTYPE_MONITOR = 0x6
NL80211_IFTYPE_NAN = 0xc
@@ -5599,7 +5693,7 @@ const (
NL80211_KEY_DEFAULT_TYPES = 0x8
NL80211_KEY_DEFAULT_TYPE_UNICAST = 0x1
NL80211_KEY_IDX = 0x2
- NL80211_KEY_MAX = 0xa
+ NL80211_KEY_MAX = 0xb
NL80211_KEY_MODE = 0x9
NL80211_KEY_NO_TX = 0x1
NL80211_KEY_RX_TX = 0x0
@@ -5757,7 +5851,7 @@ const (
NL80211_PMKSA_CANDIDATE_BSSID = 0x2
NL80211_PMKSA_CANDIDATE_INDEX = 0x1
NL80211_PMKSA_CANDIDATE_PREAUTH = 0x3
- NL80211_PMSR_ATTR_MAX = 0x5
+ NL80211_PMSR_ATTR_MAX = 0x7
NL80211_PMSR_ATTR_MAX_PEERS = 0x1
NL80211_PMSR_ATTR_PEERS = 0x5
NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR = 0x3
@@ -5766,7 +5860,7 @@ const (
NL80211_PMSR_FTM_CAPA_ATTR_ASAP = 0x1
NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS = 0x6
NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT = 0x7
- NL80211_PMSR_FTM_CAPA_ATTR_MAX = 0xa
+ NL80211_PMSR_FTM_CAPA_ATTR_MAX = 0x1f
NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST = 0x8
NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP = 0x2
NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED = 0xa
@@ -5788,7 +5882,7 @@ const (
NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD = 0x4
NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST = 0x6
NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK = 0xc
- NL80211_PMSR_FTM_REQ_ATTR_MAX = 0xd
+ NL80211_PMSR_FTM_REQ_ATTR_MAX = 0x17
NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED = 0xb
NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP = 0x3
NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES = 0x7
@@ -5806,7 +5900,7 @@ const (
NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON = 0x1
NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST = 0x8
NL80211_PMSR_FTM_RESP_ATTR_LCI = 0x13
- NL80211_PMSR_FTM_RESP_ATTR_MAX = 0x15
+ NL80211_PMSR_FTM_RESP_ATTR_MAX = 0x21
NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP = 0x6
NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS = 0x3
NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES = 0x4
@@ -5820,7 +5914,7 @@ const (
NL80211_PMSR_FTM_RESP_ATTR_TX_RATE = 0xb
NL80211_PMSR_PEER_ATTR_ADDR = 0x1
NL80211_PMSR_PEER_ATTR_CHAN = 0x2
- NL80211_PMSR_PEER_ATTR_MAX = 0x4
+ NL80211_PMSR_PEER_ATTR_MAX = 0x5
NL80211_PMSR_PEER_ATTR_REQ = 0x3
NL80211_PMSR_PEER_ATTR_RESP = 0x4
NL80211_PMSR_REQ_ATTR_DATA = 0x1
@@ -5913,7 +6007,7 @@ const (
NL80211_RATE_INFO_HE_RU_ALLOC_52 = 0x1
NL80211_RATE_INFO_HE_RU_ALLOC_996 = 0x5
NL80211_RATE_INFO_HE_RU_ALLOC = 0x11
- NL80211_RATE_INFO_MAX = 0x1d
+ NL80211_RATE_INFO_MAX = 0x20
NL80211_RATE_INFO_MCS = 0x2
NL80211_RATE_INFO_S1G_MCS = 0x17
NL80211_RATE_INFO_S1G_NSS = 0x18
@@ -6167,7 +6261,7 @@ const (
NL80211_TXRATE_HT = 0x2
NL80211_TXRATE_LEGACY = 0x1
NL80211_TX_RATE_LIMITED = 0x1
- NL80211_TXRATE_MAX = 0x7
+ NL80211_TXRATE_MAX = 0xa
NL80211_TXRATE_MCS = 0x2
NL80211_TXRATE_VHT = 0x3
NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT = 0x1
@@ -6183,7 +6277,7 @@ const (
NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE = 0x2
NL80211_WIPHY_RADIO_ATTR_INDEX = 0x1
NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION = 0x3
- NL80211_WIPHY_RADIO_ATTR_MAX = 0x4
+ NL80211_WIPHY_RADIO_ATTR_MAX = 0x5
NL80211_WIPHY_RADIO_FREQ_ATTR_END = 0x2
NL80211_WIPHY_RADIO_FREQ_ATTR_MAX = 0x2
NL80211_WIPHY_RADIO_FREQ_ATTR_START = 0x1
@@ -6384,3 +6478,99 @@ const (
MPOL_PREFERRED_MANY = 0x5
MPOL_WEIGHTED_INTERLEAVE = 0x6
)
+
+const (
+ GPIO_V2_GET_LINEINFO_IOCTL = 0xc100b405
+ GPIO_V2_GET_LINE_IOCTL = 0xc250b407
+ GPIO_V2_LINE_GET_VALUES_IOCTL = 0xc010b40e
+ GPIO_V2_LINE_SET_VALUES_IOCTL = 0xc010b40f
+ GPIO_V2_GET_LINEINFO_WATCH_IOCTL = 0xc100b406
+ GPIO_GET_LINEINFO_UNWATCH_IOCTL = 0xc004b40c
+)
+const (
+ GPIO_V2_LINE_ATTR_ID_FLAGS = 0x1
+ GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES = 0x2
+ GPIO_V2_LINE_ATTR_ID_DEBOUNCE = 0x3
+ GPIO_V2_LINE_CHANGED_REQUESTED = 0x1
+ GPIO_V2_LINE_CHANGED_RELEASED = 0x2
+ GPIO_V2_LINE_CHANGED_CONFIG = 0x3
+ GPIO_V2_LINE_EVENT_RISING_EDGE = 0x1
+ GPIO_V2_LINE_EVENT_FALLING_EDGE = 0x2
+)
+
+type GPIOChipInfo struct {
+ Name [32]byte
+ Label [32]byte
+ Lines uint32
+}
+type GPIOV2LineValues struct {
+ Bits uint64
+ Mask uint64
+}
+type GPIOV2LineAttribute struct {
+ Id uint32
+ _ uint32
+ Flags uint64
+}
+type GPIOV2LineConfigAttribute struct {
+ Attr GPIOV2LineAttribute
+ Mask uint64
+}
+type GPIOV2LineConfig struct {
+ Flags uint64
+ Num_attrs uint32
+ _ [5]uint32
+ Attrs [10]GPIOV2LineConfigAttribute
+}
+type GPIOV2LineRequest struct {
+ Offsets [64]uint32
+ Consumer [32]byte
+ Config GPIOV2LineConfig
+ Num_lines uint32
+ Event_buffer_size uint32
+ _ [5]uint32
+ Fd int32
+}
+type GPIOV2LineInfo struct {
+ Name [32]byte
+ Consumer [32]byte
+ Offset uint32
+ Num_attrs uint32
+ Flags uint64
+ Attrs [10]GPIOV2LineAttribute
+ _ [4]uint32
+}
+type GPIOV2LineInfoChanged struct {
+ Info GPIOV2LineInfo
+ Timestamp_ns uint64
+ Event_type uint32
+ _ [5]uint32
+}
+type GPIOV2LineEvent struct {
+ Timestamp_ns uint64
+ Id uint32
+ Offset uint32
+ Seqno uint32
+ Line_seqno uint32
+ _ [6]uint32
+}
+
+const (
+ IPMI_MAX_ADDR_SIZE = 0x20
+ IPMI_SYSTEM_INTERFACE_ADDR_TYPE = 0xc
+ IPMI_BMC_CHANNEL = 0xf
+ IPMI_RESPONSE_RECV_TYPE = 0x1
+)
+
+type IPMISystemInterfaceAddr struct {
+ Type int32
+ Channel int16
+ Lun uint8
+ _ [1]byte
+}
+type IPMIMsg struct {
+ Netfn uint8
+ Cmd uint8
+ Len uint16
+ Data *uint8
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
index 485f2d3a1..c7ec66dc9 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
@@ -163,6 +163,11 @@ type Msghdr struct {
Flags int32
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+}
+
type Cmsghdr struct {
Len uint32
Level int32
@@ -178,6 +183,7 @@ const (
SizeofSockaddrNFCLLCP = 0x58
SizeofIovec = 0x8
SizeofMsghdr = 0x1c
+ SizeofMmsghdr = 0x20
SizeofCmsghdr = 0xc
)
@@ -354,6 +360,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint32
@@ -672,7 +686,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0xff01
+ PIDFD_GET_IPC_NAMESPACE = 0xff02
+ PIDFD_GET_MNT_NAMESPACE = 0xff03
+ PIDFD_GET_NET_NAMESPACE = 0xff04
+ PIDFD_GET_PID_NAMESPACE = 0xff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0xff06
+ PIDFD_GET_TIME_NAMESPACE = 0xff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0xff08
+ PIDFD_GET_USER_NAMESPACE = 0xff09
+ PIDFD_GET_UTS_NAMESPACE = 0xff0a
)
type SysvIpcPerm struct {
@@ -703,3 +728,26 @@ type SysvShmDesc struct {
_ uint32
_ uint32
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x8044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x8014690d
+ IPMICTL_RECEIVE_MSG = 0xc018690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
index ecbd1ad8b..abe072e89 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
@@ -166,6 +166,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -181,6 +187,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -367,6 +374,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -689,7 +704,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0xff01
+ PIDFD_GET_IPC_NAMESPACE = 0xff02
+ PIDFD_GET_MNT_NAMESPACE = 0xff03
+ PIDFD_GET_NET_NAMESPACE = 0xff04
+ PIDFD_GET_PID_NAMESPACE = 0xff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0xff06
+ PIDFD_GET_TIME_NAMESPACE = 0xff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0xff08
+ PIDFD_GET_USER_NAMESPACE = 0xff09
+ PIDFD_GET_UTS_NAMESPACE = 0xff0a
)
type SysvIpcPerm struct {
@@ -717,3 +743,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x8044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x8028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
index 02f0463a4..4ba7cea03 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
@@ -169,6 +169,11 @@ type Msghdr struct {
Flags int32
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+}
+
type Cmsghdr struct {
Len uint32
Level int32
@@ -184,6 +189,7 @@ const (
SizeofSockaddrNFCLLCP = 0x58
SizeofIovec = 0x8
SizeofMsghdr = 0x1c
+ SizeofMmsghdr = 0x20
SizeofCmsghdr = 0xc
)
@@ -345,6 +351,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint32
@@ -666,7 +680,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0xff01
+ PIDFD_GET_IPC_NAMESPACE = 0xff02
+ PIDFD_GET_MNT_NAMESPACE = 0xff03
+ PIDFD_GET_NET_NAMESPACE = 0xff04
+ PIDFD_GET_PID_NAMESPACE = 0xff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0xff06
+ PIDFD_GET_TIME_NAMESPACE = 0xff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0xff08
+ PIDFD_GET_USER_NAMESPACE = 0xff09
+ PIDFD_GET_UTS_NAMESPACE = 0xff0a
)
type SysvIpcPerm struct {
@@ -697,3 +722,26 @@ type SysvShmDesc struct {
_ uint32
_ uint32
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x8044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x8014690d
+ IPMICTL_RECEIVE_MSG = 0xc018690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
index 6f4d400d2..3f55ca4af 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
@@ -167,6 +167,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -182,6 +188,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -346,6 +353,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -668,7 +683,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0xff01
+ PIDFD_GET_IPC_NAMESPACE = 0xff02
+ PIDFD_GET_MNT_NAMESPACE = 0xff03
+ PIDFD_GET_NET_NAMESPACE = 0xff04
+ PIDFD_GET_PID_NAMESPACE = 0xff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0xff06
+ PIDFD_GET_TIME_NAMESPACE = 0xff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0xff08
+ PIDFD_GET_USER_NAMESPACE = 0xff09
+ PIDFD_GET_UTS_NAMESPACE = 0xff0a
)
type SysvIpcPerm struct {
@@ -696,3 +722,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x8044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x8028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
index cd532cfa5..445b2a2e9 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
@@ -167,6 +167,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -182,6 +188,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -347,6 +354,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -669,7 +684,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0xff01
+ PIDFD_GET_IPC_NAMESPACE = 0xff02
+ PIDFD_GET_MNT_NAMESPACE = 0xff03
+ PIDFD_GET_NET_NAMESPACE = 0xff04
+ PIDFD_GET_PID_NAMESPACE = 0xff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0xff06
+ PIDFD_GET_TIME_NAMESPACE = 0xff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0xff08
+ PIDFD_GET_USER_NAMESPACE = 0xff09
+ PIDFD_GET_UTS_NAMESPACE = 0xff0a
)
type SysvIpcPerm struct {
@@ -697,3 +723,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x8044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x8028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
index 413362085..6a52e254f 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
@@ -168,6 +168,11 @@ type Msghdr struct {
Flags int32
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+}
+
type Cmsghdr struct {
Len uint32
Level int32
@@ -183,6 +188,7 @@ const (
SizeofSockaddrNFCLLCP = 0x58
SizeofIovec = 0x8
SizeofMsghdr = 0x1c
+ SizeofMmsghdr = 0x20
SizeofCmsghdr = 0xc
)
@@ -350,6 +356,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint32
@@ -672,7 +686,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x80
+ PIDFD_NONBLOCK = 0x80
+ PIDFD_THREAD = 0x400
+ PIDFD_GET_CGROUP_NAMESPACE = 0x2000ff01
+ PIDFD_GET_IPC_NAMESPACE = 0x2000ff02
+ PIDFD_GET_MNT_NAMESPACE = 0x2000ff03
+ PIDFD_GET_NET_NAMESPACE = 0x2000ff04
+ PIDFD_GET_PID_NAMESPACE = 0x2000ff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0x2000ff06
+ PIDFD_GET_TIME_NAMESPACE = 0x2000ff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0x2000ff08
+ PIDFD_GET_USER_NAMESPACE = 0x2000ff09
+ PIDFD_GET_UTS_NAMESPACE = 0x2000ff0a
)
type SysvIpcPerm struct {
@@ -702,3 +727,26 @@ type SysvShmDesc struct {
Ctime_high uint16
_ uint16
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x4044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x4014690d
+ IPMICTL_RECEIVE_MSG = 0xc018690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
index eaa37eb71..fafd89de2 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
@@ -167,6 +167,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -182,6 +188,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -349,6 +356,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -671,7 +686,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x80
+ PIDFD_NONBLOCK = 0x80
+ PIDFD_THREAD = 0x400
+ PIDFD_GET_CGROUP_NAMESPACE = 0x2000ff01
+ PIDFD_GET_IPC_NAMESPACE = 0x2000ff02
+ PIDFD_GET_MNT_NAMESPACE = 0x2000ff03
+ PIDFD_GET_NET_NAMESPACE = 0x2000ff04
+ PIDFD_GET_PID_NAMESPACE = 0x2000ff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0x2000ff06
+ PIDFD_GET_TIME_NAMESPACE = 0x2000ff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0x2000ff08
+ PIDFD_GET_USER_NAMESPACE = 0x2000ff09
+ PIDFD_GET_UTS_NAMESPACE = 0x2000ff0a
)
type SysvIpcPerm struct {
@@ -699,3 +725,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x4044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x4028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
index 98ae6a1e4..5fb6f4cf8 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
@@ -167,6 +167,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -182,6 +188,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -349,6 +356,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -671,7 +686,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x80
+ PIDFD_NONBLOCK = 0x80
+ PIDFD_THREAD = 0x400
+ PIDFD_GET_CGROUP_NAMESPACE = 0x2000ff01
+ PIDFD_GET_IPC_NAMESPACE = 0x2000ff02
+ PIDFD_GET_MNT_NAMESPACE = 0x2000ff03
+ PIDFD_GET_NET_NAMESPACE = 0x2000ff04
+ PIDFD_GET_PID_NAMESPACE = 0x2000ff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0x2000ff06
+ PIDFD_GET_TIME_NAMESPACE = 0x2000ff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0x2000ff08
+ PIDFD_GET_USER_NAMESPACE = 0x2000ff09
+ PIDFD_GET_UTS_NAMESPACE = 0x2000ff0a
)
type SysvIpcPerm struct {
@@ -699,3 +725,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x4044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x4028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
index cae196159..a50187bce 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
@@ -168,6 +168,11 @@ type Msghdr struct {
Flags int32
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+}
+
type Cmsghdr struct {
Len uint32
Level int32
@@ -183,6 +188,7 @@ const (
SizeofSockaddrNFCLLCP = 0x58
SizeofIovec = 0x8
SizeofMsghdr = 0x1c
+ SizeofMmsghdr = 0x20
SizeofCmsghdr = 0xc
)
@@ -350,6 +356,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint32
@@ -672,7 +686,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x80
+ PIDFD_NONBLOCK = 0x80
+ PIDFD_THREAD = 0x400
+ PIDFD_GET_CGROUP_NAMESPACE = 0x2000ff01
+ PIDFD_GET_IPC_NAMESPACE = 0x2000ff02
+ PIDFD_GET_MNT_NAMESPACE = 0x2000ff03
+ PIDFD_GET_NET_NAMESPACE = 0x2000ff04
+ PIDFD_GET_PID_NAMESPACE = 0x2000ff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0x2000ff06
+ PIDFD_GET_TIME_NAMESPACE = 0x2000ff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0x2000ff08
+ PIDFD_GET_USER_NAMESPACE = 0x2000ff09
+ PIDFD_GET_UTS_NAMESPACE = 0x2000ff0a
)
type SysvIpcPerm struct {
@@ -702,3 +727,26 @@ type SysvShmDesc struct {
Ctime_high uint16
_ uint16
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x4044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x4014690d
+ IPMICTL_RECEIVE_MSG = 0xc018690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
index 6ce3b4e02..777b0228f 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
@@ -169,6 +169,11 @@ type Msghdr struct {
Flags int32
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+}
+
type Cmsghdr struct {
Len uint32
Level int32
@@ -184,6 +189,7 @@ const (
SizeofSockaddrNFCLLCP = 0x58
SizeofIovec = 0x8
SizeofMsghdr = 0x1c
+ SizeofMmsghdr = 0x20
SizeofCmsghdr = 0xc
)
@@ -357,6 +363,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint32
@@ -678,7 +692,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0x2000ff01
+ PIDFD_GET_IPC_NAMESPACE = 0x2000ff02
+ PIDFD_GET_MNT_NAMESPACE = 0x2000ff03
+ PIDFD_GET_NET_NAMESPACE = 0x2000ff04
+ PIDFD_GET_PID_NAMESPACE = 0x2000ff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0x2000ff06
+ PIDFD_GET_TIME_NAMESPACE = 0x2000ff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0x2000ff08
+ PIDFD_GET_USER_NAMESPACE = 0x2000ff09
+ PIDFD_GET_UTS_NAMESPACE = 0x2000ff0a
)
type SysvIpcPerm struct {
@@ -710,3 +735,26 @@ type SysvShmDesc struct {
_ uint32
_ [4]byte
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x4044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x4014690d
+ IPMICTL_RECEIVE_MSG = 0xc018690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int32
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
index c7429c6a1..48a6a5ac3 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
@@ -168,6 +168,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -183,6 +189,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -356,6 +363,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -678,7 +693,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0x2000ff01
+ PIDFD_GET_IPC_NAMESPACE = 0x2000ff02
+ PIDFD_GET_MNT_NAMESPACE = 0x2000ff03
+ PIDFD_GET_NET_NAMESPACE = 0x2000ff04
+ PIDFD_GET_PID_NAMESPACE = 0x2000ff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0x2000ff06
+ PIDFD_GET_TIME_NAMESPACE = 0x2000ff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0x2000ff08
+ PIDFD_GET_USER_NAMESPACE = 0x2000ff09
+ PIDFD_GET_UTS_NAMESPACE = 0x2000ff0a
)
type SysvIpcPerm struct {
@@ -705,3 +731,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x4044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x4028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
index 4bf4baf4c..1972c0125 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
@@ -168,6 +168,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -183,6 +189,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -356,6 +363,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -678,7 +693,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0x2000ff01
+ PIDFD_GET_IPC_NAMESPACE = 0x2000ff02
+ PIDFD_GET_MNT_NAMESPACE = 0x2000ff03
+ PIDFD_GET_NET_NAMESPACE = 0x2000ff04
+ PIDFD_GET_PID_NAMESPACE = 0x2000ff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0x2000ff06
+ PIDFD_GET_TIME_NAMESPACE = 0x2000ff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0x2000ff08
+ PIDFD_GET_USER_NAMESPACE = 0x2000ff09
+ PIDFD_GET_UTS_NAMESPACE = 0x2000ff0a
)
type SysvIpcPerm struct {
@@ -705,3 +731,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x4044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x4028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
index e9709d70a..87572ee08 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
@@ -167,6 +167,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -182,6 +188,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -374,6 +381,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -696,7 +711,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0xff01
+ PIDFD_GET_IPC_NAMESPACE = 0xff02
+ PIDFD_GET_MNT_NAMESPACE = 0xff03
+ PIDFD_GET_NET_NAMESPACE = 0xff04
+ PIDFD_GET_PID_NAMESPACE = 0xff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0xff06
+ PIDFD_GET_TIME_NAMESPACE = 0xff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0xff08
+ PIDFD_GET_USER_NAMESPACE = 0xff09
+ PIDFD_GET_UTS_NAMESPACE = 0xff0a
)
type SysvIpcPerm struct {
@@ -784,3 +810,26 @@ const (
RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE = 0x6
RISCV_HWPROBE_WHICH_CPUS = 0x1
)
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x8044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x8028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
index fb44268ca..f6a33e680 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
@@ -166,6 +166,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -181,6 +187,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -369,6 +376,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -692,7 +707,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x800
+ PIDFD_NONBLOCK = 0x800
+ PIDFD_THREAD = 0x80
+ PIDFD_GET_CGROUP_NAMESPACE = 0xff01
+ PIDFD_GET_IPC_NAMESPACE = 0xff02
+ PIDFD_GET_MNT_NAMESPACE = 0xff03
+ PIDFD_GET_NET_NAMESPACE = 0xff04
+ PIDFD_GET_PID_NAMESPACE = 0xff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0xff06
+ PIDFD_GET_TIME_NAMESPACE = 0xff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0xff08
+ PIDFD_GET_USER_NAMESPACE = 0xff09
+ PIDFD_GET_UTS_NAMESPACE = 0xff0a
)
type SysvIpcPerm struct {
@@ -719,3 +745,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x8044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x8028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
index 9c38265c7..8b7261458 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
@@ -84,22 +84,20 @@ type Rusage struct {
type Stat_t struct {
Dev uint64
- _ uint16
Ino uint64
+ Nlink uint64
Mode uint32
- Nlink uint32
Uid uint32
Gid uint32
+ _ uint32
Rdev uint64
- _ uint16
Size int64
Blksize int64
Blocks int64
Atim Timespec
Mtim Timespec
Ctim Timespec
- _ uint64
- _ uint64
+ _ [3]int64
}
type Dirent struct {
@@ -170,6 +168,12 @@ type Msghdr struct {
_ [4]byte
}
+type Mmsghdr struct {
+ Hdr Msghdr
+ Len uint32
+ _ [4]byte
+}
+
type Cmsghdr struct {
Len uint64
Level int32
@@ -185,6 +189,7 @@ const (
SizeofSockaddrNFCLLCP = 0x60
SizeofIovec = 0x10
SizeofMsghdr = 0x38
+ SizeofMmsghdr = 0x40
SizeofCmsghdr = 0x10
)
@@ -351,6 +356,14 @@ type Taskstats struct {
Wpcopy_delay_min uint64
Irq_delay_max uint64
Irq_delay_min uint64
+ Cpu_delay_max_ts KernelTimespec
+ Blkio_delay_max_ts KernelTimespec
+ Swapin_delay_max_ts KernelTimespec
+ Freepages_delay_max_ts KernelTimespec
+ Thrashing_delay_max_ts KernelTimespec
+ Compact_delay_max_ts KernelTimespec
+ Wpcopy_delay_max_ts KernelTimespec
+ Irq_delay_max_ts KernelTimespec
}
type cpuMask uint64
@@ -673,7 +686,18 @@ const (
)
const (
- PIDFD_NONBLOCK = 0x4000
+ PIDFD_NONBLOCK = 0x4000
+ PIDFD_THREAD = 0x800
+ PIDFD_GET_CGROUP_NAMESPACE = 0x2000ff01
+ PIDFD_GET_IPC_NAMESPACE = 0x2000ff02
+ PIDFD_GET_MNT_NAMESPACE = 0x2000ff03
+ PIDFD_GET_NET_NAMESPACE = 0x2000ff04
+ PIDFD_GET_PID_NAMESPACE = 0x2000ff05
+ PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE = 0x2000ff06
+ PIDFD_GET_TIME_NAMESPACE = 0x2000ff07
+ PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE = 0x2000ff08
+ PIDFD_GET_USER_NAMESPACE = 0x2000ff09
+ PIDFD_GET_UTS_NAMESPACE = 0x2000ff0a
)
type SysvIpcPerm struct {
@@ -700,3 +724,26 @@ type SysvShmDesc struct {
_ uint64
_ uint64
}
+
+const (
+ GPIO_GET_CHIPINFO_IOCTL = 0x4044b401
+)
+
+const (
+ IPMICTL_SEND_COMMAND = 0x4028690d
+ IPMICTL_RECEIVE_MSG = 0xc030690c
+)
+
+type IPMIReq struct {
+ Addr *uint8
+ Len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
+type IPMIRecv struct {
+ Recv_type int32
+ Addr *uint8
+ Addr_len uint32
+ Msgid int64
+ Msg IPMIMsg
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
index 2e5d5a443..80d4c9535 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
@@ -209,6 +209,84 @@ type TCPInfo struct {
Total_retrans uint32
}
+// Ptrace structures for z/OS
+
+type PtraceRegs struct {
+ Psw PtracePsw
+ Gprs [16]uint64
+ Acrs [16]uint32
+ Orig_gpr2 uint64
+ Fp_regs PtraceFpregs
+ Per_info PtracePer
+ Ieee_instruction_pointer uint64
+}
+
+type PtracePsw struct {
+ Mask uint64
+ Addr uint64
+}
+
+type PtraceFpregs struct {
+ Fpc uint32
+ Fprs [16]float64
+}
+
+type PtracePer struct {
+ Control_regs [3]uint64
+ _ [8]byte
+ Starting_addr uint64
+ Ending_addr uint64
+ Perc_atmid uint16
+ Address uint64
+ Access_id uint8
+ _ [7]byte
+}
+
+// PT_BLOCKREQ structures for block ptrace requests
+// Layout matches BPXYPTRC HLASM macro (PtBR_GPR + PtBR_GPR_EXT):
+//
+// Offset 0-1: Writebitflags (PtBR_GPR_CntlGPR, 2 bytes)
+// Offset 2-3: Wpsw (PtBR_GPR_CntlMisc, 2 bytes with WPSW bit flag)
+// Offset 4-15: Reserved (12 bytes)
+// Offset 16-79: Gpr (64 bytes, 16 GPRs)
+// Offset 80-143: Ctl (64 bytes, 16 CRs)
+// Offset 144-151: Psw old format (8 bytes, PtBR_GPR_PSW)
+// Offset 152-167: Pswg extended (16 bytes, PtBR_GPR_PSWG for 64-bit)
+// Total: 168 bytes (base 152 + extended 16)
+type PtraceBlkGpr struct {
+ Writebitflags uint16 // 2 bytes at offset 0 (PtBR_GPR_CntlGPR)
+ Wpsw uint16 // 2 bytes at offset 2 (PtBR_GPR_CntlMisc with WPSW flag)
+ _ [12]byte // 12 bytes reserved (offset 4-15)
+ Gpr [16]uint32 // 64 bytes at offset 16 (GPRs)
+ Ctl [16]uint32 // 64 bytes at offset 80 (CRs)
+ Psw [8]byte // 8 bytes at offset 144 (old PSW format)
+ Pswg [16]byte // 16 bytes at offset 152 (extended PSWG)
+ // Total: 2+2+12+64+64+8+16 = 168 bytes
+}
+
+type PtraceBlkReqReq struct {
+ Reqtype int32
+ Reqstat int32
+ Reqdata uint32
+ _ [4]byte
+}
+
+type PtraceBlkReq struct {
+ Numreq int32
+ _ [12]byte
+}
+
+// PT_READ_U structures for reading user area (control info)
+type PtraceBlkUarOcw struct {
+ Ofs uint32 // Control information offset
+ Ctl uint32 // Control information
+}
+
+type PtraceBlkUar struct {
+ Num uint32 // Number of entries
+ _ [4]byte
+}
+
type _Gid_t uint32
type rusage_zos struct {
diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go
index 6c955cea1..783621561 100644
--- a/vendor/golang.org/x/sys/windows/security_windows.go
+++ b/vendor/golang.org/x/sys/windows/security_windows.go
@@ -1109,17 +1109,53 @@ const (
)
// This type is the union inside of TRUSTEE and must be created using one of the TrusteeValueFrom* functions.
+//
+// Go pointers stored in a TrusteeValue must be pinned using [runtime.Pinner]
+// for the lifetime of the TrusteeValue.
type TrusteeValue uintptr
+// TrusteeValueFromString is unsafe and should not be used.
+//
+// It returns a uintptr containing a reference to newly-allocated memory
+// which will be freed by the garbage collector.
+// There is no way for the caller to safely reference this memory.
+//
+// To create a [TrusteeValue] from a string, use:
+//
+// p, err := windows.UTF16PtrFromString(s)
+// if err != nil {
+// // handle error
+// }
+//
+// // Pin the string for as long as it is used.
+// var pinner runtime.Pinner
+// pinner.Pin(p)
+// defer pinner.Unpin()
+//
+// tv := TrusteeValue(unsafe.Pointer(p))
+//
+// Deprecated: TrusteeValueFromString is unsafe and should not be used.
func TrusteeValueFromString(str string) TrusteeValue {
return TrusteeValue(unsafe.Pointer(StringToUTF16Ptr(str)))
}
+
+// TrusteeValueFromSID returns a [TrusteeValue] referencing sid.
+//
+// The caller must pin sid using a [runtime.Pinner] for the lifetime of the TrusteeValue.
func TrusteeValueFromSID(sid *SID) TrusteeValue {
return TrusteeValue(unsafe.Pointer(sid))
}
+
+// TrusteeValueFromObjectsAndSid returns a [TrusteeValue] referencing objectsAndSid.
+//
+// The caller must pin objectsAndSid using a [runtime.Pinner] for the lifetime of the TrusteeValue.
func TrusteeValueFromObjectsAndSid(objectsAndSid *OBJECTS_AND_SID) TrusteeValue {
return TrusteeValue(unsafe.Pointer(objectsAndSid))
}
+
+// TrusteeValueFromObjectsAndName returns a [TrusteeValue] referencing objectsAndName.
+//
+// The caller must pin objectsAndName using a [runtime.Pinner] for the lifetime of the TrusteeValue.
func TrusteeValueFromObjectsAndName(objectsAndName *OBJECTS_AND_NAME) TrusteeValue {
return TrusteeValue(unsafe.Pointer(objectsAndName))
}
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go
index d76643658..e6966b4c3 100644
--- a/vendor/golang.org/x/sys/windows/syscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -452,6 +452,7 @@ func NewCallbackCDecl(fn interface{}) uintptr {
//sys RtlInitString(destinationString *NTString, sourceString *byte) = ntdll.RtlInitString
//sys NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) = ntdll.NtCreateFile
//sys NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) = ntdll.NtCreateNamedPipeFile
+//sys NtQueryInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, outBuffer *byte, outBufferLen uint32, class uint32) (ntstatus error) = ntdll.NtQueryInformationFile
//sys NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) = ntdll.NtSetInformationFile
//sys RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToNtPathName_U_WithStatus
//sys RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToRelativeNtPathName_U_WithStatus
@@ -460,6 +461,8 @@ func NewCallbackCDecl(fn interface{}) uintptr {
//sys NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) = ntdll.NtSetInformationProcess
//sys NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQuerySystemInformation
//sys NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) = ntdll.NtSetSystemInformation
+//sys NtQueryEaFile(handle Handle, iosb *IO_STATUS_BLOCK, outBuffer *byte, outBufferLen uint32, returnSingleEntry bool, eaList *byte, eaListLen uint32, eaIndex *uint32, restartScan bool) (ntstatus error) = ntdll.NtQueryEaFile
+//sys NtSetEaFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32) (ntstatus error) = ntdll.NtSetEaFile
//sys RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) = ntdll.RtlAddFunctionTable
//sys RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) = ntdll.RtlDeleteFunctionTable
@@ -892,9 +895,13 @@ const socket_error = uintptr(^uint32(0))
//sys MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar
//sys getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) = iphlpapi.GetBestInterfaceEx
//sys GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) = iphlpapi.GetIfEntry2Ex
+//sys GetIfTable2Ex(level uint32, table **MibIfTable2) (errcode error) = iphlpapi.GetIfTable2Ex
//sys GetIpForwardEntry2(row *MibIpForwardRow2) (errcode error) = iphlpapi.GetIpForwardEntry2
//sys GetIpForwardTable2(family uint16, table **MibIpForwardTable2) (errcode error) = iphlpapi.GetIpForwardTable2
+//sys GetIpInterfaceEntry(row *MibIpInterfaceRow) (errcode error) = iphlpapi.GetIpInterfaceEntry
+//sys GetIpInterfaceTable(family uint16, table **MibIpInterfaceTable) (errcode error) = iphlpapi.GetIpInterfaceTable
//sys GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) = iphlpapi.GetUnicastIpAddressEntry
+//sys GetUnicastIpAddressTable(family uint16, table **MibUnicastIpAddressTable) (errcode error) = iphlpapi.GetUnicastIpAddressTable
//sys FreeMibTable(memory unsafe.Pointer) = iphlpapi.FreeMibTable
//sys NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) = iphlpapi.NotifyIpInterfaceChange
//sys NotifyRouteChange2(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) = iphlpapi.NotifyRouteChange2
@@ -1693,10 +1700,13 @@ func NewNTUnicodeString(s string) (*NTUnicodeString, error) {
if err != nil {
return nil, err
}
- n := uint16(len(s16) * 2)
+ n := len(s16) * 2
+ if n > (1<<16)-1 {
+ return nil, syscall.EINVAL
+ }
return &NTUnicodeString{
- Length: n - 2, // subtract 2 bytes for the NULL terminator
- MaximumLength: n,
+ Length: uint16(n) - 2, // subtract 2 bytes for the NULL terminator
+ MaximumLength: uint16(n),
Buffer: &s16[0],
}, nil
}
@@ -1718,11 +1728,15 @@ func (s *NTUnicodeString) String() string {
// the more common *uint16 string type.
func NewNTString(s string) (*NTString, error) {
var nts NTString
- s8, err := BytePtrFromString(s)
+ s8, err := ByteSliceFromString(s)
if err != nil {
return nil, err
}
- RtlInitString(&nts, s8)
+ // The source string plus its terminating NUL must fit within MAX_USHORT.
+ if len(s8) > MAX_USHORT {
+ return nil, syscall.EINVAL
+ }
+ RtlInitString(&nts, &s8[0])
return &nts, nil
}
diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go
index d5658a138..643737d45 100644
--- a/vendor/golang.org/x/sys/windows/types_windows.go
+++ b/vendor/golang.org/x/sys/windows/types_windows.go
@@ -169,6 +169,7 @@ const (
FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192
FORMAT_MESSAGE_MAX_WIDTH_MASK = 255
+ MAX_USHORT = 0xffff
MAX_PATH = 260
MAX_LONG_PATH = 32768
@@ -1064,6 +1065,7 @@ const (
SO_BROADCAST = 32
SO_LINGER = 128
SO_RCVBUF = 0x1002
+ SO_SNDTIMEO = 0x1005
SO_RCVTIMEO = 0x1006
SO_SNDBUF = 0x1001
SO_UPDATE_ACCEPT_CONTEXT = 0x700b
@@ -2320,6 +2322,21 @@ type MibIfRow2 struct {
OutQLen uint64
}
+// MIB_IF_TABLE_LEVEL enumeration from netioapi.h or
+// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ne-netioapi-mib_if_table_level.
+const (
+ MibIfTableNormal = 0
+ MibIfTableRaw = 1
+ MibIfTableNormalWithoutStatistics = 2
+)
+
+// MibIfTable2 contains a table of logical and physical interface entries. See
+// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_if_table2.
+type MibIfTable2 struct {
+ NumEntries uint32
+ Table [1]MibIfRow2
+}
+
// IP_ADDRESS_PREFIX stores an IP address prefix. See
// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-ip_address_prefix.
type IpAddressPrefix struct {
@@ -2413,6 +2430,13 @@ type MibUnicastIpAddressRow struct {
CreationTimeStamp Filetime
}
+// MibUnicastIpAddressTable contains a table of unicast IP address entries. See
+// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_unicastipaddress_table.
+type MibUnicastIpAddressTable struct {
+ NumEntries uint32
+ Table [1]MibUnicastIpAddressRow
+}
+
const ScopeLevelCount = 16
// MIB_IPINTERFACE_ROW stores interface management information for a particular IP address family on a network interface.
@@ -2455,6 +2479,13 @@ type MibIpInterfaceRow struct {
DisableDefaultRoutes uint8
}
+// MibIpInterfaceTable contains a table of IP interface entries. See
+// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_ipinterface_table.
+type MibIpInterfaceTable struct {
+ NumEntries uint32
+ Table [1]MibIpInterfaceRow
+}
+
// Console related constants used for the mode parameter to SetConsoleMode. See
// https://docs.microsoft.com/en-us/windows/console/setconsolemode for details.
@@ -3014,8 +3045,10 @@ const (
)
const (
- // FileInformationClass for NtSetInformationFile
+ // FileInformationClass for NtSetInformationFile/NtQueryInformationFile, see
+ // https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_file_information_class
FileBasicInformation = 4
+ FileEaInformation = 7
FileRenameInformation = 10
FileDispositionInformation = 13
FilePositionInformation = 14
diff --git a/vendor/golang.org/x/sys/windows/types_windows_arm.go b/vendor/golang.org/x/sys/windows/types_windows_arm.go
deleted file mode 100644
index 321872c3e..000000000
--- a/vendor/golang.org/x/sys/windows/types_windows_arm.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package windows
-
-type WSAData struct {
- Version uint16
- HighVersion uint16
- Description [WSADESCRIPTION_LEN + 1]byte
- SystemStatus [WSASYS_STATUS_LEN + 1]byte
- MaxSockets uint16
- MaxUdpDg uint16
- VendorInfo *byte
-}
-
-type Servent struct {
- Name *byte
- Aliases **byte
- Port uint16
- Proto *byte
-}
-
-type JOBOBJECT_BASIC_LIMIT_INFORMATION struct {
- PerProcessUserTimeLimit int64
- PerJobUserTimeLimit int64
- LimitFlags uint32
- MinimumWorkingSetSize uintptr
- MaximumWorkingSetSize uintptr
- ActiveProcessLimit uint32
- Affinity uintptr
- PriorityClass uint32
- SchedulingClass uint32
- _ uint32 // pad to 8 byte boundary
-}
diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
index fe7a4ea12..192d19300 100644
--- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
@@ -188,9 +188,13 @@ var (
procGetBestInterfaceEx = modiphlpapi.NewProc("GetBestInterfaceEx")
procGetIfEntry = modiphlpapi.NewProc("GetIfEntry")
procGetIfEntry2Ex = modiphlpapi.NewProc("GetIfEntry2Ex")
+ procGetIfTable2Ex = modiphlpapi.NewProc("GetIfTable2Ex")
procGetIpForwardEntry2 = modiphlpapi.NewProc("GetIpForwardEntry2")
procGetIpForwardTable2 = modiphlpapi.NewProc("GetIpForwardTable2")
+ procGetIpInterfaceEntry = modiphlpapi.NewProc("GetIpInterfaceEntry")
+ procGetIpInterfaceTable = modiphlpapi.NewProc("GetIpInterfaceTable")
procGetUnicastIpAddressEntry = modiphlpapi.NewProc("GetUnicastIpAddressEntry")
+ procGetUnicastIpAddressTable = modiphlpapi.NewProc("GetUnicastIpAddressTable")
procNotifyIpInterfaceChange = modiphlpapi.NewProc("NotifyIpInterfaceChange")
procNotifyRouteChange2 = modiphlpapi.NewProc("NotifyRouteChange2")
procNotifyUnicastIpAddressChange = modiphlpapi.NewProc("NotifyUnicastIpAddressChange")
@@ -424,8 +428,11 @@ var (
procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo")
procNtCreateFile = modntdll.NewProc("NtCreateFile")
procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile")
+ procNtQueryEaFile = modntdll.NewProc("NtQueryEaFile")
+ procNtQueryInformationFile = modntdll.NewProc("NtQueryInformationFile")
procNtQueryInformationProcess = modntdll.NewProc("NtQueryInformationProcess")
procNtQuerySystemInformation = modntdll.NewProc("NtQuerySystemInformation")
+ procNtSetEaFile = modntdll.NewProc("NtSetEaFile")
procNtSetInformationFile = modntdll.NewProc("NtSetInformationFile")
procNtSetInformationProcess = modntdll.NewProc("NtSetInformationProcess")
procNtSetSystemInformation = modntdll.NewProc("NtSetSystemInformation")
@@ -1674,6 +1681,14 @@ func GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) {
return
}
+func GetIfTable2Ex(level uint32, table **MibIfTable2) (errcode error) {
+ r0, _, _ := syscall.SyscallN(procGetIfTable2Ex.Addr(), uintptr(level), uintptr(unsafe.Pointer(table)))
+ if r0 != 0 {
+ errcode = syscall.Errno(r0)
+ }
+ return
+}
+
func GetIpForwardEntry2(row *MibIpForwardRow2) (errcode error) {
r0, _, _ := syscall.SyscallN(procGetIpForwardEntry2.Addr(), uintptr(unsafe.Pointer(row)))
if r0 != 0 {
@@ -1690,6 +1705,22 @@ func GetIpForwardTable2(family uint16, table **MibIpForwardTable2) (errcode erro
return
}
+func GetIpInterfaceEntry(row *MibIpInterfaceRow) (errcode error) {
+ r0, _, _ := syscall.SyscallN(procGetIpInterfaceEntry.Addr(), uintptr(unsafe.Pointer(row)))
+ if r0 != 0 {
+ errcode = syscall.Errno(r0)
+ }
+ return
+}
+
+func GetIpInterfaceTable(family uint16, table **MibIpInterfaceTable) (errcode error) {
+ r0, _, _ := syscall.SyscallN(procGetIpInterfaceTable.Addr(), uintptr(family), uintptr(unsafe.Pointer(table)))
+ if r0 != 0 {
+ errcode = syscall.Errno(r0)
+ }
+ return
+}
+
func GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) {
r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressEntry.Addr(), uintptr(unsafe.Pointer(row)))
if r0 != 0 {
@@ -1698,6 +1729,14 @@ func GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) {
return
}
+func GetUnicastIpAddressTable(family uint16, table **MibUnicastIpAddressTable) (errcode error) {
+ r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressTable.Addr(), uintptr(family), uintptr(unsafe.Pointer(table)))
+ if r0 != 0 {
+ errcode = syscall.Errno(r0)
+ }
+ return
+}
+
func NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) {
var _p0 uint32
if initialNotification {
@@ -3704,6 +3743,30 @@ func NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, i
return
}
+func NtQueryEaFile(handle Handle, iosb *IO_STATUS_BLOCK, outBuffer *byte, outBufferLen uint32, returnSingleEntry bool, eaList *byte, eaListLen uint32, eaIndex *uint32, restartScan bool) (ntstatus error) {
+ var _p0 uint32
+ if returnSingleEntry {
+ _p0 = 1
+ }
+ var _p1 uint32
+ if restartScan {
+ _p1 = 1
+ }
+ r0, _, _ := syscall.SyscallN(procNtQueryEaFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), uintptr(_p0), uintptr(unsafe.Pointer(eaList)), uintptr(eaListLen), uintptr(unsafe.Pointer(eaIndex)), uintptr(_p1))
+ if r0 != 0 {
+ ntstatus = NTStatus(r0)
+ }
+ return
+}
+
+func NtQueryInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, outBuffer *byte, outBufferLen uint32, class uint32) (ntstatus error) {
+ r0, _, _ := syscall.SyscallN(procNtQueryInformationFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), uintptr(class))
+ if r0 != 0 {
+ ntstatus = NTStatus(r0)
+ }
+ return
+}
+
func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) {
r0, _, _ := syscall.SyscallN(procNtQueryInformationProcess.Addr(), uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen)))
if r0 != 0 {
@@ -3720,6 +3783,14 @@ func NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInf
return
}
+func NtSetEaFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32) (ntstatus error) {
+ r0, _, _ := syscall.SyscallN(procNtSetEaFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen))
+ if r0 != 0 {
+ ntstatus = NTStatus(r0)
+ }
+ return
+}
+
func NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) {
r0, _, _ := syscall.SyscallN(procNtSetInformationFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), uintptr(class))
if r0 != 0 {
diff --git a/vendor/golang.org/x/term/terminal.go b/vendor/golang.org/x/term/terminal.go
index 6ec537cdc..e8327c83f 100644
--- a/vendor/golang.org/x/term/terminal.go
+++ b/vendor/golang.org/x/term/terminal.go
@@ -106,6 +106,9 @@ type Terminal struct {
// a read. It aliases into inBuf.
remainder []byte
inBuf [256]byte
+ // readErr is an error returned by a read that also returned data. It is
+ // reported after all of that data has been processed.
+ readErr error
// History records and retrieves lines of input read by [ReadLine] which
// a user can retrieve and navigate using the up and down arrow keys.
@@ -788,7 +791,11 @@ func (t *Terminal) ReadPassword(prompt string) (line string, err error) {
return
}
-// ReadLine returns a line of input from the terminal.
+// ReadLine returns a line of input from the terminal, excluding the
+// trailing newline. It may return partial data along with an error.
+// An [io.EOF] error indicates the end of the stream. For other errors,
+// such as [ErrPasteIndicator] in bracketed paste mode, a subsequent
+// call may return more data.
func (t *Terminal) ReadLine() (line string, err error) {
t.lock.Lock()
defer t.lock.Unlock()
@@ -863,21 +870,24 @@ func (t *Terminal) readLine() (line string, err error) {
}
return
}
+ if t.readErr != nil {
+ err = t.readErr
+ t.readErr = nil
+ return
+ }
// t.remainder is a slice at the beginning of t.inBuf
// containing a partial key sequence
readBuf := t.inBuf[len(t.remainder):]
- var n int
t.lock.Unlock()
- n, err = t.c.Read(readBuf)
+ n, readErr := t.c.Read(readBuf)
t.lock.Lock()
- if err != nil {
- return
- }
-
t.remainder = t.inBuf[:n+len(t.remainder)]
+ if readErr != nil {
+ t.readErr = readErr
+ }
}
}
diff --git a/vendor/golang.org/x/text/cases/context.go b/vendor/golang.org/x/text/cases/context.go
index e9aa9e193..a28f45d7b 100644
--- a/vendor/golang.org/x/text/cases/context.go
+++ b/vendor/golang.org/x/text/cases/context.go
@@ -249,7 +249,7 @@ func upper(c *context) bool {
return c.copy()
}
-// isUpper writes the isUppercase version of the current rune to dst.
+// isUpper reports whether the current rune is in upper case.
func isUpper(c *context) bool {
ct := c.caseType()
if c.info&hasMappingMask == 0 || ct == cUpper {
diff --git a/vendor/golang.org/x/text/cases/map.go b/vendor/golang.org/x/text/cases/map.go
index 0f7c6a14b..51a683092 100644
--- a/vendor/golang.org/x/text/cases/map.go
+++ b/vendor/golang.org/x/text/cases/map.go
@@ -774,7 +774,7 @@ func nlTitle(c *context) bool {
// From CLDR:
// # Special titlecasing for Dutch initial "ij".
// ::Any-Title();
- // # Fix up Ij at the beginning of a "word" (per Any-Title, notUAX #29)
+ // # Fix up Ij at the beginning of a "word" (per Any-Title, not UAX #29)
// [:^WB=ALetter:] [:WB=Extend:]* [[:WB=MidLetter:][:WB=MidNumLet:]]? { Ij } → IJ ;
if c.src[c.pSrc] != 'I' && c.src[c.pSrc] != 'i' {
return title(c)
@@ -794,7 +794,7 @@ func nlTitleSpan(c *context) bool {
// From CLDR:
// # Special titlecasing for Dutch initial "ij".
// ::Any-Title();
- // # Fix up Ij at the beginning of a "word" (per Any-Title, notUAX #29)
+ // # Fix up Ij at the beginning of a "word" (per Any-Title, not UAX #29)
// [:^WB=ALetter:] [:WB=Extend:]* [[:WB=MidLetter:][:WB=MidNumLet:]]? { Ij } → IJ ;
if c.src[c.pSrc] != 'I' {
return isTitle(c)
diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule.go b/vendor/golang.org/x/text/secure/bidirule/bidirule.go
index 538632730..399cb8969 100644
--- a/vendor/golang.org/x/text/secure/bidirule/bidirule.go
+++ b/vendor/golang.org/x/text/secure/bidirule/bidirule.go
@@ -10,6 +10,7 @@ package bidirule
import (
"errors"
+ "sync"
"unicode/utf8"
"golang.org/x/text/transform"
@@ -246,8 +247,9 @@ func (t *Transformer) Span(src []byte, atEOF bool) (n int, err error) {
// Precomputing the ASCII values decreases running time for the ASCII fast path
// by about 30%.
var asciiTable [128]bidi.Properties
+var asciiTableOnce sync.Once
-func init() {
+func initASCIITable() {
for i := range asciiTable {
p, _ := bidi.LookupRune(rune(i))
asciiTable[i] = p
@@ -255,6 +257,8 @@ func init() {
}
func (t *Transformer) advance(s []byte) (n int, ok bool) {
+ asciiTableOnce.Do(initASCIITable)
+
var e bidi.Properties
var sz int
for n < len(s) {
@@ -297,6 +301,8 @@ func (t *Transformer) advance(s []byte) (n int, ok bool) {
}
func (t *Transformer) advanceString(s string) (n int, ok bool) {
+ asciiTableOnce.Do(initASCIITable)
+
var e bidi.Properties
var sz int
for n < len(s) {
diff --git a/vendor/golang.org/x/text/unicode/bidi/core.go b/vendor/golang.org/x/text/unicode/bidi/core.go
index fb8273236..fe5a46ffe 100644
--- a/vendor/golang.org/x/text/unicode/bidi/core.go
+++ b/vendor/golang.org/x/text/unicode/bidi/core.go
@@ -6,7 +6,6 @@ package bidi
import (
"fmt"
- "log"
)
// This implementation is a port based on the reference implementation found at:
@@ -209,27 +208,23 @@ func (p *paragraph) determineMatchingIsolates() {
p.matchingIsolateInitiator[i] = -1
}
+ var open []int
for i := range p.matchingPDI {
p.matchingPDI[i] = -1
- if t := p.resultTypes[i]; t.in(LRI, RLI, FSI) {
- depthCounter := 1
- for j := i + 1; j < p.Len(); j++ {
- if u := p.resultTypes[j]; u.in(LRI, RLI, FSI) {
- depthCounter++
- } else if u == PDI {
- if depthCounter--; depthCounter == 0 {
- p.matchingPDI[i] = j
- p.matchingIsolateInitiator[j] = i
- break
- }
- }
- }
- if p.matchingPDI[i] == -1 {
- p.matchingPDI[i] = p.Len()
- }
+ switch t := p.resultTypes[i]; {
+ case t.in(LRI, RLI, FSI):
+ open = append(open, i)
+ case t == PDI && len(open) > 0:
+ j := open[len(open)-1]
+ open = open[:len(open)-1]
+ p.matchingPDI[j] = i
+ p.matchingIsolateInitiator[i] = j
}
}
+ for _, i := range open {
+ p.matchingPDI[i] = p.Len()
+ }
}
// determineParagraphEmbeddingLevel reports the resolved paragraph direction of
@@ -248,7 +243,7 @@ func (p *paragraph) determineParagraphEmbeddingLevel(start, end int) level {
} else if t.in(FSI, LRI, RLI) {
i = p.matchingPDI[i] // skip over to the matching PDI
if i > end {
- log.Panic("assert (i <= end)")
+ panic("assert (i <= end)")
}
}
}
@@ -497,16 +492,13 @@ func (s *isolatingRunSequence) resolveWeakTypes() {
// Rule W2.
// EN does not change at the start of the run, because sos != AL.
+ lastStrong := unknownClass
for i, t := range s.types {
- if t == EN {
- for j := i - 1; j >= 0; j-- {
- if t := s.types[j]; t.in(L, R, AL) {
- if t == AL {
- s.types[i] = AN
- }
- break
- }
- }
+ switch {
+ case t.in(L, R, AL):
+ lastStrong = t
+ case t == EN && lastStrong == AL:
+ s.types[i] = AN
}
}
@@ -544,29 +536,30 @@ func (s *isolatingRunSequence) resolveWeakTypes() {
}
// Rule W5.
- for i, t := range s.types {
- if t == ET {
- // locate end of sequence
- runStart := i
- runEnd := s.findRunLimit(runStart, ET)
-
- // check values at ends of sequence
- t := s.sos
- if runStart > 0 {
- t = s.types[runStart-1]
- }
- if t != EN {
- t = s.eos
- if runEnd < len(s.types) {
- t = s.types[runEnd]
- }
- }
- if t == EN {
- setTypes(s.types[runStart:runEnd], EN)
+ for i := 0; i < len(s.types); i++ {
+ if s.types[i] != ET {
+ continue
+ }
+ // locate end of sequence
+ runStart := i
+ runEnd := s.findRunLimit(runStart, ET)
+
+ // check values at ends of sequence
+ t := s.sos
+ if runStart > 0 {
+ t = s.types[runStart-1]
+ }
+ if t != EN {
+ t = s.eos
+ if runEnd < len(s.types) {
+ t = s.types[runEnd]
}
- // continue at end of sequence
- i = runEnd
}
+ if t == EN {
+ setTypes(s.types[runStart:runEnd], EN)
+ }
+ // continue at end of sequence
+ i = runEnd
}
// Rule W6.
@@ -577,20 +570,13 @@ func (s *isolatingRunSequence) resolveWeakTypes() {
}
// Rule W7.
+ prevStrongType := s.sos
for i, t := range s.types {
- if t == EN {
- // set default if we reach start of run
- prevStrongType := s.sos
- for j := i - 1; j >= 0; j-- {
- t = s.types[j]
- if t == L || t == R { // AL's have been changed to R
- prevStrongType = t
- break
- }
- }
- if prevStrongType == L {
- s.types[i] = L
- }
+ switch {
+ case t == L || t == R: // AL's have been changed to R
+ prevStrongType = t
+ case t == EN && prevStrongType == L:
+ s.types[i] = L
}
}
}
@@ -729,7 +715,7 @@ loop:
continue loop
}
}
- log.Panicf("invalid bidi code %v present in assertOnly at position %d", t, s.indexes[i])
+ panic(fmt.Errorf("invalid bidi code %v present in assertOnly at position %d", t, s.indexes[i]))
}
}
diff --git a/vendor/golang.org/x/text/unicode/norm/composition.go b/vendor/golang.org/x/text/unicode/norm/composition.go
index e2087bce5..e024e74b9 100644
--- a/vendor/golang.org/x/text/unicode/norm/composition.go
+++ b/vendor/golang.org/x/text/unicode/norm/composition.go
@@ -449,6 +449,16 @@ func (rb *reorderBuffer) combineHangul(s, i, k int) {
// ACxx plus 11Ax to LVT
rb.assignRune(s, l+v-jamoTBase)
default:
+ // Not a Hangul composition. The segment may still
+ // contain regular canonical compositions, such as
+ // combining marks following a Hangul syllable, so
+ // fall back to the composition table.
+ if b[i].combinesBackward() {
+ if combined := combine(l, v); combined != 0 {
+ rb.assignRune(s, combined)
+ continue
+ }
+ }
b[k] = b[i]
k++
}
@@ -484,25 +494,27 @@ func (rb *reorderBuffer) compose() {
return
}
ii := b[i]
+ // Track the last starter unconditionally: b[i] must be blocked by
+ // any starter between it and s, even one that b[i] itself cannot
+ // combine with, and even if the runes in between never enter the
+ // combinesBackward branch below.
+ cccB := b[k-1].ccc
+ cccC := ii.ccc
+ blocked := false // b[i] blocked by starter or greater or equal CCC?
+ if cccB == 0 {
+ s = k - 1
+ } else {
+ blocked = s != k-1 && cccB >= cccC
+ }
// We can only use combineForward as a filter if we later
// get the info for the combined character. This is more
// expensive than using the filter. Using combinesBackward()
// is safe.
- if ii.combinesBackward() {
- cccB := b[k-1].ccc
- cccC := ii.ccc
- blocked := false // b[i] blocked by starter or greater or equal CCC?
- if cccB == 0 {
- s = k - 1
- } else {
- blocked = s != k-1 && cccB >= cccC
- }
- if !blocked {
- combined := combine(rb.runeAt(s), rb.runeAt(i))
- if combined != 0 {
- rb.assignRune(s, combined)
- continue
- }
+ if ii.combinesBackward() && !blocked {
+ combined := combine(rb.runeAt(s), rb.runeAt(i))
+ if combined != 0 {
+ rb.assignRune(s, combined)
+ continue
}
}
b[k] = b[i]
diff --git a/vendor/golang.org/x/text/unicode/norm/forminfo.go b/vendor/golang.org/x/text/unicode/norm/forminfo.go
index f3a234e5f..956708eec 100644
--- a/vendor/golang.org/x/text/unicode/norm/forminfo.go
+++ b/vendor/golang.org/x/text/unicode/norm/forminfo.go
@@ -121,8 +121,12 @@ func (p Properties) BoundaryAfter() bool {
//
// When all 6 bits are zero, the character is inert, meaning it is never
// influenced by normalization.
+//
+// We set flags to 0x80 (high bit 7 unused in quick check data) to indicate an invalid rune.
type qcInfo uint8
+func (p Properties) isInvalid() bool { return p.flags == 0x80 }
+
func (p Properties) isYesC() bool { return p.flags&0x10 == 0 }
func (p Properties) isYesD() bool { return p.flags&0x4 == 0 }
@@ -187,30 +191,30 @@ func (p Properties) TrailCCC() uint8 {
return ccc[p.tccc]
}
+// Recomposition
+// Each entry of recompMapPacked holds the two runes of the key and the
+// composed rune of the value packed into a big-endian uint64 as three
+// 21-bit fields, which is wide enough for any rune.
+// Note that the recomposition map for NFC and NFKC are identical.
+
+const recompShift = 21
+
func buildRecompMap() {
- recompMap = make(map[uint32]rune, len(recompMapPacked)/8)
+ recompMap = make(map[uint64]rune, len(recompMapPacked)/8)
var buf [8]byte
for i := 0; i < len(recompMapPacked); i += 8 {
copy(buf[:], recompMapPacked[i:i+8])
- key := binary.BigEndian.Uint32(buf[:4])
- val := binary.BigEndian.Uint32(buf[4:])
- recompMap[key] = rune(val)
+ e := binary.BigEndian.Uint64(buf[:])
+ recompMap[e>>recompShift] = rune(e & (1<= 0x8000 {
@@ -254,7 +261,7 @@ func compInfo(v uint16, sz int) Properties {
size: uint8(sz),
ccc: uint8(v),
tccc: uint8(v),
- flags: qcInfo(v >> 8),
+ flags: qcInfo(v>>8) & 0x3f,
}
if p.ccc > 0 || p.combinesBackward() {
p.nLead = uint8(p.flags & 0x3)
diff --git a/vendor/golang.org/x/text/unicode/norm/iter.go b/vendor/golang.org/x/text/unicode/norm/iter.go
index 417c6b268..3cc059224 100644
--- a/vendor/golang.org/x/text/unicode/norm/iter.go
+++ b/vendor/golang.org/x/text/unicode/norm/iter.go
@@ -376,16 +376,12 @@ func nextComposed(i *Iter) []byte {
goto doNorm
}
prevCC = i.info.tccc
- sz := int(i.info.size)
- if sz == 0 {
- sz = 1 // illegal rune: copy byte-by-byte
- }
- p := outp + sz
+ p := outp + int(i.info.size)
if p > len(i.buf) {
break
}
outp = p
- i.p += sz
+ i.p += int(i.info.size)
if i.p >= i.rb.nsrc {
i.setDone()
break
diff --git a/vendor/golang.org/x/text/unicode/norm/normalize.go b/vendor/golang.org/x/text/unicode/norm/normalize.go
index 4747ad07a..d7345ab39 100644
--- a/vendor/golang.org/x/text/unicode/norm/normalize.go
+++ b/vendor/golang.org/x/text/unicode/norm/normalize.go
@@ -148,7 +148,7 @@ func (f Form) IsNormalString(s string) bool {
// patched buffer and whether the decomposition is still in progress.
func patchTail(rb *reorderBuffer) bool {
info, p := lastRuneStart(&rb.f, rb.out)
- if p == -1 || info.size == 0 {
+ if p == -1 || info.isInvalid() {
return true
}
end := p + int(info.size)
@@ -225,7 +225,7 @@ func doAppend(rb *reorderBuffer, out []byte, p int) []byte {
}
fd := &rb.f
if doMerge {
- var info Properties
+ info := Properties{flags: 0x80, size: 1} // invalid rune
if p < n {
info = fd.info(src, p)
if !info.BoundaryBefore() || info.nLeadingNonStarters() > 0 {
@@ -235,7 +235,7 @@ func doAppend(rb *reorderBuffer, out []byte, p int) []byte {
p = decomposeSegment(rb, p, true)
}
}
- if info.size == 0 {
+ if info.isInvalid() {
rb.doFlush()
// Append incomplete UTF-8 encoding.
return src.appendSlice(rb.out, p, n)
@@ -314,7 +314,7 @@ func (f *formInfo) quickSpan(src input, i, end int, atEOF bool) (n int, ok bool)
continue
}
info := f.info(src, i)
- if info.size == 0 {
+ if info.isInvalid() {
if atEOF {
// include incomplete runes
return n, true
@@ -379,7 +379,7 @@ func (f Form) firstBoundary(src input, nsrc int) int {
// CGJ insertion points correctly. Luckily it doesn't have to.
for {
info := fd.info(src, i)
- if info.size == 0 {
+ if info.isInvalid() {
return -1
}
if s := ss.next(info); s != ssSuccess {
@@ -424,7 +424,7 @@ func (f Form) nextBoundary(src input, nsrc int, atEOF bool) int {
}
fd := formTable[f]
info := fd.info(src, 0)
- if info.size == 0 {
+ if info.isInvalid() {
if atEOF {
return 1
}
@@ -435,7 +435,7 @@ func (f Form) nextBoundary(src input, nsrc int, atEOF bool) int {
for i := int(info.size); i < nsrc; i += int(info.size) {
info = fd.info(src, i)
- if info.size == 0 {
+ if info.isInvalid() {
if atEOF {
return i
}
@@ -465,7 +465,7 @@ func lastBoundary(fd *formInfo, b []byte) int {
if p == -1 {
return -1
}
- if info.size == 0 { // ends with incomplete rune
+ if info.isInvalid() { // ends with incomplete rune
if p == 0 { // starts with incomplete rune
return -1
}
@@ -504,8 +504,11 @@ func lastBoundary(fd *formInfo, b []byte) int {
func decomposeSegment(rb *reorderBuffer, sp int, atEOF bool) int {
// Force one character to be consumed.
info := rb.f.info(rb.src, sp)
- if info.size == 0 {
- return 0
+ if info.isInvalid() {
+ // Consume the invalid character.
+ // Perhaps this should return iShortSrc instead?
+ // May not matter, this path does not appear to be reachable in practice.
+ return sp + 1
}
if s := rb.ss.next(info); s == ssStarter {
// TODO: this could be removed if we don't support merging.
@@ -528,7 +531,7 @@ func decomposeSegment(rb *reorderBuffer, sp int, atEOF bool) int {
break
}
info = rb.f.info(rb.src, sp)
- if info.size == 0 {
+ if info.isInvalid() {
if !atEOF {
return int(iShortSrc)
}
diff --git a/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
index d9623241c..c30c6f7bf 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
@@ -6958,950 +6958,950 @@ var nfkcSparseValues = [919]valueRange{
}
// recompMap: 7528 bytes (entries only)
-var recompMap map[uint32]rune
+var recompMap map[uint64]rune
var recompMapOnce sync.Once
const recompMapPacked = "" +
- "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0
- "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1
- "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2
- "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3
- "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4
- "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5
- "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7
- "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8
- "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9
- "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA
- "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB
- "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC
- "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD
- "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE
- "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF
- "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1
- "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2
- "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3
- "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4
- "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5
- "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6
- "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9
- "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA
- "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB
- "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC
- "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD
- "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0
- "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1
- "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2
- "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3
- "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4
- "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5
- "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7
- "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8
- "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9
- "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA
- "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB
- "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC
- "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED
- "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE
- "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF
- "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1
- "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2
- "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3
- "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4
- "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5
- "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6
- "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9
- "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA
- "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB
- "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC
- "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD
- "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF
- "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100
- "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101
- "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102
- "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103
- "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104
- "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105
- "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106
- "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107
- "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108
- "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109
- "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A
- "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B
- "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C
- "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D
- "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E
- "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F
- "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112
- "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113
- "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114
- "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115
- "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116
- "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117
- "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118
- "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119
- "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A
- "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B
- "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C
- "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D
- "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E
- "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F
- "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120
- "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121
- "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122
- "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123
- "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124
- "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125
- "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128
- "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129
- "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A
- "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B
- "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C
- "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D
- "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E
- "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F
- "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130
- "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134
- "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135
- "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136
- "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137
- "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139
- "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A
- "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B
- "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C
- "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D
- "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E
- "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143
- "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144
- "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145
- "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146
- "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147
- "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148
- "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C
- "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D
- "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E
- "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F
- "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150
- "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151
- "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154
- "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155
- "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156
- "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157
- "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158
- "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159
- "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A
- "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B
- "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C
- "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D
- "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E
- "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F
- "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160
- "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161
- "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162
- "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163
- "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164
- "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165
- "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168
- "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169
- "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A
- "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B
- "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C
- "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D
- "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E
- "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F
- "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170
- "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171
- "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172
- "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173
- "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174
- "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175
- "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176
- "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177
- "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178
- "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179
- "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A
- "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B
- "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C
- "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D
- "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E
- "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0
- "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1
- "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF
- "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0
- "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD
- "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE
- "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF
- "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0
- "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1
- "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2
- "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3
- "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4
- "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5
- "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6
- "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7
- "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8
- "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9
- "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA
- "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB
- "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC
- "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE
- "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF
- "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0
- "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1
- "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2
- "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3
- "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6
- "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7
- "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8
- "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9
- "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA
- "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB
- "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC
- "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED
- "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE
- "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF
- "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0
- "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4
- "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5
- "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8
- "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9
- "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA
- "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB
- "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC
- "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD
- "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE
- "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF
- "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200
- "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201
- "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202
- "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203
- "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204
- "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205
- "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206
- "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207
- "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208
- "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209
- "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A
- "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B
- "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C
- "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D
- "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E
- "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F
- "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210
- "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211
- "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212
- "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213
- "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214
- "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215
- "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216
- "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217
- "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218
- "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219
- "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A
- "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B
- "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E
- "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F
- "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226
- "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227
- "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228
- "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229
- "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A
- "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B
- "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C
- "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D
- "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E
- "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F
- "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230
- "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231
- "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232
- "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233
- "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385
- "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386
- "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388
- "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389
- "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A
- "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C
- "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E
- "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F
- "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390
- "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA
- "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB
- "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC
- "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD
- "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE
- "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF
- "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0
- "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA
- "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB
- "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC
- "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD
- "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE
- "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3
- "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4
- "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400
- "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401
- "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403
- "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407
- "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C
- "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D
- "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E
- "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419
- "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439
- "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450
- "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451
- "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453
- "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457
- "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C
- "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D
- "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E
- "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476
- "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477
- "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1
- "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2
- "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0
- "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1
- "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2
- "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3
- "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6
- "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7
- "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA
- "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB
- "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC
- "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD
- "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE
- "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF
- "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2
- "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3
- "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4
- "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5
- "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6
- "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7
- "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA
- "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB
- "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC
- "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED
- "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE
- "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF
- "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0
- "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1
- "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2
- "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3
- "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4
- "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5
- "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8
- "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9
- "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622
- "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623
- "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624
- "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625
- "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626
- "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0
- "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2
- "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3
- "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929
- "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931
- "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934
- "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB
- "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC
- "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48
- "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B
- "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C
- "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94
- "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA
- "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB
- "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC
- "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48
- "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0
- "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7
- "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8
- "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA
- "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB
- "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A
- "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B
- "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C
- "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA
- "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC
- "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD
- "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE
- "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026
- "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06
- "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08
- "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A
- "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C
- "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E
- "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12
- "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B
- "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D
- "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40
- "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41
- "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43
- "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00
- "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01
- "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02
- "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03
- "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04
- "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05
- "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06
- "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07
- "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08
- "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09
- "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A
- "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B
- "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C
- "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D
- "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E
- "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F
- "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10
- "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11
- "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12
- "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13
- "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14
- "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15
- "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16
- "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17
- "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18
- "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19
- "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A
- "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B
- "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C
- "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D
- "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E
- "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F
- "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20
- "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21
- "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22
- "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23
- "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24
- "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25
- "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26
- "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27
- "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28
- "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29
- "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A
- "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B
- "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C
- "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D
- "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E
- "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F
- "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30
- "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31
- "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32
- "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33
- "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34
- "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35
- "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36
- "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37
- "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38
- "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39
- "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A
- "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B
- "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C
- "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D
- "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E
- "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F
- "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40
- "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41
- "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42
- "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43
- "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44
- "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45
- "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46
- "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47
- "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48
- "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49
- "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A
- "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B
- "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C
- "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D
- "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E
- "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F
- "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50
- "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51
- "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52
- "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53
- "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54
- "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55
- "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56
- "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57
- "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58
- "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59
- "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A
- "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B
- "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C
- "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D
- "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E
- "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F
- "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60
- "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61
- "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62
- "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63
- "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64
- "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65
- "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66
- "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67
- "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68
- "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69
- "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A
- "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B
- "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C
- "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D
- "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E
- "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F
- "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70
- "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71
- "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72
- "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73
- "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74
- "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75
- "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76
- "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77
- "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78
- "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79
- "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A
- "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B
- "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C
- "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D
- "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E
- "\x00v\x03#\x00\x00\x1e\x7f" + // 0x00760323: 0x00001E7F
- "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80
- "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81
- "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82
- "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83
- "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84
- "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85
- "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86
- "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87
- "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88
- "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89
- "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A
- "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B
- "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C
- "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D
- "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E
- "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F
- "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90
- "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91
- "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92
- "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93
- "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94
- "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95
- "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96
- "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97
- "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98
- "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99
- "\x01\x7f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B
- "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0
- "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1
- "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2
- "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3
- "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4
- "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5
- "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6
- "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7
- "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8
- "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9
- "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA
- "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB
- "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC
- "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD
- "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE
- "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF
- "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0
- "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1
- "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2
- "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3
- "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4
- "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5
- "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6
- "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7
- "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8
- "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9
- "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA
- "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB
- "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC
- "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD
- "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE
- "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF
- "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0
- "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1
- "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2
- "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3
- "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4
- "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5
- "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6
- "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7
- "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8
- "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9
- "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA
- "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB
- "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC
- "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD
- "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE
- "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF
- "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0
- "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1
- "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2
- "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3
- "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4
- "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5
- "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6
- "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7
- "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8
- "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9
- "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA
- "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB
- "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC
- "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD
- "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE
- "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF
- "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0
- "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1
- "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2
- "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3
- "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4
- "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5
- "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6
- "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7
- "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8
- "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9
- "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA
- "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB
- "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC
- "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED
- "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE
- "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF
- "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0
- "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1
- "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2
- "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3
- "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4
- "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5
- "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6
- "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7
- "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8
- "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9
- "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00
- "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01
- "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02
- "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03
- "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04
- "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05
- "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06
- "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07
- "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08
- "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09
- "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A
- "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B
- "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C
- "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D
- "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E
- "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F
- "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10
- "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11
- "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12
- "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13
- "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14
- "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15
- "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18
- "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19
- "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A
- "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B
- "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C
- "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D
- "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20
- "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21
- "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22
- "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23
- "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24
- "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25
- "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26
- "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27
- "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28
- "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29
- "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A
- "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B
- "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C
- "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D
- "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E
- "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F
- "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30
- "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31
- "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32
- "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33
- "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34
- "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35
- "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36
- "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37
- "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38
- "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39
- "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A
- "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B
- "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C
- "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D
- "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E
- "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F
- "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40
- "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41
- "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42
- "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43
- "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44
- "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45
- "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48
- "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49
- "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A
- "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B
- "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C
- "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D
- "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50
- "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51
- "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52
- "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53
- "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54
- "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55
- "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56
- "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57
- "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59
- "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B
- "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D
- "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F
- "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60
- "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61
- "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62
- "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63
- "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64
- "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65
- "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66
- "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67
- "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68
- "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69
- "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A
- "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B
- "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C
- "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D
- "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E
- "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F
- "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70
- "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72
- "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74
- "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76
- "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78
- "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A
- "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C
- "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80
- "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81
- "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82
- "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83
- "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84
- "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85
- "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86
- "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87
- "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88
- "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89
- "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A
- "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B
- "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C
- "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D
- "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E
- "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F
- "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90
- "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91
- "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92
- "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93
- "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94
- "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95
- "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96
- "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97
- "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98
- "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99
- "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A
- "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B
- "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C
- "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D
- "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E
- "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F
- "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0
- "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1
- "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2
- "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3
- "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4
- "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5
- "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6
- "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7
- "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8
- "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9
- "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA
- "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB
- "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC
- "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD
- "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE
- "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF
- "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0
- "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1
- "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2
- "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3
- "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4
- "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6
- "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7
- "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8
- "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9
- "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA
- "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC
- "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1
- "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2
- "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3
- "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4
- "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6
- "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7
- "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8
- "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA
- "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC
- "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD
- "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE
- "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF
- "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0
- "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1
- "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2
- "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6
- "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7
- "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8
- "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9
- "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA
- "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD
- "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE
- "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF
- "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0
- "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1
- "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2
- "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4
- "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5
- "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6
- "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7
- "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8
- "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9
- "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA
- "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC
- "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED
- "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2
- "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3
- "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4
- "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6
- "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7
- "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8
- "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA
- "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC
- "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A
- "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B
- "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE
- "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD
- "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE
- "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF
- "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204
- "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209
- "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C
- "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224
- "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226
- "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241
- "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244
- "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247
- "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249
- "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260
- "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262
- "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D
- "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E
- "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F
- "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270
- "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271
- "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274
- "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275
- "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278
- "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279
- "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280
- "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281
- "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284
- "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285
- "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288
- "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289
- "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC
- "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD
- "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE
- "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF
- "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0
- "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1
- "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2
- "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3
- "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA
- "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB
- "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC
- "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED
- "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C
- "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E
- "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050
- "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052
- "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054
- "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056
- "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058
- "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A
- "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C
- "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E
- "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060
- "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062
- "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065
- "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067
- "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069
- "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070
- "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071
- "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073
- "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074
- "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076
- "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077
- "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079
- "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A
- "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C
- "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D
- "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094
- "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E
- "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC
- "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE
- "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0
- "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2
- "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4
- "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6
- "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8
- "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA
- "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC
- "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE
- "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0
- "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2
- "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5
- "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7
- "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9
- "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0
- "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1
- "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3
- "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4
- "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6
- "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7
- "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9
- "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA
- "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC
- "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD
- "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4
- "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7
- "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8
- "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9
- "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA
- "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE
- "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A
- "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C
- "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB
- "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E
- "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F
- "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B
- "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C
- "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB
- "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC
- "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE
- "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA
- "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB
- "\x195\x190\x00\x01\x198" + // 0x19351930: 0x00011938
+ "\x00\x01\x04\x00`\x00\x00\xc0" + // 0x00041 0x00300: 0x000C0
+ "\x00\x01\x04\x00` \x00\xc1" + // 0x00041 0x00301: 0x000C1
+ "\x00\x01\x04\x00`@\x00\xc2" + // 0x00041 0x00302: 0x000C2
+ "\x00\x01\x04\x00``\x00\xc3" + // 0x00041 0x00303: 0x000C3
+ "\x00\x01\x04\x00a\x00\x00\xc4" + // 0x00041 0x00308: 0x000C4
+ "\x00\x01\x04\x00a@\x00\xc5" + // 0x00041 0x0030A: 0x000C5
+ "\x00\x01\f\x00d\xe0\x00\xc7" + // 0x00043 0x00327: 0x000C7
+ "\x00\x01\x14\x00`\x00\x00\xc8" + // 0x00045 0x00300: 0x000C8
+ "\x00\x01\x14\x00` \x00\xc9" + // 0x00045 0x00301: 0x000C9
+ "\x00\x01\x14\x00`@\x00\xca" + // 0x00045 0x00302: 0x000CA
+ "\x00\x01\x14\x00a\x00\x00\xcb" + // 0x00045 0x00308: 0x000CB
+ "\x00\x01$\x00`\x00\x00\xcc" + // 0x00049 0x00300: 0x000CC
+ "\x00\x01$\x00` \x00\xcd" + // 0x00049 0x00301: 0x000CD
+ "\x00\x01$\x00`@\x00\xce" + // 0x00049 0x00302: 0x000CE
+ "\x00\x01$\x00a\x00\x00\xcf" + // 0x00049 0x00308: 0x000CF
+ "\x00\x018\x00``\x00\xd1" + // 0x0004E 0x00303: 0x000D1
+ "\x00\x01<\x00`\x00\x00\xd2" + // 0x0004F 0x00300: 0x000D2
+ "\x00\x01<\x00` \x00\xd3" + // 0x0004F 0x00301: 0x000D3
+ "\x00\x01<\x00`@\x00\xd4" + // 0x0004F 0x00302: 0x000D4
+ "\x00\x01<\x00``\x00\xd5" + // 0x0004F 0x00303: 0x000D5
+ "\x00\x01<\x00a\x00\x00\xd6" + // 0x0004F 0x00308: 0x000D6
+ "\x00\x01T\x00`\x00\x00\xd9" + // 0x00055 0x00300: 0x000D9
+ "\x00\x01T\x00` \x00\xda" + // 0x00055 0x00301: 0x000DA
+ "\x00\x01T\x00`@\x00\xdb" + // 0x00055 0x00302: 0x000DB
+ "\x00\x01T\x00a\x00\x00\xdc" + // 0x00055 0x00308: 0x000DC
+ "\x00\x01d\x00` \x00\xdd" + // 0x00059 0x00301: 0x000DD
+ "\x00\x01\x84\x00`\x00\x00\xe0" + // 0x00061 0x00300: 0x000E0
+ "\x00\x01\x84\x00` \x00\xe1" + // 0x00061 0x00301: 0x000E1
+ "\x00\x01\x84\x00`@\x00\xe2" + // 0x00061 0x00302: 0x000E2
+ "\x00\x01\x84\x00``\x00\xe3" + // 0x00061 0x00303: 0x000E3
+ "\x00\x01\x84\x00a\x00\x00\xe4" + // 0x00061 0x00308: 0x000E4
+ "\x00\x01\x84\x00a@\x00\xe5" + // 0x00061 0x0030A: 0x000E5
+ "\x00\x01\x8c\x00d\xe0\x00\xe7" + // 0x00063 0x00327: 0x000E7
+ "\x00\x01\x94\x00`\x00\x00\xe8" + // 0x00065 0x00300: 0x000E8
+ "\x00\x01\x94\x00` \x00\xe9" + // 0x00065 0x00301: 0x000E9
+ "\x00\x01\x94\x00`@\x00\xea" + // 0x00065 0x00302: 0x000EA
+ "\x00\x01\x94\x00a\x00\x00\xeb" + // 0x00065 0x00308: 0x000EB
+ "\x00\x01\xa4\x00`\x00\x00\xec" + // 0x00069 0x00300: 0x000EC
+ "\x00\x01\xa4\x00` \x00\xed" + // 0x00069 0x00301: 0x000ED
+ "\x00\x01\xa4\x00`@\x00\xee" + // 0x00069 0x00302: 0x000EE
+ "\x00\x01\xa4\x00a\x00\x00\xef" + // 0x00069 0x00308: 0x000EF
+ "\x00\x01\xb8\x00``\x00\xf1" + // 0x0006E 0x00303: 0x000F1
+ "\x00\x01\xbc\x00`\x00\x00\xf2" + // 0x0006F 0x00300: 0x000F2
+ "\x00\x01\xbc\x00` \x00\xf3" + // 0x0006F 0x00301: 0x000F3
+ "\x00\x01\xbc\x00`@\x00\xf4" + // 0x0006F 0x00302: 0x000F4
+ "\x00\x01\xbc\x00``\x00\xf5" + // 0x0006F 0x00303: 0x000F5
+ "\x00\x01\xbc\x00a\x00\x00\xf6" + // 0x0006F 0x00308: 0x000F6
+ "\x00\x01\xd4\x00`\x00\x00\xf9" + // 0x00075 0x00300: 0x000F9
+ "\x00\x01\xd4\x00` \x00\xfa" + // 0x00075 0x00301: 0x000FA
+ "\x00\x01\xd4\x00`@\x00\xfb" + // 0x00075 0x00302: 0x000FB
+ "\x00\x01\xd4\x00a\x00\x00\xfc" + // 0x00075 0x00308: 0x000FC
+ "\x00\x01\xe4\x00` \x00\xfd" + // 0x00079 0x00301: 0x000FD
+ "\x00\x01\xe4\x00a\x00\x00\xff" + // 0x00079 0x00308: 0x000FF
+ "\x00\x01\x04\x00`\x80\x01\x00" + // 0x00041 0x00304: 0x00100
+ "\x00\x01\x84\x00`\x80\x01\x01" + // 0x00061 0x00304: 0x00101
+ "\x00\x01\x04\x00`\xc0\x01\x02" + // 0x00041 0x00306: 0x00102
+ "\x00\x01\x84\x00`\xc0\x01\x03" + // 0x00061 0x00306: 0x00103
+ "\x00\x01\x04\x00e\x00\x01\x04" + // 0x00041 0x00328: 0x00104
+ "\x00\x01\x84\x00e\x00\x01\x05" + // 0x00061 0x00328: 0x00105
+ "\x00\x01\f\x00` \x01\x06" + // 0x00043 0x00301: 0x00106
+ "\x00\x01\x8c\x00` \x01\a" + // 0x00063 0x00301: 0x00107
+ "\x00\x01\f\x00`@\x01\b" + // 0x00043 0x00302: 0x00108
+ "\x00\x01\x8c\x00`@\x01\t" + // 0x00063 0x00302: 0x00109
+ "\x00\x01\f\x00`\xe0\x01\n" + // 0x00043 0x00307: 0x0010A
+ "\x00\x01\x8c\x00`\xe0\x01\v" + // 0x00063 0x00307: 0x0010B
+ "\x00\x01\f\x00a\x80\x01\f" + // 0x00043 0x0030C: 0x0010C
+ "\x00\x01\x8c\x00a\x80\x01\r" + // 0x00063 0x0030C: 0x0010D
+ "\x00\x01\x10\x00a\x80\x01\x0e" + // 0x00044 0x0030C: 0x0010E
+ "\x00\x01\x90\x00a\x80\x01\x0f" + // 0x00064 0x0030C: 0x0010F
+ "\x00\x01\x14\x00`\x80\x01\x12" + // 0x00045 0x00304: 0x00112
+ "\x00\x01\x94\x00`\x80\x01\x13" + // 0x00065 0x00304: 0x00113
+ "\x00\x01\x14\x00`\xc0\x01\x14" + // 0x00045 0x00306: 0x00114
+ "\x00\x01\x94\x00`\xc0\x01\x15" + // 0x00065 0x00306: 0x00115
+ "\x00\x01\x14\x00`\xe0\x01\x16" + // 0x00045 0x00307: 0x00116
+ "\x00\x01\x94\x00`\xe0\x01\x17" + // 0x00065 0x00307: 0x00117
+ "\x00\x01\x14\x00e\x00\x01\x18" + // 0x00045 0x00328: 0x00118
+ "\x00\x01\x94\x00e\x00\x01\x19" + // 0x00065 0x00328: 0x00119
+ "\x00\x01\x14\x00a\x80\x01\x1a" + // 0x00045 0x0030C: 0x0011A
+ "\x00\x01\x94\x00a\x80\x01\x1b" + // 0x00065 0x0030C: 0x0011B
+ "\x00\x01\x1c\x00`@\x01\x1c" + // 0x00047 0x00302: 0x0011C
+ "\x00\x01\x9c\x00`@\x01\x1d" + // 0x00067 0x00302: 0x0011D
+ "\x00\x01\x1c\x00`\xc0\x01\x1e" + // 0x00047 0x00306: 0x0011E
+ "\x00\x01\x9c\x00`\xc0\x01\x1f" + // 0x00067 0x00306: 0x0011F
+ "\x00\x01\x1c\x00`\xe0\x01 " + // 0x00047 0x00307: 0x00120
+ "\x00\x01\x9c\x00`\xe0\x01!" + // 0x00067 0x00307: 0x00121
+ "\x00\x01\x1c\x00d\xe0\x01\"" + // 0x00047 0x00327: 0x00122
+ "\x00\x01\x9c\x00d\xe0\x01#" + // 0x00067 0x00327: 0x00123
+ "\x00\x01 \x00`@\x01$" + // 0x00048 0x00302: 0x00124
+ "\x00\x01\xa0\x00`@\x01%" + // 0x00068 0x00302: 0x00125
+ "\x00\x01$\x00``\x01(" + // 0x00049 0x00303: 0x00128
+ "\x00\x01\xa4\x00``\x01)" + // 0x00069 0x00303: 0x00129
+ "\x00\x01$\x00`\x80\x01*" + // 0x00049 0x00304: 0x0012A
+ "\x00\x01\xa4\x00`\x80\x01+" + // 0x00069 0x00304: 0x0012B
+ "\x00\x01$\x00`\xc0\x01," + // 0x00049 0x00306: 0x0012C
+ "\x00\x01\xa4\x00`\xc0\x01-" + // 0x00069 0x00306: 0x0012D
+ "\x00\x01$\x00e\x00\x01." + // 0x00049 0x00328: 0x0012E
+ "\x00\x01\xa4\x00e\x00\x01/" + // 0x00069 0x00328: 0x0012F
+ "\x00\x01$\x00`\xe0\x010" + // 0x00049 0x00307: 0x00130
+ "\x00\x01(\x00`@\x014" + // 0x0004A 0x00302: 0x00134
+ "\x00\x01\xa8\x00`@\x015" + // 0x0006A 0x00302: 0x00135
+ "\x00\x01,\x00d\xe0\x016" + // 0x0004B 0x00327: 0x00136
+ "\x00\x01\xac\x00d\xe0\x017" + // 0x0006B 0x00327: 0x00137
+ "\x00\x010\x00` \x019" + // 0x0004C 0x00301: 0x00139
+ "\x00\x01\xb0\x00` \x01:" + // 0x0006C 0x00301: 0x0013A
+ "\x00\x010\x00d\xe0\x01;" + // 0x0004C 0x00327: 0x0013B
+ "\x00\x01\xb0\x00d\xe0\x01<" + // 0x0006C 0x00327: 0x0013C
+ "\x00\x010\x00a\x80\x01=" + // 0x0004C 0x0030C: 0x0013D
+ "\x00\x01\xb0\x00a\x80\x01>" + // 0x0006C 0x0030C: 0x0013E
+ "\x00\x018\x00` \x01C" + // 0x0004E 0x00301: 0x00143
+ "\x00\x01\xb8\x00` \x01D" + // 0x0006E 0x00301: 0x00144
+ "\x00\x018\x00d\xe0\x01E" + // 0x0004E 0x00327: 0x00145
+ "\x00\x01\xb8\x00d\xe0\x01F" + // 0x0006E 0x00327: 0x00146
+ "\x00\x018\x00a\x80\x01G" + // 0x0004E 0x0030C: 0x00147
+ "\x00\x01\xb8\x00a\x80\x01H" + // 0x0006E 0x0030C: 0x00148
+ "\x00\x01<\x00`\x80\x01L" + // 0x0004F 0x00304: 0x0014C
+ "\x00\x01\xbc\x00`\x80\x01M" + // 0x0006F 0x00304: 0x0014D
+ "\x00\x01<\x00`\xc0\x01N" + // 0x0004F 0x00306: 0x0014E
+ "\x00\x01\xbc\x00`\xc0\x01O" + // 0x0006F 0x00306: 0x0014F
+ "\x00\x01<\x00a`\x01P" + // 0x0004F 0x0030B: 0x00150
+ "\x00\x01\xbc\x00a`\x01Q" + // 0x0006F 0x0030B: 0x00151
+ "\x00\x01H\x00` \x01T" + // 0x00052 0x00301: 0x00154
+ "\x00\x01\xc8\x00` \x01U" + // 0x00072 0x00301: 0x00155
+ "\x00\x01H\x00d\xe0\x01V" + // 0x00052 0x00327: 0x00156
+ "\x00\x01\xc8\x00d\xe0\x01W" + // 0x00072 0x00327: 0x00157
+ "\x00\x01H\x00a\x80\x01X" + // 0x00052 0x0030C: 0x00158
+ "\x00\x01\xc8\x00a\x80\x01Y" + // 0x00072 0x0030C: 0x00159
+ "\x00\x01L\x00` \x01Z" + // 0x00053 0x00301: 0x0015A
+ "\x00\x01\xcc\x00` \x01[" + // 0x00073 0x00301: 0x0015B
+ "\x00\x01L\x00`@\x01\\" + // 0x00053 0x00302: 0x0015C
+ "\x00\x01\xcc\x00`@\x01]" + // 0x00073 0x00302: 0x0015D
+ "\x00\x01L\x00d\xe0\x01^" + // 0x00053 0x00327: 0x0015E
+ "\x00\x01\xcc\x00d\xe0\x01_" + // 0x00073 0x00327: 0x0015F
+ "\x00\x01L\x00a\x80\x01`" + // 0x00053 0x0030C: 0x00160
+ "\x00\x01\xcc\x00a\x80\x01a" + // 0x00073 0x0030C: 0x00161
+ "\x00\x01P\x00d\xe0\x01b" + // 0x00054 0x00327: 0x00162
+ "\x00\x01\xd0\x00d\xe0\x01c" + // 0x00074 0x00327: 0x00163
+ "\x00\x01P\x00a\x80\x01d" + // 0x00054 0x0030C: 0x00164
+ "\x00\x01\xd0\x00a\x80\x01e" + // 0x00074 0x0030C: 0x00165
+ "\x00\x01T\x00``\x01h" + // 0x00055 0x00303: 0x00168
+ "\x00\x01\xd4\x00``\x01i" + // 0x00075 0x00303: 0x00169
+ "\x00\x01T\x00`\x80\x01j" + // 0x00055 0x00304: 0x0016A
+ "\x00\x01\xd4\x00`\x80\x01k" + // 0x00075 0x00304: 0x0016B
+ "\x00\x01T\x00`\xc0\x01l" + // 0x00055 0x00306: 0x0016C
+ "\x00\x01\xd4\x00`\xc0\x01m" + // 0x00075 0x00306: 0x0016D
+ "\x00\x01T\x00a@\x01n" + // 0x00055 0x0030A: 0x0016E
+ "\x00\x01\xd4\x00a@\x01o" + // 0x00075 0x0030A: 0x0016F
+ "\x00\x01T\x00a`\x01p" + // 0x00055 0x0030B: 0x00170
+ "\x00\x01\xd4\x00a`\x01q" + // 0x00075 0x0030B: 0x00171
+ "\x00\x01T\x00e\x00\x01r" + // 0x00055 0x00328: 0x00172
+ "\x00\x01\xd4\x00e\x00\x01s" + // 0x00075 0x00328: 0x00173
+ "\x00\x01\\\x00`@\x01t" + // 0x00057 0x00302: 0x00174
+ "\x00\x01\xdc\x00`@\x01u" + // 0x00077 0x00302: 0x00175
+ "\x00\x01d\x00`@\x01v" + // 0x00059 0x00302: 0x00176
+ "\x00\x01\xe4\x00`@\x01w" + // 0x00079 0x00302: 0x00177
+ "\x00\x01d\x00a\x00\x01x" + // 0x00059 0x00308: 0x00178
+ "\x00\x01h\x00` \x01y" + // 0x0005A 0x00301: 0x00179
+ "\x00\x01\xe8\x00` \x01z" + // 0x0007A 0x00301: 0x0017A
+ "\x00\x01h\x00`\xe0\x01{" + // 0x0005A 0x00307: 0x0017B
+ "\x00\x01\xe8\x00`\xe0\x01|" + // 0x0007A 0x00307: 0x0017C
+ "\x00\x01h\x00a\x80\x01}" + // 0x0005A 0x0030C: 0x0017D
+ "\x00\x01\xe8\x00a\x80\x01~" + // 0x0007A 0x0030C: 0x0017E
+ "\x00\x01<\x00c`\x01\xa0" + // 0x0004F 0x0031B: 0x001A0
+ "\x00\x01\xbc\x00c`\x01\xa1" + // 0x0006F 0x0031B: 0x001A1
+ "\x00\x01T\x00c`\x01\xaf" + // 0x00055 0x0031B: 0x001AF
+ "\x00\x01\xd4\x00c`\x01\xb0" + // 0x00075 0x0031B: 0x001B0
+ "\x00\x01\x04\x00a\x80\x01\xcd" + // 0x00041 0x0030C: 0x001CD
+ "\x00\x01\x84\x00a\x80\x01\xce" + // 0x00061 0x0030C: 0x001CE
+ "\x00\x01$\x00a\x80\x01\xcf" + // 0x00049 0x0030C: 0x001CF
+ "\x00\x01\xa4\x00a\x80\x01\xd0" + // 0x00069 0x0030C: 0x001D0
+ "\x00\x01<\x00a\x80\x01\xd1" + // 0x0004F 0x0030C: 0x001D1
+ "\x00\x01\xbc\x00a\x80\x01\xd2" + // 0x0006F 0x0030C: 0x001D2
+ "\x00\x01T\x00a\x80\x01\xd3" + // 0x00055 0x0030C: 0x001D3
+ "\x00\x01\xd4\x00a\x80\x01\xd4" + // 0x00075 0x0030C: 0x001D4
+ "\x00\x03p\x00`\x80\x01\xd5" + // 0x000DC 0x00304: 0x001D5
+ "\x00\x03\xf0\x00`\x80\x01\xd6" + // 0x000FC 0x00304: 0x001D6
+ "\x00\x03p\x00` \x01\xd7" + // 0x000DC 0x00301: 0x001D7
+ "\x00\x03\xf0\x00` \x01\xd8" + // 0x000FC 0x00301: 0x001D8
+ "\x00\x03p\x00a\x80\x01\xd9" + // 0x000DC 0x0030C: 0x001D9
+ "\x00\x03\xf0\x00a\x80\x01\xda" + // 0x000FC 0x0030C: 0x001DA
+ "\x00\x03p\x00`\x00\x01\xdb" + // 0x000DC 0x00300: 0x001DB
+ "\x00\x03\xf0\x00`\x00\x01\xdc" + // 0x000FC 0x00300: 0x001DC
+ "\x00\x03\x10\x00`\x80\x01\xde" + // 0x000C4 0x00304: 0x001DE
+ "\x00\x03\x90\x00`\x80\x01\xdf" + // 0x000E4 0x00304: 0x001DF
+ "\x00\b\x98\x00`\x80\x01\xe0" + // 0x00226 0x00304: 0x001E0
+ "\x00\b\x9c\x00`\x80\x01\xe1" + // 0x00227 0x00304: 0x001E1
+ "\x00\x03\x18\x00`\x80\x01\xe2" + // 0x000C6 0x00304: 0x001E2
+ "\x00\x03\x98\x00`\x80\x01\xe3" + // 0x000E6 0x00304: 0x001E3
+ "\x00\x01\x1c\x00a\x80\x01\xe6" + // 0x00047 0x0030C: 0x001E6
+ "\x00\x01\x9c\x00a\x80\x01\xe7" + // 0x00067 0x0030C: 0x001E7
+ "\x00\x01,\x00a\x80\x01\xe8" + // 0x0004B 0x0030C: 0x001E8
+ "\x00\x01\xac\x00a\x80\x01\xe9" + // 0x0006B 0x0030C: 0x001E9
+ "\x00\x01<\x00e\x00\x01\xea" + // 0x0004F 0x00328: 0x001EA
+ "\x00\x01\xbc\x00e\x00\x01\xeb" + // 0x0006F 0x00328: 0x001EB
+ "\x00\a\xa8\x00`\x80\x01\xec" + // 0x001EA 0x00304: 0x001EC
+ "\x00\a\xac\x00`\x80\x01\xed" + // 0x001EB 0x00304: 0x001ED
+ "\x00\x06\xdc\x00a\x80\x01\xee" + // 0x001B7 0x0030C: 0x001EE
+ "\x00\nH\x00a\x80\x01\xef" + // 0x00292 0x0030C: 0x001EF
+ "\x00\x01\xa8\x00a\x80\x01\xf0" + // 0x0006A 0x0030C: 0x001F0
+ "\x00\x01\x1c\x00` \x01\xf4" + // 0x00047 0x00301: 0x001F4
+ "\x00\x01\x9c\x00` \x01\xf5" + // 0x00067 0x00301: 0x001F5
+ "\x00\x018\x00`\x00\x01\xf8" + // 0x0004E 0x00300: 0x001F8
+ "\x00\x01\xb8\x00`\x00\x01\xf9" + // 0x0006E 0x00300: 0x001F9
+ "\x00\x03\x14\x00` \x01\xfa" + // 0x000C5 0x00301: 0x001FA
+ "\x00\x03\x94\x00` \x01\xfb" + // 0x000E5 0x00301: 0x001FB
+ "\x00\x03\x18\x00` \x01\xfc" + // 0x000C6 0x00301: 0x001FC
+ "\x00\x03\x98\x00` \x01\xfd" + // 0x000E6 0x00301: 0x001FD
+ "\x00\x03`\x00` \x01\xfe" + // 0x000D8 0x00301: 0x001FE
+ "\x00\x03\xe0\x00` \x01\xff" + // 0x000F8 0x00301: 0x001FF
+ "\x00\x01\x04\x00a\xe0\x02\x00" + // 0x00041 0x0030F: 0x00200
+ "\x00\x01\x84\x00a\xe0\x02\x01" + // 0x00061 0x0030F: 0x00201
+ "\x00\x01\x04\x00b \x02\x02" + // 0x00041 0x00311: 0x00202
+ "\x00\x01\x84\x00b \x02\x03" + // 0x00061 0x00311: 0x00203
+ "\x00\x01\x14\x00a\xe0\x02\x04" + // 0x00045 0x0030F: 0x00204
+ "\x00\x01\x94\x00a\xe0\x02\x05" + // 0x00065 0x0030F: 0x00205
+ "\x00\x01\x14\x00b \x02\x06" + // 0x00045 0x00311: 0x00206
+ "\x00\x01\x94\x00b \x02\a" + // 0x00065 0x00311: 0x00207
+ "\x00\x01$\x00a\xe0\x02\b" + // 0x00049 0x0030F: 0x00208
+ "\x00\x01\xa4\x00a\xe0\x02\t" + // 0x00069 0x0030F: 0x00209
+ "\x00\x01$\x00b \x02\n" + // 0x00049 0x00311: 0x0020A
+ "\x00\x01\xa4\x00b \x02\v" + // 0x00069 0x00311: 0x0020B
+ "\x00\x01<\x00a\xe0\x02\f" + // 0x0004F 0x0030F: 0x0020C
+ "\x00\x01\xbc\x00a\xe0\x02\r" + // 0x0006F 0x0030F: 0x0020D
+ "\x00\x01<\x00b \x02\x0e" + // 0x0004F 0x00311: 0x0020E
+ "\x00\x01\xbc\x00b \x02\x0f" + // 0x0006F 0x00311: 0x0020F
+ "\x00\x01H\x00a\xe0\x02\x10" + // 0x00052 0x0030F: 0x00210
+ "\x00\x01\xc8\x00a\xe0\x02\x11" + // 0x00072 0x0030F: 0x00211
+ "\x00\x01H\x00b \x02\x12" + // 0x00052 0x00311: 0x00212
+ "\x00\x01\xc8\x00b \x02\x13" + // 0x00072 0x00311: 0x00213
+ "\x00\x01T\x00a\xe0\x02\x14" + // 0x00055 0x0030F: 0x00214
+ "\x00\x01\xd4\x00a\xe0\x02\x15" + // 0x00075 0x0030F: 0x00215
+ "\x00\x01T\x00b \x02\x16" + // 0x00055 0x00311: 0x00216
+ "\x00\x01\xd4\x00b \x02\x17" + // 0x00075 0x00311: 0x00217
+ "\x00\x01L\x00d\xc0\x02\x18" + // 0x00053 0x00326: 0x00218
+ "\x00\x01\xcc\x00d\xc0\x02\x19" + // 0x00073 0x00326: 0x00219
+ "\x00\x01P\x00d\xc0\x02\x1a" + // 0x00054 0x00326: 0x0021A
+ "\x00\x01\xd0\x00d\xc0\x02\x1b" + // 0x00074 0x00326: 0x0021B
+ "\x00\x01 \x00a\x80\x02\x1e" + // 0x00048 0x0030C: 0x0021E
+ "\x00\x01\xa0\x00a\x80\x02\x1f" + // 0x00068 0x0030C: 0x0021F
+ "\x00\x01\x04\x00`\xe0\x02&" + // 0x00041 0x00307: 0x00226
+ "\x00\x01\x84\x00`\xe0\x02'" + // 0x00061 0x00307: 0x00227
+ "\x00\x01\x14\x00d\xe0\x02(" + // 0x00045 0x00327: 0x00228
+ "\x00\x01\x94\x00d\xe0\x02)" + // 0x00065 0x00327: 0x00229
+ "\x00\x03X\x00`\x80\x02*" + // 0x000D6 0x00304: 0x0022A
+ "\x00\x03\xd8\x00`\x80\x02+" + // 0x000F6 0x00304: 0x0022B
+ "\x00\x03T\x00`\x80\x02," + // 0x000D5 0x00304: 0x0022C
+ "\x00\x03\xd4\x00`\x80\x02-" + // 0x000F5 0x00304: 0x0022D
+ "\x00\x01<\x00`\xe0\x02." + // 0x0004F 0x00307: 0x0022E
+ "\x00\x01\xbc\x00`\xe0\x02/" + // 0x0006F 0x00307: 0x0022F
+ "\x00\b\xb8\x00`\x80\x020" + // 0x0022E 0x00304: 0x00230
+ "\x00\b\xbc\x00`\x80\x021" + // 0x0022F 0x00304: 0x00231
+ "\x00\x01d\x00`\x80\x022" + // 0x00059 0x00304: 0x00232
+ "\x00\x01\xe4\x00`\x80\x023" + // 0x00079 0x00304: 0x00233
+ "\x00\x02\xa0\x00` \x03\x85" + // 0x000A8 0x00301: 0x00385
+ "\x00\x0eD\x00` \x03\x86" + // 0x00391 0x00301: 0x00386
+ "\x00\x0eT\x00` \x03\x88" + // 0x00395 0x00301: 0x00388
+ "\x00\x0e\\\x00` \x03\x89" + // 0x00397 0x00301: 0x00389
+ "\x00\x0ed\x00` \x03\x8a" + // 0x00399 0x00301: 0x0038A
+ "\x00\x0e|\x00` \x03\x8c" + // 0x0039F 0x00301: 0x0038C
+ "\x00\x0e\x94\x00` \x03\x8e" + // 0x003A5 0x00301: 0x0038E
+ "\x00\x0e\xa4\x00` \x03\x8f" + // 0x003A9 0x00301: 0x0038F
+ "\x00\x0f(\x00` \x03\x90" + // 0x003CA 0x00301: 0x00390
+ "\x00\x0ed\x00a\x00\x03\xaa" + // 0x00399 0x00308: 0x003AA
+ "\x00\x0e\x94\x00a\x00\x03\xab" + // 0x003A5 0x00308: 0x003AB
+ "\x00\x0e\xc4\x00` \x03\xac" + // 0x003B1 0x00301: 0x003AC
+ "\x00\x0e\xd4\x00` \x03\xad" + // 0x003B5 0x00301: 0x003AD
+ "\x00\x0e\xdc\x00` \x03\xae" + // 0x003B7 0x00301: 0x003AE
+ "\x00\x0e\xe4\x00` \x03\xaf" + // 0x003B9 0x00301: 0x003AF
+ "\x00\x0f,\x00` \x03\xb0" + // 0x003CB 0x00301: 0x003B0
+ "\x00\x0e\xe4\x00a\x00\x03\xca" + // 0x003B9 0x00308: 0x003CA
+ "\x00\x0f\x14\x00a\x00\x03\xcb" + // 0x003C5 0x00308: 0x003CB
+ "\x00\x0e\xfc\x00` \x03\xcc" + // 0x003BF 0x00301: 0x003CC
+ "\x00\x0f\x14\x00` \x03\xcd" + // 0x003C5 0x00301: 0x003CD
+ "\x00\x0f$\x00` \x03\xce" + // 0x003C9 0x00301: 0x003CE
+ "\x00\x0fH\x00` \x03\xd3" + // 0x003D2 0x00301: 0x003D3
+ "\x00\x0fH\x00a\x00\x03\xd4" + // 0x003D2 0x00308: 0x003D4
+ "\x00\x10T\x00`\x00\x04\x00" + // 0x00415 0x00300: 0x00400
+ "\x00\x10T\x00a\x00\x04\x01" + // 0x00415 0x00308: 0x00401
+ "\x00\x10L\x00` \x04\x03" + // 0x00413 0x00301: 0x00403
+ "\x00\x10\x18\x00a\x00\x04\a" + // 0x00406 0x00308: 0x00407
+ "\x00\x10h\x00` \x04\f" + // 0x0041A 0x00301: 0x0040C
+ "\x00\x10`\x00`\x00\x04\r" + // 0x00418 0x00300: 0x0040D
+ "\x00\x10\x8c\x00`\xc0\x04\x0e" + // 0x00423 0x00306: 0x0040E
+ "\x00\x10`\x00`\xc0\x04\x19" + // 0x00418 0x00306: 0x00419
+ "\x00\x10\xe0\x00`\xc0\x049" + // 0x00438 0x00306: 0x00439
+ "\x00\x10\xd4\x00`\x00\x04P" + // 0x00435 0x00300: 0x00450
+ "\x00\x10\xd4\x00a\x00\x04Q" + // 0x00435 0x00308: 0x00451
+ "\x00\x10\xcc\x00` \x04S" + // 0x00433 0x00301: 0x00453
+ "\x00\x11X\x00a\x00\x04W" + // 0x00456 0x00308: 0x00457
+ "\x00\x10\xe8\x00` \x04\\" + // 0x0043A 0x00301: 0x0045C
+ "\x00\x10\xe0\x00`\x00\x04]" + // 0x00438 0x00300: 0x0045D
+ "\x00\x11\f\x00`\xc0\x04^" + // 0x00443 0x00306: 0x0045E
+ "\x00\x11\xd0\x00a\xe0\x04v" + // 0x00474 0x0030F: 0x00476
+ "\x00\x11\xd4\x00a\xe0\x04w" + // 0x00475 0x0030F: 0x00477
+ "\x00\x10X\x00`\xc0\x04\xc1" + // 0x00416 0x00306: 0x004C1
+ "\x00\x10\xd8\x00`\xc0\x04\xc2" + // 0x00436 0x00306: 0x004C2
+ "\x00\x10@\x00`\xc0\x04\xd0" + // 0x00410 0x00306: 0x004D0
+ "\x00\x10\xc0\x00`\xc0\x04\xd1" + // 0x00430 0x00306: 0x004D1
+ "\x00\x10@\x00a\x00\x04\xd2" + // 0x00410 0x00308: 0x004D2
+ "\x00\x10\xc0\x00a\x00\x04\xd3" + // 0x00430 0x00308: 0x004D3
+ "\x00\x10T\x00`\xc0\x04\xd6" + // 0x00415 0x00306: 0x004D6
+ "\x00\x10\xd4\x00`\xc0\x04\xd7" + // 0x00435 0x00306: 0x004D7
+ "\x00\x13`\x00a\x00\x04\xda" + // 0x004D8 0x00308: 0x004DA
+ "\x00\x13d\x00a\x00\x04\xdb" + // 0x004D9 0x00308: 0x004DB
+ "\x00\x10X\x00a\x00\x04\xdc" + // 0x00416 0x00308: 0x004DC
+ "\x00\x10\xd8\x00a\x00\x04\xdd" + // 0x00436 0x00308: 0x004DD
+ "\x00\x10\\\x00a\x00\x04\xde" + // 0x00417 0x00308: 0x004DE
+ "\x00\x10\xdc\x00a\x00\x04\xdf" + // 0x00437 0x00308: 0x004DF
+ "\x00\x10`\x00`\x80\x04\xe2" + // 0x00418 0x00304: 0x004E2
+ "\x00\x10\xe0\x00`\x80\x04\xe3" + // 0x00438 0x00304: 0x004E3
+ "\x00\x10`\x00a\x00\x04\xe4" + // 0x00418 0x00308: 0x004E4
+ "\x00\x10\xe0\x00a\x00\x04\xe5" + // 0x00438 0x00308: 0x004E5
+ "\x00\x10x\x00a\x00\x04\xe6" + // 0x0041E 0x00308: 0x004E6
+ "\x00\x10\xf8\x00a\x00\x04\xe7" + // 0x0043E 0x00308: 0x004E7
+ "\x00\x13\xa0\x00a\x00\x04\xea" + // 0x004E8 0x00308: 0x004EA
+ "\x00\x13\xa4\x00a\x00\x04\xeb" + // 0x004E9 0x00308: 0x004EB
+ "\x00\x10\xb4\x00a\x00\x04\xec" + // 0x0042D 0x00308: 0x004EC
+ "\x00\x114\x00a\x00\x04\xed" + // 0x0044D 0x00308: 0x004ED
+ "\x00\x10\x8c\x00`\x80\x04\xee" + // 0x00423 0x00304: 0x004EE
+ "\x00\x11\f\x00`\x80\x04\xef" + // 0x00443 0x00304: 0x004EF
+ "\x00\x10\x8c\x00a\x00\x04\xf0" + // 0x00423 0x00308: 0x004F0
+ "\x00\x11\f\x00a\x00\x04\xf1" + // 0x00443 0x00308: 0x004F1
+ "\x00\x10\x8c\x00a`\x04\xf2" + // 0x00423 0x0030B: 0x004F2
+ "\x00\x11\f\x00a`\x04\xf3" + // 0x00443 0x0030B: 0x004F3
+ "\x00\x10\x9c\x00a\x00\x04\xf4" + // 0x00427 0x00308: 0x004F4
+ "\x00\x11\x1c\x00a\x00\x04\xf5" + // 0x00447 0x00308: 0x004F5
+ "\x00\x10\xac\x00a\x00\x04\xf8" + // 0x0042B 0x00308: 0x004F8
+ "\x00\x11,\x00a\x00\x04\xf9" + // 0x0044B 0x00308: 0x004F9
+ "\x00\x18\x9c\x00\xca`\x06\"" + // 0x00627 0x00653: 0x00622
+ "\x00\x18\x9c\x00ʀ\x06#" + // 0x00627 0x00654: 0x00623
+ "\x00\x19 \x00ʀ\x06$" + // 0x00648 0x00654: 0x00624
+ "\x00\x18\x9c\x00ʠ\x06%" + // 0x00627 0x00655: 0x00625
+ "\x00\x19(\x00ʀ\x06&" + // 0x0064A 0x00654: 0x00626
+ "\x00\x1bT\x00ʀ\x06\xc0" + // 0x006D5 0x00654: 0x006C0
+ "\x00\x1b\x04\x00ʀ\x06\xc2" + // 0x006C1 0x00654: 0x006C2
+ "\x00\x1bH\x00ʀ\x06\xd3" + // 0x006D2 0x00654: 0x006D3
+ "\x00$\xa0\x01'\x80\t)" + // 0x00928 0x0093C: 0x00929
+ "\x00$\xc0\x01'\x80\t1" + // 0x00930 0x0093C: 0x00931
+ "\x00$\xcc\x01'\x80\t4" + // 0x00933 0x0093C: 0x00934
+ "\x00'\x1c\x017\xc0\t\xcb" + // 0x009C7 0x009BE: 0x009CB
+ "\x00'\x1c\x01:\xe0\t\xcc" + // 0x009C7 0x009D7: 0x009CC
+ "\x00-\x1c\x01j\xc0\vH" + // 0x00B47 0x00B56: 0x00B48
+ "\x00-\x1c\x01g\xc0\vK" + // 0x00B47 0x00B3E: 0x00B4B
+ "\x00-\x1c\x01j\xe0\vL" + // 0x00B47 0x00B57: 0x00B4C
+ "\x00.H\x01z\xe0\v\x94" + // 0x00B92 0x00BD7: 0x00B94
+ "\x00/\x18\x01w\xc0\v\xca" + // 0x00BC6 0x00BBE: 0x00BCA
+ "\x00/\x1c\x01w\xc0\v\xcb" + // 0x00BC7 0x00BBE: 0x00BCB
+ "\x00/\x18\x01z\xe0\v\xcc" + // 0x00BC6 0x00BD7: 0x00BCC
+ "\x001\x18\x01\x8a\xc0\fH" + // 0x00C46 0x00C56: 0x00C48
+ "\x002\xfc\x01\x9a\xa0\f\xc0" + // 0x00CBF 0x00CD5: 0x00CC0
+ "\x003\x18\x01\x9a\xa0\f\xc7" + // 0x00CC6 0x00CD5: 0x00CC7
+ "\x003\x18\x01\x9a\xc0\f\xc8" + // 0x00CC6 0x00CD6: 0x00CC8
+ "\x003\x18\x01\x98@\f\xca" + // 0x00CC6 0x00CC2: 0x00CCA
+ "\x003(\x01\x9a\xa0\f\xcb" + // 0x00CCA 0x00CD5: 0x00CCB
+ "\x005\x18\x01\xa7\xc0\rJ" + // 0x00D46 0x00D3E: 0x00D4A
+ "\x005\x1c\x01\xa7\xc0\rK" + // 0x00D47 0x00D3E: 0x00D4B
+ "\x005\x18\x01\xaa\xe0\rL" + // 0x00D46 0x00D57: 0x00D4C
+ "\x007d\x01\xb9@\r\xda" + // 0x00DD9 0x00DCA: 0x00DDA
+ "\x007d\x01\xb9\xe0\r\xdc" + // 0x00DD9 0x00DCF: 0x00DDC
+ "\x007p\x01\xb9@\r\xdd" + // 0x00DDC 0x00DCA: 0x00DDD
+ "\x007d\x01\xbb\xe0\r\xde" + // 0x00DD9 0x00DDF: 0x00DDE
+ "\x00@\x94\x02\x05\xc0\x10&" + // 0x01025 0x0102E: 0x01026
+ "\x00l\x14\x03f\xa0\x1b\x06" + // 0x01B05 0x01B35: 0x01B06
+ "\x00l\x1c\x03f\xa0\x1b\b" + // 0x01B07 0x01B35: 0x01B08
+ "\x00l$\x03f\xa0\x1b\n" + // 0x01B09 0x01B35: 0x01B0A
+ "\x00l,\x03f\xa0\x1b\f" + // 0x01B0B 0x01B35: 0x01B0C
+ "\x00l4\x03f\xa0\x1b\x0e" + // 0x01B0D 0x01B35: 0x01B0E
+ "\x00lD\x03f\xa0\x1b\x12" + // 0x01B11 0x01B35: 0x01B12
+ "\x00l\xe8\x03f\xa0\x1b;" + // 0x01B3A 0x01B35: 0x01B3B
+ "\x00l\xf0\x03f\xa0\x1b=" + // 0x01B3C 0x01B35: 0x01B3D
+ "\x00l\xf8\x03f\xa0\x1b@" + // 0x01B3E 0x01B35: 0x01B40
+ "\x00l\xfc\x03f\xa0\x1bA" + // 0x01B3F 0x01B35: 0x01B41
+ "\x00m\b\x03f\xa0\x1bC" + // 0x01B42 0x01B35: 0x01B43
+ "\x00\x01\x04\x00d\xa0\x1e\x00" + // 0x00041 0x00325: 0x01E00
+ "\x00\x01\x84\x00d\xa0\x1e\x01" + // 0x00061 0x00325: 0x01E01
+ "\x00\x01\b\x00`\xe0\x1e\x02" + // 0x00042 0x00307: 0x01E02
+ "\x00\x01\x88\x00`\xe0\x1e\x03" + // 0x00062 0x00307: 0x01E03
+ "\x00\x01\b\x00d`\x1e\x04" + // 0x00042 0x00323: 0x01E04
+ "\x00\x01\x88\x00d`\x1e\x05" + // 0x00062 0x00323: 0x01E05
+ "\x00\x01\b\x00f \x1e\x06" + // 0x00042 0x00331: 0x01E06
+ "\x00\x01\x88\x00f \x1e\a" + // 0x00062 0x00331: 0x01E07
+ "\x00\x03\x1c\x00` \x1e\b" + // 0x000C7 0x00301: 0x01E08
+ "\x00\x03\x9c\x00` \x1e\t" + // 0x000E7 0x00301: 0x01E09
+ "\x00\x01\x10\x00`\xe0\x1e\n" + // 0x00044 0x00307: 0x01E0A
+ "\x00\x01\x90\x00`\xe0\x1e\v" + // 0x00064 0x00307: 0x01E0B
+ "\x00\x01\x10\x00d`\x1e\f" + // 0x00044 0x00323: 0x01E0C
+ "\x00\x01\x90\x00d`\x1e\r" + // 0x00064 0x00323: 0x01E0D
+ "\x00\x01\x10\x00f \x1e\x0e" + // 0x00044 0x00331: 0x01E0E
+ "\x00\x01\x90\x00f \x1e\x0f" + // 0x00064 0x00331: 0x01E0F
+ "\x00\x01\x10\x00d\xe0\x1e\x10" + // 0x00044 0x00327: 0x01E10
+ "\x00\x01\x90\x00d\xe0\x1e\x11" + // 0x00064 0x00327: 0x01E11
+ "\x00\x01\x10\x00e\xa0\x1e\x12" + // 0x00044 0x0032D: 0x01E12
+ "\x00\x01\x90\x00e\xa0\x1e\x13" + // 0x00064 0x0032D: 0x01E13
+ "\x00\x04H\x00`\x00\x1e\x14" + // 0x00112 0x00300: 0x01E14
+ "\x00\x04L\x00`\x00\x1e\x15" + // 0x00113 0x00300: 0x01E15
+ "\x00\x04H\x00` \x1e\x16" + // 0x00112 0x00301: 0x01E16
+ "\x00\x04L\x00` \x1e\x17" + // 0x00113 0x00301: 0x01E17
+ "\x00\x01\x14\x00e\xa0\x1e\x18" + // 0x00045 0x0032D: 0x01E18
+ "\x00\x01\x94\x00e\xa0\x1e\x19" + // 0x00065 0x0032D: 0x01E19
+ "\x00\x01\x14\x00f\x00\x1e\x1a" + // 0x00045 0x00330: 0x01E1A
+ "\x00\x01\x94\x00f\x00\x1e\x1b" + // 0x00065 0x00330: 0x01E1B
+ "\x00\b\xa0\x00`\xc0\x1e\x1c" + // 0x00228 0x00306: 0x01E1C
+ "\x00\b\xa4\x00`\xc0\x1e\x1d" + // 0x00229 0x00306: 0x01E1D
+ "\x00\x01\x18\x00`\xe0\x1e\x1e" + // 0x00046 0x00307: 0x01E1E
+ "\x00\x01\x98\x00`\xe0\x1e\x1f" + // 0x00066 0x00307: 0x01E1F
+ "\x00\x01\x1c\x00`\x80\x1e " + // 0x00047 0x00304: 0x01E20
+ "\x00\x01\x9c\x00`\x80\x1e!" + // 0x00067 0x00304: 0x01E21
+ "\x00\x01 \x00`\xe0\x1e\"" + // 0x00048 0x00307: 0x01E22
+ "\x00\x01\xa0\x00`\xe0\x1e#" + // 0x00068 0x00307: 0x01E23
+ "\x00\x01 \x00d`\x1e$" + // 0x00048 0x00323: 0x01E24
+ "\x00\x01\xa0\x00d`\x1e%" + // 0x00068 0x00323: 0x01E25
+ "\x00\x01 \x00a\x00\x1e&" + // 0x00048 0x00308: 0x01E26
+ "\x00\x01\xa0\x00a\x00\x1e'" + // 0x00068 0x00308: 0x01E27
+ "\x00\x01 \x00d\xe0\x1e(" + // 0x00048 0x00327: 0x01E28
+ "\x00\x01\xa0\x00d\xe0\x1e)" + // 0x00068 0x00327: 0x01E29
+ "\x00\x01 \x00e\xc0\x1e*" + // 0x00048 0x0032E: 0x01E2A
+ "\x00\x01\xa0\x00e\xc0\x1e+" + // 0x00068 0x0032E: 0x01E2B
+ "\x00\x01$\x00f\x00\x1e," + // 0x00049 0x00330: 0x01E2C
+ "\x00\x01\xa4\x00f\x00\x1e-" + // 0x00069 0x00330: 0x01E2D
+ "\x00\x03<\x00` \x1e." + // 0x000CF 0x00301: 0x01E2E
+ "\x00\x03\xbc\x00` \x1e/" + // 0x000EF 0x00301: 0x01E2F
+ "\x00\x01,\x00` \x1e0" + // 0x0004B 0x00301: 0x01E30
+ "\x00\x01\xac\x00` \x1e1" + // 0x0006B 0x00301: 0x01E31
+ "\x00\x01,\x00d`\x1e2" + // 0x0004B 0x00323: 0x01E32
+ "\x00\x01\xac\x00d`\x1e3" + // 0x0006B 0x00323: 0x01E33
+ "\x00\x01,\x00f \x1e4" + // 0x0004B 0x00331: 0x01E34
+ "\x00\x01\xac\x00f \x1e5" + // 0x0006B 0x00331: 0x01E35
+ "\x00\x010\x00d`\x1e6" + // 0x0004C 0x00323: 0x01E36
+ "\x00\x01\xb0\x00d`\x1e7" + // 0x0006C 0x00323: 0x01E37
+ "\x00x\xd8\x00`\x80\x1e8" + // 0x01E36 0x00304: 0x01E38
+ "\x00x\xdc\x00`\x80\x1e9" + // 0x01E37 0x00304: 0x01E39
+ "\x00\x010\x00f \x1e:" + // 0x0004C 0x00331: 0x01E3A
+ "\x00\x01\xb0\x00f \x1e;" + // 0x0006C 0x00331: 0x01E3B
+ "\x00\x010\x00e\xa0\x1e<" + // 0x0004C 0x0032D: 0x01E3C
+ "\x00\x01\xb0\x00e\xa0\x1e=" + // 0x0006C 0x0032D: 0x01E3D
+ "\x00\x014\x00` \x1e>" + // 0x0004D 0x00301: 0x01E3E
+ "\x00\x01\xb4\x00` \x1e?" + // 0x0006D 0x00301: 0x01E3F
+ "\x00\x014\x00`\xe0\x1e@" + // 0x0004D 0x00307: 0x01E40
+ "\x00\x01\xb4\x00`\xe0\x1eA" + // 0x0006D 0x00307: 0x01E41
+ "\x00\x014\x00d`\x1eB" + // 0x0004D 0x00323: 0x01E42
+ "\x00\x01\xb4\x00d`\x1eC" + // 0x0006D 0x00323: 0x01E43
+ "\x00\x018\x00`\xe0\x1eD" + // 0x0004E 0x00307: 0x01E44
+ "\x00\x01\xb8\x00`\xe0\x1eE" + // 0x0006E 0x00307: 0x01E45
+ "\x00\x018\x00d`\x1eF" + // 0x0004E 0x00323: 0x01E46
+ "\x00\x01\xb8\x00d`\x1eG" + // 0x0006E 0x00323: 0x01E47
+ "\x00\x018\x00f \x1eH" + // 0x0004E 0x00331: 0x01E48
+ "\x00\x01\xb8\x00f \x1eI" + // 0x0006E 0x00331: 0x01E49
+ "\x00\x018\x00e\xa0\x1eJ" + // 0x0004E 0x0032D: 0x01E4A
+ "\x00\x01\xb8\x00e\xa0\x1eK" + // 0x0006E 0x0032D: 0x01E4B
+ "\x00\x03T\x00` \x1eL" + // 0x000D5 0x00301: 0x01E4C
+ "\x00\x03\xd4\x00` \x1eM" + // 0x000F5 0x00301: 0x01E4D
+ "\x00\x03T\x00a\x00\x1eN" + // 0x000D5 0x00308: 0x01E4E
+ "\x00\x03\xd4\x00a\x00\x1eO" + // 0x000F5 0x00308: 0x01E4F
+ "\x00\x050\x00`\x00\x1eP" + // 0x0014C 0x00300: 0x01E50
+ "\x00\x054\x00`\x00\x1eQ" + // 0x0014D 0x00300: 0x01E51
+ "\x00\x050\x00` \x1eR" + // 0x0014C 0x00301: 0x01E52
+ "\x00\x054\x00` \x1eS" + // 0x0014D 0x00301: 0x01E53
+ "\x00\x01@\x00` \x1eT" + // 0x00050 0x00301: 0x01E54
+ "\x00\x01\xc0\x00` \x1eU" + // 0x00070 0x00301: 0x01E55
+ "\x00\x01@\x00`\xe0\x1eV" + // 0x00050 0x00307: 0x01E56
+ "\x00\x01\xc0\x00`\xe0\x1eW" + // 0x00070 0x00307: 0x01E57
+ "\x00\x01H\x00`\xe0\x1eX" + // 0x00052 0x00307: 0x01E58
+ "\x00\x01\xc8\x00`\xe0\x1eY" + // 0x00072 0x00307: 0x01E59
+ "\x00\x01H\x00d`\x1eZ" + // 0x00052 0x00323: 0x01E5A
+ "\x00\x01\xc8\x00d`\x1e[" + // 0x00072 0x00323: 0x01E5B
+ "\x00yh\x00`\x80\x1e\\" + // 0x01E5A 0x00304: 0x01E5C
+ "\x00yl\x00`\x80\x1e]" + // 0x01E5B 0x00304: 0x01E5D
+ "\x00\x01H\x00f \x1e^" + // 0x00052 0x00331: 0x01E5E
+ "\x00\x01\xc8\x00f \x1e_" + // 0x00072 0x00331: 0x01E5F
+ "\x00\x01L\x00`\xe0\x1e`" + // 0x00053 0x00307: 0x01E60
+ "\x00\x01\xcc\x00`\xe0\x1ea" + // 0x00073 0x00307: 0x01E61
+ "\x00\x01L\x00d`\x1eb" + // 0x00053 0x00323: 0x01E62
+ "\x00\x01\xcc\x00d`\x1ec" + // 0x00073 0x00323: 0x01E63
+ "\x00\x05h\x00`\xe0\x1ed" + // 0x0015A 0x00307: 0x01E64
+ "\x00\x05l\x00`\xe0\x1ee" + // 0x0015B 0x00307: 0x01E65
+ "\x00\x05\x80\x00`\xe0\x1ef" + // 0x00160 0x00307: 0x01E66
+ "\x00\x05\x84\x00`\xe0\x1eg" + // 0x00161 0x00307: 0x01E67
+ "\x00y\x88\x00`\xe0\x1eh" + // 0x01E62 0x00307: 0x01E68
+ "\x00y\x8c\x00`\xe0\x1ei" + // 0x01E63 0x00307: 0x01E69
+ "\x00\x01P\x00`\xe0\x1ej" + // 0x00054 0x00307: 0x01E6A
+ "\x00\x01\xd0\x00`\xe0\x1ek" + // 0x00074 0x00307: 0x01E6B
+ "\x00\x01P\x00d`\x1el" + // 0x00054 0x00323: 0x01E6C
+ "\x00\x01\xd0\x00d`\x1em" + // 0x00074 0x00323: 0x01E6D
+ "\x00\x01P\x00f \x1en" + // 0x00054 0x00331: 0x01E6E
+ "\x00\x01\xd0\x00f \x1eo" + // 0x00074 0x00331: 0x01E6F
+ "\x00\x01P\x00e\xa0\x1ep" + // 0x00054 0x0032D: 0x01E70
+ "\x00\x01\xd0\x00e\xa0\x1eq" + // 0x00074 0x0032D: 0x01E71
+ "\x00\x01T\x00d\x80\x1er" + // 0x00055 0x00324: 0x01E72
+ "\x00\x01\xd4\x00d\x80\x1es" + // 0x00075 0x00324: 0x01E73
+ "\x00\x01T\x00f\x00\x1et" + // 0x00055 0x00330: 0x01E74
+ "\x00\x01\xd4\x00f\x00\x1eu" + // 0x00075 0x00330: 0x01E75
+ "\x00\x01T\x00e\xa0\x1ev" + // 0x00055 0x0032D: 0x01E76
+ "\x00\x01\xd4\x00e\xa0\x1ew" + // 0x00075 0x0032D: 0x01E77
+ "\x00\x05\xa0\x00` \x1ex" + // 0x00168 0x00301: 0x01E78
+ "\x00\x05\xa4\x00` \x1ey" + // 0x00169 0x00301: 0x01E79
+ "\x00\x05\xa8\x00a\x00\x1ez" + // 0x0016A 0x00308: 0x01E7A
+ "\x00\x05\xac\x00a\x00\x1e{" + // 0x0016B 0x00308: 0x01E7B
+ "\x00\x01X\x00``\x1e|" + // 0x00056 0x00303: 0x01E7C
+ "\x00\x01\xd8\x00``\x1e}" + // 0x00076 0x00303: 0x01E7D
+ "\x00\x01X\x00d`\x1e~" + // 0x00056 0x00323: 0x01E7E
+ "\x00\x01\xd8\x00d`\x1e\x7f" + // 0x00076 0x00323: 0x01E7F
+ "\x00\x01\\\x00`\x00\x1e\x80" + // 0x00057 0x00300: 0x01E80
+ "\x00\x01\xdc\x00`\x00\x1e\x81" + // 0x00077 0x00300: 0x01E81
+ "\x00\x01\\\x00` \x1e\x82" + // 0x00057 0x00301: 0x01E82
+ "\x00\x01\xdc\x00` \x1e\x83" + // 0x00077 0x00301: 0x01E83
+ "\x00\x01\\\x00a\x00\x1e\x84" + // 0x00057 0x00308: 0x01E84
+ "\x00\x01\xdc\x00a\x00\x1e\x85" + // 0x00077 0x00308: 0x01E85
+ "\x00\x01\\\x00`\xe0\x1e\x86" + // 0x00057 0x00307: 0x01E86
+ "\x00\x01\xdc\x00`\xe0\x1e\x87" + // 0x00077 0x00307: 0x01E87
+ "\x00\x01\\\x00d`\x1e\x88" + // 0x00057 0x00323: 0x01E88
+ "\x00\x01\xdc\x00d`\x1e\x89" + // 0x00077 0x00323: 0x01E89
+ "\x00\x01`\x00`\xe0\x1e\x8a" + // 0x00058 0x00307: 0x01E8A
+ "\x00\x01\xe0\x00`\xe0\x1e\x8b" + // 0x00078 0x00307: 0x01E8B
+ "\x00\x01`\x00a\x00\x1e\x8c" + // 0x00058 0x00308: 0x01E8C
+ "\x00\x01\xe0\x00a\x00\x1e\x8d" + // 0x00078 0x00308: 0x01E8D
+ "\x00\x01d\x00`\xe0\x1e\x8e" + // 0x00059 0x00307: 0x01E8E
+ "\x00\x01\xe4\x00`\xe0\x1e\x8f" + // 0x00079 0x00307: 0x01E8F
+ "\x00\x01h\x00`@\x1e\x90" + // 0x0005A 0x00302: 0x01E90
+ "\x00\x01\xe8\x00`@\x1e\x91" + // 0x0007A 0x00302: 0x01E91
+ "\x00\x01h\x00d`\x1e\x92" + // 0x0005A 0x00323: 0x01E92
+ "\x00\x01\xe8\x00d`\x1e\x93" + // 0x0007A 0x00323: 0x01E93
+ "\x00\x01h\x00f \x1e\x94" + // 0x0005A 0x00331: 0x01E94
+ "\x00\x01\xe8\x00f \x1e\x95" + // 0x0007A 0x00331: 0x01E95
+ "\x00\x01\xa0\x00f \x1e\x96" + // 0x00068 0x00331: 0x01E96
+ "\x00\x01\xd0\x00a\x00\x1e\x97" + // 0x00074 0x00308: 0x01E97
+ "\x00\x01\xdc\x00a@\x1e\x98" + // 0x00077 0x0030A: 0x01E98
+ "\x00\x01\xe4\x00a@\x1e\x99" + // 0x00079 0x0030A: 0x01E99
+ "\x00\x05\xfc\x00`\xe0\x1e\x9b" + // 0x0017F 0x00307: 0x01E9B
+ "\x00\x01\x04\x00d`\x1e\xa0" + // 0x00041 0x00323: 0x01EA0
+ "\x00\x01\x84\x00d`\x1e\xa1" + // 0x00061 0x00323: 0x01EA1
+ "\x00\x01\x04\x00a \x1e\xa2" + // 0x00041 0x00309: 0x01EA2
+ "\x00\x01\x84\x00a \x1e\xa3" + // 0x00061 0x00309: 0x01EA3
+ "\x00\x03\b\x00` \x1e\xa4" + // 0x000C2 0x00301: 0x01EA4
+ "\x00\x03\x88\x00` \x1e\xa5" + // 0x000E2 0x00301: 0x01EA5
+ "\x00\x03\b\x00`\x00\x1e\xa6" + // 0x000C2 0x00300: 0x01EA6
+ "\x00\x03\x88\x00`\x00\x1e\xa7" + // 0x000E2 0x00300: 0x01EA7
+ "\x00\x03\b\x00a \x1e\xa8" + // 0x000C2 0x00309: 0x01EA8
+ "\x00\x03\x88\x00a \x1e\xa9" + // 0x000E2 0x00309: 0x01EA9
+ "\x00\x03\b\x00``\x1e\xaa" + // 0x000C2 0x00303: 0x01EAA
+ "\x00\x03\x88\x00``\x1e\xab" + // 0x000E2 0x00303: 0x01EAB
+ "\x00z\x80\x00`@\x1e\xac" + // 0x01EA0 0x00302: 0x01EAC
+ "\x00z\x84\x00`@\x1e\xad" + // 0x01EA1 0x00302: 0x01EAD
+ "\x00\x04\b\x00` \x1e\xae" + // 0x00102 0x00301: 0x01EAE
+ "\x00\x04\f\x00` \x1e\xaf" + // 0x00103 0x00301: 0x01EAF
+ "\x00\x04\b\x00`\x00\x1e\xb0" + // 0x00102 0x00300: 0x01EB0
+ "\x00\x04\f\x00`\x00\x1e\xb1" + // 0x00103 0x00300: 0x01EB1
+ "\x00\x04\b\x00a \x1e\xb2" + // 0x00102 0x00309: 0x01EB2
+ "\x00\x04\f\x00a \x1e\xb3" + // 0x00103 0x00309: 0x01EB3
+ "\x00\x04\b\x00``\x1e\xb4" + // 0x00102 0x00303: 0x01EB4
+ "\x00\x04\f\x00``\x1e\xb5" + // 0x00103 0x00303: 0x01EB5
+ "\x00z\x80\x00`\xc0\x1e\xb6" + // 0x01EA0 0x00306: 0x01EB6
+ "\x00z\x84\x00`\xc0\x1e\xb7" + // 0x01EA1 0x00306: 0x01EB7
+ "\x00\x01\x14\x00d`\x1e\xb8" + // 0x00045 0x00323: 0x01EB8
+ "\x00\x01\x94\x00d`\x1e\xb9" + // 0x00065 0x00323: 0x01EB9
+ "\x00\x01\x14\x00a \x1e\xba" + // 0x00045 0x00309: 0x01EBA
+ "\x00\x01\x94\x00a \x1e\xbb" + // 0x00065 0x00309: 0x01EBB
+ "\x00\x01\x14\x00``\x1e\xbc" + // 0x00045 0x00303: 0x01EBC
+ "\x00\x01\x94\x00``\x1e\xbd" + // 0x00065 0x00303: 0x01EBD
+ "\x00\x03(\x00` \x1e\xbe" + // 0x000CA 0x00301: 0x01EBE
+ "\x00\x03\xa8\x00` \x1e\xbf" + // 0x000EA 0x00301: 0x01EBF
+ "\x00\x03(\x00`\x00\x1e\xc0" + // 0x000CA 0x00300: 0x01EC0
+ "\x00\x03\xa8\x00`\x00\x1e\xc1" + // 0x000EA 0x00300: 0x01EC1
+ "\x00\x03(\x00a \x1e\xc2" + // 0x000CA 0x00309: 0x01EC2
+ "\x00\x03\xa8\x00a \x1e\xc3" + // 0x000EA 0x00309: 0x01EC3
+ "\x00\x03(\x00``\x1e\xc4" + // 0x000CA 0x00303: 0x01EC4
+ "\x00\x03\xa8\x00``\x1e\xc5" + // 0x000EA 0x00303: 0x01EC5
+ "\x00z\xe0\x00`@\x1e\xc6" + // 0x01EB8 0x00302: 0x01EC6
+ "\x00z\xe4\x00`@\x1e\xc7" + // 0x01EB9 0x00302: 0x01EC7
+ "\x00\x01$\x00a \x1e\xc8" + // 0x00049 0x00309: 0x01EC8
+ "\x00\x01\xa4\x00a \x1e\xc9" + // 0x00069 0x00309: 0x01EC9
+ "\x00\x01$\x00d`\x1e\xca" + // 0x00049 0x00323: 0x01ECA
+ "\x00\x01\xa4\x00d`\x1e\xcb" + // 0x00069 0x00323: 0x01ECB
+ "\x00\x01<\x00d`\x1e\xcc" + // 0x0004F 0x00323: 0x01ECC
+ "\x00\x01\xbc\x00d`\x1e\xcd" + // 0x0006F 0x00323: 0x01ECD
+ "\x00\x01<\x00a \x1e\xce" + // 0x0004F 0x00309: 0x01ECE
+ "\x00\x01\xbc\x00a \x1e\xcf" + // 0x0006F 0x00309: 0x01ECF
+ "\x00\x03P\x00` \x1e\xd0" + // 0x000D4 0x00301: 0x01ED0
+ "\x00\x03\xd0\x00` \x1e\xd1" + // 0x000F4 0x00301: 0x01ED1
+ "\x00\x03P\x00`\x00\x1e\xd2" + // 0x000D4 0x00300: 0x01ED2
+ "\x00\x03\xd0\x00`\x00\x1e\xd3" + // 0x000F4 0x00300: 0x01ED3
+ "\x00\x03P\x00a \x1e\xd4" + // 0x000D4 0x00309: 0x01ED4
+ "\x00\x03\xd0\x00a \x1e\xd5" + // 0x000F4 0x00309: 0x01ED5
+ "\x00\x03P\x00``\x1e\xd6" + // 0x000D4 0x00303: 0x01ED6
+ "\x00\x03\xd0\x00``\x1e\xd7" + // 0x000F4 0x00303: 0x01ED7
+ "\x00{0\x00`@\x1e\xd8" + // 0x01ECC 0x00302: 0x01ED8
+ "\x00{4\x00`@\x1e\xd9" + // 0x01ECD 0x00302: 0x01ED9
+ "\x00\x06\x80\x00` \x1e\xda" + // 0x001A0 0x00301: 0x01EDA
+ "\x00\x06\x84\x00` \x1e\xdb" + // 0x001A1 0x00301: 0x01EDB
+ "\x00\x06\x80\x00`\x00\x1e\xdc" + // 0x001A0 0x00300: 0x01EDC
+ "\x00\x06\x84\x00`\x00\x1e\xdd" + // 0x001A1 0x00300: 0x01EDD
+ "\x00\x06\x80\x00a \x1e\xde" + // 0x001A0 0x00309: 0x01EDE
+ "\x00\x06\x84\x00a \x1e\xdf" + // 0x001A1 0x00309: 0x01EDF
+ "\x00\x06\x80\x00``\x1e\xe0" + // 0x001A0 0x00303: 0x01EE0
+ "\x00\x06\x84\x00``\x1e\xe1" + // 0x001A1 0x00303: 0x01EE1
+ "\x00\x06\x80\x00d`\x1e\xe2" + // 0x001A0 0x00323: 0x01EE2
+ "\x00\x06\x84\x00d`\x1e\xe3" + // 0x001A1 0x00323: 0x01EE3
+ "\x00\x01T\x00d`\x1e\xe4" + // 0x00055 0x00323: 0x01EE4
+ "\x00\x01\xd4\x00d`\x1e\xe5" + // 0x00075 0x00323: 0x01EE5
+ "\x00\x01T\x00a \x1e\xe6" + // 0x00055 0x00309: 0x01EE6
+ "\x00\x01\xd4\x00a \x1e\xe7" + // 0x00075 0x00309: 0x01EE7
+ "\x00\x06\xbc\x00` \x1e\xe8" + // 0x001AF 0x00301: 0x01EE8
+ "\x00\x06\xc0\x00` \x1e\xe9" + // 0x001B0 0x00301: 0x01EE9
+ "\x00\x06\xbc\x00`\x00\x1e\xea" + // 0x001AF 0x00300: 0x01EEA
+ "\x00\x06\xc0\x00`\x00\x1e\xeb" + // 0x001B0 0x00300: 0x01EEB
+ "\x00\x06\xbc\x00a \x1e\xec" + // 0x001AF 0x00309: 0x01EEC
+ "\x00\x06\xc0\x00a \x1e\xed" + // 0x001B0 0x00309: 0x01EED
+ "\x00\x06\xbc\x00``\x1e\xee" + // 0x001AF 0x00303: 0x01EEE
+ "\x00\x06\xc0\x00``\x1e\xef" + // 0x001B0 0x00303: 0x01EEF
+ "\x00\x06\xbc\x00d`\x1e\xf0" + // 0x001AF 0x00323: 0x01EF0
+ "\x00\x06\xc0\x00d`\x1e\xf1" + // 0x001B0 0x00323: 0x01EF1
+ "\x00\x01d\x00`\x00\x1e\xf2" + // 0x00059 0x00300: 0x01EF2
+ "\x00\x01\xe4\x00`\x00\x1e\xf3" + // 0x00079 0x00300: 0x01EF3
+ "\x00\x01d\x00d`\x1e\xf4" + // 0x00059 0x00323: 0x01EF4
+ "\x00\x01\xe4\x00d`\x1e\xf5" + // 0x00079 0x00323: 0x01EF5
+ "\x00\x01d\x00a \x1e\xf6" + // 0x00059 0x00309: 0x01EF6
+ "\x00\x01\xe4\x00a \x1e\xf7" + // 0x00079 0x00309: 0x01EF7
+ "\x00\x01d\x00``\x1e\xf8" + // 0x00059 0x00303: 0x01EF8
+ "\x00\x01\xe4\x00``\x1e\xf9" + // 0x00079 0x00303: 0x01EF9
+ "\x00\x0e\xc4\x00b`\x1f\x00" + // 0x003B1 0x00313: 0x01F00
+ "\x00\x0e\xc4\x00b\x80\x1f\x01" + // 0x003B1 0x00314: 0x01F01
+ "\x00|\x00\x00`\x00\x1f\x02" + // 0x01F00 0x00300: 0x01F02
+ "\x00|\x04\x00`\x00\x1f\x03" + // 0x01F01 0x00300: 0x01F03
+ "\x00|\x00\x00` \x1f\x04" + // 0x01F00 0x00301: 0x01F04
+ "\x00|\x04\x00` \x1f\x05" + // 0x01F01 0x00301: 0x01F05
+ "\x00|\x00\x00h@\x1f\x06" + // 0x01F00 0x00342: 0x01F06
+ "\x00|\x04\x00h@\x1f\a" + // 0x01F01 0x00342: 0x01F07
+ "\x00\x0eD\x00b`\x1f\b" + // 0x00391 0x00313: 0x01F08
+ "\x00\x0eD\x00b\x80\x1f\t" + // 0x00391 0x00314: 0x01F09
+ "\x00| \x00`\x00\x1f\n" + // 0x01F08 0x00300: 0x01F0A
+ "\x00|$\x00`\x00\x1f\v" + // 0x01F09 0x00300: 0x01F0B
+ "\x00| \x00` \x1f\f" + // 0x01F08 0x00301: 0x01F0C
+ "\x00|$\x00` \x1f\r" + // 0x01F09 0x00301: 0x01F0D
+ "\x00| \x00h@\x1f\x0e" + // 0x01F08 0x00342: 0x01F0E
+ "\x00|$\x00h@\x1f\x0f" + // 0x01F09 0x00342: 0x01F0F
+ "\x00\x0e\xd4\x00b`\x1f\x10" + // 0x003B5 0x00313: 0x01F10
+ "\x00\x0e\xd4\x00b\x80\x1f\x11" + // 0x003B5 0x00314: 0x01F11
+ "\x00|@\x00`\x00\x1f\x12" + // 0x01F10 0x00300: 0x01F12
+ "\x00|D\x00`\x00\x1f\x13" + // 0x01F11 0x00300: 0x01F13
+ "\x00|@\x00` \x1f\x14" + // 0x01F10 0x00301: 0x01F14
+ "\x00|D\x00` \x1f\x15" + // 0x01F11 0x00301: 0x01F15
+ "\x00\x0eT\x00b`\x1f\x18" + // 0x00395 0x00313: 0x01F18
+ "\x00\x0eT\x00b\x80\x1f\x19" + // 0x00395 0x00314: 0x01F19
+ "\x00|`\x00`\x00\x1f\x1a" + // 0x01F18 0x00300: 0x01F1A
+ "\x00|d\x00`\x00\x1f\x1b" + // 0x01F19 0x00300: 0x01F1B
+ "\x00|`\x00` \x1f\x1c" + // 0x01F18 0x00301: 0x01F1C
+ "\x00|d\x00` \x1f\x1d" + // 0x01F19 0x00301: 0x01F1D
+ "\x00\x0e\xdc\x00b`\x1f " + // 0x003B7 0x00313: 0x01F20
+ "\x00\x0e\xdc\x00b\x80\x1f!" + // 0x003B7 0x00314: 0x01F21
+ "\x00|\x80\x00`\x00\x1f\"" + // 0x01F20 0x00300: 0x01F22
+ "\x00|\x84\x00`\x00\x1f#" + // 0x01F21 0x00300: 0x01F23
+ "\x00|\x80\x00` \x1f$" + // 0x01F20 0x00301: 0x01F24
+ "\x00|\x84\x00` \x1f%" + // 0x01F21 0x00301: 0x01F25
+ "\x00|\x80\x00h@\x1f&" + // 0x01F20 0x00342: 0x01F26
+ "\x00|\x84\x00h@\x1f'" + // 0x01F21 0x00342: 0x01F27
+ "\x00\x0e\\\x00b`\x1f(" + // 0x00397 0x00313: 0x01F28
+ "\x00\x0e\\\x00b\x80\x1f)" + // 0x00397 0x00314: 0x01F29
+ "\x00|\xa0\x00`\x00\x1f*" + // 0x01F28 0x00300: 0x01F2A
+ "\x00|\xa4\x00`\x00\x1f+" + // 0x01F29 0x00300: 0x01F2B
+ "\x00|\xa0\x00` \x1f," + // 0x01F28 0x00301: 0x01F2C
+ "\x00|\xa4\x00` \x1f-" + // 0x01F29 0x00301: 0x01F2D
+ "\x00|\xa0\x00h@\x1f." + // 0x01F28 0x00342: 0x01F2E
+ "\x00|\xa4\x00h@\x1f/" + // 0x01F29 0x00342: 0x01F2F
+ "\x00\x0e\xe4\x00b`\x1f0" + // 0x003B9 0x00313: 0x01F30
+ "\x00\x0e\xe4\x00b\x80\x1f1" + // 0x003B9 0x00314: 0x01F31
+ "\x00|\xc0\x00`\x00\x1f2" + // 0x01F30 0x00300: 0x01F32
+ "\x00|\xc4\x00`\x00\x1f3" + // 0x01F31 0x00300: 0x01F33
+ "\x00|\xc0\x00` \x1f4" + // 0x01F30 0x00301: 0x01F34
+ "\x00|\xc4\x00` \x1f5" + // 0x01F31 0x00301: 0x01F35
+ "\x00|\xc0\x00h@\x1f6" + // 0x01F30 0x00342: 0x01F36
+ "\x00|\xc4\x00h@\x1f7" + // 0x01F31 0x00342: 0x01F37
+ "\x00\x0ed\x00b`\x1f8" + // 0x00399 0x00313: 0x01F38
+ "\x00\x0ed\x00b\x80\x1f9" + // 0x00399 0x00314: 0x01F39
+ "\x00|\xe0\x00`\x00\x1f:" + // 0x01F38 0x00300: 0x01F3A
+ "\x00|\xe4\x00`\x00\x1f;" + // 0x01F39 0x00300: 0x01F3B
+ "\x00|\xe0\x00` \x1f<" + // 0x01F38 0x00301: 0x01F3C
+ "\x00|\xe4\x00` \x1f=" + // 0x01F39 0x00301: 0x01F3D
+ "\x00|\xe0\x00h@\x1f>" + // 0x01F38 0x00342: 0x01F3E
+ "\x00|\xe4\x00h@\x1f?" + // 0x01F39 0x00342: 0x01F3F
+ "\x00\x0e\xfc\x00b`\x1f@" + // 0x003BF 0x00313: 0x01F40
+ "\x00\x0e\xfc\x00b\x80\x1fA" + // 0x003BF 0x00314: 0x01F41
+ "\x00}\x00\x00`\x00\x1fB" + // 0x01F40 0x00300: 0x01F42
+ "\x00}\x04\x00`\x00\x1fC" + // 0x01F41 0x00300: 0x01F43
+ "\x00}\x00\x00` \x1fD" + // 0x01F40 0x00301: 0x01F44
+ "\x00}\x04\x00` \x1fE" + // 0x01F41 0x00301: 0x01F45
+ "\x00\x0e|\x00b`\x1fH" + // 0x0039F 0x00313: 0x01F48
+ "\x00\x0e|\x00b\x80\x1fI" + // 0x0039F 0x00314: 0x01F49
+ "\x00} \x00`\x00\x1fJ" + // 0x01F48 0x00300: 0x01F4A
+ "\x00}$\x00`\x00\x1fK" + // 0x01F49 0x00300: 0x01F4B
+ "\x00} \x00` \x1fL" + // 0x01F48 0x00301: 0x01F4C
+ "\x00}$\x00` \x1fM" + // 0x01F49 0x00301: 0x01F4D
+ "\x00\x0f\x14\x00b`\x1fP" + // 0x003C5 0x00313: 0x01F50
+ "\x00\x0f\x14\x00b\x80\x1fQ" + // 0x003C5 0x00314: 0x01F51
+ "\x00}@\x00`\x00\x1fR" + // 0x01F50 0x00300: 0x01F52
+ "\x00}D\x00`\x00\x1fS" + // 0x01F51 0x00300: 0x01F53
+ "\x00}@\x00` \x1fT" + // 0x01F50 0x00301: 0x01F54
+ "\x00}D\x00` \x1fU" + // 0x01F51 0x00301: 0x01F55
+ "\x00}@\x00h@\x1fV" + // 0x01F50 0x00342: 0x01F56
+ "\x00}D\x00h@\x1fW" + // 0x01F51 0x00342: 0x01F57
+ "\x00\x0e\x94\x00b\x80\x1fY" + // 0x003A5 0x00314: 0x01F59
+ "\x00}d\x00`\x00\x1f[" + // 0x01F59 0x00300: 0x01F5B
+ "\x00}d\x00` \x1f]" + // 0x01F59 0x00301: 0x01F5D
+ "\x00}d\x00h@\x1f_" + // 0x01F59 0x00342: 0x01F5F
+ "\x00\x0f$\x00b`\x1f`" + // 0x003C9 0x00313: 0x01F60
+ "\x00\x0f$\x00b\x80\x1fa" + // 0x003C9 0x00314: 0x01F61
+ "\x00}\x80\x00`\x00\x1fb" + // 0x01F60 0x00300: 0x01F62
+ "\x00}\x84\x00`\x00\x1fc" + // 0x01F61 0x00300: 0x01F63
+ "\x00}\x80\x00` \x1fd" + // 0x01F60 0x00301: 0x01F64
+ "\x00}\x84\x00` \x1fe" + // 0x01F61 0x00301: 0x01F65
+ "\x00}\x80\x00h@\x1ff" + // 0x01F60 0x00342: 0x01F66
+ "\x00}\x84\x00h@\x1fg" + // 0x01F61 0x00342: 0x01F67
+ "\x00\x0e\xa4\x00b`\x1fh" + // 0x003A9 0x00313: 0x01F68
+ "\x00\x0e\xa4\x00b\x80\x1fi" + // 0x003A9 0x00314: 0x01F69
+ "\x00}\xa0\x00`\x00\x1fj" + // 0x01F68 0x00300: 0x01F6A
+ "\x00}\xa4\x00`\x00\x1fk" + // 0x01F69 0x00300: 0x01F6B
+ "\x00}\xa0\x00` \x1fl" + // 0x01F68 0x00301: 0x01F6C
+ "\x00}\xa4\x00` \x1fm" + // 0x01F69 0x00301: 0x01F6D
+ "\x00}\xa0\x00h@\x1fn" + // 0x01F68 0x00342: 0x01F6E
+ "\x00}\xa4\x00h@\x1fo" + // 0x01F69 0x00342: 0x01F6F
+ "\x00\x0e\xc4\x00`\x00\x1fp" + // 0x003B1 0x00300: 0x01F70
+ "\x00\x0e\xd4\x00`\x00\x1fr" + // 0x003B5 0x00300: 0x01F72
+ "\x00\x0e\xdc\x00`\x00\x1ft" + // 0x003B7 0x00300: 0x01F74
+ "\x00\x0e\xe4\x00`\x00\x1fv" + // 0x003B9 0x00300: 0x01F76
+ "\x00\x0e\xfc\x00`\x00\x1fx" + // 0x003BF 0x00300: 0x01F78
+ "\x00\x0f\x14\x00`\x00\x1fz" + // 0x003C5 0x00300: 0x01F7A
+ "\x00\x0f$\x00`\x00\x1f|" + // 0x003C9 0x00300: 0x01F7C
+ "\x00|\x00\x00h\xa0\x1f\x80" + // 0x01F00 0x00345: 0x01F80
+ "\x00|\x04\x00h\xa0\x1f\x81" + // 0x01F01 0x00345: 0x01F81
+ "\x00|\b\x00h\xa0\x1f\x82" + // 0x01F02 0x00345: 0x01F82
+ "\x00|\f\x00h\xa0\x1f\x83" + // 0x01F03 0x00345: 0x01F83
+ "\x00|\x10\x00h\xa0\x1f\x84" + // 0x01F04 0x00345: 0x01F84
+ "\x00|\x14\x00h\xa0\x1f\x85" + // 0x01F05 0x00345: 0x01F85
+ "\x00|\x18\x00h\xa0\x1f\x86" + // 0x01F06 0x00345: 0x01F86
+ "\x00|\x1c\x00h\xa0\x1f\x87" + // 0x01F07 0x00345: 0x01F87
+ "\x00| \x00h\xa0\x1f\x88" + // 0x01F08 0x00345: 0x01F88
+ "\x00|$\x00h\xa0\x1f\x89" + // 0x01F09 0x00345: 0x01F89
+ "\x00|(\x00h\xa0\x1f\x8a" + // 0x01F0A 0x00345: 0x01F8A
+ "\x00|,\x00h\xa0\x1f\x8b" + // 0x01F0B 0x00345: 0x01F8B
+ "\x00|0\x00h\xa0\x1f\x8c" + // 0x01F0C 0x00345: 0x01F8C
+ "\x00|4\x00h\xa0\x1f\x8d" + // 0x01F0D 0x00345: 0x01F8D
+ "\x00|8\x00h\xa0\x1f\x8e" + // 0x01F0E 0x00345: 0x01F8E
+ "\x00|<\x00h\xa0\x1f\x8f" + // 0x01F0F 0x00345: 0x01F8F
+ "\x00|\x80\x00h\xa0\x1f\x90" + // 0x01F20 0x00345: 0x01F90
+ "\x00|\x84\x00h\xa0\x1f\x91" + // 0x01F21 0x00345: 0x01F91
+ "\x00|\x88\x00h\xa0\x1f\x92" + // 0x01F22 0x00345: 0x01F92
+ "\x00|\x8c\x00h\xa0\x1f\x93" + // 0x01F23 0x00345: 0x01F93
+ "\x00|\x90\x00h\xa0\x1f\x94" + // 0x01F24 0x00345: 0x01F94
+ "\x00|\x94\x00h\xa0\x1f\x95" + // 0x01F25 0x00345: 0x01F95
+ "\x00|\x98\x00h\xa0\x1f\x96" + // 0x01F26 0x00345: 0x01F96
+ "\x00|\x9c\x00h\xa0\x1f\x97" + // 0x01F27 0x00345: 0x01F97
+ "\x00|\xa0\x00h\xa0\x1f\x98" + // 0x01F28 0x00345: 0x01F98
+ "\x00|\xa4\x00h\xa0\x1f\x99" + // 0x01F29 0x00345: 0x01F99
+ "\x00|\xa8\x00h\xa0\x1f\x9a" + // 0x01F2A 0x00345: 0x01F9A
+ "\x00|\xac\x00h\xa0\x1f\x9b" + // 0x01F2B 0x00345: 0x01F9B
+ "\x00|\xb0\x00h\xa0\x1f\x9c" + // 0x01F2C 0x00345: 0x01F9C
+ "\x00|\xb4\x00h\xa0\x1f\x9d" + // 0x01F2D 0x00345: 0x01F9D
+ "\x00|\xb8\x00h\xa0\x1f\x9e" + // 0x01F2E 0x00345: 0x01F9E
+ "\x00|\xbc\x00h\xa0\x1f\x9f" + // 0x01F2F 0x00345: 0x01F9F
+ "\x00}\x80\x00h\xa0\x1f\xa0" + // 0x01F60 0x00345: 0x01FA0
+ "\x00}\x84\x00h\xa0\x1f\xa1" + // 0x01F61 0x00345: 0x01FA1
+ "\x00}\x88\x00h\xa0\x1f\xa2" + // 0x01F62 0x00345: 0x01FA2
+ "\x00}\x8c\x00h\xa0\x1f\xa3" + // 0x01F63 0x00345: 0x01FA3
+ "\x00}\x90\x00h\xa0\x1f\xa4" + // 0x01F64 0x00345: 0x01FA4
+ "\x00}\x94\x00h\xa0\x1f\xa5" + // 0x01F65 0x00345: 0x01FA5
+ "\x00}\x98\x00h\xa0\x1f\xa6" + // 0x01F66 0x00345: 0x01FA6
+ "\x00}\x9c\x00h\xa0\x1f\xa7" + // 0x01F67 0x00345: 0x01FA7
+ "\x00}\xa0\x00h\xa0\x1f\xa8" + // 0x01F68 0x00345: 0x01FA8
+ "\x00}\xa4\x00h\xa0\x1f\xa9" + // 0x01F69 0x00345: 0x01FA9
+ "\x00}\xa8\x00h\xa0\x1f\xaa" + // 0x01F6A 0x00345: 0x01FAA
+ "\x00}\xac\x00h\xa0\x1f\xab" + // 0x01F6B 0x00345: 0x01FAB
+ "\x00}\xb0\x00h\xa0\x1f\xac" + // 0x01F6C 0x00345: 0x01FAC
+ "\x00}\xb4\x00h\xa0\x1f\xad" + // 0x01F6D 0x00345: 0x01FAD
+ "\x00}\xb8\x00h\xa0\x1f\xae" + // 0x01F6E 0x00345: 0x01FAE
+ "\x00}\xbc\x00h\xa0\x1f\xaf" + // 0x01F6F 0x00345: 0x01FAF
+ "\x00\x0e\xc4\x00`\xc0\x1f\xb0" + // 0x003B1 0x00306: 0x01FB0
+ "\x00\x0e\xc4\x00`\x80\x1f\xb1" + // 0x003B1 0x00304: 0x01FB1
+ "\x00}\xc0\x00h\xa0\x1f\xb2" + // 0x01F70 0x00345: 0x01FB2
+ "\x00\x0e\xc4\x00h\xa0\x1f\xb3" + // 0x003B1 0x00345: 0x01FB3
+ "\x00\x0e\xb0\x00h\xa0\x1f\xb4" + // 0x003AC 0x00345: 0x01FB4
+ "\x00\x0e\xc4\x00h@\x1f\xb6" + // 0x003B1 0x00342: 0x01FB6
+ "\x00~\xd8\x00h\xa0\x1f\xb7" + // 0x01FB6 0x00345: 0x01FB7
+ "\x00\x0eD\x00`\xc0\x1f\xb8" + // 0x00391 0x00306: 0x01FB8
+ "\x00\x0eD\x00`\x80\x1f\xb9" + // 0x00391 0x00304: 0x01FB9
+ "\x00\x0eD\x00`\x00\x1f\xba" + // 0x00391 0x00300: 0x01FBA
+ "\x00\x0eD\x00h\xa0\x1f\xbc" + // 0x00391 0x00345: 0x01FBC
+ "\x00\x02\xa0\x00h@\x1f\xc1" + // 0x000A8 0x00342: 0x01FC1
+ "\x00}\xd0\x00h\xa0\x1f\xc2" + // 0x01F74 0x00345: 0x01FC2
+ "\x00\x0e\xdc\x00h\xa0\x1f\xc3" + // 0x003B7 0x00345: 0x01FC3
+ "\x00\x0e\xb8\x00h\xa0\x1f\xc4" + // 0x003AE 0x00345: 0x01FC4
+ "\x00\x0e\xdc\x00h@\x1f\xc6" + // 0x003B7 0x00342: 0x01FC6
+ "\x00\x7f\x18\x00h\xa0\x1f\xc7" + // 0x01FC6 0x00345: 0x01FC7
+ "\x00\x0eT\x00`\x00\x1f\xc8" + // 0x00395 0x00300: 0x01FC8
+ "\x00\x0e\\\x00`\x00\x1f\xca" + // 0x00397 0x00300: 0x01FCA
+ "\x00\x0e\\\x00h\xa0\x1f\xcc" + // 0x00397 0x00345: 0x01FCC
+ "\x00~\xfc\x00`\x00\x1f\xcd" + // 0x01FBF 0x00300: 0x01FCD
+ "\x00~\xfc\x00` \x1f\xce" + // 0x01FBF 0x00301: 0x01FCE
+ "\x00~\xfc\x00h@\x1f\xcf" + // 0x01FBF 0x00342: 0x01FCF
+ "\x00\x0e\xe4\x00`\xc0\x1f\xd0" + // 0x003B9 0x00306: 0x01FD0
+ "\x00\x0e\xe4\x00`\x80\x1f\xd1" + // 0x003B9 0x00304: 0x01FD1
+ "\x00\x0f(\x00`\x00\x1f\xd2" + // 0x003CA 0x00300: 0x01FD2
+ "\x00\x0e\xe4\x00h@\x1f\xd6" + // 0x003B9 0x00342: 0x01FD6
+ "\x00\x0f(\x00h@\x1f\xd7" + // 0x003CA 0x00342: 0x01FD7
+ "\x00\x0ed\x00`\xc0\x1f\xd8" + // 0x00399 0x00306: 0x01FD8
+ "\x00\x0ed\x00`\x80\x1f\xd9" + // 0x00399 0x00304: 0x01FD9
+ "\x00\x0ed\x00`\x00\x1f\xda" + // 0x00399 0x00300: 0x01FDA
+ "\x00\x7f\xf8\x00`\x00\x1f\xdd" + // 0x01FFE 0x00300: 0x01FDD
+ "\x00\x7f\xf8\x00` \x1f\xde" + // 0x01FFE 0x00301: 0x01FDE
+ "\x00\x7f\xf8\x00h@\x1f\xdf" + // 0x01FFE 0x00342: 0x01FDF
+ "\x00\x0f\x14\x00`\xc0\x1f\xe0" + // 0x003C5 0x00306: 0x01FE0
+ "\x00\x0f\x14\x00`\x80\x1f\xe1" + // 0x003C5 0x00304: 0x01FE1
+ "\x00\x0f,\x00`\x00\x1f\xe2" + // 0x003CB 0x00300: 0x01FE2
+ "\x00\x0f\x04\x00b`\x1f\xe4" + // 0x003C1 0x00313: 0x01FE4
+ "\x00\x0f\x04\x00b\x80\x1f\xe5" + // 0x003C1 0x00314: 0x01FE5
+ "\x00\x0f\x14\x00h@\x1f\xe6" + // 0x003C5 0x00342: 0x01FE6
+ "\x00\x0f,\x00h@\x1f\xe7" + // 0x003CB 0x00342: 0x01FE7
+ "\x00\x0e\x94\x00`\xc0\x1f\xe8" + // 0x003A5 0x00306: 0x01FE8
+ "\x00\x0e\x94\x00`\x80\x1f\xe9" + // 0x003A5 0x00304: 0x01FE9
+ "\x00\x0e\x94\x00`\x00\x1f\xea" + // 0x003A5 0x00300: 0x01FEA
+ "\x00\x0e\x84\x00b\x80\x1f\xec" + // 0x003A1 0x00314: 0x01FEC
+ "\x00\x02\xa0\x00`\x00\x1f\xed" + // 0x000A8 0x00300: 0x01FED
+ "\x00}\xf0\x00h\xa0\x1f\xf2" + // 0x01F7C 0x00345: 0x01FF2
+ "\x00\x0f$\x00h\xa0\x1f\xf3" + // 0x003C9 0x00345: 0x01FF3
+ "\x00\x0f8\x00h\xa0\x1f\xf4" + // 0x003CE 0x00345: 0x01FF4
+ "\x00\x0f$\x00h@\x1f\xf6" + // 0x003C9 0x00342: 0x01FF6
+ "\x00\x7f\xd8\x00h\xa0\x1f\xf7" + // 0x01FF6 0x00345: 0x01FF7
+ "\x00\x0e|\x00`\x00\x1f\xf8" + // 0x0039F 0x00300: 0x01FF8
+ "\x00\x0e\xa4\x00`\x00\x1f\xfa" + // 0x003A9 0x00300: 0x01FFA
+ "\x00\x0e\xa4\x00h\xa0\x1f\xfc" + // 0x003A9 0x00345: 0x01FFC
+ "\x00\x86@\x00g\x00!\x9a" + // 0x02190 0x00338: 0x0219A
+ "\x00\x86H\x00g\x00!\x9b" + // 0x02192 0x00338: 0x0219B
+ "\x00\x86P\x00g\x00!\xae" + // 0x02194 0x00338: 0x021AE
+ "\x00\x87@\x00g\x00!\xcd" + // 0x021D0 0x00338: 0x021CD
+ "\x00\x87P\x00g\x00!\xce" + // 0x021D4 0x00338: 0x021CE
+ "\x00\x87H\x00g\x00!\xcf" + // 0x021D2 0x00338: 0x021CF
+ "\x00\x88\f\x00g\x00\"\x04" + // 0x02203 0x00338: 0x02204
+ "\x00\x88 \x00g\x00\"\t" + // 0x02208 0x00338: 0x02209
+ "\x00\x88,\x00g\x00\"\f" + // 0x0220B 0x00338: 0x0220C
+ "\x00\x88\x8c\x00g\x00\"$" + // 0x02223 0x00338: 0x02224
+ "\x00\x88\x94\x00g\x00\"&" + // 0x02225 0x00338: 0x02226
+ "\x00\x88\xf0\x00g\x00\"A" + // 0x0223C 0x00338: 0x02241
+ "\x00\x89\f\x00g\x00\"D" + // 0x02243 0x00338: 0x02244
+ "\x00\x89\x14\x00g\x00\"G" + // 0x02245 0x00338: 0x02247
+ "\x00\x89 \x00g\x00\"I" + // 0x02248 0x00338: 0x02249
+ "\x00\x00\xf4\x00g\x00\"`" + // 0x0003D 0x00338: 0x02260
+ "\x00\x89\x84\x00g\x00\"b" + // 0x02261 0x00338: 0x02262
+ "\x00\x894\x00g\x00\"m" + // 0x0224D 0x00338: 0x0226D
+ "\x00\x00\xf0\x00g\x00\"n" + // 0x0003C 0x00338: 0x0226E
+ "\x00\x00\xf8\x00g\x00\"o" + // 0x0003E 0x00338: 0x0226F
+ "\x00\x89\x90\x00g\x00\"p" + // 0x02264 0x00338: 0x02270
+ "\x00\x89\x94\x00g\x00\"q" + // 0x02265 0x00338: 0x02271
+ "\x00\x89\xc8\x00g\x00\"t" + // 0x02272 0x00338: 0x02274
+ "\x00\x89\xcc\x00g\x00\"u" + // 0x02273 0x00338: 0x02275
+ "\x00\x89\xd8\x00g\x00\"x" + // 0x02276 0x00338: 0x02278
+ "\x00\x89\xdc\x00g\x00\"y" + // 0x02277 0x00338: 0x02279
+ "\x00\x89\xe8\x00g\x00\"\x80" + // 0x0227A 0x00338: 0x02280
+ "\x00\x89\xec\x00g\x00\"\x81" + // 0x0227B 0x00338: 0x02281
+ "\x00\x8a\b\x00g\x00\"\x84" + // 0x02282 0x00338: 0x02284
+ "\x00\x8a\f\x00g\x00\"\x85" + // 0x02283 0x00338: 0x02285
+ "\x00\x8a\x18\x00g\x00\"\x88" + // 0x02286 0x00338: 0x02288
+ "\x00\x8a\x1c\x00g\x00\"\x89" + // 0x02287 0x00338: 0x02289
+ "\x00\x8a\x88\x00g\x00\"\xac" + // 0x022A2 0x00338: 0x022AC
+ "\x00\x8a\xa0\x00g\x00\"\xad" + // 0x022A8 0x00338: 0x022AD
+ "\x00\x8a\xa4\x00g\x00\"\xae" + // 0x022A9 0x00338: 0x022AE
+ "\x00\x8a\xac\x00g\x00\"\xaf" + // 0x022AB 0x00338: 0x022AF
+ "\x00\x89\xf0\x00g\x00\"\xe0" + // 0x0227C 0x00338: 0x022E0
+ "\x00\x89\xf4\x00g\x00\"\xe1" + // 0x0227D 0x00338: 0x022E1
+ "\x00\x8aD\x00g\x00\"\xe2" + // 0x02291 0x00338: 0x022E2
+ "\x00\x8aH\x00g\x00\"\xe3" + // 0x02292 0x00338: 0x022E3
+ "\x00\x8a\xc8\x00g\x00\"\xea" + // 0x022B2 0x00338: 0x022EA
+ "\x00\x8a\xcc\x00g\x00\"\xeb" + // 0x022B3 0x00338: 0x022EB
+ "\x00\x8a\xd0\x00g\x00\"\xec" + // 0x022B4 0x00338: 0x022EC
+ "\x00\x8a\xd4\x00g\x00\"\xed" + // 0x022B5 0x00338: 0x022ED
+ "\x00\xc1,\x06\x13 0L" + // 0x0304B 0x03099: 0x0304C
+ "\x00\xc14\x06\x13 0N" + // 0x0304D 0x03099: 0x0304E
+ "\x00\xc1<\x06\x13 0P" + // 0x0304F 0x03099: 0x03050
+ "\x00\xc1D\x06\x13 0R" + // 0x03051 0x03099: 0x03052
+ "\x00\xc1L\x06\x13 0T" + // 0x03053 0x03099: 0x03054
+ "\x00\xc1T\x06\x13 0V" + // 0x03055 0x03099: 0x03056
+ "\x00\xc1\\\x06\x13 0X" + // 0x03057 0x03099: 0x03058
+ "\x00\xc1d\x06\x13 0Z" + // 0x03059 0x03099: 0x0305A
+ "\x00\xc1l\x06\x13 0\\" + // 0x0305B 0x03099: 0x0305C
+ "\x00\xc1t\x06\x13 0^" + // 0x0305D 0x03099: 0x0305E
+ "\x00\xc1|\x06\x13 0`" + // 0x0305F 0x03099: 0x03060
+ "\x00\xc1\x84\x06\x13 0b" + // 0x03061 0x03099: 0x03062
+ "\x00\xc1\x90\x06\x13 0e" + // 0x03064 0x03099: 0x03065
+ "\x00\xc1\x98\x06\x13 0g" + // 0x03066 0x03099: 0x03067
+ "\x00\xc1\xa0\x06\x13 0i" + // 0x03068 0x03099: 0x03069
+ "\x00\xc1\xbc\x06\x13 0p" + // 0x0306F 0x03099: 0x03070
+ "\x00\xc1\xbc\x06\x13@0q" + // 0x0306F 0x0309A: 0x03071
+ "\x00\xc1\xc8\x06\x13 0s" + // 0x03072 0x03099: 0x03073
+ "\x00\xc1\xc8\x06\x13@0t" + // 0x03072 0x0309A: 0x03074
+ "\x00\xc1\xd4\x06\x13 0v" + // 0x03075 0x03099: 0x03076
+ "\x00\xc1\xd4\x06\x13@0w" + // 0x03075 0x0309A: 0x03077
+ "\x00\xc1\xe0\x06\x13 0y" + // 0x03078 0x03099: 0x03079
+ "\x00\xc1\xe0\x06\x13@0z" + // 0x03078 0x0309A: 0x0307A
+ "\x00\xc1\xec\x06\x13 0|" + // 0x0307B 0x03099: 0x0307C
+ "\x00\xc1\xec\x06\x13@0}" + // 0x0307B 0x0309A: 0x0307D
+ "\x00\xc1\x18\x06\x13 0\x94" + // 0x03046 0x03099: 0x03094
+ "\x00\xc2t\x06\x13 0\x9e" + // 0x0309D 0x03099: 0x0309E
+ "\x00¬\x06\x13 0\xac" + // 0x030AB 0x03099: 0x030AC
+ "\x00´\x06\x13 0\xae" + // 0x030AD 0x03099: 0x030AE
+ "\x00¼\x06\x13 0\xb0" + // 0x030AF 0x03099: 0x030B0
+ "\x00\xc2\xc4\x06\x13 0\xb2" + // 0x030B1 0x03099: 0x030B2
+ "\x00\xc2\xcc\x06\x13 0\xb4" + // 0x030B3 0x03099: 0x030B4
+ "\x00\xc2\xd4\x06\x13 0\xb6" + // 0x030B5 0x03099: 0x030B6
+ "\x00\xc2\xdc\x06\x13 0\xb8" + // 0x030B7 0x03099: 0x030B8
+ "\x00\xc2\xe4\x06\x13 0\xba" + // 0x030B9 0x03099: 0x030BA
+ "\x00\xc2\xec\x06\x13 0\xbc" + // 0x030BB 0x03099: 0x030BC
+ "\x00\xc2\xf4\x06\x13 0\xbe" + // 0x030BD 0x03099: 0x030BE
+ "\x00\xc2\xfc\x06\x13 0\xc0" + // 0x030BF 0x03099: 0x030C0
+ "\x00\xc3\x04\x06\x13 0\xc2" + // 0x030C1 0x03099: 0x030C2
+ "\x00\xc3\x10\x06\x13 0\xc5" + // 0x030C4 0x03099: 0x030C5
+ "\x00\xc3\x18\x06\x13 0\xc7" + // 0x030C6 0x03099: 0x030C7
+ "\x00\xc3 \x06\x13 0\xc9" + // 0x030C8 0x03099: 0x030C9
+ "\x00\xc3<\x06\x13 0\xd0" + // 0x030CF 0x03099: 0x030D0
+ "\x00\xc3<\x06\x13@0\xd1" + // 0x030CF 0x0309A: 0x030D1
+ "\x00\xc3H\x06\x13 0\xd3" + // 0x030D2 0x03099: 0x030D3
+ "\x00\xc3H\x06\x13@0\xd4" + // 0x030D2 0x0309A: 0x030D4
+ "\x00\xc3T\x06\x13 0\xd6" + // 0x030D5 0x03099: 0x030D6
+ "\x00\xc3T\x06\x13@0\xd7" + // 0x030D5 0x0309A: 0x030D7
+ "\x00\xc3`\x06\x13 0\xd9" + // 0x030D8 0x03099: 0x030D9
+ "\x00\xc3`\x06\x13@0\xda" + // 0x030D8 0x0309A: 0x030DA
+ "\x00\xc3l\x06\x13 0\xdc" + // 0x030DB 0x03099: 0x030DC
+ "\x00\xc3l\x06\x13@0\xdd" + // 0x030DB 0x0309A: 0x030DD
+ "\x00\u0098\x06\x13 0\xf4" + // 0x030A6 0x03099: 0x030F4
+ "\x00ü\x06\x13 0\xf7" + // 0x030EF 0x03099: 0x030F7
+ "\x00\xc3\xc0\x06\x13 0\xf8" + // 0x030F0 0x03099: 0x030F8
+ "\x00\xc3\xc4\x06\x13 0\xf9" + // 0x030F1 0x03099: 0x030F9
+ "\x00\xc3\xc8\x06\x13 0\xfa" + // 0x030F2 0x03099: 0x030FA
+ "\x00\xc3\xf4\x06\x13 0\xfe" + // 0x030FD 0x03099: 0x030FE
+ "\x04Bd\"\x17A\x10\x9a" + // 0x11099 0x110BA: 0x1109A
+ "\x04Bl\"\x17A\x10\x9c" + // 0x1109B 0x110BA: 0x1109C
+ "\x04B\x94\"\x17A\x10\xab" + // 0x110A5 0x110BA: 0x110AB
+ "\x04D\xc4\"$\xe1\x11." + // 0x11131 0x11127: 0x1112E
+ "\x04D\xc8\"$\xe1\x11/" + // 0x11132 0x11127: 0x1112F
+ "\x04M\x1c\"g\xc1\x13K" + // 0x11347 0x1133E: 0x1134B
+ "\x04M\x1c\"j\xe1\x13L" + // 0x11347 0x11357: 0x1134C
+ "\x04R\xe4\"\x97A\x14\xbb" + // 0x114B9 0x114BA: 0x114BB
+ "\x04R\xe4\"\x96\x01\x14\xbc" + // 0x114B9 0x114B0: 0x114BC
+ "\x04R\xe4\"\x97\xa1\x14\xbe" + // 0x114B9 0x114BD: 0x114BE
+ "\x04V\xe0\"\xb5\xe1\x15\xba" + // 0x115B8 0x115AF: 0x115BA
+ "\x04V\xe4\"\xb5\xe1\x15\xbb" + // 0x115B9 0x115AF: 0x115BB
+ "\x04d\xd4#&\x01\x198" + // 0x11935 0x11930: 0x11938
""
// Total size of tables: 56KB (57068 bytes)
diff --git a/vendor/golang.org/x/text/unicode/norm/tables17.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables17.0.0.go
index dfd555fc1..c32318912 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables17.0.0.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables17.0.0.go
@@ -7135,970 +7135,970 @@ var nfkcSparseValues = [980]valueRange{
}
// recompMap: 7688 bytes (entries only)
-var recompMap map[uint32]rune
+var recompMap map[uint64]rune
var recompMapOnce sync.Once
const recompMapPacked = "" +
- "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0
- "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1
- "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2
- "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3
- "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4
- "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5
- "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7
- "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8
- "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9
- "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA
- "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB
- "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC
- "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD
- "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE
- "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF
- "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1
- "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2
- "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3
- "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4
- "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5
- "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6
- "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9
- "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA
- "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB
- "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC
- "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD
- "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0
- "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1
- "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2
- "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3
- "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4
- "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5
- "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7
- "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8
- "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9
- "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA
- "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB
- "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC
- "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED
- "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE
- "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF
- "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1
- "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2
- "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3
- "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4
- "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5
- "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6
- "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9
- "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA
- "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB
- "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC
- "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD
- "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF
- "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100
- "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101
- "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102
- "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103
- "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104
- "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105
- "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106
- "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107
- "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108
- "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109
- "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A
- "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B
- "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C
- "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D
- "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E
- "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F
- "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112
- "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113
- "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114
- "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115
- "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116
- "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117
- "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118
- "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119
- "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A
- "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B
- "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C
- "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D
- "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E
- "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F
- "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120
- "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121
- "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122
- "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123
- "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124
- "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125
- "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128
- "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129
- "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A
- "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B
- "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C
- "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D
- "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E
- "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F
- "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130
- "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134
- "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135
- "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136
- "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137
- "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139
- "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A
- "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B
- "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C
- "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D
- "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E
- "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143
- "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144
- "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145
- "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146
- "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147
- "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148
- "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C
- "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D
- "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E
- "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F
- "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150
- "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151
- "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154
- "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155
- "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156
- "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157
- "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158
- "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159
- "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A
- "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B
- "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C
- "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D
- "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E
- "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F
- "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160
- "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161
- "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162
- "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163
- "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164
- "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165
- "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168
- "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169
- "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A
- "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B
- "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C
- "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D
- "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E
- "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F
- "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170
- "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171
- "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172
- "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173
- "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174
- "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175
- "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176
- "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177
- "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178
- "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179
- "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A
- "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B
- "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C
- "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D
- "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E
- "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0
- "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1
- "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF
- "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0
- "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD
- "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE
- "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF
- "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0
- "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1
- "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2
- "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3
- "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4
- "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5
- "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6
- "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7
- "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8
- "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9
- "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA
- "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB
- "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC
- "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE
- "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF
- "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0
- "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1
- "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2
- "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3
- "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6
- "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7
- "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8
- "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9
- "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA
- "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB
- "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC
- "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED
- "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE
- "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF
- "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0
- "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4
- "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5
- "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8
- "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9
- "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA
- "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB
- "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC
- "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD
- "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE
- "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF
- "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200
- "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201
- "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202
- "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203
- "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204
- "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205
- "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206
- "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207
- "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208
- "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209
- "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A
- "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B
- "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C
- "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D
- "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E
- "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F
- "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210
- "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211
- "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212
- "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213
- "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214
- "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215
- "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216
- "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217
- "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218
- "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219
- "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A
- "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B
- "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E
- "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F
- "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226
- "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227
- "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228
- "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229
- "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A
- "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B
- "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C
- "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D
- "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E
- "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F
- "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230
- "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231
- "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232
- "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233
- "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385
- "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386
- "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388
- "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389
- "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A
- "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C
- "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E
- "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F
- "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390
- "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA
- "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB
- "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC
- "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD
- "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE
- "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF
- "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0
- "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA
- "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB
- "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC
- "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD
- "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE
- "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3
- "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4
- "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400
- "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401
- "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403
- "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407
- "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C
- "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D
- "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E
- "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419
- "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439
- "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450
- "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451
- "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453
- "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457
- "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C
- "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D
- "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E
- "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476
- "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477
- "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1
- "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2
- "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0
- "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1
- "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2
- "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3
- "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6
- "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7
- "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA
- "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB
- "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC
- "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD
- "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE
- "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF
- "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2
- "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3
- "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4
- "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5
- "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6
- "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7
- "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA
- "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB
- "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC
- "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED
- "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE
- "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF
- "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0
- "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1
- "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2
- "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3
- "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4
- "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5
- "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8
- "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9
- "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622
- "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623
- "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624
- "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625
- "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626
- "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0
- "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2
- "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3
- "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929
- "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931
- "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934
- "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB
- "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC
- "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48
- "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B
- "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C
- "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94
- "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA
- "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB
- "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC
- "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48
- "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0
- "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7
- "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8
- "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA
- "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB
- "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A
- "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B
- "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C
- "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA
- "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC
- "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD
- "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE
- "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026
- "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06
- "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08
- "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A
- "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C
- "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E
- "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12
- "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B
- "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D
- "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40
- "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41
- "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43
- "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00
- "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01
- "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02
- "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03
- "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04
- "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05
- "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06
- "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07
- "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08
- "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09
- "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A
- "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B
- "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C
- "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D
- "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E
- "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F
- "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10
- "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11
- "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12
- "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13
- "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14
- "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15
- "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16
- "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17
- "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18
- "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19
- "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A
- "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B
- "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C
- "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D
- "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E
- "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F
- "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20
- "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21
- "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22
- "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23
- "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24
- "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25
- "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26
- "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27
- "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28
- "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29
- "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A
- "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B
- "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C
- "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D
- "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E
- "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F
- "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30
- "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31
- "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32
- "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33
- "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34
- "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35
- "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36
- "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37
- "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38
- "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39
- "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A
- "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B
- "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C
- "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D
- "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E
- "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F
- "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40
- "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41
- "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42
- "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43
- "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44
- "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45
- "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46
- "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47
- "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48
- "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49
- "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A
- "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B
- "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C
- "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D
- "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E
- "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F
- "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50
- "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51
- "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52
- "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53
- "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54
- "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55
- "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56
- "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57
- "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58
- "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59
- "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A
- "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B
- "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C
- "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D
- "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E
- "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F
- "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60
- "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61
- "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62
- "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63
- "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64
- "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65
- "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66
- "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67
- "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68
- "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69
- "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A
- "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B
- "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C
- "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D
- "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E
- "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F
- "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70
- "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71
- "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72
- "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73
- "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74
- "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75
- "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76
- "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77
- "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78
- "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79
- "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A
- "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B
- "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C
- "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D
- "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E
- "\x00v\x03#\x00\x00\x1e\x7f" + // 0x00760323: 0x00001E7F
- "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80
- "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81
- "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82
- "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83
- "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84
- "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85
- "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86
- "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87
- "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88
- "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89
- "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A
- "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B
- "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C
- "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D
- "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E
- "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F
- "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90
- "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91
- "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92
- "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93
- "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94
- "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95
- "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96
- "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97
- "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98
- "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99
- "\x01\x7f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B
- "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0
- "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1
- "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2
- "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3
- "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4
- "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5
- "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6
- "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7
- "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8
- "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9
- "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA
- "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB
- "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC
- "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD
- "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE
- "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF
- "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0
- "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1
- "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2
- "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3
- "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4
- "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5
- "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6
- "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7
- "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8
- "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9
- "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA
- "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB
- "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC
- "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD
- "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE
- "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF
- "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0
- "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1
- "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2
- "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3
- "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4
- "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5
- "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6
- "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7
- "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8
- "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9
- "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA
- "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB
- "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC
- "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD
- "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE
- "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF
- "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0
- "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1
- "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2
- "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3
- "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4
- "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5
- "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6
- "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7
- "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8
- "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9
- "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA
- "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB
- "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC
- "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD
- "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE
- "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF
- "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0
- "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1
- "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2
- "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3
- "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4
- "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5
- "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6
- "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7
- "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8
- "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9
- "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA
- "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB
- "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC
- "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED
- "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE
- "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF
- "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0
- "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1
- "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2
- "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3
- "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4
- "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5
- "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6
- "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7
- "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8
- "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9
- "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00
- "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01
- "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02
- "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03
- "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04
- "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05
- "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06
- "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07
- "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08
- "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09
- "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A
- "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B
- "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C
- "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D
- "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E
- "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F
- "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10
- "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11
- "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12
- "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13
- "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14
- "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15
- "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18
- "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19
- "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A
- "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B
- "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C
- "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D
- "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20
- "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21
- "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22
- "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23
- "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24
- "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25
- "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26
- "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27
- "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28
- "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29
- "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A
- "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B
- "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C
- "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D
- "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E
- "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F
- "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30
- "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31
- "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32
- "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33
- "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34
- "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35
- "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36
- "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37
- "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38
- "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39
- "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A
- "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B
- "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C
- "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D
- "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E
- "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F
- "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40
- "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41
- "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42
- "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43
- "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44
- "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45
- "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48
- "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49
- "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A
- "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B
- "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C
- "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D
- "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50
- "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51
- "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52
- "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53
- "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54
- "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55
- "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56
- "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57
- "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59
- "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B
- "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D
- "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F
- "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60
- "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61
- "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62
- "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63
- "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64
- "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65
- "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66
- "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67
- "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68
- "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69
- "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A
- "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B
- "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C
- "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D
- "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E
- "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F
- "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70
- "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72
- "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74
- "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76
- "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78
- "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A
- "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C
- "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80
- "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81
- "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82
- "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83
- "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84
- "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85
- "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86
- "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87
- "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88
- "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89
- "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A
- "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B
- "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C
- "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D
- "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E
- "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F
- "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90
- "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91
- "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92
- "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93
- "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94
- "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95
- "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96
- "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97
- "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98
- "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99
- "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A
- "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B
- "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C
- "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D
- "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E
- "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F
- "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0
- "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1
- "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2
- "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3
- "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4
- "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5
- "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6
- "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7
- "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8
- "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9
- "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA
- "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB
- "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC
- "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD
- "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE
- "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF
- "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0
- "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1
- "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2
- "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3
- "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4
- "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6
- "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7
- "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8
- "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9
- "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA
- "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC
- "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1
- "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2
- "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3
- "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4
- "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6
- "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7
- "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8
- "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA
- "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC
- "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD
- "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE
- "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF
- "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0
- "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1
- "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2
- "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6
- "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7
- "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8
- "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9
- "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA
- "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD
- "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE
- "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF
- "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0
- "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1
- "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2
- "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4
- "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5
- "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6
- "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7
- "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8
- "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9
- "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA
- "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC
- "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED
- "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2
- "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3
- "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4
- "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6
- "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7
- "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8
- "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA
- "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC
- "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A
- "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B
- "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE
- "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD
- "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE
- "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF
- "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204
- "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209
- "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C
- "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224
- "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226
- "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241
- "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244
- "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247
- "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249
- "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260
- "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262
- "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D
- "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E
- "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F
- "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270
- "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271
- "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274
- "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275
- "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278
- "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279
- "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280
- "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281
- "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284
- "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285
- "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288
- "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289
- "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC
- "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD
- "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE
- "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF
- "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0
- "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1
- "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2
- "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3
- "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA
- "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB
- "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC
- "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED
- "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C
- "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E
- "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050
- "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052
- "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054
- "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056
- "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058
- "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A
- "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C
- "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E
- "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060
- "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062
- "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065
- "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067
- "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069
- "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070
- "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071
- "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073
- "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074
- "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076
- "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077
- "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079
- "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A
- "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C
- "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D
- "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094
- "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E
- "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC
- "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE
- "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0
- "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2
- "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4
- "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6
- "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8
- "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA
- "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC
- "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE
- "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0
- "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2
- "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5
- "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7
- "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9
- "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0
- "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1
- "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3
- "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4
- "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6
- "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7
- "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9
- "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA
- "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC
- "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD
- "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4
- "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7
- "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8
- "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9
- "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA
- "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE
- "\x05\xd2\x03\a\x00\x01\x05\xc9" + // 0x05D20307: 0x000105C9
- "\x05\xda\x03\a\x00\x01\x05\xe4" + // 0x05DA0307: 0x000105E4
- "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A
- "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C
- "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB
- "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E
- "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F
- "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B
- "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C
- "\x13\x82\x13\xc9\x00\x01\x13\x83" + // 0x138213C9: 0x00011383
- "\x13\x84\x13\xbb\x00\x01\x13\x85" + // 0x138413BB: 0x00011385
- "\x13\x8b\x13\xc2\x00\x01\x13\x8e" + // 0x138B13C2: 0x0001138E
- "\x13\x90\x13\xc9\x00\x01\x13\x91" + // 0x139013C9: 0x00011391
- "\x13\xc2\x13\xc2\x00\x01\x13\xc5" + // 0x13C213C2: 0x000113C5
- "\x13\xc2\x13\xb8\x00\x01\x13\xc7" + // 0x13C213B8: 0x000113C7
- "\x13\xc2\x13\xc9\x00\x01\x13\xc8" + // 0x13C213C9: 0x000113C8
- "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB
- "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC
- "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE
- "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA
- "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB
- "\x195\x190\x00\x01\x198" + // 0x19351930: 0x00011938
- "a\x1ea\x1e\x00\x01a!" + // 0x611E611E: 0x00016121
- "a\x1ea)\x00\x01a\"" + // 0x611E6129: 0x00016122
- "a\x1ea\x1f\x00\x01a#" + // 0x611E611F: 0x00016123
- "a)a\x1f\x00\x01a$" + // 0x6129611F: 0x00016124
- "a\x1ea \x00\x01a%" + // 0x611E6120: 0x00016125
- "a!a\x1f\x00\x01a&" + // 0x6121611F: 0x00016126
- "a\"a\x1f\x00\x01a'" + // 0x6122611F: 0x00016127
- "a!a \x00\x01a(" + // 0x61216120: 0x00016128
- "mgmg\x00\x01mh" + // 0x6D676D67: 0x00016D68
- "mcmg\x00\x01mi" + // 0x6D636D67: 0x00016D69
- "mimg\x00\x01mj" + // 0x6D696D67: 0x00016D6A
+ "\x00\x01\x04\x00`\x00\x00\xc0" + // 0x00041 0x00300: 0x000C0
+ "\x00\x01\x04\x00` \x00\xc1" + // 0x00041 0x00301: 0x000C1
+ "\x00\x01\x04\x00`@\x00\xc2" + // 0x00041 0x00302: 0x000C2
+ "\x00\x01\x04\x00``\x00\xc3" + // 0x00041 0x00303: 0x000C3
+ "\x00\x01\x04\x00a\x00\x00\xc4" + // 0x00041 0x00308: 0x000C4
+ "\x00\x01\x04\x00a@\x00\xc5" + // 0x00041 0x0030A: 0x000C5
+ "\x00\x01\f\x00d\xe0\x00\xc7" + // 0x00043 0x00327: 0x000C7
+ "\x00\x01\x14\x00`\x00\x00\xc8" + // 0x00045 0x00300: 0x000C8
+ "\x00\x01\x14\x00` \x00\xc9" + // 0x00045 0x00301: 0x000C9
+ "\x00\x01\x14\x00`@\x00\xca" + // 0x00045 0x00302: 0x000CA
+ "\x00\x01\x14\x00a\x00\x00\xcb" + // 0x00045 0x00308: 0x000CB
+ "\x00\x01$\x00`\x00\x00\xcc" + // 0x00049 0x00300: 0x000CC
+ "\x00\x01$\x00` \x00\xcd" + // 0x00049 0x00301: 0x000CD
+ "\x00\x01$\x00`@\x00\xce" + // 0x00049 0x00302: 0x000CE
+ "\x00\x01$\x00a\x00\x00\xcf" + // 0x00049 0x00308: 0x000CF
+ "\x00\x018\x00``\x00\xd1" + // 0x0004E 0x00303: 0x000D1
+ "\x00\x01<\x00`\x00\x00\xd2" + // 0x0004F 0x00300: 0x000D2
+ "\x00\x01<\x00` \x00\xd3" + // 0x0004F 0x00301: 0x000D3
+ "\x00\x01<\x00`@\x00\xd4" + // 0x0004F 0x00302: 0x000D4
+ "\x00\x01<\x00``\x00\xd5" + // 0x0004F 0x00303: 0x000D5
+ "\x00\x01<\x00a\x00\x00\xd6" + // 0x0004F 0x00308: 0x000D6
+ "\x00\x01T\x00`\x00\x00\xd9" + // 0x00055 0x00300: 0x000D9
+ "\x00\x01T\x00` \x00\xda" + // 0x00055 0x00301: 0x000DA
+ "\x00\x01T\x00`@\x00\xdb" + // 0x00055 0x00302: 0x000DB
+ "\x00\x01T\x00a\x00\x00\xdc" + // 0x00055 0x00308: 0x000DC
+ "\x00\x01d\x00` \x00\xdd" + // 0x00059 0x00301: 0x000DD
+ "\x00\x01\x84\x00`\x00\x00\xe0" + // 0x00061 0x00300: 0x000E0
+ "\x00\x01\x84\x00` \x00\xe1" + // 0x00061 0x00301: 0x000E1
+ "\x00\x01\x84\x00`@\x00\xe2" + // 0x00061 0x00302: 0x000E2
+ "\x00\x01\x84\x00``\x00\xe3" + // 0x00061 0x00303: 0x000E3
+ "\x00\x01\x84\x00a\x00\x00\xe4" + // 0x00061 0x00308: 0x000E4
+ "\x00\x01\x84\x00a@\x00\xe5" + // 0x00061 0x0030A: 0x000E5
+ "\x00\x01\x8c\x00d\xe0\x00\xe7" + // 0x00063 0x00327: 0x000E7
+ "\x00\x01\x94\x00`\x00\x00\xe8" + // 0x00065 0x00300: 0x000E8
+ "\x00\x01\x94\x00` \x00\xe9" + // 0x00065 0x00301: 0x000E9
+ "\x00\x01\x94\x00`@\x00\xea" + // 0x00065 0x00302: 0x000EA
+ "\x00\x01\x94\x00a\x00\x00\xeb" + // 0x00065 0x00308: 0x000EB
+ "\x00\x01\xa4\x00`\x00\x00\xec" + // 0x00069 0x00300: 0x000EC
+ "\x00\x01\xa4\x00` \x00\xed" + // 0x00069 0x00301: 0x000ED
+ "\x00\x01\xa4\x00`@\x00\xee" + // 0x00069 0x00302: 0x000EE
+ "\x00\x01\xa4\x00a\x00\x00\xef" + // 0x00069 0x00308: 0x000EF
+ "\x00\x01\xb8\x00``\x00\xf1" + // 0x0006E 0x00303: 0x000F1
+ "\x00\x01\xbc\x00`\x00\x00\xf2" + // 0x0006F 0x00300: 0x000F2
+ "\x00\x01\xbc\x00` \x00\xf3" + // 0x0006F 0x00301: 0x000F3
+ "\x00\x01\xbc\x00`@\x00\xf4" + // 0x0006F 0x00302: 0x000F4
+ "\x00\x01\xbc\x00``\x00\xf5" + // 0x0006F 0x00303: 0x000F5
+ "\x00\x01\xbc\x00a\x00\x00\xf6" + // 0x0006F 0x00308: 0x000F6
+ "\x00\x01\xd4\x00`\x00\x00\xf9" + // 0x00075 0x00300: 0x000F9
+ "\x00\x01\xd4\x00` \x00\xfa" + // 0x00075 0x00301: 0x000FA
+ "\x00\x01\xd4\x00`@\x00\xfb" + // 0x00075 0x00302: 0x000FB
+ "\x00\x01\xd4\x00a\x00\x00\xfc" + // 0x00075 0x00308: 0x000FC
+ "\x00\x01\xe4\x00` \x00\xfd" + // 0x00079 0x00301: 0x000FD
+ "\x00\x01\xe4\x00a\x00\x00\xff" + // 0x00079 0x00308: 0x000FF
+ "\x00\x01\x04\x00`\x80\x01\x00" + // 0x00041 0x00304: 0x00100
+ "\x00\x01\x84\x00`\x80\x01\x01" + // 0x00061 0x00304: 0x00101
+ "\x00\x01\x04\x00`\xc0\x01\x02" + // 0x00041 0x00306: 0x00102
+ "\x00\x01\x84\x00`\xc0\x01\x03" + // 0x00061 0x00306: 0x00103
+ "\x00\x01\x04\x00e\x00\x01\x04" + // 0x00041 0x00328: 0x00104
+ "\x00\x01\x84\x00e\x00\x01\x05" + // 0x00061 0x00328: 0x00105
+ "\x00\x01\f\x00` \x01\x06" + // 0x00043 0x00301: 0x00106
+ "\x00\x01\x8c\x00` \x01\a" + // 0x00063 0x00301: 0x00107
+ "\x00\x01\f\x00`@\x01\b" + // 0x00043 0x00302: 0x00108
+ "\x00\x01\x8c\x00`@\x01\t" + // 0x00063 0x00302: 0x00109
+ "\x00\x01\f\x00`\xe0\x01\n" + // 0x00043 0x00307: 0x0010A
+ "\x00\x01\x8c\x00`\xe0\x01\v" + // 0x00063 0x00307: 0x0010B
+ "\x00\x01\f\x00a\x80\x01\f" + // 0x00043 0x0030C: 0x0010C
+ "\x00\x01\x8c\x00a\x80\x01\r" + // 0x00063 0x0030C: 0x0010D
+ "\x00\x01\x10\x00a\x80\x01\x0e" + // 0x00044 0x0030C: 0x0010E
+ "\x00\x01\x90\x00a\x80\x01\x0f" + // 0x00064 0x0030C: 0x0010F
+ "\x00\x01\x14\x00`\x80\x01\x12" + // 0x00045 0x00304: 0x00112
+ "\x00\x01\x94\x00`\x80\x01\x13" + // 0x00065 0x00304: 0x00113
+ "\x00\x01\x14\x00`\xc0\x01\x14" + // 0x00045 0x00306: 0x00114
+ "\x00\x01\x94\x00`\xc0\x01\x15" + // 0x00065 0x00306: 0x00115
+ "\x00\x01\x14\x00`\xe0\x01\x16" + // 0x00045 0x00307: 0x00116
+ "\x00\x01\x94\x00`\xe0\x01\x17" + // 0x00065 0x00307: 0x00117
+ "\x00\x01\x14\x00e\x00\x01\x18" + // 0x00045 0x00328: 0x00118
+ "\x00\x01\x94\x00e\x00\x01\x19" + // 0x00065 0x00328: 0x00119
+ "\x00\x01\x14\x00a\x80\x01\x1a" + // 0x00045 0x0030C: 0x0011A
+ "\x00\x01\x94\x00a\x80\x01\x1b" + // 0x00065 0x0030C: 0x0011B
+ "\x00\x01\x1c\x00`@\x01\x1c" + // 0x00047 0x00302: 0x0011C
+ "\x00\x01\x9c\x00`@\x01\x1d" + // 0x00067 0x00302: 0x0011D
+ "\x00\x01\x1c\x00`\xc0\x01\x1e" + // 0x00047 0x00306: 0x0011E
+ "\x00\x01\x9c\x00`\xc0\x01\x1f" + // 0x00067 0x00306: 0x0011F
+ "\x00\x01\x1c\x00`\xe0\x01 " + // 0x00047 0x00307: 0x00120
+ "\x00\x01\x9c\x00`\xe0\x01!" + // 0x00067 0x00307: 0x00121
+ "\x00\x01\x1c\x00d\xe0\x01\"" + // 0x00047 0x00327: 0x00122
+ "\x00\x01\x9c\x00d\xe0\x01#" + // 0x00067 0x00327: 0x00123
+ "\x00\x01 \x00`@\x01$" + // 0x00048 0x00302: 0x00124
+ "\x00\x01\xa0\x00`@\x01%" + // 0x00068 0x00302: 0x00125
+ "\x00\x01$\x00``\x01(" + // 0x00049 0x00303: 0x00128
+ "\x00\x01\xa4\x00``\x01)" + // 0x00069 0x00303: 0x00129
+ "\x00\x01$\x00`\x80\x01*" + // 0x00049 0x00304: 0x0012A
+ "\x00\x01\xa4\x00`\x80\x01+" + // 0x00069 0x00304: 0x0012B
+ "\x00\x01$\x00`\xc0\x01," + // 0x00049 0x00306: 0x0012C
+ "\x00\x01\xa4\x00`\xc0\x01-" + // 0x00069 0x00306: 0x0012D
+ "\x00\x01$\x00e\x00\x01." + // 0x00049 0x00328: 0x0012E
+ "\x00\x01\xa4\x00e\x00\x01/" + // 0x00069 0x00328: 0x0012F
+ "\x00\x01$\x00`\xe0\x010" + // 0x00049 0x00307: 0x00130
+ "\x00\x01(\x00`@\x014" + // 0x0004A 0x00302: 0x00134
+ "\x00\x01\xa8\x00`@\x015" + // 0x0006A 0x00302: 0x00135
+ "\x00\x01,\x00d\xe0\x016" + // 0x0004B 0x00327: 0x00136
+ "\x00\x01\xac\x00d\xe0\x017" + // 0x0006B 0x00327: 0x00137
+ "\x00\x010\x00` \x019" + // 0x0004C 0x00301: 0x00139
+ "\x00\x01\xb0\x00` \x01:" + // 0x0006C 0x00301: 0x0013A
+ "\x00\x010\x00d\xe0\x01;" + // 0x0004C 0x00327: 0x0013B
+ "\x00\x01\xb0\x00d\xe0\x01<" + // 0x0006C 0x00327: 0x0013C
+ "\x00\x010\x00a\x80\x01=" + // 0x0004C 0x0030C: 0x0013D
+ "\x00\x01\xb0\x00a\x80\x01>" + // 0x0006C 0x0030C: 0x0013E
+ "\x00\x018\x00` \x01C" + // 0x0004E 0x00301: 0x00143
+ "\x00\x01\xb8\x00` \x01D" + // 0x0006E 0x00301: 0x00144
+ "\x00\x018\x00d\xe0\x01E" + // 0x0004E 0x00327: 0x00145
+ "\x00\x01\xb8\x00d\xe0\x01F" + // 0x0006E 0x00327: 0x00146
+ "\x00\x018\x00a\x80\x01G" + // 0x0004E 0x0030C: 0x00147
+ "\x00\x01\xb8\x00a\x80\x01H" + // 0x0006E 0x0030C: 0x00148
+ "\x00\x01<\x00`\x80\x01L" + // 0x0004F 0x00304: 0x0014C
+ "\x00\x01\xbc\x00`\x80\x01M" + // 0x0006F 0x00304: 0x0014D
+ "\x00\x01<\x00`\xc0\x01N" + // 0x0004F 0x00306: 0x0014E
+ "\x00\x01\xbc\x00`\xc0\x01O" + // 0x0006F 0x00306: 0x0014F
+ "\x00\x01<\x00a`\x01P" + // 0x0004F 0x0030B: 0x00150
+ "\x00\x01\xbc\x00a`\x01Q" + // 0x0006F 0x0030B: 0x00151
+ "\x00\x01H\x00` \x01T" + // 0x00052 0x00301: 0x00154
+ "\x00\x01\xc8\x00` \x01U" + // 0x00072 0x00301: 0x00155
+ "\x00\x01H\x00d\xe0\x01V" + // 0x00052 0x00327: 0x00156
+ "\x00\x01\xc8\x00d\xe0\x01W" + // 0x00072 0x00327: 0x00157
+ "\x00\x01H\x00a\x80\x01X" + // 0x00052 0x0030C: 0x00158
+ "\x00\x01\xc8\x00a\x80\x01Y" + // 0x00072 0x0030C: 0x00159
+ "\x00\x01L\x00` \x01Z" + // 0x00053 0x00301: 0x0015A
+ "\x00\x01\xcc\x00` \x01[" + // 0x00073 0x00301: 0x0015B
+ "\x00\x01L\x00`@\x01\\" + // 0x00053 0x00302: 0x0015C
+ "\x00\x01\xcc\x00`@\x01]" + // 0x00073 0x00302: 0x0015D
+ "\x00\x01L\x00d\xe0\x01^" + // 0x00053 0x00327: 0x0015E
+ "\x00\x01\xcc\x00d\xe0\x01_" + // 0x00073 0x00327: 0x0015F
+ "\x00\x01L\x00a\x80\x01`" + // 0x00053 0x0030C: 0x00160
+ "\x00\x01\xcc\x00a\x80\x01a" + // 0x00073 0x0030C: 0x00161
+ "\x00\x01P\x00d\xe0\x01b" + // 0x00054 0x00327: 0x00162
+ "\x00\x01\xd0\x00d\xe0\x01c" + // 0x00074 0x00327: 0x00163
+ "\x00\x01P\x00a\x80\x01d" + // 0x00054 0x0030C: 0x00164
+ "\x00\x01\xd0\x00a\x80\x01e" + // 0x00074 0x0030C: 0x00165
+ "\x00\x01T\x00``\x01h" + // 0x00055 0x00303: 0x00168
+ "\x00\x01\xd4\x00``\x01i" + // 0x00075 0x00303: 0x00169
+ "\x00\x01T\x00`\x80\x01j" + // 0x00055 0x00304: 0x0016A
+ "\x00\x01\xd4\x00`\x80\x01k" + // 0x00075 0x00304: 0x0016B
+ "\x00\x01T\x00`\xc0\x01l" + // 0x00055 0x00306: 0x0016C
+ "\x00\x01\xd4\x00`\xc0\x01m" + // 0x00075 0x00306: 0x0016D
+ "\x00\x01T\x00a@\x01n" + // 0x00055 0x0030A: 0x0016E
+ "\x00\x01\xd4\x00a@\x01o" + // 0x00075 0x0030A: 0x0016F
+ "\x00\x01T\x00a`\x01p" + // 0x00055 0x0030B: 0x00170
+ "\x00\x01\xd4\x00a`\x01q" + // 0x00075 0x0030B: 0x00171
+ "\x00\x01T\x00e\x00\x01r" + // 0x00055 0x00328: 0x00172
+ "\x00\x01\xd4\x00e\x00\x01s" + // 0x00075 0x00328: 0x00173
+ "\x00\x01\\\x00`@\x01t" + // 0x00057 0x00302: 0x00174
+ "\x00\x01\xdc\x00`@\x01u" + // 0x00077 0x00302: 0x00175
+ "\x00\x01d\x00`@\x01v" + // 0x00059 0x00302: 0x00176
+ "\x00\x01\xe4\x00`@\x01w" + // 0x00079 0x00302: 0x00177
+ "\x00\x01d\x00a\x00\x01x" + // 0x00059 0x00308: 0x00178
+ "\x00\x01h\x00` \x01y" + // 0x0005A 0x00301: 0x00179
+ "\x00\x01\xe8\x00` \x01z" + // 0x0007A 0x00301: 0x0017A
+ "\x00\x01h\x00`\xe0\x01{" + // 0x0005A 0x00307: 0x0017B
+ "\x00\x01\xe8\x00`\xe0\x01|" + // 0x0007A 0x00307: 0x0017C
+ "\x00\x01h\x00a\x80\x01}" + // 0x0005A 0x0030C: 0x0017D
+ "\x00\x01\xe8\x00a\x80\x01~" + // 0x0007A 0x0030C: 0x0017E
+ "\x00\x01<\x00c`\x01\xa0" + // 0x0004F 0x0031B: 0x001A0
+ "\x00\x01\xbc\x00c`\x01\xa1" + // 0x0006F 0x0031B: 0x001A1
+ "\x00\x01T\x00c`\x01\xaf" + // 0x00055 0x0031B: 0x001AF
+ "\x00\x01\xd4\x00c`\x01\xb0" + // 0x00075 0x0031B: 0x001B0
+ "\x00\x01\x04\x00a\x80\x01\xcd" + // 0x00041 0x0030C: 0x001CD
+ "\x00\x01\x84\x00a\x80\x01\xce" + // 0x00061 0x0030C: 0x001CE
+ "\x00\x01$\x00a\x80\x01\xcf" + // 0x00049 0x0030C: 0x001CF
+ "\x00\x01\xa4\x00a\x80\x01\xd0" + // 0x00069 0x0030C: 0x001D0
+ "\x00\x01<\x00a\x80\x01\xd1" + // 0x0004F 0x0030C: 0x001D1
+ "\x00\x01\xbc\x00a\x80\x01\xd2" + // 0x0006F 0x0030C: 0x001D2
+ "\x00\x01T\x00a\x80\x01\xd3" + // 0x00055 0x0030C: 0x001D3
+ "\x00\x01\xd4\x00a\x80\x01\xd4" + // 0x00075 0x0030C: 0x001D4
+ "\x00\x03p\x00`\x80\x01\xd5" + // 0x000DC 0x00304: 0x001D5
+ "\x00\x03\xf0\x00`\x80\x01\xd6" + // 0x000FC 0x00304: 0x001D6
+ "\x00\x03p\x00` \x01\xd7" + // 0x000DC 0x00301: 0x001D7
+ "\x00\x03\xf0\x00` \x01\xd8" + // 0x000FC 0x00301: 0x001D8
+ "\x00\x03p\x00a\x80\x01\xd9" + // 0x000DC 0x0030C: 0x001D9
+ "\x00\x03\xf0\x00a\x80\x01\xda" + // 0x000FC 0x0030C: 0x001DA
+ "\x00\x03p\x00`\x00\x01\xdb" + // 0x000DC 0x00300: 0x001DB
+ "\x00\x03\xf0\x00`\x00\x01\xdc" + // 0x000FC 0x00300: 0x001DC
+ "\x00\x03\x10\x00`\x80\x01\xde" + // 0x000C4 0x00304: 0x001DE
+ "\x00\x03\x90\x00`\x80\x01\xdf" + // 0x000E4 0x00304: 0x001DF
+ "\x00\b\x98\x00`\x80\x01\xe0" + // 0x00226 0x00304: 0x001E0
+ "\x00\b\x9c\x00`\x80\x01\xe1" + // 0x00227 0x00304: 0x001E1
+ "\x00\x03\x18\x00`\x80\x01\xe2" + // 0x000C6 0x00304: 0x001E2
+ "\x00\x03\x98\x00`\x80\x01\xe3" + // 0x000E6 0x00304: 0x001E3
+ "\x00\x01\x1c\x00a\x80\x01\xe6" + // 0x00047 0x0030C: 0x001E6
+ "\x00\x01\x9c\x00a\x80\x01\xe7" + // 0x00067 0x0030C: 0x001E7
+ "\x00\x01,\x00a\x80\x01\xe8" + // 0x0004B 0x0030C: 0x001E8
+ "\x00\x01\xac\x00a\x80\x01\xe9" + // 0x0006B 0x0030C: 0x001E9
+ "\x00\x01<\x00e\x00\x01\xea" + // 0x0004F 0x00328: 0x001EA
+ "\x00\x01\xbc\x00e\x00\x01\xeb" + // 0x0006F 0x00328: 0x001EB
+ "\x00\a\xa8\x00`\x80\x01\xec" + // 0x001EA 0x00304: 0x001EC
+ "\x00\a\xac\x00`\x80\x01\xed" + // 0x001EB 0x00304: 0x001ED
+ "\x00\x06\xdc\x00a\x80\x01\xee" + // 0x001B7 0x0030C: 0x001EE
+ "\x00\nH\x00a\x80\x01\xef" + // 0x00292 0x0030C: 0x001EF
+ "\x00\x01\xa8\x00a\x80\x01\xf0" + // 0x0006A 0x0030C: 0x001F0
+ "\x00\x01\x1c\x00` \x01\xf4" + // 0x00047 0x00301: 0x001F4
+ "\x00\x01\x9c\x00` \x01\xf5" + // 0x00067 0x00301: 0x001F5
+ "\x00\x018\x00`\x00\x01\xf8" + // 0x0004E 0x00300: 0x001F8
+ "\x00\x01\xb8\x00`\x00\x01\xf9" + // 0x0006E 0x00300: 0x001F9
+ "\x00\x03\x14\x00` \x01\xfa" + // 0x000C5 0x00301: 0x001FA
+ "\x00\x03\x94\x00` \x01\xfb" + // 0x000E5 0x00301: 0x001FB
+ "\x00\x03\x18\x00` \x01\xfc" + // 0x000C6 0x00301: 0x001FC
+ "\x00\x03\x98\x00` \x01\xfd" + // 0x000E6 0x00301: 0x001FD
+ "\x00\x03`\x00` \x01\xfe" + // 0x000D8 0x00301: 0x001FE
+ "\x00\x03\xe0\x00` \x01\xff" + // 0x000F8 0x00301: 0x001FF
+ "\x00\x01\x04\x00a\xe0\x02\x00" + // 0x00041 0x0030F: 0x00200
+ "\x00\x01\x84\x00a\xe0\x02\x01" + // 0x00061 0x0030F: 0x00201
+ "\x00\x01\x04\x00b \x02\x02" + // 0x00041 0x00311: 0x00202
+ "\x00\x01\x84\x00b \x02\x03" + // 0x00061 0x00311: 0x00203
+ "\x00\x01\x14\x00a\xe0\x02\x04" + // 0x00045 0x0030F: 0x00204
+ "\x00\x01\x94\x00a\xe0\x02\x05" + // 0x00065 0x0030F: 0x00205
+ "\x00\x01\x14\x00b \x02\x06" + // 0x00045 0x00311: 0x00206
+ "\x00\x01\x94\x00b \x02\a" + // 0x00065 0x00311: 0x00207
+ "\x00\x01$\x00a\xe0\x02\b" + // 0x00049 0x0030F: 0x00208
+ "\x00\x01\xa4\x00a\xe0\x02\t" + // 0x00069 0x0030F: 0x00209
+ "\x00\x01$\x00b \x02\n" + // 0x00049 0x00311: 0x0020A
+ "\x00\x01\xa4\x00b \x02\v" + // 0x00069 0x00311: 0x0020B
+ "\x00\x01<\x00a\xe0\x02\f" + // 0x0004F 0x0030F: 0x0020C
+ "\x00\x01\xbc\x00a\xe0\x02\r" + // 0x0006F 0x0030F: 0x0020D
+ "\x00\x01<\x00b \x02\x0e" + // 0x0004F 0x00311: 0x0020E
+ "\x00\x01\xbc\x00b \x02\x0f" + // 0x0006F 0x00311: 0x0020F
+ "\x00\x01H\x00a\xe0\x02\x10" + // 0x00052 0x0030F: 0x00210
+ "\x00\x01\xc8\x00a\xe0\x02\x11" + // 0x00072 0x0030F: 0x00211
+ "\x00\x01H\x00b \x02\x12" + // 0x00052 0x00311: 0x00212
+ "\x00\x01\xc8\x00b \x02\x13" + // 0x00072 0x00311: 0x00213
+ "\x00\x01T\x00a\xe0\x02\x14" + // 0x00055 0x0030F: 0x00214
+ "\x00\x01\xd4\x00a\xe0\x02\x15" + // 0x00075 0x0030F: 0x00215
+ "\x00\x01T\x00b \x02\x16" + // 0x00055 0x00311: 0x00216
+ "\x00\x01\xd4\x00b \x02\x17" + // 0x00075 0x00311: 0x00217
+ "\x00\x01L\x00d\xc0\x02\x18" + // 0x00053 0x00326: 0x00218
+ "\x00\x01\xcc\x00d\xc0\x02\x19" + // 0x00073 0x00326: 0x00219
+ "\x00\x01P\x00d\xc0\x02\x1a" + // 0x00054 0x00326: 0x0021A
+ "\x00\x01\xd0\x00d\xc0\x02\x1b" + // 0x00074 0x00326: 0x0021B
+ "\x00\x01 \x00a\x80\x02\x1e" + // 0x00048 0x0030C: 0x0021E
+ "\x00\x01\xa0\x00a\x80\x02\x1f" + // 0x00068 0x0030C: 0x0021F
+ "\x00\x01\x04\x00`\xe0\x02&" + // 0x00041 0x00307: 0x00226
+ "\x00\x01\x84\x00`\xe0\x02'" + // 0x00061 0x00307: 0x00227
+ "\x00\x01\x14\x00d\xe0\x02(" + // 0x00045 0x00327: 0x00228
+ "\x00\x01\x94\x00d\xe0\x02)" + // 0x00065 0x00327: 0x00229
+ "\x00\x03X\x00`\x80\x02*" + // 0x000D6 0x00304: 0x0022A
+ "\x00\x03\xd8\x00`\x80\x02+" + // 0x000F6 0x00304: 0x0022B
+ "\x00\x03T\x00`\x80\x02," + // 0x000D5 0x00304: 0x0022C
+ "\x00\x03\xd4\x00`\x80\x02-" + // 0x000F5 0x00304: 0x0022D
+ "\x00\x01<\x00`\xe0\x02." + // 0x0004F 0x00307: 0x0022E
+ "\x00\x01\xbc\x00`\xe0\x02/" + // 0x0006F 0x00307: 0x0022F
+ "\x00\b\xb8\x00`\x80\x020" + // 0x0022E 0x00304: 0x00230
+ "\x00\b\xbc\x00`\x80\x021" + // 0x0022F 0x00304: 0x00231
+ "\x00\x01d\x00`\x80\x022" + // 0x00059 0x00304: 0x00232
+ "\x00\x01\xe4\x00`\x80\x023" + // 0x00079 0x00304: 0x00233
+ "\x00\x02\xa0\x00` \x03\x85" + // 0x000A8 0x00301: 0x00385
+ "\x00\x0eD\x00` \x03\x86" + // 0x00391 0x00301: 0x00386
+ "\x00\x0eT\x00` \x03\x88" + // 0x00395 0x00301: 0x00388
+ "\x00\x0e\\\x00` \x03\x89" + // 0x00397 0x00301: 0x00389
+ "\x00\x0ed\x00` \x03\x8a" + // 0x00399 0x00301: 0x0038A
+ "\x00\x0e|\x00` \x03\x8c" + // 0x0039F 0x00301: 0x0038C
+ "\x00\x0e\x94\x00` \x03\x8e" + // 0x003A5 0x00301: 0x0038E
+ "\x00\x0e\xa4\x00` \x03\x8f" + // 0x003A9 0x00301: 0x0038F
+ "\x00\x0f(\x00` \x03\x90" + // 0x003CA 0x00301: 0x00390
+ "\x00\x0ed\x00a\x00\x03\xaa" + // 0x00399 0x00308: 0x003AA
+ "\x00\x0e\x94\x00a\x00\x03\xab" + // 0x003A5 0x00308: 0x003AB
+ "\x00\x0e\xc4\x00` \x03\xac" + // 0x003B1 0x00301: 0x003AC
+ "\x00\x0e\xd4\x00` \x03\xad" + // 0x003B5 0x00301: 0x003AD
+ "\x00\x0e\xdc\x00` \x03\xae" + // 0x003B7 0x00301: 0x003AE
+ "\x00\x0e\xe4\x00` \x03\xaf" + // 0x003B9 0x00301: 0x003AF
+ "\x00\x0f,\x00` \x03\xb0" + // 0x003CB 0x00301: 0x003B0
+ "\x00\x0e\xe4\x00a\x00\x03\xca" + // 0x003B9 0x00308: 0x003CA
+ "\x00\x0f\x14\x00a\x00\x03\xcb" + // 0x003C5 0x00308: 0x003CB
+ "\x00\x0e\xfc\x00` \x03\xcc" + // 0x003BF 0x00301: 0x003CC
+ "\x00\x0f\x14\x00` \x03\xcd" + // 0x003C5 0x00301: 0x003CD
+ "\x00\x0f$\x00` \x03\xce" + // 0x003C9 0x00301: 0x003CE
+ "\x00\x0fH\x00` \x03\xd3" + // 0x003D2 0x00301: 0x003D3
+ "\x00\x0fH\x00a\x00\x03\xd4" + // 0x003D2 0x00308: 0x003D4
+ "\x00\x10T\x00`\x00\x04\x00" + // 0x00415 0x00300: 0x00400
+ "\x00\x10T\x00a\x00\x04\x01" + // 0x00415 0x00308: 0x00401
+ "\x00\x10L\x00` \x04\x03" + // 0x00413 0x00301: 0x00403
+ "\x00\x10\x18\x00a\x00\x04\a" + // 0x00406 0x00308: 0x00407
+ "\x00\x10h\x00` \x04\f" + // 0x0041A 0x00301: 0x0040C
+ "\x00\x10`\x00`\x00\x04\r" + // 0x00418 0x00300: 0x0040D
+ "\x00\x10\x8c\x00`\xc0\x04\x0e" + // 0x00423 0x00306: 0x0040E
+ "\x00\x10`\x00`\xc0\x04\x19" + // 0x00418 0x00306: 0x00419
+ "\x00\x10\xe0\x00`\xc0\x049" + // 0x00438 0x00306: 0x00439
+ "\x00\x10\xd4\x00`\x00\x04P" + // 0x00435 0x00300: 0x00450
+ "\x00\x10\xd4\x00a\x00\x04Q" + // 0x00435 0x00308: 0x00451
+ "\x00\x10\xcc\x00` \x04S" + // 0x00433 0x00301: 0x00453
+ "\x00\x11X\x00a\x00\x04W" + // 0x00456 0x00308: 0x00457
+ "\x00\x10\xe8\x00` \x04\\" + // 0x0043A 0x00301: 0x0045C
+ "\x00\x10\xe0\x00`\x00\x04]" + // 0x00438 0x00300: 0x0045D
+ "\x00\x11\f\x00`\xc0\x04^" + // 0x00443 0x00306: 0x0045E
+ "\x00\x11\xd0\x00a\xe0\x04v" + // 0x00474 0x0030F: 0x00476
+ "\x00\x11\xd4\x00a\xe0\x04w" + // 0x00475 0x0030F: 0x00477
+ "\x00\x10X\x00`\xc0\x04\xc1" + // 0x00416 0x00306: 0x004C1
+ "\x00\x10\xd8\x00`\xc0\x04\xc2" + // 0x00436 0x00306: 0x004C2
+ "\x00\x10@\x00`\xc0\x04\xd0" + // 0x00410 0x00306: 0x004D0
+ "\x00\x10\xc0\x00`\xc0\x04\xd1" + // 0x00430 0x00306: 0x004D1
+ "\x00\x10@\x00a\x00\x04\xd2" + // 0x00410 0x00308: 0x004D2
+ "\x00\x10\xc0\x00a\x00\x04\xd3" + // 0x00430 0x00308: 0x004D3
+ "\x00\x10T\x00`\xc0\x04\xd6" + // 0x00415 0x00306: 0x004D6
+ "\x00\x10\xd4\x00`\xc0\x04\xd7" + // 0x00435 0x00306: 0x004D7
+ "\x00\x13`\x00a\x00\x04\xda" + // 0x004D8 0x00308: 0x004DA
+ "\x00\x13d\x00a\x00\x04\xdb" + // 0x004D9 0x00308: 0x004DB
+ "\x00\x10X\x00a\x00\x04\xdc" + // 0x00416 0x00308: 0x004DC
+ "\x00\x10\xd8\x00a\x00\x04\xdd" + // 0x00436 0x00308: 0x004DD
+ "\x00\x10\\\x00a\x00\x04\xde" + // 0x00417 0x00308: 0x004DE
+ "\x00\x10\xdc\x00a\x00\x04\xdf" + // 0x00437 0x00308: 0x004DF
+ "\x00\x10`\x00`\x80\x04\xe2" + // 0x00418 0x00304: 0x004E2
+ "\x00\x10\xe0\x00`\x80\x04\xe3" + // 0x00438 0x00304: 0x004E3
+ "\x00\x10`\x00a\x00\x04\xe4" + // 0x00418 0x00308: 0x004E4
+ "\x00\x10\xe0\x00a\x00\x04\xe5" + // 0x00438 0x00308: 0x004E5
+ "\x00\x10x\x00a\x00\x04\xe6" + // 0x0041E 0x00308: 0x004E6
+ "\x00\x10\xf8\x00a\x00\x04\xe7" + // 0x0043E 0x00308: 0x004E7
+ "\x00\x13\xa0\x00a\x00\x04\xea" + // 0x004E8 0x00308: 0x004EA
+ "\x00\x13\xa4\x00a\x00\x04\xeb" + // 0x004E9 0x00308: 0x004EB
+ "\x00\x10\xb4\x00a\x00\x04\xec" + // 0x0042D 0x00308: 0x004EC
+ "\x00\x114\x00a\x00\x04\xed" + // 0x0044D 0x00308: 0x004ED
+ "\x00\x10\x8c\x00`\x80\x04\xee" + // 0x00423 0x00304: 0x004EE
+ "\x00\x11\f\x00`\x80\x04\xef" + // 0x00443 0x00304: 0x004EF
+ "\x00\x10\x8c\x00a\x00\x04\xf0" + // 0x00423 0x00308: 0x004F0
+ "\x00\x11\f\x00a\x00\x04\xf1" + // 0x00443 0x00308: 0x004F1
+ "\x00\x10\x8c\x00a`\x04\xf2" + // 0x00423 0x0030B: 0x004F2
+ "\x00\x11\f\x00a`\x04\xf3" + // 0x00443 0x0030B: 0x004F3
+ "\x00\x10\x9c\x00a\x00\x04\xf4" + // 0x00427 0x00308: 0x004F4
+ "\x00\x11\x1c\x00a\x00\x04\xf5" + // 0x00447 0x00308: 0x004F5
+ "\x00\x10\xac\x00a\x00\x04\xf8" + // 0x0042B 0x00308: 0x004F8
+ "\x00\x11,\x00a\x00\x04\xf9" + // 0x0044B 0x00308: 0x004F9
+ "\x00\x18\x9c\x00\xca`\x06\"" + // 0x00627 0x00653: 0x00622
+ "\x00\x18\x9c\x00ʀ\x06#" + // 0x00627 0x00654: 0x00623
+ "\x00\x19 \x00ʀ\x06$" + // 0x00648 0x00654: 0x00624
+ "\x00\x18\x9c\x00ʠ\x06%" + // 0x00627 0x00655: 0x00625
+ "\x00\x19(\x00ʀ\x06&" + // 0x0064A 0x00654: 0x00626
+ "\x00\x1bT\x00ʀ\x06\xc0" + // 0x006D5 0x00654: 0x006C0
+ "\x00\x1b\x04\x00ʀ\x06\xc2" + // 0x006C1 0x00654: 0x006C2
+ "\x00\x1bH\x00ʀ\x06\xd3" + // 0x006D2 0x00654: 0x006D3
+ "\x00$\xa0\x01'\x80\t)" + // 0x00928 0x0093C: 0x00929
+ "\x00$\xc0\x01'\x80\t1" + // 0x00930 0x0093C: 0x00931
+ "\x00$\xcc\x01'\x80\t4" + // 0x00933 0x0093C: 0x00934
+ "\x00'\x1c\x017\xc0\t\xcb" + // 0x009C7 0x009BE: 0x009CB
+ "\x00'\x1c\x01:\xe0\t\xcc" + // 0x009C7 0x009D7: 0x009CC
+ "\x00-\x1c\x01j\xc0\vH" + // 0x00B47 0x00B56: 0x00B48
+ "\x00-\x1c\x01g\xc0\vK" + // 0x00B47 0x00B3E: 0x00B4B
+ "\x00-\x1c\x01j\xe0\vL" + // 0x00B47 0x00B57: 0x00B4C
+ "\x00.H\x01z\xe0\v\x94" + // 0x00B92 0x00BD7: 0x00B94
+ "\x00/\x18\x01w\xc0\v\xca" + // 0x00BC6 0x00BBE: 0x00BCA
+ "\x00/\x1c\x01w\xc0\v\xcb" + // 0x00BC7 0x00BBE: 0x00BCB
+ "\x00/\x18\x01z\xe0\v\xcc" + // 0x00BC6 0x00BD7: 0x00BCC
+ "\x001\x18\x01\x8a\xc0\fH" + // 0x00C46 0x00C56: 0x00C48
+ "\x002\xfc\x01\x9a\xa0\f\xc0" + // 0x00CBF 0x00CD5: 0x00CC0
+ "\x003\x18\x01\x9a\xa0\f\xc7" + // 0x00CC6 0x00CD5: 0x00CC7
+ "\x003\x18\x01\x9a\xc0\f\xc8" + // 0x00CC6 0x00CD6: 0x00CC8
+ "\x003\x18\x01\x98@\f\xca" + // 0x00CC6 0x00CC2: 0x00CCA
+ "\x003(\x01\x9a\xa0\f\xcb" + // 0x00CCA 0x00CD5: 0x00CCB
+ "\x005\x18\x01\xa7\xc0\rJ" + // 0x00D46 0x00D3E: 0x00D4A
+ "\x005\x1c\x01\xa7\xc0\rK" + // 0x00D47 0x00D3E: 0x00D4B
+ "\x005\x18\x01\xaa\xe0\rL" + // 0x00D46 0x00D57: 0x00D4C
+ "\x007d\x01\xb9@\r\xda" + // 0x00DD9 0x00DCA: 0x00DDA
+ "\x007d\x01\xb9\xe0\r\xdc" + // 0x00DD9 0x00DCF: 0x00DDC
+ "\x007p\x01\xb9@\r\xdd" + // 0x00DDC 0x00DCA: 0x00DDD
+ "\x007d\x01\xbb\xe0\r\xde" + // 0x00DD9 0x00DDF: 0x00DDE
+ "\x00@\x94\x02\x05\xc0\x10&" + // 0x01025 0x0102E: 0x01026
+ "\x00l\x14\x03f\xa0\x1b\x06" + // 0x01B05 0x01B35: 0x01B06
+ "\x00l\x1c\x03f\xa0\x1b\b" + // 0x01B07 0x01B35: 0x01B08
+ "\x00l$\x03f\xa0\x1b\n" + // 0x01B09 0x01B35: 0x01B0A
+ "\x00l,\x03f\xa0\x1b\f" + // 0x01B0B 0x01B35: 0x01B0C
+ "\x00l4\x03f\xa0\x1b\x0e" + // 0x01B0D 0x01B35: 0x01B0E
+ "\x00lD\x03f\xa0\x1b\x12" + // 0x01B11 0x01B35: 0x01B12
+ "\x00l\xe8\x03f\xa0\x1b;" + // 0x01B3A 0x01B35: 0x01B3B
+ "\x00l\xf0\x03f\xa0\x1b=" + // 0x01B3C 0x01B35: 0x01B3D
+ "\x00l\xf8\x03f\xa0\x1b@" + // 0x01B3E 0x01B35: 0x01B40
+ "\x00l\xfc\x03f\xa0\x1bA" + // 0x01B3F 0x01B35: 0x01B41
+ "\x00m\b\x03f\xa0\x1bC" + // 0x01B42 0x01B35: 0x01B43
+ "\x00\x01\x04\x00d\xa0\x1e\x00" + // 0x00041 0x00325: 0x01E00
+ "\x00\x01\x84\x00d\xa0\x1e\x01" + // 0x00061 0x00325: 0x01E01
+ "\x00\x01\b\x00`\xe0\x1e\x02" + // 0x00042 0x00307: 0x01E02
+ "\x00\x01\x88\x00`\xe0\x1e\x03" + // 0x00062 0x00307: 0x01E03
+ "\x00\x01\b\x00d`\x1e\x04" + // 0x00042 0x00323: 0x01E04
+ "\x00\x01\x88\x00d`\x1e\x05" + // 0x00062 0x00323: 0x01E05
+ "\x00\x01\b\x00f \x1e\x06" + // 0x00042 0x00331: 0x01E06
+ "\x00\x01\x88\x00f \x1e\a" + // 0x00062 0x00331: 0x01E07
+ "\x00\x03\x1c\x00` \x1e\b" + // 0x000C7 0x00301: 0x01E08
+ "\x00\x03\x9c\x00` \x1e\t" + // 0x000E7 0x00301: 0x01E09
+ "\x00\x01\x10\x00`\xe0\x1e\n" + // 0x00044 0x00307: 0x01E0A
+ "\x00\x01\x90\x00`\xe0\x1e\v" + // 0x00064 0x00307: 0x01E0B
+ "\x00\x01\x10\x00d`\x1e\f" + // 0x00044 0x00323: 0x01E0C
+ "\x00\x01\x90\x00d`\x1e\r" + // 0x00064 0x00323: 0x01E0D
+ "\x00\x01\x10\x00f \x1e\x0e" + // 0x00044 0x00331: 0x01E0E
+ "\x00\x01\x90\x00f \x1e\x0f" + // 0x00064 0x00331: 0x01E0F
+ "\x00\x01\x10\x00d\xe0\x1e\x10" + // 0x00044 0x00327: 0x01E10
+ "\x00\x01\x90\x00d\xe0\x1e\x11" + // 0x00064 0x00327: 0x01E11
+ "\x00\x01\x10\x00e\xa0\x1e\x12" + // 0x00044 0x0032D: 0x01E12
+ "\x00\x01\x90\x00e\xa0\x1e\x13" + // 0x00064 0x0032D: 0x01E13
+ "\x00\x04H\x00`\x00\x1e\x14" + // 0x00112 0x00300: 0x01E14
+ "\x00\x04L\x00`\x00\x1e\x15" + // 0x00113 0x00300: 0x01E15
+ "\x00\x04H\x00` \x1e\x16" + // 0x00112 0x00301: 0x01E16
+ "\x00\x04L\x00` \x1e\x17" + // 0x00113 0x00301: 0x01E17
+ "\x00\x01\x14\x00e\xa0\x1e\x18" + // 0x00045 0x0032D: 0x01E18
+ "\x00\x01\x94\x00e\xa0\x1e\x19" + // 0x00065 0x0032D: 0x01E19
+ "\x00\x01\x14\x00f\x00\x1e\x1a" + // 0x00045 0x00330: 0x01E1A
+ "\x00\x01\x94\x00f\x00\x1e\x1b" + // 0x00065 0x00330: 0x01E1B
+ "\x00\b\xa0\x00`\xc0\x1e\x1c" + // 0x00228 0x00306: 0x01E1C
+ "\x00\b\xa4\x00`\xc0\x1e\x1d" + // 0x00229 0x00306: 0x01E1D
+ "\x00\x01\x18\x00`\xe0\x1e\x1e" + // 0x00046 0x00307: 0x01E1E
+ "\x00\x01\x98\x00`\xe0\x1e\x1f" + // 0x00066 0x00307: 0x01E1F
+ "\x00\x01\x1c\x00`\x80\x1e " + // 0x00047 0x00304: 0x01E20
+ "\x00\x01\x9c\x00`\x80\x1e!" + // 0x00067 0x00304: 0x01E21
+ "\x00\x01 \x00`\xe0\x1e\"" + // 0x00048 0x00307: 0x01E22
+ "\x00\x01\xa0\x00`\xe0\x1e#" + // 0x00068 0x00307: 0x01E23
+ "\x00\x01 \x00d`\x1e$" + // 0x00048 0x00323: 0x01E24
+ "\x00\x01\xa0\x00d`\x1e%" + // 0x00068 0x00323: 0x01E25
+ "\x00\x01 \x00a\x00\x1e&" + // 0x00048 0x00308: 0x01E26
+ "\x00\x01\xa0\x00a\x00\x1e'" + // 0x00068 0x00308: 0x01E27
+ "\x00\x01 \x00d\xe0\x1e(" + // 0x00048 0x00327: 0x01E28
+ "\x00\x01\xa0\x00d\xe0\x1e)" + // 0x00068 0x00327: 0x01E29
+ "\x00\x01 \x00e\xc0\x1e*" + // 0x00048 0x0032E: 0x01E2A
+ "\x00\x01\xa0\x00e\xc0\x1e+" + // 0x00068 0x0032E: 0x01E2B
+ "\x00\x01$\x00f\x00\x1e," + // 0x00049 0x00330: 0x01E2C
+ "\x00\x01\xa4\x00f\x00\x1e-" + // 0x00069 0x00330: 0x01E2D
+ "\x00\x03<\x00` \x1e." + // 0x000CF 0x00301: 0x01E2E
+ "\x00\x03\xbc\x00` \x1e/" + // 0x000EF 0x00301: 0x01E2F
+ "\x00\x01,\x00` \x1e0" + // 0x0004B 0x00301: 0x01E30
+ "\x00\x01\xac\x00` \x1e1" + // 0x0006B 0x00301: 0x01E31
+ "\x00\x01,\x00d`\x1e2" + // 0x0004B 0x00323: 0x01E32
+ "\x00\x01\xac\x00d`\x1e3" + // 0x0006B 0x00323: 0x01E33
+ "\x00\x01,\x00f \x1e4" + // 0x0004B 0x00331: 0x01E34
+ "\x00\x01\xac\x00f \x1e5" + // 0x0006B 0x00331: 0x01E35
+ "\x00\x010\x00d`\x1e6" + // 0x0004C 0x00323: 0x01E36
+ "\x00\x01\xb0\x00d`\x1e7" + // 0x0006C 0x00323: 0x01E37
+ "\x00x\xd8\x00`\x80\x1e8" + // 0x01E36 0x00304: 0x01E38
+ "\x00x\xdc\x00`\x80\x1e9" + // 0x01E37 0x00304: 0x01E39
+ "\x00\x010\x00f \x1e:" + // 0x0004C 0x00331: 0x01E3A
+ "\x00\x01\xb0\x00f \x1e;" + // 0x0006C 0x00331: 0x01E3B
+ "\x00\x010\x00e\xa0\x1e<" + // 0x0004C 0x0032D: 0x01E3C
+ "\x00\x01\xb0\x00e\xa0\x1e=" + // 0x0006C 0x0032D: 0x01E3D
+ "\x00\x014\x00` \x1e>" + // 0x0004D 0x00301: 0x01E3E
+ "\x00\x01\xb4\x00` \x1e?" + // 0x0006D 0x00301: 0x01E3F
+ "\x00\x014\x00`\xe0\x1e@" + // 0x0004D 0x00307: 0x01E40
+ "\x00\x01\xb4\x00`\xe0\x1eA" + // 0x0006D 0x00307: 0x01E41
+ "\x00\x014\x00d`\x1eB" + // 0x0004D 0x00323: 0x01E42
+ "\x00\x01\xb4\x00d`\x1eC" + // 0x0006D 0x00323: 0x01E43
+ "\x00\x018\x00`\xe0\x1eD" + // 0x0004E 0x00307: 0x01E44
+ "\x00\x01\xb8\x00`\xe0\x1eE" + // 0x0006E 0x00307: 0x01E45
+ "\x00\x018\x00d`\x1eF" + // 0x0004E 0x00323: 0x01E46
+ "\x00\x01\xb8\x00d`\x1eG" + // 0x0006E 0x00323: 0x01E47
+ "\x00\x018\x00f \x1eH" + // 0x0004E 0x00331: 0x01E48
+ "\x00\x01\xb8\x00f \x1eI" + // 0x0006E 0x00331: 0x01E49
+ "\x00\x018\x00e\xa0\x1eJ" + // 0x0004E 0x0032D: 0x01E4A
+ "\x00\x01\xb8\x00e\xa0\x1eK" + // 0x0006E 0x0032D: 0x01E4B
+ "\x00\x03T\x00` \x1eL" + // 0x000D5 0x00301: 0x01E4C
+ "\x00\x03\xd4\x00` \x1eM" + // 0x000F5 0x00301: 0x01E4D
+ "\x00\x03T\x00a\x00\x1eN" + // 0x000D5 0x00308: 0x01E4E
+ "\x00\x03\xd4\x00a\x00\x1eO" + // 0x000F5 0x00308: 0x01E4F
+ "\x00\x050\x00`\x00\x1eP" + // 0x0014C 0x00300: 0x01E50
+ "\x00\x054\x00`\x00\x1eQ" + // 0x0014D 0x00300: 0x01E51
+ "\x00\x050\x00` \x1eR" + // 0x0014C 0x00301: 0x01E52
+ "\x00\x054\x00` \x1eS" + // 0x0014D 0x00301: 0x01E53
+ "\x00\x01@\x00` \x1eT" + // 0x00050 0x00301: 0x01E54
+ "\x00\x01\xc0\x00` \x1eU" + // 0x00070 0x00301: 0x01E55
+ "\x00\x01@\x00`\xe0\x1eV" + // 0x00050 0x00307: 0x01E56
+ "\x00\x01\xc0\x00`\xe0\x1eW" + // 0x00070 0x00307: 0x01E57
+ "\x00\x01H\x00`\xe0\x1eX" + // 0x00052 0x00307: 0x01E58
+ "\x00\x01\xc8\x00`\xe0\x1eY" + // 0x00072 0x00307: 0x01E59
+ "\x00\x01H\x00d`\x1eZ" + // 0x00052 0x00323: 0x01E5A
+ "\x00\x01\xc8\x00d`\x1e[" + // 0x00072 0x00323: 0x01E5B
+ "\x00yh\x00`\x80\x1e\\" + // 0x01E5A 0x00304: 0x01E5C
+ "\x00yl\x00`\x80\x1e]" + // 0x01E5B 0x00304: 0x01E5D
+ "\x00\x01H\x00f \x1e^" + // 0x00052 0x00331: 0x01E5E
+ "\x00\x01\xc8\x00f \x1e_" + // 0x00072 0x00331: 0x01E5F
+ "\x00\x01L\x00`\xe0\x1e`" + // 0x00053 0x00307: 0x01E60
+ "\x00\x01\xcc\x00`\xe0\x1ea" + // 0x00073 0x00307: 0x01E61
+ "\x00\x01L\x00d`\x1eb" + // 0x00053 0x00323: 0x01E62
+ "\x00\x01\xcc\x00d`\x1ec" + // 0x00073 0x00323: 0x01E63
+ "\x00\x05h\x00`\xe0\x1ed" + // 0x0015A 0x00307: 0x01E64
+ "\x00\x05l\x00`\xe0\x1ee" + // 0x0015B 0x00307: 0x01E65
+ "\x00\x05\x80\x00`\xe0\x1ef" + // 0x00160 0x00307: 0x01E66
+ "\x00\x05\x84\x00`\xe0\x1eg" + // 0x00161 0x00307: 0x01E67
+ "\x00y\x88\x00`\xe0\x1eh" + // 0x01E62 0x00307: 0x01E68
+ "\x00y\x8c\x00`\xe0\x1ei" + // 0x01E63 0x00307: 0x01E69
+ "\x00\x01P\x00`\xe0\x1ej" + // 0x00054 0x00307: 0x01E6A
+ "\x00\x01\xd0\x00`\xe0\x1ek" + // 0x00074 0x00307: 0x01E6B
+ "\x00\x01P\x00d`\x1el" + // 0x00054 0x00323: 0x01E6C
+ "\x00\x01\xd0\x00d`\x1em" + // 0x00074 0x00323: 0x01E6D
+ "\x00\x01P\x00f \x1en" + // 0x00054 0x00331: 0x01E6E
+ "\x00\x01\xd0\x00f \x1eo" + // 0x00074 0x00331: 0x01E6F
+ "\x00\x01P\x00e\xa0\x1ep" + // 0x00054 0x0032D: 0x01E70
+ "\x00\x01\xd0\x00e\xa0\x1eq" + // 0x00074 0x0032D: 0x01E71
+ "\x00\x01T\x00d\x80\x1er" + // 0x00055 0x00324: 0x01E72
+ "\x00\x01\xd4\x00d\x80\x1es" + // 0x00075 0x00324: 0x01E73
+ "\x00\x01T\x00f\x00\x1et" + // 0x00055 0x00330: 0x01E74
+ "\x00\x01\xd4\x00f\x00\x1eu" + // 0x00075 0x00330: 0x01E75
+ "\x00\x01T\x00e\xa0\x1ev" + // 0x00055 0x0032D: 0x01E76
+ "\x00\x01\xd4\x00e\xa0\x1ew" + // 0x00075 0x0032D: 0x01E77
+ "\x00\x05\xa0\x00` \x1ex" + // 0x00168 0x00301: 0x01E78
+ "\x00\x05\xa4\x00` \x1ey" + // 0x00169 0x00301: 0x01E79
+ "\x00\x05\xa8\x00a\x00\x1ez" + // 0x0016A 0x00308: 0x01E7A
+ "\x00\x05\xac\x00a\x00\x1e{" + // 0x0016B 0x00308: 0x01E7B
+ "\x00\x01X\x00``\x1e|" + // 0x00056 0x00303: 0x01E7C
+ "\x00\x01\xd8\x00``\x1e}" + // 0x00076 0x00303: 0x01E7D
+ "\x00\x01X\x00d`\x1e~" + // 0x00056 0x00323: 0x01E7E
+ "\x00\x01\xd8\x00d`\x1e\x7f" + // 0x00076 0x00323: 0x01E7F
+ "\x00\x01\\\x00`\x00\x1e\x80" + // 0x00057 0x00300: 0x01E80
+ "\x00\x01\xdc\x00`\x00\x1e\x81" + // 0x00077 0x00300: 0x01E81
+ "\x00\x01\\\x00` \x1e\x82" + // 0x00057 0x00301: 0x01E82
+ "\x00\x01\xdc\x00` \x1e\x83" + // 0x00077 0x00301: 0x01E83
+ "\x00\x01\\\x00a\x00\x1e\x84" + // 0x00057 0x00308: 0x01E84
+ "\x00\x01\xdc\x00a\x00\x1e\x85" + // 0x00077 0x00308: 0x01E85
+ "\x00\x01\\\x00`\xe0\x1e\x86" + // 0x00057 0x00307: 0x01E86
+ "\x00\x01\xdc\x00`\xe0\x1e\x87" + // 0x00077 0x00307: 0x01E87
+ "\x00\x01\\\x00d`\x1e\x88" + // 0x00057 0x00323: 0x01E88
+ "\x00\x01\xdc\x00d`\x1e\x89" + // 0x00077 0x00323: 0x01E89
+ "\x00\x01`\x00`\xe0\x1e\x8a" + // 0x00058 0x00307: 0x01E8A
+ "\x00\x01\xe0\x00`\xe0\x1e\x8b" + // 0x00078 0x00307: 0x01E8B
+ "\x00\x01`\x00a\x00\x1e\x8c" + // 0x00058 0x00308: 0x01E8C
+ "\x00\x01\xe0\x00a\x00\x1e\x8d" + // 0x00078 0x00308: 0x01E8D
+ "\x00\x01d\x00`\xe0\x1e\x8e" + // 0x00059 0x00307: 0x01E8E
+ "\x00\x01\xe4\x00`\xe0\x1e\x8f" + // 0x00079 0x00307: 0x01E8F
+ "\x00\x01h\x00`@\x1e\x90" + // 0x0005A 0x00302: 0x01E90
+ "\x00\x01\xe8\x00`@\x1e\x91" + // 0x0007A 0x00302: 0x01E91
+ "\x00\x01h\x00d`\x1e\x92" + // 0x0005A 0x00323: 0x01E92
+ "\x00\x01\xe8\x00d`\x1e\x93" + // 0x0007A 0x00323: 0x01E93
+ "\x00\x01h\x00f \x1e\x94" + // 0x0005A 0x00331: 0x01E94
+ "\x00\x01\xe8\x00f \x1e\x95" + // 0x0007A 0x00331: 0x01E95
+ "\x00\x01\xa0\x00f \x1e\x96" + // 0x00068 0x00331: 0x01E96
+ "\x00\x01\xd0\x00a\x00\x1e\x97" + // 0x00074 0x00308: 0x01E97
+ "\x00\x01\xdc\x00a@\x1e\x98" + // 0x00077 0x0030A: 0x01E98
+ "\x00\x01\xe4\x00a@\x1e\x99" + // 0x00079 0x0030A: 0x01E99
+ "\x00\x05\xfc\x00`\xe0\x1e\x9b" + // 0x0017F 0x00307: 0x01E9B
+ "\x00\x01\x04\x00d`\x1e\xa0" + // 0x00041 0x00323: 0x01EA0
+ "\x00\x01\x84\x00d`\x1e\xa1" + // 0x00061 0x00323: 0x01EA1
+ "\x00\x01\x04\x00a \x1e\xa2" + // 0x00041 0x00309: 0x01EA2
+ "\x00\x01\x84\x00a \x1e\xa3" + // 0x00061 0x00309: 0x01EA3
+ "\x00\x03\b\x00` \x1e\xa4" + // 0x000C2 0x00301: 0x01EA4
+ "\x00\x03\x88\x00` \x1e\xa5" + // 0x000E2 0x00301: 0x01EA5
+ "\x00\x03\b\x00`\x00\x1e\xa6" + // 0x000C2 0x00300: 0x01EA6
+ "\x00\x03\x88\x00`\x00\x1e\xa7" + // 0x000E2 0x00300: 0x01EA7
+ "\x00\x03\b\x00a \x1e\xa8" + // 0x000C2 0x00309: 0x01EA8
+ "\x00\x03\x88\x00a \x1e\xa9" + // 0x000E2 0x00309: 0x01EA9
+ "\x00\x03\b\x00``\x1e\xaa" + // 0x000C2 0x00303: 0x01EAA
+ "\x00\x03\x88\x00``\x1e\xab" + // 0x000E2 0x00303: 0x01EAB
+ "\x00z\x80\x00`@\x1e\xac" + // 0x01EA0 0x00302: 0x01EAC
+ "\x00z\x84\x00`@\x1e\xad" + // 0x01EA1 0x00302: 0x01EAD
+ "\x00\x04\b\x00` \x1e\xae" + // 0x00102 0x00301: 0x01EAE
+ "\x00\x04\f\x00` \x1e\xaf" + // 0x00103 0x00301: 0x01EAF
+ "\x00\x04\b\x00`\x00\x1e\xb0" + // 0x00102 0x00300: 0x01EB0
+ "\x00\x04\f\x00`\x00\x1e\xb1" + // 0x00103 0x00300: 0x01EB1
+ "\x00\x04\b\x00a \x1e\xb2" + // 0x00102 0x00309: 0x01EB2
+ "\x00\x04\f\x00a \x1e\xb3" + // 0x00103 0x00309: 0x01EB3
+ "\x00\x04\b\x00``\x1e\xb4" + // 0x00102 0x00303: 0x01EB4
+ "\x00\x04\f\x00``\x1e\xb5" + // 0x00103 0x00303: 0x01EB5
+ "\x00z\x80\x00`\xc0\x1e\xb6" + // 0x01EA0 0x00306: 0x01EB6
+ "\x00z\x84\x00`\xc0\x1e\xb7" + // 0x01EA1 0x00306: 0x01EB7
+ "\x00\x01\x14\x00d`\x1e\xb8" + // 0x00045 0x00323: 0x01EB8
+ "\x00\x01\x94\x00d`\x1e\xb9" + // 0x00065 0x00323: 0x01EB9
+ "\x00\x01\x14\x00a \x1e\xba" + // 0x00045 0x00309: 0x01EBA
+ "\x00\x01\x94\x00a \x1e\xbb" + // 0x00065 0x00309: 0x01EBB
+ "\x00\x01\x14\x00``\x1e\xbc" + // 0x00045 0x00303: 0x01EBC
+ "\x00\x01\x94\x00``\x1e\xbd" + // 0x00065 0x00303: 0x01EBD
+ "\x00\x03(\x00` \x1e\xbe" + // 0x000CA 0x00301: 0x01EBE
+ "\x00\x03\xa8\x00` \x1e\xbf" + // 0x000EA 0x00301: 0x01EBF
+ "\x00\x03(\x00`\x00\x1e\xc0" + // 0x000CA 0x00300: 0x01EC0
+ "\x00\x03\xa8\x00`\x00\x1e\xc1" + // 0x000EA 0x00300: 0x01EC1
+ "\x00\x03(\x00a \x1e\xc2" + // 0x000CA 0x00309: 0x01EC2
+ "\x00\x03\xa8\x00a \x1e\xc3" + // 0x000EA 0x00309: 0x01EC3
+ "\x00\x03(\x00``\x1e\xc4" + // 0x000CA 0x00303: 0x01EC4
+ "\x00\x03\xa8\x00``\x1e\xc5" + // 0x000EA 0x00303: 0x01EC5
+ "\x00z\xe0\x00`@\x1e\xc6" + // 0x01EB8 0x00302: 0x01EC6
+ "\x00z\xe4\x00`@\x1e\xc7" + // 0x01EB9 0x00302: 0x01EC7
+ "\x00\x01$\x00a \x1e\xc8" + // 0x00049 0x00309: 0x01EC8
+ "\x00\x01\xa4\x00a \x1e\xc9" + // 0x00069 0x00309: 0x01EC9
+ "\x00\x01$\x00d`\x1e\xca" + // 0x00049 0x00323: 0x01ECA
+ "\x00\x01\xa4\x00d`\x1e\xcb" + // 0x00069 0x00323: 0x01ECB
+ "\x00\x01<\x00d`\x1e\xcc" + // 0x0004F 0x00323: 0x01ECC
+ "\x00\x01\xbc\x00d`\x1e\xcd" + // 0x0006F 0x00323: 0x01ECD
+ "\x00\x01<\x00a \x1e\xce" + // 0x0004F 0x00309: 0x01ECE
+ "\x00\x01\xbc\x00a \x1e\xcf" + // 0x0006F 0x00309: 0x01ECF
+ "\x00\x03P\x00` \x1e\xd0" + // 0x000D4 0x00301: 0x01ED0
+ "\x00\x03\xd0\x00` \x1e\xd1" + // 0x000F4 0x00301: 0x01ED1
+ "\x00\x03P\x00`\x00\x1e\xd2" + // 0x000D4 0x00300: 0x01ED2
+ "\x00\x03\xd0\x00`\x00\x1e\xd3" + // 0x000F4 0x00300: 0x01ED3
+ "\x00\x03P\x00a \x1e\xd4" + // 0x000D4 0x00309: 0x01ED4
+ "\x00\x03\xd0\x00a \x1e\xd5" + // 0x000F4 0x00309: 0x01ED5
+ "\x00\x03P\x00``\x1e\xd6" + // 0x000D4 0x00303: 0x01ED6
+ "\x00\x03\xd0\x00``\x1e\xd7" + // 0x000F4 0x00303: 0x01ED7
+ "\x00{0\x00`@\x1e\xd8" + // 0x01ECC 0x00302: 0x01ED8
+ "\x00{4\x00`@\x1e\xd9" + // 0x01ECD 0x00302: 0x01ED9
+ "\x00\x06\x80\x00` \x1e\xda" + // 0x001A0 0x00301: 0x01EDA
+ "\x00\x06\x84\x00` \x1e\xdb" + // 0x001A1 0x00301: 0x01EDB
+ "\x00\x06\x80\x00`\x00\x1e\xdc" + // 0x001A0 0x00300: 0x01EDC
+ "\x00\x06\x84\x00`\x00\x1e\xdd" + // 0x001A1 0x00300: 0x01EDD
+ "\x00\x06\x80\x00a \x1e\xde" + // 0x001A0 0x00309: 0x01EDE
+ "\x00\x06\x84\x00a \x1e\xdf" + // 0x001A1 0x00309: 0x01EDF
+ "\x00\x06\x80\x00``\x1e\xe0" + // 0x001A0 0x00303: 0x01EE0
+ "\x00\x06\x84\x00``\x1e\xe1" + // 0x001A1 0x00303: 0x01EE1
+ "\x00\x06\x80\x00d`\x1e\xe2" + // 0x001A0 0x00323: 0x01EE2
+ "\x00\x06\x84\x00d`\x1e\xe3" + // 0x001A1 0x00323: 0x01EE3
+ "\x00\x01T\x00d`\x1e\xe4" + // 0x00055 0x00323: 0x01EE4
+ "\x00\x01\xd4\x00d`\x1e\xe5" + // 0x00075 0x00323: 0x01EE5
+ "\x00\x01T\x00a \x1e\xe6" + // 0x00055 0x00309: 0x01EE6
+ "\x00\x01\xd4\x00a \x1e\xe7" + // 0x00075 0x00309: 0x01EE7
+ "\x00\x06\xbc\x00` \x1e\xe8" + // 0x001AF 0x00301: 0x01EE8
+ "\x00\x06\xc0\x00` \x1e\xe9" + // 0x001B0 0x00301: 0x01EE9
+ "\x00\x06\xbc\x00`\x00\x1e\xea" + // 0x001AF 0x00300: 0x01EEA
+ "\x00\x06\xc0\x00`\x00\x1e\xeb" + // 0x001B0 0x00300: 0x01EEB
+ "\x00\x06\xbc\x00a \x1e\xec" + // 0x001AF 0x00309: 0x01EEC
+ "\x00\x06\xc0\x00a \x1e\xed" + // 0x001B0 0x00309: 0x01EED
+ "\x00\x06\xbc\x00``\x1e\xee" + // 0x001AF 0x00303: 0x01EEE
+ "\x00\x06\xc0\x00``\x1e\xef" + // 0x001B0 0x00303: 0x01EEF
+ "\x00\x06\xbc\x00d`\x1e\xf0" + // 0x001AF 0x00323: 0x01EF0
+ "\x00\x06\xc0\x00d`\x1e\xf1" + // 0x001B0 0x00323: 0x01EF1
+ "\x00\x01d\x00`\x00\x1e\xf2" + // 0x00059 0x00300: 0x01EF2
+ "\x00\x01\xe4\x00`\x00\x1e\xf3" + // 0x00079 0x00300: 0x01EF3
+ "\x00\x01d\x00d`\x1e\xf4" + // 0x00059 0x00323: 0x01EF4
+ "\x00\x01\xe4\x00d`\x1e\xf5" + // 0x00079 0x00323: 0x01EF5
+ "\x00\x01d\x00a \x1e\xf6" + // 0x00059 0x00309: 0x01EF6
+ "\x00\x01\xe4\x00a \x1e\xf7" + // 0x00079 0x00309: 0x01EF7
+ "\x00\x01d\x00``\x1e\xf8" + // 0x00059 0x00303: 0x01EF8
+ "\x00\x01\xe4\x00``\x1e\xf9" + // 0x00079 0x00303: 0x01EF9
+ "\x00\x0e\xc4\x00b`\x1f\x00" + // 0x003B1 0x00313: 0x01F00
+ "\x00\x0e\xc4\x00b\x80\x1f\x01" + // 0x003B1 0x00314: 0x01F01
+ "\x00|\x00\x00`\x00\x1f\x02" + // 0x01F00 0x00300: 0x01F02
+ "\x00|\x04\x00`\x00\x1f\x03" + // 0x01F01 0x00300: 0x01F03
+ "\x00|\x00\x00` \x1f\x04" + // 0x01F00 0x00301: 0x01F04
+ "\x00|\x04\x00` \x1f\x05" + // 0x01F01 0x00301: 0x01F05
+ "\x00|\x00\x00h@\x1f\x06" + // 0x01F00 0x00342: 0x01F06
+ "\x00|\x04\x00h@\x1f\a" + // 0x01F01 0x00342: 0x01F07
+ "\x00\x0eD\x00b`\x1f\b" + // 0x00391 0x00313: 0x01F08
+ "\x00\x0eD\x00b\x80\x1f\t" + // 0x00391 0x00314: 0x01F09
+ "\x00| \x00`\x00\x1f\n" + // 0x01F08 0x00300: 0x01F0A
+ "\x00|$\x00`\x00\x1f\v" + // 0x01F09 0x00300: 0x01F0B
+ "\x00| \x00` \x1f\f" + // 0x01F08 0x00301: 0x01F0C
+ "\x00|$\x00` \x1f\r" + // 0x01F09 0x00301: 0x01F0D
+ "\x00| \x00h@\x1f\x0e" + // 0x01F08 0x00342: 0x01F0E
+ "\x00|$\x00h@\x1f\x0f" + // 0x01F09 0x00342: 0x01F0F
+ "\x00\x0e\xd4\x00b`\x1f\x10" + // 0x003B5 0x00313: 0x01F10
+ "\x00\x0e\xd4\x00b\x80\x1f\x11" + // 0x003B5 0x00314: 0x01F11
+ "\x00|@\x00`\x00\x1f\x12" + // 0x01F10 0x00300: 0x01F12
+ "\x00|D\x00`\x00\x1f\x13" + // 0x01F11 0x00300: 0x01F13
+ "\x00|@\x00` \x1f\x14" + // 0x01F10 0x00301: 0x01F14
+ "\x00|D\x00` \x1f\x15" + // 0x01F11 0x00301: 0x01F15
+ "\x00\x0eT\x00b`\x1f\x18" + // 0x00395 0x00313: 0x01F18
+ "\x00\x0eT\x00b\x80\x1f\x19" + // 0x00395 0x00314: 0x01F19
+ "\x00|`\x00`\x00\x1f\x1a" + // 0x01F18 0x00300: 0x01F1A
+ "\x00|d\x00`\x00\x1f\x1b" + // 0x01F19 0x00300: 0x01F1B
+ "\x00|`\x00` \x1f\x1c" + // 0x01F18 0x00301: 0x01F1C
+ "\x00|d\x00` \x1f\x1d" + // 0x01F19 0x00301: 0x01F1D
+ "\x00\x0e\xdc\x00b`\x1f " + // 0x003B7 0x00313: 0x01F20
+ "\x00\x0e\xdc\x00b\x80\x1f!" + // 0x003B7 0x00314: 0x01F21
+ "\x00|\x80\x00`\x00\x1f\"" + // 0x01F20 0x00300: 0x01F22
+ "\x00|\x84\x00`\x00\x1f#" + // 0x01F21 0x00300: 0x01F23
+ "\x00|\x80\x00` \x1f$" + // 0x01F20 0x00301: 0x01F24
+ "\x00|\x84\x00` \x1f%" + // 0x01F21 0x00301: 0x01F25
+ "\x00|\x80\x00h@\x1f&" + // 0x01F20 0x00342: 0x01F26
+ "\x00|\x84\x00h@\x1f'" + // 0x01F21 0x00342: 0x01F27
+ "\x00\x0e\\\x00b`\x1f(" + // 0x00397 0x00313: 0x01F28
+ "\x00\x0e\\\x00b\x80\x1f)" + // 0x00397 0x00314: 0x01F29
+ "\x00|\xa0\x00`\x00\x1f*" + // 0x01F28 0x00300: 0x01F2A
+ "\x00|\xa4\x00`\x00\x1f+" + // 0x01F29 0x00300: 0x01F2B
+ "\x00|\xa0\x00` \x1f," + // 0x01F28 0x00301: 0x01F2C
+ "\x00|\xa4\x00` \x1f-" + // 0x01F29 0x00301: 0x01F2D
+ "\x00|\xa0\x00h@\x1f." + // 0x01F28 0x00342: 0x01F2E
+ "\x00|\xa4\x00h@\x1f/" + // 0x01F29 0x00342: 0x01F2F
+ "\x00\x0e\xe4\x00b`\x1f0" + // 0x003B9 0x00313: 0x01F30
+ "\x00\x0e\xe4\x00b\x80\x1f1" + // 0x003B9 0x00314: 0x01F31
+ "\x00|\xc0\x00`\x00\x1f2" + // 0x01F30 0x00300: 0x01F32
+ "\x00|\xc4\x00`\x00\x1f3" + // 0x01F31 0x00300: 0x01F33
+ "\x00|\xc0\x00` \x1f4" + // 0x01F30 0x00301: 0x01F34
+ "\x00|\xc4\x00` \x1f5" + // 0x01F31 0x00301: 0x01F35
+ "\x00|\xc0\x00h@\x1f6" + // 0x01F30 0x00342: 0x01F36
+ "\x00|\xc4\x00h@\x1f7" + // 0x01F31 0x00342: 0x01F37
+ "\x00\x0ed\x00b`\x1f8" + // 0x00399 0x00313: 0x01F38
+ "\x00\x0ed\x00b\x80\x1f9" + // 0x00399 0x00314: 0x01F39
+ "\x00|\xe0\x00`\x00\x1f:" + // 0x01F38 0x00300: 0x01F3A
+ "\x00|\xe4\x00`\x00\x1f;" + // 0x01F39 0x00300: 0x01F3B
+ "\x00|\xe0\x00` \x1f<" + // 0x01F38 0x00301: 0x01F3C
+ "\x00|\xe4\x00` \x1f=" + // 0x01F39 0x00301: 0x01F3D
+ "\x00|\xe0\x00h@\x1f>" + // 0x01F38 0x00342: 0x01F3E
+ "\x00|\xe4\x00h@\x1f?" + // 0x01F39 0x00342: 0x01F3F
+ "\x00\x0e\xfc\x00b`\x1f@" + // 0x003BF 0x00313: 0x01F40
+ "\x00\x0e\xfc\x00b\x80\x1fA" + // 0x003BF 0x00314: 0x01F41
+ "\x00}\x00\x00`\x00\x1fB" + // 0x01F40 0x00300: 0x01F42
+ "\x00}\x04\x00`\x00\x1fC" + // 0x01F41 0x00300: 0x01F43
+ "\x00}\x00\x00` \x1fD" + // 0x01F40 0x00301: 0x01F44
+ "\x00}\x04\x00` \x1fE" + // 0x01F41 0x00301: 0x01F45
+ "\x00\x0e|\x00b`\x1fH" + // 0x0039F 0x00313: 0x01F48
+ "\x00\x0e|\x00b\x80\x1fI" + // 0x0039F 0x00314: 0x01F49
+ "\x00} \x00`\x00\x1fJ" + // 0x01F48 0x00300: 0x01F4A
+ "\x00}$\x00`\x00\x1fK" + // 0x01F49 0x00300: 0x01F4B
+ "\x00} \x00` \x1fL" + // 0x01F48 0x00301: 0x01F4C
+ "\x00}$\x00` \x1fM" + // 0x01F49 0x00301: 0x01F4D
+ "\x00\x0f\x14\x00b`\x1fP" + // 0x003C5 0x00313: 0x01F50
+ "\x00\x0f\x14\x00b\x80\x1fQ" + // 0x003C5 0x00314: 0x01F51
+ "\x00}@\x00`\x00\x1fR" + // 0x01F50 0x00300: 0x01F52
+ "\x00}D\x00`\x00\x1fS" + // 0x01F51 0x00300: 0x01F53
+ "\x00}@\x00` \x1fT" + // 0x01F50 0x00301: 0x01F54
+ "\x00}D\x00` \x1fU" + // 0x01F51 0x00301: 0x01F55
+ "\x00}@\x00h@\x1fV" + // 0x01F50 0x00342: 0x01F56
+ "\x00}D\x00h@\x1fW" + // 0x01F51 0x00342: 0x01F57
+ "\x00\x0e\x94\x00b\x80\x1fY" + // 0x003A5 0x00314: 0x01F59
+ "\x00}d\x00`\x00\x1f[" + // 0x01F59 0x00300: 0x01F5B
+ "\x00}d\x00` \x1f]" + // 0x01F59 0x00301: 0x01F5D
+ "\x00}d\x00h@\x1f_" + // 0x01F59 0x00342: 0x01F5F
+ "\x00\x0f$\x00b`\x1f`" + // 0x003C9 0x00313: 0x01F60
+ "\x00\x0f$\x00b\x80\x1fa" + // 0x003C9 0x00314: 0x01F61
+ "\x00}\x80\x00`\x00\x1fb" + // 0x01F60 0x00300: 0x01F62
+ "\x00}\x84\x00`\x00\x1fc" + // 0x01F61 0x00300: 0x01F63
+ "\x00}\x80\x00` \x1fd" + // 0x01F60 0x00301: 0x01F64
+ "\x00}\x84\x00` \x1fe" + // 0x01F61 0x00301: 0x01F65
+ "\x00}\x80\x00h@\x1ff" + // 0x01F60 0x00342: 0x01F66
+ "\x00}\x84\x00h@\x1fg" + // 0x01F61 0x00342: 0x01F67
+ "\x00\x0e\xa4\x00b`\x1fh" + // 0x003A9 0x00313: 0x01F68
+ "\x00\x0e\xa4\x00b\x80\x1fi" + // 0x003A9 0x00314: 0x01F69
+ "\x00}\xa0\x00`\x00\x1fj" + // 0x01F68 0x00300: 0x01F6A
+ "\x00}\xa4\x00`\x00\x1fk" + // 0x01F69 0x00300: 0x01F6B
+ "\x00}\xa0\x00` \x1fl" + // 0x01F68 0x00301: 0x01F6C
+ "\x00}\xa4\x00` \x1fm" + // 0x01F69 0x00301: 0x01F6D
+ "\x00}\xa0\x00h@\x1fn" + // 0x01F68 0x00342: 0x01F6E
+ "\x00}\xa4\x00h@\x1fo" + // 0x01F69 0x00342: 0x01F6F
+ "\x00\x0e\xc4\x00`\x00\x1fp" + // 0x003B1 0x00300: 0x01F70
+ "\x00\x0e\xd4\x00`\x00\x1fr" + // 0x003B5 0x00300: 0x01F72
+ "\x00\x0e\xdc\x00`\x00\x1ft" + // 0x003B7 0x00300: 0x01F74
+ "\x00\x0e\xe4\x00`\x00\x1fv" + // 0x003B9 0x00300: 0x01F76
+ "\x00\x0e\xfc\x00`\x00\x1fx" + // 0x003BF 0x00300: 0x01F78
+ "\x00\x0f\x14\x00`\x00\x1fz" + // 0x003C5 0x00300: 0x01F7A
+ "\x00\x0f$\x00`\x00\x1f|" + // 0x003C9 0x00300: 0x01F7C
+ "\x00|\x00\x00h\xa0\x1f\x80" + // 0x01F00 0x00345: 0x01F80
+ "\x00|\x04\x00h\xa0\x1f\x81" + // 0x01F01 0x00345: 0x01F81
+ "\x00|\b\x00h\xa0\x1f\x82" + // 0x01F02 0x00345: 0x01F82
+ "\x00|\f\x00h\xa0\x1f\x83" + // 0x01F03 0x00345: 0x01F83
+ "\x00|\x10\x00h\xa0\x1f\x84" + // 0x01F04 0x00345: 0x01F84
+ "\x00|\x14\x00h\xa0\x1f\x85" + // 0x01F05 0x00345: 0x01F85
+ "\x00|\x18\x00h\xa0\x1f\x86" + // 0x01F06 0x00345: 0x01F86
+ "\x00|\x1c\x00h\xa0\x1f\x87" + // 0x01F07 0x00345: 0x01F87
+ "\x00| \x00h\xa0\x1f\x88" + // 0x01F08 0x00345: 0x01F88
+ "\x00|$\x00h\xa0\x1f\x89" + // 0x01F09 0x00345: 0x01F89
+ "\x00|(\x00h\xa0\x1f\x8a" + // 0x01F0A 0x00345: 0x01F8A
+ "\x00|,\x00h\xa0\x1f\x8b" + // 0x01F0B 0x00345: 0x01F8B
+ "\x00|0\x00h\xa0\x1f\x8c" + // 0x01F0C 0x00345: 0x01F8C
+ "\x00|4\x00h\xa0\x1f\x8d" + // 0x01F0D 0x00345: 0x01F8D
+ "\x00|8\x00h\xa0\x1f\x8e" + // 0x01F0E 0x00345: 0x01F8E
+ "\x00|<\x00h\xa0\x1f\x8f" + // 0x01F0F 0x00345: 0x01F8F
+ "\x00|\x80\x00h\xa0\x1f\x90" + // 0x01F20 0x00345: 0x01F90
+ "\x00|\x84\x00h\xa0\x1f\x91" + // 0x01F21 0x00345: 0x01F91
+ "\x00|\x88\x00h\xa0\x1f\x92" + // 0x01F22 0x00345: 0x01F92
+ "\x00|\x8c\x00h\xa0\x1f\x93" + // 0x01F23 0x00345: 0x01F93
+ "\x00|\x90\x00h\xa0\x1f\x94" + // 0x01F24 0x00345: 0x01F94
+ "\x00|\x94\x00h\xa0\x1f\x95" + // 0x01F25 0x00345: 0x01F95
+ "\x00|\x98\x00h\xa0\x1f\x96" + // 0x01F26 0x00345: 0x01F96
+ "\x00|\x9c\x00h\xa0\x1f\x97" + // 0x01F27 0x00345: 0x01F97
+ "\x00|\xa0\x00h\xa0\x1f\x98" + // 0x01F28 0x00345: 0x01F98
+ "\x00|\xa4\x00h\xa0\x1f\x99" + // 0x01F29 0x00345: 0x01F99
+ "\x00|\xa8\x00h\xa0\x1f\x9a" + // 0x01F2A 0x00345: 0x01F9A
+ "\x00|\xac\x00h\xa0\x1f\x9b" + // 0x01F2B 0x00345: 0x01F9B
+ "\x00|\xb0\x00h\xa0\x1f\x9c" + // 0x01F2C 0x00345: 0x01F9C
+ "\x00|\xb4\x00h\xa0\x1f\x9d" + // 0x01F2D 0x00345: 0x01F9D
+ "\x00|\xb8\x00h\xa0\x1f\x9e" + // 0x01F2E 0x00345: 0x01F9E
+ "\x00|\xbc\x00h\xa0\x1f\x9f" + // 0x01F2F 0x00345: 0x01F9F
+ "\x00}\x80\x00h\xa0\x1f\xa0" + // 0x01F60 0x00345: 0x01FA0
+ "\x00}\x84\x00h\xa0\x1f\xa1" + // 0x01F61 0x00345: 0x01FA1
+ "\x00}\x88\x00h\xa0\x1f\xa2" + // 0x01F62 0x00345: 0x01FA2
+ "\x00}\x8c\x00h\xa0\x1f\xa3" + // 0x01F63 0x00345: 0x01FA3
+ "\x00}\x90\x00h\xa0\x1f\xa4" + // 0x01F64 0x00345: 0x01FA4
+ "\x00}\x94\x00h\xa0\x1f\xa5" + // 0x01F65 0x00345: 0x01FA5
+ "\x00}\x98\x00h\xa0\x1f\xa6" + // 0x01F66 0x00345: 0x01FA6
+ "\x00}\x9c\x00h\xa0\x1f\xa7" + // 0x01F67 0x00345: 0x01FA7
+ "\x00}\xa0\x00h\xa0\x1f\xa8" + // 0x01F68 0x00345: 0x01FA8
+ "\x00}\xa4\x00h\xa0\x1f\xa9" + // 0x01F69 0x00345: 0x01FA9
+ "\x00}\xa8\x00h\xa0\x1f\xaa" + // 0x01F6A 0x00345: 0x01FAA
+ "\x00}\xac\x00h\xa0\x1f\xab" + // 0x01F6B 0x00345: 0x01FAB
+ "\x00}\xb0\x00h\xa0\x1f\xac" + // 0x01F6C 0x00345: 0x01FAC
+ "\x00}\xb4\x00h\xa0\x1f\xad" + // 0x01F6D 0x00345: 0x01FAD
+ "\x00}\xb8\x00h\xa0\x1f\xae" + // 0x01F6E 0x00345: 0x01FAE
+ "\x00}\xbc\x00h\xa0\x1f\xaf" + // 0x01F6F 0x00345: 0x01FAF
+ "\x00\x0e\xc4\x00`\xc0\x1f\xb0" + // 0x003B1 0x00306: 0x01FB0
+ "\x00\x0e\xc4\x00`\x80\x1f\xb1" + // 0x003B1 0x00304: 0x01FB1
+ "\x00}\xc0\x00h\xa0\x1f\xb2" + // 0x01F70 0x00345: 0x01FB2
+ "\x00\x0e\xc4\x00h\xa0\x1f\xb3" + // 0x003B1 0x00345: 0x01FB3
+ "\x00\x0e\xb0\x00h\xa0\x1f\xb4" + // 0x003AC 0x00345: 0x01FB4
+ "\x00\x0e\xc4\x00h@\x1f\xb6" + // 0x003B1 0x00342: 0x01FB6
+ "\x00~\xd8\x00h\xa0\x1f\xb7" + // 0x01FB6 0x00345: 0x01FB7
+ "\x00\x0eD\x00`\xc0\x1f\xb8" + // 0x00391 0x00306: 0x01FB8
+ "\x00\x0eD\x00`\x80\x1f\xb9" + // 0x00391 0x00304: 0x01FB9
+ "\x00\x0eD\x00`\x00\x1f\xba" + // 0x00391 0x00300: 0x01FBA
+ "\x00\x0eD\x00h\xa0\x1f\xbc" + // 0x00391 0x00345: 0x01FBC
+ "\x00\x02\xa0\x00h@\x1f\xc1" + // 0x000A8 0x00342: 0x01FC1
+ "\x00}\xd0\x00h\xa0\x1f\xc2" + // 0x01F74 0x00345: 0x01FC2
+ "\x00\x0e\xdc\x00h\xa0\x1f\xc3" + // 0x003B7 0x00345: 0x01FC3
+ "\x00\x0e\xb8\x00h\xa0\x1f\xc4" + // 0x003AE 0x00345: 0x01FC4
+ "\x00\x0e\xdc\x00h@\x1f\xc6" + // 0x003B7 0x00342: 0x01FC6
+ "\x00\x7f\x18\x00h\xa0\x1f\xc7" + // 0x01FC6 0x00345: 0x01FC7
+ "\x00\x0eT\x00`\x00\x1f\xc8" + // 0x00395 0x00300: 0x01FC8
+ "\x00\x0e\\\x00`\x00\x1f\xca" + // 0x00397 0x00300: 0x01FCA
+ "\x00\x0e\\\x00h\xa0\x1f\xcc" + // 0x00397 0x00345: 0x01FCC
+ "\x00~\xfc\x00`\x00\x1f\xcd" + // 0x01FBF 0x00300: 0x01FCD
+ "\x00~\xfc\x00` \x1f\xce" + // 0x01FBF 0x00301: 0x01FCE
+ "\x00~\xfc\x00h@\x1f\xcf" + // 0x01FBF 0x00342: 0x01FCF
+ "\x00\x0e\xe4\x00`\xc0\x1f\xd0" + // 0x003B9 0x00306: 0x01FD0
+ "\x00\x0e\xe4\x00`\x80\x1f\xd1" + // 0x003B9 0x00304: 0x01FD1
+ "\x00\x0f(\x00`\x00\x1f\xd2" + // 0x003CA 0x00300: 0x01FD2
+ "\x00\x0e\xe4\x00h@\x1f\xd6" + // 0x003B9 0x00342: 0x01FD6
+ "\x00\x0f(\x00h@\x1f\xd7" + // 0x003CA 0x00342: 0x01FD7
+ "\x00\x0ed\x00`\xc0\x1f\xd8" + // 0x00399 0x00306: 0x01FD8
+ "\x00\x0ed\x00`\x80\x1f\xd9" + // 0x00399 0x00304: 0x01FD9
+ "\x00\x0ed\x00`\x00\x1f\xda" + // 0x00399 0x00300: 0x01FDA
+ "\x00\x7f\xf8\x00`\x00\x1f\xdd" + // 0x01FFE 0x00300: 0x01FDD
+ "\x00\x7f\xf8\x00` \x1f\xde" + // 0x01FFE 0x00301: 0x01FDE
+ "\x00\x7f\xf8\x00h@\x1f\xdf" + // 0x01FFE 0x00342: 0x01FDF
+ "\x00\x0f\x14\x00`\xc0\x1f\xe0" + // 0x003C5 0x00306: 0x01FE0
+ "\x00\x0f\x14\x00`\x80\x1f\xe1" + // 0x003C5 0x00304: 0x01FE1
+ "\x00\x0f,\x00`\x00\x1f\xe2" + // 0x003CB 0x00300: 0x01FE2
+ "\x00\x0f\x04\x00b`\x1f\xe4" + // 0x003C1 0x00313: 0x01FE4
+ "\x00\x0f\x04\x00b\x80\x1f\xe5" + // 0x003C1 0x00314: 0x01FE5
+ "\x00\x0f\x14\x00h@\x1f\xe6" + // 0x003C5 0x00342: 0x01FE6
+ "\x00\x0f,\x00h@\x1f\xe7" + // 0x003CB 0x00342: 0x01FE7
+ "\x00\x0e\x94\x00`\xc0\x1f\xe8" + // 0x003A5 0x00306: 0x01FE8
+ "\x00\x0e\x94\x00`\x80\x1f\xe9" + // 0x003A5 0x00304: 0x01FE9
+ "\x00\x0e\x94\x00`\x00\x1f\xea" + // 0x003A5 0x00300: 0x01FEA
+ "\x00\x0e\x84\x00b\x80\x1f\xec" + // 0x003A1 0x00314: 0x01FEC
+ "\x00\x02\xa0\x00`\x00\x1f\xed" + // 0x000A8 0x00300: 0x01FED
+ "\x00}\xf0\x00h\xa0\x1f\xf2" + // 0x01F7C 0x00345: 0x01FF2
+ "\x00\x0f$\x00h\xa0\x1f\xf3" + // 0x003C9 0x00345: 0x01FF3
+ "\x00\x0f8\x00h\xa0\x1f\xf4" + // 0x003CE 0x00345: 0x01FF4
+ "\x00\x0f$\x00h@\x1f\xf6" + // 0x003C9 0x00342: 0x01FF6
+ "\x00\x7f\xd8\x00h\xa0\x1f\xf7" + // 0x01FF6 0x00345: 0x01FF7
+ "\x00\x0e|\x00`\x00\x1f\xf8" + // 0x0039F 0x00300: 0x01FF8
+ "\x00\x0e\xa4\x00`\x00\x1f\xfa" + // 0x003A9 0x00300: 0x01FFA
+ "\x00\x0e\xa4\x00h\xa0\x1f\xfc" + // 0x003A9 0x00345: 0x01FFC
+ "\x00\x86@\x00g\x00!\x9a" + // 0x02190 0x00338: 0x0219A
+ "\x00\x86H\x00g\x00!\x9b" + // 0x02192 0x00338: 0x0219B
+ "\x00\x86P\x00g\x00!\xae" + // 0x02194 0x00338: 0x021AE
+ "\x00\x87@\x00g\x00!\xcd" + // 0x021D0 0x00338: 0x021CD
+ "\x00\x87P\x00g\x00!\xce" + // 0x021D4 0x00338: 0x021CE
+ "\x00\x87H\x00g\x00!\xcf" + // 0x021D2 0x00338: 0x021CF
+ "\x00\x88\f\x00g\x00\"\x04" + // 0x02203 0x00338: 0x02204
+ "\x00\x88 \x00g\x00\"\t" + // 0x02208 0x00338: 0x02209
+ "\x00\x88,\x00g\x00\"\f" + // 0x0220B 0x00338: 0x0220C
+ "\x00\x88\x8c\x00g\x00\"$" + // 0x02223 0x00338: 0x02224
+ "\x00\x88\x94\x00g\x00\"&" + // 0x02225 0x00338: 0x02226
+ "\x00\x88\xf0\x00g\x00\"A" + // 0x0223C 0x00338: 0x02241
+ "\x00\x89\f\x00g\x00\"D" + // 0x02243 0x00338: 0x02244
+ "\x00\x89\x14\x00g\x00\"G" + // 0x02245 0x00338: 0x02247
+ "\x00\x89 \x00g\x00\"I" + // 0x02248 0x00338: 0x02249
+ "\x00\x00\xf4\x00g\x00\"`" + // 0x0003D 0x00338: 0x02260
+ "\x00\x89\x84\x00g\x00\"b" + // 0x02261 0x00338: 0x02262
+ "\x00\x894\x00g\x00\"m" + // 0x0224D 0x00338: 0x0226D
+ "\x00\x00\xf0\x00g\x00\"n" + // 0x0003C 0x00338: 0x0226E
+ "\x00\x00\xf8\x00g\x00\"o" + // 0x0003E 0x00338: 0x0226F
+ "\x00\x89\x90\x00g\x00\"p" + // 0x02264 0x00338: 0x02270
+ "\x00\x89\x94\x00g\x00\"q" + // 0x02265 0x00338: 0x02271
+ "\x00\x89\xc8\x00g\x00\"t" + // 0x02272 0x00338: 0x02274
+ "\x00\x89\xcc\x00g\x00\"u" + // 0x02273 0x00338: 0x02275
+ "\x00\x89\xd8\x00g\x00\"x" + // 0x02276 0x00338: 0x02278
+ "\x00\x89\xdc\x00g\x00\"y" + // 0x02277 0x00338: 0x02279
+ "\x00\x89\xe8\x00g\x00\"\x80" + // 0x0227A 0x00338: 0x02280
+ "\x00\x89\xec\x00g\x00\"\x81" + // 0x0227B 0x00338: 0x02281
+ "\x00\x8a\b\x00g\x00\"\x84" + // 0x02282 0x00338: 0x02284
+ "\x00\x8a\f\x00g\x00\"\x85" + // 0x02283 0x00338: 0x02285
+ "\x00\x8a\x18\x00g\x00\"\x88" + // 0x02286 0x00338: 0x02288
+ "\x00\x8a\x1c\x00g\x00\"\x89" + // 0x02287 0x00338: 0x02289
+ "\x00\x8a\x88\x00g\x00\"\xac" + // 0x022A2 0x00338: 0x022AC
+ "\x00\x8a\xa0\x00g\x00\"\xad" + // 0x022A8 0x00338: 0x022AD
+ "\x00\x8a\xa4\x00g\x00\"\xae" + // 0x022A9 0x00338: 0x022AE
+ "\x00\x8a\xac\x00g\x00\"\xaf" + // 0x022AB 0x00338: 0x022AF
+ "\x00\x89\xf0\x00g\x00\"\xe0" + // 0x0227C 0x00338: 0x022E0
+ "\x00\x89\xf4\x00g\x00\"\xe1" + // 0x0227D 0x00338: 0x022E1
+ "\x00\x8aD\x00g\x00\"\xe2" + // 0x02291 0x00338: 0x022E2
+ "\x00\x8aH\x00g\x00\"\xe3" + // 0x02292 0x00338: 0x022E3
+ "\x00\x8a\xc8\x00g\x00\"\xea" + // 0x022B2 0x00338: 0x022EA
+ "\x00\x8a\xcc\x00g\x00\"\xeb" + // 0x022B3 0x00338: 0x022EB
+ "\x00\x8a\xd0\x00g\x00\"\xec" + // 0x022B4 0x00338: 0x022EC
+ "\x00\x8a\xd4\x00g\x00\"\xed" + // 0x022B5 0x00338: 0x022ED
+ "\x00\xc1,\x06\x13 0L" + // 0x0304B 0x03099: 0x0304C
+ "\x00\xc14\x06\x13 0N" + // 0x0304D 0x03099: 0x0304E
+ "\x00\xc1<\x06\x13 0P" + // 0x0304F 0x03099: 0x03050
+ "\x00\xc1D\x06\x13 0R" + // 0x03051 0x03099: 0x03052
+ "\x00\xc1L\x06\x13 0T" + // 0x03053 0x03099: 0x03054
+ "\x00\xc1T\x06\x13 0V" + // 0x03055 0x03099: 0x03056
+ "\x00\xc1\\\x06\x13 0X" + // 0x03057 0x03099: 0x03058
+ "\x00\xc1d\x06\x13 0Z" + // 0x03059 0x03099: 0x0305A
+ "\x00\xc1l\x06\x13 0\\" + // 0x0305B 0x03099: 0x0305C
+ "\x00\xc1t\x06\x13 0^" + // 0x0305D 0x03099: 0x0305E
+ "\x00\xc1|\x06\x13 0`" + // 0x0305F 0x03099: 0x03060
+ "\x00\xc1\x84\x06\x13 0b" + // 0x03061 0x03099: 0x03062
+ "\x00\xc1\x90\x06\x13 0e" + // 0x03064 0x03099: 0x03065
+ "\x00\xc1\x98\x06\x13 0g" + // 0x03066 0x03099: 0x03067
+ "\x00\xc1\xa0\x06\x13 0i" + // 0x03068 0x03099: 0x03069
+ "\x00\xc1\xbc\x06\x13 0p" + // 0x0306F 0x03099: 0x03070
+ "\x00\xc1\xbc\x06\x13@0q" + // 0x0306F 0x0309A: 0x03071
+ "\x00\xc1\xc8\x06\x13 0s" + // 0x03072 0x03099: 0x03073
+ "\x00\xc1\xc8\x06\x13@0t" + // 0x03072 0x0309A: 0x03074
+ "\x00\xc1\xd4\x06\x13 0v" + // 0x03075 0x03099: 0x03076
+ "\x00\xc1\xd4\x06\x13@0w" + // 0x03075 0x0309A: 0x03077
+ "\x00\xc1\xe0\x06\x13 0y" + // 0x03078 0x03099: 0x03079
+ "\x00\xc1\xe0\x06\x13@0z" + // 0x03078 0x0309A: 0x0307A
+ "\x00\xc1\xec\x06\x13 0|" + // 0x0307B 0x03099: 0x0307C
+ "\x00\xc1\xec\x06\x13@0}" + // 0x0307B 0x0309A: 0x0307D
+ "\x00\xc1\x18\x06\x13 0\x94" + // 0x03046 0x03099: 0x03094
+ "\x00\xc2t\x06\x13 0\x9e" + // 0x0309D 0x03099: 0x0309E
+ "\x00¬\x06\x13 0\xac" + // 0x030AB 0x03099: 0x030AC
+ "\x00´\x06\x13 0\xae" + // 0x030AD 0x03099: 0x030AE
+ "\x00¼\x06\x13 0\xb0" + // 0x030AF 0x03099: 0x030B0
+ "\x00\xc2\xc4\x06\x13 0\xb2" + // 0x030B1 0x03099: 0x030B2
+ "\x00\xc2\xcc\x06\x13 0\xb4" + // 0x030B3 0x03099: 0x030B4
+ "\x00\xc2\xd4\x06\x13 0\xb6" + // 0x030B5 0x03099: 0x030B6
+ "\x00\xc2\xdc\x06\x13 0\xb8" + // 0x030B7 0x03099: 0x030B8
+ "\x00\xc2\xe4\x06\x13 0\xba" + // 0x030B9 0x03099: 0x030BA
+ "\x00\xc2\xec\x06\x13 0\xbc" + // 0x030BB 0x03099: 0x030BC
+ "\x00\xc2\xf4\x06\x13 0\xbe" + // 0x030BD 0x03099: 0x030BE
+ "\x00\xc2\xfc\x06\x13 0\xc0" + // 0x030BF 0x03099: 0x030C0
+ "\x00\xc3\x04\x06\x13 0\xc2" + // 0x030C1 0x03099: 0x030C2
+ "\x00\xc3\x10\x06\x13 0\xc5" + // 0x030C4 0x03099: 0x030C5
+ "\x00\xc3\x18\x06\x13 0\xc7" + // 0x030C6 0x03099: 0x030C7
+ "\x00\xc3 \x06\x13 0\xc9" + // 0x030C8 0x03099: 0x030C9
+ "\x00\xc3<\x06\x13 0\xd0" + // 0x030CF 0x03099: 0x030D0
+ "\x00\xc3<\x06\x13@0\xd1" + // 0x030CF 0x0309A: 0x030D1
+ "\x00\xc3H\x06\x13 0\xd3" + // 0x030D2 0x03099: 0x030D3
+ "\x00\xc3H\x06\x13@0\xd4" + // 0x030D2 0x0309A: 0x030D4
+ "\x00\xc3T\x06\x13 0\xd6" + // 0x030D5 0x03099: 0x030D6
+ "\x00\xc3T\x06\x13@0\xd7" + // 0x030D5 0x0309A: 0x030D7
+ "\x00\xc3`\x06\x13 0\xd9" + // 0x030D8 0x03099: 0x030D9
+ "\x00\xc3`\x06\x13@0\xda" + // 0x030D8 0x0309A: 0x030DA
+ "\x00\xc3l\x06\x13 0\xdc" + // 0x030DB 0x03099: 0x030DC
+ "\x00\xc3l\x06\x13@0\xdd" + // 0x030DB 0x0309A: 0x030DD
+ "\x00\u0098\x06\x13 0\xf4" + // 0x030A6 0x03099: 0x030F4
+ "\x00ü\x06\x13 0\xf7" + // 0x030EF 0x03099: 0x030F7
+ "\x00\xc3\xc0\x06\x13 0\xf8" + // 0x030F0 0x03099: 0x030F8
+ "\x00\xc3\xc4\x06\x13 0\xf9" + // 0x030F1 0x03099: 0x030F9
+ "\x00\xc3\xc8\x06\x13 0\xfa" + // 0x030F2 0x03099: 0x030FA
+ "\x00\xc3\xf4\x06\x13 0\xfe" + // 0x030FD 0x03099: 0x030FE
+ "\x04\x17H\x00`\xe1\x05\xc9" + // 0x105D2 0x00307: 0x105C9
+ "\x04\x17h\x00`\xe1\x05\xe4" + // 0x105DA 0x00307: 0x105E4
+ "\x04Bd\"\x17A\x10\x9a" + // 0x11099 0x110BA: 0x1109A
+ "\x04Bl\"\x17A\x10\x9c" + // 0x1109B 0x110BA: 0x1109C
+ "\x04B\x94\"\x17A\x10\xab" + // 0x110A5 0x110BA: 0x110AB
+ "\x04D\xc4\"$\xe1\x11." + // 0x11131 0x11127: 0x1112E
+ "\x04D\xc8\"$\xe1\x11/" + // 0x11132 0x11127: 0x1112F
+ "\x04M\x1c\"g\xc1\x13K" + // 0x11347 0x1133E: 0x1134B
+ "\x04M\x1c\"j\xe1\x13L" + // 0x11347 0x11357: 0x1134C
+ "\x04N\b\"y!\x13\x83" + // 0x11382 0x113C9: 0x11383
+ "\x04N\x10\"wa\x13\x85" + // 0x11384 0x113BB: 0x11385
+ "\x04N,\"xA\x13\x8e" + // 0x1138B 0x113C2: 0x1138E
+ "\x04N@\"y!\x13\x91" + // 0x11390 0x113C9: 0x11391
+ "\x04O\b\"xA\x13\xc5" + // 0x113C2 0x113C2: 0x113C5
+ "\x04O\b\"w\x01\x13\xc7" + // 0x113C2 0x113B8: 0x113C7
+ "\x04O\b\"y!\x13\xc8" + // 0x113C2 0x113C9: 0x113C8
+ "\x04R\xe4\"\x97A\x14\xbb" + // 0x114B9 0x114BA: 0x114BB
+ "\x04R\xe4\"\x96\x01\x14\xbc" + // 0x114B9 0x114B0: 0x114BC
+ "\x04R\xe4\"\x97\xa1\x14\xbe" + // 0x114B9 0x114BD: 0x114BE
+ "\x04V\xe0\"\xb5\xe1\x15\xba" + // 0x115B8 0x115AF: 0x115BA
+ "\x04V\xe4\"\xb5\xe1\x15\xbb" + // 0x115B9 0x115AF: 0x115BB
+ "\x04d\xd4#&\x01\x198" + // 0x11935 0x11930: 0x11938
+ "\x05\x84x,#\xc1a!" + // 0x1611E 0x1611E: 0x16121
+ "\x05\x84x,%!a\"" + // 0x1611E 0x16129: 0x16122
+ "\x05\x84x,#\xe1a#" + // 0x1611E 0x1611F: 0x16123
+ "\x05\x84\xa4,#\xe1a$" + // 0x16129 0x1611F: 0x16124
+ "\x05\x84x,$\x01a%" + // 0x1611E 0x16120: 0x16125
+ "\x05\x84\x84,#\xe1a&" + // 0x16121 0x1611F: 0x16126
+ "\x05\x84\x88,#\xe1a'" + // 0x16122 0x1611F: 0x16127
+ "\x05\x84\x84,$\x01a(" + // 0x16121 0x16120: 0x16128
+ "\x05\xb5\x9c-\xac\xe1mh" + // 0x16D67 0x16D67: 0x16D68
+ "\x05\xb5\x8c-\xac\xe1mi" + // 0x16D63 0x16D67: 0x16D69
+ "\x05\xb5\xa4-\xac\xe1mj" + // 0x16D69 0x16D67: 0x16D6A
""
// Total size of tables: 57KB (58086 bytes)
diff --git a/vendor/golang.org/x/text/unicode/norm/transform.go b/vendor/golang.org/x/text/unicode/norm/transform.go
index a1d366ae4..583230d4d 100644
--- a/vendor/golang.org/x/text/unicode/norm/transform.go
+++ b/vendor/golang.org/x/text/unicode/norm/transform.go
@@ -33,7 +33,7 @@ func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)
return nDst + n, nSrc + n, err
}
- if err == nil && n < len(src) && !atEOF {
+ if err == nil && n < len(src) {
err = transform.ErrShortSrc
}
return n, n, err
@@ -67,6 +67,7 @@ func (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)
nSrc = end
// Next quickSpan.
+ var err error
end = rb.nsrc
eof := atEOF
if n := nSrc + len(dst) - nDst; n < end {
@@ -79,7 +80,7 @@ func (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)
nSrc += n
nDst += n
if ok {
- if err == nil && n < rb.nsrc && !atEOF {
+ if err == nil && nSrc < rb.nsrc {
err = transform.ErrShortSrc
}
return nDst, nSrc, err
diff --git a/vendor/golang.org/x/tools/go/ast/astutil/imports.go b/vendor/golang.org/x/tools/go/ast/astutil/imports.go
index adb471101..6121bdd5f 100644
--- a/vendor/golang.org/x/tools/go/ast/astutil/imports.go
+++ b/vendor/golang.org/x/tools/go/ast/astutil/imports.go
@@ -9,7 +9,6 @@ import (
"fmt"
"go/ast"
"go/token"
- "reflect"
"slices"
"strconv"
"strings"
@@ -473,15 +472,10 @@ func Imports(fset *token.FileSet, f *ast.File) [][]*ast.ImportSpec {
}
// updateBasicLitPos updates lit.Pos,
-// ensuring that lit.End (if set) is displaced by the same amount.
+// ensuring that lit.End is displaced by the same amount.
// (See https://go.dev/issue/76395.)
func updateBasicLitPos(lit *ast.BasicLit, pos token.Pos) {
len := lit.End() - lit.Pos()
lit.ValuePos = pos
- // TODO(adonovan): after go1.26, simplify to:
- // lit.ValueEnd = pos + len
- v := reflect.ValueOf(lit).Elem().FieldByName("ValueEnd")
- if v.IsValid() && v.Int() != 0 {
- v.SetInt(int64(pos + len))
- }
+ lit.ValueEnd = pos + len
}
diff --git a/vendor/golang.org/x/tools/go/ast/edge/edge.go b/vendor/golang.org/x/tools/go/ast/edge/edge.go
index 4f6ccfd6e..8dc4dd150 100644
--- a/vendor/golang.org/x/tools/go/ast/edge/edge.go
+++ b/vendor/golang.org/x/tools/go/ast/edge/edge.go
@@ -12,7 +12,7 @@ import (
"reflect"
)
-// A Kind describes a field of an ast.Node struct.
+// A Kind describes a field of an [ast.Node] struct.
type Kind uint8
// String returns a description of the edge kind.
@@ -41,21 +41,25 @@ func (k Kind) Get(n ast.Node, idx int) ast.Node {
panic(fmt.Sprintf("%v.Get(%T): invalid node type", k, n))
}
v := reflect.ValueOf(n).Elem().Field(fieldInfos[k].index)
- if idx != -1 {
- v = v.Index(idx) // asserts valid index
- } else {
- // (The type assertion below asserts that v is not a slice.)
+
+ if v.Kind() == reflect.Slice {
+ v = v.Index(idx) // asserts valid idx
+ } else if idx != -1 {
+ panic(fmt.Sprintf("%v, Get(%T, %d): cannot index non-slice", v, n, idx))
}
- return v.Interface().(ast.Node) // may be nil
+
+ out, _ := v.Interface().(ast.Node) // may be nil
+ return out
}
+// Each [Kind] is named Type_Field, where Type is the
+// [ast.Node] struct type and Field is the name of the field
const (
Invalid Kind = iota // for nodes at the root of the traversal
- // Kinds are sorted alphabetically.
- // Numbering is not stable.
- // Each is named Type_Field, where Type is the
- // ast.Node struct type and Field is the name of the field
+ // As of Go1.26 these kinds are sorted alphabetically, but
+ // numbering must be stable, so any new addition of const should
+ // use a new value (be added at the end of the list).
ArrayType_Elt
ArrayType_Len
diff --git a/vendor/golang.org/x/tools/go/ast/inspector/cursor.go b/vendor/golang.org/x/tools/go/ast/inspector/cursor.go
index 239b10c4d..1c482252d 100644
--- a/vendor/golang.org/x/tools/go/ast/inspector/cursor.go
+++ b/vendor/golang.org/x/tools/go/ast/inspector/cursor.go
@@ -10,6 +10,7 @@ import (
"go/token"
"iter"
"reflect"
+ "strings"
"golang.org/x/tools/go/ast/edge"
)
@@ -110,6 +111,46 @@ func (c Cursor) String() string {
return reflect.TypeOf(c.Node()).String()
}
+// GoString returns a string describing the cursor's path from the
+// root, if any.
+func (c Cursor) GoString() string {
+ if !c.Valid() {
+ return "(invalid)"
+ }
+ if c.index < 0 {
+ return "(root)"
+ }
+ // e.g "File.Decls[1].(*ast.GenDecl).Specs[0].(*ast.TypeSpec)"
+ //
+ // In hindsight even the File node should have reported a
+ // virtual ParentEdge of (Root_Files, i) where i is the index
+ // among the files passed to NewInspector. Then the path would
+ // read "(root).Files[i]", etc; but we missed the boat.
+ var buf strings.Builder
+ buf.WriteString("File")
+ var visit func(Cursor)
+ visit = func(c Cursor) {
+ ek, idx := c.ParentEdge()
+ if ek == edge.Invalid {
+ return // File
+ }
+ visit(c.Parent())
+ fmt.Fprintf(&buf, ".%s", ek.FieldName())
+ if idx >= 0 {
+ fmt.Fprintf(&buf, "[%d]", idx)
+ }
+ ftype := ek.FieldType()
+ if idx >= 0 {
+ ftype = ftype.Elem() // []T -> T
+ }
+ if ftype.Kind() == reflect.Interface {
+ fmt.Fprintf(&buf, ".(%T)", c.Node())
+ }
+ }
+ visit(c)
+ return buf.String()
+}
+
// indices return the [start, end) half-open interval of event indices.
func (c Cursor) indices() (int32, int32) {
if c.index < 0 {
diff --git a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
index 7b90bc923..ea918e7ec 100644
--- a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
+++ b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
@@ -2,63 +2,44 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// Package gcexportdata provides functions for reading and writing
-// export data, which is a serialized description of the API of a Go
-// package including the names, kinds, types, and locations of all
-// exported declarations.
-//
-// The standard Go compiler (cmd/compile) writes an export data file
-// for each package it compiles, which it later reads when compiling
-// packages that import the earlier one. The compiler must thus
-// contain logic to both write and read export data.
-// (See the "Export" section in the cmd/compile/README file.)
-//
-// The [Read] function in this package can read files produced by the
-// compiler, producing [go/types] data structures. As a matter of
-// policy, Read supports export data files produced by only the last
-// two Go releases plus tip; see https://go.dev/issue/68898. The
-// export data files produced by the compiler contain additional
-// details related to generics, inlining, and other optimizations that
-// cannot be decoded by the [Read] function.
-//
-// In files written by the compiler, the export data is not at the
-// start of the file. Before calling Read, use [NewReader] to locate
-// the desired portion of the file.
-//
-// The [Write] function in this package encodes the exported API of a
-// Go package ([types.Package]) as a file. Such files can be later
-// decoded by Read, but cannot be consumed by the compiler.
-//
-// # Future changes
-//
-// Although Read supports the formats written by both Write and the
-// compiler, the two are quite different, and there is an open
-// proposal (https://go.dev/issue/69491) to separate these APIs.
-//
-// Under that proposal, this package would ultimately provide only the
-// Read operation for compiler export data, which must be defined in
-// this module (golang.org/x/tools), not in the standard library, to
-// avoid version skew for developer tools that need to read compiler
-// export data both before and after a Go release, such as from Go
-// 1.23 to Go 1.24. Because this package lives in the tools module,
-// clients can update their version of the module some time before the
-// Go 1.24 release and rebuild and redeploy their tools, which will
-// then be able to consume both Go 1.23 and Go 1.24 export data files,
-// so they will work before and after the Go update. (See discussion
-// at https://go.dev/issue/15651.)
-//
-// The operations to import and export [go/types] data structures
-// would be defined in the go/types package as Import and Export.
-// [Write] would (eventually) delegate to Export,
-// and [Read], when it detects a file produced by Export,
-// would delegate to Import.
+// Package gcexportdata provides functions for writing and reading
+// export data, a serialized representation of a [types.Package].
+// It describes the API of a Go package, including the names,
+// kinds, types, and locations of all exported declarations.
+//
+// Files may be written and read using the [Write] and [Read]
+// functions.
+// Alternatively, files may be produced by the "go list -export" command.
+// This command runs the type checker on each specified Go package and
+// writes export data for each package into a file named by the Export
+// field of go list's -json output.
+// The [Read] function may then be used to read those files.
+//
+// The export data format evolves with each Go release. As a matter of
+// policy, [Read] supports reading files produced by only the last two
+// Go releases plus tip; see https://go.dev/issue/68898.
+//
+// The name of this package reflects its origins at a time when
+// cmd/compile was named gc, and [Read] parsed export data
+// from .a archives produced by the Go compiler.
+// However, starting with go1.28, the format of the files
+// produced by "go list -export" will diverge from the format
+// used by the standard Go compiler.
+// Consequently, this package will eventually stop being
+// capable of reading those files.
+// In the meantime, when using [Read] on a .a file written by the
+// compiler, be aware that export data is not at the start of the file.
+// Before calling Read, one must use [NewReader] to locate the export
+// data section of the file.
+// For more information on the compiler's export data, see the
+// "Export" section in the GOROOT/src/cmd/compile/README file.
//
// # Deprecations
//
-// The [NewImporter] and [Find] functions are deprecated and should
-// not be used in new code. The [WriteBundle] and [ReadBundle]
-// functions are experimental, and there is an open proposal to
-// deprecate them (https://go.dev/issue/69573).
+// The [NewImporter], [Find], and [NewReader] functions are deprecated
+// and should not be used in new code.
+// The [WriteBundle] and [ReadBundle] functions are obsolete experiments
+// and are no longer supported (https://go.dev/issue/69573).
package gcexportdata
import (
@@ -101,11 +82,30 @@ func Find(importPath, srcDir string) (filename, path string) {
return data.Export, data.ImportPath
}
-// NewReader returns a reader for the export data section of an object
-// (.o) or archive (.a) file read from r. The new reader may provide
-// additional trailing data beyond the end of the export data.
+// NewReader returns a reader for export data read from r. Export data
+// may be read from:
+//
+// - The export data section of an object (.o) or archive file (.a).
+// In this case, the new reader may provide additional trailing data
+// beyond the end of the export data.
+// - The output of the cmd/export tool (e.g. via "go list -export").
+// In this case, the new reader contains no trailing data.
+//
+// Deprecated: This package will stop supporting the reading of export
+// data from compiler-produced archive files in Go 1.29. To read
+// cmd/export files, use [Read] directly instead.
func NewReader(r io.Reader) (io.Reader, error) {
buf := bufio.NewReader(r)
+ peek, err := buf.Peek(1)
+ if err != nil {
+ return nil, err
+ }
+ if peek[0] == 'i' {
+ // We were given an output of cmd/export. The entire file is
+ // export data.
+ return buf, nil
+ }
+
size, err := gcimporter.FindExportData(buf)
if err != nil {
return nil, err
@@ -175,20 +175,13 @@ func Read(in io.Reader, fset *token.FileSet, imports map[string]*types.Package,
case 'i':
// indexed, produced by cmd/compile till go1.19,
- // and also by [Write].
- //
- // If proposal #69491 is accepted, go/types
- // serialization will be implemented by
- // types.Export, to which Write would eventually
- // delegate (explicitly dropping any pretence at
- // inter-version Write-Read compatibility).
- // This [Read] function would delegate to types.Import
- // when it detects that the file was produced by Export.
- _, pkg, err := gcimporter.IImportData(fset, imports, data[1:], path)
- return pkg, err
+ // and also by [Write]. Starting with go1.28,
+ // go list -export runs cmd/export, which emits this format.
+ return gcimporter.IImportData(fset, imports, data[1:], path)
case 'u':
- // unified, produced by cmd/compile since go1.20
+ // unified, produced by cmd/compile since go1.20.
+ // Produced by go list -export from go1.20 to go1.27.
_, pkg, err := gcimporter.UImportData(fset, imports, data[1:], path)
return pkg, err
@@ -209,28 +202,12 @@ func Write(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
return gcimporter.IExportData(out, fset, pkg)
}
-// ReadBundle reads an export bundle from in, decodes it, and returns type
-// information for the packages.
-// File position information is added to fset.
-//
-// ReadBundle may inspect and add to the imports map to ensure that references
-// within the export bundle to other packages are consistent.
-//
-// On return, the state of the reader is undefined.
-//
-// Experimental: This API is experimental and may change in the future.
+// Deprecated: ReadBundle is an unsupported obsolete experimental API. It returns an error.
func ReadBundle(in io.Reader, fset *token.FileSet, imports map[string]*types.Package) ([]*types.Package, error) {
- data, err := readAll(in)
- if err != nil {
- return nil, fmt.Errorf("reading export bundle: %v", err)
- }
- return gcimporter.IImportBundle(fset, imports, data)
+ return nil, fmt.Errorf("ReadBundle is an unsupported obsolete experimental API")
}
-// WriteBundle writes encoded type information for the specified packages to out.
-// The FileSet provides file position information for named objects.
-//
-// Experimental: This API is experimental and may change in the future.
-func WriteBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error {
- return gcimporter.IExportBundle(out, fset, pkgs)
+// Deprecated: WriteBundle is an unsupported obsolete experimental API. It returns an error.
+func WriteBundle(io.Writer, *token.FileSet, []*types.Package) error {
+ return fmt.Errorf("WriteBundle is an unsupported obsolete experimental API")
}
diff --git a/vendor/golang.org/x/tools/go/packages/golist.go b/vendor/golang.org/x/tools/go/packages/golist.go
index a6c17cf63..8f66c3557 100644
--- a/vendor/golang.org/x/tools/go/packages/golist.go
+++ b/vendor/golang.org/x/tools/go/packages/golist.go
@@ -207,11 +207,10 @@ func goListDriver(cfg *Config, runner *gocommand.Runner, overlay string, pattern
// doesn't exist.
extractQueries:
for _, pattern := range patterns {
- eqidx := strings.Index(pattern, "=")
- if eqidx < 0 {
+ query, value, ok := strings.Cut(pattern, "=")
+ if !ok {
restPatterns = append(restPatterns, pattern)
} else {
- query, value := pattern[:eqidx], pattern[eqidx+len("="):]
switch query {
case "file":
containFiles = append(containFiles, value)
@@ -318,10 +317,17 @@ func (state *golistState) adhocPackage(pattern, query string) (*DriverResponse,
if err != nil {
return nil, err
}
- // If we get nothing back from `go list`,
- // try to make this file into its own ad-hoc package.
- // TODO(rstambler): Should this check against the original response?
- if len(response.Packages) == 0 {
+ // Only .go files can form ad-hoc packages (command-line-arguments);
+ // non-Go files cannot be compiled as Go packages (golang.org/issue/54815).
+ if filepath.Ext(query) != ".go" {
+ return response, nil
+ }
+
+ switch len(response.Packages) {
+ case 0:
+ // If we get nothing back from `go list`,
+ // try to make this file into its own ad-hoc package.
+ // TODO(rstambler): Should this check against the original response?
response.Packages = append(response.Packages, &Package{
ID: "command-line-arguments",
PkgPath: query,
@@ -330,22 +336,23 @@ func (state *golistState) adhocPackage(pattern, query string) (*DriverResponse,
Imports: make(map[string]*Package),
})
response.Roots = append(response.Roots, "command-line-arguments")
- }
- // Handle special cases.
- if len(response.Packages) == 1 {
+
+ case 1:
+ // Handle special cases.
// golang/go#33482: If this is a file= query for ad-hoc packages where
// the file only exists on an overlay, and exists outside of a module,
// add the file to the package and remove the errors.
- if response.Packages[0].ID == "command-line-arguments" ||
- filepath.ToSlash(response.Packages[0].PkgPath) == filepath.ToSlash(query) {
- if len(response.Packages[0].GoFiles) == 0 {
+ pkg := response.Packages[0]
+ if pkg.ID == "command-line-arguments" ||
+ filepath.ToSlash(pkg.PkgPath) == filepath.ToSlash(query) {
+ if len(pkg.GoFiles) == 0 {
filename := filepath.Join(pattern, filepath.Base(query)) // avoid recomputing abspath
// TODO(matloob): check if the file is outside of a root dir?
for path := range state.cfg.Overlay {
if path == filename {
- response.Packages[0].Errors = nil
- response.Packages[0].GoFiles = []string{path}
- response.Packages[0].CompiledGoFiles = []string{path}
+ pkg.Errors = nil
+ pkg.GoFiles = []string{path}
+ pkg.CompiledGoFiles = []string{path}
}
}
}
@@ -563,8 +570,18 @@ func (state *golistState) createDriverResponse(words ...string) (*DriverResponse
} else {
// golang/go#38990: go list silently fails to do cgo processing
pkg.CompiledGoFiles = nil
+
+ var msg strings.Builder
+ fmt.Fprintf(&msg, "go list failed to return CompiledGoFiles for %q.\n", p.Name)
+
+ for _, err := range p.DepsErrors {
+ msg.WriteString(strings.TrimSpace(err.Err))
+ msg.WriteByte('\n')
+ }
+
+ msg.WriteString("This may indicate failure to perform cgo processing; try building at the command line. See https://golang.org/issue/38990.")
pkg.Errors = append(pkg.Errors, Error{
- Msg: "go list failed to return CompiledGoFiles. This may indicate failure to perform cgo processing; try building at the command line. See https://golang.org/issue/38990.",
+ Msg: msg.String(),
Kind: ListError,
})
}
@@ -674,9 +691,14 @@ func (state *golistState) createDriverResponse(words ...string) (*DriverResponse
if p.Error != nil {
msg := strings.TrimSpace(p.Error.Err) // Trim to work around golang.org/issue/32363.
- // Address golang.org/issue/35964 by appending import stack to error message.
- if msg == "import cycle not allowed" && len(p.Error.ImportStack) != 0 {
- msg += fmt.Sprintf(": import stack: %v", p.Error.ImportStack)
+ // Address golang.org/issue/35964 and golang.org/issue/38826 by appending import stack to error message.
+ // Address golang/go#38826 by removing " (test)"
+ if (msg == "import cycle not allowed" || msg == "import cycle not allowed in test") && len(p.Error.ImportStack) != 0 {
+ stack := make([]string, len(p.Error.ImportStack))
+ for i, s := range p.Error.ImportStack {
+ stack[i] = strings.TrimSuffix(s, " (test)")
+ }
+ msg += fmt.Sprintf(": import stack: %v", stack)
}
pkg.Errors = append(pkg.Errors, Error{
Pos: p.Error.Pos,
@@ -743,29 +765,27 @@ func (state *golistState) getPkgPath(dir string) (string, bool, error) {
return "", false, err
}
+ // A directory can be contained in multiple roots, for example when a
+ // replaced module is nested inside the main module. Choose the most
+ // specific root, breaking ties lexically for deterministic behavior.
+ var bestRoot, bestPath, bestRel string
for rdir, rpath := range roots {
- // Make sure that the directory is in the module,
- // to avoid creating a path relative to another module.
- if !strings.HasPrefix(dir, rdir) {
- continue
- }
// TODO(matloob): This doesn't properly handle symlinks.
r, err := filepath.Rel(rdir, dir)
- if err != nil {
+ if err != nil || !filepath.IsLocal(r) {
continue
}
- if rpath != "" {
- // We choose only one root even though the directory even it can belong in multiple modules
- // or GOPATH entries. This is okay because we only need to work with absolute dirs when a
- // file is missing from disk, for instance when gopls calls go/packages in an overlay.
- // Once the file is saved, gopls, or the next invocation of the tool will get the correct
- // result straight from golist.
- // TODO(matloob): Implement module tiebreaking?
- return path.Join(rpath, filepath.ToSlash(r)), true, nil
+ if bestRoot == "" || len(rdir) > len(bestRoot) || len(rdir) == len(bestRoot) && rdir < bestRoot {
+ bestRoot, bestPath, bestRel = rdir, rpath, r
}
- return filepath.ToSlash(r), true, nil
}
- return "", false, nil
+ if bestRoot == "" {
+ return "", false, nil
+ }
+ if bestPath != "" {
+ return path.Join(bestPath, filepath.ToSlash(bestRel)), true, nil
+ }
+ return filepath.ToSlash(bestRel), true, nil
}
// absJoin absolutizes and flattens the lists of files.
@@ -987,9 +1007,12 @@ func (state *golistState) invokeGo(verb string, args ...string) (*bytes.Buffer,
return bytes.NewBufferString(output), nil
}
- // Workaround for #29280: go list -e has incorrect behavior when an ad-hoc package doesn't exist.
+ // Workaround for #29280 and #31344: go list -e has incorrect behavior when an ad-hoc package doesn't exist.
// Note that the error message we look for in this case is different that the one looked for above.
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), "no such file or directory") {
+ // "no such file or directory" is emitted on Unix,
+ if len(stderr.String()) > 0 && (strings.Contains(stderr.String(), "no such file or directory") || // Unix
+ strings.Contains(stderr.String(), "The system cannot find the file specified") || // Windows ERROR_FILE_NOT_FOUND
+ strings.Contains(stderr.String(), "The system cannot find the path specified")) { // Windows ERROR_PATH_NOT_FOUND
output := fmt.Sprintf(`{"ImportPath": "command-line-arguments","Incomplete": true,"Error": {"Pos": "","Err": %q}}`,
strings.Trim(stderr.String(), "\n"))
return bytes.NewBufferString(output), nil
diff --git a/vendor/golang.org/x/tools/go/packages/golist_overlay.go b/vendor/golang.org/x/tools/go/packages/golist_overlay.go
index d9d5a45cd..8bd0f7faf 100644
--- a/vendor/golang.org/x/tools/go/packages/golist_overlay.go
+++ b/vendor/golang.org/x/tools/go/packages/golist_overlay.go
@@ -31,8 +31,8 @@ func (state *golistState) determineRootDirs() (map[string]string, error) {
}
func (state *golistState) determineRootDirsModules() (map[string]string, error) {
- // List all of the modules--the first will be the directory for the main
- // module. Any replaced modules will also need to be treated as roots.
+ // List all of the modules. Main modules and replaced modules need to be
+ // treated as roots.
// Editing files in the module cache isn't a great idea, so we don't
// plan to ever support that.
out, err := state.invokeGo("list", "-m", "-json", "all")
@@ -46,8 +46,6 @@ func (state *golistState) determineRootDirsModules() (map[string]string, error)
}
}
roots := map[string]string{}
- modules := map[string]string{}
- var i int
for dec := json.NewDecoder(out); dec.More(); {
mod := new(gocommand.ModuleJSON)
if err := dec.Decode(mod); err != nil {
@@ -59,13 +57,10 @@ func (state *golistState) determineRootDirsModules() (map[string]string, error)
if err != nil {
return nil, err
}
- modules[absDir] = mod.Path
- // The first result is the main module.
- if i == 0 || mod.Replace != nil && mod.Replace.Path != "" {
+ if mod.Main || mod.Replace != nil && mod.Replace.Path != "" {
roots[absDir] = mod.Path
}
}
- i++
}
return roots, nil
}
diff --git a/vendor/golang.org/x/tools/go/packages/packages.go b/vendor/golang.org/x/tools/go/packages/packages.go
index 412ba06b5..5dadc1b0d 100644
--- a/vendor/golang.org/x/tools/go/packages/packages.go
+++ b/vendor/golang.org/x/tools/go/packages/packages.go
@@ -539,6 +539,11 @@ type Package struct {
// depsErrors is the DepsErrors field from the go list response, if any.
depsErrors []*packagesinternal.PackageError
+
+ // exportDataError is the error encountered reading export data, if any.
+ // Decoding export data should ordinarily be infallible, so this typically
+ // indicates a producer/consumer version skew.
+ exportDataError error
}
// Module provides module information for a package.
@@ -810,6 +815,12 @@ func (ld *loader) refine(response *DriverResponse) ([]*Package, error) {
needsrc: needsrc,
goVersion: response.GoVersion,
}
+ // Don't trust the driver to respond with duplicate-free
+ // package names (go.dev/issue/63822).
+ if _, ok := ld.pkgs[lpkg.ID]; ok {
+ return nil, fmt.Errorf("%s response contained duplicate packages for ID %q",
+ cond(ld.externalDriver, "go/packages driver", "go list"), lpkg.ID)
+ }
ld.pkgs[lpkg.ID] = lpkg
if rootIndex >= 0 {
initial[rootIndex] = lpkg
@@ -1073,10 +1084,11 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) {
}
// TODO(adonovan): this condition looks wrong:
- // I think it should be lpkg.needtypes && !lpg.needsrc,
+ // I think it should be lpkg.needtypes && !lpkg.needsrc,
// so that NeedSyntax without NeedTypes can be satisfied by export data.
if !lpkg.needsrc {
if err := ld.loadFromExportData(lpkg); err != nil {
+ lpkg.exportDataError = err
lpkg.Errors = append(lpkg.Errors, Error{
Pos: "-",
Msg: err.Error(),
@@ -1215,7 +1227,13 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) {
if ipkg.Types != nil && ipkg.Types.Complete() {
return ipkg.Types, nil
}
- log.Fatalf("internal error: package %q without types was imported from %q", path, lpkg)
+
+ // If types are unavailable, there must be an export data error.
+ if ipkg.exportDataError != nil {
+ return nil, ipkg.exportDataError
+ }
+
+ log.Fatalf("internal error: expected complete types for package %q", path)
panic("unreachable")
})
@@ -1490,7 +1508,7 @@ func (ld *loader) loadFromExportData(lpkg *loaderPackage) error {
}
defer f.Close()
- // Read gc export data.
+ // Read gc or cmd/export export data.
//
// We don't currently support gccgo export data because all
// underlying workspaces use the gc toolchain. (Even build
@@ -1577,3 +1595,11 @@ func usesExportData(cfg *Config) bool {
}
type unit struct{}
+
+func cond[T any](cond bool, t, f T) T {
+ if cond {
+ return t
+ } else {
+ return f
+ }
+}
diff --git a/vendor/golang.org/x/tools/go/packages/visit.go b/vendor/golang.org/x/tools/go/packages/visit.go
index c546b1b63..06747a9df 100644
--- a/vendor/golang.org/x/tools/go/packages/visit.go
+++ b/vendor/golang.org/x/tools/go/packages/visit.go
@@ -5,11 +5,11 @@
package packages
import (
- "cmp"
"fmt"
"iter"
"os"
- "slices"
+
+ "golang.org/x/tools/internal/moremaps"
)
// Visit visits all the packages in the import graph whose roots are
@@ -40,7 +40,7 @@ func Visit(pkgs []*Package, pre func(*Package) bool, post func(*Package)) {
seen[pkg] = true
if pre == nil || pre(pkg) {
- for _, imp := range sorted(pkg.Imports) { // for determinism
+ for _, imp := range moremaps.Sorted(pkg.Imports) { // for determinism
visit(imp)
}
}
@@ -88,7 +88,7 @@ func Postorder(pkgs []*Package) iter.Seq[*Package] {
visit = func(pkg *Package) bool {
if !seen[pkg] {
seen[pkg] = true
- for _, imp := range sorted(pkg.Imports) { // for determinism
+ for _, imp := range moremaps.Sorted(pkg.Imports) { // for determinism
if !visit(imp) {
return false
}
@@ -106,28 +106,3 @@ func Postorder(pkgs []*Package) iter.Seq[*Package] {
}
}
}
-
-// -- copied from golang.org.x/tools/gopls/internal/util/moremaps --
-
-// sorted returns an iterator over the entries of m in key order.
-func sorted[M ~map[K]V, K cmp.Ordered, V any](m M) iter.Seq2[K, V] {
- // TODO(adonovan): use maps.Sorted if proposal #68598 is accepted.
- return func(yield func(K, V) bool) {
- keys := keySlice(m)
- slices.Sort(keys)
- for _, k := range keys {
- if !yield(k, m[k]) {
- break
- }
- }
- }
-}
-
-// KeySlice returns the keys of the map M, like slices.Collect(maps.Keys(m)).
-func keySlice[M ~map[K]V, K comparable, V any](m M) []K {
- r := make([]K, 0, len(m))
- for k := range m {
- r = append(r, k)
- }
- return r
-}
diff --git a/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go b/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go
index 56723d1f8..91add8494 100644
--- a/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go
+++ b/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go
@@ -24,12 +24,14 @@
package objectpath
import (
+ "encoding/binary"
"fmt"
"go/types"
+ "slices"
"strconv"
"strings"
-
- "golang.org/x/tools/internal/typesinternal"
+ "sync"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// TODO(adonovan): think about generic aliases.
@@ -124,12 +126,74 @@ func For(obj types.Object) (Path, error) {
// An Encoder amortizes the cost of encoding the paths of multiple objects.
// The zero value of an Encoder is ready to use.
type Encoder struct {
- scopeMemo map[*types.Scope][]types.Object // memoization of scopeObjects
+ pkgIndexMu sync.Mutex
+ pkgIndex map[*types.Package]*pkgIndex
+}
+
+// A traversal encapsulates the state of a single traversal of the object/type graph.
+type traversal struct {
+ pkg *types.Package
+ ix *pkgIndex // non-nil if we are building the index
+
+ target types.Object // the sought symbol (if ix == nil)
+ found Path // the found path (if ix == nil)
+
+ // These maps are used to short circuit cycles through
+ // interface methods, such as occur in the following example:
+ //
+ // type I interface { f() interface{I} }
+ //
+ // See golang/go#68046 for details.
+ seenTParamNames map[*types.TypeName]bool // global cycle breaking through type parameters
+ seenMethods map[*types.Func]bool // global cycle breaking through recursive interfaces
+}
+
+// A pkgIndex holds a compressed index of objectpaths of all symbols
+// (fields, methods, params) requiring search for an entire package.
+//
+// The first time a search for a given package is requested, we simply
+// traverse the type graph for the target object, maintaining the
+// current object path as a stack. If we find the target object, we
+// save the path and terminate the main loop (but it's not worth
+// breaking out of the current recursion).
+//
+// On the second search (a pkgIndex exists but its data is nil), we
+// build an index of the traversal, which we use for all subsequent
+// searches.
+//
+// The traversal index is encoded in the data field as a list of records,
+// one per node, in preorder. Records are of two types:
+//
+// - A record for a package-level object consists of a pair
+// (parent, nameIndex uvarint), where parent is zero and
+// nameIndex is the index of the object's name in the sorted
+// pkg.Scope().Names() slice.
+//
+// - A record for a nested node (a segment of an object path)
+// consists of (parent uvarint, op byte, index uvarint), where
+// parent is the index of the record for the parent node,
+// op is the destructuring operator, and index (if op = [AFMTr])
+// is its integer operand.
+//
+// Since data[0] = 0 all nodes have positive offsets. In effect the
+// encoding is a trie in which each node stores one path segment
+// and points to the node for its prefix.
+//
+// TODO(adonovan): opt: evaluate an only 2-level tree with nodes for
+// package-level objects and the-rest-of-the-path. One calculation
+// suggested that it might be similar speed but 30% more compact.
+type pkgIndex struct {
+ pkg *types.Package
+ data []byte // encoding of traversal; nil if not yet constructed
+ scopeNames []string // memo of pkg.Scope().Names() to avoid O(n) alloc/sort at lookup
+ offsets map[types.Object]uint32 // each object's node offset within encoded traversal data
}
// For returns the path to an object relative to its package,
// or an error if the object is not accessible from the package's Scope.
//
+// For is safe for concurrent use.
+//
// The For function guarantees to return a path only for the following objects:
// - package-level types
// - exported package-level non-types
@@ -211,10 +275,9 @@ func (enc *Encoder) For(obj types.Object) (Path, error) {
if pkg == nil {
return "", fmt.Errorf("predeclared %s has no path", obj)
}
- scope := pkg.Scope()
// 2. package-level object?
- if scope.Lookup(obj.Name()) == obj {
+ if pkg.Scope().Lookup(obj.Name()) == obj {
// Only exported objects (and non-exported types) have a path.
// Non-exported types may be referenced by other objects.
if _, ok := obj.(*types.TypeName); !ok && !obj.Exported() {
@@ -232,19 +295,18 @@ func (enc *Encoder) For(obj types.Object) (Path, error) {
// have a path.
return "", fmt.Errorf("no path for %v", obj)
}
+
case *types.Const, // Only package-level constants have a path.
*types.Label, // Labels are function-local.
*types.PkgName: // PkgNames are file-local.
return "", fmt.Errorf("no path for %v", obj)
case *types.Var:
- // Could be:
- // - a field (obj.IsField())
- // - a func parameter or result
- // - a local var.
- // Sadly there is no way to distinguish
- // a param/result from a local
- // so we must proceed to the find.
+ // A var, if not package-level, must be a
+ // parameter (incl. receiver) or result, or a struct field.
+ if obj.Kind() == types.LocalVar {
+ return "", fmt.Errorf("no path for local %v", obj)
+ }
case *types.Func:
// A func, if not package-level, must be a method.
@@ -261,89 +323,314 @@ func (enc *Encoder) For(obj types.Object) (Path, error) {
panic(obj)
}
- // 4. Search the API for the path to the var (field/param/result) or method.
+ enc.pkgIndexMu.Lock()
+ defer enc.pkgIndexMu.Unlock()
+
+ // 4. Search the object/type graph for the path to
+ // the var (field/param/result) or method.
+ ix, ok := enc.pkgIndex[pkg]
+ if !ok {
+ // First search: don't build an index, just traverse.
+ // This avoids allocation in [For], whose Encoder
+ // lives for a single call.
+ ix = &pkgIndex{pkg: pkg}
+
+ if enc.pkgIndex == nil {
+ enc.pkgIndex = make(map[*types.Package]*pkgIndex)
+ }
+ enc.pkgIndex[pkg] = ix // build the index next time
+
+ f := traversal{pkg: pkg, target: obj}
+ f.traverse()
+
+ if f.found != "" {
+ return f.found, nil
+ }
+ } else {
+ // Second search: build an index while traversing.
+ if ix.data == nil {
+ ix.offsets = make(map[types.Object]uint32)
+ ix.data = []byte{0} // offset 0 is sentinel
+ (&traversal{pkg: pkg, ix: ix}).traverse()
+ }
+
+ // Second and later searches: consult the index.
+ if offset, ok := ix.offsets[obj]; ok {
+ return ix.path(offset), nil
+ }
+ }
+
+ return "", fmt.Errorf("can't find path for %v in %s", obj, pkg.Path())
+}
+
+// traverse performs a complete traversal of all symbols reachable from the package.
+func (tr *traversal) traverse() {
+ scope := tr.pkg.Scope()
+ names := scope.Names()
+ if tr.ix != nil {
+ tr.ix.scopeNames = names
+ }
+
+ empty := make([]byte, 0, 48) // initial space for stack (ix == nil)
- // First inspect package-level named types.
+ // First inspect package-level type names.
// In the presence of path aliases, these give
// the best paths because non-types may
// refer to types, but not the reverse.
- empty := make([]byte, 0, 48) // initial space
- objs := enc.scopeObjects(scope)
- for _, o := range objs {
- tname, ok := o.(*types.TypeName)
- if !ok {
- continue // handle non-types in second pass
+ for i, name := range names {
+ if tr.found != "" {
+ return // found (ix == nil)
}
- path := append(empty, o.Name()...)
- path = append(path, opType)
-
- T := o.Type()
- if alias, ok := T.(*types.Alias); ok {
- if r := findTypeParam(obj, alias.TypeParams(), path, opTypeParam); r != nil {
- return Path(r), nil
- }
- if r := find(obj, alias.Rhs(), append(path, opRhs)); r != nil {
- return Path(r), nil
- }
+ obj := scope.Lookup(name)
+ if _, ok := obj.(*types.TypeName); !ok {
+ continue // handle non-types in second pass
+ }
- } else if tname.IsAlias() {
- // legacy alias
- if r := find(obj, T, path); r != nil {
- return Path(r), nil
- }
+ // emit (name, opType)
+ var path []byte
+ var offset uint32
+ if tr.ix == nil {
+ path = append(empty, name...)
+ path = append(path, opType)
+ } else {
+ offset = tr.ix.emitPackageLevel(i)
+ tr.ix.offsets[obj] = offset
+ offset = tr.ix.emitPathSegment(offset, opType, -1)
+ }
- } else if named, ok := T.(*types.Named); ok {
- // defined (named) type
- if r := findTypeParam(obj, named.TypeParams(), path, opTypeParam); r != nil {
- return Path(r), nil
- }
- if r := find(obj, named.Underlying(), append(path, opUnderlying)); r != nil {
- return Path(r), nil
- }
+ // A TypeName (for Named or Alias) may have type parameters.
+ switch t := obj.Type().(type) {
+ case *types.Alias:
+ tr.tparams(t.TypeParams(), path, offset, opTypeParam)
+ tr.typ(path, offset, opRhs, -1, t.Rhs())
+ case *types.Named:
+ tr.tparams(t.TypeParams(), path, offset, opTypeParam)
+ tr.typ(path, offset, opUnderlying, -1, t.Underlying())
}
}
// Then inspect everything else:
- // non-types, and declared methods of defined types.
- for _, o := range objs {
- path := append(empty, o.Name()...)
- if _, ok := o.(*types.TypeName); !ok {
- if o.Exported() {
+ // exported non-types, and declared methods of defined types.
+ for i, name := range names {
+ if tr.found != "" {
+ return // found (ix == nil)
+ }
+
+ obj := scope.Lookup(name)
+
+ if tname, ok := obj.(*types.TypeName); !ok {
+ if obj.Exported() {
// exported non-type (const, var, func)
- if r := find(obj, o.Type(), append(path, opType)); r != nil {
- return Path(r), nil
+ var path []byte
+ var offset uint32
+ if tr.ix == nil {
+ path = append(empty, name...)
+ } else {
+ offset = tr.ix.emitPackageLevel(i)
+ tr.ix.offsets[obj] = offset
}
+ tr.typ(path, offset, opType, -1, obj.Type())
}
- continue
- }
- // Inspect declared methods of defined types.
- if T, ok := types.Unalias(o.Type()).(*types.Named); ok {
- path = append(path, opType)
+ } else if T, ok := types.Unalias(tname.Type()).(*types.Named); ok {
+ // defined type
+ var path []byte
+ var offset uint32
+ if tr.ix == nil {
+ path = append(empty, name...)
+ path = append(path, opType)
+ } else {
+ // Inv: map entry for obj was populated in first pass.
+ offset = tr.ix.emitPathSegment(tr.ix.offsets[obj], opType, -1)
+ }
+
+ // Inspect declared methods of defined types.
+ //
// The method index here is always with respect
// to the underlying go/types data structures,
// which ultimately derives from source order
// and must be preserved by export data.
for i := 0; i < T.NumMethods(); i++ {
m := T.Method(i)
- path2 := appendOpArg(path, opMethod, i)
- if m == obj {
- return Path(path2), nil // found declared method
- }
- if r := find(obj, m.Type(), append(path2, opType)); r != nil {
- return Path(r), nil
+ tr.object(path, offset, opMethod, i, m)
+ }
+ }
+ }
+}
+
+func (tr *traversal) visitType(path []byte, offset uint32, T types.Type) {
+ switch T := T.(type) {
+ case *types.Alias:
+ tr.typ(path, offset, opRhs, -1, T.Rhs())
+
+ case *types.Basic, *types.Named:
+ // Named types belonging to pkg were handled already,
+ // so T must belong to another package. No path.
+ return
+
+ case *types.Pointer, *types.Slice, *types.Array, *types.Chan:
+ type hasElem interface{ Elem() types.Type } // note: includes Map
+ tr.typ(path, offset, opElem, -1, T.(hasElem).Elem())
+
+ case *types.Map:
+ tr.typ(path, offset, opKey, -1, T.Key())
+ tr.typ(path, offset, opElem, -1, T.Elem())
+
+ case *types.Signature:
+ tr.tparams(T.RecvTypeParams(), path, offset, opRecvTypeParam)
+ tr.tparams(T.TypeParams(), path, offset, opTypeParam)
+ tr.typ(path, offset, opParams, -1, T.Params())
+ tr.typ(path, offset, opResults, -1, T.Results())
+
+ case *types.Struct:
+ for i := 0; i < T.NumFields(); i++ {
+ tr.object(path, offset, opField, i, T.Field(i))
+ }
+
+ case *types.Tuple:
+ for i := 0; i < T.Len(); i++ {
+ tr.object(path, offset, opAt, i, T.At(i))
+ }
+
+ case *types.Interface:
+ for i := 0; i < T.NumMethods(); i++ {
+ m := T.Method(i)
+ if m.Pkg() != nil && m.Pkg() != tr.pkg {
+ continue // embedded method from another package
+ }
+ if !tr.seenMethods[m] {
+ if tr.seenMethods == nil {
+ tr.seenMethods = make(map[*types.Func]bool)
}
+ tr.seenMethods[m] = true
+ tr.object(path, offset, opMethod, i, m)
}
}
+
+ case *types.TypeParam:
+ tname := T.Obj()
+ if tname.Pkg() != nil && tname.Pkg() != tr.pkg {
+ return // type parameter from another package
+ }
+ if !tr.seenTParamNames[tname] {
+ if tr.seenTParamNames == nil {
+ tr.seenTParamNames = make(map[*types.TypeName]bool)
+ }
+ tr.seenTParamNames[tname] = true
+ tr.object(path, offset, opObj, -1, tname)
+ tr.typ(path, offset, opConstraint, -1, T.Constraint())
+ }
}
+}
- return "", fmt.Errorf("can't find path for %v in %s", obj, pkg.Path())
+func (tr *traversal) tparams(list *types.TypeParamList, path []byte, offset uint32, op byte) {
+ for i := 0; i < list.Len(); i++ {
+ tr.typ(path, offset, op, i, list.At(i))
+ }
+}
+
+// typ descends the type graph edge (op, index), then proceeds to traverse type t.
+func (tr *traversal) typ(path []byte, offset uint32, op byte, index int, t types.Type) {
+ if tr.ix == nil {
+ path = appendOpArg(path, op, index)
+ } else {
+ offset = tr.ix.emitPathSegment(offset, op, index)
+ }
+ tr.visitType(path, offset, t)
+}
+
+// object descends the type graph edge (op, index), records object
+// obj, then proceeds to traverse its type.
+func (tr *traversal) object(path []byte, offset uint32, op byte, index int, obj types.Object) {
+ if tr.ix == nil {
+ path = appendOpArg(path, op, index)
+ if obj == tr.target && tr.found == "" {
+ tr.found = Path(path)
+ }
+ path = append(path, opType)
+ } else {
+ offset = tr.ix.emitPathSegment(offset, op, index)
+ if _, ok := tr.ix.offsets[obj]; !ok {
+ tr.ix.offsets[obj] = offset
+ }
+ offset = tr.ix.emitPathSegment(offset, opType, -1)
+ }
+ tr.visitType(path, offset, obj.Type())
}
-func appendOpArg(path []byte, op byte, arg int) []byte {
+// emitPackageLevel encodes a record for a package-level symbol,
+// identified by its index in ix.scopeNames.
+func (p *pkgIndex) emitPackageLevel(index int) uint32 {
+ off := uint32(len(p.data))
+ p.data = append(p.data, 0) // zero varint => no parent
+ p.data = binary.AppendUvarint(p.data, uint64(index))
+ return off
+}
+
+// emitPathSegment emits a record for a non-initial object path segment.
+func (p *pkgIndex) emitPathSegment(parent uint32, op byte, index int) uint32 {
+ off := uint32(len(p.data))
+ p.data = binary.AppendUvarint(p.data, uint64(parent))
+ p.data = append(p.data, op)
+ switch op {
+ case opAt, opField, opMethod, opTypeParam, opRecvTypeParam:
+ p.data = binary.AppendUvarint(p.data, uint64(index))
+ }
+ return off
+}
+
+// path returns the Path for the encoded node at the specified offset.
+func (p *pkgIndex) path(offset uint32) Path {
+ var elems []string // path elements in reverse
+ for {
+ // Read parent index.
+ parent, n := binary.Uvarint(p.data[offset:])
+ offset += uint32(n)
+
+ if parent == 0 {
+ break // root (end of path)
+ }
+
+ op := p.data[offset]
+ offset++
+
+ // The [AFMTr] operators have a numeric operand.
+ switch op {
+ case opAt, opField, opMethod, opTypeParam, opRecvTypeParam:
+ val, n := binary.Uvarint(p.data[offset:])
+ offset += uint32(n)
+ elems = append(elems, strconv.Itoa(int(val)))
+ }
+
+ elems = append(elems, string([]byte{op}))
+
+ offset = uint32(parent)
+ }
+ idx, _ := binary.Uvarint(p.data[offset:])
+
+ // Convert index to Path string.
+ name := p.scopeNames[idx]
+ sz := len(name)
+ for _, elem := range elems {
+ sz += len(elem)
+ }
+ var buf strings.Builder
+ buf.Grow(sz)
+ buf.WriteString(name)
+ for _, elem := range slices.Backward(elems) {
+ buf.WriteString(elem)
+ }
+ return Path(buf.String())
+}
+
+// appendOpArg appends (op, index) to the object path.
+// A negative index is ignored.
+func appendOpArg(path []byte, op byte, index int) []byte {
path = append(path, op)
- path = strconv.AppendInt(path, int64(arg), 10)
+ if index >= 0 {
+ path = strconv.AppendInt(path, int64(index), 10)
+ }
return path
}
@@ -404,8 +691,13 @@ func (enc *Encoder) concreteMethod(meth *types.Func) (Path, bool) {
return "", false
}
- _, named := typesinternal.ReceiverNamed(meth.Signature().Recv())
- if named == nil {
+ // Avoid dependency on typesinternal.RecvBase here.
+ t := meth.Signature().Recv().Type()
+ if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
+ t = ptr.Elem()
+ }
+ named, ok := types.Unalias(t).(*types.Named)
+ if !ok {
return "", false
}
@@ -442,138 +734,6 @@ func (enc *Encoder) concreteMethod(meth *types.Func) (Path, bool) {
// panic(fmt.Sprintf("couldn't find method %s on type %s; methods: %#v", meth, named, enc.namedMethods(named)))
}
-// find finds obj within type T, returning the path to it, or nil if not found.
-//
-// The seen map is used to short circuit cycles through type parameters. If
-// nil, it will be allocated as necessary.
-//
-// The seenMethods map is used internally to short circuit cycles through
-// interface methods, such as occur in the following example:
-//
-// type I interface { f() interface{I} }
-//
-// See golang/go#68046 for details.
-func find(obj types.Object, T types.Type, path []byte) []byte {
- return (&finder{obj: obj}).find(T, path)
-}
-
-// finder closes over search state for a call to find.
-type finder struct {
- obj types.Object // the sought object
- seenTParamNames map[*types.TypeName]bool // for cycle breaking through type parameters
- seenMethods map[*types.Func]bool // for cycle breaking through recursive interfaces
-}
-
-func (f *finder) find(T types.Type, path []byte) []byte {
- switch T := T.(type) {
- case *types.Alias:
- return f.find(types.Unalias(T), path)
- case *types.Basic, *types.Named:
- // Named types belonging to pkg were handled already,
- // so T must belong to another package. No path.
- return nil
- case *types.Pointer:
- return f.find(T.Elem(), append(path, opElem))
- case *types.Slice:
- return f.find(T.Elem(), append(path, opElem))
- case *types.Array:
- return f.find(T.Elem(), append(path, opElem))
- case *types.Chan:
- return f.find(T.Elem(), append(path, opElem))
- case *types.Map:
- if r := f.find(T.Key(), append(path, opKey)); r != nil {
- return r
- }
- return f.find(T.Elem(), append(path, opElem))
- case *types.Signature:
- if r := f.findTypeParam(T.RecvTypeParams(), path, opRecvTypeParam); r != nil {
- return r
- }
- if r := f.findTypeParam(T.TypeParams(), path, opTypeParam); r != nil {
- return r
- }
- if r := f.find(T.Params(), append(path, opParams)); r != nil {
- return r
- }
- return f.find(T.Results(), append(path, opResults))
- case *types.Struct:
- for i := 0; i < T.NumFields(); i++ {
- fld := T.Field(i)
- path2 := appendOpArg(path, opField, i)
- if fld == f.obj {
- return path2 // found field var
- }
- if r := f.find(fld.Type(), append(path2, opType)); r != nil {
- return r
- }
- }
- return nil
- case *types.Tuple:
- for i := 0; i < T.Len(); i++ {
- v := T.At(i)
- path2 := appendOpArg(path, opAt, i)
- if v == f.obj {
- return path2 // found param/result var
- }
- if r := f.find(v.Type(), append(path2, opType)); r != nil {
- return r
- }
- }
- return nil
- case *types.Interface:
- for i := 0; i < T.NumMethods(); i++ {
- m := T.Method(i)
- if f.seenMethods[m] {
- return nil
- }
- path2 := appendOpArg(path, opMethod, i)
- if m == f.obj {
- return path2 // found interface method
- }
- if f.seenMethods == nil {
- f.seenMethods = make(map[*types.Func]bool)
- }
- f.seenMethods[m] = true
- if r := f.find(m.Type(), append(path2, opType)); r != nil {
- return r
- }
- }
- return nil
- case *types.TypeParam:
- name := T.Obj()
- if f.seenTParamNames[name] {
- return nil
- }
- if name == f.obj {
- return append(path, opObj)
- }
- if f.seenTParamNames == nil {
- f.seenTParamNames = make(map[*types.TypeName]bool)
- }
- f.seenTParamNames[name] = true
- if r := f.find(T.Constraint(), append(path, opConstraint)); r != nil {
- return r
- }
- return nil
- }
- panic(T)
-}
-
-func findTypeParam(obj types.Object, list *types.TypeParamList, path []byte, op byte) []byte {
- return (&finder{obj: obj}).findTypeParam(list, path, op)
-}
-
-func (f *finder) findTypeParam(list *types.TypeParamList, path []byte, op byte) []byte {
- for i := 0; i < list.Len(); i++ {
- tparam := list.At(i)
- path2 := appendOpArg(path, op, i)
- if r := f.find(tparam, path2); r != nil {
- return r
- }
- }
- return nil
-}
-
// Object returns the object denoted by path p within the package pkg.
func Object(pkg *types.Package, p Path) (types.Object, error) {
pathstr := string(p)
@@ -708,7 +868,7 @@ func Object(pkg *types.Package, p Path) (types.Object, error) {
}
tparams := hasTypeParams.TypeParams()
if n := tparams.Len(); index >= n {
- return nil, fmt.Errorf("tuple index %d out of range [0-%d)", index, n)
+ return nil, fmt.Errorf("type parameter index %d out of range [0-%d)", index, n)
}
t = tparams.At(index)
@@ -719,7 +879,7 @@ func Object(pkg *types.Package, p Path) (types.Object, error) {
}
rtparams := sig.RecvTypeParams()
if n := rtparams.Len(); index >= n {
- return nil, fmt.Errorf("tuple index %d out of range [0-%d)", index, n)
+ return nil, fmt.Errorf("receiver type parameter index %d out of range [0-%d)", index, n)
}
t = rtparams.At(index)
@@ -794,23 +954,3 @@ func Object(pkg *types.Package, p Path) (types.Object, error) {
return obj, nil // success
}
-
-// scopeObjects is a memoization of scope objects.
-// Callers must not modify the result.
-func (enc *Encoder) scopeObjects(scope *types.Scope) []types.Object {
- m := enc.scopeMemo
- if m == nil {
- m = make(map[*types.Scope][]types.Object)
- enc.scopeMemo = m
- }
- objs, ok := m[scope]
- if !ok {
- names := scope.Names() // allocates and sorts
- objs = make([]types.Object, len(names))
- for i, name := range names {
- objs[i] = scope.Lookup(name)
- }
- m[scope] = objs
- }
- return objs
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/callee.go b/vendor/golang.org/x/tools/go/types/typeutil/callee.go
deleted file mode 100644
index 3d24a8c63..000000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/callee.go
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeutil
-
-import (
- "go/ast"
- "go/types"
- _ "unsafe" // for linkname
-)
-
-// Callee returns the named target of a function call, if any:
-// a function, method, builtin, or variable.
-// It returns nil for a T(x) conversion.
-//
-// Functions and methods may potentially have type parameters.
-//
-// Note: for calls of instantiated functions and methods, Callee returns
-// the corresponding generic function or method on the generic type.
-func Callee(info *types.Info, call *ast.CallExpr) types.Object {
- obj := info.Uses[usedIdent(info, call.Fun)]
- if obj == nil {
- return nil
- }
- if _, ok := obj.(*types.TypeName); ok {
- return nil
- }
- return obj
-}
-
-// StaticCallee returns the target (function or method) of a static function
-// call, if any. It returns nil for calls to builtins.
-//
-// Note: for calls of instantiated functions and methods, StaticCallee returns
-// the corresponding generic function or method on the generic type.
-func StaticCallee(info *types.Info, call *ast.CallExpr) *types.Func {
- obj := info.Uses[usedIdent(info, call.Fun)]
- fn, _ := obj.(*types.Func)
- if fn == nil || interfaceMethod(fn) {
- return nil
- }
- return fn
-}
-
-// usedIdent is the implementation of [internal/typesinternal.UsedIdent].
-// It returns the identifier associated with e.
-// See typesinternal.UsedIdent for a fuller description.
-// This function should live in typesinternal, but cannot because it would
-// create an import cycle.
-//
-//go:linkname usedIdent golang.org/x/tools/go/types/typeutil.usedIdent
-func usedIdent(info *types.Info, e ast.Expr) *ast.Ident {
- if info.Types == nil || info.Uses == nil {
- panic("one of info.Types or info.Uses is nil; both must be populated")
- }
- // Look through type instantiation if necessary.
- switch d := ast.Unparen(e).(type) {
- case *ast.IndexExpr:
- if info.Types[d.Index].IsType() {
- e = d.X
- }
- case *ast.IndexListExpr:
- e = d.X
- }
-
- switch e := ast.Unparen(e).(type) {
- // info.Uses always has the object we want, even for selector expressions.
- // We don't need info.Selections.
- // See go/types/recording.go:recordSelection.
- case *ast.Ident:
- return e
- case *ast.SelectorExpr:
- return e.Sel
- }
- return nil
-}
-
-// interfaceMethod reports whether its argument is a method of an interface.
-// This function should live in typesinternal, but cannot because it would create an import cycle.
-//
-//go:linkname interfaceMethod golang.org/x/tools/go/types/typeutil.interfaceMethod
-func interfaceMethod(f *types.Func) bool {
- recv := f.Signature().Recv()
- return recv != nil && types.IsInterface(recv.Type())
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/imports.go b/vendor/golang.org/x/tools/go/types/typeutil/imports.go
deleted file mode 100644
index b81ce0c33..000000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/imports.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeutil
-
-import "go/types"
-
-// Dependencies returns all dependencies of the specified packages.
-//
-// Dependent packages appear in topological order: if package P imports
-// package Q, Q appears earlier than P in the result.
-// The algorithm follows import statements in the order they
-// appear in the source code, so the result is a total order.
-func Dependencies(pkgs ...*types.Package) []*types.Package {
- var result []*types.Package
- seen := make(map[*types.Package]bool)
- var visit func(pkgs []*types.Package)
- visit = func(pkgs []*types.Package) {
- for _, p := range pkgs {
- if !seen[p] {
- seen[p] = true
- visit(p.Imports())
- result = append(result, p)
- }
- }
- }
- visit(pkgs)
- return result
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/map.go b/vendor/golang.org/x/tools/go/types/typeutil/map.go
deleted file mode 100644
index 36624572a..000000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/map.go
+++ /dev/null
@@ -1,459 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package typeutil defines various utilities for types, such as [Map],
-// a hash table that maps [types.Type] to any value.
-package typeutil
-
-import (
- "bytes"
- "fmt"
- "go/types"
- "hash/maphash"
-
- "golang.org/x/tools/internal/typeparams"
-)
-
-// Map is a hash-table-based mapping from types (types.Type) to
-// arbitrary values. The concrete types that implement
-// the Type interface are pointers. Since they are not canonicalized,
-// == cannot be used to check for equivalence, and thus we cannot
-// simply use a Go map.
-//
-// Just as with map[K]V, a nil *Map is a valid empty map.
-//
-// Read-only map operations ([Map.At], [Map.Len], and so on) may
-// safely be called concurrently.
-//
-// TODO(adonovan): deprecate in favor of https://go.dev/issues/69420
-// and 69559, if the latter proposals for a generic hash-map type and
-// a types.Hash function are accepted.
-type Map struct {
- table map[uint32][]entry // maps hash to bucket; entry.key==nil means unused
- length int // number of map entries
-}
-
-// entry is an entry (key/value association) in a hash bucket.
-type entry struct {
- key types.Type
- value any
-}
-
-// SetHasher has no effect.
-//
-// It is a relic of an optimization that is no longer profitable. Do
-// not use [Hasher], [MakeHasher], or [SetHasher] in new code.
-func (m *Map) SetHasher(Hasher) {}
-
-// Delete removes the entry with the given key, if any.
-// It returns true if the entry was found.
-func (m *Map) Delete(key types.Type) bool {
- if m != nil && m.table != nil {
- hash := hash(key)
- bucket := m.table[hash]
- for i, e := range bucket {
- if e.key != nil && types.Identical(key, e.key) {
- // We can't compact the bucket as it
- // would disturb iterators.
- bucket[i] = entry{}
- m.length--
- return true
- }
- }
- }
- return false
-}
-
-// At returns the map entry for the given key.
-// The result is nil if the entry is not present.
-func (m *Map) At(key types.Type) any {
- if m != nil && m.table != nil {
- for _, e := range m.table[hash(key)] {
- if e.key != nil && types.Identical(key, e.key) {
- return e.value
- }
- }
- }
- return nil
-}
-
-// Set sets the map entry for key to val,
-// and returns the previous entry, if any.
-func (m *Map) Set(key types.Type, value any) (prev any) {
- if m.table != nil {
- hash := hash(key)
- bucket := m.table[hash]
- var hole *entry
- for i, e := range bucket {
- if e.key == nil {
- hole = &bucket[i]
- } else if types.Identical(key, e.key) {
- prev = e.value
- bucket[i].value = value
- return
- }
- }
-
- if hole != nil {
- *hole = entry{key, value} // overwrite deleted entry
- } else {
- m.table[hash] = append(bucket, entry{key, value})
- }
- } else {
- hash := hash(key)
- m.table = map[uint32][]entry{hash: {entry{key, value}}}
- }
-
- m.length++
- return
-}
-
-// Len returns the number of map entries.
-func (m *Map) Len() int {
- if m != nil {
- return m.length
- }
- return 0
-}
-
-// Iterate calls function f on each entry in the map in unspecified order.
-//
-// If f should mutate the map, Iterate provides the same guarantees as
-// Go maps: if f deletes a map entry that Iterate has not yet reached,
-// f will not be invoked for it, but if f inserts a map entry that
-// Iterate has not yet reached, whether or not f will be invoked for
-// it is unspecified.
-func (m *Map) Iterate(f func(key types.Type, value any)) {
- if m != nil {
- for _, bucket := range m.table {
- for _, e := range bucket {
- if e.key != nil {
- f(e.key, e.value)
- }
- }
- }
- }
-}
-
-// Keys returns a new slice containing the set of map keys.
-// The order is unspecified.
-func (m *Map) Keys() []types.Type {
- keys := make([]types.Type, 0, m.Len())
- m.Iterate(func(key types.Type, _ any) {
- keys = append(keys, key)
- })
- return keys
-}
-
-func (m *Map) toString(values bool) string {
- if m == nil {
- return "{}"
- }
- var buf bytes.Buffer
- fmt.Fprint(&buf, "{")
- sep := ""
- m.Iterate(func(key types.Type, value any) {
- fmt.Fprint(&buf, sep)
- sep = ", "
- fmt.Fprint(&buf, key)
- if values {
- fmt.Fprintf(&buf, ": %q", value)
- }
- })
- fmt.Fprint(&buf, "}")
- return buf.String()
-}
-
-// String returns a string representation of the map's entries.
-// Values are printed using fmt.Sprintf("%v", v).
-// Order is unspecified.
-func (m *Map) String() string {
- return m.toString(true)
-}
-
-// KeysString returns a string representation of the map's key set.
-// Order is unspecified.
-func (m *Map) KeysString() string {
- return m.toString(false)
-}
-
-// -- Hasher --
-
-// hash returns the hash of type t.
-// TODO(adonovan): replace by types.Hash when Go proposal #69420 is accepted.
-func hash(t types.Type) uint32 {
- return theHasher.Hash(t)
-}
-
-// A Hasher provides a [Hasher.Hash] method to map a type to its hash value.
-// Hashers are stateless, and all are equivalent.
-type Hasher struct{}
-
-var theHasher Hasher
-
-// MakeHasher returns Hasher{}.
-// Hashers are stateless; all are equivalent.
-func MakeHasher() Hasher { return theHasher }
-
-// Hash computes a hash value for the given type t such that
-// Identical(t, t') => Hash(t) == Hash(t').
-func (h Hasher) Hash(t types.Type) uint32 {
- return hasher{inGenericSig: false}.hash(t)
-}
-
-// hasher holds the state of a single Hash traversal: whether we are
-// inside the signature of a generic function; this is used to
-// optimize [hasher.hashTypeParam].
-type hasher struct{ inGenericSig bool }
-
-// hashString computes the Fowler–Noll–Vo hash of s.
-func hashString(s string) uint32 {
- var h uint32
- for i := 0; i < len(s); i++ {
- h ^= uint32(s[i])
- h *= 16777619
- }
- return h
-}
-
-// hash computes the hash of t.
-func (h hasher) hash(t types.Type) uint32 {
- // See Identical for rationale.
- switch t := t.(type) {
- case *types.Basic:
- return uint32(t.Kind())
-
- case *types.Alias:
- return h.hash(types.Unalias(t))
-
- case *types.Array:
- return 9043 + 2*uint32(t.Len()) + 3*h.hash(t.Elem())
-
- case *types.Slice:
- return 9049 + 2*h.hash(t.Elem())
-
- case *types.Struct:
- var hash uint32 = 9059
- for i, n := 0, t.NumFields(); i < n; i++ {
- f := t.Field(i)
- if f.Anonymous() {
- hash += 8861
- }
- hash += hashString(t.Tag(i))
- hash += hashString(f.Name()) // (ignore f.Pkg)
- hash += h.hash(f.Type())
- }
- return hash
-
- case *types.Pointer:
- return 9067 + 2*h.hash(t.Elem())
-
- case *types.Signature:
- var hash uint32 = 9091
- if t.Variadic() {
- hash *= 8863
- }
-
- tparams := t.TypeParams()
- if n := tparams.Len(); n > 0 {
- h.inGenericSig = true // affects constraints, params, and results
-
- for i := range n {
- tparam := tparams.At(i)
- hash += 7 * h.hash(tparam.Constraint())
- }
- }
-
- return hash + 3*h.hashTuple(t.Params()) + 5*h.hashTuple(t.Results())
-
- case *types.Union:
- return h.hashUnion(t)
-
- case *types.Interface:
- // Interfaces are identical if they have the same set of methods, with
- // identical names and types, and they have the same set of type
- // restrictions. See go/types.identical for more details.
- var hash uint32 = 9103
-
- // Hash methods.
- for i, n := 0, t.NumMethods(); i < n; i++ {
- // Method order is not significant.
- // Ignore m.Pkg().
- m := t.Method(i)
- // Use shallow hash on method signature to
- // avoid anonymous interface cycles.
- hash += 3*hashString(m.Name()) + 5*h.shallowHash(m.Type())
- }
-
- // Hash type restrictions.
- terms, err := typeparams.InterfaceTermSet(t)
- // if err != nil t has invalid type restrictions.
- if err == nil {
- hash += h.hashTermSet(terms)
- }
-
- return hash
-
- case *types.Map:
- return 9109 + 2*h.hash(t.Key()) + 3*h.hash(t.Elem())
-
- case *types.Chan:
- return 9127 + 2*uint32(t.Dir()) + 3*h.hash(t.Elem())
-
- case *types.Named:
- hash := h.hashTypeName(t.Obj())
- targs := t.TypeArgs()
- for targ := range targs.Types() {
- hash += 2 * h.hash(targ)
- }
- return hash
-
- case *types.TypeParam:
- return h.hashTypeParam(t)
-
- case *types.Tuple:
- return h.hashTuple(t)
- }
-
- panic(fmt.Sprintf("%T: %v", t, t))
-}
-
-func (h hasher) hashTuple(tuple *types.Tuple) uint32 {
- // See go/types.identicalTypes for rationale.
- n := tuple.Len()
- hash := 9137 + 2*uint32(n)
- for i := range n {
- hash += 3 * h.hash(tuple.At(i).Type())
- }
- return hash
-}
-
-func (h hasher) hashUnion(t *types.Union) uint32 {
- // Hash type restrictions.
- terms, err := typeparams.UnionTermSet(t)
- // if err != nil t has invalid type restrictions. Fall back on a non-zero
- // hash.
- if err != nil {
- return 9151
- }
- return h.hashTermSet(terms)
-}
-
-func (h hasher) hashTermSet(terms []*types.Term) uint32 {
- hash := 9157 + 2*uint32(len(terms))
- for _, term := range terms {
- // term order is not significant.
- termHash := h.hash(term.Type())
- if term.Tilde() {
- termHash *= 9161
- }
- hash += 3 * termHash
- }
- return hash
-}
-
-// hashTypeParam returns the hash of a type parameter.
-func (h hasher) hashTypeParam(t *types.TypeParam) uint32 {
- // Within the signature of a generic function, TypeParams are
- // identical if they have the same index and constraint, so we
- // hash them based on index.
- //
- // When we are outside a generic function, free TypeParams are
- // identical iff they are the same object, so we can use a
- // more discriminating hash consistent with object identity.
- // This optimization saves [Map] about 4% when hashing all the
- // types.Info.Types in the forward closure of net/http.
- if !h.inGenericSig {
- // Optimization: outside a generic function signature,
- // use a more discrimating hash consistent with object identity.
- return h.hashTypeName(t.Obj())
- }
- return 9173 + 3*uint32(t.Index())
-}
-
-var theSeed = maphash.MakeSeed()
-
-// hashTypeName hashes the pointer of tname.
-func (hasher) hashTypeName(tname *types.TypeName) uint32 {
- // Since types.Identical uses == to compare TypeNames,
- // the Hash function uses maphash.Comparable.
- hash := maphash.Comparable(theSeed, tname)
- return uint32(hash ^ (hash >> 32))
-}
-
-// shallowHash computes a hash of t without looking at any of its
-// element Types, to avoid potential anonymous cycles in the types of
-// interface methods.
-//
-// When an unnamed non-empty interface type appears anywhere among the
-// arguments or results of an interface method, there is a potential
-// for endless recursion. Consider:
-//
-// type X interface { m() []*interface { X } }
-//
-// The problem is that the Methods of the interface in m's result type
-// include m itself; there is no mention of the named type X that
-// might help us break the cycle.
-// (See comment in go/types.identical, case *Interface, for more.)
-func (h hasher) shallowHash(t types.Type) uint32 {
- // t is the type of an interface method (Signature),
- // its params or results (Tuples), or their immediate
- // elements (mostly Slice, Pointer, Basic, Named),
- // so there's no need to optimize anything else.
- switch t := t.(type) {
- case *types.Alias:
- return h.shallowHash(types.Unalias(t))
-
- case *types.Signature:
- var hash uint32 = 604171
- if t.Variadic() {
- hash *= 971767
- }
- // The Signature/Tuple recursion is always finite
- // and invariably shallow.
- return hash + 1062599*h.shallowHash(t.Params()) + 1282529*h.shallowHash(t.Results())
-
- case *types.Tuple:
- n := t.Len()
- hash := 9137 + 2*uint32(n)
- for i := range n {
- hash += 53471161 * h.shallowHash(t.At(i).Type())
- }
- return hash
-
- case *types.Basic:
- return 45212177 * uint32(t.Kind())
-
- case *types.Array:
- return 1524181 + 2*uint32(t.Len())
-
- case *types.Slice:
- return 2690201
-
- case *types.Struct:
- return 3326489
-
- case *types.Pointer:
- return 4393139
-
- case *types.Union:
- return 562448657
-
- case *types.Interface:
- return 2124679 // no recursion here
-
- case *types.Map:
- return 9109
-
- case *types.Chan:
- return 9127
-
- case *types.Named:
- return h.hashTypeName(t.Obj())
-
- case *types.TypeParam:
- return h.hashTypeParam(t)
- }
- panic(fmt.Sprintf("shallowHash: %T: %v", t, t))
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go b/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go
deleted file mode 100644
index f7666028f..000000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file implements a cache of method sets.
-
-package typeutil
-
-import (
- "go/types"
- "sync"
-)
-
-// A MethodSetCache records the method set of each type T for which
-// MethodSet(T) is called so that repeat queries are fast.
-// The zero value is a ready-to-use cache instance.
-type MethodSetCache struct {
- mu sync.Mutex
- named map[*types.Named]struct{ value, pointer *types.MethodSet } // method sets for named N and *N
- others map[types.Type]*types.MethodSet // all other types
-}
-
-// MethodSet returns the method set of type T. It is thread-safe.
-//
-// If cache is nil, this function is equivalent to types.NewMethodSet(T).
-// Utility functions can thus expose an optional *MethodSetCache
-// parameter to clients that care about performance.
-func (cache *MethodSetCache) MethodSet(T types.Type) *types.MethodSet {
- if cache == nil {
- return types.NewMethodSet(T)
- }
- cache.mu.Lock()
- defer cache.mu.Unlock()
-
- switch T := types.Unalias(T).(type) {
- case *types.Named:
- return cache.lookupNamed(T).value
-
- case *types.Pointer:
- if N, ok := types.Unalias(T.Elem()).(*types.Named); ok {
- return cache.lookupNamed(N).pointer
- }
- }
-
- // all other types
- // (The map uses pointer equivalence, not type identity.)
- mset := cache.others[T]
- if mset == nil {
- mset = types.NewMethodSet(T)
- if cache.others == nil {
- cache.others = make(map[types.Type]*types.MethodSet)
- }
- cache.others[T] = mset
- }
- return mset
-}
-
-func (cache *MethodSetCache) lookupNamed(named *types.Named) struct{ value, pointer *types.MethodSet } {
- if cache.named == nil {
- cache.named = make(map[*types.Named]struct{ value, pointer *types.MethodSet })
- }
- // Avoid recomputing mset(*T) for each distinct Pointer
- // instance whose underlying type is a named type.
- msets, ok := cache.named[named]
- if !ok {
- msets.value = types.NewMethodSet(named)
- msets.pointer = types.NewMethodSet(types.NewPointer(named))
- cache.named[named] = msets
- }
- return msets
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/ui.go b/vendor/golang.org/x/tools/go/types/typeutil/ui.go
deleted file mode 100644
index 9dda6a25d..000000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/ui.go
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeutil
-
-// This file defines utilities for user interfaces that display types.
-
-import (
- "go/types"
-)
-
-// IntuitiveMethodSet returns the intuitive method set of a type T,
-// which is the set of methods you can call on an addressable value of
-// that type.
-//
-// The result always contains MethodSet(T), and is exactly MethodSet(T)
-// for interface types and for pointer-to-concrete types.
-// For all other concrete types T, the result additionally
-// contains each method belonging to *T if there is no identically
-// named method on T itself.
-//
-// This corresponds to user intuition about method sets;
-// this function is intended only for user interfaces.
-//
-// The order of the result is as for types.MethodSet(T).
-func IntuitiveMethodSet(T types.Type, msets *MethodSetCache) []*types.Selection {
- isPointerToConcrete := func(T types.Type) bool {
- ptr, ok := types.Unalias(T).(*types.Pointer)
- return ok && !types.IsInterface(ptr.Elem())
- }
-
- var result []*types.Selection
- mset := msets.MethodSet(T)
- if types.IsInterface(T) || isPointerToConcrete(T) {
- for i, n := 0, mset.Len(); i < n; i++ {
- result = append(result, mset.At(i))
- }
- } else {
- // T is some other concrete type.
- // Report methods of T and *T, preferring those of T.
- pmset := msets.MethodSet(types.NewPointer(T))
- for i, n := 0, pmset.Len(); i < n; i++ {
- meth := pmset.At(i)
- if m := mset.Lookup(meth.Obj().Pkg(), meth.Obj().Name()); m != nil {
- meth = m
- }
- result = append(result, meth)
- }
-
- }
- return result
-}
diff --git a/vendor/golang.org/x/tools/internal/aliases/aliases.go b/vendor/golang.org/x/tools/internal/aliases/aliases.go
deleted file mode 100644
index a4ae04bc7..000000000
--- a/vendor/golang.org/x/tools/internal/aliases/aliases.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package aliases
-
-import (
- "go/token"
- "go/types"
-)
-
-// New creates a new TypeName in Package pkg that
-// is an alias for the type rhs.
-func New(pos token.Pos, pkg *types.Package, name string, rhs types.Type, tparams []*types.TypeParam) *types.TypeName {
- tname := types.NewTypeName(pos, pkg, name, nil)
- types.NewAlias(tname, rhs).SetTypeParams(tparams)
- return tname
-}
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/bimport.go b/vendor/golang.org/x/tools/internal/gcimporter/bimport.go
index 555ef626c..3fca56c09 100644
--- a/vendor/golang.org/x/tools/internal/gcimporter/bimport.go
+++ b/vendor/golang.org/x/tools/internal/gcimporter/bimport.go
@@ -12,6 +12,7 @@ import (
"go/token"
"go/types"
"sync"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
func errorf(format string, args ...any) {
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go b/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go
index 5662a311d..885369d42 100644
--- a/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go
+++ b/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go
@@ -19,6 +19,7 @@ import (
"path/filepath"
"strings"
"sync"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// FindExportData positions the reader r at the beginning of the
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go b/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go
index 3dbd21d1b..8c56f5d9d 100644
--- a/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go
+++ b/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go
@@ -28,6 +28,7 @@ import (
"go/types"
"io"
"os"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
const (
@@ -95,6 +96,19 @@ func Import(fset *token.FileSet, packages map[string]*types.Package, path, srcDi
defer rc.Close()
buf := bufio.NewReader(rc)
+ peek, err := buf.Peek(1)
+ if err != nil {
+ return
+ }
+ if peek[0] == 'i' {
+ var data []byte // avoid redeclaring err
+ data, err = io.ReadAll(buf)
+ if err != nil {
+ return
+ }
+ pkg, err = IImportData(fset, packages, data[1:], path)
+ return
+ }
data, err := ReadUnified(buf)
if err != nil {
err = fmt.Errorf("import %q: %v", path, err)
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go
index 4c9450f4e..c9468fc3b 100644
--- a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go
+++ b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go
@@ -242,6 +242,7 @@ import (
"strings"
"golang.org/x/tools/go/types/objectpath"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// IExportShallow encodes "shallow" export data for the specified package.
@@ -281,9 +282,9 @@ func IExportShallow(fset *token.FileSet, pkg *types.Package, reportf ReportFunc)
// fact iexportCommon doesn't even check for I/O errors.
// TODO(adonovan): handle I/O errors properly.
// TODO(adonovan): use byte slices throughout, avoiding copying.
- const bundle, shallow = false, true
+ const shallow = true
var out bytes.Buffer
- err := iexportCommon(&out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg}, reportf)
+ err := iexportCommon(&out, fset, shallow, iexportVersion, []*types.Package{pkg}, reportf)
return out.Bytes(), err
}
@@ -300,9 +301,8 @@ func IExportShallow(fset *token.FileSet, pkg *types.Package, reportf ReportFunc)
// TODO(rfindley): remove reportf when we are confident enough in the new
// objectpath encoding.
func IImportShallow(fset *token.FileSet, getPackages GetPackagesFunc, data []byte, path string, reportf ReportFunc) (*types.Package, error) {
- const bundle = false
const shallow = true
- pkgs, err := iimportCommon(fset, getPackages, data, bundle, path, shallow, reportf)
+ pkgs, err := iimportCommon(fset, getPackages, data, path, shallow, reportf)
if err != nil {
return nil, err
}
@@ -312,27 +312,17 @@ func IImportShallow(fset *token.FileSet, getPackages GetPackagesFunc, data []byt
// ReportFunc is the type of a function used to report formatted bugs.
type ReportFunc = func(string, ...any)
-// Current bundled export format version. Increase with each format change.
-// 0: initial implementation
-const bundleVersion = 0
-
// IExportData writes indexed export data for pkg to out.
//
// If no file set is provided, position info will be missing.
// The package path of the top-level package will not be recorded,
// so that calls to IImportData can override with a provided package path.
func IExportData(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
- const bundle, shallow = false, false
- return iexportCommon(out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg}, nil)
+ const shallow = false
+ return iexportCommon(out, fset, shallow, iexportVersion, []*types.Package{pkg}, nil)
}
-// IExportBundle writes an indexed export bundle for pkgs to out.
-func IExportBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error {
- const bundle, shallow = true, false
- return iexportCommon(out, fset, bundle, shallow, iexportVersion, pkgs, nil)
-}
-
-func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, version int, pkgs []*types.Package, reportf ReportFunc) (err error) {
+func iexportCommon(out io.Writer, fset *token.FileSet, shallow bool, version int, pkgs []*types.Package, reportf ReportFunc) (err error) {
if !debug {
defer func() {
if e := recover(); e != nil {
@@ -362,9 +352,7 @@ func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, ver
declIndex: map[types.Object]uint64{},
tparamNames: map[types.Object]string{},
typIndex: map[types.Type]uint64{},
- }
- if !bundle {
- p.localpkg = pkgs[0]
+ localpkg: pkgs[0],
}
for i, pt := range predeclared() {
@@ -382,14 +370,6 @@ func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, ver
p.pushDecl(scope.Lookup(name))
}
}
-
- if bundle {
- // Ensure pkg and its imports are included in the index.
- p.allPkgs[pkg] = true
- for _, imp := range pkg.Imports() {
- p.allPkgs[imp] = true
- }
- }
}
// Loop until no more work.
@@ -412,25 +392,10 @@ func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, ver
dataLen := uint64(p.data0.Len())
w := p.newWriter()
w.writeIndex(p.declIndex)
-
- if bundle {
- w.uint64(uint64(len(pkgs)))
- for _, pkg := range pkgs {
- w.pkg(pkg)
- imps := pkg.Imports()
- w.uint64(uint64(len(imps)))
- for _, imp := range imps {
- w.pkg(imp)
- }
- }
- }
w.flush()
// Assemble header.
var hdr intWriter
- if bundle {
- hdr.uint64(bundleVersion)
- }
hdr.uint64(uint64(p.version))
hdr.uint64(uint64(p.strings.Len()))
if p.shallow {
@@ -572,7 +537,7 @@ type iexporter struct {
shallow bool // don't put types from other packages in the index
objEncoder *objectpath.Encoder // encodes objects from other packages in shallow mode; lazily allocated
- localpkg *types.Package // (nil in bundle mode)
+ localpkg *types.Package
// allPkgs tracks all packages that have been referenced by
// the export data, so we can ensure to include them in the
@@ -712,7 +677,7 @@ func (p *iexporter) doDecl(obj types.Object) {
w.typ(obj.Type(), obj.Pkg())
case *types.Func:
- sig, _ := obj.Type().(*types.Signature)
+ sig := obj.Type().(*types.Signature)
if sig.Recv() != nil {
// We shouldn't see methods in the package scope,
// but the type checker may repair "func () F() {}"
@@ -745,7 +710,7 @@ func (p *iexporter) doDecl(obj types.Object) {
case *types.Const:
w.tag(constTag)
w.pos(obj.Pos())
- w.value(obj.Type(), obj.Val())
+ w.value(obj.Type(), obj.Val(), obj.Pkg())
case *types.TypeName:
t := obj.Type()
@@ -822,7 +787,10 @@ func (p *iexporter) doDecl(obj types.Object) {
m := named.Method(i)
w.pos(m.Pos())
w.string(m.Name())
- sig, _ := m.Type().(*types.Signature)
+ sig := m.Type().(*types.Signature)
+ if w.p.version >= iexportVersionGenericMethods && w.bool(sig.TypeParams().Len() > 0) {
+ w.tparamList(obj.Name()+"."+m.Name(), sig.TypeParams(), obj.Pkg())
+ }
// Receiver type parameters are type arguments of the receiver type, so
// their name must be qualified before exporting recv.
@@ -967,9 +935,11 @@ func (w *exportWriter) qualifiedType(obj *types.TypeName) {
// typ emits the specified type.
//
// Objects within the type (struct fields and interface methods) are
-// qualified by pkg. It may be nil if the type cannot contain objects,
-// such as the type of a constant.
+// qualified by pkg.
func (w *exportWriter) typ(t types.Type, pkg *types.Package) {
+ if pkg == nil {
+ pkg = w.p.localpkg
+ }
w.data.uint64(w.p.typOff(t, pkg))
}
@@ -1145,7 +1115,7 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) {
}
w.pos(m.Pos())
w.string(m.Name())
- sig, _ := m.Type().(*types.Signature)
+ sig := m.Type().(*types.Signature)
w.signature(sig)
}
@@ -1292,8 +1262,12 @@ func (w *exportWriter) param(obj types.Object) {
w.typ(obj.Type(), obj.Pkg())
}
-func (w *exportWriter) value(typ types.Type, v constant.Value) {
- w.typ(typ, nil)
+// only called for constants
+func (w *exportWriter) value(typ types.Type, v constant.Value, pkg *types.Package) {
+ if pkg == nil {
+ pkg = w.p.localpkg
+ }
+ w.typ(typ, pkg)
if w.p.version >= iexportVersionGo1_18 {
w.int64(int64(v.Kind()))
}
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iimport.go b/vendor/golang.org/x/tools/internal/gcimporter/iimport.go
index 1ee4e9354..599907206 100644
--- a/vendor/golang.org/x/tools/internal/gcimporter/iimport.go
+++ b/vendor/golang.org/x/tools/internal/gcimporter/iimport.go
@@ -21,8 +21,7 @@ import (
"strings"
"golang.org/x/tools/go/types/objectpath"
- "golang.org/x/tools/internal/aliases"
- "golang.org/x/tools/internal/typesinternal"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
type intReader struct {
@@ -30,14 +29,6 @@ type intReader struct {
path string
}
-func (r *intReader) int64() int64 {
- i, err := binary.ReadVarint(r.Reader)
- if err != nil {
- errorf("import %q: read varint error: %v", r.path, err)
- }
- return i
-}
-
func (r *intReader) uint64() uint64 {
i, err := binary.ReadUvarint(r.Reader)
if err != nil {
@@ -48,13 +39,14 @@ func (r *intReader) uint64() uint64 {
// Keep this in sync with constants in iexport.go.
const (
- iexportVersionGo1_11 = 0
- iexportVersionPosCol = 1
- iexportVersionGo1_18 = 2
- iexportVersionGenerics = 2
- iexportVersion = iexportVersionGenerics
-
- iexportVersionCurrent = 2
+ iexportVersionGo1_11 = 0
+ iexportVersionPosCol = 1
+ iexportVersionGo1_18 = 2
+ iexportVersionGenerics = 2
+ iexportVersionGenericMethods = 3
+ iexportVersion = iexportVersionGenericMethods
+
+ iexportVersionCurrent = 3
)
type ident struct {
@@ -100,17 +92,12 @@ const (
// and returns 0 and a reference to the package.
// If the export data version is not recognized or the format is otherwise
// compromised, an error is returned.
-func IImportData(fset *token.FileSet, imports map[string]*types.Package, data []byte, path string) (int, *types.Package, error) {
- pkgs, err := iimportCommon(fset, GetPackagesFromMap(imports), data, false, path, false, nil)
+func IImportData(fset *token.FileSet, imports map[string]*types.Package, data []byte, path string) (*types.Package, error) {
+ pkgs, err := iimportCommon(fset, GetPackagesFromMap(imports), data, path, false, nil)
if err != nil {
- return 0, nil, err
+ return nil, err
}
- return 0, pkgs[0], nil
-}
-
-// IImportBundle imports a set of packages from the serialized package bundle.
-func IImportBundle(fset *token.FileSet, imports map[string]*types.Package, data []byte) ([]*types.Package, error) {
- return iimportCommon(fset, GetPackagesFromMap(imports), data, true, "", false, nil)
+ return pkgs[0], nil
}
// A GetPackagesFunc function obtains the non-nil symbols for a set of
@@ -152,15 +139,13 @@ func GetPackagesFromMap(m map[string]*types.Package) GetPackagesFunc {
}
}
-func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte, bundle bool, path string, shallow bool, reportf ReportFunc) (pkgs []*types.Package, err error) {
+func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte, path string, shallow bool, reportf ReportFunc) (pkgs []*types.Package, err error) {
const currentVersion = iexportVersionCurrent
version := int64(-1)
if !debug {
defer func() {
if e := recover(); e != nil {
- if bundle {
- err = fmt.Errorf("%v", e)
- } else if version > currentVersion {
+ if version > currentVersion {
err = fmt.Errorf("cannot import %q (%v), export data is newer version - update tool", path, e)
} else {
err = fmt.Errorf("internal error while importing %q (%v); please report an issue", path, e)
@@ -171,17 +156,11 @@ func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte
r := &intReader{bytes.NewReader(data), path}
- if bundle {
- if v := r.uint64(); v != bundleVersion {
- errorf("unknown bundle format version %d", v)
- }
- }
-
version = int64(r.uint64())
switch version {
- case iexportVersionGo1_18, iexportVersionPosCol, iexportVersionGo1_11:
+ case iexportVersionGenericMethods, iexportVersionGo1_18, iexportVersionPosCol, iexportVersionGo1_11:
default:
- if version > iexportVersionGo1_18 {
+ if version > iexportVersionGenericMethods {
errorf("unstable iexport format version %d, just rebuild compiler and std library", version)
} else {
errorf("unknown iexport format version %d", version)
@@ -295,29 +274,16 @@ func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte
pkgList[i] = pkg
}
- if bundle {
- pkgs = make([]*types.Package, r.uint64())
- for i := range pkgs {
- pkg := p.pkgAt(r.uint64())
- imps := make([]*types.Package, r.uint64())
- for j := range imps {
- imps[j] = p.pkgAt(r.uint64())
- }
- pkg.SetImports(imps)
- pkgs[i] = pkg
- }
- } else {
- if len(pkgList) == 0 {
- errorf("no packages found for %s", path)
- panic("unreachable")
- }
- pkgs = pkgList[:1]
-
- // record all referenced packages as imports
- list := slices.Clone(pkgList[1:])
- sort.Sort(byPath(list))
- pkgs[0].SetImports(list)
+ if len(pkgList) == 0 {
+ errorf("no packages found for %s", path)
+ panic("unreachable")
}
+ pkgs = pkgList[:1]
+
+ // record all referenced packages as imports
+ list := slices.Clone(pkgList[1:])
+ sort.Sort(byPath(list))
+ pkgs[0].SetImports(list)
for _, pkg := range pkgs {
if pkg.Complete() {
@@ -573,8 +539,8 @@ func (r *importReader) obj(pkg *types.Package, name string) {
if tag == genericAliasTag {
tparams = r.tparamList()
}
- typ := r.typ()
- obj := aliases.New(pos, pkg, name, typ, tparams)
+ obj := types.NewTypeName(pos, pkg, name, nil)
+ types.NewAlias(obj, r.typ()).SetTypeParams(tparams)
markBlack(obj) // workaround for golang/go#69912
r.declare(obj)
@@ -614,13 +580,22 @@ func (r *importReader) obj(pkg *types.Package, name string) {
for n := r.uint64(); n > 0; n-- {
mpos := r.pos()
mname := r.ident()
+ var tpars []*types.TypeParam
+ if r.p.version >= iexportVersionGenericMethods && r.bool() {
+ tpars = r.tparamList()
+ }
recv := r.param(pkg)
// If the receiver has any targs, set those as the
// rparams of the method (since those are the
// typeparams being used in the method sig/body).
- _, recvNamed := typesinternal.ReceiverNamed(recv)
- targs := recvNamed.TypeArgs()
+ //
+ // Avoid dependency on typesinternal.RecvBase here.
+ t := recv.Type()
+ if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
+ t = ptr.Elem()
+ }
+ targs := types.Unalias(t).(*types.Named).TypeArgs()
var rparams []*types.TypeParam
if targs.Len() > 0 {
rparams = make([]*types.TypeParam, targs.Len())
@@ -628,8 +603,7 @@ func (r *importReader) obj(pkg *types.Package, name string) {
rparams[i] = types.Unalias(targs.At(i)).(*types.TypeParam)
}
}
- msig := r.signature(pkg, recv, rparams, nil)
-
+ msig := r.signature(pkg, recv, rparams, tpars)
named.AddMethod(types.NewFunc(mpos, pkg, mname, msig))
}
}
@@ -671,7 +645,7 @@ func (r *importReader) obj(pkg *types.Package, name string) {
typ := r.typ()
v := types.NewVar(pos, pkg, name, typ)
- typesinternal.SetVarKind(v, typesinternal.PackageVar)
+ v.SetKind(types.PackageVar)
r.declare(v)
default:
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/predeclared.go b/vendor/golang.org/x/tools/internal/gcimporter/predeclared.go
index 907c8557a..a8bfa875f 100644
--- a/vendor/golang.org/x/tools/internal/gcimporter/predeclared.go
+++ b/vendor/golang.org/x/tools/internal/gcimporter/predeclared.go
@@ -7,6 +7,7 @@ package gcimporter
import (
"go/types"
"sync"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// predecl is a cache for the predeclared types in types.Universe.
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/support.go b/vendor/golang.org/x/tools/internal/gcimporter/support.go
index 4af810dc4..28b176946 100644
--- a/vendor/golang.org/x/tools/internal/gcimporter/support.go
+++ b/vendor/golang.org/x/tools/internal/gcimporter/support.go
@@ -9,6 +9,7 @@ import (
"io"
"strconv"
"strings"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// Copy of $GOROOT/src/cmd/internal/archive.ReadHeader.
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go b/vendor/golang.org/x/tools/internal/gcimporter/ureader.go
similarity index 79%
rename from vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go
rename to vendor/golang.org/x/tools/internal/gcimporter/ureader.go
index 2e0d80585..09e833ce5 100644
--- a/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go
+++ b/vendor/golang.org/x/tools/internal/gcimporter/ureader.go
@@ -11,10 +11,10 @@ import (
"go/token"
"go/types"
"sort"
+ "strings"
- "golang.org/x/tools/internal/aliases"
"golang.org/x/tools/internal/pkgbits"
- "golang.org/x/tools/internal/typesinternal"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// A pkgReader holds the shared state for reading a unified IR package
@@ -35,6 +35,10 @@ type pkgReader struct {
// laterFns holds functions that need to be invoked at the end of
// import reading.
+ //
+ // TODO(mdempsky): Is it safe to have a single "later" slice or do
+ // we need to have multiple passes? See comments on CL 386002 and
+ // go.dev/issue/52104.
laterFns []func()
// laterFors is used in case of 'type A B' to ensure that B is processed before A.
laterFors map[types.Type]int
@@ -158,12 +162,11 @@ type reader struct {
// A readerDict holds the state for type parameters that parameterize
// the current unified IR element.
type readerDict struct {
- // bounds is a slice of typeInfos corresponding to the underlying
- // bounds of the element's type parameters.
- bounds []typeInfo
+ rtbounds []typeInfo // contains constraint types for each parameter in rtparams
+ rtparams []*types.TypeParam // contains receiver type parameters for an element
- // tparams is a slice of the constructed TypeParams for the element.
- tparams []*types.TypeParam
+ tbounds []typeInfo // contains constraint types for each parameter in tparams
+ tparams []*types.TypeParam // contains type parameters for an element
// derived is a slice of types derived from tparams, which may be
// instantiated while reading the current element.
@@ -353,7 +356,11 @@ func (r *reader) doTyp() (res types.Type) {
return name.Type()
case pkgbits.TypeTypeParam:
- return r.dict.tparams[r.Len()]
+ n := r.Len()
+ if n < len(r.dict.rtbounds) {
+ return r.dict.rtparams[n]
+ }
+ return r.dict.tparams[n-len(r.dict.rtbounds)]
case pkgbits.TypeArray:
len := int64(r.Uint64())
@@ -516,6 +523,12 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) {
return objPkg, objName
}
+ // TODO(mark): This, like the above splitVargenSuffix, is not ideal.
+ // Ignore generic methods promoted to global scope.
+ if strings.Contains(objName, ".") {
+ return objPkg, objName
+ }
+
if objPkg.Scope().Lookup(objName) == nil {
dict := pr.objDictIdx(idx)
@@ -534,10 +547,12 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) {
pos := r.pos()
var tparams []*types.TypeParam
if r.Version().Has(pkgbits.AliasTypeParamNames) {
- tparams = r.typeParamNames()
+ tparams = r.typeParamNames(false)
}
typ := r.typ()
- declare(aliases.New(pos, objPkg, objName, typ, tparams))
+ tname := types.NewTypeName(pos, objPkg, objName, nil)
+ types.NewAlias(tname, typ).SetTypeParams(tparams)
+ declare(tname)
case pkgbits.ObjConst:
pos := r.pos()
@@ -547,7 +562,10 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) {
case pkgbits.ObjFunc:
pos := r.pos()
- tparams := r.typeParamNames()
+ if r.Version().Has(pkgbits.GenericMethods) {
+ assert(!r.Bool()) // generic methods are read in their defining type
+ }
+ tparams := r.typeParamNames(false)
sig := r.signature(nil, nil, tparams)
declare(types.NewFunc(pos, objPkg, objName, sig))
@@ -558,7 +576,7 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) {
named := types.NewNamed(obj, nil, nil)
declare(obj)
- named.SetTypeParams(r.typeParamNames())
+ named.SetTypeParams(r.typeParamNames(false))
setUnderlying := func(underlying types.Type) {
// If the underlying type is an interface, we need to
@@ -571,7 +589,7 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) {
sig := fn.Type().(*types.Signature)
recv := types.NewVar(fn.Pos(), fn.Pkg(), "", named)
- typesinternal.SetVarKind(recv, typesinternal.RecvVar)
+ recv.SetKind(types.RecvVar)
methods[i] = types.NewFunc(fn.Pos(), fn.Pkg(), fn.Name(), types.NewSignatureType(recv, nil, nil, sig.Params(), sig.Results(), sig.Variadic()))
}
@@ -612,15 +630,73 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) {
})
}
- for i, n := 0, r.Len(); i < n; i++ {
- named.AddMethod(r.method())
+ if r.Version().Has(pkgbits.GenericMethods) {
+ // V4 (go1.27.0) emitted all non-generic methods
+ // before all generic ones, discarding source
+ // order: a bug (go.dev/issue/81188).
+ // V5 (go1.27.x) fixes it by emitting an explicit
+ // index along with each method.
+ type indexedMethod struct {
+ index int // (or -1 in V4)
+ fn *types.Func
+ }
+
+ var methods []indexedMethod
+
+ // ordinary methods
+ for range r.Len() {
+ idx, m := r.method()
+ methods = append(methods, indexedMethod{idx, m})
+ }
+
+ // generic methods
+ for range r.Len() {
+ // Careful: objIdx is used to read in package-scoped declarations, which
+ // methods are not. Instead, decode it here. This makes it easier to
+ // associate it with the type and avoids the main objIdx loop.
+ idx := r.Reloc(pkgbits.RelocObj)
+
+ r := pr.tempReader(pkgbits.RelocObj, idx, pkgbits.SyncObject1)
+ r.dict = pr.objDictIdx(idx)
+
+ pos := r.pos()
+ assert(r.Bool()) // generic method
+ pkg, name := r.selector()
+ rtparams := r.typeParamNames(true)
+ recv := r.param()
+ methodIdx := -1
+ if r.Version().Has(pkgbits.PreserveMethodOrder) {
+ methodIdx = r.Len()
+ }
+ tparams := r.typeParamNames(false)
+ sig := r.signature(recv, rtparams, tparams)
+
+ pr.retireReader(r)
+ methods = append(methods, indexedMethod{methodIdx, types.NewFunc(pos, pkg, name, sig)})
+ }
+
+ if r.Version().Has(pkgbits.PreserveMethodOrder) {
+ sort.Slice(methods, func(i, j int) bool {
+ return methods[i].index < methods[j].index
+ })
+ }
+
+ for _, m := range methods {
+ named.AddMethod(m.fn)
+ }
+
+ } else {
+ for range r.Len() {
+ _, m := r.method()
+ named.AddMethod(m)
+ }
}
case pkgbits.ObjVar:
pos := r.pos()
typ := r.typ()
v := types.NewVar(pos, objPkg, objName, typ)
- typesinternal.SetVarKind(v, typesinternal.PackageVar)
+ v.SetKind(types.PackageVar)
declare(v)
}
}
@@ -638,9 +714,20 @@ func (pr *pkgReader) objDictIdx(idx pkgbits.Index) *readerDict {
errorf("unexpected object with %v implicit type parameter(s)", implicits)
}
- dict.bounds = make([]typeInfo, r.Len())
- for i := range dict.bounds {
- dict.bounds[i] = r.typInfo()
+ nreceivers := 0
+ if r.Version().Has(pkgbits.GenericMethods) {
+ nreceivers = r.Len()
+ }
+ nexplicits := r.Len()
+
+ dict.rtbounds = make([]typeInfo, nreceivers)
+ for i := range dict.rtbounds {
+ dict.rtbounds[i] = r.typInfo()
+ }
+
+ dict.tbounds = make([]typeInfo, nexplicits)
+ for i := range dict.tbounds {
+ dict.tbounds[i] = r.typInfo()
}
dict.derived = make([]derivedInfo, r.Len())
@@ -659,15 +746,24 @@ func (pr *pkgReader) objDictIdx(idx pkgbits.Index) *readerDict {
return &dict
}
-func (r *reader) typeParamNames() []*types.TypeParam {
+func (r *reader) typeParamNames(isGenMeth bool) []*types.TypeParam {
r.Sync(pkgbits.SyncTypeParamNames)
- // Note: This code assumes it only processes objects without
- // implement type parameters. This is currently fine, because
- // reader is only used to read in exported declarations, which are
- // always package scoped.
+ // Note: This code assumes there are no implicit type parameters.
+ // This is fine since it only reads exported declarations, which
+ // never have implicits.
- if len(r.dict.bounds) == 0 {
+ var in []typeInfo
+ var out *[]*types.TypeParam
+ if isGenMeth {
+ in = r.dict.rtbounds
+ out = &r.dict.rtparams
+ } else {
+ in = r.dict.tbounds
+ out = &r.dict.tparams
+ }
+
+ if len(in) == 0 {
return nil
}
@@ -676,52 +772,50 @@ func (r *reader) typeParamNames() []*types.TypeParam {
// create all the TypeNames and TypeParams, then we construct and
// set the bound type.
- r.dict.tparams = make([]*types.TypeParam, len(r.dict.bounds))
- for i := range r.dict.bounds {
+ // We have to save tparams outside of the closure, because typeParamNames
+ // can be called multiple times with the same dictionary instance.
+ tparams := make([]*types.TypeParam, len(in))
+ *out = tparams
+
+ for i := range in {
pos := r.pos()
pkg, name := r.localIdent()
tname := types.NewTypeName(pos, pkg, name, nil)
- r.dict.tparams[i] = types.NewTypeParam(tname, nil)
+ tparams[i] = types.NewTypeParam(tname, nil)
}
- typs := make([]types.Type, len(r.dict.bounds))
- for i, bound := range r.dict.bounds {
- typs[i] = r.p.typIdx(bound, r.dict)
+ // The reader dictionary will continue mutating before we have time
+ // to call delayed functions; make a local copy of the constraints.
+ types := make([]types.Type, len(in))
+ for i, info := range in {
+ types[i] = r.p.typIdx(info, r.dict)
}
- // TODO(mdempsky): This is subtle, elaborate further.
- //
- // We have to save tparams outside of the closure, because
- // typeParamNames() can be called multiple times with the same
- // dictionary instance.
- //
- // Also, this needs to happen later to make sure SetUnderlying has
- // been called.
- //
- // TODO(mdempsky): Is it safe to have a single "later" slice or do
- // we need to have multiple passes? See comments on CL 386002 and
- // go.dev/issue/52104.
- tparams := r.dict.tparams
+ // This needs to happen later to make sure SetUnderlying has been called.
r.p.later(func() {
- for i, typ := range typs {
+ for i, typ := range types {
tparams[i].SetConstraint(typ)
}
})
- return r.dict.tparams
+ return tparams
}
-func (r *reader) method() *types.Func {
+func (r *reader) method() (int, *types.Func) {
r.Sync(pkgbits.SyncMethod)
+ idx := -1
+ if r.Version().Has(pkgbits.PreserveMethodOrder) {
+ idx = r.Len()
+ }
pos := r.pos()
pkg, name := r.selector()
- rparams := r.typeParamNames()
+ rparams := r.typeParamNames(false)
sig := r.signature(r.param(), rparams, nil)
_ = r.pos() // TODO(mdempsky): Remove; this is a hacker for linker.go.
- return types.NewFunc(pos, pkg, name, sig)
+ return idx, types.NewFunc(pos, pkg, name, sig)
}
func (r *reader) qualifiedIdent() (*types.Package, string) { return r.ident(pkgbits.SyncSym) }
diff --git a/vendor/golang.org/x/tools/internal/gocommand/invoke.go b/vendor/golang.org/x/tools/internal/gocommand/invoke.go
index 58721202d..ec4e713ce 100644
--- a/vendor/golang.org/x/tools/internal/gocommand/invoke.go
+++ b/vendor/golang.org/x/tools/internal/gocommand/invoke.go
@@ -232,6 +232,7 @@ func (i *Invocation) run(ctx context.Context, stdout, stderr io.Writer) error {
// mod needs the sub-verb before flags.
goArgs = append(goArgs, i.Args[0])
appendModFile()
+ appendOverlayFlag() // all 'go mod' subcommands accept -overlay
goArgs = append(goArgs, i.Args[1:]...)
case "get":
goArgs = append(goArgs, i.BuildFlags...)
@@ -246,6 +247,7 @@ func (i *Invocation) run(ctx context.Context, stdout, stderr io.Writer) error {
goArgs = append(goArgs, i.Args...)
}
cmd := exec.Command("go", goArgs...)
+ setProcessGroup(cmd)
cmd.Stdout = stdout
cmd.Stderr = stderr
@@ -402,7 +404,7 @@ func runCmdContext(ctx context.Context, cmd *exec.Cmd) (err error) {
}
// Cancelled. Interrupt and see if it ends voluntarily.
- if err := cmd.Process.Signal(os.Interrupt); err == nil {
+ if err := interruptProcess(cmd); err == nil {
// (We used to wait only 1s but this proved
// fragile on loaded builder machines.)
timer := time.NewTimer(5 * time.Second)
@@ -415,7 +417,7 @@ func runCmdContext(ctx context.Context, cmd *exec.Cmd) (err error) {
}
// Didn't shut down in response to interrupt. Kill it hard.
- if err := cmd.Process.Kill(); err != nil && !errors.Is(err, os.ErrProcessDone) && debug {
+ if err := killProcess(cmd); err != nil && !errors.Is(err, os.ErrProcessDone) && debug {
log.Printf("error killing the Go command: %v", err)
}
diff --git a/vendor/golang.org/x/tools/internal/gocommand/invoke_notunix.go b/vendor/golang.org/x/tools/internal/gocommand/invoke_notunix.go
index 469c648e4..a156a8ffc 100644
--- a/vendor/golang.org/x/tools/internal/gocommand/invoke_notunix.go
+++ b/vendor/golang.org/x/tools/internal/gocommand/invoke_notunix.go
@@ -6,8 +6,40 @@
package gocommand
-import "os"
+import (
+ "errors"
+ "os"
+ "os/exec"
+)
// sigStuckProcess is the signal to send to kill a hanging subprocess.
// On Unix we send SIGQUIT, but on non-Unix we only have os.Kill.
var sigStuckProcess = os.Kill
+
+// setProcessGroup is a no-op on non-Unix platforms.
+//
+// As a consequence of not using process groups (or Windows job objects),
+// signals sent to cmd.Process will not propagate to descendant processes
+// spawned by the Go command (such as cgo or C compilers). If the command
+// is cancelled, those subprocesses may continue running in the background
+// until they finish or fail due to broken pipes.
+// TODO(pjw): consider adding Windows job objects.
+func setProcessGroup(cmd *exec.Cmd) {
+}
+
+// interruptProcess sends an interrupt signal to the process. On Windows,
+// os.Interrupt is not supported and will return an error, causing the caller
+// to fall back to killProcess immediately.
+func interruptProcess(cmd *exec.Cmd) error {
+ return cmd.Process.Signal(os.Interrupt)
+}
+
+// killProcess terminates the process directly. Subprocesses spawned by the
+// Go command will not be killed directly.
+func killProcess(cmd *exec.Cmd) error {
+ err := cmd.Process.Kill()
+ if errors.Is(err, os.ErrProcessDone) {
+ return nil
+ }
+ return err
+}
diff --git a/vendor/golang.org/x/tools/internal/gocommand/invoke_unix.go b/vendor/golang.org/x/tools/internal/gocommand/invoke_unix.go
index 169d37c8e..be60ebb09 100644
--- a/vendor/golang.org/x/tools/internal/gocommand/invoke_unix.go
+++ b/vendor/golang.org/x/tools/internal/gocommand/invoke_unix.go
@@ -6,8 +6,48 @@
package gocommand
-import "syscall"
+import (
+ "errors"
+ "os/exec"
+ "syscall"
+)
-// Sigstuckprocess is the signal to send to kill a hanging subprocess.
+// sigStuckProcess is the signal to send to kill a hanging subprocess.
// Send SIGQUIT to get a stack trace.
var sigStuckProcess = syscall.SIGQUIT
+
+// setProcessGroup sets Setpgid so that the child process runs as the leader of
+// its own process group. Any subprocesses spawned by the Go command (such as
+// cgo, compilers, or assemblers) will inherit this process group, allowing
+// cancellation signals to reach all descendant processes rather than orphaning
+// them (see golang/go#81408).
+func setProcessGroup(cmd *exec.Cmd) {
+ if cmd.SysProcAttr == nil {
+ cmd.SysProcAttr = &syscall.SysProcAttr{}
+ }
+ cmd.SysProcAttr.Setpgid = true
+}
+
+// interruptProcess sends SIGINT to the entire process group (-pid) so that both
+// the Go command and any subprocesses (such as C compilers) get
+// the interrupt signal and terminate promptly.
+//
+// Unlike cmd.Process.Signal, syscall.Kill(-pid, ...) does not synchronize with
+// cmd.Process.Wait via os.Process's internal lock. PGID reuse is not a
+// problem, as the kernel reserves the PGID as long as any member
+// of the process group is alive, and runCmdContext only signals the
+// process group while cmd.Wait is still blocked on the process or its open pipes.
+func interruptProcess(cmd *exec.Cmd) error {
+ return syscall.Kill(-cmd.Process.Pid, syscall.SIGINT)
+}
+
+// killProcess sends SIGKILL to the entire process group (-pid) to forcefully
+// terminate any remaining descendant processes. It ignores ESRCH if the process
+// group has already terminated.
+func killProcess(cmd *exec.Cmd) error {
+ err := syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL)
+ if errors.Is(err, syscall.ESRCH) {
+ return nil
+ }
+ return err
+}
diff --git a/vendor/golang.org/x/tools/internal/gocommand/version.go b/vendor/golang.org/x/tools/internal/gocommand/version.go
index 446c5846a..d82f13a7e 100644
--- a/vendor/golang.org/x/tools/internal/gocommand/version.go
+++ b/vendor/golang.org/x/tools/internal/gocommand/version.go
@@ -8,6 +8,7 @@ import (
"context"
"fmt"
"regexp"
+ "slices"
"strings"
)
@@ -26,6 +27,9 @@ func GoVersion(ctx context.Context, inv Invocation, r *Runner) (int, error) {
inv.BuildFlags = nil // This is not a build command.
inv.ModFlag = ""
inv.ModFile = ""
+ // Set GO111MODULE=off so that we are immune to errors in go.{work,mod}.
+ // Unfortunately, this breaks the Go 1.21+ toolchain directive and
+ // may affect the set of ReleaseTags; see #68495.
inv.Env = append(inv.Env[:len(inv.Env):len(inv.Env)], "GO111MODULE=off")
stdoutBytes, err := r.Run(ctx, inv)
@@ -38,9 +42,9 @@ func GoVersion(ctx context.Context, inv Invocation, r *Runner) (int, error) {
}
// Split up "[go1.1 go1.15]" and return highest go1.X value.
tags := strings.Fields(stdout[1 : len(stdout)-2])
- for i := len(tags) - 1; i >= 0; i-- {
+ for _, tag := range slices.Backward(tags) {
var version int
- if _, err := fmt.Sscanf(tags[i], "go1.%d", &version); err != nil {
+ if _, err := fmt.Sscanf(tag, "go1.%d", &version); err != nil {
continue
}
return version, nil
diff --git a/vendor/golang.org/x/tools/internal/imports/fix.go b/vendor/golang.org/x/tools/internal/imports/fix.go
index 1b4dc0cb5..b4544aa01 100644
--- a/vendor/golang.org/x/tools/internal/imports/fix.go
+++ b/vendor/golang.org/x/tools/internal/imports/fix.go
@@ -32,6 +32,7 @@ import (
"golang.org/x/tools/internal/event"
"golang.org/x/tools/internal/gocommand"
"golang.org/x/tools/internal/gopathwalk"
+ "golang.org/x/tools/internal/modindex"
"golang.org/x/tools/internal/stdlib"
)
@@ -273,7 +274,6 @@ func (p *pass) loadPackageNames(ctx context.Context, imports []*ImportInfo) erro
}
unknown = append(unknown, imp.ImportPath)
}
-
names, err := p.source.LoadPackageNames(ctx, p.srcDir, unknown)
if err != nil {
return err
@@ -321,6 +321,7 @@ func (p *pass) importIdentifier(imp *ImportInfo) string {
// load reads in everything necessary to run a pass, and reports whether the
// file already has all the imports it needs. It fills in p.missingRefs with the
// file's missing symbols, if any, or removes unused imports if not.
+// This is called 3(!) times: self, otherFiles, loadRealPackageNames
func (p *pass) load(ctx context.Context) ([]*ImportFix, bool) {
p.knownPackages = map[string]*PackageInfo{}
p.missingRefs = References{}
@@ -462,6 +463,15 @@ func sortFixes(fixes []*ImportFix) {
})
}
+func hasDeleteFix(fixes []*ImportFix) bool {
+ for _, fix := range fixes {
+ if fix.FixType == DeleteImport {
+ return true
+ }
+ }
+ return false
+}
+
// importSpecName gets the import name of imp in the import spec.
//
// When the import identifier matches the assumed import name, the import name does
@@ -578,6 +588,87 @@ func getFixes(ctx context.Context, fset *token.FileSet, f *ast.File, filename st
}
func getFixesWithSource(ctx context.Context, fset *token.FileSet, f *ast.File, filename string, goroot string, logf func(string, ...any), source Source) ([]*ImportFix, error) {
+ fixes, err := computeFixesWithSource(ctx, fset, f, filename, goroot, logf, source)
+ if err != nil {
+ return nil, err
+ }
+ return ensureEmbedImport(f, fixes), nil
+}
+
+// ensureEmbedImport makes sure a file containing a //go:embed directive
+// imports "embed" once fixes are applied. The compiler requires the import
+// whenever a //go:embed directive is present, even when the embedded
+// variable's type (string or []byte) means the package is never referenced by
+// name. Any import of "embed" (renamed or blank) satisfies it.
+func ensureEmbedImport(f *ast.File, fixes []*ImportFix) []*ImportFix {
+ if !hasEmbedDirective(f) {
+ return fixes
+ }
+ // Work out the state of the "embed" import once fixes are applied. It may
+ // already be imported (under any name), be added by normal resolution (as
+ // for an embed.FS variable), or be deleted as an unused import.
+ imported := importsEmbed(f)
+ deleteFix := -1
+ for i, fix := range fixes {
+ if fix.StmtInfo.ImportPath != "embed" {
+ continue
+ }
+ switch fix.FixType {
+ case AddImport:
+ imported = true
+ case DeleteImport:
+ imported = false
+ deleteFix = i
+ }
+ }
+ if imported {
+ return fixes
+ }
+ blankEmbed := &ImportFix{
+ StmtInfo: ImportInfo{ImportPath: "embed", Name: "_"},
+ IdentName: "_",
+ Relevance: MaxRelevance,
+ }
+ if deleteFix >= 0 {
+ // The file imports "embed" but the import is about to be removed as
+ // unused. Keep it as a blank import instead of deleting it and adding
+ // a new one back.
+ blankEmbed.FixType = SetImportName
+ fixes[deleteFix] = blankEmbed
+ return fixes
+ }
+ blankEmbed.FixType = AddImport
+ return append(fixes, blankEmbed)
+}
+
+// hasEmbedDirective reports whether f contains a //go:embed directive.
+func hasEmbedDirective(f *ast.File) bool {
+ for _, cg := range f.Comments {
+ for _, c := range cg.List {
+ // A //go:embed directive is the text "//go:embed" followed by
+ // whitespace and the patterns (see go/build.parseGoEmbed). The
+ // whitespace is what distinguishes it from an ordinary comment
+ // such as "//go:embedded".
+ if rest, ok := strings.CutPrefix(c.Text, "//go:embed"); ok &&
+ len(rest) > 0 && (rest[0] == ' ' || rest[0] == '\t') {
+ return true
+ }
+ }
+ }
+ return false
+}
+
+// importsEmbed reports whether f imports the "embed" package under any name.
+func importsEmbed(f *ast.File) bool {
+ for _, imp := range f.Imports {
+ if imp.Path.Value == `"embed"` {
+ return true
+ }
+ }
+ return false
+}
+
+func computeFixesWithSource(ctx context.Context, fset *token.FileSet, f *ast.File, filename string, goroot string, logf func(string, ...any), source Source) ([]*ImportFix, error) {
// This logic is defensively duplicated from getFixes.
abs, err := filepath.Abs(filename)
if err != nil {
@@ -620,7 +711,7 @@ func getFixesWithSource(ctx context.Context, fset *token.FileSet, f *ast.File, f
// Now we can try adding imports from the stdlib.
p.assumeSiblingImportsValid()
addStdlibCandidates(p, p.missingRefs)
- if fixes, done := p.fix(); done {
+ if fixes, done := p.fix(); done && !hasDeleteFix(fixes) {
return fixes, nil
}
@@ -636,6 +727,31 @@ func getFixesWithSource(ctx context.Context, fset *token.FileSet, f *ast.File, f
}
p.loadRealPackageNames = true
p.otherFiles = otherFiles
+
+ // If there is an Index for the GOMODCACHE, remember that, and later make it so that the
+ // directory walk doesn't go into the module cache, since we already have all the information.
+ var ix *modindex.Index
+ if src, ok := source.(*ProcessEnvSource); ok {
+ var err error
+ if ix, err = modindex.Read(src.env.Env["GOMODCACHE"]); err != nil {
+ ix = nil // don't use it if there was an error
+ }
+ }
+
+ if ix != nil {
+ src, ok := p.source.(*ProcessEnvSource)
+ if ok {
+ // For safety, clone the env so that we don't modify the caller's env.
+ env := *src.env
+ env.Env = maps.Clone(src.env.Env)
+ src.env = &env
+ // avoid looking in the module cache, as we have the index instead:
+ // This makes a later call to newModuleresolver (from
+ // LoadPackageNames) produce a resolver that will not look
+ // in the module cache
+ src.env.Env["GOMODCACHE"] = ""
+ }
+ }
if fixes, done := p.load(ctx); done {
return fixes, nil
}
@@ -650,7 +766,7 @@ func getFixesWithSource(ctx context.Context, fset *token.FileSet, f *ast.File, f
// Go look for candidates in $GOPATH, etc. We don't necessarily load
// the real exports of sibling imports, so keep assuming their contents.
- if err := addExternalCandidates(ctx, p, p.missingRefs, filename); err != nil {
+ if err := addExternalCandidates(ctx, p, p.missingRefs, filename, ix); err != nil {
return nil, err
}
@@ -1185,7 +1301,7 @@ type scanCallback struct {
exportsLoaded func(pkg *pkg, exports []stdlib.Symbol)
}
-func addExternalCandidates(ctx context.Context, pass *pass, refs References, filename string) error {
+func addExternalCandidates(ctx context.Context, pass *pass, refs References, filename string, ix *modindex.Index) error {
ctx, done := event.Start(ctx, "imports.addExternalCandidates")
defer done()
@@ -1194,6 +1310,24 @@ func addExternalCandidates(ctx context.Context, pass *pass, refs References, fil
return err
}
+ // Add candidates from the module cache.
+ if ix != nil {
+ for k, v := range refs {
+ for n := range v {
+ cands := ix.Lookup(k, n, false)
+ for _, cand := range cands {
+ x := &Result{
+ &ImportInfo{ImportPath: cand.ImportPath},
+ &PackageInfo{Name: cand.PkgName,
+ Exports: map[string]bool{cand.Name: true},
+ },
+ }
+ results = append(results, x)
+ }
+ }
+ }
+ }
+
for _, result := range results {
if result == nil {
continue
@@ -1650,9 +1784,7 @@ func (s *symbolSearcher) search(ctx context.Context, candidates []pkgDistance, p
}()
// Start the search.
- wg.Add(1)
- go func() {
- defer wg.Done()
+ wg.Go(func() {
for i, c := range candidates {
select {
case loadExportsSem <- struct{}{}:
@@ -1681,7 +1813,7 @@ func (s *symbolSearcher) search(ctx context.Context, candidates []pkgDistance, p
rescv[i] <- pkg // may be nil
}()
}
- }()
+ })
// Await the first (best) result.
for _, resc := range rescv {
diff --git a/vendor/golang.org/x/tools/internal/imports/imports.go b/vendor/golang.org/x/tools/internal/imports/imports.go
index b5f5218b5..072293835 100644
--- a/vendor/golang.org/x/tools/internal/imports/imports.go
+++ b/vendor/golang.org/x/tools/internal/imports/imports.go
@@ -74,6 +74,10 @@ func Process(filename string, src []byte, opt *Options) (formatted []byte, err e
// Note that filename's directory influences which imports can be chosen,
// so it is important that filename be accurate.
func FixImports(ctx context.Context, filename string, src []byte, goroot string, logf func(string, ...any), source Source) (fixes []*ImportFix, err error) {
+ if source == nil {
+ // In case someone adds a defective call from a new place
+ panic("source is nil")
+ }
ctx, done := event.Start(ctx, "imports.FixImports")
defer done()
diff --git a/vendor/golang.org/x/tools/internal/imports/mod.go b/vendor/golang.org/x/tools/internal/imports/mod.go
index df94ec818..7eff4d53e 100644
--- a/vendor/golang.org/x/tools/internal/imports/mod.go
+++ b/vendor/golang.org/x/tools/internal/imports/mod.go
@@ -166,10 +166,7 @@ func newModuleResolver(e *ProcessEnv, moduleCacheCache *DirInfoCache) (*ModuleRe
}
}
- r.moduleCacheDir = gomodcacheForEnv(goenv)
- if r.moduleCacheDir == "" {
- return nil, fmt.Errorf("cannot resolve GOMODCACHE")
- }
+ r.moduleCacheDir = goenv["GOMODCACHE"]
sort.Slice(r.modsByModPath, func(i, j int) bool {
count := func(x int) int {
@@ -238,26 +235,6 @@ func newModuleResolver(e *ProcessEnv, moduleCacheCache *DirInfoCache) (*ModuleRe
return r, nil
}
-// gomodcacheForEnv returns the GOMODCACHE value to use based on the given env
-// map, which must have GOMODCACHE and GOPATH populated.
-//
-// TODO(rfindley): this is defensive refactoring.
-// 1. Is this even relevant anymore? Can't we just read GOMODCACHE.
-// 2. Use this to separate module cache scanning from other scanning.
-func gomodcacheForEnv(goenv map[string]string) string {
- if gmc := goenv["GOMODCACHE"]; gmc != "" {
- // golang/go#67156: ensure that the module cache is clean, since it is
- // assumed as a prefix to directories scanned by gopathwalk, which are
- // themselves clean.
- return filepath.Clean(gmc)
- }
- gopaths := filepath.SplitList(goenv["GOPATH"])
- if len(gopaths) == 0 {
- return ""
- }
- return filepath.Join(gopaths[0], "/pkg/mod")
-}
-
func (r *ModuleResolver) initAllMods() error {
stdout, err := r.env.invokeGo(context.TODO(), "list", "-m", "-e", "-json", "...")
if err != nil {
@@ -679,11 +656,11 @@ func modRelevance(mod *gocommand.ModuleJSON) float64 {
_, versionString, ok := module.SplitPathVersion(mod.Path)
if ok {
- index := strings.Index(versionString, "v")
- if index == -1 {
+ _, after, ok := strings.Cut(versionString, "v")
+ if !ok {
return relevance
}
- if versionNumber, err := strconv.ParseFloat(versionString[index+1:], 64); err == nil {
+ if versionNumber, err := strconv.ParseFloat(after, 64); err == nil {
relevance += versionNumber / 1000
}
}
@@ -744,7 +721,16 @@ func (r *ModuleResolver) loadExports(ctx context.Context, pkg *pkg, includeTest
func (r *ModuleResolver) scanDirForPackage(root gopathwalk.Root, dir string) directoryPackageInfo {
subdir := ""
- if prefix := root.Path + string(filepath.Separator); strings.HasPrefix(dir, prefix) {
+ base := root.Path
+ if root.Type == gopathwalk.RootModuleCache && r.dirInModuleCache(root.Path) {
+ // A RootModuleCache root may be either the module cache itself or
+ // a dependency's module directory within it (see addDep in
+ // newModuleResolver). In both cases, subdir must be relative to
+ // the module cache so that it contains the module@version
+ // component that modCacheRegexp expects.
+ base = r.moduleCacheDir
+ }
+ if prefix := base + string(filepath.Separator); strings.HasPrefix(dir, prefix) {
subdir = dir[len(prefix):]
}
importPath := filepath.ToSlash(subdir)
diff --git a/vendor/golang.org/x/tools/internal/imports/sortimports.go b/vendor/golang.org/x/tools/internal/imports/sortimports.go
index f390be90f..ca713cb77 100644
--- a/vendor/golang.org/x/tools/internal/imports/sortimports.go
+++ b/vendor/golang.org/x/tools/internal/imports/sortimports.go
@@ -11,7 +11,6 @@ import (
"go/ast"
"go/token"
"log"
- "reflect"
"slices"
"sort"
"strconv"
@@ -299,15 +298,10 @@ func (x byCommentPos) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
func (x byCommentPos) Less(i, j int) bool { return x[i].Pos() < x[j].Pos() }
// updateBasicLitPos updates lit.Pos,
-// ensuring that lit.End (if set) is displaced by the same amount.
+// ensuring that lit.End is displaced by the same amount.
// (See https://go.dev/issue/76395.)
func updateBasicLitPos(lit *ast.BasicLit, pos token.Pos) {
len := lit.End() - lit.Pos()
lit.ValuePos = pos
- // TODO(adonovan): after go1.26, simplify to:
- // lit.ValueEnd = pos + len
- v := reflect.ValueOf(lit).Elem().FieldByName("ValueEnd")
- if v.IsValid() && v.Int() != 0 {
- v.SetInt(int64(pos + len))
- }
+ lit.ValueEnd = pos + len
}
diff --git a/vendor/golang.org/x/tools/internal/imports/source_env.go b/vendor/golang.org/x/tools/internal/imports/source_env.go
index ec996c3cc..272ae8061 100644
--- a/vendor/golang.org/x/tools/internal/imports/source_env.go
+++ b/vendor/golang.org/x/tools/internal/imports/source_env.go
@@ -53,7 +53,7 @@ func (s *ProcessEnvSource) ResolveReferences(ctx context.Context, filename strin
found := make(map[string][]pkgDistance)
callback := &scanCallback{
rootFound: func(gopathwalk.Root) bool {
- return true // We want everything.
+ return true
},
dirFound: func(pkg *pkg) bool {
return pkgIsCandidate(filename, refs, pkg)
diff --git a/vendor/golang.org/x/tools/internal/imports/source_modindex.go b/vendor/golang.org/x/tools/internal/imports/source_modindex.go
deleted file mode 100644
index ca745d4a1..000000000
--- a/vendor/golang.org/x/tools/internal/imports/source_modindex.go
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package imports
-
-import (
- "context"
- "sync"
- "time"
-
- "golang.org/x/tools/internal/modindex"
-)
-
-// This code is here rather than in the modindex package
-// to avoid import loops
-
-// TODO(adonovan): this code is only used by a test in this package.
-// Can we delete it? Or is there a plan to call NewIndexSource from
-// cmd/goimports?
-
-// implements Source using modindex, so only for module cache.
-//
-// this is perhaps over-engineered. A new Index is read at first use.
-// And then Update is called after every 15 minutes, and a new Index
-// is read if the index changed. It is not clear the Mutex is needed.
-type IndexSource struct {
- modcachedir string
- mu sync.Mutex
- index *modindex.Index // (access via getIndex)
- expires time.Time
-}
-
-// create a new Source. Called from NewView in cache/session.go.
-func NewIndexSource(cachedir string) *IndexSource {
- return &IndexSource{modcachedir: cachedir}
-}
-
-func (s *IndexSource) LoadPackageNames(ctx context.Context, srcDir string, paths []ImportPath) (map[ImportPath]PackageName, error) {
- /// This is used by goimports to resolve the package names of imports of the
- // current package, which is irrelevant for the module cache.
- return nil, nil
-}
-
-func (s *IndexSource) ResolveReferences(ctx context.Context, filename string, missing References) ([]*Result, error) {
- index, err := s.getIndex()
- if err != nil {
- return nil, err
- }
- var cs []modindex.Candidate
- for pkg, nms := range missing {
- for nm := range nms {
- x := index.Lookup(pkg, nm, false)
- cs = append(cs, x...)
- }
- }
- found := make(map[string]*Result)
- for _, c := range cs {
- var x *Result
- if x = found[c.ImportPath]; x == nil {
- x = &Result{
- Import: &ImportInfo{
- ImportPath: c.ImportPath,
- Name: "",
- },
- Package: &PackageInfo{
- Name: c.PkgName,
- Exports: make(map[string]bool),
- },
- }
- found[c.ImportPath] = x
- }
- x.Package.Exports[c.Name] = true
- }
- var ans []*Result
- for _, x := range found {
- ans = append(ans, x)
- }
- return ans, nil
-}
-
-func (s *IndexSource) getIndex() (*modindex.Index, error) {
- s.mu.Lock()
- defer s.mu.Unlock()
-
- // (s.index = nil => s.expires is zero,
- // so the first condition is strictly redundant.
- // But it makes the postcondition very clear.)
- if s.index == nil || time.Now().After(s.expires) {
- index, err := modindex.Update(s.modcachedir)
- if err != nil {
- return nil, err
- }
- s.index = index
- s.expires = index.ValidAt.Add(15 * time.Minute) // (refresh period)
- }
- // Inv: s.index != nil
-
- return s.index, nil
-}
diff --git a/vendor/golang.org/x/tools/internal/modindex/index.go b/vendor/golang.org/x/tools/internal/modindex/index.go
index c7ef97dcd..73ea82972 100644
--- a/vendor/golang.org/x/tools/internal/modindex/index.go
+++ b/vendor/golang.org/x/tools/internal/modindex/index.go
@@ -14,6 +14,8 @@ import (
"path/filepath"
"strconv"
"strings"
+ "sync"
+ "sync/atomic"
"testing"
"time"
)
@@ -66,6 +68,9 @@ whose types are []byte and interface{}.
const CurrentVersion int = 0
// Index is returned by [Read].
+//
+// An Index is immutable once constructed: [Read] may return the same
+// Index to multiple callers, so it must not be modified.
type Index struct {
Version int
GOMODCACHE string // absolute path of Go module cache dir
@@ -118,9 +123,37 @@ var IndexDir string = func() string {
return dir
}()
+// cache memoizes the most recently read index for each Go module cache
+// directory; see [Read].
+var cache sync.Map // from gomodcache (string) to *cacheEntry
+
+type cacheEntry struct {
+ payloadFile string // the file the index was read from
+ index *Index
+}
+
+// parseCount counts the number of times [Read] has parsed a payload
+// file, as opposed to returning a memoized index. It is for testing.
+var parseCount atomic.Int64
+
// Read reads the latest version of the on-disk index
// for the specified Go module cache directory.
// If there is no index, it returns a nil Index and an fs.ErrNotExist error.
+//
+// The result is memoized: parsing the payload file, which may be
+// hundreds of megabytes, is far more expensive than the rest of the
+// work done by a typical client such as [golang.org/x/tools/imports.Process],
+// and clients that process many files would otherwise repeat it for
+// each one. Because payload files are immutable--[write] gives each
+// one a fresh random name and only then updates the link file to refer
+// to it--the name of the payload file is a sound cache key, so an index
+// created by another process is picked up as soon as the link file
+// changes. Only the most recent index for each directory is retained,
+// so that a long-running process that repeatedly updates the index does
+// not accumulate stale ones.
+//
+// Consequently the same Index may be returned to multiple callers, and
+// callers must not modify it.
func Read(gomodcache string) (*Index, error) {
gomodcache, err := filepath.Abs(gomodcache)
if err != nil {
@@ -138,13 +171,26 @@ func Read(gomodcache string) (*Index, error) {
}
payloadFile := filepath.Join(IndexDir, string(content))
+ // Is the index from that payload file already in memory?
+ if v, ok := cache.Load(gomodcache); ok {
+ if e := v.(*cacheEntry); e.payloadFile == payloadFile {
+ return e.index, nil
+ }
+ }
+
// Read the index out of the payload file.
f, err := os.Open(payloadFile)
if err != nil {
return nil, err
}
defer f.Close()
- return readIndexFrom(gomodcache, bufio.NewReader(f))
+ parseCount.Add(1)
+ ix, err := readIndexFrom(gomodcache, bufio.NewReader(f))
+ if err != nil {
+ return nil, err
+ }
+ cache.Store(gomodcache, &cacheEntry{payloadFile, ix})
+ return ix, nil
}
func readIndexFrom(gomodcache string, r io.Reader) (*Index, error) {
@@ -188,6 +234,9 @@ func readIndexFrom(gomodcache string, r io.Reader) (*Index, error) {
)
for scan.Scan() {
v := scan.Text()
+ if len(v) < 2 {
+ return nil, fmt.Errorf("malformed line: %q, %d entries", v, len(entries))
+ }
if v[0] == ':' {
if curEntry != nil {
entries = append(entries, *curEntry)
diff --git a/vendor/golang.org/x/tools/internal/modindex/modindex.go b/vendor/golang.org/x/tools/internal/modindex/modindex.go
index 5fa285d98..16a7cabb9 100644
--- a/vendor/golang.org/x/tools/internal/modindex/modindex.go
+++ b/vendor/golang.org/x/tools/internal/modindex/modindex.go
@@ -73,7 +73,9 @@ func build(gomodcache string, old *Index) (*Index, bool, error) {
// Set the time window.
var start time.Time // = dawn of time
if old != nil {
- start = old.ValidAt
+ // -1s to accommodate skew between (fine-grained) time.Now
+ // and (coarse) file system's mtime clock.
+ start = old.ValidAt.Add(-1 * time.Second)
}
now := time.Now()
end := now.Add(24 * time.Hour) // safely in the future
diff --git a/vendor/golang.org/x/tools/internal/moremaps/maps.go b/vendor/golang.org/x/tools/internal/moremaps/maps.go
new file mode 100644
index 000000000..a1bae078b
--- /dev/null
+++ b/vendor/golang.org/x/tools/internal/moremaps/maps.go
@@ -0,0 +1,116 @@
+// Copyright 2023 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package moremaps contains more functions for working with maps.
+package moremaps
+
+import (
+ "cmp"
+ "iter"
+ "maps"
+ "slices"
+)
+
+// Arbitrary returns an arbitrary (key, value) entry from the map and ok is true, if
+// the map is not empty. Otherwise, it returns zero values for K and V, and false.
+func Arbitrary[K comparable, V any](m map[K]V) (_ K, _ V, ok bool) {
+ for k, v := range m {
+ return k, v, true
+ }
+ return
+}
+
+// Group returns a new non-nil map containing the elements of s grouped by the
+// keys returned from the key func.
+func Group[K comparable, V any](s []V, key func(V) K) map[K][]V {
+ m := make(map[K][]V)
+ for _, v := range s {
+ k := key(v)
+ m[k] = append(m[k], v)
+ }
+ return m
+}
+
+// KeySlice returns the keys of the map M, like slices.Collect(maps.Keys(m)).
+func KeySlice[M ~map[K]V, K comparable, V any](m M) []K {
+ r := make([]K, 0, len(m))
+ for k := range m {
+ r = append(r, k)
+ }
+ return r
+}
+
+// ValueSlice returns the values of the map M, like slices.Collect(maps.Values(m)).
+func ValueSlice[M ~map[K]V, K comparable, V any](m M) []V {
+ r := make([]V, 0, len(m))
+ for _, v := range m {
+ r = append(r, v)
+ }
+ return r
+}
+
+// SameKeys reports whether x and y have equal sets of keys.
+func SameKeys[K comparable, V1, V2 any](x map[K]V1, y map[K]V2) bool {
+ ignoreValues := func(V1, V2) bool { return true }
+ return maps.EqualFunc(x, y, ignoreValues)
+}
+
+// Sorted returns an iterator over the entries of m in key order.
+func Sorted[M ~map[K]V, K cmp.Ordered, V any](m M) iter.Seq2[K, V] {
+ // TODO(adonovan): use maps.Sorted if proposal #68598 is accepted.
+ return func(yield func(K, V) bool) {
+ keys := KeySlice(m)
+ slices.Sort(keys)
+ for _, k := range keys {
+ if !yield(k, m[k]) {
+ break
+ }
+ }
+ }
+}
+
+// SortedFunc returns an iterator over the entries of m in the key order determined by cmp.
+func SortedFunc[M ~map[K]V, K comparable, V any](m M, cmp func(x, y K) int) iter.Seq2[K, V] {
+ // TODO(adonovan): use maps.SortedFunc if proposal #68598 is accepted.
+ return func(yield func(K, V) bool) {
+ keys := KeySlice(m)
+ slices.SortFunc(keys, cmp)
+ for _, k := range keys {
+ if !yield(k, m[k]) {
+ break
+ }
+ }
+ }
+}
+
+// Delete is like delete(m, k) but reports whether deletion occurred.
+func Delete[M ~map[K]V, K comparable, V any](m M, k K) bool {
+ pre := len(m)
+ delete(m, k)
+ return pre != len(m)
+}
+
+// Entry is a key-value pair obtained from a map.
+type Entry[K comparable, V any] struct {
+ Key K
+ Value V
+}
+
+// Entries returns a new unordered array of the entries of a map.
+func Entries[M ~map[K]V, K comparable, V any](m M) []Entry[K, V] {
+ entries := make([]Entry[K, V], 0, len(m))
+ for k, v := range m {
+ entries = append(entries, Entry[K, V]{k, v})
+ }
+ return entries
+}
+
+// FromEntries returns a new map into which the entries have been inserted in order.
+func FromEntries[K comparable, V any](entries []Entry[K, V]) map[K]V {
+ m := make(map[K]V, len(entries))
+ for _, e := range entries {
+ m[e.Key] = e.Value
+ }
+ return m
+}
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/codes.go b/vendor/golang.org/x/tools/internal/pkgbits/codes.go
index f0cabde96..21f44d965 100644
--- a/vendor/golang.org/x/tools/internal/pkgbits/codes.go
+++ b/vendor/golang.org/x/tools/internal/pkgbits/codes.go
@@ -4,6 +4,8 @@
package pkgbits
+// This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
+
// A Code is an enum value that can be encoded into bitstreams.
//
// Code types are preferable for enum types, because they allow
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/decoder.go b/vendor/golang.org/x/tools/internal/pkgbits/decoder.go
index c0aba26c4..f05e2696e 100644
--- a/vendor/golang.org/x/tools/internal/pkgbits/decoder.go
+++ b/vendor/golang.org/x/tools/internal/pkgbits/decoder.go
@@ -15,6 +15,7 @@ import (
"os"
"runtime"
"strings"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// A PkgDecoder provides methods for decoding a package's Unified IR
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/doc.go b/vendor/golang.org/x/tools/internal/pkgbits/doc.go
index c8a2796b5..f5a9badf4 100644
--- a/vendor/golang.org/x/tools/internal/pkgbits/doc.go
+++ b/vendor/golang.org/x/tools/internal/pkgbits/doc.go
@@ -30,3 +30,5 @@
//
// This is a copy of internal/pkgbits in the Go implementation.
package pkgbits
+
+// This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/encoder.go b/vendor/golang.org/x/tools/internal/pkgbits/encoder.go
index c17a12399..ac9c8e8b3 100644
--- a/vendor/golang.org/x/tools/internal/pkgbits/encoder.go
+++ b/vendor/golang.org/x/tools/internal/pkgbits/encoder.go
@@ -13,6 +13,7 @@ import (
"math/big"
"runtime"
"strings"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// A PkgEncoder provides methods for encoding a package's Unified IR
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/reloc.go b/vendor/golang.org/x/tools/internal/pkgbits/reloc.go
index fcdfb97ca..99494aa31 100644
--- a/vendor/golang.org/x/tools/internal/pkgbits/reloc.go
+++ b/vendor/golang.org/x/tools/internal/pkgbits/reloc.go
@@ -4,6 +4,8 @@
package pkgbits
+// This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
+
// A RelocKind indicates a particular section within a unified IR export.
type RelocKind int32
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/support.go b/vendor/golang.org/x/tools/internal/pkgbits/support.go
index 50534a295..b0011600d 100644
--- a/vendor/golang.org/x/tools/internal/pkgbits/support.go
+++ b/vendor/golang.org/x/tools/internal/pkgbits/support.go
@@ -4,6 +4,7 @@
package pkgbits
+// This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
import "fmt"
func assert(b bool) {
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/sync.go b/vendor/golang.org/x/tools/internal/pkgbits/sync.go
index 1520b73af..4cf7f1ee3 100644
--- a/vendor/golang.org/x/tools/internal/pkgbits/sync.go
+++ b/vendor/golang.org/x/tools/internal/pkgbits/sync.go
@@ -8,6 +8,7 @@ import (
"fmt"
"runtime"
"strings"
+ // This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
)
// fmtFrames formats a backtrace for reporting reader/writer desyncs.
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/version.go b/vendor/golang.org/x/tools/internal/pkgbits/version.go
index 53af9df22..932a92679 100644
--- a/vendor/golang.org/x/tools/internal/pkgbits/version.go
+++ b/vendor/golang.org/x/tools/internal/pkgbits/version.go
@@ -4,6 +4,8 @@
package pkgbits
+// This package is dependency-restricted; see x/tools/go/gcexportdata.TestDeps.
+
// Version indicates a version of a unified IR bitstream.
// Each Version indicates the addition, removal, or change of
// new data in the bitstream.
@@ -28,6 +30,19 @@ const (
// - remove derived info "needed" bool
V2
+ // V3: introduces a more compact format for composite literal element lists
+ // - negative lengths indicate that (some) elements may have keys
+ // - positive lengths indicate that no element has a key
+ // - a negative struct field index indicates an embedded field
+ V3
+
+ // V4: encodes generic methods as standalone function objects
+ V4
+
+ // V5: encodes the index of methods to preserve relative order
+ // of nongeneric and generic methods (go.dev/issue/81188).
+ V5
+
numVersions = iota
)
@@ -61,6 +76,16 @@ const (
// whether a type was a derived type.
DerivedInfoNeeded
+ // Composite literals use a more compact format for element lists.
+ CompactCompLiterals
+
+ // Generic methods may appear as standalone function objects.
+ GenericMethods
+
+ // Method index is encoded to preserve relative order of
+ // nongeneric and generic methods.
+ PreserveMethodOrder
+
numFields = iota
)
@@ -68,6 +93,9 @@ const (
var introduced = [numFields]Version{
Flags: V1,
AliasTypeParamNames: V2,
+ CompactCompLiterals: V3,
+ GenericMethods: V4,
+ PreserveMethodOrder: V5,
}
// removed is the version a field was removed in or 0 for fields
diff --git a/vendor/golang.org/x/tools/internal/stdlib/deps.go b/vendor/golang.org/x/tools/internal/stdlib/deps.go
index dacfc1dff..abd3c8754 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/deps.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/deps.go
@@ -12,366 +12,387 @@ type pkginfo struct {
}
var deps = [...]pkginfo{
- {"archive/tar", "\x03q\x03F=\x01\n\x01$\x01\x01\x02\x05\b\x02\x01\x02\x02\r"},
- {"archive/zip", "\x02\x04g\a\x03\x13\x021=\x01+\x05\x01\x0f\x03\x02\x0f\x04"},
- {"bufio", "\x03q\x86\x01D\x15"},
- {"bytes", "t+[\x03\fH\x02\x02"},
+ {"archive/tar", "\x03|\x03F>\x01\n\x01&\x01\x01\x02\x05\b\x02\x01\x02\x02\r"},
+ {"archive/zip", "\x02\x04k\x0e\x03\x12\x022>\x01-\x05\x01\x0f\x03\x02\x0f\x04"},
+ {"bufio", "\x03|\x87\x01F\x15"},
+ {"bytes", "\x7f*]\x03\fJ\x02\x02"},
{"cmp", ""},
- {"compress/bzip2", "\x02\x02\xf6\x01A"},
- {"compress/flate", "\x02r\x03\x83\x01\f\x033\x01\x03"},
- {"compress/gzip", "\x02\x04g\a\x03\x15nU"},
- {"compress/lzw", "\x02r\x03\x83\x01"},
- {"compress/zlib", "\x02\x04g\a\x03\x13\x01o"},
- {"container/heap", "\xbc\x02"},
+ {"compress/bzip2", "\x02\x02\x82\x02C"},
+ {"compress/flate", "\x02}\x03\x84\x01\f\x034\x02\x03"},
+ {"compress/gzip", "\x02\x04k\x0e\x03\x14pW"},
+ {"compress/lzw", "\x02}\x03\x84\x01"},
+ {"compress/zlib", "\x02\x04k\x0e\x03\x12\x01q"},
+ {"container/heap", "\xca\x02"},
{"container/list", ""},
{"container/ring", ""},
- {"context", "t\\p\x01\x0e"},
- {"crypto", "\x8a\x01pC"},
- {"crypto/aes", "\x10\v\t\x99\x02"},
- {"crypto/cipher", "\x03!\x01\x01 \x12\x1c,Z"},
- {"crypto/des", "\x10\x16 .,\x9d\x01\x03"},
- {"crypto/dsa", "F\x03+\x86\x01\r"},
- {"crypto/ecdh", "\x03\v\r\x10\x04\x17\x03\x0f\x1c\x86\x01"},
- {"crypto/ecdsa", "\x0e\x05\x03\x05\x01\x10\b\v\x06\x01\x03\x0e\x01\x1c\x86\x01\r\x05L\x01"},
- {"crypto/ed25519", "\x0e\x1f\x12\a\x03\b\a\x1cI=C"},
- {"crypto/elliptic", "4@\x86\x01\r9"},
- {"crypto/fips140", "#\x05\x95\x01\x98\x01"},
- {"crypto/hkdf", "0\x15\x01.\x16"},
- {"crypto/hmac", "\x1b\x16\x14\x01\x122"},
- {"crypto/hpke", "\x03\v\x02\x03\x04\x01\f\x01\x05\x1f\x05\a\x01\x01\x1d\x03\x13\x16\x9b\x01\x1c"},
- {"crypto/internal/boring", "\x0e\x02\x0el"},
- {"crypto/internal/boring/bbig", "\x1b\xec\x01N"},
- {"crypto/internal/boring/bcache", "\xc1\x02\x14"},
+ {"context", "\x7f]r\x01\x0e"},
+ {"crypto", "\x94\x01rE"},
+ {"crypto/aes", "\x10\v\v\xa5\x02"},
+ {"crypto/cipher", "\x03#\x01\x01 \x13$+\\"},
+ {"crypto/des", "\x10\x18 7+\xa1\x01\x03"},
+ {"crypto/dsa", "H\x034\x87\x01\r"},
+ {"crypto/ecdh", "\x03\v\r\x12\x04\x17\x03\x10$\x87\x01"},
+ {"crypto/ecdsa", "\x0e\x05\x03\x05\x01\x12\b\v\x06\x01\x03\x0f\x01$\x87\x01\r\x05O\x01"},
+ {"crypto/ed25519", "\x0e!\x12\a\x03\t\a$I>E"},
+ {"crypto/elliptic", "6I\x87\x01\r;"},
+ {"crypto/fips140", "%\x05\x9e\x01\x9b\x01"},
+ {"crypto/hkdf", "2\x15\x017\x15"},
+ {"crypto/hmac", "\x1b\x18\x14\x01\x139"},
+ {"crypto/hpke", "\x03\v\x02\x03\x04\x01\x0e\x01\x05\x1f\x06\a\x01\x01%\x03\x12\x16\x9f\x01\x1d"},
+ {"crypto/internal/boring", "\x0e\x02\x0ev"},
+ {"crypto/internal/boring/bbig", "\x1b\xf8\x01P"},
+ {"crypto/internal/boring/bcache", "\xcf\x02\x14"},
{"crypto/internal/boring/sig", ""},
{"crypto/internal/constanttime", ""},
- {"crypto/internal/cryptotest", "\x03\r\v\b%\x10\x19\x06\x13\x12 \x04\x06\t\x19\x01\x11\x11\x1b\x01\a\x05\b\x03\x05\f"},
- {"crypto/internal/entropy", "K"},
- {"crypto/internal/entropy/v1.0.0", "D0\x95\x018\x14"},
- {"crypto/internal/fips140", "C1\xbf\x01\v\x17"},
- {"crypto/internal/fips140/aes", "\x03 \x03\x02\x14\x05\x01\x01\x05,\x95\x014"},
- {"crypto/internal/fips140/aes/gcm", "#\x01\x02\x02\x02\x12\x05\x01\x06,\x92\x01"},
- {"crypto/internal/fips140/alias", "\xd5\x02"},
- {"crypto/internal/fips140/bigmod", "(\x19\x01\x06,\x95\x01"},
- {"crypto/internal/fips140/check", "#\x0e\a\t\x02\xb7\x01["},
- {"crypto/internal/fips140/check/checktest", "(\x8b\x02\""},
- {"crypto/internal/fips140/drbg", "\x03\x1f\x01\x01\x04\x14\x05\n)\x86\x01\x0f7\x01"},
- {"crypto/internal/fips140/ecdh", "\x03 \x05\x02\n\r3\x86\x01\x0f7"},
- {"crypto/internal/fips140/ecdsa", "\x03 \x04\x01\x02\a\x03\x06:\x16pF"},
- {"crypto/internal/fips140/ed25519", "\x03 \x05\x02\x04\f:\xc9\x01\x03"},
- {"crypto/internal/fips140/edwards25519", "\x1f\t\a\x123\x95\x017"},
- {"crypto/internal/fips140/edwards25519/field", "(\x14\x053\x95\x01"},
- {"crypto/internal/fips140/hkdf", "\x03 \x05\t\a<\x16"},
- {"crypto/internal/fips140/hmac", "\x03 \x15\x01\x01:\x16"},
- {"crypto/internal/fips140/mldsa", "\x03\x1c\x04\x05\x02\x0e\x01\x03\x053\x95\x017"},
- {"crypto/internal/fips140/mlkem", "\x03 \x05\x02\x0f\x03\x053\xcc\x01"},
- {"crypto/internal/fips140/nistec", "\x1f\t\r\f3\x95\x01*\r\x15"},
- {"crypto/internal/fips140/nistec/fiat", "(\x148\x95\x01"},
- {"crypto/internal/fips140/pbkdf2", "\x03 \x05\t\a<\x16"},
- {"crypto/internal/fips140/rsa", "\x03\x1c\x04\x04\x01\x02\x0e\x01\x01\x028\x16pF"},
- {"crypto/internal/fips140/sha256", "\x03 \x1e\x01\x06,\x16\x7f"},
- {"crypto/internal/fips140/sha3", "\x03 \x19\x05\x012\x95\x01L"},
- {"crypto/internal/fips140/sha512", "\x03 \x1e\x01\x06,\x16\x7f"},
- {"crypto/internal/fips140/ssh", "(b"},
- {"crypto/internal/fips140/subtle", "\x1f\a\x1b\xc8\x01"},
- {"crypto/internal/fips140/tls12", "\x03 \x05\t\a\x02:\x16"},
- {"crypto/internal/fips140/tls13", "\x03 \x05\b\b\t3\x16"},
- {"crypto/internal/fips140cache", "\xb3\x02\r'"},
+ {"crypto/internal/cryptotest", "\x03\r\v\n%\x11\x1a\r\x12\x12!\x04\x06\n\x19\x01\x11\x11\x1d\x01\a\x03\x02\b\x02\x01\x04\x01\f"},
+ {"crypto/internal/cryptotest/wycheproof", "\x0e\x12T\x01\f\x01r@\x05\x03\x15\x10"},
+ {"crypto/internal/cryptotest/x509limbo", "u\n\x03\xba\x01\x03\x1e"},
+ {"crypto/internal/entropy", "M"},
+ {"crypto/internal/entropy/v1.0.0", "F9\x96\x01:\x14"},
+ {"crypto/internal/fips140", "E:\xc2\x01\v\x17"},
+ {"crypto/internal/fips140/aes", "\x03\"\x03\x02\x14\x05\x01\x01\x055\x96\x016"},
+ {"crypto/internal/fips140/aes/gcm", "%\x01\x02\x02\x02\x12\x05\x01\x065\x93\x01"},
+ {"crypto/internal/fips140/alias", "\xe3\x02"},
+ {"crypto/internal/fips140/bigmod", "*\x19\x01\x065\x96\x01"},
+ {"crypto/internal/fips140/check", "%\x0e\a\t\x02\xc1\x01]"},
+ {"crypto/internal/fips140/check/checktest", "*\x97\x02\""},
+ {"crypto/internal/fips140/drbg", "\x03!\x01\x01\x04\x14\x05\n2\x87\x01\x0f9\x01"},
+ {"crypto/internal/fips140/ecdh", "\x03\"\x05\x02\n\r<\x87\x01\x0f9"},
+ {"crypto/internal/fips140/ecdsa", "\x03\"\x04\x01\x02\a\x03\x06C\x15r\x0f9"},
+ {"crypto/internal/fips140/ed25519", "\x03\"\x05\x02\x04\fC\xcc\x01\x03"},
+ {"crypto/internal/fips140/edwards25519", "\x1f\v\a\x12<\x96\x019"},
+ {"crypto/internal/fips140/edwards25519/field", "*\x14\x05<\x96\x01"},
+ {"crypto/internal/fips140/hkdf", "\x03\"\x05\t\aE\x15"},
+ {"crypto/internal/fips140/hmac", "\x03\"\x15\x01\x01C\x15"},
+ {"crypto/internal/fips140/mldsa", "\x03\x1c\x06\x05\x02\x0e\x01\x03\x05<\x96\x019"},
+ {"crypto/internal/fips140/mlkem", "\x03\"\x05\x02\x0f\x03\x05<\xcf\x01"},
+ {"crypto/internal/fips140/nistec", "\x1f\v\r\f<\x96\x01,\r\x15"},
+ {"crypto/internal/fips140/nistec/fiat", "*\x14A\x96\x01"},
+ {"crypto/internal/fips140/pbkdf2", "\x03\"\x05\t\aE\x15"},
+ {"crypto/internal/fips140/rsa", "\x03\x1c\x06\x04\x01\x02\x0e\x01\x01\x02A\x15rH"},
+ {"crypto/internal/fips140/sha256", "\x03\"\x1e\x01\x065\x15\x81\x01"},
+ {"crypto/internal/fips140/sha3", "\x03\"\x19\x05\x01;\x96\x01N"},
+ {"crypto/internal/fips140/sha512", "\x03\"\x1e\x01\x065\x15\x81\x01"},
+ {"crypto/internal/fips140/ssh", "*j"},
+ {"crypto/internal/fips140/subtle", "\x1f\t\x1b\xd2\x01"},
+ {"crypto/internal/fips140/tls12", "\x03\"\x05\t\a\x02C\x15"},
+ {"crypto/internal/fips140/tls13", "\x03\"\x05\b\b\t<\x15"},
+ {"crypto/internal/fips140cache", "\xc1\x02\r."},
{"crypto/internal/fips140deps", ""},
- {"crypto/internal/fips140deps/byteorder", "\xa0\x01"},
- {"crypto/internal/fips140deps/cpu", "\xb5\x01\a"},
- {"crypto/internal/fips140deps/godebug", "\xbd\x01"},
- {"crypto/internal/fips140deps/time", "\xcf\x02"},
- {"crypto/internal/fips140hash", "9\x1d4\xcb\x01"},
- {"crypto/internal/fips140only", "\x17\x13\x0e\x01\x01Pp"},
+ {"crypto/internal/fips140deps/byteorder", "\xaa\x01"},
+ {"crypto/internal/fips140deps/cpu", "\xbf\x01\b"},
+ {"crypto/internal/fips140deps/godebug", "\xc8\x01"},
+ {"crypto/internal/fips140deps/time", "\xe3\x02"},
+ {"crypto/internal/fips140hash", ";\x1e;\xcf\x01"},
+ {"crypto/internal/fips140only", "\x17\x15\x0e\x01\x01Xr"},
{"crypto/internal/fips140test", ""},
- {"crypto/internal/impl", "\xbe\x02"},
- {"crypto/internal/rand", "\x1b\x0f s=["},
- {"crypto/internal/randutil", "\xfa\x01\x12"},
- {"crypto/internal/sysrand", "tq! \r\r\x01\x01\r\x06"},
- {"crypto/internal/sysrand/internal/seccomp", "t"},
- {"crypto/md5", "\x0e8.\x16\x16i"},
- {"crypto/mlkem", "\x0e%"},
- {"crypto/mlkem/mlkemtest", "3\x13\b&"},
- {"crypto/pbkdf2", "6\x0f\x01.\x16"},
- {"crypto/rand", "\x1b\x0f\x1c\x03+\x86\x01\rN"},
- {"crypto/rc4", "& .\xc9\x01"},
- {"crypto/rsa", "\x0e\r\x01\v\x10\x0e\x01\x03\b\a\x1c\x03\x133=\f\x01"},
- {"crypto/sha1", "\x0e\r+\x02,\x16\x16\x15T"},
- {"crypto/sha256", "\x0e\r\x1dR"},
- {"crypto/sha3", "\x0e+Q\xcb\x01"},
- {"crypto/sha512", "\x0e\r\x1fP"},
- {"crypto/subtle", "\x1f\x1d\x9f\x01z"},
- {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x02\x01\x01\x01\t\x01\x18\x01\x0f\x01\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x15\b=\x16\x16\r\b\x01\x01\x01\x02\x01\x0e\x06\x02\x01\x0f"},
- {"crypto/tls/internal/fips140tls", "\x17\xaa\x02"},
- {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x017\x06\x01\x01\x02\x05\x0e\x06\x02\x02\x03F\x03:\x01\x02\b\x01\x01\x02\a\x10\x05\x01\x06\a\b\x02\x01\x02\x0f\x02\x01\x01\x02\x03\x01"},
- {"crypto/x509/pkix", "j\x06\a\x90\x01H"},
- {"database/sql", "\x03\nQ\x16\x03\x83\x01\v\a\"\x05\b\x02\x03\x01\x0e\x02\x02\x02"},
- {"database/sql/driver", "\rg\x03\xb7\x01\x0f\x12"},
- {"debug/buildinfo", "\x03^\x02\x01\x01\b\a\x03g\x1a\x02\x01+\x0f "},
- {"debug/dwarf", "\x03j\a\x03\x83\x011\x11\x01\x01"},
- {"debug/elf", "\x03\x06W\r\a\x03g\x1b\x01\f \x17\x01\x17"},
- {"debug/gosym", "\x03j\n$\xa1\x01\x01\x01\x02"},
- {"debug/macho", "\x03\x06W\r\ng\x1c,\x17\x01"},
- {"debug/pe", "\x03\x06W\r\a\x03g\x1c,\x17\x01\x17"},
- {"debug/plan9obj", "m\a\x03g\x1c,"},
- {"embed", "t+B\x19\x01T"},
+ {"crypto/internal/impl", "\xcc\x02"},
+ {"crypto/internal/rand", "\x1b\x11 |>]"},
+ {"crypto/internal/randutil", "\x86\x02\x12"},
+ {"crypto/internal/sysrand", "\x7fr!\"\r\r\x01\x01\r\x06"},
+ {"crypto/internal/sysrand/internal/seccomp", "\x7f"},
+ {"crypto/md5", "\x0e:7\x15\x16k"},
+ {"crypto/mldsa", "\x0e&K\x87\x01"},
+ {"crypto/mlkem", "\x0e'"},
+ {"crypto/mlkem/mlkemtest", "5\x13\t."},
+ {"crypto/pbkdf2", "8\x0f\x017\x15"},
+ {"crypto/rand", "\x1b\x11\x1c\x034\x87\x01\rP"},
+ {"crypto/rc4", "( 7\xcc\x01"},
+ {"crypto/rsa", "\x0e\r\x01\r\x10\x0e\x01\x03\t\a$\x03\x124>\f\x01"},
+ {"crypto/sha1", "\x0e\r-\x025\x15\x16\x15V"},
+ {"crypto/sha256", "\x0e\r\x1fZ"},
+ {"crypto/sha3", "\x0e-Y\xcf\x01"},
+ {"crypto/sha512", "\x0e\r!X"},
+ {"crypto/subtle", "\x1f\x1f\xa9\x01|"},
+ {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\v\x01\x18\x01\x0f\x01\x01\x03\x01\x01\x01\x01\x02\x01\x02\x01\x1f\x02\x03\x12\x16\x15\t>\x16\x18\r\b\x01\x01\x01\x02\x01\x0e\x06\x03\x01\x15"},
+ {"crypto/tls/internal/fips140tls", "\x17\xb8\x02"},
+ {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x01\x018\x01\x06\x01\x01\x02\x05\x0f\x06\t\x02\x03F\x03;\x01\x02\b\x01\x01\x02\a\x12\x05\x01\x06\a\b\x02\x01\x02\x0f\x02\x01\x01\x02\x04\x01"},
+ {"crypto/x509/pkix", "n\x06\x0e\x91\x019\x11"},
+ {"database/sql", "\x03\nT\x01\x1d\x03\x84\x01\v\a$\x05\b\x02\x03\x01\x0e\x02\x02\x02\x01"},
+ {"database/sql/driver", "\rU\x1d\x03\xba\x01\x0f\x12\a"},
+ {"database/sql/internal", ""},
+ {"debug/buildinfo", "\x03b\x02\x01\x01\b\x0e\x03h\x1a\x02\x01-\x0f "},
+ {"debug/dwarf", "\x03n\x0e\x03\x84\x013\x11\x01\x01"},
+ {"debug/elf", "\x03\x06[\r\x0e\x03h\x1b\x01\f\"\x17\x01\x17"},
+ {"debug/gosym", "\x03n\x11#\xa5\x01\x01\x01\x02"},
+ {"debug/macho", "\x03\x06[\r\x11h\x1c.\x17\x01"},
+ {"debug/pe", "\x03\x06[\r\x0e\x03h\x1c.\x17\x01\x17"},
+ {"debug/plan9obj", "q\x0e\x03h\x1c."},
+ {"embed", "\x7f*D\x19\x01V"},
{"embed/internal/embedtest", ""},
{"encoding", ""},
- {"encoding/ascii85", "\xfa\x01C"},
- {"encoding/asn1", "\x03q\x03g(\x01'\r\x02\x01\x11\x03\x01"},
- {"encoding/base32", "\xfa\x01A\x02"},
- {"encoding/base64", "\xa0\x01ZA\x02"},
- {"encoding/binary", "t\x86\x01\f(\r\x05"},
- {"encoding/csv", "\x02\x01q\x03\x83\x01D\x13\x02"},
- {"encoding/gob", "\x02f\x05\a\x03g\x1c\v\x01\x03\x1d\b\x12\x01\x10\x02"},
- {"encoding/hex", "t\x03\x83\x01A\x03"},
- {"encoding/json", "\x03\x01d\x04\b\x03\x83\x01\f(\r\x02\x01\x02\x11\x01\x01\x02"},
- {"encoding/pem", "\x03i\b\x86\x01A\x03"},
- {"encoding/xml", "\x02\x01e\f\x03\x83\x014\x05\n\x01\x02\x11\x02"},
- {"errors", "\xd0\x01\x85\x01"},
- {"expvar", "qLA\b\v\x15\r\b\x02\x03\x01\x12"},
- {"flag", "h\f\x03\x83\x01,\b\x05\b\x02\x01\x11"},
- {"fmt", "tF'\x19\f \b\r\x02\x03\x13"},
- {"go/ast", "\x03\x01s\x0f\x01s\x03)\b\r\x02\x01\x13\x02"},
- {"go/build", "\x02\x01q\x03\x01\x02\x02\b\x02\x01\x17\x1f\x04\x02\b\x1c\x13\x01+\x01\x04\x01\a\b\x02\x01\x13\x02\x02"},
- {"go/build/constraint", "t\xc9\x01\x01\x13\x02"},
- {"go/constant", "w\x10\x7f\x01\x024\x01\x02\x13"},
- {"go/doc", "\x04s\x01\x05\n=61\x10\x02\x01\x13\x02"},
- {"go/doc/comment", "\x03t\xc4\x01\x01\x01\x01\x13\x02"},
- {"go/format", "\x03t\x01\f\x01\x02sD"},
- {"go/importer", "y\a\x01\x02\x04\x01r9"},
- {"go/internal/gccgoimporter", "\x02\x01^\x13\x03\x04\f\x01p\x02,\x01\x05\x11\x01\r\b"},
- {"go/internal/gcimporter", "\x02u\x10\x010\x05\r0,\x15\x03\x02"},
- {"go/internal/scannerhooks", "\x87\x01"},
- {"go/internal/srcimporter", "w\x01\x01\v\x03\x01r,\x01\x05\x12\x02\x15"},
- {"go/parser", "\x03q\x03\x01\x02\b\x04\x01s\x01+\x06\x12"},
- {"go/printer", "w\x01\x02\x03\ns\f \x15\x02\x01\x02\f\x05\x02"},
- {"go/scanner", "\x03t\v\x05s2\x10\x01\x14\x02"},
- {"go/token", "\x04s\x86\x01>\x02\x03\x01\x10\x02"},
- {"go/types", "\x03\x01\x06j\x03\x01\x03\t\x03\x024\x063\x04\x03\t \x06\a\b\x01\x01\x01\x02\x01\x10\x02\x02"},
- {"go/version", "\xc2\x01|"},
- {"hash", "\xfa\x01"},
- {"hash/adler32", "t\x16\x16"},
- {"hash/crc32", "t\x16\x16\x15\x8b\x01\x01\x14"},
- {"hash/crc64", "t\x16\x16\xa0\x01"},
- {"hash/fnv", "t\x16\x16i"},
- {"hash/maphash", "\x8a\x01\x11<~"},
- {"html", "\xbe\x02\x02\x13"},
- {"html/template", "\x03n\x06\x19-=\x01\n!\x05\x01\x02\x03\f\x01\x02\r\x01\x03\x02"},
- {"image", "\x02r\x1fg\x0f4\x03\x01"},
+ {"encoding/ascii85", "\x86\x02E"},
+ {"encoding/asn1", "\x03|\x03h(\x01)\x05\b\x02\x01\x11\x03\x01"},
+ {"encoding/base32", "\x86\x02C\x02"},
+ {"encoding/base64", "\xaa\x01\\C\x02"},
+ {"encoding/binary", "\x7f\x87\x01\f*\r\x05"},
+ {"encoding/csv", "\x02\x01|\x03\x84\x01F\x13\x02"},
+ {"encoding/gob", "\x02j\x05\x0e\x03h\x1c\v\x01\x03\x1f\b\x12\x01\x10\x02"},
+ {"encoding/hex", "\x7f\x03\x84\x01C\x03"},
+ {"encoding/json", "\x03\x01h\n\x01\x01\x02\x01\x01\x03\x03\x84\x016\x0f\x01"},
+ {"encoding/json/internal", "\x7f"},
+ {"encoding/json/internal/jsonflags", "v"},
+ {"encoding/json/internal/jsonopts", "v\x01"},
+ {"encoding/json/internal/jsontest", "\x03g\x15\x03\x83\x01\x01\x012\b\b\x03\x02\x0f"},
+ {"encoding/json/internal/jsonwire", "\x04s\b\x87\x01\f7\x02\x01\x13\x01\x01"},
+ {"encoding/json/jsontext", "\x03s\x01\x01\x02\x05\x87\x01\x03\t\x034\x02\x01\x02\x13"},
+ {"encoding/json/v2", "\x03\x01h\x03\x01\x01\x03\x02\x01\x01\x02\x01\x04\x03\x84\x01\f\x03'\r\x02\x01\x02\x0f\x02\x02"},
+ {"encoding/pem", "\x03m\x0f\x87\x01C\x03"},
+ {"encoding/xml", "\x02\x01i\x13\x03\x84\x016\x05\n\x01\x02\x11\x02"},
+ {"errors", "\xdc\x01\x87\x01"},
+ {"expvar", "uSB\b\v\x17\r\b\x02\x03\x01\x12"},
+ {"flag", "l\x13\x03\x84\x01.\b\x05\b\x02\x01\x11"},
+ {"fmt", "\x7fE)\x19\f\"\b\r\x02\x03\x13"},
+ {"go/ast", "\x03\x01~\x0e\x01u\x03+\b\r\x02\x01\x13\x02"},
+ {"go/build", "\x02\x01|\x03\x01\x02\x02\a\x02\x01\x17 \x04\x02\t\x1c\x13\x01-\x01\x04\x01\a\b\x02\x01\x13\x02\x02"},
+ {"go/build/constraint", "\x7f\xcc\x01\x01\x13\x02"},
+ {"go/constant", "\x82\x01\x0f\x81\x01\x01\x026\x01\x02\x13"},
+ {"go/doc", "\x04~\x01\x05\t>73\x10\x02\x01\x13\x02"},
+ {"go/doc/comment", "\x03\x7f\xc7\x01\x01\x01\x01\x13\x02"},
+ {"go/format", "\x03\x7f\x01\v\x01\x02uF"},
+ {"go/importer", "\x84\x01\a\x01\x01\x04\x01t;"},
+ {"go/internal/gccgoimporter", "\x02\x01b\x1a\x03\x04\v\x01r\x02.\x01\x05\x11\x01\r\b"},
+ {"go/internal/gcimporter", "\x02\x80\x01\x0f\x010\x140.\x15\x03\x02"},
+ {"go/internal/srcimporter", "\x82\x01\x01\x01\n\x03\x01t.\x01\x05\x12\x02\x15"},
+ {"go/parser", "\x03|\x03\x01\x02\v\x01u\x01-\x06\x12"},
+ {"go/printer", "\x82\x01\x01\x02\x03\tu\f\"\x15\x02\x01\x02\f\x05\x02"},
+ {"go/scanner", "\x03\x7f\x0fu4\x10\x01\x14\x02"},
+ {"go/token", "\x04~\x87\x01@\x02\x03\x01\x10\x02"},
+ {"go/types", "\x03\x01\x06u\x03\x01\x03\b\x03\x02\x0654\x04\x03\t\"\x06\a\b\x01\x01\x01\x02\x01\x10\x02\x02"},
+ {"go/version", "\xcd\x01\x7f"},
+ {"hash", "\x86\x02"},
+ {"hash/adler32", "\x7f\x15\x16"},
+ {"hash/crc32", "\x7f\x15\x16\x15\x8f\x01\x01\x14"},
+ {"hash/crc64", "\x7f\x15\x16\xa4\x01"},
+ {"hash/fnv", "\x7f\x15\x16k"},
+ {"hash/maphash", "\x94\x01\x11>\x80\x01"},
+ {"html", "\xcc\x02\x02\x13"},
+ {"html/template", "\x03r\r\x18.>\x01\n#\x05\x01\x02\x03\n\x02\x01\x02\r\x01\x03\x02"},
+ {"image", "\x02}\x1ei\x0f6\x03\x01"},
{"image/color", ""},
- {"image/color/palette", "\x93\x01"},
- {"image/draw", "\x92\x01\x01\x04"},
- {"image/gif", "\x02\x01\x05l\x03\x1b\x01\x01\x01\vZ\x0f"},
- {"image/internal/imageutil", "\x92\x01"},
- {"image/jpeg", "\x02r\x1e\x01\x04c"},
- {"image/png", "\x02\ad\n\x13\x02\x06\x01gC"},
- {"index/suffixarray", "\x03j\a\x86\x01\f+\n\x01"},
- {"internal/abi", "\xbc\x01\x99\x01"},
- {"internal/asan", "\xd5\x02"},
- {"internal/bisect", "\xb3\x02\r\x01"},
- {"internal/buildcfg", "wHg\x06\x02\x05\n\x01"},
- {"internal/bytealg", "\xb5\x01\xa0\x01"},
+ {"image/color/palette", "\x9d\x01"},
+ {"image/draw", "\x9c\x01\x01\x04"},
+ {"image/gif", "\x02\x01\x05w\x03\x1a\x01\x01\x01\v\\\x0f"},
+ {"image/internal/imageutil", "\x9c\x01"},
+ {"image/jpeg", "\x02}\x1d\x01\x04e"},
+ {"image/png", "\x02\ah\x11\x12\x02\x06\x01iE"},
+ {"index/suffixarray", "\x03n\x0e\x87\x01\f-\n\x01"},
+ {"internal/abi", "\xc7\x01\x9c\x01"},
+ {"internal/asan", "\xe3\x02"},
+ {"internal/bisect", "\xc1\x02\r\x01"},
+ {"internal/buildcfg", "\x82\x01Hj\x06\x02\x05\n\x01"},
+ {"internal/bytealg", "\xbf\x01\xa4\x01"},
{"internal/byteorder", ""},
{"internal/cfg", ""},
- {"internal/cgrouptest", "w[T\x06\x0f\x02\x01\x04\x01"},
- {"internal/chacha8rand", "\xa0\x01\x15\a\x99\x01"},
+ {"internal/cgrouptest", "\x82\x01\\V\x06\x0f\x02\x01\x04\x01"},
+ {"internal/chacha8rand", "\xaa\x01\x15\b\x9c\x01"},
{"internal/copyright", ""},
{"internal/coverage", ""},
{"internal/coverage/calloc", ""},
- {"internal/coverage/cfile", "q\x06\x17\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01\"\x02',\x06\a\n\x01\x03\x0e\x06"},
- {"internal/coverage/cformat", "\x04s.\x04Q\v6\x01\x02\x0e"},
- {"internal/coverage/cmerge", "w.a"},
- {"internal/coverage/decodecounter", "m\n.\v\x02H,\x17\x18"},
- {"internal/coverage/decodemeta", "\x02k\n\x17\x17\v\x02H,"},
- {"internal/coverage/encodecounter", "\x02k\n.\f\x01\x02F\v!\x15"},
- {"internal/coverage/encodemeta", "\x02\x01j\n\x13\x04\x17\r\x02F,/"},
- {"internal/coverage/pods", "\x04s.\x81\x01\x06\x05\n\x02\x01"},
- {"internal/coverage/rtcov", "\xd5\x02"},
- {"internal/coverage/slicereader", "m\n\x83\x01["},
- {"internal/coverage/slicewriter", "w\x83\x01"},
- {"internal/coverage/stringtab", "w9\x04F"},
+ {"internal/coverage/cfile", "u\r\x16\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01$\x02'.\x06\a\n\x01\x03\x0e\x06"},
+ {"internal/coverage/cformat", "\x04~-\x04S\v8\x01\x02\x0e"},
+ {"internal/coverage/cmerge", "\x82\x01-c"},
+ {"internal/coverage/decodecounter", "q\x11-\v\x02J.\x17\x18"},
+ {"internal/coverage/decodemeta", "\x02o\x11\x16\x17\v\x02J."},
+ {"internal/coverage/encodecounter", "\x02o\x11-\f\x01\x02H\v#\x15"},
+ {"internal/coverage/encodemeta", "\x02\x01n\x11\x12\x04\x17\r\x02H./"},
+ {"internal/coverage/pods", "\x04~-\x85\x01\x06\x05\n\x02\x01"},
+ {"internal/coverage/rtcov", "\xe3\x02"},
+ {"internal/coverage/slicereader", "q\x11\x84\x01]"},
+ {"internal/coverage/slicewriter", "\x82\x01\x84\x01"},
+ {"internal/coverage/stringtab", "\x82\x018\x04H"},
{"internal/coverage/test", ""},
{"internal/coverage/uleb128", ""},
- {"internal/cpu", "\xd5\x02"},
- {"internal/dag", "\x04s\xc4\x01\x03"},
- {"internal/diff", "\x03t\xc5\x01\x02"},
- {"internal/exportdata", "\x02\x01q\x03\x02e\x1c,\x01\x05\x11\x01\x02"},
- {"internal/filepathlite", "t+B\x1a@"},
- {"internal/fmtsort", "\x04\xaa\x02\r"},
- {"internal/fuzz", "\x03\nH\x18\x04\x03\x03\x01\f\x036=\f\x03\x1d\x01\x05\x02\x05\n\x01\x02\x01\x01\r\x04\x02"},
+ {"internal/cpu", "\xe3\x02"},
+ {"internal/dag", "\x04~\xc7\x01\x03"},
+ {"internal/diff", "\x03\x7f\xc8\x01\x02"},
+ {"internal/exportdata", "\x02\x01|\x03\x02f\x1c.\x01\x05\x11\x01\x02"},
+ {"internal/filepathlite", "\x7f*D\x1aB"},
+ {"internal/fmtsort", "\x04\xb8\x02\r"},
+ {"internal/fuzz", "\x03\nK\x19\x04\n\x03\x01\v\x037>\f\x03\x1f\x01\x05\x02\x05\n\x01\x02\x01\x01\r\x04\x02"},
+ {"internal/gate", "\r"},
{"internal/goarch", ""},
- {"internal/godebug", "\x9d\x01!\x82\x01\x01\x14"},
+ {"internal/godebug", "\xa7\x01\"\x85\x01\x01\x14"},
{"internal/godebugs", ""},
{"internal/goexperiment", ""},
{"internal/goos", ""},
- {"internal/goroot", "\xa6\x02\x01\x05\x12\x02"},
+ {"internal/goroot", "\xb4\x02\x01\x05\x12\x02"},
{"internal/gover", "\x04"},
{"internal/goversion", ""},
- {"internal/lazyregexp", "\xa6\x02\v\r\x02"},
- {"internal/lazytemplate", "\xfa\x01,\x18\x02\r"},
- {"internal/msan", "\xd5\x02"},
+ {"internal/lazyregexp", "\xb4\x02\v\r\x02"},
+ {"internal/lazytemplate", "\x86\x02.\x18\x02\r"},
+ {"internal/msan", "\xe3\x02"},
+ {"internal/nettest", "\x03\nrG@\f\n\x12\x06\x15\x05\x0f"},
{"internal/nettrace", ""},
- {"internal/obscuretestdata", "l\x8e\x01,"},
- {"internal/oserror", "t"},
- {"internal/pkgbits", "\x03R\x18\a\x03\x04\fs\r\x1f\r\n\x01"},
+ {"internal/obscuretestdata", "p\x96\x01."},
+ {"internal/oserror", "\x7f"},
+ {"internal/pkgbits", "\x03U\x19\x0e\x03\x04\vu\r!\r\n\x01"},
{"internal/platform", ""},
- {"internal/poll", "tl\x05\x159\r\x01\x01\r\x06"},
- {"internal/profile", "\x03\x04m\x03\x83\x017\n\x01\x01\x01\x11"},
+ {"internal/poll", "\x7fm\x05\x15;\r\x01\x01\r\x06"},
+ {"internal/profile", "\x03\x04x\x03\x84\x019\n\x01\x01\x01\x11"},
{"internal/profilerecord", ""},
- {"internal/race", "\x9b\x01\xba\x01"},
- {"internal/reflectlite", "\x9b\x01!;<\""},
- {"internal/runtime/atomic", "\xbc\x01\x99\x01"},
- {"internal/runtime/cgroup", "\x9f\x01=\x04u"},
- {"internal/runtime/exithook", "\xd1\x01\x84\x01"},
- {"internal/runtime/gc", "\xbc\x01"},
- {"internal/runtime/gc/internal/gen", "\nc\n\x18k\x04\v\x1d\b\x10\x02"},
- {"internal/runtime/gc/scan", "\xb5\x01\a\x18\az"},
- {"internal/runtime/maps", "\x9b\x01\x01 \n\t\t\x03z"},
- {"internal/runtime/math", "\xbc\x01"},
+ {"internal/race", "\xa5\x01\xbe\x01"},
+ {"internal/reflectlite", "\xa5\x01\"<>\""},
+ {"internal/runtime/atomic", "\xc7\x01\x9c\x01"},
+ {"internal/runtime/cgroup", "\xa9\x01?\x04w"},
+ {"internal/runtime/exithook", "\xdd\x01\x86\x01"},
+ {"internal/runtime/gc", "\xc7\x01"},
+ {"internal/runtime/gc/internal/gen", "\ng\x11\x17m\x04\v\x1f\b\x10\x02"},
+ {"internal/runtime/gc/scan", "\xbf\x01\b\x19\a|"},
+ {"internal/runtime/maps", "\xa5\x01\x01\x04\x15\b\x03\a\n\t\x03.N"},
+ {"internal/runtime/math", "\xc7\x01"},
{"internal/runtime/pprof/label", ""},
{"internal/runtime/startlinetest", ""},
- {"internal/runtime/sys", "\xbc\x01\x04"},
- {"internal/runtime/syscall/linux", "\xbc\x01\x99\x01"},
+ {"internal/runtime/sys", "\xc7\x01\x04"},
+ {"internal/runtime/syscall/linux", "\xc7\x01\x9c\x01"},
{"internal/runtime/wasitest", ""},
- {"internal/saferio", "\xfa\x01["},
- {"internal/singleflight", "\xc0\x02"},
- {"internal/strconv", "\x89\x02L"},
- {"internal/stringslite", "\x9f\x01\xb6\x01"},
- {"internal/sync", "\x9b\x01!\x13r\x14"},
- {"internal/synctest", "\x9b\x01\xba\x01"},
- {"internal/syscall/execenv", "\xc2\x02"},
- {"internal/syscall/unix", "\xb3\x02\x0e\x01\x13"},
- {"internal/sysinfo", "\x02\x01\xb2\x01E,\x18\x02"},
+ {"internal/saferio", "\x86\x02]"},
+ {"internal/singleflight", "\xce\x02"},
+ {"internal/strconv", "\x95\x02N"},
+ {"internal/stringslite", "\xa9\x01\xba\x01"},
+ {"internal/sync", "\xa5\x01\"\x14t\x14"},
+ {"internal/synctest", "\xa5\x01\xbe\x01"},
+ {"internal/syscall/execenv", "\xd0\x02"},
+ {"internal/syscall/unix", "\xec\x01U\x0e\x01\x13"},
+ {"internal/sysinfo", "\x02\x01\xbc\x01G.\x18\x02"},
{"internal/syslist", ""},
- {"internal/testenv", "\x03\ng\x02\x01*\x1b\x0f0+\x01\x05\a\n\x01\x02\x02\x01\f"},
- {"internal/testhash", "\x03\x87\x01p\x118\f"},
- {"internal/testlog", "\xc0\x02\x01\x14"},
- {"internal/testpty", "t\x03\xaf\x01"},
- {"internal/trace", "\x02\x01\x01\x06c\a\x03w\x03\x03\x06\x03\t+\n\x01\x01\x01\x11\x06"},
- {"internal/trace/internal/testgen", "\x03j\nu\x03\x02\x03\x011\v\r\x11"},
- {"internal/trace/internal/tracev1", "\x03\x01i\a\x03}\x06\f5\x01"},
- {"internal/trace/raw", "\x02k\nz\x03\x06C\x01\x13"},
- {"internal/trace/testtrace", "\x02\x01q\x03q\x04\x03\x05\x01\x05,\v\x02\b\x02\x01\x05"},
+ {"internal/testenv", "\x03\nr\x02\x01)\x1c\x100-\x01\x05\a\n\x01\x02\x02\x01\f"},
+ {"internal/testhash", "\x03\x91\x01r\x11:\f"},
+ {"internal/testlog", "\xce\x02\x01\x14"},
+ {"internal/testpty", "\x7f\x03\xb2\x01"},
+ {"internal/trace", "\x02\x01\x01\x06g\x0e\x03x\x03\x03\x06\x03\t-\n\x01\x01\x01\x11\x06"},
+ {"internal/trace/internal/testgen", "\x03n\x11v\x03\x02\x03\x013\v\r\x11"},
+ {"internal/trace/internal/tracev1", "\x03\x01m\x0e\x03~\x06\f7\x01"},
+ {"internal/trace/raw", "\x02o\x11{\x03\x06E\x01\x13"},
+ {"internal/trace/testtrace", "\x02\x01|\x03r\x04\x03\x05\x01\x05.\v\x02\b\x02\x01\x05"},
{"internal/trace/tracev2", ""},
- {"internal/trace/traceviewer", "\x02d\v\x06\x1a<\x1f\a\a\x04\b\v\x15\x01\x05\a\n\x01\x02\x0f"},
+ {"internal/trace/traceviewer", "\x02h\v\r\x19>\x1f\a\a\x04\b\v\x17\x01\x05\a\n\x01\x02\x0f"},
{"internal/trace/traceviewer/format", ""},
- {"internal/trace/version", "wz\t"},
- {"internal/txtar", "\x03t\xaf\x01\x18"},
- {"internal/types/errors", "\xbd\x02"},
- {"internal/unsafeheader", "\xd5\x02"},
- {"internal/xcoff", "`\r\a\x03g\x1c,\x17\x01"},
- {"internal/zstd", "m\a\x03\x83\x01\x0f"},
- {"io", "t\xcc\x01"},
- {"io/fs", "t+*11\x10\x14\x04"},
- {"io/ioutil", "\xfa\x01\x01+\x15\x03"},
- {"iter", "\xcf\x01d\""},
- {"log", "w\x83\x01\x05'\r\r\x01\x0e"},
+ {"internal/trace/version", "\x82\x01{\t"},
+ {"internal/txtar", "\x03\x7f\xb2\x01\x18"},
+ {"internal/types/errors", "\xcb\x02"},
+ {"internal/unsafeheader", "\xe3\x02"},
+ {"internal/xcoff", "d\r\x0e\x03h\x1c.\x17\x01"},
+ {"internal/zstd", "q\x0e\x03\x84\x01\x0f"},
+ {"io", "\x7f\xcf\x01"},
+ {"io/fs", "\x7f*,13\x10\x14\x04"},
+ {"io/ioutil", "\x86\x02\x01-\x15\x03"},
+ {"iter", "\xdb\x01f\""},
+ {"log", "\x82\x01\x84\x01\x05)\r\r\x01\x0e"},
{"log/internal", ""},
- {"log/slog", "\x03\n[\t\x03\x03\x83\x01\x04\x01\x02\x02\x03(\x05\b\x02\x01\x02\x01\x0e\x02\x02\x02"},
+ {"log/slog", "\x03\n_\t\n\x03H<\x04\x01\x02\x02\x03*\x05\b\x02\x01\x02\x01\x0e\x02\x02\x02"},
{"log/slog/internal", ""},
- {"log/slog/internal/benchmarks", "\rg\x03\x83\x01\x06\x03:\x12"},
- {"log/slog/internal/buffer", "\xc0\x02"},
- {"log/syslog", "t\x03\x87\x01\x12\x16\x18\x02\x0f"},
- {"maps", "\xfd\x01X"},
- {"math", "\xb5\x01TL"},
- {"math/big", "\x03q\x03)\x15E\f\x03\x020\x02\x01\x02\x15"},
- {"math/big/internal/asmgen", "\x03\x01s\x92\x012\x03"},
- {"math/bits", "\xd5\x02"},
- {"math/cmplx", "\x86\x02\x03"},
- {"math/rand", "\xbd\x01I:\x01\x14"},
- {"math/rand/v2", "t,\x03c\x03L"},
- {"mime", "\x02\x01i\b\x03\x83\x01\v!\x15\x03\x02\x11\x02"},
- {"mime/multipart", "\x02\x01N#\x03F=\v\x01\a\x02\x15\x02\x06\x0f\x02\x01\x17"},
- {"mime/quotedprintable", "\x02\x01t\x83\x01"},
- {"net", "\x04\tg+\x1e\n\x05\x13\x01\x01\x04\x15\x01%\x06\r\b\x05\x01\x01\r\x06\a"},
- {"net/http", "\x02\x01\x03\x01\x04\x02D\b\x13\x01\a\x03F=\x01\x03\a\x01\x03\x02\x02\x01\x02\x06\x02\x01\x01\n\x01\x01\x05\x01\x02\x05\b\x01\x01\x01\x02\x01\x0e\x02\x02\x02\b\x01\x01\x01"},
- {"net/http/cgi", "\x02W\x1b\x03\x83\x01\x04\a\v\x01\x13\x01\x01\x01\x04\x01\x05\x02\b\x02\x01\x11\x0e"},
- {"net/http/cookiejar", "\x04p\x03\x99\x01\x01\b\a\x05\x16\x03\x02\x0f\x04"},
- {"net/http/fcgi", "\x02\x01\n`\a\x03\x83\x01\x16\x01\x01\x14\x18\x02\x0f"},
- {"net/http/httptest", "\x02\x01\nL\x02\x1b\x01\x83\x01\x04\x12\x01\n\t\x02\x17\x01\x02\x0f\x0e"},
- {"net/http/httptrace", "\rLnI\x14\n!"},
- {"net/http/httputil", "\x02\x01\ng\x03\x83\x01\x04\x0f\x03\x01\x05\x02\x01\v\x01\x19\x02\x01\x0e\x0e"},
- {"net/http/internal", "\x02\x01q\x03\x83\x01"},
- {"net/http/internal/ascii", "\xbe\x02\x13"},
- {"net/http/internal/httpcommon", "\rg\x03\x9f\x01\x0e\x01\x17\x01\x01\x02\x1d\x02"},
- {"net/http/internal/testcert", "\xbe\x02"},
- {"net/http/pprof", "\x02\x01\nj\x19-\x02\x0e-\x04\x13\x14\x01\r\x04\x03\x01\x02\x01\x11"},
+ {"log/slog/internal/benchmarks", "\rr\x03\x84\x01\x06\x03<\x12"},
+ {"log/slog/internal/buffer", "\xce\x02"},
+ {"log/syslog", "\x7f\x03\x88\x01\x12\x18\x18\x02\x0f"},
+ {"maps", "\x89\x02Z"},
+ {"math", "\xbf\x01VN"},
+ {"math/big", "\x03|\x03(\x15G\f\x03\x022\x02\x01\x02\x15"},
+ {"math/big/internal/asmgen", "\x03\x01~\x93\x014\x03"},
+ {"math/bits", "\xe3\x02"},
+ {"math/cmplx", "\x92\x02\x03"},
+ {"math/rand", "\xc8\x01J<\x01\x14"},
+ {"math/rand/v2", "\x7f+\x03e\x03N"},
+ {"mime", "\x02\x01m\x0f\x03\x84\x01\v#\x15\x03\x02\x11\x02"},
+ {"mime/multipart", "\x02\x01Q+\x03F>\v\x01\a\x02\x17\x02\x06\x0f\x02\x01\x17"},
+ {"mime/quotedprintable", "\x02\x01\x7f\x84\x01"},
+ {"net", "\x04\tr*\x1f\v\x05\x13\x01\x01\x04\x15\x01'\x06\r\b\x05\x01\x01\r\x06\t"},
+ {"net/http", "\x02\x01\x03\x01\x04\x02O\x14\x0f\x03F>\x01\x03\a\x01\x06\x01\x01\x02\x06\x02\x01\x01\f\x01\x01\x05\x01\x02\x05\b\x01\x01\x01\x02\x01\x0e\x02\x02\x02\n\x01\x03"},
+ {"net/http/cgi", "\x02Z#\x03\x84\x01\x04\a\v\x01\x15\x01\x01\x01\x04\x01\x05\x02\b\x02\x01\x11\x10"},
+ {"net/http/cookiejar", "\x04{\x03\x9a\x01\x01\b\t\x05\x16\x03\x02\x0f\x04"},
+ {"net/http/fcgi", "\x02\x01\nd\x0e\x03\x84\x01\x16\x01\x01\x16\x18\x02\x0f"},
+ {"net/http/httptest", "\x02\x01\nO\x02#\x01P4\x04\x12\x01\f\t\x02\r\n\x01\x02\x03\f\x06\n"},
+ {"net/http/httptrace", "\rOwI\x16+"},
+ {"net/http/httputil", "\x02\x01\nr\x03F>\x04\x0f\x03\x01\x05\x02\x01\r\x01\x19\x02\x0f\x10"},
+ {"net/http/internal", "\x02\x01n\x0e\x03\x84\x01"},
+ {"net/http/internal/ascii", "\xcc\x02\x13"},
+ {"net/http/internal/http2", "\x02\x01\x03\x01\x06G\b\x15\x0e\x03\x84\x01\x01\x03\b\x03\x02\x03\x02\x06\x02\x03\x01\n\x01\x01\b\x05\b\x02\x01\x02\x01\x0e\x10\x02\x02"},
+ {"net/http/internal/httpcommon", "\rr\x03\xa0\x01\x10\x01\x17\x01\x01\x02\x1f\x02"},
+ {"net/http/internal/httpsfv", "\xc9\x02\x02\x01\x11\x04"},
+ {"net/http/internal/testcert", "\xcc\x02"},
+ {"net/http/pprof", "\x02\x01\nu\x18.\x11-\x04\x13\x16\x01\r\x04\x03\x01\x02\x01\x11"},
{"net/internal/cgotest", ""},
- {"net/internal/socktest", "w\xc9\x01\x02"},
- {"net/mail", "\x02r\x03\x83\x01\x04\x0f\x03\x14\x1a\x02\x0f\x04"},
- {"net/netip", "\x04p+\x01f\x034\x17"},
- {"net/rpc", "\x02m\x05\x03\x10\ni\x04\x12\x01\x1d\r\x03\x02"},
- {"net/rpc/jsonrpc", "q\x03\x03\x83\x01\x16\x11\x1f"},
- {"net/smtp", "\x194\f\x13\b\x03\x83\x01\x16\x14\x1a"},
- {"net/textproto", "\x02\x01q\x03\x83\x01\f\n-\x01\x02\x15"},
- {"net/url", "t\x03Fc\v\x10\x02\x01\x17"},
- {"os", "t+\x01\x19\x03\x10\x14\x01\x03\x01\x05\x10\x018\b\x05\x01\x01\r\x06"},
- {"os/exec", "\x03\ngI'\x01\x15\x01+\x06\a\n\x01\x03\x01\r"},
- {"os/exec/internal/fdtest", "\xc2\x02"},
- {"os/signal", "\r\x99\x02\x15\x05\x02"},
- {"os/user", "\x02\x01q\x03\x83\x01,\r\n\x01\x02"},
- {"path", "t+\xb4\x01"},
- {"path/filepath", "t+\x1aB+\r\b\x03\x04\x11"},
- {"plugin", "t"},
- {"reflect", "t'\x04\x1d\x13\b\x04\x05\x17\x06\t-\n\x03\x11\x02\x02"},
+ {"net/internal/socktest", "\x82\x01\xcc\x01\x02"},
+ {"net/mail", "\x02}\x03\x84\x01\x04\x0f\x03\x16\x1a\x02\x0f\x04"},
+ {"net/netip", "\x04{*\x01h\x036\x17"},
+ {"net/rpc", "\x02q\f\x03\x0f\nk\x04\x12\x01\x1f\r\x03\x02"},
+ {"net/rpc/jsonrpc", "u\n\x03\x84\x01\x16\x13\x1f"},
+ {"net/smtp", "\x196\r\x14\x0f\x03\x84\x01\x16\x16\x1a"},
+ {"net/textproto", "\x02\x01|\x03\x84\x01\f\n/\x01\x02\x15"},
+ {"net/url", "\x03|\x03Ff\v\x10\x02\x01\x17"},
+ {"os", "\x7f*\x01\x19\x04\x11\x14\x01\x03\x01\x05\x10\x01:\b\x05\x01\x01\r\x06"},
+ {"os/exec", "\x03\nrI(\x01\x15\x01-\x06\a\n\x01\x03\x01\r"},
+ {"os/exec/internal/fdtest", "\xd0\x02"},
+ {"os/signal", "\r\xa7\x02\x15\x05\x02"},
+ {"os/user", "\x02\x01|\x03\x84\x01.\r\n\x01\x02"},
+ {"path", "\x7f*\xb8\x01"},
+ {"path/filepath", "\x7f*\x1aD-\r\b\x03\x04\x11"},
+ {"plugin", "\x7f"},
+ {"reflect", "\x7f&\x04\x1e\x03\x11\b\x04\x05\x17\x06\t/\n\x03\x11\x02\x02"},
{"reflect/internal/example1", ""},
{"reflect/internal/example2", ""},
- {"regexp", "\x03\xf7\x018\t\x02\x01\x02\x11\x02"},
- {"regexp/syntax", "\xbb\x02\x01\x01\x01\x02\x11\x02"},
- {"runtime", "\x9b\x01\x04\x01\x03\f\x06\a\x02\x01\x01\x0e\x03\x01\x01\x01\x02\x01\x01\x01\x02\x01\x04\x01\x10\x18L"},
- {"runtime/coverage", "\xa7\x01S"},
- {"runtime/debug", "wUZ\r\b\x02\x01\x11\x06"},
- {"runtime/metrics", "\xbe\x01H-\""},
- {"runtime/pprof", "\x02\x01\x01\x03\x06`\a\x03$$\x0f\v!\f \r\b\x01\x01\x01\x02\x02\n\x03\x06"},
- {"runtime/race", "\xb9\x02"},
+ {"regexp", "\x03\x83\x02\x037\t\x02\x01\x02\x11\x02"},
+ {"regexp/syntax", "\xc9\x02\x01\x01\x01\x02\x11\x02"},
+ {"runtime", "\xa5\x01\x04\x01\x03\f\x06\b\x02\x01\x01\x0f\x03\x01\x01\x01\x02\x01\x01\x01\x02\x01\x04\x01\x10\x18N"},
+ {"runtime/coverage", "\xb1\x01U"},
+ {"runtime/debug", "\x82\x01V\\\r\b\x02\x01\x11\x06"},
+ {"runtime/metrics", "\xc9\x01I/\""},
+ {"runtime/pprof", "\x02\x01\x01\x03\x06d\x0e\x03#5\v!\f\"\r\b\x01\x01\x01\x02\x02\n\x03\x06"},
+ {"runtime/race", "\xc7\x02"},
{"runtime/race/internal/amd64v1", ""},
- {"runtime/trace", "\rg\x03z\t9\b\x05\x01\x0e\x06"},
- {"slices", "\x04\xf9\x01\fL"},
- {"sort", "\xd0\x0192"},
- {"strconv", "t+A\x01r"},
- {"strings", "t'\x04B\x19\x03\f7\x11\x02\x02"},
+ {"runtime/trace", "\rr\x03{\t;\b\x05\x01\x0e\x06"},
+ {"slices", "\x04\x85\x02\fN"},
+ {"sort", "\xdc\x0194"},
+ {"strconv", "\x7f*C\x01t"},
+ {"strings", "\x7f&\x04D\x19\x03\f9\x11\x02\x02"},
{"structs", ""},
- {"sync", "\xcf\x01\x13\x01P\x0e\x14"},
- {"sync/atomic", "\xd5\x02"},
- {"syscall", "t(\x03\x01\x1c\n\x03\x06\r\x04S\b\x05\x01\x14"},
- {"testing", "\x03\ng\x02\x01X\x17\x14\f\x05\x1b\x06\x02\x05\x02\x05\x01\x02\x01\x02\x01\x0e\x02\x04"},
- {"testing/cryptotest", "QOZ\x124\x03\x12"},
- {"testing/fstest", "t\x03\x83\x01\x01\n&\x10\x03\t\b"},
- {"testing/internal/testdeps", "\x02\v\xae\x01/\x10,\x03\x05\x03\x06\a\x02\x0f"},
- {"testing/iotest", "\x03q\x03\x83\x01\x04"},
- {"testing/quick", "v\x01\x8f\x01\x05#\x10\x11"},
- {"testing/slogtest", "\rg\x03\x89\x01.\x05\x10\f"},
- {"testing/synctest", "\xe3\x01`\x12"},
- {"text/scanner", "\x03t\x83\x01,+\x02"},
- {"text/tabwriter", "w\x83\x01Y"},
- {"text/template", "t\x03C@\x01\n \x01\x05\x01\x02\x05\v\x02\x0e\x03\x02"},
- {"text/template/parse", "\x03t\xbc\x01\n\x01\x13\x02"},
- {"time", "t+\x1e$(*\r\x02\x13"},
- {"time/tzdata", "t\xce\x01\x13"},
+ {"sync", "\xdb\x01\x02\x11\x01R\x0e\x14"},
+ {"sync/atomic", "\xe3\x02"},
+ {"syscall", "\x7f'\x03\x01\x1d\n\x04\x06\r\x04U\b\x05\x01\x14"},
+ {"testing", "\x03\nr\x02\x01Y\x17\x14\f\x05\x1d\x06\x02\x05\x02\x05\x01\x02\x01\x02\x01\x0e\x02\x04"},
+ {"testing/cryptotest", "TV\\\x126\x03\x12"},
+ {"testing/fstest", "\x7f\x03\x84\x01\x01\n(\x10\x03\t\b"},
+ {"testing/internal/testdeps", "\x02\v\xb8\x011\x10.\x03\x05\x03\x06\a\x02\x0f"},
+ {"testing/iotest", "\x03|\x03\x84\x01\x04"},
+ {"testing/quick", "\x81\x01\x01\x90\x01\x05%\x10\x11"},
+ {"testing/slogtest", "\rr\x03\x8a\x010\x05\x10\f"},
+ {"testing/synctest", "\xef\x01b\f\x06"},
+ {"text/scanner", "\x03\x7f\x84\x01.+\x02"},
+ {"text/tabwriter", "\x82\x01\x84\x01["},
+ {"text/template", "\x7f\x03BB\x01\n\"\x01\x05\x01\x02\x05\v\x02\x0e\x03\x02"},
+ {"text/template/parse", "\x03\x7f\xbf\x01\n\x01\x13\x02"},
+ {"time", "\x7f*D(,\r\x02\x13"},
+ {"time/tzdata", "\x7f\xd1\x01\x13"},
{"unicode", ""},
{"unicode/utf16", ""},
{"unicode/utf8", ""},
- {"unique", "\x9b\x01!%\x01Q\r\x01\x14\x12"},
+ {"unique", "\xa5\x01\"&\x01S\r\x01\x14\x19"},
{"unsafe", ""},
- {"vendor/golang.org/x/crypto/chacha20", "\x10]\a\x95\x01*'"},
- {"vendor/golang.org/x/crypto/chacha20poly1305", "\x10\aV\a\xe2\x01\x04\x01\a"},
- {"vendor/golang.org/x/crypto/cryptobyte", "j\n\x03\x90\x01'!\n"},
+ {"uuid", "\x03\x01P\x1d\x03\v\xcf\x01\x0f"},
+ {"vendor/golang.org/x/crypto/chacha20", "\x10a\x0e\x96\x01,)"},
+ {"vendor/golang.org/x/crypto/chacha20poly1305", "\x10\aZ\x0e\xe6\x01\x05\x01\f"},
+ {"vendor/golang.org/x/crypto/cryptobyte", "n\x11\x03\x91\x01)!\v"},
{"vendor/golang.org/x/crypto/cryptobyte/asn1", ""},
- {"vendor/golang.org/x/crypto/internal/alias", "\xd5\x02"},
- {"vendor/golang.org/x/crypto/internal/poly1305", "X\x15\x9c\x01"},
- {"vendor/golang.org/x/net/dns/dnsmessage", "t\xc7\x01"},
- {"vendor/golang.org/x/net/http/httpguts", "\x90\x02\x14\x1a\x15\r"},
- {"vendor/golang.org/x/net/http/httpproxy", "t\x03\x99\x01\x10\x05\x01\x18\x15\r"},
- {"vendor/golang.org/x/net/http2/hpack", "\x03q\x03\x83\x01F"},
- {"vendor/golang.org/x/net/idna", "w\x8f\x018\x15\x10\x02\x01"},
- {"vendor/golang.org/x/net/nettest", "\x03j\a\x03\x83\x01\x11\x05\x16\x01\f\n\x01\x02\x02\x01\f"},
- {"vendor/golang.org/x/sys/cpu", "\xa6\x02\r\n\x01\x17"},
- {"vendor/golang.org/x/text/secure/bidirule", "t\xdf\x01\x11\x01"},
- {"vendor/golang.org/x/text/transform", "\x03q\x86\x01Y"},
- {"vendor/golang.org/x/text/unicode/bidi", "\x03\bl\x87\x01>\x17"},
- {"vendor/golang.org/x/text/unicode/norm", "m\n\x83\x01F\x13\x11"},
- {"weak", "\x9b\x01\x98\x01\""},
+ {"vendor/golang.org/x/crypto/hkdf", "\x18\x01f\x15r"},
+ {"vendor/golang.org/x/crypto/internal/alias", "\xe3\x02"},
+ {"vendor/golang.org/x/crypto/internal/poly1305", "[\x16\xa4\x01"},
+ {"vendor/golang.org/x/net/dns/dnsmessage", "\x7f\xca\x01"},
+ {"vendor/golang.org/x/net/http/httpguts", "\x9c\x02\x16\x1a\x15\x10"},
+ {"vendor/golang.org/x/net/http/httpproxy", "\x7f\x03\x9a\x01\x12\x05\x01\x18\x15\x10"},
+ {"vendor/golang.org/x/net/http2/hpack", "\x03|\x03\x84\x01H"},
+ {"vendor/golang.org/x/net/http3", "\x9d\x02@\x06\x0f\x04"},
+ {"vendor/golang.org/x/net/idna", "\x82\x01\x90\x01:\x13\x02\x17\x02\x01"},
+ {"vendor/golang.org/x/net/internal/http3", "\rO#\x03\x84\x01\v\x04\a\x01\x05\x10\x01\x16\x02\x01\x02\x0f\x10\x02\x04\x03"},
+ {"vendor/golang.org/x/net/internal/httpcommon", "\rr\x03\xa0\x01\x10\x01\x17\x01\x01\x02\x1f\x02"},
+ {"vendor/golang.org/x/net/internal/quic/quicwire", "q"},
+ {"vendor/golang.org/x/net/nettest", "\x03n\x0e\x03\x84\x01\x11\x05\x18\x01\f\n\x01\x02\x02\x01\f"},
+ {"vendor/golang.org/x/net/quic", "\x03\n\x01\x01\x01\t;\x04\x04\x15\x03\v\x03\x12r\x06\x06\x06\x04\x12\x06\x15\x02\x01\x02\x01\x01\r\x06\x02\x01\x01\x02\v"},
+ {"vendor/golang.org/x/sys/cpu", "\xb4\x02\r\n\x01\x17"},
+ {"vendor/golang.org/x/text/secure/bidirule", "\x7f\xe2\x01\x18\x01"},
+ {"vendor/golang.org/x/text/transform", "\x03|\x87\x01["},
+ {"vendor/golang.org/x/text/unicode/bidi", "\x03\bw\x88\x01@\x17"},
+ {"vendor/golang.org/x/text/unicode/norm", "q\x11\x84\x01H\x13\x18"},
+ {"weak", "\xa5\x01\x9c\x01\""},
}
// bootstrap is the list of bootstrap packages extracted from cmd/dist.
@@ -408,6 +429,7 @@ var bootstrap = map[string]bool{
"cmd/compile/internal/logopt": true,
"cmd/compile/internal/loong64": true,
"cmd/compile/internal/loopvar": true,
+ "cmd/compile/internal/midway": true,
"cmd/compile/internal/mips": true,
"cmd/compile/internal/mips64": true,
"cmd/compile/internal/noder": true,
@@ -512,6 +534,7 @@ var bootstrap = map[string]bool{
"internal/race": true,
"internal/runtime/gc": true,
"internal/saferio": true,
+ "internal/strconv": true,
"internal/syscall/unix": true,
"internal/types/errors": true,
"internal/unsafeheader": true,
diff --git a/vendor/golang.org/x/tools/internal/stdlib/manifest.go b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
index 33e4f505f..e11abf045 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/manifest.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
@@ -270,6 +270,7 @@ var PackageSymbols = map[string][]Symbol{
{"ContainsRune", Func, 7, "func(b []byte, r rune) bool"},
{"Count", Func, 0, "func(s []byte, sep []byte) int"},
{"Cut", Func, 18, "func(s []byte, sep []byte) (before []byte, after []byte, found bool)"},
+ {"CutLast", Func, 27, "func(s []byte, sep []byte) (before []byte, after []byte, found bool)"},
{"CutPrefix", Func, 20, "func(s []byte, prefix []byte) (after []byte, found bool)"},
{"CutSuffix", Func, 20, "func(s []byte, suffix []byte) (before []byte, found bool)"},
{"Equal", Func, 0, "func(a []byte, b []byte) bool"},
@@ -538,6 +539,7 @@ var PackageSymbols = map[string][]Symbol{
{"MD4", Const, 0, ""},
{"MD5", Const, 0, ""},
{"MD5SHA1", Const, 0, ""},
+ {"MLDSAMu", Const, 27, ""},
{"MessageSigner", Type, 25, ""},
{"PrivateKey", Type, 0, ""},
{"PublicKey", Type, 2, ""},
@@ -812,6 +814,40 @@ var PackageSymbols = map[string][]Symbol{
{"Size", Const, 0, ""},
{"Sum", Func, 2, "func(data []byte) [16]byte"},
},
+ "crypto/mldsa": {
+ {"(*Options).HashFunc", Method, 27, ""},
+ {"(*PrivateKey).Bytes", Method, 27, ""},
+ {"(*PrivateKey).Equal", Method, 27, ""},
+ {"(*PrivateKey).Public", Method, 27, ""},
+ {"(*PrivateKey).PublicKey", Method, 27, ""},
+ {"(*PrivateKey).Sign", Method, 27, ""},
+ {"(*PrivateKey).SignDeterministic", Method, 27, ""},
+ {"(*PublicKey).Bytes", Method, 27, ""},
+ {"(*PublicKey).Equal", Method, 27, ""},
+ {"(*PublicKey).Parameters", Method, 27, ""},
+ {"(Parameters).PublicKeySize", Method, 27, ""},
+ {"(Parameters).SignatureSize", Method, 27, ""},
+ {"(Parameters).String", Method, 27, ""},
+ {"GenerateKey", Func, 27, "func(params Parameters) (*PrivateKey, error)"},
+ {"MLDSA44", Func, 27, "func() Parameters"},
+ {"MLDSA44PublicKeySize", Const, 27, ""},
+ {"MLDSA44SignatureSize", Const, 27, ""},
+ {"MLDSA65", Func, 27, "func() Parameters"},
+ {"MLDSA65PublicKeySize", Const, 27, ""},
+ {"MLDSA65SignatureSize", Const, 27, ""},
+ {"MLDSA87", Func, 27, "func() Parameters"},
+ {"MLDSA87PublicKeySize", Const, 27, ""},
+ {"MLDSA87SignatureSize", Const, 27, ""},
+ {"NewPrivateKey", Func, 27, "func(params Parameters, seed []byte) (*PrivateKey, error)"},
+ {"NewPublicKey", Func, 27, "func(params Parameters, encoding []byte) (*PublicKey, error)"},
+ {"Options", Type, 27, ""},
+ {"Options.Context", Field, 27, ""},
+ {"Parameters", Type, 27, ""},
+ {"PrivateKey", Type, 27, ""},
+ {"PrivateKeySize", Const, 27, ""},
+ {"PublicKey", Type, 27, ""},
+ {"Verify", Func, 27, "func(pk *PublicKey, message []byte, signature []byte, opts *Options) error"},
+ },
"crypto/mlkem": {
{"(*DecapsulationKey1024).Bytes", Method, 24, ""},
{"(*DecapsulationKey1024).Decapsulate", Method, 24, ""},
@@ -1120,6 +1156,7 @@ var PackageSymbols = map[string][]Symbol{
{"ConnectionState.ECHAccepted", Field, 23, ""},
{"ConnectionState.HandshakeComplete", Field, 0, ""},
{"ConnectionState.HelloRetryRequest", Field, 26, ""},
+ {"ConnectionState.LocalCertificate", Field, 27, ""},
{"ConnectionState.NegotiatedProtocol", Field, 0, ""},
{"ConnectionState.NegotiatedProtocolIsMutual", Field, 0, ""},
{"ConnectionState.OCSPResponse", Field, 5, ""},
@@ -1152,6 +1189,10 @@ var PackageSymbols = map[string][]Symbol{
{"InsecureCipherSuites", Func, 14, "func() []*CipherSuite"},
{"Listen", Func, 0, "func(network string, laddr string, config *Config) (net.Listener, error)"},
{"LoadX509KeyPair", Func, 0, "func(certFile string, keyFile string) (Certificate, error)"},
+ {"MLDSA44", Const, 27, ""},
+ {"MLDSA65", Const, 27, ""},
+ {"MLDSA87", Const, 27, ""},
+ {"MLKEM1024", Const, 27, ""},
{"NewLRUClientSessionCache", Func, 3, "func(capacity int) ClientSessionCache"},
{"NewListener", Func, 0, "func(inner net.Listener, config *Config) net.Listener"},
{"NewResumptionState", Func, 21, "func(ticket []byte, state *SessionState) (*ClientSessionState, error)"},
@@ -1166,6 +1207,7 @@ var PackageSymbols = map[string][]Symbol{
{"ParseSessionState", Func, 21, "func(data []byte) (*SessionState, error)"},
{"QUICClient", Func, 21, "func(config *QUICConfig) *QUICConn"},
{"QUICConfig", Type, 21, ""},
+ {"QUICConfig.ClientHelloInfoConn", Field, 27, ""},
{"QUICConfig.EnableSessionEvents", Field, 23, ""},
{"QUICConfig.TLSConfig", Field, 21, ""},
{"QUICConn", Type, 21, ""},
@@ -1334,6 +1376,7 @@ var PackageSymbols = map[string][]Symbol{
{"Certificate.PublicKeyAlgorithm", Field, 0, ""},
{"Certificate.Raw", Field, 0, ""},
{"Certificate.RawIssuer", Field, 0, ""},
+ {"Certificate.RawSignatureAlgorithm", Field, 27, ""},
{"Certificate.RawSubject", Field, 0, ""},
{"Certificate.RawSubjectPublicKeyInfo", Field, 0, ""},
{"Certificate.RawTBSCertificate", Field, 0, ""},
@@ -1362,6 +1405,7 @@ var PackageSymbols = map[string][]Symbol{
{"CertificateRequest.PublicKey", Field, 3, ""},
{"CertificateRequest.PublicKeyAlgorithm", Field, 3, ""},
{"CertificateRequest.Raw", Field, 3, ""},
+ {"CertificateRequest.RawSignatureAlgorithm", Field, 27, ""},
{"CertificateRequest.RawSubject", Field, 3, ""},
{"CertificateRequest.RawSubjectPublicKeyInfo", Field, 3, ""},
{"CertificateRequest.RawTBSCertificateRequest", Field, 3, ""},
@@ -1422,6 +1466,10 @@ var PackageSymbols = map[string][]Symbol{
{"KeyUsageKeyEncipherment", Const, 0, ""},
{"MD2WithRSA", Const, 0, ""},
{"MD5WithRSA", Const, 0, ""},
+ {"MLDSA", Const, 27, ""},
+ {"MLDSA44", Const, 27, ""},
+ {"MLDSA65", Const, 27, ""},
+ {"MLDSA87", Const, 27, ""},
{"MarshalECPrivateKey", Func, 2, "func(key *ecdsa.PrivateKey) ([]byte, error)"},
{"MarshalPKCS1PrivateKey", Func, 0, "func(key *rsa.PrivateKey) []byte"},
{"MarshalPKCS1PublicKey", Func, 10, "func(key *rsa.PublicKey) []byte"},
@@ -1468,6 +1516,7 @@ var PackageSymbols = map[string][]Symbol{
{"RevocationList.Number", Field, 15, ""},
{"RevocationList.Raw", Field, 19, ""},
{"RevocationList.RawIssuer", Field, 19, ""},
+ {"RevocationList.RawSignatureAlgorithm", Field, 27, ""},
{"RevocationList.RawTBSRevocationList", Field, 19, ""},
{"RevocationList.RevokedCertificateEntries", Field, 21, ""},
{"RevocationList.RevokedCertificates", Field, 15, ""},
@@ -1648,6 +1697,7 @@ var PackageSymbols = map[string][]Symbol{
{"(Scanner).Scan", Method, 0, ""},
{"ColumnType", Type, 8, ""},
{"Conn", Type, 9, ""},
+ {"ConvertAssign", Func, 27, "func(scanCtx driver.ScanContext, dest any, src driver.Value) error"},
{"DB", Type, 0, ""},
{"DBStats", Type, 5, ""},
{"DBStats.Idle", Field, 11, ""},
@@ -1744,6 +1794,11 @@ var PackageSymbols = map[string][]Symbol{
{"(Rows).Next", Method, 0, ""},
{"(RowsAffected).LastInsertId", Method, 0, ""},
{"(RowsAffected).RowsAffected", Method, 0, ""},
+ {"(RowsColumnScanner).Close", Method, 27, ""},
+ {"(RowsColumnScanner).Columns", Method, 27, ""},
+ {"(RowsColumnScanner).Next", Method, 27, ""},
+ {"(RowsColumnScanner).NextRow", Method, 27, ""},
+ {"(RowsColumnScanner).ScanColumn", Method, 27, ""},
{"(RowsColumnTypeDatabaseTypeName).Close", Method, 8, ""},
{"(RowsColumnTypeDatabaseTypeName).ColumnTypeDatabaseTypeName", Method, 8, ""},
{"(RowsColumnTypeDatabaseTypeName).Columns", Method, 8, ""},
@@ -1815,12 +1870,14 @@ var PackageSymbols = map[string][]Symbol{
{"ResultNoRows", Var, 0, ""},
{"Rows", Type, 0, ""},
{"RowsAffected", Type, 0, ""},
+ {"RowsColumnScanner", Type, 27, ""},
{"RowsColumnTypeDatabaseTypeName", Type, 8, ""},
{"RowsColumnTypeLength", Type, 8, ""},
{"RowsColumnTypeNullable", Type, 8, ""},
{"RowsColumnTypePrecisionScale", Type, 8, ""},
{"RowsColumnTypeScanType", Type, 8, ""},
{"RowsNextResultSet", Type, 8, ""},
+ {"ScanContext", Type, 27, ""},
{"SessionResetter", Type, 10, ""},
{"Stmt", Type, 0, ""},
{"StmtExecContext", Type, 8, ""},
@@ -5038,24 +5095,32 @@ var PackageSymbols = map[string][]Symbol{
{"(*InvalidUnmarshalError).Error", Method, 0, ""},
{"(*MarshalerError).Error", Method, 0, ""},
{"(*MarshalerError).Unwrap", Method, 13, ""},
+ {"(*Number).UnmarshalJSONFrom", Method, 27, ""},
{"(*RawMessage).MarshalJSON", Method, 0, ""},
{"(*RawMessage).UnmarshalJSON", Method, 0, ""},
{"(*SyntaxError).Error", Method, 0, ""},
{"(*UnmarshalFieldError).Error", Method, 0, ""},
{"(*UnmarshalTypeError).Error", Method, 0, ""},
+ {"(*UnmarshalTypeError).Unwrap", Method, 27, ""},
{"(*UnsupportedTypeError).Error", Method, 0, ""},
{"(*UnsupportedValueError).Error", Method, 0, ""},
{"(Delim).String", Method, 5, ""},
{"(Marshaler).MarshalJSON", Method, 0, ""},
{"(Number).Float64", Method, 1, ""},
{"(Number).Int64", Method, 1, ""},
+ {"(Number).MarshalJSONTo", Method, 27, ""},
{"(Number).String", Method, 1, ""},
{"(RawMessage).MarshalJSON", Method, 8, ""},
{"(Unmarshaler).UnmarshalJSON", Method, 0, ""},
+ {"CallMethodsWithLegacySemantics", Func, 27, "func(v bool) Options"},
{"Compact", Func, 0, "func(dst *bytes.Buffer, src []byte) error"},
{"Decoder", Type, 0, ""},
+ {"DefaultOptionsV1", Func, 27, "func() Options"},
{"Delim", Type, 5, ""},
{"Encoder", Type, 0, ""},
+ {"FormatByteArrayAsArray", Func, 27, "func(v bool) Options"},
+ {"FormatBytesWithLegacySemantics", Func, 27, "func(v bool) Options"},
+ {"FormatDurationAsNano", Func, 27, "func(v bool) Options"},
{"HTMLEscape", Func, 0, "func(dst *bytes.Buffer, src []byte)"},
{"Indent", Func, 0, "func(dst *bytes.Buffer, src []byte, prefix string, indent string) error"},
{"InvalidUTF8Error", Type, 0, ""},
@@ -5068,19 +5133,29 @@ var PackageSymbols = map[string][]Symbol{
{"MarshalerError", Type, 0, ""},
{"MarshalerError.Err", Field, 0, ""},
{"MarshalerError.Type", Field, 0, ""},
+ {"MatchCaseSensitiveDelimiter", Func, 27, "func(v bool) Options"},
+ {"MergeWithLegacySemantics", Func, 27, "func(v bool) Options"},
{"NewDecoder", Func, 0, "func(r io.Reader) *Decoder"},
{"NewEncoder", Func, 0, "func(w io.Writer) *Encoder"},
{"Number", Type, 1, ""},
+ {"OmitEmptyWithLegacySemantics", Func, 27, "func(v bool) Options"},
+ {"Options", Type, 27, ""},
+ {"ParseBytesWithLooseRFC4648", Func, 27, "func(v bool) Options"},
+ {"ParseTimeWithLooseRFC3339", Func, 27, "func(v bool) Options"},
{"RawMessage", Type, 0, ""},
+ {"ReportErrorsWithLegacySemantics", Func, 27, "func(v bool) Options"},
+ {"StringifyWithLegacySemantics", Func, 27, "func(v bool) Options"},
{"SyntaxError", Type, 0, ""},
{"SyntaxError.Offset", Field, 0, ""},
{"Token", Type, 5, ""},
{"Unmarshal", Func, 0, "func(data []byte, v any) error"},
+ {"UnmarshalArrayFromAnyLength", Func, 27, "func(v bool) Options"},
{"UnmarshalFieldError", Type, 0, ""},
{"UnmarshalFieldError.Field", Field, 0, ""},
{"UnmarshalFieldError.Key", Field, 0, ""},
{"UnmarshalFieldError.Type", Field, 0, ""},
{"UnmarshalTypeError", Type, 0, ""},
+ {"UnmarshalTypeError.Err", Field, 27, ""},
{"UnmarshalTypeError.Field", Field, 8, ""},
{"UnmarshalTypeError.Offset", Field, 5, ""},
{"UnmarshalTypeError.Struct", Field, 8, ""},
@@ -5094,6 +5169,158 @@ var PackageSymbols = map[string][]Symbol{
{"UnsupportedValueError.Value", Field, 0, ""},
{"Valid", Func, 9, "func(data []byte) bool"},
},
+ "encoding/json/jsontext": {
+ {"(*Decoder).InputOffset", Method, 27, ""},
+ {"(*Decoder).Options", Method, 27, ""},
+ {"(*Decoder).PeekKind", Method, 27, ""},
+ {"(*Decoder).ReadToken", Method, 27, ""},
+ {"(*Decoder).ReadValue", Method, 27, ""},
+ {"(*Decoder).Reset", Method, 27, ""},
+ {"(*Decoder).SkipValue", Method, 27, ""},
+ {"(*Decoder).StackDepth", Method, 27, ""},
+ {"(*Decoder).StackIndex", Method, 27, ""},
+ {"(*Decoder).StackPointer", Method, 27, ""},
+ {"(*Decoder).UnreadBuffer", Method, 27, ""},
+ {"(*Encoder).AvailableBuffer", Method, 27, ""},
+ {"(*Encoder).Options", Method, 27, ""},
+ {"(*Encoder).OutputOffset", Method, 27, ""},
+ {"(*Encoder).Reset", Method, 27, ""},
+ {"(*Encoder).StackDepth", Method, 27, ""},
+ {"(*Encoder).StackIndex", Method, 27, ""},
+ {"(*Encoder).StackPointer", Method, 27, ""},
+ {"(*Encoder).WriteToken", Method, 27, ""},
+ {"(*Encoder).WriteValue", Method, 27, ""},
+ {"(*SyntacticError).Error", Method, 27, ""},
+ {"(*SyntacticError).Unwrap", Method, 27, ""},
+ {"(*Value).Canonicalize", Method, 27, ""},
+ {"(*Value).Compact", Method, 27, ""},
+ {"(*Value).Format", Method, 27, ""},
+ {"(*Value).Indent", Method, 27, ""},
+ {"(*Value).UnmarshalJSON", Method, 27, ""},
+ {"(Kind).String", Method, 27, ""},
+ {"(Pointer).AppendToken", Method, 27, ""},
+ {"(Pointer).Contains", Method, 27, ""},
+ {"(Pointer).IsValid", Method, 27, ""},
+ {"(Pointer).LastToken", Method, 27, ""},
+ {"(Pointer).Parent", Method, 27, ""},
+ {"(Pointer).Tokens", Method, 27, ""},
+ {"(Token).Bool", Method, 27, ""},
+ {"(Token).Clone", Method, 27, ""},
+ {"(Token).Float", Method, 27, ""},
+ {"(Token).Float32", Method, 27, ""},
+ {"(Token).Int", Method, 27, ""},
+ {"(Token).Kind", Method, 27, ""},
+ {"(Token).String", Method, 27, ""},
+ {"(Token).Uint", Method, 27, ""},
+ {"(Value).Clone", Method, 27, ""},
+ {"(Value).IsValid", Method, 27, ""},
+ {"(Value).Kind", Method, 27, ""},
+ {"(Value).MarshalJSON", Method, 27, ""},
+ {"(Value).String", Method, 27, ""},
+ {"AllowDuplicateNames", Func, 27, "func(v bool) Options"},
+ {"AllowInvalidUTF8", Func, 27, "func(v bool) Options"},
+ {"AppendFloat", Func, 27, "func(dst []byte, src float64, bits int) []byte"},
+ {"AppendFormat", Func, 27, "func[Bytes ~[]byte | ~string](dst []byte, src Bytes, opts ...Options) ([]byte, error)"},
+ {"AppendQuote", Func, 27, "func[Bytes ~[]byte | ~string](dst []byte, src Bytes) ([]byte, error)"},
+ {"AppendUnquote", Func, 27, "func[Bytes ~[]byte | ~string](dst []byte, src Bytes) ([]byte, error)"},
+ {"BeginArray", Var, 27, ""},
+ {"BeginObject", Var, 27, ""},
+ {"Bool", Func, 27, "func(b bool) Token"},
+ {"CanonicalizeRawFloats", Func, 27, "func(v bool) Options"},
+ {"CanonicalizeRawInts", Func, 27, "func(v bool) Options"},
+ {"Decoder", Type, 27, ""},
+ {"Encoder", Type, 27, ""},
+ {"EndArray", Var, 27, ""},
+ {"EndObject", Var, 27, ""},
+ {"ErrDuplicateName", Var, 27, ""},
+ {"ErrNonStringName", Var, 27, ""},
+ {"EscapeForHTML", Func, 27, "func(v bool) Options"},
+ {"EscapeForJS", Func, 27, "func(v bool) Options"},
+ {"False", Var, 27, ""},
+ {"Float", Func, 27, "func(n float64) Token"},
+ {"Float32", Func, 27, "func(n float32) Token"},
+ {"Int", Func, 27, "func(n int64) Token"},
+ {"Internal", Var, 27, ""},
+ {"Kind", Type, 27, ""},
+ {"KindBeginArray", Const, 27, ""},
+ {"KindBeginObject", Const, 27, ""},
+ {"KindEndArray", Const, 27, ""},
+ {"KindEndObject", Const, 27, ""},
+ {"KindFalse", Const, 27, ""},
+ {"KindInvalid", Const, 27, ""},
+ {"KindNull", Const, 27, ""},
+ {"KindNumber", Const, 27, ""},
+ {"KindString", Const, 27, ""},
+ {"KindTrue", Const, 27, ""},
+ {"Multiline", Func, 27, "func(v bool) Options"},
+ {"NewDecoder", Func, 27, "func(r io.Reader, opts ...Options) *Decoder"},
+ {"NewEncoder", Func, 27, "func(w io.Writer, opts ...Options) *Encoder"},
+ {"Null", Var, 27, ""},
+ {"Options", Type, 27, ""},
+ {"Pointer", Type, 27, ""},
+ {"PreserveRawStrings", Func, 27, "func(v bool) Options"},
+ {"ReorderRawObjects", Func, 27, "func(v bool) Options"},
+ {"SpaceAfterColon", Func, 27, "func(v bool) Options"},
+ {"SpaceAfterComma", Func, 27, "func(v bool) Options"},
+ {"String", Func, 27, "func(s string) Token"},
+ {"SyntacticError", Type, 27, ""},
+ {"SyntacticError.ByteOffset", Field, 27, ""},
+ {"SyntacticError.Err", Field, 27, ""},
+ {"SyntacticError.JSONPointer", Field, 27, ""},
+ {"Token", Type, 27, ""},
+ {"True", Var, 27, ""},
+ {"Uint", Func, 27, "func(n uint64) Token"},
+ {"Value", Type, 27, ""},
+ {"WithIndent", Func, 27, "func(indent string) Options"},
+ {"WithIndentPrefix", Func, 27, "func(prefix string) Options"},
+ },
+ "encoding/json/v2": {
+ {"(*SemanticError).Error", Method, 27, ""},
+ {"(*SemanticError).Unwrap", Method, 27, ""},
+ {"(Marshaler).MarshalJSON", Method, 27, ""},
+ {"(MarshalerTo).MarshalJSONTo", Method, 27, ""},
+ {"(Unmarshaler).UnmarshalJSON", Method, 27, ""},
+ {"(UnmarshalerFrom).UnmarshalJSONFrom", Method, 27, ""},
+ {"DefaultOptionsV2", Func, 27, "func() Options"},
+ {"Deterministic", Func, 27, "func(v bool) Options"},
+ {"ErrUnknownName", Var, 27, ""},
+ {"FormatNilMapAsNull", Func, 27, "func(v bool) Options"},
+ {"FormatNilSliceAsNull", Func, 27, "func(v bool) Options"},
+ {"GetOption", Func, 27, "func[T any](opts Options, setter func(T) Options) (T, bool)"},
+ {"JoinMarshalers", Func, 27, "func(ms ...*Marshalers) *Marshalers"},
+ {"JoinOptions", Func, 27, "func(srcs ...Options) Options"},
+ {"JoinUnmarshalers", Func, 27, "func(us ...*Unmarshalers) *Unmarshalers"},
+ {"Marshal", Func, 27, "func(in any, opts ...Options) (out []byte, err error)"},
+ {"MarshalEncode", Func, 27, "func(out *jsontext.Encoder, in any, opts ...Options) (err error)"},
+ {"MarshalFunc", Func, 27, "func[T any](fn func(T) ([]byte, error)) *Marshalers"},
+ {"MarshalToFunc", Func, 27, "func[T any](fn func(*jsontext.Encoder, T) error) *Marshalers"},
+ {"MarshalWrite", Func, 27, "func(out io.Writer, in any, opts ...Options) (err error)"},
+ {"Marshaler", Type, 27, ""},
+ {"MarshalerTo", Type, 27, ""},
+ {"Marshalers", Type, 27, ""},
+ {"MatchCaseInsensitiveNames", Func, 27, "func(v bool) Options"},
+ {"OmitZeroStructFields", Func, 27, "func(v bool) Options"},
+ {"Options", Type, 27, ""},
+ {"RejectUnknownMembers", Func, 27, "func(v bool) Options"},
+ {"SemanticError", Type, 27, ""},
+ {"SemanticError.ByteOffset", Field, 27, ""},
+ {"SemanticError.Err", Field, 27, ""},
+ {"SemanticError.GoType", Field, 27, ""},
+ {"SemanticError.JSONKind", Field, 27, ""},
+ {"SemanticError.JSONPointer", Field, 27, ""},
+ {"SemanticError.JSONValue", Field, 27, ""},
+ {"StringifyNumbers", Func, 27, "func(v bool) Options"},
+ {"Unmarshal", Func, 27, "func(in []byte, out any, opts ...Options) (err error)"},
+ {"UnmarshalDecode", Func, 27, "func(in *jsontext.Decoder, out any, opts ...Options) (err error)"},
+ {"UnmarshalFromFunc", Func, 27, "func[T any](fn func(*jsontext.Decoder, T) error) *Unmarshalers"},
+ {"UnmarshalFunc", Func, 27, "func[T any](fn func([]byte, T) error) *Unmarshalers"},
+ {"UnmarshalRead", Func, 27, "func(in io.Reader, out any, opts ...Options) (err error)"},
+ {"Unmarshaler", Type, 27, ""},
+ {"UnmarshalerFrom", Type, 27, ""},
+ {"Unmarshalers", Type, 27, ""},
+ {"WithMarshalers", Func, 27, "func(v *Marshalers) Options"},
+ {"WithUnmarshalers", Func, 27, "func(v *Unmarshalers) Options"},
+ },
"encoding/pem": {
{"Block", Type, 0, ""},
{"Block.Bytes", Field, 0, ""},
@@ -6002,6 +6229,7 @@ var PackageSymbols = map[string][]Symbol{
{"Shift", Func, 5, "func(x Value, op token.Token, s uint) Value"},
{"Sign", Func, 5, "func(x Value) int"},
{"String", Const, 5, ""},
+ {"StringLen", Func, 27, "func(x Value) int64"},
{"StringVal", Func, 5, "func(x Value) string"},
{"ToComplex", Func, 6, "func(x Value) Value"},
{"ToFloat", Func, 6, "func(x Value) Value"},
@@ -6183,6 +6411,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*ErrorList).Add", Method, 0, ""},
{"(*ErrorList).RemoveMultiples", Method, 0, ""},
{"(*ErrorList).Reset", Method, 0, ""},
+ {"(*Scanner).End", Method, 27, ""},
{"(*Scanner).Init", Method, 0, ""},
{"(*Scanner).Scan", Method, 0, ""},
{"(Error).Error", Method, 0, ""},
@@ -6222,6 +6451,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*File).SetLines", Method, 0, ""},
{"(*File).SetLinesForContent", Method, 0, ""},
{"(*File).Size", Method, 0, ""},
+ {"(*File).String", Method, 27, ""},
{"(*FileSet).AddExistingFiles", Method, 25, ""},
{"(*FileSet).AddFile", Method, 0, ""},
{"(*FileSet).Base", Method, 0, ""},
@@ -6529,6 +6759,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Tuple).Variables", Method, 24, ""},
{"(*TypeList).At", Method, 18, ""},
{"(*TypeList).Len", Method, 18, ""},
+ {"(*TypeList).String", Method, 27, ""},
{"(*TypeList).Types", Method, 24, ""},
{"(*TypeName).Exported", Method, 5, ""},
{"(*TypeName).Id", Method, 5, ""},
@@ -6547,6 +6778,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*TypeParam).Underlying", Method, 18, ""},
{"(*TypeParamList).At", Method, 18, ""},
{"(*TypeParamList).Len", Method, 18, ""},
+ {"(*TypeParamList).String", Method, 27, ""},
{"(*TypeParamList).TypeParams", Method, 24, ""},
{"(*Union).Len", Method, 18, ""},
{"(*Union).String", Method, 18, ""},
@@ -6571,9 +6803,14 @@ var PackageSymbols = map[string][]Symbol{
{"(Checker).PkgNameOf", Method, 22, ""},
{"(Checker).TypeOf", Method, 5, ""},
{"(Error).Error", Method, 5, ""},
+ {"(Hasher).Equal", Method, 27, ""},
+ {"(Hasher).Hash", Method, 27, ""},
+ {"(HasherIgnoreTags).Equal", Method, 27, ""},
+ {"(HasherIgnoreTags).Hash", Method, 27, ""},
{"(Importer).Import", Method, 5, ""},
{"(ImporterFrom).Import", Method, 6, ""},
{"(ImporterFrom).ImportFrom", Method, 6, ""},
+ {"(Instance).String", Method, 27, ""},
{"(Object).Exported", Method, 5, ""},
{"(Object).Id", Method, 5, ""},
{"(Object).Name", Method, 5, ""},
@@ -6643,6 +6880,8 @@ var PackageSymbols = map[string][]Symbol{
{"Float32", Const, 5, ""},
{"Float64", Const, 5, ""},
{"Func", Type, 5, ""},
+ {"Hasher", Type, 27, ""},
+ {"HasherIgnoreTags", Type, 27, ""},
{"Id", Func, 5, "func(pkg *Package, name string) string"},
{"Identical", Func, 5, "func(x Type, y Type) bool"},
{"IdenticalIgnoreTags", Func, 8, "func(x Type, y Type) bool"},
@@ -6877,9 +7116,13 @@ var PackageSymbols = map[string][]Symbol{
{"(*Hash).Write", Method, 14, ""},
{"(*Hash).WriteByte", Method, 14, ""},
{"(*Hash).WriteString", Method, 14, ""},
+ {"(ComparableHasher).Equal", Method, 27, ""},
+ {"(ComparableHasher).Hash", Method, 27, ""},
{"Bytes", Func, 19, "func(seed Seed, b []byte) uint64"},
{"Comparable", Func, 24, "func[T comparable](seed Seed, v T) uint64"},
+ {"ComparableHasher", Type, 27, ""},
{"Hash", Type, 14, ""},
+ {"Hasher", Type, 27, ""},
{"MakeSeed", Func, 14, "func() Seed"},
{"Seed", Type, 14, ""},
{"String", Func, 19, "func(seed Seed, s string) uint64"},
@@ -8035,6 +8278,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Int).CmpAbs", Method, 10, ""},
{"(*Int).Div", Method, 0, ""},
{"(*Int).DivMod", Method, 0, ""},
+ {"(*Int).Divide", Method, 27, ""},
{"(*Int).Exp", Method, 0, ""},
{"(*Int).FillBytes", Method, 15, ""},
{"(*Int).Float64", Method, 21, ""},
@@ -8119,9 +8363,11 @@ var PackageSymbols = map[string][]Symbol{
{"Accuracy", Type, 5, ""},
{"AwayFromZero", Const, 5, ""},
{"Below", Const, 5, ""},
+ {"Ceil", Const, 27, ""},
{"ErrNaN", Type, 5, ""},
{"Exact", Const, 5, ""},
{"Float", Type, 5, ""},
+ {"Floor", Const, 27, ""},
{"Int", Type, 0, ""},
{"Jacobi", Func, 5, "func(x *Int, y *Int) int"},
{"MaxBase", Const, 0, ""},
@@ -8133,12 +8379,14 @@ var PackageSymbols = map[string][]Symbol{
{"NewRat", Func, 0, "func(a int64, b int64) *Rat"},
{"ParseFloat", Func, 5, "func(s string, base int, prec uint, mode RoundingMode) (f *Float, b int, err error)"},
{"Rat", Type, 0, ""},
+ {"Round", Const, 27, ""},
{"RoundingMode", Type, 5, ""},
{"ToNearestAway", Const, 5, ""},
{"ToNearestEven", Const, 5, ""},
{"ToNegativeInf", Const, 5, ""},
{"ToPositiveInf", Const, 5, ""},
{"ToZero", Const, 5, ""},
+ {"Trunc", Const, 27, ""},
{"Word", Type, 0, ""},
},
"math/bits": {
@@ -8290,6 +8538,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Rand).Int64", Method, 22, ""},
{"(*Rand).Int64N", Method, 22, ""},
{"(*Rand).IntN", Method, 22, ""},
+ {"(*Rand).N", Method, 27, ""},
{"(*Rand).NormFloat64", Method, 22, ""},
{"(*Rand).Perm", Method, 22, ""},
{"(*Rand).Shuffle", Method, 22, ""},
@@ -8904,6 +9153,7 @@ var PackageSymbols = map[string][]Symbol{
{"CrossOriginProtection", Type, 25, ""},
{"DefaultClient", Var, 0, ""},
{"DefaultMaxHeaderBytes", Const, 0, ""},
+ {"DefaultMaxHeaderValueCount", Const, 27, ""},
{"DefaultMaxIdleConnsPerHost", Const, 0, ""},
{"DefaultServeMux", Var, 0, ""},
{"DefaultTransport", Var, 0, ""},
@@ -8985,7 +9235,7 @@ var PackageSymbols = map[string][]Symbol{
{"NoBody", Var, 8, ""},
{"NotFound", Func, 0, "func(w ResponseWriter, r *Request)"},
{"NotFoundHandler", Func, 0, "func() Handler"},
- {"ParseCookie", Func, 23, "func(line string) ([]*Cookie, error)"},
+ {"ParseCookie", Func, 23, "func(line string) (#rv1 []*Cookie, #rv2 error)"},
{"ParseHTTPVersion", Func, 0, "func(vers string) (major int, minor int, ok bool)"},
{"ParseSetCookie", Func, 23, "func(line string) (*Cookie, error)"},
{"ParseTime", Func, 1, "func(text string) (t time.Time, err error)"},
@@ -9061,12 +9311,14 @@ var PackageSymbols = map[string][]Symbol{
{"Server.BaseContext", Field, 13, ""},
{"Server.ConnContext", Field, 13, ""},
{"Server.ConnState", Field, 3, ""},
+ {"Server.DisableClientPriority", Field, 27, ""},
{"Server.DisableGeneralOptionsHandler", Field, 20, ""},
{"Server.ErrorLog", Field, 3, ""},
{"Server.HTTP2", Field, 24, ""},
{"Server.Handler", Field, 0, ""},
{"Server.IdleTimeout", Field, 8, ""},
{"Server.MaxHeaderBytes", Field, 0, ""},
+ {"Server.MaxHeaderValueCount", Field, 27, ""},
{"Server.Protocols", Field, 24, ""},
{"Server.ReadHeaderTimeout", Field, 8, ""},
{"Server.ReadTimeout", Field, 0, ""},
@@ -9226,6 +9478,7 @@ var PackageSymbols = map[string][]Symbol{
{"NewRequestWithContext", Func, 23, "func(ctx context.Context, method string, target string, body io.Reader) *http.Request"},
{"NewServer", Func, 0, "func(handler http.Handler) *Server"},
{"NewTLSServer", Func, 0, "func(handler http.Handler) *Server"},
+ {"NewTestServer", Func, 27, "func(t testing.TB, handler http.Handler) *Server"},
{"NewUnstartedServer", Func, 0, "func(handler http.Handler) *Server"},
{"ResponseRecorder", Type, 0, ""},
{"ResponseRecorder.Body", Field, 0, ""},
@@ -9596,6 +9849,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Error).Timeout", Method, 6, ""},
{"(*Error).Unwrap", Method, 13, ""},
{"(*URL).AppendBinary", Method, 24, ""},
+ {"(*URL).Clone", Method, 27, ""},
{"(*URL).EscapedFragment", Method, 15, ""},
{"(*URL).EscapedPath", Method, 5, ""},
{"(*URL).Hostname", Method, 8, ""},
@@ -9616,6 +9870,7 @@ var PackageSymbols = map[string][]Symbol{
{"(EscapeError).Error", Method, 0, ""},
{"(InvalidHostError).Error", Method, 6, ""},
{"(Values).Add", Method, 0, ""},
+ {"(Values).Clone", Method, 27, ""},
{"(Values).Del", Method, 0, ""},
{"(Values).Encode", Method, 0, ""},
{"(Values).Get", Method, 0, ""},
@@ -10793,6 +11048,7 @@ var PackageSymbols = map[string][]Symbol{
{"ContainsRune", Func, 0, "func(s string, r rune) bool"},
{"Count", Func, 0, "func(s string, substr string) int"},
{"Cut", Func, 18, "func(s string, sep string) (before string, after string, found bool)"},
+ {"CutLast", Func, 27, "func(s string, sep string) (before string, after string, found bool)"},
{"CutPrefix", Func, 20, "func(s string, prefix string) (after string, found bool)"},
{"CutSuffix", Func, 20, "func(s string, suffix string) (before string, found bool)"},
{"EqualFold", Func, 0, "func(s string, t string) bool"},
@@ -17476,6 +17732,7 @@ var PackageSymbols = map[string][]Symbol{
{"TestHandler", Func, 21, "func(h slog.Handler, results func() []map[string]any) error"},
},
"testing/synctest": {
+ {"Sleep", Func, 27, "func(d time.Duration)"},
{"Test", Func, 25, "func(t *testing.T, f func(*testing.T))"},
{"Wait", Func, 25, "func()"},
},
@@ -17980,6 +18237,7 @@ var PackageSymbols = map[string][]Symbol{
{"Bassa_Vah", Var, 4, ""},
{"Batak", Var, 0, ""},
{"Bengali", Var, 0, ""},
+ {"Beria_Erfe", Var, 27, ""},
{"Bhaiksuki", Var, 7, ""},
{"Bidi_Control", Var, 0, ""},
{"Bopomofo", Var, 0, ""},
@@ -18029,6 +18287,7 @@ var PackageSymbols = map[string][]Symbol{
{"Extender", Var, 0, ""},
{"FoldCategory", Var, 0, ""},
{"FoldScript", Var, 0, ""},
+ {"Garay", Var, 27, ""},
{"Georgian", Var, 0, ""},
{"Glagolitic", Var, 0, ""},
{"Gothic", Var, 0, ""},
@@ -18038,6 +18297,7 @@ var PackageSymbols = map[string][]Symbol{
{"Gujarati", Var, 0, ""},
{"Gunjala_Gondi", Var, 13, ""},
{"Gurmukhi", Var, 0, ""},
+ {"Gurung_Khema", Var, 27, ""},
{"Han", Var, 0, ""},
{"Hangul", Var, 0, ""},
{"Hanifi_Rohingya", Var, 13, ""},
@@ -18049,6 +18309,9 @@ var PackageSymbols = map[string][]Symbol{
{"Hyphen", Var, 0, ""},
{"IDS_Binary_Operator", Var, 0, ""},
{"IDS_Trinary_Operator", Var, 0, ""},
+ {"IDS_Unary_Operator", Var, 27, ""},
+ {"ID_Compat_Math_Continue", Var, 27, ""},
+ {"ID_Compat_Math_Start", Var, 27, ""},
{"Ideographic", Var, 0, ""},
{"Imperial_Aramaic", Var, 0, ""},
{"In", Func, 2, "func(r rune, ranges ...*RangeTable) bool"},
@@ -18082,6 +18345,7 @@ var PackageSymbols = map[string][]Symbol{
{"Khmer", Var, 0, ""},
{"Khojki", Var, 4, ""},
{"Khudawadi", Var, 4, ""},
+ {"Kirat_Rai", Var, 27, ""},
{"L", Var, 0, ""},
{"LC", Var, 25, ""},
{"Lao", Var, 0, ""},
@@ -18125,6 +18389,7 @@ var PackageSymbols = map[string][]Symbol{
{"Miao", Var, 1, ""},
{"Mn", Var, 0, ""},
{"Modi", Var, 4, ""},
+ {"Modifier_Combining_Mark", Var, 27, ""},
{"Mongolian", Var, 0, ""},
{"Mro", Var, 4, ""},
{"Multani", Var, 5, ""},
@@ -18145,6 +18410,7 @@ var PackageSymbols = map[string][]Symbol{
{"Nyiakeng_Puachue_Hmong", Var, 14, ""},
{"Ogham", Var, 0, ""},
{"Ol_Chiki", Var, 0, ""},
+ {"Ol_Onal", Var, 27, ""},
{"Old_Hungarian", Var, 5, ""},
{"Old_Italic", Var, 0, ""},
{"Old_North_Arabian", Var, 4, ""},
@@ -18214,6 +18480,7 @@ var PackageSymbols = map[string][]Symbol{
{"Sharada", Var, 1, ""},
{"Shavian", Var, 0, ""},
{"Siddham", Var, 4, ""},
+ {"Sidetic", Var, 27, ""},
{"SignWriting", Var, 5, ""},
{"SimpleFold", Func, 0, "func(r rune) rune"},
{"Sinhala", Var, 0, ""},
@@ -18227,6 +18494,7 @@ var PackageSymbols = map[string][]Symbol{
{"Space", Var, 0, ""},
{"SpecialCase", Type, 0, ""},
{"Sundanese", Var, 0, ""},
+ {"Sunuwar", Var, 27, ""},
{"Syloti_Nagri", Var, 0, ""},
{"Symbol", Var, 0, ""},
{"Syriac", Var, 0, ""},
@@ -18235,6 +18503,7 @@ var PackageSymbols = map[string][]Symbol{
{"Tai_Le", Var, 0, ""},
{"Tai_Tham", Var, 0, ""},
{"Tai_Viet", Var, 0, ""},
+ {"Tai_Yo", Var, 27, ""},
{"Takri", Var, 1, ""},
{"Tamil", Var, 0, ""},
{"Tangsa", Var, 21, ""},
@@ -18252,7 +18521,10 @@ var PackageSymbols = map[string][]Symbol{
{"ToLower", Func, 0, "func(r rune) rune"},
{"ToTitle", Func, 0, "func(r rune) rune"},
{"ToUpper", Func, 0, "func(r rune) rune"},
+ {"Todhri", Var, 27, ""},
+ {"Tolong_Siki", Var, 27, ""},
{"Toto", Var, 21, ""},
+ {"Tulu_Tigalari", Var, 27, ""},
{"TurkishCase", Var, 0, ""},
{"Ugaritic", Var, 0, ""},
{"Unified_Ideograph", Var, 0, ""},
@@ -18320,6 +18592,21 @@ var PackageSymbols = map[string][]Symbol{
{"String", Func, 0, ""},
{"StringData", Func, 0, ""},
},
+ "uuid": {
+ {"(*UUID).UnmarshalText", Method, 27, ""},
+ {"(UUID).AppendText", Method, 27, ""},
+ {"(UUID).Compare", Method, 27, ""},
+ {"(UUID).MarshalText", Method, 27, ""},
+ {"(UUID).String", Method, 27, ""},
+ {"Max", Func, 27, "func() UUID"},
+ {"MustParse", Func, 27, "func(s string) UUID"},
+ {"New", Func, 27, "func() UUID"},
+ {"NewV4", Func, 27, "func() UUID"},
+ {"NewV7", Func, 27, "func() UUID"},
+ {"Nil", Func, 27, "func() UUID"},
+ {"Parse", Func, 27, "func(s string) (UUID, error)"},
+ {"UUID", Type, 27, ""},
+ },
"weak": {
{"(Pointer).Value", Method, 24, ""},
{"Make", Func, 24, "func[T any](ptr *T) Pointer[T]"},
diff --git a/vendor/golang.org/x/tools/internal/typeparams/common.go b/vendor/golang.org/x/tools/internal/typeparams/common.go
deleted file mode 100644
index cdae2b8e8..000000000
--- a/vendor/golang.org/x/tools/internal/typeparams/common.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package typeparams contains common utilities for writing tools that
-// interact with generic Go code, as introduced with Go 1.18. It
-// supplements the standard library APIs. Notably, the StructuralTerms
-// API computes a minimal representation of the structural
-// restrictions on a type parameter.
-//
-// An external version of these APIs is available in the
-// golang.org/x/exp/typeparams module.
-package typeparams
-
-import (
- "go/ast"
- "go/token"
- "go/types"
-)
-
-// UnpackIndexExpr extracts data from AST nodes that represent index
-// expressions.
-//
-// For an ast.IndexExpr, the resulting indices slice will contain exactly one
-// index expression. For an ast.IndexListExpr (go1.18+), it may have a variable
-// number of index expressions.
-//
-// For nodes that don't represent index expressions, the first return value of
-// UnpackIndexExpr will be nil.
-func UnpackIndexExpr(n ast.Node) (x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) {
- switch e := n.(type) {
- case *ast.IndexExpr:
- return e.X, e.Lbrack, []ast.Expr{e.Index}, e.Rbrack
- case *ast.IndexListExpr:
- return e.X, e.Lbrack, e.Indices, e.Rbrack
- }
- return nil, token.NoPos, nil, token.NoPos
-}
-
-// PackIndexExpr returns an *ast.IndexExpr or *ast.IndexListExpr, depending on
-// the cardinality of indices. Calling PackIndexExpr with len(indices) == 0
-// will panic.
-func PackIndexExpr(x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) ast.Expr {
- switch len(indices) {
- case 0:
- panic("empty indices")
- case 1:
- return &ast.IndexExpr{
- X: x,
- Lbrack: lbrack,
- Index: indices[0],
- Rbrack: rbrack,
- }
- default:
- return &ast.IndexListExpr{
- X: x,
- Lbrack: lbrack,
- Indices: indices,
- Rbrack: rbrack,
- }
- }
-}
-
-// IsTypeParam reports whether t is a type parameter (or an alias of one).
-func IsTypeParam(t types.Type) bool {
- _, ok := types.Unalias(t).(*types.TypeParam)
- return ok
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/coretype.go b/vendor/golang.org/x/tools/internal/typeparams/coretype.go
deleted file mode 100644
index 27a2b1792..000000000
--- a/vendor/golang.org/x/tools/internal/typeparams/coretype.go
+++ /dev/null
@@ -1,155 +0,0 @@
-// Copyright 2022 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeparams
-
-import (
- "fmt"
- "go/types"
-)
-
-// CoreType returns the core type of T or nil if T does not have a core type.
-//
-// See https://go.dev/ref/spec#Core_types for the definition of a core type.
-func CoreType(T types.Type) types.Type {
- U := T.Underlying()
- if _, ok := U.(*types.Interface); !ok {
- return U // for non-interface types,
- }
-
- terms, err := NormalTerms(U)
- if len(terms) == 0 || err != nil {
- // len(terms) -> empty type set of interface.
- // err != nil => U is invalid, exceeds complexity bounds, or has an empty type set.
- return nil // no core type.
- }
-
- U = terms[0].Type().Underlying()
- var identical int // i in [0,identical) => Identical(U, terms[i].Type().Underlying())
- for identical = 1; identical < len(terms); identical++ {
- if !types.Identical(U, terms[identical].Type().Underlying()) {
- break
- }
- }
-
- if identical == len(terms) {
- // https://go.dev/ref/spec#Core_types
- // "There is a single type U which is the underlying type of all types in the type set of T"
- return U
- }
- ch, ok := U.(*types.Chan)
- if !ok {
- return nil // no core type as identical < len(terms) and U is not a channel.
- }
- // https://go.dev/ref/spec#Core_types
- // "the type chan E if T contains only bidirectional channels, or the type chan<- E or
- // <-chan E depending on the direction of the directional channels present."
- for chans := identical; chans < len(terms); chans++ {
- curr, ok := terms[chans].Type().Underlying().(*types.Chan)
- if !ok {
- return nil
- }
- if !types.Identical(ch.Elem(), curr.Elem()) {
- return nil // channel elements are not identical.
- }
- if ch.Dir() == types.SendRecv {
- // ch is bidirectional. We can safely always use curr's direction.
- ch = curr
- } else if curr.Dir() != types.SendRecv && ch.Dir() != curr.Dir() {
- // ch and curr are not bidirectional and not the same direction.
- return nil
- }
- }
- return ch
-}
-
-// NormalTerms returns a slice of terms representing the normalized structural
-// type restrictions of a type, if any.
-//
-// For all types other than *types.TypeParam, *types.Interface, and
-// *types.Union, this is just a single term with Tilde() == false and
-// Type() == typ. For *types.TypeParam, *types.Interface, and *types.Union, see
-// below.
-//
-// Structural type restrictions of a type parameter are created via
-// non-interface types embedded in its constraint interface (directly, or via a
-// chain of interface embeddings). For example, in the declaration type
-// T[P interface{~int; m()}] int the structural restriction of the type
-// parameter P is ~int.
-//
-// With interface embedding and unions, the specification of structural type
-// restrictions may be arbitrarily complex. For example, consider the
-// following:
-//
-// type A interface{ ~string|~[]byte }
-//
-// type B interface{ int|string }
-//
-// type C interface { ~string|~int }
-//
-// type T[P interface{ A|B; C }] int
-//
-// In this example, the structural type restriction of P is ~string|int: A|B
-// expands to ~string|~[]byte|int|string, which reduces to ~string|~[]byte|int,
-// which when intersected with C (~string|~int) yields ~string|int.
-//
-// NormalTerms computes these expansions and reductions, producing a
-// "normalized" form of the embeddings. A structural restriction is normalized
-// if it is a single union containing no interface terms, and is minimal in the
-// sense that removing any term changes the set of types satisfying the
-// constraint. It is left as a proof for the reader that, modulo sorting, there
-// is exactly one such normalized form.
-//
-// Because the minimal representation always takes this form, NormalTerms
-// returns a slice of tilde terms corresponding to the terms of the union in
-// the normalized structural restriction. An error is returned if the type is
-// invalid, exceeds complexity bounds, or has an empty type set. In the latter
-// case, NormalTerms returns ErrEmptyTypeSet.
-//
-// NormalTerms makes no guarantees about the order of terms, except that it
-// is deterministic.
-func NormalTerms(T types.Type) ([]*types.Term, error) {
- // typeSetOf(T) == typeSetOf(Unalias(T))
- typ := types.Unalias(T)
- if named, ok := typ.(*types.Named); ok {
- typ = named.Underlying()
- }
- switch typ := typ.(type) {
- case *types.TypeParam:
- return StructuralTerms(typ)
- case *types.Union:
- return UnionTermSet(typ)
- case *types.Interface:
- return InterfaceTermSet(typ)
- default:
- return []*types.Term{types.NewTerm(false, T)}, nil
- }
-}
-
-// Deref returns the type of the variable pointed to by t,
-// if t's core type is a pointer; otherwise it returns t.
-//
-// Do not assume that Deref(T)==T implies T is not a pointer:
-// consider "type T *T", for example.
-//
-// TODO(adonovan): ideally this would live in typesinternal, but that
-// creates an import cycle. Move there when we melt this package down.
-func Deref(t types.Type) types.Type {
- if ptr, ok := CoreType(t).(*types.Pointer); ok {
- return ptr.Elem()
- }
- return t
-}
-
-// MustDeref returns the type of the variable pointed to by t.
-// It panics if t's core type is not a pointer.
-//
-// TODO(adonovan): ideally this would live in typesinternal, but that
-// creates an import cycle. Move there when we melt this package down.
-func MustDeref(t types.Type) types.Type {
- if ptr, ok := CoreType(t).(*types.Pointer); ok {
- return ptr.Elem()
- }
- panic(fmt.Sprintf("%v is not a pointer", t))
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/free.go b/vendor/golang.org/x/tools/internal/typeparams/free.go
deleted file mode 100644
index 4c391876e..000000000
--- a/vendor/golang.org/x/tools/internal/typeparams/free.go
+++ /dev/null
@@ -1,129 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeparams
-
-import (
- "go/types"
-)
-
-// Free is a memoization of the set of free type parameters within a
-// type. It makes a sequence of calls to [Free.Has] for overlapping
-// types more efficient. The zero value is ready for use.
-//
-// NOTE: Adapted from go/types/infer.go. If it is later exported, factor.
-type Free struct {
- seen map[types.Type]bool
-}
-
-// Has reports whether the specified type has a free type parameter.
-func (w *Free) Has(typ types.Type) (res bool) {
- // detect cycles
- if x, ok := w.seen[typ]; ok {
- return x
- }
- if w.seen == nil {
- w.seen = make(map[types.Type]bool)
- }
- w.seen[typ] = false
- defer func() {
- w.seen[typ] = res
- }()
-
- switch t := typ.(type) {
- case nil, *types.Basic: // TODO(gri) should nil be handled here?
- break
-
- case *types.Alias:
- if t.TypeParams().Len() > t.TypeArgs().Len() {
- return true // This is an uninstantiated Alias.
- }
- // The expansion of an alias can have free type parameters,
- // whether or not the alias itself has type parameters:
- //
- // func _[K comparable]() {
- // type Set = map[K]bool // free(Set) = {K}
- // type MapTo[V] = map[K]V // free(Map[foo]) = {V}
- // }
- //
- // So, we must Unalias.
- return w.Has(types.Unalias(t))
-
- case *types.Array:
- return w.Has(t.Elem())
-
- case *types.Slice:
- return w.Has(t.Elem())
-
- case *types.Struct:
- for i, n := 0, t.NumFields(); i < n; i++ {
- if w.Has(t.Field(i).Type()) {
- return true
- }
- }
-
- case *types.Pointer:
- return w.Has(t.Elem())
-
- case *types.Tuple:
- n := t.Len()
- for i := range n {
- if w.Has(t.At(i).Type()) {
- return true
- }
- }
-
- case *types.Signature:
- // t.tparams may not be nil if we are looking at a signature
- // of a generic function type (or an interface method) that is
- // part of the type we're testing. We don't care about these type
- // parameters.
- // Similarly, the receiver of a method may declare (rather than
- // use) type parameters, we don't care about those either.
- // Thus, we only need to look at the input and result parameters.
- return w.Has(t.Params()) || w.Has(t.Results())
-
- case *types.Interface:
- for i, n := 0, t.NumMethods(); i < n; i++ {
- if w.Has(t.Method(i).Type()) {
- return true
- }
- }
- terms, err := InterfaceTermSet(t)
- if err != nil {
- return false // ill typed
- }
- for _, term := range terms {
- if w.Has(term.Type()) {
- return true
- }
- }
-
- case *types.Map:
- return w.Has(t.Key()) || w.Has(t.Elem())
-
- case *types.Chan:
- return w.Has(t.Elem())
-
- case *types.Named:
- args := t.TypeArgs()
- if params := t.TypeParams(); params.Len() > args.Len() {
- return true // this is an uninstantiated named type.
- }
- for i, n := 0, args.Len(); i < n; i++ {
- if w.Has(args.At(i)) {
- return true
- }
- }
- return w.Has(t.Underlying()) // recurse for types local to parameterized functions
-
- case *types.TypeParam:
- return true
-
- default:
- panic(t) // unreachable
- }
-
- return false
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/normalize.go b/vendor/golang.org/x/tools/internal/typeparams/normalize.go
deleted file mode 100644
index 8d13f1214..000000000
--- a/vendor/golang.org/x/tools/internal/typeparams/normalize.go
+++ /dev/null
@@ -1,216 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeparams
-
-import (
- "errors"
- "fmt"
- "go/types"
- "os"
- "strings"
-)
-
-//go:generate go run copytermlist.go
-
-const debug = false
-
-var ErrEmptyTypeSet = errors.New("empty type set")
-
-// StructuralTerms returns a slice of terms representing the normalized
-// structural type restrictions of a type parameter, if any.
-//
-// Structural type restrictions of a type parameter are created via
-// non-interface types embedded in its constraint interface (directly, or via a
-// chain of interface embeddings). For example, in the declaration
-//
-// type T[P interface{~int; m()}] int
-//
-// the structural restriction of the type parameter P is ~int.
-//
-// With interface embedding and unions, the specification of structural type
-// restrictions may be arbitrarily complex. For example, consider the
-// following:
-//
-// type A interface{ ~string|~[]byte }
-//
-// type B interface{ int|string }
-//
-// type C interface { ~string|~int }
-//
-// type T[P interface{ A|B; C }] int
-//
-// In this example, the structural type restriction of P is ~string|int: A|B
-// expands to ~string|~[]byte|int|string, which reduces to ~string|~[]byte|int,
-// which when intersected with C (~string|~int) yields ~string|int.
-//
-// StructuralTerms computes these expansions and reductions, producing a
-// "normalized" form of the embeddings. A structural restriction is normalized
-// if it is a single union containing no interface terms, and is minimal in the
-// sense that removing any term changes the set of types satisfying the
-// constraint. It is left as a proof for the reader that, modulo sorting, there
-// is exactly one such normalized form.
-//
-// Because the minimal representation always takes this form, StructuralTerms
-// returns a slice of tilde terms corresponding to the terms of the union in
-// the normalized structural restriction. An error is returned if the
-// constraint interface is invalid, exceeds complexity bounds, or has an empty
-// type set. In the latter case, StructuralTerms returns ErrEmptyTypeSet.
-//
-// StructuralTerms makes no guarantees about the order of terms, except that it
-// is deterministic.
-func StructuralTerms(tparam *types.TypeParam) ([]*types.Term, error) {
- constraint := tparam.Constraint()
- if constraint == nil {
- return nil, fmt.Errorf("%s has nil constraint", tparam)
- }
- iface, _ := constraint.Underlying().(*types.Interface)
- if iface == nil {
- return nil, fmt.Errorf("constraint is %T, not *types.Interface", constraint.Underlying())
- }
- return InterfaceTermSet(iface)
-}
-
-// InterfaceTermSet computes the normalized terms for a constraint interface,
-// returning an error if the term set cannot be computed or is empty. In the
-// latter case, the error will be ErrEmptyTypeSet.
-//
-// See the documentation of StructuralTerms for more information on
-// normalization.
-func InterfaceTermSet(iface *types.Interface) ([]*types.Term, error) {
- return computeTermSet(iface)
-}
-
-// UnionTermSet computes the normalized terms for a union, returning an error
-// if the term set cannot be computed or is empty. In the latter case, the
-// error will be ErrEmptyTypeSet.
-//
-// See the documentation of StructuralTerms for more information on
-// normalization.
-func UnionTermSet(union *types.Union) ([]*types.Term, error) {
- return computeTermSet(union)
-}
-
-func computeTermSet(typ types.Type) ([]*types.Term, error) {
- tset, err := computeTermSetInternal(typ, make(map[types.Type]*termSet), 0)
- if err != nil {
- return nil, err
- }
- if tset.terms.isEmpty() {
- return nil, ErrEmptyTypeSet
- }
- if tset.terms.isAll() {
- return nil, nil
- }
- var terms []*types.Term
- for _, term := range tset.terms {
- terms = append(terms, types.NewTerm(term.tilde, term.typ))
- }
- return terms, nil
-}
-
-// A termSet holds the normalized set of terms for a given type.
-//
-// The name termSet is intentionally distinct from 'type set': a type set is
-// all types that implement a type (and includes method restrictions), whereas
-// a term set just represents the structural restrictions on a type.
-type termSet struct {
- complete bool
- terms termlist
-}
-
-func indentf(depth int, format string, args ...any) {
- fmt.Fprintf(os.Stderr, strings.Repeat(".", depth)+format+"\n", args...)
-}
-
-func computeTermSetInternal(t types.Type, seen map[types.Type]*termSet, depth int) (res *termSet, err error) {
- if t == nil {
- panic("nil type")
- }
-
- if debug {
- indentf(depth, "%s", t.String())
- defer func() {
- if err != nil {
- indentf(depth, "=> %s", err)
- } else {
- indentf(depth, "=> %s", res.terms.String())
- }
- }()
- }
-
- const maxTermCount = 100
- if tset, ok := seen[t]; ok {
- if !tset.complete {
- return nil, fmt.Errorf("cycle detected in the declaration of %s", t)
- }
- return tset, nil
- }
-
- // Mark the current type as seen to avoid infinite recursion.
- tset := new(termSet)
- defer func() {
- tset.complete = true
- }()
- seen[t] = tset
-
- switch u := t.Underlying().(type) {
- case *types.Interface:
- // The term set of an interface is the intersection of the term sets of its
- // embedded types.
- tset.terms = allTermlist
- for embedded := range u.EmbeddedTypes() {
- if _, ok := embedded.Underlying().(*types.TypeParam); ok {
- return nil, fmt.Errorf("invalid embedded type %T", embedded)
- }
- tset2, err := computeTermSetInternal(embedded, seen, depth+1)
- if err != nil {
- return nil, err
- }
- tset.terms = tset.terms.intersect(tset2.terms)
- }
- case *types.Union:
- // The term set of a union is the union of term sets of its terms.
- tset.terms = nil
- for t := range u.Terms() {
- var terms termlist
- switch t.Type().Underlying().(type) {
- case *types.Interface:
- tset2, err := computeTermSetInternal(t.Type(), seen, depth+1)
- if err != nil {
- return nil, err
- }
- terms = tset2.terms
- case *types.TypeParam, *types.Union:
- // A stand-alone type parameter or union is not permitted as union
- // term.
- return nil, fmt.Errorf("invalid union term %T", t)
- default:
- if t.Type() == types.Typ[types.Invalid] {
- continue
- }
- terms = termlist{{t.Tilde(), t.Type()}}
- }
- tset.terms = tset.terms.union(terms)
- if len(tset.terms) > maxTermCount {
- return nil, fmt.Errorf("exceeded max term count %d", maxTermCount)
- }
- }
- case *types.TypeParam:
- panic("unreachable")
- default:
- // For all other types, the term set is just a single non-tilde term
- // holding the type itself.
- if u != types.Typ[types.Invalid] {
- tset.terms = termlist{{false, t}}
- }
- }
- return tset, nil
-}
-
-// under is a facade for the go/types internal function of the same name. It is
-// used by typeterm.go.
-func under(t types.Type) types.Type {
- return t.Underlying()
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/termlist.go b/vendor/golang.org/x/tools/internal/typeparams/termlist.go
deleted file mode 100644
index 9bc29143f..000000000
--- a/vendor/golang.org/x/tools/internal/typeparams/termlist.go
+++ /dev/null
@@ -1,169 +0,0 @@
-// Code generated by "go test -run=Generate -write=all"; DO NOT EDIT.
-// Source: ../../cmd/compile/internal/types2/termlist.go
-
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by copytermlist.go DO NOT EDIT.
-
-package typeparams
-
-import (
- "go/types"
- "strings"
-)
-
-// A termlist represents the type set represented by the union
-// t1 ∪ y2 ∪ ... tn of the type sets of the terms t1 to tn.
-// A termlist is in normal form if all terms are disjoint.
-// termlist operations don't require the operands to be in
-// normal form.
-type termlist []*term
-
-// allTermlist represents the set of all types.
-// It is in normal form.
-var allTermlist = termlist{new(term)}
-
-// termSep is the separator used between individual terms.
-const termSep = " | "
-
-// String prints the termlist exactly (without normalization).
-func (xl termlist) String() string {
- if len(xl) == 0 {
- return "∅"
- }
- var buf strings.Builder
- for i, x := range xl {
- if i > 0 {
- buf.WriteString(termSep)
- }
- buf.WriteString(x.String())
- }
- return buf.String()
-}
-
-// isEmpty reports whether the termlist xl represents the empty set of types.
-func (xl termlist) isEmpty() bool {
- // If there's a non-nil term, the entire list is not empty.
- // If the termlist is in normal form, this requires at most
- // one iteration.
- for _, x := range xl {
- if x != nil {
- return false
- }
- }
- return true
-}
-
-// isAll reports whether the termlist xl represents the set of all types.
-func (xl termlist) isAll() bool {
- // If there's a 𝓤 term, the entire list is 𝓤.
- // If the termlist is in normal form, this requires at most
- // one iteration.
- for _, x := range xl {
- if x != nil && x.typ == nil {
- return true
- }
- }
- return false
-}
-
-// norm returns the normal form of xl.
-func (xl termlist) norm() termlist {
- // Quadratic algorithm, but good enough for now.
- // TODO(gri) fix asymptotic performance
- used := make([]bool, len(xl))
- var rl termlist
- for i, xi := range xl {
- if xi == nil || used[i] {
- continue
- }
- for j := i + 1; j < len(xl); j++ {
- xj := xl[j]
- if xj == nil || used[j] {
- continue
- }
- if u1, u2 := xi.union(xj); u2 == nil {
- // If we encounter a 𝓤 term, the entire list is 𝓤.
- // Exit early.
- // (Note that this is not just an optimization;
- // if we continue, we may end up with a 𝓤 term
- // and other terms and the result would not be
- // in normal form.)
- if u1.typ == nil {
- return allTermlist
- }
- xi = u1
- used[j] = true // xj is now unioned into xi - ignore it in future iterations
- }
- }
- rl = append(rl, xi)
- }
- return rl
-}
-
-// union returns the union xl ∪ yl.
-func (xl termlist) union(yl termlist) termlist {
- return append(xl, yl...).norm()
-}
-
-// intersect returns the intersection xl ∩ yl.
-func (xl termlist) intersect(yl termlist) termlist {
- if xl.isEmpty() || yl.isEmpty() {
- return nil
- }
-
- // Quadratic algorithm, but good enough for now.
- // TODO(gri) fix asymptotic performance
- var rl termlist
- for _, x := range xl {
- for _, y := range yl {
- if r := x.intersect(y); r != nil {
- rl = append(rl, r)
- }
- }
- }
- return rl.norm()
-}
-
-// equal reports whether xl and yl represent the same type set.
-func (xl termlist) equal(yl termlist) bool {
- // TODO(gri) this should be more efficient
- return xl.subsetOf(yl) && yl.subsetOf(xl)
-}
-
-// includes reports whether t ∈ xl.
-func (xl termlist) includes(t types.Type) bool {
- for _, x := range xl {
- if x.includes(t) {
- return true
- }
- }
- return false
-}
-
-// supersetOf reports whether y ⊆ xl.
-func (xl termlist) supersetOf(y *term) bool {
- for _, x := range xl {
- if y.subsetOf(x) {
- return true
- }
- }
- return false
-}
-
-// subsetOf reports whether xl ⊆ yl.
-func (xl termlist) subsetOf(yl termlist) bool {
- if yl.isEmpty() {
- return xl.isEmpty()
- }
-
- // each term x of xl must be a subset of yl
- for _, x := range xl {
- if !yl.supersetOf(x) {
- return false // x is not a subset yl
- }
- }
- return true
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go b/vendor/golang.org/x/tools/internal/typeparams/typeterm.go
deleted file mode 100644
index fa758cdc9..000000000
--- a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go
+++ /dev/null
@@ -1,172 +0,0 @@
-// Code generated by "go test -run=Generate -write=all"; DO NOT EDIT.
-// Source: ../../cmd/compile/internal/types2/typeterm.go
-
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by copytermlist.go DO NOT EDIT.
-
-package typeparams
-
-import "go/types"
-
-// A term describes elementary type sets:
-//
-// ∅: (*term)(nil) == ∅ // set of no types (empty set)
-// 𝓤: &term{} == 𝓤 // set of all types (𝓤niverse)
-// T: &term{false, T} == {T} // set of type T
-// ~t: &term{true, t} == {t' | under(t') == t} // set of types with underlying type t
-type term struct {
- tilde bool // valid if typ != nil
- typ types.Type
-}
-
-func (x *term) String() string {
- switch {
- case x == nil:
- return "∅"
- case x.typ == nil:
- return "𝓤"
- case x.tilde:
- return "~" + x.typ.String()
- default:
- return x.typ.String()
- }
-}
-
-// equal reports whether x and y represent the same type set.
-func (x *term) equal(y *term) bool {
- // easy cases
- switch {
- case x == nil || y == nil:
- return x == y
- case x.typ == nil || y.typ == nil:
- return x.typ == y.typ
- }
- // ∅ ⊂ x, y ⊂ 𝓤
-
- return x.tilde == y.tilde && types.Identical(x.typ, y.typ)
-}
-
-// union returns the union x ∪ y: zero, one, or two non-nil terms.
-func (x *term) union(y *term) (_, _ *term) {
- // easy cases
- switch {
- case x == nil && y == nil:
- return nil, nil // ∅ ∪ ∅ == ∅
- case x == nil:
- return y, nil // ∅ ∪ y == y
- case y == nil:
- return x, nil // x ∪ ∅ == x
- case x.typ == nil:
- return x, nil // 𝓤 ∪ y == 𝓤
- case y.typ == nil:
- return y, nil // x ∪ 𝓤 == 𝓤
- }
- // ∅ ⊂ x, y ⊂ 𝓤
-
- if x.disjoint(y) {
- return x, y // x ∪ y == (x, y) if x ∩ y == ∅
- }
- // x.typ == y.typ
-
- // ~t ∪ ~t == ~t
- // ~t ∪ T == ~t
- // T ∪ ~t == ~t
- // T ∪ T == T
- if x.tilde || !y.tilde {
- return x, nil
- }
- return y, nil
-}
-
-// intersect returns the intersection x ∩ y.
-func (x *term) intersect(y *term) *term {
- // easy cases
- switch {
- case x == nil || y == nil:
- return nil // ∅ ∩ y == ∅ and ∩ ∅ == ∅
- case x.typ == nil:
- return y // 𝓤 ∩ y == y
- case y.typ == nil:
- return x // x ∩ 𝓤 == x
- }
- // ∅ ⊂ x, y ⊂ 𝓤
-
- if x.disjoint(y) {
- return nil // x ∩ y == ∅ if x ∩ y == ∅
- }
- // x.typ == y.typ
-
- // ~t ∩ ~t == ~t
- // ~t ∩ T == T
- // T ∩ ~t == T
- // T ∩ T == T
- if !x.tilde || y.tilde {
- return x
- }
- return y
-}
-
-// includes reports whether t ∈ x.
-func (x *term) includes(t types.Type) bool {
- // easy cases
- switch {
- case x == nil:
- return false // t ∈ ∅ == false
- case x.typ == nil:
- return true // t ∈ 𝓤 == true
- }
- // ∅ ⊂ x ⊂ 𝓤
-
- u := t
- if x.tilde {
- u = under(u)
- }
- return types.Identical(x.typ, u)
-}
-
-// subsetOf reports whether x ⊆ y.
-func (x *term) subsetOf(y *term) bool {
- // easy cases
- switch {
- case x == nil:
- return true // ∅ ⊆ y == true
- case y == nil:
- return false // x ⊆ ∅ == false since x != ∅
- case y.typ == nil:
- return true // x ⊆ 𝓤 == true
- case x.typ == nil:
- return false // 𝓤 ⊆ y == false since y != 𝓤
- }
- // ∅ ⊂ x, y ⊂ 𝓤
-
- if x.disjoint(y) {
- return false // x ⊆ y == false if x ∩ y == ∅
- }
- // x.typ == y.typ
-
- // ~t ⊆ ~t == true
- // ~t ⊆ T == false
- // T ⊆ ~t == true
- // T ⊆ T == true
- return !x.tilde || y.tilde
-}
-
-// disjoint reports whether x ∩ y == ∅.
-// x.typ and y.typ must not be nil.
-func (x *term) disjoint(y *term) bool {
- if debug && (x.typ == nil || y.typ == nil) {
- panic("invalid argument(s)")
- }
- ux := x.typ
- if y.tilde {
- ux = under(ux)
- }
- uy := y.typ
- if x.tilde {
- uy = under(uy)
- }
- return !types.Identical(ux, uy)
-}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/assignedaddress.go b/vendor/golang.org/x/tools/internal/typesinternal/assignedaddress.go
new file mode 100644
index 000000000..4b5d488a0
--- /dev/null
+++ b/vendor/golang.org/x/tools/internal/typesinternal/assignedaddress.go
@@ -0,0 +1,128 @@
+// Copyright 2026 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package typesinternal
+
+import (
+ "go/ast"
+ "go/token"
+ "go/types"
+
+ "golang.org/x/tools/go/ast/edge"
+ "golang.org/x/tools/go/ast/inspector"
+)
+
+// IsAssignedOrAddressTaken reports whether the expression cur denotes a
+// variable and appears in a context that assigns it or that takes its address,
+// potentially leading to indirect assignment.
+//
+// These examples cause IsAssignedOrAddressTaken on the identifier for x to
+// return true:
+//
+// x = 1
+// x++
+// x[i] = 1 (assume x is an array)
+// x.a[i] = 1 (assume x.a is a non-pointer struct field)
+// use(&x)
+//
+// whereas these cause it to return false:
+//
+// y = x
+// f(x)
+// use(x.a[i])
+// use(*x)
+//
+// The expression may itself be a compound, for example:
+//
+// use(&(*ptr)) => IsAssignedOrAddressTaken("*ptr") = true
+// x.a[i] = 1 => IsAssignedOrAddressTaken("x.a") = true
+// _ = x.a[i] => IsAssignedOrAddressTaken("x.a") = false
+//
+// A variable's declaration is not considered to be an assignment:
+//
+// var x int => IsAssignedOrAddressTaken(x) = false
+// x := 1 => IsAssignedOrAddressTaken(x) = false
+//
+// TODO(adonovan): revisit the surprising behavior for declarations.
+func IsAssignedOrAddressTaken(info *types.Info, cur inspector.Cursor) bool {
+ // Unfortunately we can't simply use info.Types[e].Assignable()
+ // as it is always true for a variable even when that variable is
+ // used only as an r-value. So we must inspect enclosing syntax.
+outer:
+ // Ascend to outermost aggregate of which
+ // original cur is a part:
+ // x -> (x) | x.f | x[i] | x[i:j]
+ for cur = range cur.Enclosing() {
+ switch cur.ParentEdgeKind() {
+ case edge.ParenExpr_X:
+ // If x is an lvalue, then (x) is an lvalue.
+ case edge.SelectorExpr_X:
+ // If x is an lvalue, then x.f is an lvalue iff
+ // the selection does not traverse a pointer.
+ sel := cur.Parent().Node().(*ast.SelectorExpr)
+ if seln, ok := info.Selections[sel]; ok {
+ // Note: there is a bug in Indirect() where it spuriously returns true
+ // when both the selection receiver and parameter are pointers. However,
+ // it's okay in this case because there is no address taken when a
+ // pointer receiver method is called on a pointer type.
+ if seln.Indirect() {
+ return false
+ }
+ if seln.Kind() == types.MethodVal {
+ sig := seln.Obj().Type().(*types.Signature)
+ if is[*types.Pointer](sig.Recv().Type().Underlying()) {
+ t := seln.Recv()
+ // The receiver may be an embedded field, so we need
+ // to get the inner-most type (right before the method
+ // call in seln.Index())
+ for field := range ImplicitFieldSelections(seln) {
+ t = field.Type()
+ }
+ if !is[*types.Pointer](t.Underlying()) {
+ return true // takes address of receiver
+ }
+ }
+ return false
+ }
+ }
+ case edge.IndexExpr_X, edge.SliceExpr_X:
+ // If x[i] or x[i:j] is an lvalue,
+ // then x is an lvalue iff x is an array.
+ if !is[*types.Array](info.TypeOf(cur.Node().(ast.Expr)).Underlying()) {
+ return false
+ }
+ default:
+ break outer
+ }
+ }
+ switch cur.ParentEdgeKind() {
+ case edge.AssignStmt_Lhs:
+ assign := cur.Parent().Node().(*ast.AssignStmt)
+ if assign.Tok != token.DEFINE {
+ return true // x = j or x += j
+ }
+ id := cur.Node().(*ast.Ident)
+ // Re-assigned identifiers are recorded in the Uses map.
+ if _, ok := info.Uses[id]; ok {
+ return true // reassignment of x (x, y := 1, 2)
+ }
+ case edge.RangeStmt_Key, edge.RangeStmt_Value:
+ rng := cur.Parent().Node().(*ast.RangeStmt)
+ if rng.Tok == token.ASSIGN {
+ return true // "for k, v = range x" is like an AssignStmt to k, v
+ }
+ case edge.IncDecStmt_X:
+ return true // x++, x--
+ case edge.UnaryExpr_X:
+ if cur.Parent().Node().(*ast.UnaryExpr).Op == token.AND {
+ return true // &x
+ }
+ }
+ return false
+}
+
+func is[T any](x any) bool {
+ _, ok := x.(T)
+ return ok
+}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go b/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go
index 7ebe9768b..d5c40a2e5 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go
@@ -8,7 +8,6 @@ import (
"fmt"
"go/ast"
"go/types"
- _ "unsafe" // for go:linkname hack
)
// CallKind describes the function position of an [*ast.CallExpr].
@@ -72,11 +71,15 @@ func ClassifyCall(info *types.Info, call *ast.CallExpr) CallKind {
if tv.IsBuiltin() {
return CallBuiltin
}
- obj := info.Uses[UsedIdent(info, call.Fun)]
+ id := UsedIdent(info, call.Fun)
+ if id == nil {
+ return CallDynamic
+ }
+ obj := info.Uses[id]
// Classify the call by the type of the object, if any.
switch obj := obj.(type) {
case *types.Func:
- if interfaceMethod(obj) {
+ if isInterfaceMethod(obj) {
return CallInterface
}
return CallStatic
@@ -127,11 +130,69 @@ func ClassifyCall(info *types.Info, call *ast.CallExpr) CallKind {
// Note: if e is an instantiated function or method, UsedIdent returns
// the corresponding generic function or method on the generic type.
func UsedIdent(info *types.Info, e ast.Expr) *ast.Ident {
- return usedIdent(info, e)
+ if info.Types == nil || info.Uses == nil {
+ panic("one of info.Types or info.Uses is nil; both must be populated")
+ }
+ // Look through type instantiation if necessary.
+ switch d := ast.Unparen(e).(type) {
+ case *ast.IndexExpr:
+ if info.Types[d.Index].IsType() {
+ e = d.X
+ }
+ case *ast.IndexListExpr:
+ e = d.X
+ }
+
+ switch e := ast.Unparen(e).(type) {
+ // info.Uses always has the object we want, even for selector expressions.
+ // We don't need info.Selections.
+ // See go/types/recording.go:recordSelection.
+ case *ast.Ident:
+ return e
+ case *ast.SelectorExpr:
+ return e.Sel
+ }
+ return nil
+}
+
+// See [golang.org/x/tools/go/types/typeutil.Callee].
+func Callee(info *types.Info, call *ast.CallExpr) types.Object {
+ id := UsedIdent(info, call.Fun)
+ if id == nil {
+ return nil
+ }
+ obj := info.Uses[id]
+ if obj == nil {
+ return nil
+ }
+ if _, ok := obj.(*types.TypeName); ok {
+ return nil
+ }
+ if fn, ok := obj.(*types.Func); ok {
+ return fn.Origin()
+ }
+ return obj
}
-//go:linkname usedIdent golang.org/x/tools/go/types/typeutil.usedIdent
-func usedIdent(info *types.Info, e ast.Expr) *ast.Ident
+// See [golang.org/x/tools/go/types/typeutil.StaticCallee].
+func StaticCallee(info *types.Info, call *ast.CallExpr) *types.Func {
+ id := UsedIdent(info, call.Fun)
+ if id == nil {
+ return nil
+ }
+ obj := info.Uses[id]
+ if obj == nil {
+ return nil
+ }
+ fn, _ := obj.(*types.Func)
+ if fn == nil || isInterfaceMethod(fn) {
+ return nil
+ }
+ return fn.Origin()
+}
-//go:linkname interfaceMethod golang.org/x/tools/go/types/typeutil.interfaceMethod
-func interfaceMethod(f *types.Func) bool
+// isInterfaceMethod reports whether its argument is a method of an interface.
+func isInterfaceMethod(f *types.Func) bool {
+ recv := f.Signature().Recv()
+ return recv != nil && types.IsInterface(recv.Type())
+}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/element.go b/vendor/golang.org/x/tools/internal/typesinternal/element.go
index 5fe4d8abc..bab37fbfe 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/element.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/element.go
@@ -7,8 +7,6 @@ package typesinternal
import (
"fmt"
"go/types"
-
- "golang.org/x/tools/go/types/typeutil"
)
// ForEachElement calls f for type T and each type reachable from its
@@ -16,27 +14,30 @@ import (
// type constructors; in addition, for each named type N, the type *N
// is added to the result as it may have additional methods.
//
-// The caller must provide an initially empty set used to de-duplicate
-// identical types, potentially across multiple calls to ForEachElement.
-// (Its final value holds all the elements seen, matching the arguments
-// passed to f.)
+// The access argument passed to f indicates whether the type is
+// inaccessible to reflection (for example, intermediate tuple types
+// or underlying types of named types).
//
-// TODO(adonovan): share/harmonize with go/callgraph/rta.
-func ForEachElement(rtypes *typeutil.Map, msets *typeutil.MethodSetCache, T types.Type, f func(types.Type)) {
- var visit func(T types.Type, skip bool)
- visit = func(T types.Type, skip bool) {
- if !skip {
- if seen, _ := rtypes.Set(T, true).(bool); seen {
- return // de-dup
- }
-
- f(T) // notify caller of new element type
+// The result of f indicates whether the caller has seen this type
+// already, so we can prune the traversal.
+//
+// methodSetOf abstracts (*typeutil.MethodSetCache).MethodSet,
+// avoiding an import cycle.
+func ForEachElement(methodSetOf func(types.Type) *types.MethodSet, T types.Type, f func(T types.Type, access bool) bool) {
+ var visit func(T types.Type, access bool)
+ visit = func(T types.Type, access bool) {
+ if f(T, access) {
+ return // duplicate; prune descent
}
// Recursion over signatures of each method.
- tmset := msets.MethodSet(T)
+ tmset := methodSetOf(T)
for method := range tmset.Methods() {
sig := method.Type().(*types.Signature)
+ if sig.TypeParams() != nil {
+ continue // skip type-parameterized methods
+ }
+
// It is tempting to call visit(sig, false)
// but, as noted in golang.org/cl/65450043,
// the Signature.Recv field is ignored by
@@ -61,13 +62,13 @@ func ForEachElement(rtypes *typeutil.Map, msets *typeutil.MethodSetCache, T type
//
// TODO(adonovan): document whether or not it is
// safe to skip non-exported methods (as RTA does).
- visit(sig.Params(), true) // skip the Tuple
- visit(sig.Results(), true) // skip the Tuple
+ visit(sig.Params(), false) // the Tuple is inaccessible
+ visit(sig.Results(), false) // the Tuple is inaccessible
}
switch T := T.(type) {
case *types.Alias:
- visit(types.Unalias(T), skip) // emulates the pre-Alias behavior
+ visit(types.Unalias(T), access) // emulates the pre-Alias behavior
case *types.Basic:
// nop
@@ -76,58 +77,58 @@ func ForEachElement(rtypes *typeutil.Map, msets *typeutil.MethodSetCache, T type
// nop---handled by recursion over method set.
case *types.Pointer:
- visit(T.Elem(), false)
+ visit(T.Elem(), true)
case *types.Slice:
- visit(T.Elem(), false)
+ visit(T.Elem(), true)
case *types.Chan:
- visit(T.Elem(), false)
+ visit(T.Elem(), true)
case *types.Map:
- visit(T.Key(), false)
- visit(T.Elem(), false)
+ visit(T.Key(), true)
+ visit(T.Elem(), true)
case *types.Signature:
if T.Recv() != nil {
panic(fmt.Sprintf("Signature %s has Recv %s", T, T.Recv()))
}
- visit(T.Params(), true) // skip the Tuple
- visit(T.Results(), true) // skip the Tuple
+ visit(T.Params(), false) // the Tuple is inaccessible
+ visit(T.Results(), false) // the Tuple is inaccessible
case *types.Named:
// A pointer-to-named type can be derived from a named
// type via reflection. It may have methods too.
- visit(types.NewPointer(T), false)
+ visit(types.NewPointer(T), true)
// Consider 'type T struct{S}' where S has methods.
// Reflection provides no way to get from T to struct{S},
// only to S, so the method set of struct{S} is unwanted,
- // so set 'skip' flag during recursion.
- visit(T.Underlying(), true) // skip the unnamed type
+ // so mark it inaccessible during recursion.
+ visit(T.Underlying(), false) // skip the unnamed type
case *types.Array:
- visit(T.Elem(), false)
+ visit(T.Elem(), true)
case *types.Struct:
for i, n := 0, T.NumFields(); i < n; i++ {
// TODO(adonovan): document whether or not
// it is safe to skip non-exported fields.
- visit(T.Field(i).Type(), false)
+ visit(T.Field(i).Type(), true)
}
case *types.Tuple:
for i, n := 0, T.Len(); i < n; i++ {
- visit(T.At(i).Type(), false)
+ visit(T.At(i).Type(), true)
}
case *types.TypeParam, *types.Union:
// forEachReachable must not be called on parameterized types.
- panic(T)
+ panic(fmt.Sprintf("ForEachElement called on type containing %T", T))
default:
- panic(T)
+ panic(fmt.Sprintf("ForEachElement called on unexpected type %T", T))
}
}
- visit(T, false)
+ visit(T, true)
}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/isnamed.go b/vendor/golang.org/x/tools/internal/typesinternal/isnamed.go
index e0d63c46c..9af27f80b 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/isnamed.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/isnamed.go
@@ -60,12 +60,10 @@ func IsFunctionNamed(obj types.Object, pkgPath string, names ...string) bool {
// which is important for the performance of syntax matching.
func IsMethodNamed(obj types.Object, pkgPath string, typeName string, names ...string) bool {
if fn, ok := obj.(*types.Func); ok {
- if recv := fn.Signature().Recv(); recv != nil {
- _, T := ReceiverNamed(recv)
- return T != nil &&
- IsTypeNamed(T, pkgPath, typeName) &&
- slices.Contains(names, fn.Name())
- }
+ _, T := RecvBase(fn)
+ return T != nil &&
+ IsTypeNamed(T, pkgPath, typeName) &&
+ slices.Contains(names, fn.Name())
}
return false
}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/recv.go b/vendor/golang.org/x/tools/internal/typesinternal/recv.go
index 8352ea761..564e93b10 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/recv.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/recv.go
@@ -8,19 +8,32 @@ import (
"go/types"
)
-// ReceiverNamed returns the named type (if any) associated with the
-// type of recv, which may be of the form N or *N, or aliases thereof.
-// It also reports whether a Pointer was present.
+// RecvBase returns the receiver base type (if any) of the method fn,
+// and reports whether the receiver is a pointer to it.
//
-// The named result may be nil if recv is from a method on an
-// anonymous interface or struct types or in ill-typed code.
-func ReceiverNamed(recv *types.Var) (isPtr bool, named *types.Named) {
- t := recv.Type()
- if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
- isPtr = true
- t = ptr.Elem()
+// The spec says of a method declaration: the receiver's "type must be
+// a defined type T or a pointer to a defined type T, possibly followed
+// by a list of type parameter names [P1, P2, …] enclosed in square
+// brackets. T is called the receiver base type."
+//
+// The named result is nil if fn is not a method, or if its receiver
+// is an anonymous interface or struct type, as in interface{ f() }.
+//
+// TODO(adonovan): go.dev/issue/81715 proposes this as a method of *types.Func.
+func RecvBase(fn *types.Func) (isPtr bool, named *types.Named) {
+ // The boolean result appears first to
+ // avoid misinterpretation as an 'ok'
+ // bool, and because that's the natural
+ // reading order in "*Named".
+
+ if recv := fn.Signature().Recv(); recv != nil {
+ t := recv.Type()
+ if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
+ isPtr = true
+ t = ptr.Elem()
+ }
+ named, _ = types.Unalias(t).(*types.Named)
}
- named, _ = types.Unalias(t).(*types.Named)
return
}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/toonew.go b/vendor/golang.org/x/tools/internal/typesinternal/toonew.go
index cc86487ea..386c59c74 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/toonew.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/toonew.go
@@ -13,20 +13,30 @@ import (
// TooNewStdSymbols computes the set of package-level symbols
// exported by pkg that are not available at the specified version.
-// The result maps each symbol to its minimum version.
//
// The pkg is allowed to contain type errors.
-func TooNewStdSymbols(pkg *types.Package, version string) map[types.Object]string {
- disallowed := make(map[types.Object]string)
+func TooNewStdSymbols(pkg *types.Package, version string) map[types.Object]stdlib.Symbol {
+ disallowed := make(map[types.Object]stdlib.Symbol)
+
+ // Some symbols are accessible before their release but
+ // only with specific build tags unknown to us here.
+ // Avoid false positives in such cases.
+ if pkg.Path() == "testing/synctest" && versions.AtLeast(version, "go1.24") {
+ // requires go1.24 && goexperiment.synctest || go1.25
+ return disallowed
+ }
+ if (pkg.Path() == "encoding/json/v2" || pkg.Path() == "encoding/json/jsontext") && versions.AtLeast(version, "go1.25") {
+ // requires go1.25 && goexperiment.jsonv2 || go1.27
+ return disallowed
+ }
// Pass 1: package-level symbols.
symbols := stdlib.PackageSymbols[pkg.Path()]
for _, sym := range symbols {
- symver := sym.Version.String()
- if versions.Before(version, symver) {
+ if versions.Before(version, sym.Version.String()) {
switch sym.Kind {
case stdlib.Func, stdlib.Var, stdlib.Const, stdlib.Type:
- disallowed[pkg.Scope().Lookup(sym.Name)] = symver
+ disallowed[pkg.Scope().Lookup(sym.Name)] = sym
}
}
}
@@ -60,28 +70,36 @@ func TooNewStdSymbols(pkg *types.Package, version string) map[types.Object]strin
// spuriously cause the analyzer to report a reference to a
// too-new symbol even though this expression compiles just
// fine (with the fake implementation) using go1.21.
+ var noSym stdlib.Symbol
+ depth := make(map[types.Object]int)
for _, sym := range symbols {
- symVersion := sym.Version.String()
- if !versions.Before(version, symVersion) {
+ if !versions.Before(version, sym.Version.String()) {
continue // allowed
}
var obj types.Object
+ var indices []int
switch sym.Kind {
case stdlib.Field:
typename, name := sym.SplitField()
- if t := pkg.Scope().Lookup(typename); t != nil && disallowed[t] == "" {
- obj, _, _ = types.LookupFieldOrMethod(t.Type(), false, pkg, name)
+ if t := pkg.Scope().Lookup(typename); t != nil && disallowed[t] == noSym {
+ obj, indices, _ = types.LookupFieldOrMethod(t.Type(), false, pkg, name)
}
case stdlib.Method:
ptr, recvname, name := sym.SplitMethod()
- if t := pkg.Scope().Lookup(recvname); t != nil && disallowed[t] == "" {
- obj, _, _ = types.LookupFieldOrMethod(t.Type(), ptr, pkg, name)
+ if t := pkg.Scope().Lookup(recvname); t != nil && disallowed[t] == noSym {
+ obj, indices, _ = types.LookupFieldOrMethod(t.Type(), ptr, pkg, name)
}
}
if obj != nil {
- disallowed[obj] = symVersion
+ // In the presence of embedding, two or more "pkg.T.name"
+ // strings may map to the same types.Object.
+ // Prefer the Object with the shorter index path.
+ if min, ok := depth[obj]; !ok || len(indices) < min {
+ depth[obj] = len(indices)
+ disallowed[obj] = sym
+ }
}
}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/types.go b/vendor/golang.org/x/tools/internal/typesinternal/types.go
index 7112318fc..3d9dc04d4 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/types.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/types.go
@@ -9,7 +9,7 @@
// - functions for converting types to strings or syntax (e.g. [TypeExpr], FileQualifier]);
// - helpers for working with the [go/types] API (e.g. [NewTypesInfo]);
// - access to internal go/types APIs that are not yet
-// exported (e.g. [SetUsesCgo], [ErrorCodeStartEnd], [VarKind]); and
+// exported (e.g. [SetUsesCgo], [ErrorCodeStartEnd]); and
// - common algorithms related to types (e.g. [TooNewStdSymbols]).
//
// See also:
@@ -22,6 +22,7 @@ import (
"go/ast"
"go/token"
"go/types"
+ "iter"
"reflect"
"golang.org/x/tools/go/ast/inspector"
@@ -194,3 +195,88 @@ func Imports(pkg *types.Package, path string) bool {
}
return false
}
+
+// ObjectKind returns a description of the object's kind.
+//
+// from objectKind in go/types
+func ObjectKind(obj types.Object) string {
+ switch obj := obj.(type) {
+ case *types.PkgName:
+ return "package name"
+ case *types.Const:
+ return "constant"
+ case *types.TypeName:
+ if obj.IsAlias() {
+ return "type alias"
+ } else if _, ok := obj.Type().(*types.TypeParam); ok {
+ return "type parameter"
+ } else {
+ return "defined type"
+ }
+ case *types.Var:
+ switch obj.Kind() {
+ case types.PackageVar:
+ return "package-level variable"
+ case types.LocalVar:
+ return "local variable"
+ case types.RecvVar:
+ return "receiver"
+ case types.ParamVar:
+ return "parameter"
+ case types.ResultVar:
+ return "result variable"
+ case types.FieldVar:
+ return "struct field"
+ }
+ case *types.Func:
+ if obj.Signature().Recv() != nil {
+ return "method"
+ } else {
+ return "function"
+ }
+ case *types.Label:
+ return "label"
+ case *types.Builtin:
+ return "built-in function"
+ case *types.Nil:
+ return "untyped nil"
+ }
+ return "unknown symbol"
+}
+
+// ImplicitFieldSelections returns the sequence of implicit embedded fields
+// traversed by the given selection. It skips the final leaf field or method.
+// The boolean component indicates whether the traversal traversed a pointer.
+func ImplicitFieldSelections(seln *types.Selection) iter.Seq2[*types.Var, bool] {
+ return func(yield func(*types.Var, bool) bool) {
+ var (
+ t = seln.Recv()
+ indices = seln.Index()
+ )
+ for _, idx := range indices[:len(indices)-1] {
+ ptr, isPtr := t.Underlying().(*types.Pointer)
+ if isPtr {
+ t = ptr.Elem()
+ }
+ structType, ok := t.Underlying().(*types.Struct)
+ if !ok {
+ break
+ }
+ field := structType.Field(idx)
+ if !yield(field, isPtr) {
+ break
+ }
+ t = field.Type()
+ }
+ }
+}
+
+// TupleOf returns a tuple type with the specified list of (unnamed)
+// var types. Neither the zero nor one cases are special.
+func TupleOf(elems ...types.Type) *types.Tuple {
+ params := make([]*types.Var, len(elems))
+ for i, elem := range elems {
+ params[i] = types.NewParam(token.NoPos, nil, "", elem)
+ }
+ return types.NewTuple(params...)
+}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/varkind.go b/vendor/golang.org/x/tools/internal/typesinternal/varkind.go
deleted file mode 100644
index 26499cdd2..000000000
--- a/vendor/golang.org/x/tools/internal/typesinternal/varkind.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build go1.25
-
-package typesinternal
-
-import "go/types"
-
-type VarKind = types.VarKind
-
-const (
- PackageVar = types.PackageVar
- LocalVar = types.LocalVar
- RecvVar = types.RecvVar
- ParamVar = types.ParamVar
- ResultVar = types.ResultVar
- FieldVar = types.FieldVar
-)
-
-func GetVarKind(v *types.Var) VarKind { return v.Kind() }
-func SetVarKind(v *types.Var, kind VarKind) { v.SetKind(kind) }
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/varkind_go124.go b/vendor/golang.org/x/tools/internal/typesinternal/varkind_go124.go
deleted file mode 100644
index 17b1804b4..000000000
--- a/vendor/golang.org/x/tools/internal/typesinternal/varkind_go124.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !go1.25
-
-package typesinternal
-
-import "go/types"
-
-type VarKind uint8
-
-const (
- _ VarKind = iota // (not meaningful)
- PackageVar // a package-level variable
- LocalVar // a local variable
- RecvVar // a method receiver variable
- ParamVar // a function parameter variable
- ResultVar // a function result variable
- FieldVar // a struct field
-)
-
-func (kind VarKind) String() string {
- return [...]string{
- 0: "VarKind(0)",
- PackageVar: "PackageVar",
- LocalVar: "LocalVar",
- RecvVar: "RecvVar",
- ParamVar: "ParamVar",
- ResultVar: "ResultVar",
- FieldVar: "FieldVar",
- }[kind]
-}
-
-// GetVarKind returns an invalid VarKind.
-func GetVarKind(v *types.Var) VarKind { return 0 }
-
-// SetVarKind has no effect.
-func SetVarKind(v *types.Var, kind VarKind) {}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go b/vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go
index d612a7102..706ad33ef 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go
@@ -259,13 +259,13 @@ func TypeExpr(t types.Type, qual types.Qualifier) ast.Expr {
case *types.Signature:
var params []*ast.Field
for v := range t.Params().Variables() {
+ var names []*ast.Ident
+ if v.Name() != "" {
+ names = []*ast.Ident{ast.NewIdent(v.Name())}
+ }
params = append(params, &ast.Field{
- Type: TypeExpr(v.Type(), qual),
- Names: []*ast.Ident{
- {
- Name: v.Name(),
- },
- },
+ Type: TypeExpr(v.Type(), qual),
+ Names: names,
})
}
if t.Variadic() {
@@ -328,10 +328,10 @@ func TypeExpr(t types.Type, qual types.Qualifier) ast.Expr {
return expr
case *types.Struct:
- return ast.NewIdent(t.String())
+ return ast.NewIdent(types.TypeString(t, qual))
case *types.Interface:
- return ast.NewIdent(t.String())
+ return ast.NewIdent(types.TypeString(t, qual))
case *types.Union:
if t.Len() == 0 {
diff --git a/vendor/golang.org/x/tools/internal/versions/features.go b/vendor/golang.org/x/tools/internal/versions/features.go
index cdd36c388..360a5b552 100644
--- a/vendor/golang.org/x/tools/internal/versions/features.go
+++ b/vendor/golang.org/x/tools/internal/versions/features.go
@@ -19,6 +19,7 @@ const (
Go1_24 = "go1.24"
Go1_25 = "go1.25"
Go1_26 = "go1.26"
+ Go1_27 = "go1.27"
)
// Future is an invalid unknown Go version sometime in the future.
diff --git a/vendor/google.golang.org/api/compute/v1/compute-api.json b/vendor/google.golang.org/api/compute/v1/compute-api.json
index 1a0ae94b4..5608de07b 100644
--- a/vendor/google.golang.org/api/compute/v1/compute-api.json
+++ b/vendor/google.golang.org/api/compute/v1/compute-api.json
@@ -29,6 +29,223 @@
"description": "Creates and runs virtual machines on Google Cloud Platform.",
"discoveryVersion": "v1",
"documentationLink": "https://cloud.google.com/compute/",
+ "endpoints": [
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.africa-south1.rep.googleapis.com/",
+ "location": "africa-south1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-east1.rep.googleapis.com/",
+ "location": "asia-east1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-east2.rep.googleapis.com/",
+ "location": "asia-east2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-northeast1.rep.googleapis.com/",
+ "location": "asia-northeast1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-northeast2.rep.googleapis.com/",
+ "location": "asia-northeast2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-northeast3.rep.googleapis.com/",
+ "location": "asia-northeast3"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-south1.rep.googleapis.com/",
+ "location": "asia-south1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-south2.rep.googleapis.com/",
+ "location": "asia-south2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-southeast1.rep.googleapis.com/",
+ "location": "asia-southeast1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-southeast2.rep.googleapis.com/",
+ "location": "asia-southeast2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.asia-southeast3.rep.googleapis.com/",
+ "location": "asia-southeast3"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.australia-southeast1.rep.googleapis.com/",
+ "location": "australia-southeast1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.australia-southeast2.rep.googleapis.com/",
+ "location": "australia-southeast2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-central2.rep.googleapis.com/",
+ "location": "europe-central2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-north1.rep.googleapis.com/",
+ "location": "europe-north1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-north2.rep.googleapis.com/",
+ "location": "europe-north2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-southwest1.rep.googleapis.com/",
+ "location": "europe-southwest1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west1.rep.googleapis.com/",
+ "location": "europe-west1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west10.rep.googleapis.com/",
+ "location": "europe-west10"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west12.rep.googleapis.com/",
+ "location": "europe-west12"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west2.rep.googleapis.com/",
+ "location": "europe-west2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west3.rep.googleapis.com/",
+ "location": "europe-west3"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west4.rep.googleapis.com/",
+ "location": "europe-west4"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west6.rep.googleapis.com/",
+ "location": "europe-west6"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west8.rep.googleapis.com/",
+ "location": "europe-west8"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.europe-west9.rep.googleapis.com/",
+ "location": "europe-west9"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.me-central1.rep.googleapis.com/",
+ "location": "me-central1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.me-central2.rep.googleapis.com/",
+ "location": "me-central2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.me-west1.rep.googleapis.com/",
+ "location": "me-west1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.northamerica-northeast1.rep.googleapis.com/",
+ "location": "northamerica-northeast1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.northamerica-northeast2.rep.googleapis.com/",
+ "location": "northamerica-northeast2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.northamerica-south1.rep.googleapis.com/",
+ "location": "northamerica-south1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.southamerica-east1.rep.googleapis.com/",
+ "location": "southamerica-east1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.southamerica-west1.rep.googleapis.com/",
+ "location": "southamerica-west1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-central1.rep.googleapis.com/",
+ "location": "us-central1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-east1.rep.googleapis.com/",
+ "location": "us-east1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-east4.rep.googleapis.com/",
+ "location": "us-east4"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-east5.rep.googleapis.com/",
+ "location": "us-east5"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-south1.rep.googleapis.com/",
+ "location": "us-south1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-west1.rep.googleapis.com/",
+ "location": "us-west1"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-west2.rep.googleapis.com/",
+ "location": "us-west2"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-west3.rep.googleapis.com/",
+ "location": "us-west3"
+ },
+ {
+ "description": "Regional Endpoint",
+ "endpointUrl": "https://compute.us-west4.rep.googleapis.com/",
+ "location": "us-west4"
+ }
+ ],
"icons": {
"x16": "https://www.google.com/images/icons/product/compute_engine-16.png",
"x32": "https://www.google.com/images/icons/product/compute_engine-32.png"
@@ -126,6 +343,7 @@
"acceleratorTypes": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of accelerator types.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/acceleratorTypes",
"httpMethod": "GET",
@@ -169,11 +387,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -192,6 +405,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified accelerator type.",
"flatPath": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}",
"httpMethod": "GET",
@@ -235,6 +449,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of accelerator types that are available to the specified\nproject.",
"flatPath": "projects/{project}/zones/{zone}/acceleratorTypes",
"httpMethod": "GET",
@@ -274,11 +489,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -302,6 +512,7 @@
"addresses": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of addresses.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/addresses",
"httpMethod": "GET",
@@ -345,11 +556,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -368,6 +574,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified address resource.",
"flatPath": "projects/{project}/regions/{region}/addresses/{address}",
"httpMethod": "DELETE",
@@ -415,6 +622,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified address resource.",
"flatPath": "projects/{project}/regions/{region}/addresses/{address}",
"httpMethod": "GET",
@@ -458,6 +666,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an address resource in the specified project by using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/addresses",
"httpMethod": "POST",
@@ -500,6 +709,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of addresses contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/addresses",
"httpMethod": "GET",
@@ -545,11 +755,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/addresses",
@@ -563,6 +768,7 @@
]
},
"move": {
+ "apiVersion": "2026-09-01",
"description": "Moves the specified address resource.",
"flatPath": "projects/{project}/regions/{region}/addresses/{address}/move",
"httpMethod": "POST",
@@ -613,6 +819,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on an Address. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/regions/{region}/addresses/{resource}/setLabels",
"httpMethod": "POST",
@@ -663,6 +870,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/addresses/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -713,6 +921,7 @@
"advice": {
"methods": {
"calendarMode": {
+ "apiVersion": "2026-09-01",
"description": "Advise how, where and when to create the requested amount of instances\nwith specified accelerators, within the specified time and location limits.\nThe method recommends creating future reservations for the requested\nresources.",
"flatPath": "projects/{project}/regions/{region}/advice/calendarMode",
"httpMethod": "POST",
@@ -748,12 +957,89 @@
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"
]
+ },
+ "capacity": {
+ "apiVersion": "2026-09-01",
+ "description": "Advice on making real-time decisions (such as choosing zone or\nmachine types) during deployment to maximize your chances of obtaining\ncapacity.",
+ "flatPath": "projects/{project}/regions/{region}/advice/capacity",
+ "httpMethod": "POST",
+ "id": "compute.advice.capacity",
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/advice/capacity",
+ "request": {
+ "$ref": "CapacityAdviceRequest"
+ },
+ "response": {
+ "$ref": "CapacityAdviceResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "capacityHistory": {
+ "apiVersion": "2026-09-01",
+ "description": "Gets the capacity history.",
+ "flatPath": "projects/{project}/regions/{region}/advice/capacityHistory",
+ "httpMethod": "POST",
+ "id": "compute.advice.capacityHistory",
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/advice/capacityHistory",
+ "request": {
+ "$ref": "CapacityHistoryRequest"
+ },
+ "response": {
+ "$ref": "CapacityHistoryResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
}
}
},
"autoscalers": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of autoscalers.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/autoscalers",
"httpMethod": "GET",
@@ -797,11 +1083,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -820,6 +1101,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified autoscaler.",
"flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}",
"httpMethod": "DELETE",
@@ -867,6 +1149,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified autoscaler resource.",
"flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}",
"httpMethod": "GET",
@@ -910,6 +1193,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an autoscaler in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/zones/{zone}/autoscalers",
"httpMethod": "POST",
@@ -952,6 +1236,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of autoscalers contained within\nthe specified zone.",
"flatPath": "projects/{project}/zones/{zone}/autoscalers",
"httpMethod": "GET",
@@ -991,11 +1276,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "Name of the zone for this request.",
"location": "path",
@@ -1015,6 +1295,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates an autoscaler in the specified project using the data\nincluded in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/zones/{zone}/autoscalers",
"httpMethod": "PATCH",
@@ -1063,6 +1344,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -1109,6 +1391,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates an autoscaler in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/zones/{zone}/autoscalers",
"httpMethod": "PUT",
@@ -1161,6 +1444,7 @@
"backendBuckets": {
"methods": {
"addSignedUrlKey": {
+ "apiVersion": "2026-09-01",
"description": "Adds a key for validating requests with signed URLs for this backend\nbucket.",
"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey",
"httpMethod": "POST",
@@ -1202,6 +1486,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all BackendBucket resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/backendBuckets",
"httpMethod": "GET",
@@ -1245,11 +1530,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -1268,6 +1548,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified BackendBucket resource.",
"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}",
"httpMethod": "DELETE",
@@ -1307,6 +1588,7 @@
]
},
"deleteSignedUrlKey": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a key for validating requests with signed URLs for this backend\nbucket.",
"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey",
"httpMethod": "POST",
@@ -1352,6 +1634,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified BackendBucket resource.",
"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}",
"httpMethod": "GET",
@@ -1387,6 +1670,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/backendBuckets/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -1428,6 +1712,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a BackendBucket resource in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/global/backendBuckets",
"httpMethod": "POST",
@@ -1462,6 +1747,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of BackendBucket resources available to the specified\nproject.",
"flatPath": "projects/{project}/global/backendBuckets",
"httpMethod": "GET",
@@ -1499,11 +1785,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/backendBuckets",
@@ -1517,6 +1798,7 @@
]
},
"listUsable": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of all usable backend buckets in the specified project.",
"flatPath": "projects/{project}/global/backendBuckets/listUsable",
"httpMethod": "GET",
@@ -1554,11 +1836,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/backendBuckets/listUsable",
@@ -1572,6 +1849,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified BackendBucket resource with the data included in the\nrequest. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}",
"httpMethod": "PATCH",
@@ -1614,6 +1892,7 @@
]
},
"setEdgeSecurityPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the edge security policy for the specified backend bucket.",
"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy",
"httpMethod": "POST",
@@ -1655,6 +1934,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/backendBuckets/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -1692,6 +1972,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/backendBuckets/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -1730,6 +2011,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified BackendBucket resource with the data included in the\nrequest.",
"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}",
"httpMethod": "PUT",
@@ -1776,6 +2058,7 @@
"backendServices": {
"methods": {
"addSignedUrlKey": {
+ "apiVersion": "2026-09-01",
"description": "Adds a key for validating requests with signed URLs for this backend\nservice.",
"flatPath": "projects/{project}/global/backendServices/{backendService}/addSignedUrlKey",
"httpMethod": "POST",
@@ -1817,6 +2100,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all BackendService resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/backendServices",
"httpMethod": "GET",
@@ -1860,11 +2144,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -1883,6 +2162,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified BackendService resource.",
"flatPath": "projects/{project}/global/backendServices/{backendService}",
"httpMethod": "DELETE",
@@ -1922,6 +2202,7 @@
]
},
"deleteSignedUrlKey": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a key for validating requests with signed URLs for this backend\nservice.",
"flatPath": "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey",
"httpMethod": "POST",
@@ -1967,6 +2248,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified BackendService resource.",
"flatPath": "projects/{project}/global/backendServices/{backendService}",
"httpMethod": "GET",
@@ -2002,6 +2284,7 @@
]
},
"getEffectiveSecurityPolicies": {
+ "apiVersion": "2026-09-01",
"description": "Returns effective security policies applied to this backend service.",
"flatPath": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies",
"httpMethod": "GET",
@@ -2034,6 +2317,7 @@
]
},
"getHealth": {
+ "apiVersion": "2026-09-01",
"description": "Gets the most recent health check results for this\nBackendService.\n\nExample request body:\n\n{\n \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\"\n}",
"flatPath": "projects/{project}/global/backendServices/{backendService}/getHealth",
"httpMethod": "POST",
@@ -2071,6 +2355,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/backendServices/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -2112,6 +2397,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a BackendService resource in the specified project using\nthe data included in the request. For more information, see\nBackend services overview.",
"flatPath": "projects/{project}/global/backendServices",
"httpMethod": "POST",
@@ -2146,6 +2432,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of BackendService resources available to the specified\nproject.",
"flatPath": "projects/{project}/global/backendServices",
"httpMethod": "GET",
@@ -2183,11 +2470,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/backendServices",
@@ -2201,7 +2483,8 @@
]
},
"listUsable": {
- "description": "Retrieves a list of all usable backend services in the specified project.",
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves a list of all usable backend services for Application Load\nBalancers and Proxy Network Load Balancers in the specified project.\nBackend services for external and internal passthrough Network Load\nBalancers are not included in the response.",
"flatPath": "projects/{project}/global/backendServices/listUsable",
"httpMethod": "GET",
"id": "compute.backendServices.listUsable",
@@ -2238,11 +2521,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/backendServices/listUsable",
@@ -2256,6 +2534,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified BackendService resource with the data included in the\nrequest. For more information, see \nBackend services overview. This method\nsupports PATCH semantics and uses the JSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/backendServices/{backendService}",
"httpMethod": "PATCH",
@@ -2298,6 +2577,7 @@
]
},
"setEdgeSecurityPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the edge security policy for the specified backend service.",
"flatPath": "projects/{project}/global/backendServices/{backendService}/setEdgeSecurityPolicy",
"httpMethod": "POST",
@@ -2339,6 +2619,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/backendServices/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -2376,6 +2657,7 @@
]
},
"setSecurityPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the Google Cloud Armor security policy for the specified backend\nservice. For more information, seeGoogle\nCloud Armor Overview",
"flatPath": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy",
"httpMethod": "POST",
@@ -2417,6 +2699,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/backendServices/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -2455,6 +2738,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified BackendService resource with the data included in the\nrequest. For more information, seeBackend\nservices overview.",
"flatPath": "projects/{project}/global/backendServices/{backendService}",
"httpMethod": "PUT",
@@ -2501,6 +2785,7 @@
"crossSiteNetworks": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified cross-site network in the given scope.",
"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}",
"httpMethod": "DELETE",
@@ -2540,6 +2825,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified cross-site network in the given scope.",
"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}",
"httpMethod": "GET",
@@ -2575,6 +2861,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a cross-site network in the specified project in the given scope\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/global/crossSiteNetworks",
"httpMethod": "POST",
@@ -2614,6 +2901,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the cross-site networks for a project in the given scope.",
"flatPath": "projects/{project}/global/crossSiteNetworks",
"httpMethod": "GET",
@@ -2651,11 +2939,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/crossSiteNetworks",
@@ -2669,6 +2952,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified cross-site network with the data included in\nthe request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}",
"httpMethod": "PATCH",
@@ -2726,6 +3010,7 @@
"diskTypes": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of disk types.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/diskTypes",
"httpMethod": "GET",
@@ -2769,11 +3054,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -2792,6 +3072,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified disk type.",
"flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}",
"httpMethod": "GET",
@@ -2835,6 +3116,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of disk types available to the specified\nproject.",
"flatPath": "projects/{project}/zones/{zone}/diskTypes",
"httpMethod": "GET",
@@ -2874,11 +3156,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -2902,6 +3179,7 @@
"disks": {
"methods": {
"addResourcePolicies": {
+ "apiVersion": "2026-09-01",
"description": "Adds existing resource policies to a disk. You can only add one\npolicy which will be applied to this disk for scheduling snapshot\ncreation.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies",
"httpMethod": "POST",
@@ -2952,6 +3230,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of persistent disks.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/disks",
"httpMethod": "GET",
@@ -2995,11 +3274,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -3018,6 +3292,7 @@
]
},
"bulkInsert": {
+ "apiVersion": "2026-09-01",
"description": "Bulk create a set of disks.",
"flatPath": "projects/{project}/zones/{zone}/disks/bulkInsert",
"httpMethod": "POST",
@@ -3060,6 +3335,7 @@
]
},
"bulkSetLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on many disks at once. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/zones/{zone}/disks/bulkSetLabels",
"httpMethod": "POST",
@@ -3108,6 +3384,7 @@
]
},
"createSnapshot": {
+ "apiVersion": "2026-09-01",
"description": "Creates a snapshot of a specified persistent disk. For regular snapshot\ncreation, consider using snapshots.insert\ninstead, as that method supports more features, such as creating snapshots\nin a project different from the source disk project.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot",
"httpMethod": "POST",
@@ -3163,6 +3440,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified persistent disk. Deleting a disk removes its data\npermanently and is irreversible. However, deleting a disk does not\ndelete any snapshots\npreviously made from the disk. You must separatelydelete\nsnapshots.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}",
"httpMethod": "DELETE",
@@ -3210,6 +3488,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified persistent disk.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}",
"httpMethod": "GET",
@@ -3253,6 +3532,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -3302,6 +3582,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a persistent disk in the specified project using the data\nin the request. You can create a disk from a source\n(sourceImage, sourceSnapshot, orsourceDisk) or create an empty 500 GB data disk by\nomitting all properties. You can also create a disk that is larger than\nthe default size by specifying the sizeGb property.",
"flatPath": "projects/{project}/zones/{zone}/disks",
"httpMethod": "POST",
@@ -3349,6 +3630,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of persistent disks contained within\nthe specified zone.",
"flatPath": "projects/{project}/zones/{zone}/disks",
"httpMethod": "GET",
@@ -3388,11 +3670,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -3412,6 +3689,7 @@
]
},
"removeResourcePolicies": {
+ "apiVersion": "2026-09-01",
"description": "Removes resource policies from a disk.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies",
"httpMethod": "POST",
@@ -3462,6 +3740,7 @@
]
},
"resize": {
+ "apiVersion": "2026-09-01",
"description": "Resizes the specified persistent disk.\nYou can only increase the size of the disk.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/resize",
"httpMethod": "POST",
@@ -3512,6 +3791,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -3557,6 +3837,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a disk. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/setLabels",
"httpMethod": "POST",
@@ -3607,6 +3888,7 @@
]
},
"startAsyncReplication": {
+ "apiVersion": "2026-09-01",
"description": "Starts asynchronous replication.\nMust be invoked on the primary disk.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication",
"httpMethod": "POST",
@@ -3657,6 +3939,7 @@
]
},
"stopAsyncReplication": {
+ "apiVersion": "2026-09-01",
"description": "Stops asynchronous replication.\nCan be invoked either on the primary or on the secondary disk.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication",
"httpMethod": "POST",
@@ -3704,6 +3987,7 @@
]
},
"stopGroupAsyncReplication": {
+ "apiVersion": "2026-09-01",
"description": "Stops asynchronous replication for a consistency group of disks.\nCan be invoked either in the primary or secondary scope.",
"flatPath": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication",
"httpMethod": "POST",
@@ -3746,6 +4030,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -3792,6 +4077,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified disk with the data included in the request.\nThe update is performed only on selected fields included as part\nof update-mask.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}",
"httpMethod": "PATCH",
@@ -3853,6 +4139,7 @@
]
},
"updateKmsKey": {
+ "apiVersion": "2026-09-01",
"description": "Rotates the customer-managed\nencryption key to the latest version for the specified persistent disk.",
"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/updateKmsKey",
"httpMethod": "POST",
@@ -3906,6 +4193,7 @@
"externalVpnGateways": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified externalVpnGateway.",
"flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}",
"httpMethod": "DELETE",
@@ -3945,6 +4233,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified externalVpnGateway. Get a list of available\nexternalVpnGateways by making a list() request.",
"flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}",
"httpMethod": "GET",
@@ -3980,6 +4269,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a ExternalVpnGateway in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/global/externalVpnGateways",
"httpMethod": "POST",
@@ -4014,6 +4304,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of ExternalVpnGateway available to the specified\nproject.",
"flatPath": "projects/{project}/global/externalVpnGateways",
"httpMethod": "GET",
@@ -4051,11 +4342,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/externalVpnGateways",
@@ -4069,6 +4355,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on an ExternalVpnGateway. To learn more about labels,\nread the Labeling\nResources documentation.",
"flatPath": "projects/{project}/global/externalVpnGateways/{resource}/setLabels",
"httpMethod": "POST",
@@ -4106,6 +4393,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -4148,6 +4436,7 @@
"firewallPolicies": {
"methods": {
"addAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Inserts an association for the specified firewall policy.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation",
"httpMethod": "POST",
@@ -4187,6 +4476,7 @@
]
},
"addRule": {
+ "apiVersion": "2026-09-01",
"description": "Inserts a rule into a firewall policy.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addRule",
"httpMethod": "POST",
@@ -4221,6 +4511,7 @@
]
},
"cloneRules": {
+ "apiVersion": "2026-09-01",
"description": "Copies rules to the specified firewall policy.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules",
"httpMethod": "POST",
@@ -4257,6 +4548,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified policy.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}",
"httpMethod": "DELETE",
@@ -4288,6 +4580,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified firewall policy.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}",
"httpMethod": "GET",
@@ -4315,6 +4608,7 @@
]
},
"getAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Gets an association with the specified name.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation",
"httpMethod": "GET",
@@ -4347,6 +4641,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "locations/global/firewallPolicies/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -4380,6 +4675,7 @@
]
},
"getRule": {
+ "apiVersion": "2026-09-01",
"description": "Gets a rule of the specified priority.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getRule",
"httpMethod": "GET",
@@ -4413,6 +4709,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new policy in the specified project using the data included in\nthe request.",
"flatPath": "locations/global/firewallPolicies",
"httpMethod": "POST",
@@ -4442,6 +4739,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists all the policies that have been configured for the specified\nfolder or organization.",
"flatPath": "locations/global/firewallPolicies",
"httpMethod": "GET",
@@ -4474,11 +4772,6 @@
"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\"\nif the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the\nparent is an organization.",
"location": "query",
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "locations/global/firewallPolicies",
@@ -4492,6 +4785,7 @@
]
},
"listAssociations": {
+ "apiVersion": "2026-09-01",
"description": "Lists associations of a specified target, i.e., organization or folder.",
"flatPath": "locations/global/firewallPolicies/listAssociations",
"httpMethod": "GET",
@@ -4519,6 +4813,7 @@
]
},
"move": {
+ "apiVersion": "2026-09-01",
"description": "Moves the specified firewall policy.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/move",
"httpMethod": "POST",
@@ -4555,6 +4850,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified policy with the data included in the request.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}",
"httpMethod": "PATCH",
@@ -4589,6 +4885,7 @@
]
},
"patchRule": {
+ "apiVersion": "2026-09-01",
"description": "Patches a rule of the specified priority.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchRule",
"httpMethod": "POST",
@@ -4629,6 +4926,7 @@
]
},
"removeAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Removes an association for the specified firewall policy.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation",
"httpMethod": "POST",
@@ -4665,6 +4963,7 @@
]
},
"removeRule": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a rule of the specified priority.",
"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeRule",
"httpMethod": "POST",
@@ -4702,6 +5001,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "locations/global/firewallPolicies/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -4731,6 +5031,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "locations/global/firewallPolicies/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -4765,6 +5066,7 @@
"firewalls": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified firewall.",
"flatPath": "projects/{project}/global/firewalls/{firewall}",
"httpMethod": "DELETE",
@@ -4804,6 +5106,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified firewall.",
"flatPath": "projects/{project}/global/firewalls/{firewall}",
"httpMethod": "GET",
@@ -4839,6 +5142,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a firewall rule in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/global/firewalls",
"httpMethod": "POST",
@@ -4873,6 +5177,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of firewall rules available to the specified\nproject.",
"flatPath": "projects/{project}/global/firewalls",
"httpMethod": "GET",
@@ -4910,11 +5215,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/firewalls",
@@ -4928,6 +5228,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified firewall rule with the data included in the\nrequest. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/firewalls/{firewall}",
"httpMethod": "PATCH",
@@ -4970,6 +5271,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/firewalls/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -5008,6 +5310,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified firewall rule with the data included in the\nrequest.\nNote that all fields will be updated if using PUT, even fields that are not\nspecified. To update individual fields, please use PATCH instead.",
"flatPath": "projects/{project}/global/firewalls/{firewall}",
"httpMethod": "PUT",
@@ -5054,6 +5357,7 @@
"forwardingRules": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of forwarding rules.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/forwardingRules",
"httpMethod": "GET",
@@ -5097,11 +5401,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -5120,6 +5419,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified ForwardingRule resource.",
"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}",
"httpMethod": "DELETE",
@@ -5167,6 +5467,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified ForwardingRule resource.",
"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}",
"httpMethod": "GET",
@@ -5197,6 +5498,18 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
+ },
+ "view": {
+ "enum": [
+ "BASIC",
+ "FULL"
+ ],
+ "enumDescriptions": [
+ "The default view of a ForwardingRule, which includes the basic fields.",
+ "The full view, including the ForwardingRule.`attached_extensions` field."
+ ],
+ "location": "query",
+ "type": "string"
}
},
"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}",
@@ -5210,6 +5523,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a ForwardingRule resource in the specified project and region using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/forwardingRules",
"httpMethod": "POST",
@@ -5252,6 +5566,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of ForwardingRule resources available to the specified\nproject and region.",
"flatPath": "projects/{project}/regions/{region}/forwardingRules",
"httpMethod": "GET",
@@ -5297,11 +5612,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/forwardingRules",
@@ -5315,6 +5625,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified forwarding rule with the data included in the\nrequest. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules. Currently, you can only\npatch the network_tier field.",
"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}",
"httpMethod": "PATCH",
@@ -5365,6 +5676,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on the specified resource. To learn more about labels,\nread the \nLabeling Resources documentation.",
"flatPath": "projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels",
"httpMethod": "POST",
@@ -5415,6 +5727,7 @@
]
},
"setTarget": {
+ "apiVersion": "2026-09-01",
"description": "Changes target URL for forwarding rule. The new target should be of the\nsame type as the old target.",
"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget",
"httpMethod": "POST",
@@ -5469,6 +5782,7 @@
"futureReservations": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of future reservations.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/futureReservations",
"httpMethod": "GET",
@@ -5512,11 +5826,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -5535,6 +5844,7 @@
]
},
"cancel": {
+ "apiVersion": "2026-09-01",
"description": "Cancel the specified future reservation.",
"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel",
"httpMethod": "POST",
@@ -5580,6 +5890,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified future reservation.",
"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}",
"httpMethod": "DELETE",
@@ -5625,6 +5936,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves information about the specified future reservation.",
"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}",
"httpMethod": "GET",
@@ -5666,6 +5978,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new Future Reservation.",
"flatPath": "projects/{project}/zones/{zone}/futureReservations",
"httpMethod": "POST",
@@ -5707,6 +6020,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "A list of all the future reservations that have been configured for the\nspecified project in specified zone.",
"flatPath": "projects/{project}/zones/{zone}/futureReservations",
"httpMethod": "GET",
@@ -5746,11 +6060,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "Name of the zone for this request. Name should conform to RFC1035.",
"location": "path",
@@ -5769,6 +6078,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified future reservation.",
"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}",
"httpMethod": "PATCH",
@@ -5827,6 +6137,7 @@
"globalAddresses": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified address resource.",
"flatPath": "projects/{project}/global/addresses/{address}",
"httpMethod": "DELETE",
@@ -5866,6 +6177,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified address resource.",
"flatPath": "projects/{project}/global/addresses/{address}",
"httpMethod": "GET",
@@ -5901,6 +6213,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an address resource in the specified project by using the data\nincluded in the request.",
"flatPath": "projects/{project}/global/addresses",
"httpMethod": "POST",
@@ -5935,6 +6248,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of global addresses.",
"flatPath": "projects/{project}/global/addresses",
"httpMethod": "GET",
@@ -5972,11 +6286,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/addresses",
@@ -5990,6 +6299,7 @@
]
},
"move": {
+ "apiVersion": "2026-09-01",
"description": "Moves the specified address resource from one project to another project.",
"flatPath": "projects/{project}/global/addresses/{address}/move",
"httpMethod": "POST",
@@ -6032,6 +6342,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a GlobalAddress. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/global/addresses/{resource}/setLabels",
"httpMethod": "POST",
@@ -6069,6 +6380,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/addresses/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -6111,6 +6423,7 @@
"globalForwardingRules": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified GlobalForwardingRule resource.",
"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}",
"httpMethod": "DELETE",
@@ -6150,6 +6463,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified GlobalForwardingRule resource. Gets a list of\navailable forwarding rules by making a list() request.",
"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}",
"httpMethod": "GET",
@@ -6172,6 +6486,18 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
+ },
+ "view": {
+ "enum": [
+ "BASIC",
+ "FULL"
+ ],
+ "enumDescriptions": [
+ "The default view of a ForwardingRule, which includes the basic fields.",
+ "The full view, including the ForwardingRule.`attached_extensions` field."
+ ],
+ "location": "query",
+ "type": "string"
}
},
"path": "projects/{project}/global/forwardingRules/{forwardingRule}",
@@ -6185,6 +6511,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a GlobalForwardingRule resource in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/global/forwardingRules",
"httpMethod": "POST",
@@ -6219,6 +6546,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of GlobalForwardingRule resources available to the\nspecified project.",
"flatPath": "projects/{project}/global/forwardingRules",
"httpMethod": "GET",
@@ -6256,11 +6584,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/forwardingRules",
@@ -6274,6 +6597,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified forwarding rule with the data included in the\nrequest. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules. Currently, you can only\npatch the network_tier field.",
"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}",
"httpMethod": "PATCH",
@@ -6316,6 +6640,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on the specified resource. To learn more about labels,\nread the \nLabeling resources documentation.",
"flatPath": "projects/{project}/global/forwardingRules/{resource}/setLabels",
"httpMethod": "POST",
@@ -6353,6 +6678,7 @@
]
},
"setTarget": {
+ "apiVersion": "2026-09-01",
"description": "Changes target URL for the GlobalForwardingRule resource. The new target\nshould be of the same type as the old target.",
"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}/setTarget",
"httpMethod": "POST",
@@ -6396,9 +6722,81 @@
}
}
},
+ "globalFrontendSettings": {
+ "methods": {
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Gets the Global Frontend Billing Bundle Settings for a project.",
+ "flatPath": "projects/{project}/global/globalFrontendSettings",
+ "httpMethod": "GET",
+ "id": "compute.globalFrontendSettings.get",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Required. Project ID for this request.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/globalFrontendSettings",
+ "response": {
+ "$ref": "GlobalFrontendSettings"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "patch": {
+ "apiVersion": "2026-09-01",
+ "description": "Updates the Global Frontend Billing Bundle Settings for a project.",
+ "flatPath": "projects/{project}/global/globalFrontendSettings",
+ "httpMethod": "PATCH",
+ "id": "compute.globalFrontendSettings.patch",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Required. Project ID for this request.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests.",
+ "location": "query",
+ "type": "string"
+ },
+ "updateMask": {
+ "description": "Field mask to support patch. E.g., \"type\".",
+ "format": "google-fieldmask",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/globalFrontendSettings",
+ "request": {
+ "$ref": "GlobalFrontendSettings"
+ },
+ "response": {
+ "$ref": "GlobalFrontendSettingsPatchResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
"globalNetworkEndpointGroups": {
"methods": {
"attachNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Attach a network endpoint to the specified network endpoint group.",
"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints",
"httpMethod": "POST",
@@ -6440,6 +6838,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified network endpoint group.Note that the NEG cannot be\ndeleted if there are backend services referencing it.",
"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}",
"httpMethod": "DELETE",
@@ -6478,6 +6877,7 @@
]
},
"detachNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Detach the network endpoint from the specified network endpoint group.",
"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints",
"httpMethod": "POST",
@@ -6519,6 +6919,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified network endpoint group.",
"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}",
"httpMethod": "GET",
@@ -6553,6 +6954,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API",
"flatPath": "projects/{project}/global/networkEndpointGroups",
"httpMethod": "POST",
@@ -6587,6 +6989,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of network endpoint groups that are located in the\nspecified project.",
"flatPath": "projects/{project}/global/networkEndpointGroups",
"httpMethod": "GET",
@@ -6624,11 +7027,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/networkEndpointGroups",
@@ -6642,6 +7040,7 @@
]
},
"listNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Lists the network endpoints in the specified network endpoint group.",
"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints",
"httpMethod": "POST",
@@ -6686,11 +7085,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints",
@@ -6708,6 +7102,7 @@
"globalOperations": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of all operations.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/operations",
"httpMethod": "GET",
@@ -6751,11 +7146,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -6774,6 +7164,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified Operations resource.",
"flatPath": "projects/{project}/global/operations/{operation}",
"httpMethod": "DELETE",
@@ -6805,6 +7196,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the specified Operations resource.",
"flatPath": "projects/{project}/global/operations/{operation}",
"httpMethod": "GET",
@@ -6840,6 +7232,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of Operation resources contained within the specified\nproject.",
"flatPath": "projects/{project}/global/operations",
"httpMethod": "GET",
@@ -6877,11 +7270,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/operations",
@@ -6895,6 +7283,7 @@
]
},
"wait": {
+ "apiVersion": "2026-09-01",
"description": "Waits for the specified Operation resource to return as `DONE`\nor for the request to approach the 2 minute deadline, and retrieves the\nspecified Operation resource. This method differs from the\n`GET` method in that it waits for no more than the default\ndeadline (2 minutes) and then returns the current state of the operation,\nwhich might be `DONE` or still in progress.\n\nThis method is called on a best-effort basis. Specifically:\n \n \n - In uncommon cases, when the server is overloaded, the request might\n return before the default deadline is reached, or might return after zero\n seconds.\n - If the default deadline is reached, there is no guarantee that the\n operation is actually done when the method returns. Be prepared to retry\n if the operation is not `DONE`.",
"flatPath": "projects/{project}/global/operations/{operation}/wait",
"httpMethod": "POST",
@@ -6934,6 +7323,7 @@
"globalOrganizationOperations": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified Operations resource.",
"flatPath": "locations/global/operations/{operation}",
"httpMethod": "DELETE",
@@ -6962,6 +7352,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the specified Operations resource. Gets a list of operations\nby making a `list()` request.",
"flatPath": "locations/global/operations/{operation}",
"httpMethod": "GET",
@@ -6994,6 +7385,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of Operation resources contained within the specified\norganization.",
"flatPath": "locations/global/operations",
"httpMethod": "GET",
@@ -7026,11 +7418,6 @@
"description": "Parent ID for this request.",
"location": "query",
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "locations/global/operations",
@@ -7048,6 +7435,7 @@
"globalPublicDelegatedPrefixes": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified global PublicDelegatedPrefix.",
"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}",
"httpMethod": "DELETE",
@@ -7087,6 +7475,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified global PublicDelegatedPrefix resource.",
"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}",
"httpMethod": "GET",
@@ -7122,6 +7511,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a global PublicDelegatedPrefix in the specified project using the\nparameters that are included in the request.",
"flatPath": "projects/{project}/global/publicDelegatedPrefixes",
"httpMethod": "POST",
@@ -7156,6 +7546,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the global PublicDelegatedPrefixes for a project.",
"flatPath": "projects/{project}/global/publicDelegatedPrefixes",
"httpMethod": "GET",
@@ -7193,11 +7584,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/publicDelegatedPrefixes",
@@ -7211,6 +7597,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified global PublicDelegatedPrefix resource with the data\nincluded in the request. This method supportsPATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}",
"httpMethod": "PATCH",
@@ -7254,13 +7641,14 @@
}
}
},
- "healthChecks": {
+ "globalVmExtensionPolicies": {
"methods": {
"aggregatedList": {
- "description": "Retrieves the list of all HealthCheck resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
- "flatPath": "projects/{project}/aggregated/healthChecks",
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves the list of all VM Extension Policy resources\navailable to the specified project.\n\nTo prevent failure, it's recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
+ "flatPath": "projects/{project}/aggregated/vmExtensionPolicies",
"httpMethod": "GET",
- "id": "compute.healthChecks.aggregatedList",
+ "id": "compute.globalVmExtensionPolicies.aggregatedList",
"parameterOrder": [
"project"
],
@@ -7300,11 +7688,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -7312,9 +7695,9 @@
"type": "string"
}
},
- "path": "projects/{project}/aggregated/healthChecks",
+ "path": "projects/{project}/aggregated/vmExtensionPolicies",
"response": {
- "$ref": "HealthChecksAggregatedList"
+ "$ref": "VmExtensionPolicyAggregatedListResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
@@ -7323,19 +7706,19 @@
]
},
"delete": {
- "description": "Deletes the specified HealthCheck resource.",
- "flatPath": "projects/{project}/global/healthChecks/{healthCheck}",
- "httpMethod": "DELETE",
- "id": "compute.healthChecks.delete",
+ "apiVersion": "2026-09-01",
+ "description": "Purge scoped resources (zonal policies) from a global VM extension\npolicy, and then delete the global VM extension policy. Purge of the scoped\nresources is a pre-condition of the global VM extension policy deletion.\nThe deletion of the global VM extension policy happens after the purge\nrollout is done, so it's not a part of the LRO. It's an automatic process\nthat triggers in the backend.",
+ "flatPath": "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}/delete",
+ "httpMethod": "POST",
+ "id": "compute.globalVmExtensionPolicies.delete",
"parameterOrder": [
"project",
- "healthCheck"
+ "globalVmExtensionPolicy"
],
"parameters": {
- "healthCheck": {
- "description": "Name of the HealthCheck resource to delete.",
+ "globalVmExtensionPolicy": {
+ "description": "Name of the global VM extension policy to purge scoped resources for.",
"location": "path",
- "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
"required": true,
"type": "string"
},
@@ -7352,7 +7735,10 @@
"type": "string"
}
},
- "path": "projects/{project}/global/healthChecks/{healthCheck}",
+ "path": "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}/delete",
+ "request": {
+ "$ref": "GlobalVmExtensionPolicyRolloutOperationRolloutInput"
+ },
"response": {
"$ref": "Operation"
},
@@ -7362,17 +7748,18 @@
]
},
"get": {
- "description": "Returns the specified HealthCheck resource.",
- "flatPath": "projects/{project}/global/healthChecks/{healthCheck}",
+ "apiVersion": "2026-09-01",
+ "description": "Gets details of a global VM extension policy.",
+ "flatPath": "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}",
"httpMethod": "GET",
- "id": "compute.healthChecks.get",
+ "id": "compute.globalVmExtensionPolicies.get",
"parameterOrder": [
"project",
- "healthCheck"
+ "globalVmExtensionPolicy"
],
"parameters": {
- "healthCheck": {
- "description": "Name of the HealthCheck resource to return.",
+ "globalVmExtensionPolicy": {
+ "description": "Name of the GlobalVmExtensionPolicy resource to return.",
"location": "path",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
"required": true,
@@ -7386,9 +7773,9 @@
"type": "string"
}
},
- "path": "projects/{project}/global/healthChecks/{healthCheck}",
+ "path": "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}",
"response": {
- "$ref": "HealthCheck"
+ "$ref": "GlobalVmExtensionPolicy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
@@ -7397,10 +7784,11 @@
]
},
"insert": {
- "description": "Creates a HealthCheck resource in the specified project using the data\nincluded in the request.",
- "flatPath": "projects/{project}/global/healthChecks",
+ "apiVersion": "2026-09-01",
+ "description": "Creates a new project level GlobalVmExtensionPolicy.",
+ "flatPath": "projects/{project}/global/vmExtensionPolicies",
"httpMethod": "POST",
- "id": "compute.healthChecks.insert",
+ "id": "compute.globalVmExtensionPolicies.insert",
"parameterOrder": [
"project"
],
@@ -7418,9 +7806,9 @@
"type": "string"
}
},
- "path": "projects/{project}/global/healthChecks",
+ "path": "projects/{project}/global/vmExtensionPolicies",
"request": {
- "$ref": "HealthCheck"
+ "$ref": "GlobalVmExtensionPolicy"
},
"response": {
"$ref": "Operation"
@@ -7431,10 +7819,11 @@
]
},
"list": {
- "description": "Retrieves the list of HealthCheck resources available to the specified\nproject.",
- "flatPath": "projects/{project}/global/healthChecks",
+ "apiVersion": "2026-09-01",
+ "description": "Lists global VM extension policies.",
+ "flatPath": "projects/{project}/global/vmExtensionPolicies",
"httpMethod": "GET",
- "id": "compute.healthChecks.list",
+ "id": "compute.globalVmExtensionPolicies.list",
"parameterOrder": [
"project"
],
@@ -7468,11 +7857,276 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
+ }
+ },
+ "path": "projects/{project}/global/vmExtensionPolicies",
+ "response": {
+ "$ref": "GlobalVmExtensionPolicyList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "update": {
+ "apiVersion": "2026-09-01",
+ "description": "Updates a global VM extension policy.",
+ "flatPath": "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}",
+ "httpMethod": "PATCH",
+ "id": "compute.globalVmExtensionPolicies.update",
+ "parameterOrder": [
+ "project",
+ "globalVmExtensionPolicy"
+ ],
+ "parameters": {
+ "globalVmExtensionPolicy": {
+ "description": "Name of the global VM extension policy to update.",
+ "location": "path",
+ "required": true,
+ "type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}",
+ "request": {
+ "$ref": "GlobalVmExtensionPolicy"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
+ "healthChecks": {
+ "methods": {
+ "aggregatedList": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves the list of all HealthCheck resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
+ "flatPath": "projects/{project}/aggregated/healthChecks",
+ "httpMethod": "GET",
+ "id": "compute.healthChecks.aggregatedList",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
+ },
+ "includeAllScopes": {
+ "description": "Indicates whether every visible scope for each scope type (zone, region,\nglobal) should be included in the response. For new resource types added\nafter this field, the flag has no effect as new resource types will always\ninclude every visible scope for each scope type in response. For resource\ntypes which predate this field, if this flag is omitted or false, only\nscopes of the scope types where the resource type is expected to be found\nwill be included.",
"location": "query",
"type": "boolean"
+ },
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Name of the project scoping this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "serviceProjectNumber": {
+ "description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
+ "format": "int64",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/aggregated/healthChecks",
+ "response": {
+ "$ref": "HealthChecksAggregatedList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "delete": {
+ "apiVersion": "2026-09-01",
+ "description": "Deletes the specified HealthCheck resource.",
+ "flatPath": "projects/{project}/global/healthChecks/{healthCheck}",
+ "httpMethod": "DELETE",
+ "id": "compute.healthChecks.delete",
+ "parameterOrder": [
+ "project",
+ "healthCheck"
+ ],
+ "parameters": {
+ "healthCheck": {
+ "description": "Name of the HealthCheck resource to delete.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/healthChecks/{healthCheck}",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Returns the specified HealthCheck resource.",
+ "flatPath": "projects/{project}/global/healthChecks/{healthCheck}",
+ "httpMethod": "GET",
+ "id": "compute.healthChecks.get",
+ "parameterOrder": [
+ "project",
+ "healthCheck"
+ ],
+ "parameters": {
+ "healthCheck": {
+ "description": "Name of the HealthCheck resource to return.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/healthChecks/{healthCheck}",
+ "response": {
+ "$ref": "HealthCheck"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "apiVersion": "2026-09-01",
+ "description": "Creates a HealthCheck resource in the specified project using the data\nincluded in the request.",
+ "flatPath": "projects/{project}/global/healthChecks",
+ "httpMethod": "POST",
+ "id": "compute.healthChecks.insert",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/healthChecks",
+ "request": {
+ "$ref": "HealthCheck"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves the list of HealthCheck resources available to the specified\nproject.",
+ "flatPath": "projects/{project}/global/healthChecks",
+ "httpMethod": "GET",
+ "id": "compute.healthChecks.list",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
+ },
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
}
},
"path": "projects/{project}/global/healthChecks",
@@ -7486,6 +8140,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates a HealthCheck resource in the specified project using the data\nincluded in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/healthChecks/{healthCheck}",
"httpMethod": "PATCH",
@@ -7528,6 +8183,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/healthChecks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -7566,6 +8222,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates a HealthCheck resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/global/healthChecks/{healthCheck}",
"httpMethod": "PUT",
@@ -7609,9 +8266,181 @@
}
}
},
+ "hosts": {
+ "methods": {
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves information about the specified host.",
+ "flatPath": "projects/{project}/zones/{zone}/{association}/hosts/{host}",
+ "httpMethod": "GET",
+ "id": "compute.hosts.get",
+ "parameterOrder": [
+ "project",
+ "zone",
+ "association",
+ "host"
+ ],
+ "parameters": {
+ "association": {
+ "description": "The parent resource association for the Host. This field specifies the\nhierarchical context (e.g., reservation, block, sub-block) when\naccessing the host. For example, reservations/reservation_name,\nreservations/reservation_name/reservationBlocks/reservation_block_name or\nreservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "host": {
+ "description": "The name of the host, formatted as RFC1035 or a resource ID\nnumber.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "The project ID for this request.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "zone": {
+ "description": "The name of the zone for this request, formatted as RFC1035.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/zones/{zone}/{association}/hosts/{host}",
+ "response": {
+ "$ref": "Host"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "getVersion": {
+ "apiVersion": "2026-09-01",
+ "description": "Allows customers to get SBOM versions of a host.",
+ "flatPath": "projects/{project}/zones/{zone}/{association}/hosts/{host}/getVersion",
+ "httpMethod": "POST",
+ "id": "compute.hosts.getVersion",
+ "parameterOrder": [
+ "project",
+ "zone",
+ "association",
+ "host"
+ ],
+ "parameters": {
+ "association": {
+ "description": "The parent resource association for the Host. This field specifies the\nhierarchical context (e.g., reservation, block, sub-block) when\naccessing the host.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "host": {
+ "description": "The name of the host, formatted as RFC1035 or a resource ID\nnumber.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.",
+ "location": "query",
+ "type": "string"
+ },
+ "zone": {
+ "description": "Name of the zone for this request. Zone name should conform to RFC1035.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/zones/{zone}/{association}/hosts/{host}/getVersion",
+ "request": {
+ "$ref": "HostsGetVersionRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves a list of hosts.",
+ "flatPath": "projects/{project}/zones/{zone}/{association}/hosts",
+ "httpMethod": "GET",
+ "id": "compute.hosts.list",
+ "parameterOrder": [
+ "project",
+ "zone",
+ "association"
+ ],
+ "parameters": {
+ "association": {
+ "description": "The parent resource association for the Host. This field specifies the\nhierarchical context (e.g., reservation, block, sub-block) when\naccessing the host. For example, reservations/reservation_name,\nreservations/reservation_name/reservationBlocks/reservation_block_name or\nreservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
+ },
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "The project ID for this request.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "zone": {
+ "description": "The name of the zone for this request, formatted as RFC1035.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/zones/{zone}/{association}/hosts",
+ "response": {
+ "$ref": "HostsListResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ }
+ }
+ },
"httpHealthChecks": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified HttpHealthCheck resource.",
"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}",
"httpMethod": "DELETE",
@@ -7651,6 +8480,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified HttpHealthCheck resource.",
"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}",
"httpMethod": "GET",
@@ -7686,6 +8516,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a HttpHealthCheck resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/global/httpHealthChecks",
"httpMethod": "POST",
@@ -7720,6 +8551,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of HttpHealthCheck resources available to the specified\nproject.",
"flatPath": "projects/{project}/global/httpHealthChecks",
"httpMethod": "GET",
@@ -7757,11 +8589,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/httpHealthChecks",
@@ -7775,6 +8602,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates a HttpHealthCheck resource in the specified project using the data\nincluded in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}",
"httpMethod": "PATCH",
@@ -7817,6 +8645,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -7855,6 +8684,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates a HttpHealthCheck resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}",
"httpMethod": "PUT",
@@ -7901,6 +8731,7 @@
"httpsHealthChecks": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified HttpsHealthCheck resource.",
"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}",
"httpMethod": "DELETE",
@@ -7940,6 +8771,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified HttpsHealthCheck resource.",
"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}",
"httpMethod": "GET",
@@ -7975,6 +8807,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a HttpsHealthCheck resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/global/httpsHealthChecks",
"httpMethod": "POST",
@@ -8009,6 +8842,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of HttpsHealthCheck resources available to the specified\nproject.",
"flatPath": "projects/{project}/global/httpsHealthChecks",
"httpMethod": "GET",
@@ -8046,11 +8880,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/httpsHealthChecks",
@@ -8064,6 +8893,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates a HttpsHealthCheck resource in the specified project using the data\nincluded in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}",
"httpMethod": "PATCH",
@@ -8106,6 +8936,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -8144,6 +8975,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates a HttpsHealthCheck resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}",
"httpMethod": "PUT",
@@ -8190,6 +9022,7 @@
"imageFamilyViews": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the latest image that is part of an image family, is not\ndeprecated and is rolled out in the specified zone.",
"flatPath": "projects/{project}/zones/{zone}/imageFamilyViews/{family}",
"httpMethod": "GET",
@@ -8234,9 +9067,117 @@
}
}
},
+ "imageViews": {
+ "methods": {
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Returns the specified global ImageView resource, with a regional\ncontext.",
+ "flatPath": "projects/{project}/regions/{region}/imageViews/{resourceId}",
+ "httpMethod": "GET",
+ "id": "compute.imageViews.get",
+ "parameterOrder": [
+ "project",
+ "region",
+ "resourceId"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Required. Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Required. Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "Name of the image resource to return.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/imageViews/{resourceId}",
+ "response": {
+ "$ref": "ImageView"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "list": {
+ "apiVersion": "2026-09-01",
+ "description": "Returns a list of global ImageView resources, with a regional\ncontext.",
+ "flatPath": "projects/{project}/regions/{region}/imageViews",
+ "httpMethod": "GET",
+ "id": "compute.imageViews.list",
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "parameters": {
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
+ },
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Required. Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Required. Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/imageViews",
+ "response": {
+ "$ref": "ImageViewsListResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ }
+ }
+ },
"images": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified image.",
"flatPath": "projects/{project}/global/images/{image}",
"httpMethod": "DELETE",
@@ -8276,6 +9217,7 @@
]
},
"deprecate": {
+ "apiVersion": "2026-09-01",
"description": "Sets the deprecation status of an image.\n\nIf an empty request body is given, clears the deprecation status instead.",
"flatPath": "projects/{project}/global/images/{image}/deprecate",
"httpMethod": "POST",
@@ -8318,6 +9260,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified image.",
"flatPath": "projects/{project}/global/images/{image}",
"httpMethod": "GET",
@@ -8353,6 +9296,7 @@
]
},
"getFromFamily": {
+ "apiVersion": "2026-09-01",
"description": "Returns the latest image that is part of an image family and is not\ndeprecated. For more information on image families, seePublic\nimage families documentation.",
"flatPath": "projects/{project}/global/images/family/{family}",
"httpMethod": "GET",
@@ -8388,6 +9332,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/images/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -8429,6 +9374,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an image in the specified project using the data included\nin the request.",
"flatPath": "projects/{project}/global/images",
"httpMethod": "POST",
@@ -8468,6 +9414,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of custom images\navailable to the specified project. Custom images are images you\ncreate that belong to your project. This method does not\nget any images that belong to other projects, including publicly-available\nimages, like Debian 8. If you want to get a list of publicly-available\nimages, use this method to make a request to the respective image project,\nsuch as debian-cloud or windows-cloud.",
"flatPath": "projects/{project}/global/images",
"httpMethod": "GET",
@@ -8505,11 +9452,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/images",
@@ -8523,6 +9465,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified image with the data included in the request.\nOnly the following fields can be modified: family, description,\ndeprecation status.",
"flatPath": "projects/{project}/global/images/{image}",
"httpMethod": "PATCH",
@@ -8565,6 +9508,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/images/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -8602,6 +9546,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on an image. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/global/images/{resource}/setLabels",
"httpMethod": "POST",
@@ -8639,6 +9584,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/images/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -8681,6 +9627,7 @@
"instanceGroupManagerResizeRequests": {
"methods": {
"cancel": {
+ "apiVersion": "2026-09-01",
"description": "Cancels the specified resize request and removes it from the queue.\nCancelled resize request does no longer wait for the resources to be\nprovisioned. Cancel is only possible for requests that are accepted in the\nqueue.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel",
"httpMethod": "POST",
@@ -8733,6 +9680,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified, inactive resize request. Requests that are still\nactive cannot be deleted. Deleting request does not delete instances that\nwere provisioned previously.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}",
"httpMethod": "DELETE",
@@ -8785,6 +9733,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns all of the details about the specified resize request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}",
"httpMethod": "GET",
@@ -8833,6 +9782,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new resize request that starts provisioning VMs immediately\nor queues VM creation.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests",
"httpMethod": "POST",
@@ -8881,6 +9831,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of resize requests that are contained in the\nmanaged instance group.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests",
"httpMethod": "GET",
@@ -8927,11 +9878,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of thezone where the managed\ninstance group is located. The name should conform to RFC1035.",
"location": "path",
@@ -8954,6 +9900,7 @@
"instanceGroupManagers": {
"methods": {
"abandonInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances to be removed from the\nmanaged instance group. Abandoning an instance does not delete the\ninstance, but it does remove the instance from any target pools that are\napplied by the managed instance group. This method reduces thetargetSize of the managed instance group by the\nnumber of instances that you abandon. This operation is marked asDONE when the action is scheduled even if the instances have\nnot yet been removed from the group. You must separately verify the\nstatus of the abandoning action with thelistmanagedinstances\nmethod.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances",
"httpMethod": "POST",
@@ -9002,6 +9949,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of managed instance groups and groups them by zone.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/instanceGroupManagers",
"httpMethod": "GET",
@@ -9045,11 +9993,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -9068,6 +10011,7 @@
]
},
"applyUpdatesToInstances": {
+ "apiVersion": "2026-09-01",
"description": "Applies changes to selected instances on the managed instance group.\nThis method can be used to apply new overrides and/or new versions.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances",
"httpMethod": "POST",
@@ -9111,6 +10055,7 @@
]
},
"createInstances": {
+ "apiVersion": "2026-09-01",
"description": "Creates instances with per-instance configurations in this managed instance\ngroup. Instances are created using the current instance template. Thecreate instances operation is marked DONE if thecreateInstances request is successful. The underlying actions\ntake additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances\nmethod.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances",
"httpMethod": "POST",
@@ -9159,6 +10104,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified managed instance group and all of the instances\nin that group. Note that the instance group must not belong to a\nbackend service. Read\nDeleting an instance group for more information.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}",
"httpMethod": "DELETE",
@@ -9175,6 +10121,12 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "default": "false",
+ "description": "When set, graceful shutdown is skipped for instance deletion even if it's\nconfigured for the instances.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -9204,6 +10156,7 @@
]
},
"deleteInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group for immediate\ndeletion. The instances are also removed from any target\npools of which they were a member. This method reduces thetargetSize of the managed instance group by the number of\ninstances that you delete. This operation is marked as DONE\nwhen the action is scheduled even if the instances are still being deleted.\nYou must separately verify the status of the deleting action\nwith thelistmanagedinstances\nmethod.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances",
"httpMethod": "POST",
@@ -9220,6 +10173,12 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "default": "false",
+ "description": "When set, graceful shutdown is skipped for instance deletion even if it's\nconfigured for the instances.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -9252,6 +10211,7 @@
]
},
"deletePerInstanceConfigs": {
+ "apiVersion": "2026-09-01",
"description": "Deletes selected per-instance configurations for the managed instance\ngroup.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs",
"httpMethod": "POST",
@@ -9295,6 +10255,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns all of the details about the specified managed instance group.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}",
"httpMethod": "GET",
@@ -9336,6 +10297,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a managed instance group using the information that you specify\nin the request. After the group is created, instances in the group are\ncreated using the specified instance template.\nThis operation is marked as DONE when the group is created\neven if the instances in the group have not yet been created. You\nmust separately verify the status of the individual instances with thelistmanagedinstances\nmethod.\n\nA managed instance group can have up to 1000 VM instances per group. Please\ncontact Cloud Support if you need an increase in\nthis limit.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers",
"httpMethod": "POST",
@@ -9377,6 +10339,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of managed instance groups that are contained within the\nspecified project and zone.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers",
"httpMethod": "GET",
@@ -9416,11 +10379,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of thezone where the managed\ninstance group is located.",
"location": "path",
@@ -9439,6 +10397,7 @@
]
},
"listErrors": {
+ "apiVersion": "2026-09-01",
"description": "Lists all errors thrown by actions on instances for a given managed\ninstance group. The filter and orderBy query\nparameters are not supported.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors",
"httpMethod": "GET",
@@ -9485,11 +10444,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of thezone where the managed\ninstance group is located.\nIt should conform to RFC1035.",
"location": "path",
@@ -9508,6 +10462,7 @@
]
},
"listManagedInstances": {
+ "apiVersion": "2026-09-01",
"description": "Lists all of the instances in the managed instance group. Each instance\nin the list has a currentAction, which indicates the action\nthat the managed instance group is performing on the instance. For example,\nif the group is still creating an instance, the currentAction\nis CREATING. If a previous action failed, the\nlist displays the errors for that failed action. The orderBy\nquery parameter is not supported. The `pageToken` query parameter is\nsupported only if the group's `listManagedInstancesResults` field is set\nto `PAGINATED`.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances",
"httpMethod": "POST",
@@ -9554,11 +10509,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of thezone where the managed\ninstance group is located.",
"location": "path",
@@ -9577,6 +10527,7 @@
]
},
"listPerInstanceConfigs": {
+ "apiVersion": "2026-09-01",
"description": "Lists all of the per-instance configurations defined for the managed\ninstance group. The orderBy query parameter is not supported.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs",
"httpMethod": "POST",
@@ -9623,11 +10574,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of thezone\nwhere the managed instance group is located.\nIt should conform to RFC1035.",
"location": "path",
@@ -9646,6 +10592,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates a managed instance group using the information that you specify\nin the request.\nThis operation is marked as DONE when the group is patched\neven if the instances in the group are still in the process of being\npatched. You must separately verify the status of the individual instances\nwith thelistManagedInstances\nmethod. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.\n\nIf you update your group to specify a new template or instance\nconfiguration, it's possible that your intended specification for each VM\nin the group is different from the current state of that VM. To learn how\nto apply an updated configuration to the VMs in a MIG, seeUpdating instances in\na MIG.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}",
"httpMethod": "PATCH",
@@ -9694,6 +10641,7 @@
]
},
"patchPerInstanceConfigs": {
+ "apiVersion": "2026-09-01",
"description": "Inserts or patches per-instance configurations for the managed instance\ngroup. perInstanceConfig.name serves as a key used to\ndistinguish whether to perform insert or patch.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs",
"httpMethod": "POST",
@@ -9742,6 +10690,7 @@
]
},
"recreateInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified VM instances in the managed instance group to be\nimmediately recreated. Each instance is recreated using the group's current\nconfiguration. This operation is marked as DONE when the flag\nis set even if the instances have not yet been recreated. You must\nseparately verify the status of each instance by checking itscurrentAction field; for more information, see Checking\nthe status of managed instances.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances",
"httpMethod": "POST",
@@ -9758,6 +10707,12 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "default": "false",
+ "description": "When set, graceful shutdown is skipped for instance recreation even if it's\nconfigured for the instances.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -9790,6 +10745,7 @@
]
},
"resize": {
+ "apiVersion": "2026-09-01",
"description": "Resizes the managed instance group. If you increase the size, the group\ncreates new instances using the current instance template. If you decrease\nthe size, the group deletes instances. The resize operation is markedDONE when the resize actions are scheduled even if the group\nhas not yet added or deleted any instances. You must separately\nverify the status of the creating or deleting\nactions with thelistmanagedinstances\nmethod.\n\nWhen resizing down, the instance group arbitrarily chooses the order in\nwhich VMs are deleted. The group takes into account some VM attributes when\nmaking the selection including:\n\n+ The status of the VM instance.\n+ The health of the VM instance.\n+ The instance template version the VM is based on.\n+ For regional managed instance groups, the location of the VM instance.\n\nThis list is subject to change.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is removed or deleted.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize",
"httpMethod": "POST",
@@ -9843,6 +10799,7 @@
]
},
"resumeInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nresumed. This method increases thetargetSize and decreases the targetSuspendedSize\nof the managed instance group by the number of instances that you resume.\nThe resumeInstances operation is marked DONE if\nthe resumeInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of theRESUMING action with thelistmanagedinstances\nmethod.\n\nIn this request, you can only specify instances that are suspended. For\nexample, if an instance was previously suspended using the suspendInstances\nmethod, it can be resumed using the resumeInstances method.\n\nIf a health check is attached to the managed instance group, the specified\ninstances will be verified as healthy after they are resumed.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances",
"httpMethod": "POST",
@@ -9891,6 +10848,7 @@
]
},
"setInstanceTemplate": {
+ "apiVersion": "2026-09-01",
"description": "Specifies the instance template to use when creating new instances in this\ngroup. The templates for existing instances in the group do not change\nunless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate",
"httpMethod": "POST",
@@ -9939,6 +10897,7 @@
]
},
"setTargetPools": {
+ "apiVersion": "2026-09-01",
"description": "Modifies the target pools to which all instances in this managed instance\ngroup are assigned. The target pools automatically apply to all of the\ninstances in the managed instance group. This operation is markedDONE when you make the request even if the instances have not\nyet been added to their target pools. The change might take some time to\napply to all of the instances in the group depending on the size of the\ngroup.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools",
"httpMethod": "POST",
@@ -9987,6 +10946,7 @@
]
},
"startInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nstarted. This method increases thetargetSize and decreases the targetStoppedSize\nof the managed instance group by the number of instances that you start.\nThe startInstances operation is marked DONE if\nthe startInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of theSTARTING action with thelistmanagedinstances\nmethod.\n\nIn this request, you can only specify instances that are stopped. For\nexample, if an instance was previously stopped using the stopInstances\nmethod, it can be started using the startInstances method.\n\nIf a health check is attached to the managed instance group, the specified\ninstances will be verified as healthy after they are started.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances",
"httpMethod": "POST",
@@ -10035,6 +10995,7 @@
]
},
"stopInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nimmediately stopped. You can only specify instances that are running in\nthis request. This method reduces thetargetSize and increases the targetStoppedSize\nof the managed instance group by the number of instances that you stop.\nThe stopInstances operation is marked DONE if\nthe stopInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of theSTOPPING action with thelistmanagedinstances\nmethod.\n\nIf the standbyPolicy.initialDelaySec field is set, the group\ndelays stopping the instances until initialDelaySec have\npassed from instance.creationTimestamp (that is, when the\ninstance was created). This delay gives your application time to\nset itself up and initialize on the instance. If more thaninitialDelaySec seconds have passed sinceinstance.creationTimestamp when this method is called, there\nwill be zero delay.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is stopped.\n\nStopped instances can be started using the startInstances\nmethod.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances",
"httpMethod": "POST",
@@ -10051,6 +11012,12 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "default": "false",
+ "description": "When set, graceful shutdown is skipped for instance stopping even if it's\nconfigured for the instances.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -10083,6 +11050,7 @@
]
},
"suspendInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nimmediately suspended. You can only specify instances that are running in\nthis request. This method reduces thetargetSize and increases the targetSuspendedSize\nof the managed instance group by the number of instances that you suspend.\nThe suspendInstances operation is marked DONE if\nthe suspendInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of theSUSPENDING action with thelistmanagedinstances\nmethod.\n\nIf the standbyPolicy.initialDelaySec field is set, the group\ndelays suspension of the instances until initialDelaySec have\npassed from instance.creationTimestamp (that is, when the\ninstance was created). This delay gives your application time to\nset itself up and initialize on the instance. If more thaninitialDelaySec seconds have passed sinceinstance.creationTimestamp when this method is called, there\nwill be zero delay.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is suspended.\n\nSuspended instances can be resumed using the resumeInstances\nmethod.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances",
"httpMethod": "POST",
@@ -10131,6 +11099,7 @@
]
},
"updatePerInstanceConfigs": {
+ "apiVersion": "2026-09-01",
"description": "Inserts or updates per-instance configurations for the managed instance\ngroup. perInstanceConfig.name serves as a key used to\ndistinguish whether to perform insert or patch.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs",
"httpMethod": "POST",
@@ -10183,6 +11152,7 @@
"instanceGroups": {
"methods": {
"addInstances": {
+ "apiVersion": "2026-09-01",
"description": "Adds a list of instances to the specified instance group. All of the\ninstances in the instance group must be in the same network/subnetwork.\nRead \nAdding instances for more information.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances",
"httpMethod": "POST",
@@ -10231,6 +11201,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of instance groups and sorts them by zone.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/instanceGroups",
"httpMethod": "GET",
@@ -10274,11 +11245,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -10297,6 +11263,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified instance group. The instances in the group are not\ndeleted. Note that instance group must not belong to a backend service.\nRead\nDeleting an instance group for more information.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}",
"httpMethod": "DELETE",
@@ -10342,6 +11309,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified zonal instance group. Get a list of available zonal\ninstance groups by making a list() request.\n\nFor managed instance groups, use theinstanceGroupManagers\nor regionInstanceGroupManagers\nmethods instead.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}",
"httpMethod": "GET",
@@ -10383,6 +11351,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an instance group in the specified project using the\nparameters that are included in the request.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups",
"httpMethod": "POST",
@@ -10424,6 +11393,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of zonal instance group resources contained within the\nspecified zone.\n\nFor managed instance groups, use theinstanceGroupManagers\nor regionInstanceGroupManagers\nmethods instead.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups",
"httpMethod": "GET",
@@ -10463,11 +11433,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of thezone\nwhere the instance group is located.",
"location": "path",
@@ -10486,6 +11451,7 @@
]
},
"listInstances": {
+ "apiVersion": "2026-09-01",
"description": "Lists the instances in the specified instance group.\nThe orderBy query parameter is not supported.\nThe filter query parameter is supported, but only for\nexpressions that use `eq` (equal) or `ne` (not equal) operators.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances",
"httpMethod": "POST",
@@ -10532,11 +11498,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone\nwhere the instance group is located.",
"location": "path",
@@ -10558,6 +11519,7 @@
]
},
"removeInstances": {
+ "apiVersion": "2026-09-01",
"description": "Removes one or more instances from the specified instance group, but does\nnot delete those instances.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration before the VM instance is removed or deleted.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances",
"httpMethod": "POST",
@@ -10606,6 +11568,7 @@
]
},
"setNamedPorts": {
+ "apiVersion": "2026-09-01",
"description": "Sets the named ports for the specified instance group.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts",
"httpMethod": "POST",
@@ -10654,6 +11617,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -10704,6 +11668,7 @@
"instanceSettings": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Get Instance settings.",
"flatPath": "projects/{project}/zones/{zone}/instanceSettings",
"httpMethod": "GET",
@@ -10739,6 +11704,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patch Instance settings",
"flatPath": "projects/{project}/zones/{zone}/instanceSettings",
"httpMethod": "PATCH",
@@ -10790,6 +11756,7 @@
"instanceTemplates": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all InstanceTemplates resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/instanceTemplates",
"httpMethod": "GET",
@@ -10833,11 +11800,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -10856,6 +11818,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified instance template. Deleting an instance template is\npermanent and cannot be undone. It is not possible to delete templates\nthat are already in use by a managed instance group.",
"flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}",
"httpMethod": "DELETE",
@@ -10895,6 +11858,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified instance template.",
"flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}",
"httpMethod": "GET",
@@ -10930,6 +11894,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -10971,6 +11936,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an instance template in the specified project using the\ndata that is included in the request. If you are creating a new template to\nupdate an existing instance group, your new instance template must use the\nsame network or, if applicable, the same subnetwork as the original\ntemplate.",
"flatPath": "projects/{project}/global/instanceTemplates",
"httpMethod": "POST",
@@ -11005,6 +11971,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of instance templates that are contained within\nthe specified project.",
"flatPath": "projects/{project}/global/instanceTemplates",
"httpMethod": "GET",
@@ -11042,11 +12009,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/instanceTemplates",
@@ -11060,6 +12022,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -11097,6 +12060,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -11139,6 +12103,7 @@
"instances": {
"methods": {
"addAccessConfig": {
+ "apiVersion": "2026-09-01",
"description": "Adds an access config to an instance's network interface.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig",
"httpMethod": "POST",
@@ -11196,6 +12161,7 @@
]
},
"addNetworkInterface": {
+ "apiVersion": "2026-09-01",
"description": "Adds one dynamic network interface to an active instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface",
"httpMethod": "POST",
@@ -11245,6 +12211,7 @@
]
},
"addResourcePolicies": {
+ "apiVersion": "2026-09-01",
"description": "Adds existing resource policies to an instance. You can only add one\npolicy right now which will be applied to this instance for scheduling live\nmigrations.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies",
"httpMethod": "POST",
@@ -11295,6 +12262,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of all of the instances in your project\nacross all regions and zones.\n\nThe performance of this method degrades when a filter is specified on a\nproject that has a very large number of instances.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/instances",
"httpMethod": "GET",
@@ -11338,11 +12306,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -11361,6 +12324,7 @@
]
},
"attachDisk": {
+ "apiVersion": "2026-09-01",
"description": "Attaches an existing Disk resource to an instance. You must first\ncreate the disk before you can attach it. It is not possible to create\nand attach a disk at the same time. For more information, readAdding a\npersistent disk to your instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/attachDisk",
"httpMethod": "POST",
@@ -11416,6 +12380,7 @@
]
},
"bulkInsert": {
+ "apiVersion": "2026-09-01",
"description": "Creates multiple instances. Count specifies the number of instances to\ncreate. For more information, seeAbout bulk\ncreation of VMs.",
"flatPath": "projects/{project}/zones/{zone}/instances/bulkInsert",
"httpMethod": "POST",
@@ -11458,6 +12423,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified Instance resource. For more information, seeDeleting\nan instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}",
"httpMethod": "DELETE",
@@ -11475,6 +12441,11 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "description": "If set to true, Graceful Shutdown is skipped.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -11505,6 +12476,7 @@
]
},
"deleteAccessConfig": {
+ "apiVersion": "2026-09-01",
"description": "Deletes an access config from an instance's network interface.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig",
"httpMethod": "POST",
@@ -11566,6 +12538,7 @@
]
},
"deleteNetworkInterface": {
+ "apiVersion": "2026-09-01",
"description": "Deletes one dynamic network interface from an active instance.\nInstancesDeleteNetworkInterfaceRequest indicates:\n- instance from which to delete, using project+zone+resource_id fields;\n- dynamic network interface to be deleted, using network_interface_name\nfield;",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface",
"httpMethod": "POST",
@@ -11619,6 +12592,7 @@
]
},
"detachDisk": {
+ "apiVersion": "2026-09-01",
"description": "Detaches a disk from an instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk",
"httpMethod": "POST",
@@ -11673,6 +12647,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Instance resource.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}",
"httpMethod": "GET",
@@ -11716,6 +12691,7 @@
]
},
"getEffectiveFirewalls": {
+ "apiVersion": "2026-09-01",
"description": "Returns effective firewalls applied to an interface of the instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls",
"httpMethod": "GET",
@@ -11766,6 +12742,7 @@
]
},
"getGuestAttributes": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified guest attributes entry.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes",
"httpMethod": "GET",
@@ -11819,6 +12796,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -11868,6 +12846,7 @@
]
},
"getScreenshot": {
+ "apiVersion": "2026-09-01",
"description": "Returns the screenshot from the specified instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/screenshot",
"httpMethod": "GET",
@@ -11911,6 +12890,7 @@
]
},
"getSerialPortOutput": {
+ "apiVersion": "2026-09-01",
"description": "Returns the last 1 MB of serial port output from the specified instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/serialPort",
"httpMethod": "GET",
@@ -11969,6 +12949,7 @@
]
},
"getShieldedInstanceIdentity": {
+ "apiVersion": "2026-09-01",
"description": "Returns the Shielded Instance Identity of an instance",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity",
"httpMethod": "GET",
@@ -12012,6 +12993,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an instance resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/zones/{zone}/instances",
"httpMethod": "POST",
@@ -12064,6 +13046,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of instances contained within\nthe specified zone.",
"flatPath": "projects/{project}/zones/{zone}/instances",
"httpMethod": "GET",
@@ -12103,11 +13086,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -12127,6 +13105,7 @@
]
},
"listReferrers": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of resources that refer to the VM instance specified in\nthe request. For example, if the VM instance is part of a managed or\nunmanaged instance group, the referrers list includes the instance group.\nFor more information, readViewing\nreferrers to VM instances.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/referrers",
"httpMethod": "GET",
@@ -12174,11 +13153,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -12198,6 +13172,7 @@
]
},
"performMaintenance": {
+ "apiVersion": "2026-09-01",
"description": "Perform a manual maintenance on the instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance",
"httpMethod": "POST",
@@ -12245,6 +13220,7 @@
]
},
"removeResourcePolicies": {
+ "apiVersion": "2026-09-01",
"description": "Removes resource policies from an instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies",
"httpMethod": "POST",
@@ -12295,6 +13271,7 @@
]
},
"reportHostAsFaulty": {
+ "apiVersion": "2026-09-01",
"description": "Mark the host as faulty and try to restart the instance on a new host.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty",
"httpMethod": "POST",
@@ -12345,6 +13322,7 @@
]
},
"reset": {
+ "apiVersion": "2026-09-01",
"description": "Performs a reset on the instance. This is a hard reset. The VM\ndoes not do a graceful shutdown. For more information, seeResetting\nan instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/reset",
"httpMethod": "POST",
@@ -12392,6 +13370,7 @@
]
},
"resume": {
+ "apiVersion": "2026-09-01",
"description": "Resumes an instance that was suspended using theinstances().suspend\nmethod.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/resume",
"httpMethod": "POST",
@@ -12439,6 +13418,7 @@
]
},
"sendDiagnosticInterrupt": {
+ "apiVersion": "2026-09-01",
"description": "Sends diagnostic interrupt to the instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt",
"httpMethod": "POST",
@@ -12478,6 +13458,7 @@
]
},
"setDeletionProtection": {
+ "apiVersion": "2026-09-01",
"description": "Sets deletion protection on the instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection",
"httpMethod": "POST",
@@ -12531,6 +13512,7 @@
]
},
"setDiskAutoDelete": {
+ "apiVersion": "2026-09-01",
"description": "Sets the auto-delete flag for a disk attached to an instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete",
"httpMethod": "POST",
@@ -12593,6 +13575,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -12638,6 +13621,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets labels on an instance. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setLabels",
"httpMethod": "POST",
@@ -12688,6 +13672,7 @@
]
},
"setMachineResources": {
+ "apiVersion": "2026-09-01",
"description": "Changes the number and/or type of accelerator for a stopped instance to the\nvalues specified in the request.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources",
"httpMethod": "POST",
@@ -12738,6 +13723,7 @@
]
},
"setMachineType": {
+ "apiVersion": "2026-09-01",
"description": "Changes the machine type for a stopped instance to the machine\ntype specified in the request.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMachineType",
"httpMethod": "POST",
@@ -12788,6 +13774,7 @@
]
},
"setMetadata": {
+ "apiVersion": "2026-09-01",
"description": "Sets metadata for the specified instance to the data included\nin the request.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMetadata",
"httpMethod": "POST",
@@ -12838,6 +13825,7 @@
]
},
"setMinCpuPlatform": {
+ "apiVersion": "2026-09-01",
"description": "Changes the minimum CPU platform that this instance should use.\nThis method can only\nbe called on a stopped instance. For more information, readSpecifying a\nMinimum CPU Platform.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform",
"httpMethod": "POST",
@@ -12888,6 +13876,7 @@
]
},
"setName": {
+ "apiVersion": "2026-09-01",
"description": "Sets name of an instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setName",
"httpMethod": "POST",
@@ -12938,6 +13927,7 @@
]
},
"setScheduling": {
+ "apiVersion": "2026-09-01",
"description": "Sets an instance's scheduling options. You can only call this method on astopped instance,\nthat is, a VM instance that is in a `TERMINATED` state. SeeInstance Life\nCycle for more information on the possible instance states.\nFor more information about setting scheduling options for a VM, seeSet\nVM host maintenance policy.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling",
"httpMethod": "POST",
@@ -12988,6 +13978,7 @@
]
},
"setSecurityPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the Google Cloud Armor security policy for the specified instance.\nFor more information, seeGoogle\nCloud Armor Overview",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy",
"httpMethod": "POST",
@@ -13037,6 +14028,7 @@
]
},
"setServiceAccount": {
+ "apiVersion": "2026-09-01",
"description": "Sets the service account on the instance. For more information,\nreadChanging\nthe service account and access scopes for an instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount",
"httpMethod": "POST",
@@ -13087,6 +14079,7 @@
]
},
"setShieldedInstanceIntegrityPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the Shielded Instance integrity policy for an instance. You can\nonly use this method on a running instance. This method\nsupports PATCH semantics and uses the JSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy",
"httpMethod": "PATCH",
@@ -13137,6 +14130,7 @@
]
},
"setTags": {
+ "apiVersion": "2026-09-01",
"description": "Sets network tags\nfor the specified instance to the data included in the request.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setTags",
"httpMethod": "POST",
@@ -13187,6 +14181,7 @@
]
},
"simulateMaintenanceEvent": {
+ "apiVersion": "2026-09-01",
"description": "Simulates a host maintenance event on a VM. For more information, see\nSimulate a host maintenance event.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent",
"httpMethod": "POST",
@@ -13239,6 +14234,7 @@
]
},
"start": {
+ "apiVersion": "2026-09-01",
"description": "Starts an instance that was stopped using theinstances().stop\nmethod. For more information, seeRestart an\ninstance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/start",
"httpMethod": "POST",
@@ -13286,6 +14282,7 @@
]
},
"startWithEncryptionKey": {
+ "apiVersion": "2026-09-01",
"description": "Starts an instance that was stopped using theinstances().stop\nmethod. For more information, seeRestart an\ninstance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey",
"httpMethod": "POST",
@@ -13336,6 +14333,7 @@
]
},
"stop": {
+ "apiVersion": "2026-09-01",
"description": "Stops a running instance, shutting it down cleanly, and allows\nyou to restart the instance at a later time. Stopped instances do not incur\nVM usage charges while they are stopped. However, resources that the VM is\nusing, such as persistent disks and static IP addresses, will continue to\nbe charged until they are deleted. For more information, seeStopping\nan instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/stop",
"httpMethod": "POST",
@@ -13358,6 +14356,11 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "description": "If set to true, Graceful Shutdown is skipped.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -13388,6 +14391,7 @@
]
},
"suspend": {
+ "apiVersion": "2026-09-01",
"description": "This method suspends a running instance, saving its state to persistent\nstorage, and allows you to resume the instance at a later time. Suspended\ninstances have no compute costs (cores or RAM), and incur only storage\ncharges for the saved VM memory and localSSD data. Any charged resources\nthe virtual machine was using, such as persistent disks and static IP\naddresses, will continue to be charged while the instance is suspended.\nFor more information, see\nSuspending and resuming an instance.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/suspend",
"httpMethod": "POST",
@@ -13440,6 +14444,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -13486,6 +14491,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates an instance only if the necessary resources are available. This\nmethod can update only a specific set of instance properties. See\nUpdating a running instance for a list of updatable instance\nproperties.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}",
"httpMethod": "PUT",
@@ -13575,6 +14581,7 @@
]
},
"updateAccessConfig": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified access config from an instance's network interface\nwith the data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig",
"httpMethod": "POST",
@@ -13632,6 +14639,7 @@
]
},
"updateDisplayDevice": {
+ "apiVersion": "2026-09-01",
"description": "Updates the Display config for a VM instance. You can\nonly use this method on a stopped VM instance. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice",
"httpMethod": "PATCH",
@@ -13682,6 +14690,7 @@
]
},
"updateNetworkInterface": {
+ "apiVersion": "2026-09-01",
"description": "Updates an instance's network interface. This method can only update an\ninterface's alias IP range and attached network. See Modifying\nalias IP ranges for an existing instance for instructions on\nchanging alias IP ranges. See Migrating\na VM between networks for instructions on migrating an interface.\nThis method follows PATCH semantics.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface",
"httpMethod": "PATCH",
@@ -13739,6 +14748,7 @@
]
},
"updateShieldedInstanceConfig": {
+ "apiVersion": "2026-09-01",
"description": "Updates the Shielded Instance config for an instance. You can\nonly use this method on a stopped instance. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig",
"httpMethod": "PATCH",
@@ -13793,6 +14803,7 @@
"instantSnapshotGroups": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "deletes a Zonal InstantSnapshotGroup resource",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}",
"httpMethod": "DELETE",
@@ -13840,6 +14851,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "returns the specified InstantSnapshotGroup resource in the specified zone.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}",
"httpMethod": "GET",
@@ -13883,6 +14895,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -13932,6 +14945,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "inserts a Zonal InstantSnapshotGroup resource",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups",
"httpMethod": "POST",
@@ -13979,6 +14993,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "retrieves the list of InstantSnapshotGroup resources contained within\nthe specified zone.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups",
"httpMethod": "GET",
@@ -14018,11 +15033,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -14042,6 +15052,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -14087,6 +15098,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -14137,6 +15149,7 @@
"instantSnapshots": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of instantSnapshots.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/instantSnapshots",
"httpMethod": "GET",
@@ -14180,11 +15193,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -14203,6 +15211,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting\na single instantSnapshot might not necessarily delete all the data on that\ninstantSnapshot. If any data on the instantSnapshot that is marked for\ndeletion is needed for subsequent instantSnapshots, the data will be moved\nto the next corresponding instantSnapshot.\n\nFor more information, seeDeleting\ninstantSnapshots.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}",
"httpMethod": "DELETE",
@@ -14250,6 +15259,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified InstantSnapshot resource in the specified zone.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}",
"httpMethod": "GET",
@@ -14293,6 +15303,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -14342,6 +15353,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an instant snapshot in the specified zone.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshots",
"httpMethod": "POST",
@@ -14384,6 +15396,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of InstantSnapshot resources contained within\nthe specified zone.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshots",
"httpMethod": "GET",
@@ -14423,11 +15436,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -14447,6 +15455,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -14492,6 +15501,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a instantSnapshot in the given zone. To learn more about\nlabels, read the Labeling\nResources documentation.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels",
"httpMethod": "POST",
@@ -14542,6 +15552,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -14592,6 +15603,7 @@
"interconnectAttachmentGroups": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified InterconnectAttachmentGroup in the given scope",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}",
"httpMethod": "DELETE",
@@ -14631,6 +15643,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified InterconnectAttachmentGroup resource in the given\nscope.",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}",
"httpMethod": "GET",
@@ -14666,6 +15679,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -14707,6 +15721,7 @@
]
},
"getOperationalStatus": {
+ "apiVersion": "2026-09-01",
"description": "Returns the InterconnectAttachmentStatuses for the specified\nInterconnectAttachmentGroup resource.",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus",
"httpMethod": "GET",
@@ -14742,6 +15757,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a InterconnectAttachmentGroup in the specified project in the given\nscope using the parameters that are included in the request.",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups",
"httpMethod": "POST",
@@ -14776,6 +15792,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the InterconnectAttachmentGroups for a project in the given scope.",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups",
"httpMethod": "GET",
@@ -14813,11 +15830,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/interconnectAttachmentGroups",
@@ -14831,6 +15843,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified InterconnectAttachmentGroup resource with the data\nincluded in the request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}",
"httpMethod": "PATCH",
@@ -14879,6 +15892,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -14916,6 +15930,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -14958,6 +15973,7 @@
"interconnectAttachments": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of interconnect attachments.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/interconnectAttachments",
"httpMethod": "GET",
@@ -15001,11 +16017,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -15024,6 +16035,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified interconnect attachment.",
"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}",
"httpMethod": "DELETE",
@@ -15071,6 +16083,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified interconnect attachment.",
"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}",
"httpMethod": "GET",
@@ -15114,6 +16127,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an InterconnectAttachment in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/interconnectAttachments",
"httpMethod": "POST",
@@ -15161,6 +16175,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of interconnect attachments contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/interconnectAttachments",
"httpMethod": "GET",
@@ -15206,11 +16221,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/interconnectAttachments",
@@ -15224,6 +16234,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified interconnect attachment with the data included in the\nrequest. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}",
"httpMethod": "PATCH",
@@ -15274,6 +16285,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on an InterconnectAttachment. To learn more about labels,\nread the Labeling\nResources documentation.",
"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels",
"httpMethod": "POST",
@@ -15328,6 +16340,7 @@
"interconnectGroups": {
"methods": {
"createMembers": {
+ "apiVersion": "2026-09-01",
"description": "Create Interconnects with redundancy by creating them in a specified\ninterconnect group.",
"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers",
"httpMethod": "POST",
@@ -15365,6 +16378,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified InterconnectGroup in the given scope",
"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}",
"httpMethod": "DELETE",
@@ -15404,6 +16418,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified InterconnectGroup resource in the given scope.",
"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}",
"httpMethod": "GET",
@@ -15439,6 +16454,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -15480,6 +16496,7 @@
]
},
"getOperationalStatus": {
+ "apiVersion": "2026-09-01",
"description": "Returns the interconnectStatuses for the specified\nInterconnectGroup.",
"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus",
"httpMethod": "GET",
@@ -15515,6 +16532,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a InterconnectGroup in the specified project in the given scope\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/global/interconnectGroups",
"httpMethod": "POST",
@@ -15549,6 +16567,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the InterconnectGroups for a project in the given scope.",
"flatPath": "projects/{project}/global/interconnectGroups",
"httpMethod": "GET",
@@ -15586,11 +16605,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/interconnectGroups",
@@ -15604,6 +16618,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified InterconnectGroup resource with the data included in\nthe request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}",
"httpMethod": "PATCH",
@@ -15652,6 +16667,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -15689,6 +16705,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -15731,6 +16748,7 @@
"interconnectLocations": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the details for the specified interconnect location. Gets a list of\navailable interconnect locations by making a list() request.",
"flatPath": "projects/{project}/global/interconnectLocations/{interconnectLocation}",
"httpMethod": "GET",
@@ -15766,6 +16784,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of interconnect locations available to the specified\nproject.",
"flatPath": "projects/{project}/global/interconnectLocations",
"httpMethod": "GET",
@@ -15803,11 +16822,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/interconnectLocations",
@@ -15825,6 +16839,7 @@
"interconnectRemoteLocations": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the details for the specified interconnect remote location. Gets a\nlist of available interconnect remote locations by making alist() request.",
"flatPath": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}",
"httpMethod": "GET",
@@ -15860,6 +16875,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of interconnect remote locations available to the\nspecified project.",
"flatPath": "projects/{project}/global/interconnectRemoteLocations",
"httpMethod": "GET",
@@ -15897,11 +16913,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/interconnectRemoteLocations",
@@ -15919,6 +16930,7 @@
"interconnects": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified Interconnect.",
"flatPath": "projects/{project}/global/interconnects/{interconnect}",
"httpMethod": "DELETE",
@@ -15958,6 +16970,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Interconnect. Get a list of available Interconnects\nby making a list() request.",
"flatPath": "projects/{project}/global/interconnects/{interconnect}",
"httpMethod": "GET",
@@ -15993,6 +17006,7 @@
]
},
"getDiagnostics": {
+ "apiVersion": "2026-09-01",
"description": "Returns the interconnectDiagnostics for the specified\nInterconnect.\n\nIn the event of a\nglobal outage, do not use this API to make decisions about where to\nredirect your network traffic.\n\nUnlike a VLAN attachment, which is regional, a Cloud Interconnect\nconnection is a global resource. A global outage can prevent this\nAPI from functioning properly.",
"flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics",
"httpMethod": "GET",
@@ -16028,6 +17042,7 @@
]
},
"getMacsecConfig": {
+ "apiVersion": "2026-09-01",
"description": "Returns the interconnectMacsecConfig for the specified\nInterconnect.",
"flatPath": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig",
"httpMethod": "GET",
@@ -16063,6 +17078,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an Interconnect in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/global/interconnects",
"httpMethod": "POST",
@@ -16097,6 +17113,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of Interconnects available to the specified project.",
"flatPath": "projects/{project}/global/interconnects",
"httpMethod": "GET",
@@ -16134,11 +17151,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/interconnects",
@@ -16152,6 +17164,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified Interconnect with the data included in the request.\nThis method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/interconnects/{interconnect}",
"httpMethod": "PATCH",
@@ -16194,6 +17207,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on an Interconnect. To learn more about labels,\nread the Labeling\nResources documentation.",
"flatPath": "projects/{project}/global/interconnects/{resource}/setLabels",
"httpMethod": "POST",
@@ -16229,12 +17243,56 @@
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"
]
+ },
+ "setName": {
+ "apiVersion": "2026-09-01",
+ "description": "Sets name of an interconnect.",
+ "flatPath": "projects/{project}/global/interconnects/{interconnect}/setName",
+ "httpMethod": "POST",
+ "id": "compute.interconnects.setName",
+ "parameterOrder": [
+ "project",
+ "interconnect"
+ ],
+ "parameters": {
+ "interconnect": {
+ "description": "Name of the interconnect to update.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID\nso that if you must retry your request, the server will know to ignore\nthe request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/interconnects/{interconnect}/setName",
+ "request": {
+ "$ref": "InterconnectsSetNameRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
}
}
},
"licenseCodes": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Return a specified license code. License codes are mirrored across\nall projects that have permissions to read the License Code.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenseCodes/{licenseCode}",
"httpMethod": "GET",
@@ -16269,7 +17327,88 @@
"https://www.googleapis.com/auth/compute.readonly"
]
},
+ "getIamPolicy": {
+ "apiVersion": "2026-09-01",
+ "description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
+ "flatPath": "projects/{project}/global/licenseCodes/{resource}/getIamPolicy",
+ "httpMethod": "GET",
+ "id": "compute.licenseCodes.getIamPolicy",
+ "parameterOrder": [
+ "project",
+ "resource"
+ ],
+ "parameters": {
+ "optionsRequestedPolicyVersion": {
+ "description": "Requested IAM Policy version.",
+ "format": "int32",
+ "location": "query",
+ "type": "integer"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name or id of the resource for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/licenseCodes/{resource}/getIamPolicy",
+ "response": {
+ "$ref": "Policy"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "setIamPolicy": {
+ "apiVersion": "2026-09-01",
+ "description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
+ "flatPath": "projects/{project}/global/licenseCodes/{resource}/setIamPolicy",
+ "httpMethod": "POST",
+ "id": "compute.licenseCodes.setIamPolicy",
+ "parameterOrder": [
+ "project",
+ "resource"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name or id of the resource for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/licenseCodes/{resource}/setIamPolicy",
+ "request": {
+ "$ref": "GlobalSetPolicyRequest"
+ },
+ "response": {
+ "$ref": "Policy"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -16312,6 +17451,7 @@
"licenses": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified license.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenses/{license}",
"httpMethod": "DELETE",
@@ -16351,6 +17491,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified License resource.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenses/{license}",
"httpMethod": "GET",
@@ -16386,6 +17527,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenses/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -16427,6 +17569,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Create a License resource in the specified project.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenses",
"httpMethod": "POST",
@@ -16464,6 +17607,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of licenses\navailable in the specified project. This method does not\nget any licenses that belong to other projects, including licenses attached\nto publicly-available images, like Debian 9. If you want to get a list of\npublicly-available licenses, use this method to make a request to the\nrespective image project, such as debian-cloud orwindows-cloud.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenses",
"httpMethod": "GET",
@@ -16501,11 +17645,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/licenses",
@@ -16519,6 +17658,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenses/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -16556,6 +17696,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenses/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -16594,6 +17735,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates a License resource in the specified project.\n *Caution* This resource is intended\nfor use only by third-party partners who are creatingCloud Marketplace\nimages.",
"flatPath": "projects/{project}/global/licenses/{license}",
"httpMethod": "PATCH",
@@ -16646,6 +17788,7 @@
"machineImages": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified machine image. Deleting a machine image is permanent\nand cannot be undone.",
"flatPath": "projects/{project}/global/machineImages/{machineImage}",
"httpMethod": "DELETE",
@@ -16685,6 +17828,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified machine image.",
"flatPath": "projects/{project}/global/machineImages/{machineImage}",
"httpMethod": "GET",
@@ -16720,6 +17864,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/machineImages/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -16761,6 +17906,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a machine image in the specified project using the\ndata that is included in the request. If you are creating a new machine\nimage to update an existing instance, your new machine image should use the\nsame network or, if applicable, the same subnetwork as the original\ninstance.",
"flatPath": "projects/{project}/global/machineImages",
"httpMethod": "POST",
@@ -16800,6 +17946,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of machine images that are contained within\nthe specified project.",
"flatPath": "projects/{project}/global/machineImages",
"httpMethod": "GET",
@@ -16837,11 +17984,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/machineImages",
@@ -16855,6 +17997,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/machineImages/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -16892,6 +18035,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a machine image. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/global/machineImages/{resource}/setLabels",
"httpMethod": "POST",
@@ -16929,6 +18073,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/machineImages/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -16971,6 +18116,7 @@
"machineTypes": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of machine types.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/machineTypes",
"httpMethod": "GET",
@@ -17014,11 +18160,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -17037,6 +18178,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified machine type.",
"flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}",
"httpMethod": "GET",
@@ -17080,6 +18222,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of machine types available to the specified\nproject.",
"flatPath": "projects/{project}/zones/{zone}/machineTypes",
"httpMethod": "GET",
@@ -17119,11 +18262,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -17144,9 +18282,101 @@
}
}
},
+ "managedRulesets": {
+ "methods": {
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Gets the details for the specified managed ruleset name.",
+ "flatPath": "projects/{project}/global/managedRulesets/{managedRuleset}",
+ "httpMethod": "GET",
+ "id": "compute.managedRulesets.get",
+ "parameterOrder": [
+ "project",
+ "managedRuleset"
+ ],
+ "parameters": {
+ "managedRuleset": {
+ "description": "Name of the managed ruleset to return.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/managedRulesets/{managedRuleset}",
+ "response": {
+ "$ref": "ManagedRuleset"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "list": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves the list of all the managed rulesets available.",
+ "flatPath": "projects/{project}/global/managedRulesets",
+ "httpMethod": "GET",
+ "id": "compute.managedRulesets.list",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
+ },
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/managedRulesets",
+ "response": {
+ "$ref": "ManagedRulesetList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ }
+ }
+ },
"networkAttachments": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all NetworkAttachment resources,\nregional and global, available to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/networkAttachments",
"httpMethod": "GET",
@@ -17190,11 +18420,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -17213,6 +18438,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified NetworkAttachment in the given scope",
"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}",
"httpMethod": "DELETE",
@@ -17260,6 +18486,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified NetworkAttachment resource in the given scope.",
"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}",
"httpMethod": "GET",
@@ -17303,6 +18530,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -17352,6 +18580,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a NetworkAttachment in the specified project in the given scope\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/regions/{region}/networkAttachments",
"httpMethod": "POST",
@@ -17394,6 +18623,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the NetworkAttachments for a project in the given scope.",
"flatPath": "projects/{project}/regions/{region}/networkAttachments",
"httpMethod": "GET",
@@ -17439,11 +18669,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/networkAttachments",
@@ -17457,6 +18682,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified NetworkAttachment resource with the data included in\nthe request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}",
"httpMethod": "PATCH",
@@ -17507,6 +18733,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -17552,6 +18779,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -17602,6 +18830,7 @@
"networkEdgeSecurityServices": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all NetworkEdgeSecurityService resources available to\nthe specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/networkEdgeSecurityServices",
"httpMethod": "GET",
@@ -17645,11 +18874,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -17668,6 +18892,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified service.",
"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}",
"httpMethod": "DELETE",
@@ -17715,6 +18940,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Gets a specified NetworkEdgeSecurityService.",
"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}",
"httpMethod": "GET",
@@ -17758,6 +18984,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new service in the specified project using the data included in\nthe request.",
"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices",
"httpMethod": "POST",
@@ -17805,6 +19032,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified policy with the data included in the request.",
"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}",
"httpMethod": "PATCH",
@@ -17870,6 +19098,7 @@
"networkEndpointGroups": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of network endpoint groups and sorts them by zone.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/networkEndpointGroups",
"httpMethod": "GET",
@@ -17913,11 +19142,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -17936,6 +19160,7 @@
]
},
"attachNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Attach a list of network endpoints to the specified network endpoint group.",
"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints",
"httpMethod": "POST",
@@ -17984,6 +19209,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified network endpoint group. The network endpoints in the\nNEG and the VM instances they belong to are not terminated when the NEG is\ndeleted. Note that the NEG cannot be deleted if there are backend services\nreferencing it.",
"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}",
"httpMethod": "DELETE",
@@ -18029,6 +19255,7 @@
]
},
"detachNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Detach a list of network endpoints from the specified network endpoint\ngroup.",
"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints",
"httpMethod": "POST",
@@ -18077,6 +19304,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified network endpoint group.",
"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}",
"httpMethod": "GET",
@@ -18118,6 +19346,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API",
"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups",
"httpMethod": "POST",
@@ -18159,6 +19388,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of network endpoint groups that are located in the\nspecified project and zone.",
"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups",
"httpMethod": "GET",
@@ -18198,11 +19428,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of thezone\nwhere the network endpoint group is located. It should comply with RFC1035.",
"location": "path",
@@ -18221,6 +19446,7 @@
]
},
"listNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Lists the network endpoints in the specified network endpoint group.",
"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints",
"httpMethod": "POST",
@@ -18267,11 +19493,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone where\nthe network endpoint group is located. It should comply with RFC1035.",
"location": "path",
@@ -18293,6 +19514,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -18343,6 +19565,7 @@
"networkFirewallPolicies": {
"methods": {
"addAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Inserts an association for the specified firewall policy.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation",
"httpMethod": "POST",
@@ -18390,6 +19613,7 @@
]
},
"addPacketMirroringRule": {
+ "apiVersion": "2026-09-01",
"description": "Inserts a packet mirroring rule into a firewall policy.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule",
"httpMethod": "POST",
@@ -18444,6 +19668,7 @@
]
},
"addRule": {
+ "apiVersion": "2026-09-01",
"description": "Inserts a rule into a firewall policy.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule",
"httpMethod": "POST",
@@ -18498,6 +19723,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of network firewall policies, listing network\nfirewall policies from all applicable scopes (global and regional) and\ngrouping the results per scope.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/firewallPolicies",
"httpMethod": "GET",
@@ -18541,11 +19767,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -18564,6 +19785,7 @@
]
},
"cloneRules": {
+ "apiVersion": "2026-09-01",
"description": "Copies rules to the specified firewall policy.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules",
"httpMethod": "POST",
@@ -18608,6 +19830,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified policy.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}",
"httpMethod": "DELETE",
@@ -18647,6 +19870,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified network firewall policy.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}",
"httpMethod": "GET",
@@ -18682,6 +19906,7 @@
]
},
"getAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Gets an association with the specified name.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation",
"httpMethod": "GET",
@@ -18722,6 +19947,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -18763,6 +19989,7 @@
]
},
"getPacketMirroringRule": {
+ "apiVersion": "2026-09-01",
"description": "Gets a packet mirroring rule of the specified priority.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule",
"httpMethod": "GET",
@@ -18804,6 +20031,7 @@
]
},
"getRule": {
+ "apiVersion": "2026-09-01",
"description": "Gets a rule of the specified priority.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule",
"httpMethod": "GET",
@@ -18845,6 +20073,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new policy in the specified project using the data included in\nthe request.",
"flatPath": "projects/{project}/global/firewallPolicies",
"httpMethod": "POST",
@@ -18879,6 +20108,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists all the policies that have been configured for the specified project.",
"flatPath": "projects/{project}/global/firewallPolicies",
"httpMethod": "GET",
@@ -18916,11 +20146,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/firewallPolicies",
@@ -18934,6 +20159,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified policy with the data included in the request.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}",
"httpMethod": "PATCH",
@@ -18976,6 +20202,7 @@
]
},
"patchPacketMirroringRule": {
+ "apiVersion": "2026-09-01",
"description": "Patches a packet mirroring rule of the specified priority.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule",
"httpMethod": "POST",
@@ -19024,6 +20251,7 @@
]
},
"patchRule": {
+ "apiVersion": "2026-09-01",
"description": "Patches a rule of the specified priority.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule",
"httpMethod": "POST",
@@ -19072,6 +20300,7 @@
]
},
"removeAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Removes an association for the specified firewall policy.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation",
"httpMethod": "POST",
@@ -19116,6 +20345,7 @@
]
},
"removePacketMirroringRule": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a packet mirroring rule of the specified priority.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule",
"httpMethod": "POST",
@@ -19161,6 +20391,7 @@
]
},
"removeRule": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a rule of the specified priority.",
"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule",
"httpMethod": "POST",
@@ -19206,6 +20437,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -19243,6 +20475,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -19285,6 +20518,7 @@
"networkProfiles": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified network profile.",
"flatPath": "projects/{project}/global/networkProfiles/{networkProfile}",
"httpMethod": "GET",
@@ -19320,6 +20554,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of network profiles available to the specified\nproject.",
"flatPath": "projects/{project}/global/networkProfiles",
"httpMethod": "GET",
@@ -19357,11 +20592,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/networkProfiles",
@@ -19379,6 +20609,7 @@
"networks": {
"methods": {
"addPeering": {
+ "apiVersion": "2026-09-01",
"description": "Adds a peering to the specified network.",
"flatPath": "projects/{project}/global/networks/{network}/addPeering",
"httpMethod": "POST",
@@ -19420,7 +20651,51 @@
"https://www.googleapis.com/auth/compute"
]
},
+ "cancelRequestRemovePeering": {
+ "apiVersion": "2026-09-01",
+ "description": "Cancel requests to remove a peering from the specified network. Applicable\nonly for PeeringConnection with update_strategy=CONSENSUS. Cancels a\nrequest to remove a peering from the specified network.",
+ "flatPath": "projects/{project}/global/networks/{network}/cancelRequestRemovePeering",
+ "httpMethod": "POST",
+ "id": "compute.networks.cancelRequestRemovePeering",
+ "parameterOrder": [
+ "project",
+ "network"
+ ],
+ "parameters": {
+ "network": {
+ "description": "Name of the network resource to remove peering from.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/networks/{network}/cancelRequestRemovePeering",
+ "request": {
+ "$ref": "NetworksCancelRequestRemovePeeringRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified network.",
"flatPath": "projects/{project}/global/networks/{network}",
"httpMethod": "DELETE",
@@ -19460,6 +20735,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified network.",
"flatPath": "projects/{project}/global/networks/{network}",
"httpMethod": "GET",
@@ -19495,6 +20771,7 @@
]
},
"getEffectiveFirewalls": {
+ "apiVersion": "2026-09-01",
"description": "Returns the effective firewalls on a given network.",
"flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls",
"httpMethod": "GET",
@@ -19530,6 +20807,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a network in the specified project using the data included\nin the request.",
"flatPath": "projects/{project}/global/networks",
"httpMethod": "POST",
@@ -19564,6 +20842,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of networks available to the specified project.",
"flatPath": "projects/{project}/global/networks",
"httpMethod": "GET",
@@ -19601,11 +20880,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/networks",
@@ -19619,6 +20893,7 @@
]
},
"listPeeringRoutes": {
+ "apiVersion": "2026-09-01",
"description": "Lists the peering routes exchanged over peering connection.",
"flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes",
"httpMethod": "GET",
@@ -19687,11 +20962,6 @@
"description": "The region of the request. The response will include all subnet routes,\nstatic routes and dynamic routes in the region.",
"location": "query",
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/networks/{network}/listPeeringRoutes",
@@ -19705,6 +20975,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified network with the data included in the request.\nOnly routingConfig can be modified.",
"flatPath": "projects/{project}/global/networks/{network}",
"httpMethod": "PATCH",
@@ -19747,6 +21018,7 @@
]
},
"removePeering": {
+ "apiVersion": "2026-09-01",
"description": "Removes a peering from the specified network.",
"flatPath": "projects/{project}/global/networks/{network}/removePeering",
"httpMethod": "POST",
@@ -19789,6 +21061,7 @@
]
},
"requestRemovePeering": {
+ "apiVersion": "2026-09-01",
"description": "Requests to remove a peering from the specified network. Applicable only\nfor PeeringConnection with update_strategy=CONSENSUS.",
"flatPath": "projects/{project}/global/networks/{network}/requestRemovePeering",
"httpMethod": "POST",
@@ -19831,6 +21104,7 @@
]
},
"switchToCustomMode": {
+ "apiVersion": "2026-09-01",
"description": "Switches the network mode from auto subnet mode to custom subnet mode.",
"flatPath": "projects/{project}/global/networks/{network}/switchToCustomMode",
"httpMethod": "POST",
@@ -19870,6 +21144,7 @@
]
},
"updatePeering": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified network peering with the data included in the\nrequest. You can only modify the NetworkPeering.export_custom_routes field\nand the NetworkPeering.import_custom_routes field.",
"flatPath": "projects/{project}/global/networks/{network}/updatePeering",
"httpMethod": "PATCH",
@@ -19916,6 +21191,7 @@
"nodeGroups": {
"methods": {
"addNodes": {
+ "apiVersion": "2026-09-01",
"description": "Adds specified number of nodes to the node group.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes",
"httpMethod": "POST",
@@ -19966,6 +21242,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of node groups.\nNote: use nodeGroups.listNodes for more details about each group.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/nodeGroups",
"httpMethod": "GET",
@@ -20009,11 +21286,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -20032,6 +21304,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified NodeGroup resource.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}",
"httpMethod": "DELETE",
@@ -20079,6 +21352,7 @@
]
},
"deleteNodes": {
+ "apiVersion": "2026-09-01",
"description": "Deletes specified nodes from the node group.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes",
"httpMethod": "POST",
@@ -20129,6 +21403,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified NodeGroup. Get a list of available NodeGroups\nby making a list() request.\nNote: the \"nodes\" field should not be used. Use nodeGroups.listNodes\ninstead.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}",
"httpMethod": "GET",
@@ -20172,6 +21447,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -20221,6 +21497,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a NodeGroup resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups",
"httpMethod": "POST",
@@ -20271,6 +21548,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of node groups available to the specified project.\nNote: use nodeGroups.listNodes for more details about each group.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups",
"httpMethod": "GET",
@@ -20310,11 +21588,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -20334,6 +21607,7 @@
]
},
"listNodes": {
+ "apiVersion": "2026-09-01",
"description": "Lists nodes in the node group.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes",
"httpMethod": "POST",
@@ -20381,11 +21655,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -20405,6 +21674,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified node group.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}",
"httpMethod": "PATCH",
@@ -20455,6 +21725,7 @@
]
},
"performMaintenance": {
+ "apiVersion": "2026-09-01",
"description": "Perform maintenance on a subset of nodes in the node group.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance",
"httpMethod": "POST",
@@ -20505,6 +21776,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -20550,6 +21822,7 @@
]
},
"setNodeTemplate": {
+ "apiVersion": "2026-09-01",
"description": "Updates the node template of the node group.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate",
"httpMethod": "POST",
@@ -20600,6 +21873,7 @@
]
},
"simulateMaintenanceEvent": {
+ "apiVersion": "2026-09-01",
"description": "Simulates maintenance event on specified nodes from the node group.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent",
"httpMethod": "POST",
@@ -20650,6 +21924,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -20700,6 +21975,7 @@
"nodeTemplates": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of node templates.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/nodeTemplates",
"httpMethod": "GET",
@@ -20743,11 +22019,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -20766,6 +22037,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified NodeTemplate resource.",
"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}",
"httpMethod": "DELETE",
@@ -20813,6 +22085,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified node template.",
"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}",
"httpMethod": "GET",
@@ -20856,6 +22129,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -20905,6 +22179,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a NodeTemplate resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/nodeTemplates",
"httpMethod": "POST",
@@ -20947,6 +22222,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of node templates available to the specified\nproject.",
"flatPath": "projects/{project}/regions/{region}/nodeTemplates",
"httpMethod": "GET",
@@ -20992,11 +22268,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/nodeTemplates",
@@ -21010,6 +22281,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -21055,6 +22327,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -21105,6 +22378,7 @@
"nodeTypes": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of node types.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/nodeTypes",
"httpMethod": "GET",
@@ -21148,11 +22422,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -21171,6 +22440,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified node type.",
"flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}",
"httpMethod": "GET",
@@ -21214,6 +22484,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of node types available to the specified\nproject.",
"flatPath": "projects/{project}/zones/{zone}/nodeTypes",
"httpMethod": "GET",
@@ -21253,11 +22524,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -21281,6 +22547,7 @@
"organizationSecurityPolicies": {
"methods": {
"addAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Inserts an association for the specified security policy.\n\nThis has billing implications. Projects in the hierarchy with effective\nhierarchical security policies will be automatically enrolled into Cloud\nArmor Enterprise if not already enrolled.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.addAssociation\ninstead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/addAssociation",
"httpMethod": "POST",
@@ -21320,6 +22587,7 @@
]
},
"addRule": {
+ "apiVersion": "2026-09-01",
"description": "Inserts a rule into a security policy.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.addRule instead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/addRule",
"httpMethod": "POST",
@@ -21354,6 +22622,7 @@
]
},
"copyRules": {
+ "apiVersion": "2026-09-01",
"description": "Copies rules to the specified security policy.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.cloneRules\ninstead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/copyRules",
"httpMethod": "POST",
@@ -21390,6 +22659,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified policy.\n\nUse this API to remove Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to remove firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.delete instead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}",
"httpMethod": "DELETE",
@@ -21421,6 +22691,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "List all of the ordered rules present in a single specified policy.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is now\ndisabled for most organizations. Use firewallPolicies.get instead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}",
"httpMethod": "GET",
@@ -21448,6 +22719,7 @@
]
},
"getAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Gets an association with the specified name.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.getAssociation\ninstead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/getAssociation",
"httpMethod": "GET",
@@ -21480,6 +22752,7 @@
]
},
"getRule": {
+ "apiVersion": "2026-09-01",
"description": "Gets a rule at the specified priority.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is now\ndisabled for most organizations. Use firewallPolicies.getRule instead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/getRule",
"httpMethod": "GET",
@@ -21513,6 +22786,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new policy in the specified organization using the data included\nin the request.\n\nUse this API to add Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to add firewall policies. This usage is now\ndisabled for most organizations. Use firewallPolicies.insert instead.",
"flatPath": "locations/global/securityPolicies",
"httpMethod": "POST",
@@ -21542,6 +22816,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "List all the policies that have been configured for the specified\norganization.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is now\ndisabled for most organizations. Use firewallPolicies.list instead.",
"flatPath": "locations/global/securityPolicies",
"httpMethod": "GET",
@@ -21574,11 +22849,6 @@
"description": "Parent ID for this request.",
"location": "query",
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "locations/global/securityPolicies",
@@ -21592,6 +22862,7 @@
]
},
"listAssociations": {
+ "apiVersion": "2026-09-01",
"description": "Lists associations of a specified target, i.e., organization or folder.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.listAssociations\ninstead.",
"flatPath": "locations/global/securityPolicies/listAssociations",
"httpMethod": "GET",
@@ -21614,6 +22885,7 @@
]
},
"listPreconfiguredExpressionSets": {
+ "apiVersion": "2026-09-01",
"description": "Gets the current list of preconfigured Web Application Firewall (WAF)\nexpressions.",
"flatPath": "locations/global/securityPolicies/listPreconfiguredExpressionSets",
"httpMethod": "GET",
@@ -21646,11 +22918,6 @@
"description": "Parent ID for this request.",
"location": "query",
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "locations/global/securityPolicies/listPreconfiguredExpressionSets",
@@ -21664,6 +22931,7 @@
]
},
"move": {
+ "apiVersion": "2026-09-01",
"description": "Moves the specified security policy.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.move instead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/move",
"httpMethod": "POST",
@@ -21700,6 +22968,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified policy with the data included in the request.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.patch instead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}",
"httpMethod": "PATCH",
@@ -21734,6 +23003,7 @@
]
},
"patchRule": {
+ "apiVersion": "2026-09-01",
"description": "Patches a rule at the specified priority.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.patchRule\ninstead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/patchRule",
"httpMethod": "POST",
@@ -21774,6 +23044,7 @@
]
},
"removeAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Removes an association for the specified security policy.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.removeAssociation\ninstead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/removeAssociation",
"httpMethod": "POST",
@@ -21810,6 +23081,7 @@
]
},
"removeRule": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a rule at the specified priority.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.removeRule\ninstead.",
"flatPath": "locations/global/securityPolicies/{securityPolicy}/removeRule",
"httpMethod": "POST",
@@ -21851,6 +23123,7 @@
"packetMirrorings": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of packetMirrorings.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/packetMirrorings",
"httpMethod": "GET",
@@ -21894,11 +23167,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -21917,6 +23185,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified PacketMirroring resource.",
"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}",
"httpMethod": "DELETE",
@@ -21964,6 +23233,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified PacketMirroring resource.",
"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}",
"httpMethod": "GET",
@@ -22007,6 +23277,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a PacketMirroring resource in the specified project and region\nusing the data included in the request.",
"flatPath": "projects/{project}/regions/{region}/packetMirrorings",
"httpMethod": "POST",
@@ -22049,6 +23320,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of PacketMirroring resources available to the specified\nproject and region.",
"flatPath": "projects/{project}/regions/{region}/packetMirrorings",
"httpMethod": "GET",
@@ -22094,11 +23366,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/packetMirrorings",
@@ -22112,6 +23379,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified PacketMirroring resource with the data included in\nthe request. This method supportsPATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}",
"httpMethod": "PATCH",
@@ -22162,6 +23430,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -22212,6 +23481,7 @@
"previewFeatures": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the details of the given PreviewFeature.",
"flatPath": "projects/{project}/global/previewFeatures/{previewFeature}",
"httpMethod": "GET",
@@ -22247,6 +23517,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Returns the details of the given PreviewFeature.",
"flatPath": "projects/{project}/global/previewFeatures",
"httpMethod": "GET",
@@ -22284,11 +23555,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/previewFeatures",
@@ -22302,6 +23568,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Patches the given PreviewFeature. This method is used to enable or disable\na PreviewFeature.",
"flatPath": "projects/{project}/global/previewFeatures/{previewFeature}",
"httpMethod": "PATCH",
@@ -22345,9 +23612,50 @@
}
}
},
+ "projectViews": {
+ "methods": {
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Returns the specified global ProjectViews resource, with a regional\ncontext.\nThis regional API endpoint reads resource metadata from regional\nread-only replicas. Because changes are copied to these regional replicas\nasynchronously, for real-time resource reads or any write operations\n(creating, updating, or deleting resources), use the global\n[projects.get](https://cloud.google.com/compute/docs/reference/rest/v1/projects/get)\nendpoint.",
+ "flatPath": "projects/{project}/regions/{region}/projectViews",
+ "httpMethod": "GET",
+ "id": "compute.projectViews.get",
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Required. Project ID for this request. This is part of the URL path.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Required. Name of the region for this request. This is part of the URL path.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/projectViews",
+ "response": {
+ "$ref": "ProjectView"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ }
+ }
+ },
"projects": {
"methods": {
"disableXpnHost": {
+ "apiVersion": "2026-09-01",
"description": "Disable this project as a shared VPC host project.",
"flatPath": "projects/{project}/disableXpnHost",
"httpMethod": "POST",
@@ -22379,6 +23687,7 @@
]
},
"disableXpnResource": {
+ "apiVersion": "2026-09-01",
"description": "Disable a service resource (also known as service project) associated with\nthis host project.",
"flatPath": "projects/{project}/disableXpnResource",
"httpMethod": "POST",
@@ -22413,6 +23722,7 @@
]
},
"enableXpnHost": {
+ "apiVersion": "2026-09-01",
"description": "Enable this project as a shared VPC host project.",
"flatPath": "projects/{project}/enableXpnHost",
"httpMethod": "POST",
@@ -22444,6 +23754,7 @@
]
},
"enableXpnResource": {
+ "apiVersion": "2026-09-01",
"description": "Enable service resource (a.k.a service project) for a host project, so that\nsubnets in the host project can be used by instances in the service\nproject.",
"flatPath": "projects/{project}/enableXpnResource",
"httpMethod": "POST",
@@ -22478,6 +23789,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Project resource.\n\nTo decrease latency for this method, you can optionally omit any unneeded\ninformation from the response by using a field mask. This practice is\nespecially recommended for unused quota information (the `quotas` field).\nTo exclude one or more fields, set your request's `fields` query parameter\nto only include the fields you need. For example, to only include the `id`\nand `selfLink` fields, add the query parameter `?fields=id,selfLink` to\nyour request.",
"flatPath": "projects/{project}",
"httpMethod": "GET",
@@ -22505,6 +23817,7 @@
]
},
"getXpnHost": {
+ "apiVersion": "2026-09-01",
"description": "Gets the shared VPC host project that this project links to. May be empty\nif no link exists.",
"flatPath": "projects/{project}/getXpnHost",
"httpMethod": "GET",
@@ -22531,6 +23844,7 @@
]
},
"getXpnResources": {
+ "apiVersion": "2026-09-01",
"description": "Gets service resources (a.k.a service project) associated with this host\nproject.",
"flatPath": "projects/{project}/getXpnResources",
"httpMethod": "GET",
@@ -22568,11 +23882,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/getXpnResources",
@@ -22585,6 +23894,7 @@
]
},
"listXpnHosts": {
+ "apiVersion": "2026-09-01",
"description": "Lists all shared VPC host projects visible to the user in an organization.",
"flatPath": "projects/{project}/listXpnHosts",
"httpMethod": "POST",
@@ -22622,11 +23932,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/listXpnHosts",
@@ -22642,6 +23947,7 @@
]
},
"moveDisk": {
+ "apiVersion": "2026-09-01",
"deprecated": true,
"description": "Moves a persistent disk from one zone to another.\n*Note*: The moveDisk API will be deprecated on September 29, 2026.\n\nStarting September 29, 2025, you can't use the moveDisk API on new\nprojects. To move a disk to a different region or zone, follow the steps in\n[Change the location of a\ndisk](https://cloud.google.com/compute/docs/disks/migrate-to-hyperdisk#migrate-to-hd).\n\nProjects that already use the moveDisk API can continue usage until\nSeptember 29, 2026.\n\nStarting November 1, 2025, API responses will include a warning message in\nthe response body about the upcoming deprecation. You can skip the message\nto continue using the service without interruption.",
"flatPath": "projects/{project}/moveDisk",
@@ -22677,6 +23983,7 @@
]
},
"moveInstance": {
+ "apiVersion": "2026-09-01",
"deprecated": true,
"description": "Moves an instance and its attached persistent disks from one zone to\nanother.\n*Note*: Moving VMs or disks by using this method might\n cause unexpected behavior. For more information, see the [known\n issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior).\n[Deprecated] This method is deprecated. See [moving instance across\nzones](/compute/docs/instances/moving-instance-across-zones) instead.",
"flatPath": "projects/{project}/moveInstance",
@@ -22712,6 +24019,7 @@
]
},
"setCloudArmorTier": {
+ "apiVersion": "2026-09-01",
"description": "Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the\nbilling account of the project must be subscribed to Cloud Armor\nEnterprise. See Subscribing\nto Cloud Armor Enterprise for more information.",
"flatPath": "projects/{project}/setCloudArmorTier",
"httpMethod": "POST",
@@ -22746,6 +24054,7 @@
]
},
"setCommonInstanceMetadata": {
+ "apiVersion": "2026-09-01",
"description": "Sets metadata common to all instances within the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/setCommonInstanceMetadata",
"httpMethod": "POST",
@@ -22780,6 +24089,7 @@
]
},
"setDefaultNetworkTier": {
+ "apiVersion": "2026-09-01",
"description": "Sets the default network tier of the project. The default network tier is\nused when an address/forwardingRule/instance is created without specifying\nthe network tier field.",
"flatPath": "projects/{project}/setDefaultNetworkTier",
"httpMethod": "POST",
@@ -22814,6 +24124,7 @@
]
},
"setUsageExportBucket": {
+ "apiVersion": "2026-09-01",
"description": "Enables the usage export feature and sets theusage export bucket\nwhere reports are stored. If you provide an empty request body using this\nmethod, the usage export feature will be disabled.",
"flatPath": "projects/{project}/setUsageExportBucket",
"httpMethod": "POST",
@@ -22855,6 +24166,7 @@
"publicAdvertisedPrefixes": {
"methods": {
"announce": {
+ "apiVersion": "2026-09-01",
"description": "Announces the specified PublicAdvertisedPrefix",
"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce",
"httpMethod": "POST",
@@ -22893,6 +24205,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified PublicAdvertisedPrefix",
"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}",
"httpMethod": "DELETE",
@@ -22932,6 +24245,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified PublicAdvertisedPrefix resource.",
"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}",
"httpMethod": "GET",
@@ -22967,6 +24281,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a PublicAdvertisedPrefix in the specified project\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/global/publicAdvertisedPrefixes",
"httpMethod": "POST",
@@ -23001,6 +24316,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the PublicAdvertisedPrefixes for a project.",
"flatPath": "projects/{project}/global/publicAdvertisedPrefixes",
"httpMethod": "GET",
@@ -23038,11 +24354,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/publicAdvertisedPrefixes",
@@ -23056,6 +24367,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified Router resource with the data included in the\nrequest. This method supportsPATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}",
"httpMethod": "PATCH",
@@ -23098,6 +24410,7 @@
]
},
"withdraw": {
+ "apiVersion": "2026-09-01",
"description": "Withdraws the specified PublicAdvertisedPrefix",
"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw",
"httpMethod": "POST",
@@ -23140,6 +24453,7 @@
"publicDelegatedPrefixes": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Lists all PublicDelegatedPrefix resources owned by the specific project\nacross all scopes.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes",
"httpMethod": "GET",
@@ -23183,11 +24497,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -23206,6 +24515,7 @@
]
},
"announce": {
+ "apiVersion": "2026-09-01",
"description": "Announces the specified PublicDelegatedPrefix in the given region.",
"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce",
"httpMethod": "POST",
@@ -23251,6 +24561,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified PublicDelegatedPrefix in the given region.",
"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}",
"httpMethod": "DELETE",
@@ -23298,6 +24609,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified PublicDelegatedPrefix resource in the given region.",
"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}",
"httpMethod": "GET",
@@ -23341,6 +24653,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a PublicDelegatedPrefix in the specified project in the given\nregion using the parameters that are included in the request.",
"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes",
"httpMethod": "POST",
@@ -23383,6 +24696,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the PublicDelegatedPrefixes for a project in the given region.",
"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes",
"httpMethod": "GET",
@@ -23428,11 +24742,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes",
@@ -23446,6 +24755,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified PublicDelegatedPrefix resource with the data included\nin the request. This method supportsPATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}",
"httpMethod": "PATCH",
@@ -23496,6 +24806,7 @@
]
},
"withdraw": {
+ "apiVersion": "2026-09-01",
"description": "Withdraws the specified PublicDelegatedPrefix in the given region.",
"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw",
"httpMethod": "POST",
@@ -23545,6 +24856,7 @@
"regionAutoscalers": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified autoscaler.",
"flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}",
"httpMethod": "DELETE",
@@ -23592,6 +24904,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified autoscaler.",
"flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}",
"httpMethod": "GET",
@@ -23635,6 +24948,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an autoscaler in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/autoscalers",
"httpMethod": "POST",
@@ -23677,6 +24991,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of autoscalers contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/autoscalers",
"httpMethod": "GET",
@@ -23722,11 +25037,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/autoscalers",
@@ -23740,6 +25050,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates an autoscaler in the specified project using\nthe data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/autoscalers",
"httpMethod": "PATCH",
@@ -23788,6 +25099,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -23834,6 +25146,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates an autoscaler in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/autoscalers",
"httpMethod": "PUT",
@@ -23886,6 +25199,7 @@
"regionBackendBuckets": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified regional BackendBucket resource.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets/{backendBucket}",
"httpMethod": "DELETE",
@@ -23933,6 +25247,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified regional BackendBucket resource.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets/{backendBucket}",
"httpMethod": "GET",
@@ -23976,6 +25291,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -24025,6 +25341,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a RegionBackendBucket in the specified project in the given scope\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets",
"httpMethod": "POST",
@@ -24067,6 +25384,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of BackendBucket resources available to the specified\nproject in the given region.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets",
"httpMethod": "GET",
@@ -24112,11 +25430,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/backendBuckets",
@@ -24130,6 +25443,7 @@
]
},
"listUsable": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of all usable backend buckets in the specified project in\nthe given region.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets/listUsable",
"httpMethod": "GET",
@@ -24175,11 +25489,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/backendBuckets/listUsable",
@@ -24193,6 +25502,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified BackendBucket resource with the data included in the\nrequest. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets/{backendBucket}",
"httpMethod": "PATCH",
@@ -24243,6 +25553,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -24288,6 +25599,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/backendBuckets/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -24338,6 +25650,7 @@
"regionBackendServices": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified regional BackendService resource.",
"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}",
"httpMethod": "DELETE",
@@ -24385,6 +25698,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified regional BackendService resource.",
"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}",
"httpMethod": "GET",
@@ -24428,6 +25742,7 @@
]
},
"getHealth": {
+ "apiVersion": "2026-09-01",
"description": "Gets the most recent health check results for this\nregional BackendService.",
"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth",
"httpMethod": "POST",
@@ -24473,6 +25788,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -24522,6 +25838,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a regional BackendService resource in the specified project using\nthe data included in the request. For more information, see\nBackend services overview.",
"flatPath": "projects/{project}/regions/{region}/backendServices",
"httpMethod": "POST",
@@ -24564,6 +25881,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of regional BackendService resources available to the\nspecified project in the given region.",
"flatPath": "projects/{project}/regions/{region}/backendServices",
"httpMethod": "GET",
@@ -24609,11 +25927,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/backendServices",
@@ -24627,7 +25940,8 @@
]
},
"listUsable": {
- "description": "Retrieves a list of all usable backend services in the specified project in\nthe given region.",
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves a list of all usable backend services for Application Load\nBalancers and Proxy Network Load Balancers in the specified project in the\ngiven region. Backend services for external and internal passthrough\nNetwork Load Balancers are not included in the response.",
"flatPath": "projects/{project}/regions/{region}/backendServices/listUsable",
"httpMethod": "GET",
"id": "compute.regionBackendServices.listUsable",
@@ -24671,11 +25985,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/backendServices/listUsable",
@@ -24689,6 +25998,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified regional BackendService resource with the data\nincluded in the request. For more information, see \nUnderstanding backend services This method\nsupports PATCH semantics and uses the JSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}",
"httpMethod": "PATCH",
@@ -24739,6 +26049,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -24784,6 +26095,7 @@
]
},
"setSecurityPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the Google Cloud Armor security policy for the specified backend\nservice. For more information, seeGoogle\nCloud Armor Overview",
"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy",
"httpMethod": "POST",
@@ -24833,6 +26145,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -24879,6 +26192,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified regional BackendService resource with the data\nincluded in the request. For more information,\nsee \nBackend services overview.",
"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}",
"httpMethod": "PUT",
@@ -24933,6 +26247,7 @@
"regionCommitments": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of commitments by region.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/commitments",
"httpMethod": "GET",
@@ -24976,11 +26291,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -24999,6 +26309,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified commitment resource.",
"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}",
"httpMethod": "GET",
@@ -25042,6 +26353,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a commitment in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/commitments",
"httpMethod": "POST",
@@ -25084,6 +26396,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of commitments contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/commitments",
"httpMethod": "GET",
@@ -25129,11 +26442,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/commitments",
@@ -25147,6 +26455,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified commitment with the data included in the request.\nUpdate is performed only on selected fields included as part of\nupdate-mask. Only the following fields can be updated: auto_renew and plan.",
"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}",
"httpMethod": "PATCH",
@@ -25212,6 +26521,7 @@
"regionCompositeHealthChecks": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all CompositeHealthCheck resources (all\nregional) available to the specified project.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/compositeHealthChecks",
"httpMethod": "GET",
@@ -25255,11 +26565,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -25278,6 +26583,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified CompositeHealthCheck in the given region",
"flatPath": "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}",
"httpMethod": "DELETE",
@@ -25325,6 +26631,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified CompositeHealthCheck resource in the given region.",
"flatPath": "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}",
"httpMethod": "GET",
@@ -25368,6 +26675,7 @@
]
},
"getHealth": {
+ "apiVersion": "2026-09-01",
"description": "Gets the most recent health check results for this\nregional CompositeHealthCheck.",
"flatPath": "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}/getHealth",
"httpMethod": "GET",
@@ -25411,6 +26719,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Create a CompositeHealthCheck in the specified project in the given region\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/regions/{region}/compositeHealthChecks",
"httpMethod": "POST",
@@ -25453,6 +26762,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the CompositeHealthChecks for a project in the given region.",
"flatPath": "projects/{project}/regions/{region}/compositeHealthChecks",
"httpMethod": "GET",
@@ -25498,11 +26808,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/compositeHealthChecks",
@@ -25516,6 +26821,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified regional CompositeHealthCheck resource\nwith the data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}",
"httpMethod": "PATCH",
@@ -25565,6 +26871,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/compositeHealthChecks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -25615,6 +26922,7 @@
"regionDiskTypes": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified regional disk type.",
"flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}",
"httpMethod": "GET",
@@ -25658,6 +26966,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of regional disk types available to the specified project.",
"flatPath": "projects/{project}/regions/{region}/diskTypes",
"httpMethod": "GET",
@@ -25703,11 +27012,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/diskTypes",
@@ -25725,6 +27029,7 @@
"regionDisks": {
"methods": {
"addResourcePolicies": {
+ "apiVersion": "2026-09-01",
"description": "Adds existing resource policies to a regional disk. You can only add one\npolicy which will be applied to this disk for scheduling snapshot\ncreation.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies",
"httpMethod": "POST",
@@ -25775,6 +27080,7 @@
]
},
"bulkInsert": {
+ "apiVersion": "2026-09-01",
"description": "Bulk create a set of disks.",
"flatPath": "projects/{project}/regions/{region}/disks/bulkInsert",
"httpMethod": "POST",
@@ -25817,6 +27123,7 @@
]
},
"createSnapshot": {
+ "apiVersion": "2026-09-01",
"description": "Creates a snapshot of a specified persistent disk. For regular snapshot\ncreation, consider using snapshots.insert\ninstead, as that method supports more features, such as creating snapshots\nin a project different from the source disk project.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot",
"httpMethod": "POST",
@@ -25867,6 +27174,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified regional persistent disk. Deleting a regional disk\nremoves all the replicas of its data permanently and is irreversible.\nHowever, deleting a disk does not delete anysnapshots\npreviously made from the disk. You must separatelydelete\nsnapshots.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}",
"httpMethod": "DELETE",
@@ -25914,6 +27222,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns a specified regional persistent disk.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}",
"httpMethod": "GET",
@@ -25957,6 +27266,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -26006,6 +27316,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a persistent regional disk in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/disks",
"httpMethod": "POST",
@@ -26053,6 +27364,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of persistent disks contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/disks",
"httpMethod": "GET",
@@ -26098,11 +27410,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/disks",
@@ -26116,6 +27423,7 @@
]
},
"removeResourcePolicies": {
+ "apiVersion": "2026-09-01",
"description": "Removes resource policies from a regional disk.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies",
"httpMethod": "POST",
@@ -26166,6 +27474,7 @@
]
},
"resize": {
+ "apiVersion": "2026-09-01",
"description": "Resizes the specified regional persistent disk.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize",
"httpMethod": "POST",
@@ -26216,6 +27525,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -26261,6 +27571,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on the target regional disk.",
"flatPath": "projects/{project}/regions/{region}/disks/{resource}/setLabels",
"httpMethod": "POST",
@@ -26311,6 +27622,7 @@
]
},
"startAsyncReplication": {
+ "apiVersion": "2026-09-01",
"description": "Starts asynchronous replication.\nMust be invoked on the primary disk.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication",
"httpMethod": "POST",
@@ -26361,6 +27673,7 @@
]
},
"stopAsyncReplication": {
+ "apiVersion": "2026-09-01",
"description": "Stops asynchronous replication.\nCan be invoked either on the primary or on the secondary disk.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication",
"httpMethod": "POST",
@@ -26408,6 +27721,7 @@
]
},
"stopGroupAsyncReplication": {
+ "apiVersion": "2026-09-01",
"description": "Stops asynchronous replication for a consistency group of disks.\nCan be invoked either in the primary or secondary scope.",
"flatPath": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication",
"httpMethod": "POST",
@@ -26450,6 +27764,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -26496,6 +27811,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Update the specified disk with the data included in the request. Update is\nperformed only on selected fields included as part of update-mask.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}",
"httpMethod": "PATCH",
@@ -26557,6 +27873,7 @@
]
},
"updateKmsKey": {
+ "apiVersion": "2026-09-01",
"description": "Rotates the customer-managed\nencryption key to the latest version for the specified persistent disk.",
"flatPath": "projects/{project}/regions/{region}/disks/{disk}/updateKmsKey",
"httpMethod": "POST",
@@ -26610,6 +27927,7 @@
"regionHealthAggregationPolicies": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all HealthAggregationPolicy resources,\nregional and global, available to the specified project.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/healthAggregationPolicies",
"httpMethod": "GET",
@@ -26653,11 +27971,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -26676,6 +27989,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified HealthAggregationPolicy in the given region.",
"flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}",
"httpMethod": "DELETE",
@@ -26723,6 +28037,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified HealthAggregationPolicy resource in the given region.",
"flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}",
"httpMethod": "GET",
@@ -26766,6 +28081,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Create a HealthAggregationPolicy in the specified project in the given\nregion using the parameters that are included in the request.",
"flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies",
"httpMethod": "POST",
@@ -26808,6 +28124,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the HealthAggregationPolicies for a project in the given region.",
"flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies",
"httpMethod": "GET",
@@ -26853,11 +28170,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/healthAggregationPolicies",
@@ -26871,6 +28183,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified regional HealthAggregationPolicy\nresource with the data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}",
"httpMethod": "PATCH",
@@ -26920,6 +28233,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -26970,6 +28284,7 @@
"regionHealthCheckServices": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all HealthCheckService resources,\nregional and global, available to the specified project.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/healthCheckServices",
"httpMethod": "GET",
@@ -27013,11 +28328,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -27036,6 +28346,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified regional HealthCheckService.",
"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}",
"httpMethod": "DELETE",
@@ -27082,6 +28393,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified regional HealthCheckService resource.",
"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}",
"httpMethod": "GET",
@@ -27124,6 +28436,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a regional HealthCheckService resource in the\nspecified project and region using the data included in the request.",
"flatPath": "projects/{project}/regions/{region}/healthCheckServices",
"httpMethod": "POST",
@@ -27166,6 +28479,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists all the HealthCheckService resources that have been\nconfigured for the specified project in the given region.",
"flatPath": "projects/{project}/regions/{region}/healthCheckServices",
"httpMethod": "GET",
@@ -27211,11 +28525,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/healthCheckServices",
@@ -27229,6 +28538,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified regional HealthCheckService resource\nwith the data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}",
"httpMethod": "PATCH",
@@ -27278,6 +28588,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -27328,6 +28639,7 @@
"regionHealthChecks": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified HealthCheck resource.",
"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}",
"httpMethod": "DELETE",
@@ -27375,6 +28687,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified HealthCheck resource.",
"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}",
"httpMethod": "GET",
@@ -27418,6 +28731,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a HealthCheck resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/healthChecks",
"httpMethod": "POST",
@@ -27460,6 +28774,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of HealthCheck resources available to the specified\nproject.",
"flatPath": "projects/{project}/regions/{region}/healthChecks",
"httpMethod": "GET",
@@ -27505,11 +28820,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/healthChecks",
@@ -27523,6 +28833,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates a HealthCheck resource in the specified project using the data\nincluded in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}",
"httpMethod": "PATCH",
@@ -27573,6 +28884,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -27619,6 +28931,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates a HealthCheck resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}",
"httpMethod": "PUT",
@@ -27673,6 +28986,7 @@
"regionHealthSources": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all HealthSource resources (all\nregional) available to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/healthSources",
"httpMethod": "GET",
@@ -27716,11 +29030,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -27739,6 +29048,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified HealthSource in the given region",
"flatPath": "projects/{project}/regions/{region}/healthSources/{healthSource}",
"httpMethod": "DELETE",
@@ -27786,6 +29096,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified HealthSource resource in the given region.",
"flatPath": "projects/{project}/regions/{region}/healthSources/{healthSource}",
"httpMethod": "GET",
@@ -27829,6 +29140,7 @@
]
},
"getHealth": {
+ "apiVersion": "2026-09-01",
"description": "Gets the most recent health check results for this\nregional HealthSource.",
"flatPath": "projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth",
"httpMethod": "GET",
@@ -27872,6 +29184,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Create a HealthSource in the specified project in the given region\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/regions/{region}/healthSources",
"httpMethod": "POST",
@@ -27914,6 +29227,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the HealthSources for a project in the given region.",
"flatPath": "projects/{project}/regions/{region}/healthSources",
"httpMethod": "GET",
@@ -27959,11 +29273,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/healthSources",
@@ -27977,6 +29286,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified regional HealthSource resource\nwith the data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/healthSources/{healthSource}",
"httpMethod": "PATCH",
@@ -28026,6 +29336,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/healthSources/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -28076,6 +29387,7 @@
"regionInstanceGroupManagerResizeRequests": {
"methods": {
"cancel": {
+ "apiVersion": "2026-09-01",
"description": "Cancels the specified resize request.\nCancelled resize request no longer waits for the resources to be\nprovisioned. Cancel is only possible for requests that are in accepted\nstate.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel",
"httpMethod": "POST",
@@ -28128,6 +29440,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified, inactive resize request. Requests that are still\nactive cannot be deleted. Deleting request does not delete instances that\nwere provisioned previously.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}",
"httpMethod": "DELETE",
@@ -28180,6 +29493,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns all of the details about the specified resize request.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}",
"httpMethod": "GET",
@@ -28228,6 +29542,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new Resize Request that starts provisioning VMs immediately\nor queues VM creation.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests",
"httpMethod": "POST",
@@ -28276,6 +29591,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of Resize Requests that are contained in the\nmanaged instance group.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests",
"httpMethod": "GET",
@@ -28327,11 +29643,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests",
@@ -28349,6 +29660,7 @@
"regionInstanceGroupManagers": {
"methods": {
"abandonInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances to be immediately removed from the managed\ninstance group. Abandoning an instance does not delete the\ninstance, but it does remove the instance from any target pools that are\napplied by the managed instance group. This method reduces thetargetSize of the managed instance group by the\nnumber of instances that you abandon. This operation is marked asDONE when the action is scheduled even if the instances have\nnot yet been removed from the group. You must separately verify the\nstatus of the abandoning action with thelistmanagedinstances\nmethod.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances",
"httpMethod": "POST",
@@ -28397,6 +29709,7 @@
]
},
"applyUpdatesToInstances": {
+ "apiVersion": "2026-09-01",
"description": "Apply updates to selected instances the managed instance group.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances",
"httpMethod": "POST",
@@ -28440,6 +29753,7 @@
]
},
"createInstances": {
+ "apiVersion": "2026-09-01",
"description": "Creates instances with per-instance configurations in this regional managed\ninstance group. Instances are created using the current instance template.\nThe create instances operation is marked DONE if\nthe createInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances\nmethod.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances",
"httpMethod": "POST",
@@ -28488,6 +29802,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified managed instance group and all of the instances\nin that group.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}",
"httpMethod": "DELETE",
@@ -28504,6 +29819,12 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "default": "false",
+ "description": "When set, graceful shutdown is skipped for instance deletion even if it's\nconfigured for the instances.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -28533,6 +29854,7 @@
]
},
"deleteInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nimmediately deleted. The instances are also removed from any target\npools of which they were a member. This method reduces thetargetSize of the managed instance group by the number of\ninstances that you delete.\nThe deleteInstances operation is marked DONE if\nthe deleteInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of thedeleting action with thelistmanagedinstances\nmethod.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances",
"httpMethod": "POST",
@@ -28549,6 +29871,12 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "default": "false",
+ "description": "When set, graceful shutdown is skipped for instance deletion even if it's\nconfigured for the instances.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -28581,6 +29909,7 @@
]
},
"deletePerInstanceConfigs": {
+ "apiVersion": "2026-09-01",
"description": "Deletes selected per-instance configurations for the managed instance\ngroup.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs",
"httpMethod": "POST",
@@ -28624,6 +29953,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns all of the details about the specified managed instance group.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}",
"httpMethod": "GET",
@@ -28665,6 +29995,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a managed instance group using the information that you specify\nin the request. After the group is created, instances in the group are\ncreated using the specified instance template.\nThis operation is marked as DONE when the group is created\neven if the instances in the group have not yet been created. You must\nseparately verify the status of the individual instances with thelistmanagedinstances\nmethod.\n\nA regional managed instance group can contain up to 2000 instances.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers",
"httpMethod": "POST",
@@ -28706,6 +30037,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of managed instance groups that are contained\nwithin the specified region.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers",
"httpMethod": "GET",
@@ -28750,11 +30082,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instanceGroupManagers",
@@ -28768,6 +30095,7 @@
]
},
"listErrors": {
+ "apiVersion": "2026-09-01",
"description": "Lists all errors thrown by actions on instances for a given regional\nmanaged instance group. The filter andorderBy query parameters are not supported.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors",
"httpMethod": "GET",
@@ -28819,11 +30147,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors",
@@ -28837,6 +30160,7 @@
]
},
"listManagedInstances": {
+ "apiVersion": "2026-09-01",
"description": "Lists the instances in the managed instance group and instances that are\nscheduled to be created. The list includes any current actions\nthat the group has scheduled for its instances. The orderBy\nquery parameter is not supported. The `pageToken` query parameter is\nsupported only if the group's `listManagedInstancesResults` field is set\nto `PAGINATED`.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances",
"httpMethod": "POST",
@@ -28888,11 +30212,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances",
@@ -28906,6 +30225,7 @@
]
},
"listPerInstanceConfigs": {
+ "apiVersion": "2026-09-01",
"description": "Lists all of the per-instance configurations defined for the managed\ninstance group. The orderBy query parameter is not supported.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs",
"httpMethod": "POST",
@@ -28957,11 +30277,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs",
@@ -28975,6 +30290,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates a managed instance group using the information that you specify\nin the request.\nThis operation is marked as DONE when the group is patched\neven if the instances in the group are still in the process of being\npatched. You must separately verify the status of the individual instances\nwith the listmanagedinstances\nmethod. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.\n\nIf you update your group to specify a new template or instance\nconfiguration, it's possible that your intended specification for each VM\nin the group is different from the current state of that VM. To learn how\nto apply an updated configuration to the VMs in a MIG, seeUpdating instances in\na MIG.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}",
"httpMethod": "PATCH",
@@ -29023,6 +30339,7 @@
]
},
"patchPerInstanceConfigs": {
+ "apiVersion": "2026-09-01",
"description": "Inserts or patches per-instance configurations for the managed instance\ngroup. perInstanceConfig.name serves as a key used to\ndistinguish whether to perform insert or patch.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs",
"httpMethod": "POST",
@@ -29071,6 +30388,7 @@
]
},
"recreateInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified VM instances in the managed instance group to be\nimmediately recreated. Each instance is recreated using the group's current\nconfiguration. This operation is marked as DONE when the flag\nis set even if the instances have not yet been recreated. You must\nseparately verify the status of each instance by checking itscurrentAction field; for more information, see Checking\nthe status of managed instances.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances",
"httpMethod": "POST",
@@ -29087,6 +30405,12 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "default": "false",
+ "description": "When set, graceful shutdown is skipped for instance recreation even if it's\nconfigured for the instances.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -29119,6 +30443,7 @@
]
},
"resize": {
+ "apiVersion": "2026-09-01",
"description": "Changes the intended size of the managed instance group. If you increase\nthe size, the group creates new instances using the current instance\ntemplate. If you decrease the size, the group deletes one or more\ninstances.\n\nThe resize operation is marked DONE if theresize request is successful. The underlying actions take\nadditional time. You must separately verify the status of thecreating or deleting actions with thelistmanagedinstances\nmethod.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is removed or deleted.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize",
"httpMethod": "POST",
@@ -29173,6 +30498,7 @@
]
},
"resumeInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nresumed. This method increases thetargetSize and decreases the targetSuspendedSize\nof the managed instance group by the number of instances that you resume.\nThe resumeInstances operation is marked DONE if\nthe resumeInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of theRESUMING action with thelistmanagedinstances\nmethod.\n\nIn this request, you can only specify instances that are suspended. For\nexample, if an instance was previously suspended using the suspendInstances\nmethod, it can be resumed using the resumeInstances method.\n\nIf a health check is attached to the managed instance group, the specified\ninstances will be verified as healthy after they are resumed.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances",
"httpMethod": "POST",
@@ -29221,6 +30547,7 @@
]
},
"setInstanceTemplate": {
+ "apiVersion": "2026-09-01",
"description": "Sets the instance template to use when creating new instances or recreating\ninstances in this group. Existing instances are not affected.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate",
"httpMethod": "POST",
@@ -29269,6 +30596,7 @@
]
},
"setTargetPools": {
+ "apiVersion": "2026-09-01",
"description": "Modifies the target pools to which all new instances in this group are\nassigned. Existing instances in the group are not affected.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools",
"httpMethod": "POST",
@@ -29317,6 +30645,7 @@
]
},
"startInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nstarted. This method increases thetargetSize and decreases the targetStoppedSize\nof the managed instance group by the number of instances that you start.\nThe startInstances operation is marked DONE if\nthe startInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of theSTARTING action with thelistmanagedinstances\nmethod.\n\nIn this request, you can only specify instances that are stopped. For\nexample, if an instance was previously stopped using the stopInstances\nmethod, it can be started using the startInstances method.\n\nIf a health check is attached to the managed instance group, the specified\ninstances will be verified as healthy after they are started.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances",
"httpMethod": "POST",
@@ -29365,6 +30694,7 @@
]
},
"stopInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nimmediately stopped. You can only specify instances that are running in\nthis request. This method reduces thetargetSize and increases the targetStoppedSize\nof the managed instance group by the number of instances that you stop.\nThe stopInstances operation is marked DONE if\nthe stopInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of theSTOPPING action with thelistmanagedinstances\nmethod.\n\nIf the standbyPolicy.initialDelaySec field is set, the group\ndelays stopping the instances until initialDelaySec have\npassed from instance.creationTimestamp (that is, when the\ninstance was created). This delay gives your application time to\nset itself up and initialize on the instance. If more thaninitialDelaySec seconds have passed sinceinstance.creationTimestamp when this method is called, there\nwill be zero delay.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is stopped.\n\nStopped instances can be started using the startInstances\nmethod.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances",
"httpMethod": "POST",
@@ -29381,6 +30711,12 @@
"required": true,
"type": "string"
},
+ "noGracefulShutdown": {
+ "default": "false",
+ "description": "When set, graceful shutdown is skipped for instance stopping even if it's\nconfigured for the instances.",
+ "location": "query",
+ "type": "boolean"
+ },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -29413,6 +30749,7 @@
]
},
"suspendInstances": {
+ "apiVersion": "2026-09-01",
"description": "Flags the specified instances in the managed instance group to be\nimmediately suspended. You can only specify instances that are running in\nthis request. This method reduces thetargetSize and increases the targetSuspendedSize\nof the managed instance group by the number of instances that you suspend.\nThe suspendInstances operation is marked DONE if\nthe suspendInstances request is successful. The underlying\nactions take additional time. You must separately verify the status of theSUSPENDING action with thelistmanagedinstances\nmethod.\n\nIf the standbyPolicy.initialDelaySec field is set, the group\ndelays suspension of the instances until initialDelaySec have\npassed from instance.creationTimestamp (that is, when the\ninstance was created). This delay gives your application time to\nset itself up and initialize on the instance. If more thaninitialDelaySec seconds have passed sinceinstance.creationTimestamp when this method is called, there\nwill be zero delay.\n\nIf the group is part of a backend\nservice that has enabled\nconnection draining, it can take up to 60 seconds after the connection\ndraining duration has elapsed before the VM instance is suspended.\n\nSuspended instances can be resumed using the resumeInstances\nmethod.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances",
"httpMethod": "POST",
@@ -29461,6 +30798,7 @@
]
},
"updatePerInstanceConfigs": {
+ "apiVersion": "2026-09-01",
"description": "Inserts or updates per-instance configurations for the managed instance\ngroup. perInstanceConfig.name serves as a key used to\ndistinguish whether to perform insert or patch.",
"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs",
"httpMethod": "POST",
@@ -29513,6 +30851,7 @@
"regionInstanceGroups": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified instance group resource.",
"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}",
"httpMethod": "GET",
@@ -29554,6 +30893,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of instance group resources contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/instanceGroups",
"httpMethod": "GET",
@@ -29598,11 +30938,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instanceGroups",
@@ -29616,6 +30951,7 @@
]
},
"listInstances": {
+ "apiVersion": "2026-09-01",
"description": "Lists the instances in the specified instance group and displays\ninformation about the named ports. Depending on the specified options, this\nmethod can list all instances or only the instances that are running.\nThe orderBy query parameter is not supported.",
"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances",
"httpMethod": "POST",
@@ -29667,11 +31003,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances",
@@ -29688,6 +31019,7 @@
]
},
"setNamedPorts": {
+ "apiVersion": "2026-09-01",
"description": "Sets the named ports for the specified regional instance group.",
"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts",
"httpMethod": "POST",
@@ -29736,6 +31068,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -29786,6 +31119,7 @@
"regionInstanceTemplates": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified instance template. Deleting an instance template is\npermanent and cannot be undone.",
"flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}",
"httpMethod": "DELETE",
@@ -29833,6 +31167,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified instance template.",
"flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}",
"httpMethod": "GET",
@@ -29876,6 +31211,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an instance template in the specified project and region using the\nglobal instance template whose URL is included in the request.",
"flatPath": "projects/{project}/regions/{region}/instanceTemplates",
"httpMethod": "POST",
@@ -29918,6 +31254,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of instance templates that are contained within the\nspecified project and region.",
"flatPath": "projects/{project}/regions/{region}/instanceTemplates",
"httpMethod": "GET",
@@ -29963,11 +31300,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instanceTemplates",
@@ -29985,6 +31317,7 @@
"regionInstances": {
"methods": {
"bulkInsert": {
+ "apiVersion": "2026-09-01",
"description": "Creates multiple instances in a given region. Count specifies the number of\ninstances to create.",
"flatPath": "projects/{project}/regions/{region}/instances/bulkInsert",
"httpMethod": "POST",
@@ -30031,6 +31364,7 @@
"regionInstantSnapshotGroups": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "deletes a Regional InstantSnapshotGroup resource",
"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}",
"httpMethod": "DELETE",
@@ -30078,6 +31412,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "returns the specified InstantSnapshotGroup resource in the specified\nregion.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}",
"httpMethod": "GET",
@@ -30121,6 +31456,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -30170,6 +31506,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "creates a Regional InstantSnapshotGroup resource",
"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups",
"httpMethod": "POST",
@@ -30217,6 +31554,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "retrieves the list of InstantSnapshotGroup resources contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups",
"httpMethod": "GET",
@@ -30262,11 +31600,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instantSnapshotGroups",
@@ -30280,6 +31613,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -30325,6 +31659,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -30375,6 +31710,7 @@
"regionInstantSnapshots": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting\na single instantSnapshot might not necessarily delete all the data on that\ninstantSnapshot. If any data on the instantSnapshot that is marked for\ndeletion is needed for subsequent instantSnapshots, the data will be moved\nto the next corresponding instantSnapshot.\n\nFor more information, seeDeleting\ninstantSnapshots.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}",
"httpMethod": "DELETE",
@@ -30422,6 +31758,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified InstantSnapshot resource in the specified region.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}",
"httpMethod": "GET",
@@ -30465,6 +31802,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -30514,6 +31852,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates an instant snapshot in the specified region.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshots",
"httpMethod": "POST",
@@ -30556,6 +31895,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of InstantSnapshot resources contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshots",
"httpMethod": "GET",
@@ -30601,11 +31941,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/instantSnapshots",
@@ -30619,6 +31954,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -30664,6 +32000,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a instantSnapshot in the given region. To learn more\nabout labels, read the Labeling\nResources documentation.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels",
"httpMethod": "POST",
@@ -30714,6 +32051,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -30764,6 +32102,7 @@
"regionNetworkEndpointGroups": {
"methods": {
"attachNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Attach a list of network endpoints to the specified network endpoint group.",
"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints",
"httpMethod": "POST",
@@ -30812,6 +32151,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified network endpoint group. Note that the NEG cannot be\ndeleted if it is configured as a backend of a backend service.",
"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}",
"httpMethod": "DELETE",
@@ -30857,6 +32197,7 @@
]
},
"detachNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Detach the network endpoint from the specified network endpoint group.",
"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints",
"httpMethod": "POST",
@@ -30905,6 +32246,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified network endpoint group.",
"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}",
"httpMethod": "GET",
@@ -30946,6 +32288,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API",
"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups",
"httpMethod": "POST",
@@ -30987,6 +32330,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of regional network endpoint groups available to the\nspecified project in the given region.",
"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups",
"httpMethod": "GET",
@@ -31031,11 +32375,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/networkEndpointGroups",
@@ -31049,6 +32388,7 @@
]
},
"listNetworkEndpoints": {
+ "apiVersion": "2026-09-01",
"description": "Lists the network endpoints in the specified network endpoint group.",
"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints",
"httpMethod": "POST",
@@ -31100,11 +32440,6 @@
"location": "path",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints",
@@ -31122,6 +32457,7 @@
"regionNetworkFirewallPolicies": {
"methods": {
"addAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Inserts an association for the specified network firewall policy.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation",
"httpMethod": "POST",
@@ -31132,6 +32468,12 @@
"firewallPolicy"
],
"parameters": {
+ "associatedPolicyToBeReplaced": {
+ "description": "Name of the firewall policy associated with the target network to swap\nassociation with. This field is mutually exclusive with\n'replace_existing_association'.",
+ "location": "query",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "type": "string"
+ },
"firewallPolicy": {
"description": "Name of the firewall policy to update.",
"location": "path",
@@ -31177,6 +32519,7 @@
]
},
"addRule": {
+ "apiVersion": "2026-09-01",
"description": "Inserts a rule into a network firewall policy.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule",
"httpMethod": "POST",
@@ -31239,6 +32582,7 @@
]
},
"cloneRules": {
+ "apiVersion": "2026-09-01",
"description": "Copies rules to the specified network firewall policy.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules",
"httpMethod": "POST",
@@ -31291,6 +32635,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified network firewall policy.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}",
"httpMethod": "DELETE",
@@ -31338,6 +32683,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified network firewall policy.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}",
"httpMethod": "GET",
@@ -31381,6 +32727,7 @@
]
},
"getAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Gets an association with the specified name.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation",
"httpMethod": "GET",
@@ -31429,6 +32776,7 @@
]
},
"getEffectiveFirewalls": {
+ "apiVersion": "2026-09-01",
"description": "Returns the effective firewalls on a given network.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls",
"httpMethod": "GET",
@@ -31471,6 +32819,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -31520,6 +32869,7 @@
]
},
"getRule": {
+ "apiVersion": "2026-09-01",
"description": "Gets a rule of the specified priority.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule",
"httpMethod": "GET",
@@ -31569,6 +32919,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new network firewall policy in the specified project and region.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies",
"httpMethod": "POST",
@@ -31611,6 +32962,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists all the network firewall policies that have been configured\nfor the specified project in the given region.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies",
"httpMethod": "GET",
@@ -31656,11 +33008,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/firewallPolicies",
@@ -31674,6 +33021,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified network firewall policy.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}",
"httpMethod": "PATCH",
@@ -31723,7 +33071,59 @@
"https://www.googleapis.com/auth/compute"
]
},
+ "patchAssociation": {
+ "apiVersion": "2026-09-01",
+ "description": "Updates an association for the specified network firewall policy.",
+ "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation",
+ "httpMethod": "POST",
+ "id": "compute.regionNetworkFirewallPolicies.patchAssociation",
+ "parameterOrder": [
+ "project",
+ "region",
+ "firewallPolicy"
+ ],
+ "parameters": {
+ "firewallPolicy": {
+ "description": "Name of the firewall policy to update.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Name of the region scoping this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation",
+ "request": {
+ "$ref": "FirewallPolicyAssociation"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"patchRule": {
+ "apiVersion": "2026-09-01",
"description": "Patches a rule of the specified priority.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule",
"httpMethod": "POST",
@@ -31780,6 +33180,7 @@
]
},
"removeAssociation": {
+ "apiVersion": "2026-09-01",
"description": "Removes an association for the specified network firewall policy.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation",
"httpMethod": "POST",
@@ -31832,6 +33233,7 @@
]
},
"removeRule": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a rule of the specified priority.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule",
"httpMethod": "POST",
@@ -31885,6 +33287,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -31930,6 +33333,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -31980,6 +33384,7 @@
"regionNotificationEndpoints": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all NotificationEndpoint resources,\nregional and global, available to the specified project.",
"flatPath": "projects/{project}/aggregated/notificationEndpoints",
"httpMethod": "GET",
@@ -32023,11 +33428,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -32046,6 +33446,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified NotificationEndpoint in the given region",
"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}",
"httpMethod": "DELETE",
@@ -32093,6 +33494,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified NotificationEndpoint resource in the given region.",
"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}",
"httpMethod": "GET",
@@ -32136,6 +33538,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Create a NotificationEndpoint in the specified project in the given region\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/regions/{region}/notificationEndpoints",
"httpMethod": "POST",
@@ -32178,6 +33581,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the NotificationEndpoints for a project in the given region.",
"flatPath": "projects/{project}/regions/{region}/notificationEndpoints",
"httpMethod": "GET",
@@ -32223,11 +33627,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/notificationEndpoints",
@@ -32241,6 +33640,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -32291,6 +33691,7 @@
"regionOperations": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified region-specific Operations resource.",
"flatPath": "projects/{project}/regions/{region}/operations/{operation}",
"httpMethod": "DELETE",
@@ -32330,6 +33731,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the specified region-specific Operations resource.",
"flatPath": "projects/{project}/regions/{region}/operations/{operation}",
"httpMethod": "GET",
@@ -32373,6 +33775,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of Operation resources contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/operations",
"httpMethod": "GET",
@@ -32418,11 +33821,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/operations",
@@ -32436,6 +33834,7 @@
]
},
"wait": {
+ "apiVersion": "2026-09-01",
"description": "Waits for the specified Operation resource to return as `DONE`\nor for the request to approach the 2 minute deadline, and retrieves the\nspecified Operation resource. This method differs from the\n`GET` method in that it waits for no more than the default\ndeadline (2 minutes) and then returns the current state of the operation,\nwhich might be `DONE` or still in progress.\n\nThis method is called on a best-effort basis. Specifically:\n \n \n - In uncommon cases, when the server is overloaded, the request might\n return before the default deadline is reached, or might return after zero\n seconds.\n - If the default deadline is reached, there is no guarantee that the\n operation is actually done when the method returns. Be prepared to retry\n if the operation is not `DONE`.",
"flatPath": "projects/{project}/regions/{region}/operations/{operation}/wait",
"httpMethod": "POST",
@@ -32483,6 +33882,7 @@
"regionSecurityPolicies": {
"methods": {
"addRule": {
+ "apiVersion": "2026-09-01",
"description": "Inserts a rule into a security policy.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule",
"httpMethod": "POST",
@@ -32533,6 +33933,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified policy.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}",
"httpMethod": "DELETE",
@@ -32580,6 +33981,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "List all of the ordered rules present in a single specified policy.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}",
"httpMethod": "GET",
@@ -32623,6 +34025,7 @@
]
},
"getRule": {
+ "apiVersion": "2026-09-01",
"description": "Gets a rule at the specified priority.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule",
"httpMethod": "GET",
@@ -32672,6 +34075,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new policy in the specified project using the data included in\nthe request.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies",
"httpMethod": "POST",
@@ -32719,6 +34123,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "List all the policies that have been configured for the specified project\nand region.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies",
"httpMethod": "GET",
@@ -32764,11 +34169,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/securityPolicies",
@@ -32782,6 +34182,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified policy with the data included in the request. To\nclear fields in the policy, leave the fields empty and specify them in the\nupdateMask. This cannot be used to be update the rules in the policy.\nPlease use the per rule methods like addRule, patchRule, and removeRule\ninstead.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}",
"httpMethod": "PATCH",
@@ -32838,6 +34239,7 @@
]
},
"patchRule": {
+ "apiVersion": "2026-09-01",
"description": "Patches a rule at the specified priority. To clear fields in the rule,\nleave the fields empty and specify them in the updateMask.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule",
"httpMethod": "POST",
@@ -32900,6 +34302,7 @@
]
},
"removeRule": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a rule at the specified priority.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule",
"httpMethod": "POST",
@@ -32948,6 +34351,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a security policy. To learn more about labels,\nread the Labeling Resources\ndocumentation.",
"flatPath": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels",
"httpMethod": "POST",
@@ -33002,6 +34406,7 @@
"regionSnapshotSettings": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Get region snapshot settings.",
"flatPath": "projects/{project}/regions/{region}/snapshotSettings",
"httpMethod": "GET",
@@ -33037,6 +34442,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patch region snapshot settings.",
"flatPath": "projects/{project}/regions/{region}/snapshotSettings",
"httpMethod": "PATCH",
@@ -33089,6 +34495,7 @@
"regionSnapshots": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified Snapshot resource. Keep in mind that deleting\na single snapshot might not necessarily delete all the data on that\nsnapshot. If any data on the snapshot that is marked for deletion is\nneeded for subsequent snapshots, the data will be moved to the next\ncorresponding snapshot.\n\nFor more information, seeDeleting\nsnapshots.",
"flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}",
"httpMethod": "DELETE",
@@ -33136,6 +34543,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Snapshot resource.",
"flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}",
"httpMethod": "GET",
@@ -33179,6 +34587,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -33228,6 +34637,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a snapshot in the specified region using the data included\nin the request.",
"flatPath": "projects/{project}/regions/{region}/snapshots",
"httpMethod": "POST",
@@ -33270,6 +34680,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of Snapshot resources contained within\nthe specified region.",
"flatPath": "projects/{project}/regions/{region}/snapshots",
"httpMethod": "GET",
@@ -33315,11 +34726,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/snapshots",
@@ -33333,6 +34739,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -33378,6 +34785,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a regional snapshot. To learn more about labels, read\nthe Labeling Resources\ndocumentation.",
"flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/setLabels",
"httpMethod": "POST",
@@ -33428,6 +34836,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -33474,6 +34883,7 @@
]
},
"updateKmsKey": {
+ "apiVersion": "2026-09-01",
"description": "Rotates the customer-managed\nencryption key to the latest version for the specified snapshot.",
"flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}/updateKmsKey",
"httpMethod": "POST",
@@ -33528,6 +34938,7 @@
"regionSslCertificates": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified SslCertificate resource in the region.",
"flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}",
"httpMethod": "DELETE",
@@ -33575,6 +34986,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified SslCertificate resource in the specified region. Get\na list of available SSL certificates by making a list()\nrequest.",
"flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}",
"httpMethod": "GET",
@@ -33618,6 +35030,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a SslCertificate resource in the specified project and region using\nthe data included in the request",
"flatPath": "projects/{project}/regions/{region}/sslCertificates",
"httpMethod": "POST",
@@ -33660,6 +35073,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of SslCertificate resources available to the specified\nproject in the specified region.",
"flatPath": "projects/{project}/regions/{region}/sslCertificates",
"httpMethod": "GET",
@@ -33705,11 +35119,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/sslCertificates",
@@ -33727,6 +35136,7 @@
"regionSslPolicies": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified SSL policy. The SSL policy resource can be deleted\nonly if it is not in use by any TargetHttpsProxy or TargetSslProxy\nresources.",
"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}",
"httpMethod": "DELETE",
@@ -33773,6 +35183,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Lists all of the ordered rules present in a single specified policy.",
"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}",
"httpMethod": "GET",
@@ -33815,6 +35226,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new policy in the specified project and region using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/sslPolicies",
"httpMethod": "POST",
@@ -33857,6 +35269,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists all the SSL policies that have been configured for the specified\nproject and region.",
"flatPath": "projects/{project}/regions/{region}/sslPolicies",
"httpMethod": "GET",
@@ -33902,11 +35315,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/sslPolicies",
@@ -33920,6 +35328,7 @@
]
},
"listAvailableFeatures": {
+ "apiVersion": "2026-09-01",
"description": "Lists all features that can be specified in the SSL policy when using\ncustom profile.",
"flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures",
"httpMethod": "GET",
@@ -33965,11 +35374,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures",
@@ -33983,6 +35387,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified SSL policy with the data included in the request.",
"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}",
"httpMethod": "PATCH",
@@ -34036,6 +35441,7 @@
"regionTargetHttpProxies": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetHttpProxy resource.",
"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}",
"httpMethod": "DELETE",
@@ -34083,6 +35489,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetHttpProxy resource in the specified region.",
"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}",
"httpMethod": "GET",
@@ -34126,6 +35533,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetHttpProxy resource in the specified project and region\nusing the data included in the request.",
"flatPath": "projects/{project}/regions/{region}/targetHttpProxies",
"httpMethod": "POST",
@@ -34168,6 +35576,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of TargetHttpProxy resources available\nto the specified project in the specified region.",
"flatPath": "projects/{project}/regions/{region}/targetHttpProxies",
"httpMethod": "GET",
@@ -34213,11 +35622,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/targetHttpProxies",
@@ -34231,6 +35635,7 @@
]
},
"setUrlMap": {
+ "apiVersion": "2026-09-01",
"description": "Changes the URL map for TargetHttpProxy.",
"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap",
"httpMethod": "POST",
@@ -34285,6 +35690,7 @@
"regionTargetHttpsProxies": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetHttpsProxy resource.",
"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}",
"httpMethod": "DELETE",
@@ -34332,6 +35738,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetHttpsProxy resource in the specified region.",
"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}",
"httpMethod": "GET",
@@ -34375,6 +35782,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetHttpsProxy resource in the specified project and region\nusing the data included in the request.",
"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies",
"httpMethod": "POST",
@@ -34417,6 +35825,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of TargetHttpsProxy resources available\nto the specified project in the specified region.",
"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies",
"httpMethod": "GET",
@@ -34462,11 +35871,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/targetHttpsProxies",
@@ -34480,6 +35884,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified regional TargetHttpsProxy resource with the data\nincluded in the request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}",
"httpMethod": "PATCH",
@@ -34530,6 +35935,7 @@
]
},
"setSslCertificates": {
+ "apiVersion": "2026-09-01",
"description": "Replaces SslCertificates for TargetHttpsProxy.",
"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates",
"httpMethod": "POST",
@@ -34580,6 +35986,7 @@
]
},
"setUrlMap": {
+ "apiVersion": "2026-09-01",
"description": "Changes the URL map for TargetHttpsProxy.",
"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap",
"httpMethod": "POST",
@@ -34634,6 +36041,7 @@
"regionTargetTcpProxies": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetTcpProxy resource.",
"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}",
"httpMethod": "DELETE",
@@ -34681,6 +36089,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetTcpProxy resource.",
"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}",
"httpMethod": "GET",
@@ -34724,6 +36133,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetTcpProxy resource in the specified project and region using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/targetTcpProxies",
"httpMethod": "POST",
@@ -34766,6 +36176,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of TargetTcpProxy resources\navailable to the specified project in a given region.",
"flatPath": "projects/{project}/regions/{region}/targetTcpProxies",
"httpMethod": "GET",
@@ -34811,11 +36222,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/targetTcpProxies",
@@ -34833,6 +36239,7 @@
"regionUrlMaps": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified UrlMap resource.",
"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}",
"httpMethod": "DELETE",
@@ -34880,6 +36287,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified UrlMap resource.",
"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}",
"httpMethod": "GET",
@@ -34923,6 +36331,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a UrlMap resource in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/urlMaps",
"httpMethod": "POST",
@@ -34965,6 +36374,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of UrlMap resources available to the specified\nproject in the specified region.",
"flatPath": "projects/{project}/regions/{region}/urlMaps",
"httpMethod": "GET",
@@ -35010,11 +36420,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/urlMaps",
@@ -35028,6 +36433,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified UrlMap resource with the data included in the\nrequest. This method supportsPATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}",
"httpMethod": "PATCH",
@@ -35078,6 +36484,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified UrlMap resource with the data included in the\nrequest.",
"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}",
"httpMethod": "PUT",
@@ -35128,6 +36535,7 @@
]
},
"validate": {
+ "apiVersion": "2026-09-01",
"description": "Runs static validation for the UrlMap. In particular, the tests of the\nprovided UrlMap will be run. Calling this method does NOT create the\nUrlMap.",
"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate",
"httpMethod": "POST",
@@ -35177,6 +36585,7 @@
"regionZones": {
"methods": {
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of Zone resources under the specific region available to\nthe specified project.",
"flatPath": "projects/{project}/regions/{region}/zones",
"httpMethod": "GET",
@@ -35222,11 +36631,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/zones",
@@ -35244,6 +36648,7 @@
"regions": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Region resource.\n\nTo decrease latency for this method, you can optionally omit any unneeded\ninformation from the response by using a field mask. This practice is\nespecially recommended for unused quota information (the `quotas` field).\nTo exclude one or more fields, set your request's `fields` query parameter\nto only include the fields you need. For example, to only include the `id`\nand `selfLink` fields, add the query parameter `?fields=id,selfLink` to\nyour request.\n\nThis method fails if the quota information is unavailable for the region\nand if the organization policy constraint\ncompute.requireBasicQuotaInResponse is enforced. This\nconstraint, when enforced, disables the fail-open behaviour when quota\ninformation (the `items.quotas` field) is unavailable for the region.\nIt is recommended to use the default setting\nfor the constraint unless your application requires the fail-closed\nbehaviour for this method.",
"flatPath": "projects/{project}/regions/{region}",
"httpMethod": "GET",
@@ -35279,6 +36684,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of region resources available to the specified project.\n\nTo decrease latency for this method, you can optionally omit any unneeded\ninformation from the response by using a field mask. This practice is\nespecially recommended for unused quota information\n(the `items.quotas` field).\nTo exclude one or more fields, set your request's `fields` query parameter\nto only include the fields you need. For example, to only include the `id`\nand `selfLink` fields, add the query parameter `?fields=id,selfLink` to\nyour request.\n\nThis method fails if the quota information is unavailable for the region\nand if the organization policy constraint\ncompute.requireBasicQuotaInResponse is enforced. This\nconstraint, when enforced, disables the fail-open behaviour when quota\ninformation (the `items.quotas` field) is unavailable for the region.\nIt is recommended to use the default setting\nfor the constraint unless your application requires the fail-closed\nbehaviour for this method.",
"flatPath": "projects/{project}/regions",
"httpMethod": "GET",
@@ -35316,11 +36722,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions",
@@ -35335,95 +36736,19 @@
}
}
},
- "reservationBlocks": {
+ "reliabilityRisks": {
"methods": {
"get": {
- "description": "Retrieves information about the specified reservation block.",
- "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}",
- "httpMethod": "GET",
- "id": "compute.reservationBlocks.get",
- "parameterOrder": [
- "project",
- "zone",
- "reservation",
- "reservationBlock"
- ],
- "parameters": {
- "project": {
- "description": "Project ID for this request.",
- "location": "path",
- "required": true,
- "type": "string"
- },
- "reservation": {
- "description": "The name of the reservation.\nName should conform to RFC1035 or be a resource ID.",
- "location": "path",
- "required": true,
- "type": "string"
- },
- "reservationBlock": {
- "description": "The name of the reservation block.\nName should conform to RFC1035 or be a resource ID.",
- "location": "path",
- "required": true,
- "type": "string"
- },
- "view": {
- "description": "View of the Block.",
- "enum": [
- "BASIC",
- "BLOCK_VIEW_UNSPECIFIED",
- "FULL"
- ],
- "enumDescriptions": [
- "This view includes basic information about the reservation block",
- "The default / unset value. The API will default to the BASIC view.",
- "Includes detailed topology view."
- ],
- "location": "query",
- "type": "string"
- },
- "zone": {
- "description": "Name of the zone for this request. Zone name should conform to RFC1035.",
- "location": "path",
- "required": true,
- "type": "string"
- }
- },
- "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}",
- "response": {
- "$ref": "ReservationBlocksGetResponse"
- },
- "scopes": [
- "https://www.googleapis.com/auth/cloud-platform",
- "https://www.googleapis.com/auth/compute",
- "https://www.googleapis.com/auth/compute.readonly"
- ]
- },
- "getIamPolicy": {
- "description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
- "flatPath": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/getIamPolicy",
+ "apiVersion": "2026-09-01",
+ "description": "Returns the specified ReliabilityRisk resource.",
+ "flatPath": "projects/{project}/global/reliabilityRisks/{reliabilityRisk}",
"httpMethod": "GET",
- "id": "compute.reservationBlocks.getIamPolicy",
+ "id": "compute.reliabilityRisks.get",
"parameterOrder": [
"project",
- "zone",
- "parentResource",
- "resource"
+ "reliabilityRisk"
],
"parameters": {
- "optionsRequestedPolicyVersion": {
- "description": "Requested IAM Policy version.",
- "format": "int32",
- "location": "query",
- "type": "integer"
- },
- "parentResource": {
- "description": "Name or id of parent resource of the resource for this request.",
- "location": "path",
- "pattern": "[a-z](?:[-a-zA-Z0-9/]{0,255}[a-zA-Z0-9])?",
- "required": true,
- "type": "string"
- },
"project": {
"description": "Project ID for this request.",
"location": "path",
@@ -35431,24 +36756,17 @@
"required": true,
"type": "string"
},
- "resource": {
- "description": "Name or id of the resource for this request.",
+ "reliabilityRisk": {
+ "description": "Name of the ReliabilityRisk resource to return.",
"location": "path",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
"required": true,
"type": "string"
- },
- "zone": {
- "description": "The name of the zone for this request.",
- "location": "path",
- "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
- "required": true,
- "type": "string"
}
},
- "path": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/getIamPolicy",
+ "path": "projects/{project}/global/reliabilityRisks/{reliabilityRisk}",
"response": {
- "$ref": "Policy"
+ "$ref": "ReliabilityRisk"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
@@ -35457,14 +36775,13 @@
]
},
"list": {
- "description": "Retrieves a list of reservation blocks under a single reservation.",
- "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks",
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves the list of reliabilityRisks available in the specified project.",
+ "flatPath": "projects/{project}/global/reliabilityRisks",
"httpMethod": "GET",
- "id": "compute.reservationBlocks.list",
+ "id": "compute.reliabilityRisks.list",
"parameterOrder": [
- "project",
- "zone",
- "reservation"
+ "project"
],
"parameters": {
"filter": {
@@ -35493,42 +36810,31 @@
"project": {
"description": "Project ID for this request.",
"location": "path",
- "required": true,
- "type": "string"
- },
- "reservation": {
- "description": "The name of the reservation.\nName should conform to RFC1035 or be a resource ID.",
- "location": "path",
- "required": true,
- "type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
- "zone": {
- "description": "Name of the zone for this request. Zone name should conform to RFC1035.",
- "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
}
},
- "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks",
+ "path": "projects/{project}/global/reliabilityRisks",
"response": {
- "$ref": "ReservationBlocksListResponse"
+ "$ref": "ReliabilityRisksListResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/compute.readonly"
]
- },
- "performMaintenance": {
- "description": "Allows customers to perform maintenance on a reservation block",
- "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance",
- "httpMethod": "POST",
- "id": "compute.reservationBlocks.performMaintenance",
+ }
+ }
+ },
+ "reservationBlocks": {
+ "methods": {
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves information about the specified reservation block.",
+ "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}",
+ "httpMethod": "GET",
+ "id": "compute.reservationBlocks.get",
"parameterOrder": [
"project",
"zone",
@@ -35542,11 +36848,6 @@
"required": true,
"type": "string"
},
- "requestId": {
- "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
- "location": "query",
- "type": "string"
- },
"reservation": {
"description": "The name of the reservation.\nName should conform to RFC1035 or be a resource ID.",
"location": "path",
@@ -35559,6 +36860,21 @@
"required": true,
"type": "string"
},
+ "view": {
+ "description": "View of the Block.",
+ "enum": [
+ "BASIC",
+ "BLOCK_VIEW_UNSPECIFIED",
+ "FULL"
+ ],
+ "enumDescriptions": [
+ "This view includes basic information about the reservation block",
+ "The default / unset value. The API will default to the BASIC view.",
+ "Includes detailed topology view."
+ ],
+ "location": "query",
+ "type": "string"
+ },
"zone": {
"description": "Name of the zone for this request. Zone name should conform to RFC1035.",
"location": "path",
@@ -35566,23 +36882,199 @@
"type": "string"
}
},
- "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance",
- "request": {
- "$ref": "ReservationsBlocksPerformMaintenanceRequest"
- },
+ "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}",
"response": {
- "$ref": "Operation"
+ "$ref": "ReservationBlocksGetResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
- "https://www.googleapis.com/auth/compute"
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
]
},
- "setIamPolicy": {
- "description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
- "flatPath": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/setIamPolicy",
- "httpMethod": "POST",
- "id": "compute.reservationBlocks.setIamPolicy",
+ "getIamPolicy": {
+ "apiVersion": "2026-09-01",
+ "description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
+ "flatPath": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/getIamPolicy",
+ "httpMethod": "GET",
+ "id": "compute.reservationBlocks.getIamPolicy",
+ "parameterOrder": [
+ "project",
+ "zone",
+ "parentResource",
+ "resource"
+ ],
+ "parameters": {
+ "optionsRequestedPolicyVersion": {
+ "description": "Requested IAM Policy version.",
+ "format": "int32",
+ "location": "query",
+ "type": "integer"
+ },
+ "parentResource": {
+ "description": "Name or id of parent resource of the resource for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-zA-Z0-9/]{0,255}[a-zA-Z0-9])?",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name or id of the resource for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ },
+ "zone": {
+ "description": "The name of the zone for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/getIamPolicy",
+ "response": {
+ "$ref": "Policy"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "list": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves a list of reservation blocks under a single reservation.",
+ "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks",
+ "httpMethod": "GET",
+ "id": "compute.reservationBlocks.list",
+ "parameterOrder": [
+ "project",
+ "zone",
+ "reservation"
+ ],
+ "parameters": {
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
+ },
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "reservation": {
+ "description": "The name of the reservation.\nName should conform to RFC1035 or be a resource ID.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "zone": {
+ "description": "Name of the zone for this request. Zone name should conform to RFC1035.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks",
+ "response": {
+ "$ref": "ReservationBlocksListResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "performMaintenance": {
+ "apiVersion": "2026-09-01",
+ "description": "Allows customers to perform maintenance on a reservation block",
+ "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance",
+ "httpMethod": "POST",
+ "id": "compute.reservationBlocks.performMaintenance",
+ "parameterOrder": [
+ "project",
+ "zone",
+ "reservation",
+ "reservationBlock"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "reservation": {
+ "description": "The name of the reservation.\nName should conform to RFC1035 or be a resource ID.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "reservationBlock": {
+ "description": "The name of the reservation block.\nName should conform to RFC1035 or be a resource ID.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "zone": {
+ "description": "Name of the zone for this request. Zone name should conform to RFC1035.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance",
+ "request": {
+ "$ref": "ReservationsBlocksPerformMaintenanceRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "setIamPolicy": {
+ "apiVersion": "2026-09-01",
+ "description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
+ "flatPath": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/setIamPolicy",
+ "httpMethod": "POST",
+ "id": "compute.reservationBlocks.setIamPolicy",
"parameterOrder": [
"project",
"zone",
@@ -35632,6 +37124,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -35690,6 +37183,7 @@
"reservationSlots": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves information about the specified reservation slot.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}",
"httpMethod": "GET",
@@ -35737,7 +37231,61 @@
"https://www.googleapis.com/auth/compute.readonly"
]
},
+ "getHealth": {
+ "apiVersion": "2026-09-01",
+ "description": "Get health info on a reservation slot.",
+ "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}/getHealth",
+ "httpMethod": "POST",
+ "id": "compute.reservationSlots.getHealth",
+ "parameterOrder": [
+ "project",
+ "zone",
+ "parentName",
+ "reservationSlot"
+ ],
+ "parameters": {
+ "parentName": {
+ "description": "The name of the parent reservation, parent block and parent sub-block. In\nthe format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}/reservationSubBlocks/{reservation_sub_block_name}",
+ "location": "path",
+ "pattern": "reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})",
+ "required": true,
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests.",
+ "location": "query",
+ "type": "string"
+ },
+ "reservationSlot": {
+ "description": "The name of the reservation slot.\nName should conform to RFC1035 or be a resource ID.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ },
+ "zone": {
+ "description": "Name of the zone for this request. Zone name should conform to RFC1035.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getHealth",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"getVersion": {
+ "apiVersion": "2026-09-01",
"description": "Allows customers to get SBOM versions of a reservation slot.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}/getVersion",
"httpMethod": "POST",
@@ -35793,6 +37341,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of reservation slots under a single reservation.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots",
"httpMethod": "GET",
@@ -35839,11 +37388,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request, formatted as RFC1035.",
"location": "path",
@@ -35862,6 +37406,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Update a reservation slot in the specified sub-block.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}",
"httpMethod": "POST",
@@ -35922,6 +37467,7 @@
"reservationSubBlocks": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves information about the specified reservation subBlock.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}",
"httpMethod": "GET",
@@ -35985,6 +37531,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -36042,6 +37589,7 @@
]
},
"getVersion": {
+ "apiVersion": "2026-09-01",
"description": "Allows customers to get SBOM versions of a reservation subBlock.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}/getVersion",
"httpMethod": "POST",
@@ -36097,6 +37645,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of reservation subBlocks under a single reservation.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks",
"httpMethod": "GET",
@@ -36143,11 +37692,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "Name of the zone for this request. Zone name should conform to RFC1035.",
"location": "path",
@@ -36166,6 +37710,7 @@
]
},
"performMaintenance": {
+ "apiVersion": "2026-09-01",
"description": "Allows customers to perform maintenance on a reservation subBlock",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}/performMaintenance",
"httpMethod": "POST",
@@ -36218,6 +37763,7 @@
]
},
"reportFaulty": {
+ "apiVersion": "2026-09-01",
"description": "Allows customers to report a faulty subBlock.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}/reportFaulty",
"httpMethod": "POST",
@@ -36273,6 +37819,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -36326,6 +37873,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -36384,6 +37932,7 @@
"reservations": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of reservations.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/reservations",
"httpMethod": "GET",
@@ -36427,11 +37976,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -36450,6 +37994,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified reservation.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}",
"httpMethod": "DELETE",
@@ -36497,6 +38042,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves information about the specified reservation.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}",
"httpMethod": "GET",
@@ -36540,6 +38086,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -36589,6 +38136,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new reservation. For more information, readReserving zonal\nresources.",
"flatPath": "projects/{project}/zones/{zone}/reservations",
"httpMethod": "POST",
@@ -36631,6 +38179,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "A list of all the reservations that have been configured for the\nspecified project in specified zone.",
"flatPath": "projects/{project}/zones/{zone}/reservations",
"httpMethod": "GET",
@@ -36670,11 +38219,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "Name of the zone for this request.",
"location": "path",
@@ -36694,6 +38238,7 @@
]
},
"performMaintenance": {
+ "apiVersion": "2026-09-01",
"description": "Perform maintenance on an extended reservation",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance",
"httpMethod": "POST",
@@ -36742,6 +38287,7 @@
]
},
"resize": {
+ "apiVersion": "2026-09-01",
"description": "Resizes the reservation (applicable to standalone reservations only). For\nmore information, readModifying\nreservations.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/resize",
"httpMethod": "POST",
@@ -36792,6 +38338,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -36837,6 +38384,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -36883,6 +38431,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Update share settings of the reservation.",
"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}",
"httpMethod": "PATCH",
@@ -36948,6 +38497,7 @@
"resourcePolicies": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of resource policies.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/resourcePolicies",
"httpMethod": "GET",
@@ -36991,11 +38541,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -37014,6 +38559,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified resource policy.",
"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}",
"httpMethod": "DELETE",
@@ -37061,6 +38607,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves all information of the specified resource policy.",
"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}",
"httpMethod": "GET",
@@ -37104,6 +38651,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -37153,6 +38701,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new resource policy.",
"flatPath": "projects/{project}/regions/{region}/resourcePolicies",
"httpMethod": "POST",
@@ -37195,6 +38744,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "A list all the resource policies that have been configured for the\nspecified project in specified region.",
"flatPath": "projects/{project}/regions/{region}/resourcePolicies",
"httpMethod": "GET",
@@ -37240,11 +38790,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/resourcePolicies",
@@ -37258,6 +38803,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Modify the specified resource policy.",
"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}",
"httpMethod": "PATCH",
@@ -37314,6 +38860,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -37359,6 +38906,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -37406,13 +38954,125 @@
}
}
},
- "routers": {
+ "rolloutPlans": {
"methods": {
- "aggregatedList": {
- "description": "Retrieves an aggregated list of routers.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
- "flatPath": "projects/{project}/aggregated/routers",
+ "delete": {
+ "apiVersion": "2026-09-01",
+ "description": "Deletes a RolloutPlan.",
+ "flatPath": "projects/{project}/global/rolloutPlans/{rolloutPlan}",
+ "httpMethod": "DELETE",
+ "id": "compute.rolloutPlans.delete",
+ "parameterOrder": [
+ "project",
+ "rolloutPlan"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "rolloutPlan": {
+ "description": "Name of the RolloutPlan resource to delete.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rolloutPlans/{rolloutPlan}",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Gets details of a single project-scoped RolloutPlan.",
+ "flatPath": "projects/{project}/global/rolloutPlans/{rolloutPlan}",
"httpMethod": "GET",
- "id": "compute.routers.aggregatedList",
+ "id": "compute.rolloutPlans.get",
+ "parameterOrder": [
+ "project",
+ "rolloutPlan"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "rolloutPlan": {
+ "description": "Name of the persistent rollout plan to return.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rolloutPlans/{rolloutPlan}",
+ "response": {
+ "$ref": "RolloutPlan"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "apiVersion": "2026-09-01",
+ "description": "Creates a new RolloutPlan in a given project and location.",
+ "flatPath": "projects/{project}/global/rolloutPlans",
+ "httpMethod": "POST",
+ "id": "compute.rolloutPlans.insert",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rolloutPlans",
+ "request": {
+ "$ref": "RolloutPlan"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "apiVersion": "2026-09-01",
+ "description": "Lists RolloutPlans in a given project and location.",
+ "flatPath": "projects/{project}/global/rolloutPlans",
+ "httpMethod": "GET",
+ "id": "compute.rolloutPlans.list",
"parameterOrder": [
"project"
],
@@ -37422,11 +39082,6 @@
"location": "query",
"type": "string"
},
- "includeAllScopes": {
- "description": "Indicates whether every visible scope for each scope type (zone, region,\nglobal) should be included in the response. For new resource types added\nafter this field, the flag has no effect as new resource types will always\ninclude every visible scope for each scope type in response. For resource\ntypes which predate this field, if this flag is omitted or false, only\nscopes of the scope types where the resource type is expected to be found\nwill be included.",
- "location": "query",
- "type": "boolean"
- },
"maxResults": {
"default": "500",
"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
@@ -37451,12 +39106,379 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rolloutPlans",
+ "response": {
+ "$ref": "RolloutPlansListResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ }
+ }
+ },
+ "rollouts": {
+ "methods": {
+ "advance": {
+ "apiVersion": "2026-09-01",
+ "description": "Advances a Rollout to the next wave, or completes it if no waves remain.",
+ "flatPath": "projects/{project}/global/rollouts/{rollout}/advance",
+ "httpMethod": "POST",
+ "id": "compute.rollouts.advance",
+ "parameterOrder": [
+ "project",
+ "rollout"
+ ],
+ "parameters": {
+ "currentWaveNumber": {
+ "description": "Required. Wave number of the current wave.",
+ "format": "int64",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Required. Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "rollout": {
+ "description": "Required. Name of the Rollout resource to advance.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rollouts/{rollout}/advance",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "cancel": {
+ "apiVersion": "2026-09-01",
+ "description": "Cancels a Rollout.",
+ "flatPath": "projects/{project}/global/rollouts/{rollout}",
+ "httpMethod": "PATCH",
+ "id": "compute.rollouts.cancel",
+ "parameterOrder": [
+ "project",
+ "rollout"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "rollback": {
+ "description": "Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel\nthe rollout without taking any further actions. Note that products must\nsupport at least one of these options, however, it does not need to support\nboth.",
+ "location": "query",
+ "type": "boolean"
+ },
+ "rollout": {
+ "description": "Name of the Rollout resource to cancel.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rollouts/{rollout}",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "delete": {
+ "apiVersion": "2026-09-01",
+ "description": "Deletes a Rollout.",
+ "flatPath": "projects/{project}/global/rollouts/{rollout}",
+ "httpMethod": "DELETE",
+ "id": "compute.rollouts.delete",
+ "parameterOrder": [
+ "project",
+ "rollout"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "rollout": {
+ "description": "Name of the Rollout resource to delete.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rollouts/{rollout}",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "apiVersion": "2026-09-01",
+ "description": "Gets details of a single project-scoped Rollout.",
+ "flatPath": "projects/{project}/global/rollouts/{rollout}",
+ "httpMethod": "GET",
+ "id": "compute.rollouts.get",
+ "parameterOrder": [
+ "project",
+ "rollout"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "rollout": {
+ "description": "Name of the persistent rollout to return.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rollouts/{rollout}",
+ "response": {
+ "$ref": "Rollout"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "list": {
+ "apiVersion": "2026-09-01",
+ "description": "Lists Rollouts in a given project and location.",
+ "flatPath": "projects/{project}/global/rollouts",
+ "httpMethod": "GET",
+ "id": "compute.rollouts.list",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
+ },
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rollouts",
+ "response": {
+ "$ref": "RolloutsListResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "pause": {
+ "apiVersion": "2026-09-01",
+ "description": "Pauses a Rollout.",
+ "flatPath": "projects/{project}/global/rollouts/{rollout}/pause",
+ "httpMethod": "POST",
+ "id": "compute.rollouts.pause",
+ "parameterOrder": [
+ "project",
+ "rollout"
+ ],
+ "parameters": {
+ "etag": {
+ "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Required. Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "rollout": {
+ "description": "Required. Name of the Rollout resource to pause.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rollouts/{rollout}/pause",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "resume": {
+ "apiVersion": "2026-09-01",
+ "description": "Resumes a Rollout.",
+ "flatPath": "projects/{project}/global/rollouts/{rollout}/resume",
+ "httpMethod": "POST",
+ "id": "compute.rollouts.resume",
+ "parameterOrder": [
+ "project",
+ "rollout"
+ ],
+ "parameters": {
+ "etag": {
+ "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Required. Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "rollout": {
+ "description": "Required. Name of the Rollout resource to resume.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/global/rollouts/{rollout}/resume",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
+ "routers": {
+ "methods": {
+ "aggregatedList": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves an aggregated list of routers.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
+ "flatPath": "projects/{project}/aggregated/routers",
+ "httpMethod": "GET",
+ "id": "compute.routers.aggregatedList",
+ "parameterOrder": [
+ "project"
+ ],
+ "parameters": {
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
+ "includeAllScopes": {
+ "description": "Indicates whether every visible scope for each scope type (zone, region,\nglobal) should be included in the response. For new resource types added\nafter this field, the flag has no effect as new resource types will always\ninclude every visible scope for each scope type in response. For resource\ntypes which predate this field, if this flag is omitted or false, only\nscopes of the scope types where the resource type is expected to be found\nwill be included.",
"location": "query",
"type": "boolean"
},
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -37475,6 +39497,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified Router resource.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}",
"httpMethod": "DELETE",
@@ -37521,7 +39544,61 @@
"https://www.googleapis.com/auth/compute"
]
},
+ "deleteNamedSet": {
+ "apiVersion": "2026-09-01",
+ "description": "Deletes Named Set",
+ "flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet",
+ "httpMethod": "POST",
+ "id": "compute.routers.deleteNamedSet",
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "parameters": {
+ "namedSet": {
+ "description": "The Named Set name for this request. Name must conform to RFC1035",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "router": {
+ "description": "Name of the Router resource where Named Set is defined.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet",
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"deleteRoutePolicy": {
+ "apiVersion": "2026-09-01",
"description": "Deletes Route Policy",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy",
"httpMethod": "POST",
@@ -37574,6 +39651,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Router resource.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}",
"httpMethod": "GET",
@@ -37616,7 +39694,56 @@
"https://www.googleapis.com/auth/compute.readonly"
]
},
+ "getNamedSet": {
+ "apiVersion": "2026-09-01",
+ "description": "Returns specified Named Set",
+ "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNamedSet",
+ "httpMethod": "GET",
+ "id": "compute.routers.getNamedSet",
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "parameters": {
+ "namedSet": {
+ "description": "The Named Set name for this request. Name must conform to RFC1035",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ },
+ "router": {
+ "description": "Name of the Router resource to query for the named set. The name should\nconform to RFC1035.",
+ "location": "path",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/routers/{router}/getNamedSet",
+ "response": {
+ "$ref": "RoutersGetNamedSetResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
"getNatIpInfo": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves runtime NAT IP information.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo",
"httpMethod": "GET",
@@ -37664,6 +39791,7 @@
]
},
"getNatMappingInfo": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves runtime Nat mapping information of VM endpoints.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo",
"httpMethod": "GET",
@@ -37716,11 +39844,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"router": {
"description": "Name of the Router resource to query for Nat Mapping information of\nVM endpoints.",
"location": "path",
@@ -37740,6 +39863,7 @@
]
},
"getRoutePolicy": {
+ "apiVersion": "2026-09-01",
"description": "Returns specified Route Policy",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy",
"httpMethod": "GET",
@@ -37787,6 +39911,7 @@
]
},
"getRouterStatus": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves runtime information of the specified router.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus",
"httpMethod": "GET",
@@ -37830,6 +39955,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a Router resource in the specified project and region using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/routers",
"httpMethod": "POST",
@@ -37872,6 +39998,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of Router resources available to the specified project.",
"flatPath": "projects/{project}/regions/{region}/routers",
"httpMethod": "GET",
@@ -37917,11 +40044,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/routers",
@@ -37935,6 +40057,7 @@
]
},
"listBgpRoutes": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of router bgp routes available to the specified project.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes",
"httpMethod": "GET",
@@ -38014,11 +40137,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"routeType": {
"default": "UNSPECIFIED_ROUTE_TYPE",
"description": "(Required) limit results to this type of route (either LEARNED or\nADVERTISED)",
@@ -38053,7 +40171,75 @@
"https://www.googleapis.com/auth/compute.readonly"
]
},
+ "listNamedSets": {
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves a list of router named set subresources available to the\nspecified project.",
+ "flatPath": "projects/{project}/regions/{region}/routers/{router}/listNamedSets",
+ "httpMethod": "GET",
+ "id": "compute.routers.listNamedSets",
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "parameters": {
+ "filter": {
+ "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.",
+ "location": "query",
+ "type": "string"
+ },
+ "maxResults": {
+ "default": "500",
+ "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)",
+ "format": "uint32",
+ "location": "query",
+ "minimum": "0",
+ "type": "integer"
+ },
+ "orderBy": {
+ "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.",
+ "location": "query",
+ "type": "string"
+ },
+ "pageToken": {
+ "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.",
+ "location": "query",
+ "type": "string"
+ },
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ },
+ "router": {
+ "description": "Name or id of the resource for this request.\nName should conform to RFC1035.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/routers/{router}/listNamedSets",
+ "response": {
+ "$ref": "RoutersListNamedSets"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
"listRoutePolicies": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of router route policy subresources available to the\nspecified project.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies",
"httpMethod": "GET",
@@ -38101,11 +40287,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"router": {
"description": "Name or id of the resource for this request.\nName should conform to RFC1035.",
"location": "path",
@@ -38125,6 +40306,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified Router resource with the data included in the\nrequest. This method supportsPATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}",
"httpMethod": "PATCH",
@@ -38174,7 +40356,59 @@
"https://www.googleapis.com/auth/compute"
]
},
+ "patchNamedSet": {
+ "apiVersion": "2026-09-01",
+ "description": "Patches Named Set",
+ "flatPath": "projects/{project}/regions/{region}/routers/{router}/patchNamedSet",
+ "httpMethod": "POST",
+ "id": "compute.routers.patchNamedSet",
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "router": {
+ "description": "Name of the Router resource where Named Set is defined.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/routers/{router}/patchNamedSet",
+ "request": {
+ "$ref": "NamedSet"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"patchRoutePolicy": {
+ "apiVersion": "2026-09-01",
"description": "Patches Route Policy",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy",
"httpMethod": "POST",
@@ -38225,6 +40459,7 @@
]
},
"preview": {
+ "apiVersion": "2026-09-01",
"description": "Preview fields auto-generated during router create andupdate operations.\nCalling this method does NOT create or update the router.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}/preview",
"httpMethod": "POST",
@@ -38271,6 +40506,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified Router resource with the data included in the\nrequest. This method conforms toPUT semantics, which requests that the state of the\ntarget resource be created or replaced with the state defined by the\nrepresentation enclosed in the request message payload.",
"flatPath": "projects/{project}/regions/{region}/routers/{router}",
"httpMethod": "PUT",
@@ -38320,11 +40556,12 @@
"https://www.googleapis.com/auth/compute"
]
},
- "updateRoutePolicy": {
- "description": "Updates or creates new Route Policy",
- "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy",
+ "updateNamedSet": {
+ "apiVersion": "2026-09-01",
+ "description": "Updates or creates new Named Set",
+ "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateNamedSet",
"httpMethod": "POST",
- "id": "compute.routers.updateRoutePolicy",
+ "id": "compute.routers.updateNamedSet",
"parameterOrder": [
"project",
"region",
@@ -38351,16 +40588,16 @@
"type": "string"
},
"router": {
- "description": "Name of the Router resource where Route Policy is defined.",
+ "description": "Name of the Router resource where Named Set is defined.",
"location": "path",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
"required": true,
"type": "string"
}
},
- "path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy",
+ "path": "projects/{project}/regions/{region}/routers/{router}/updateNamedSet",
"request": {
- "$ref": "RoutePolicy"
+ "$ref": "NamedSet"
},
"response": {
"$ref": "Operation"
@@ -38369,17 +40606,69 @@
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"
]
- }
- }
- },
- "routes": {
- "methods": {
- "delete": {
- "description": "Deletes the specified Route resource.",
- "flatPath": "projects/{project}/global/routes/{route}",
- "httpMethod": "DELETE",
- "id": "compute.routes.delete",
- "parameterOrder": [
+ },
+ "updateRoutePolicy": {
+ "apiVersion": "2026-09-01",
+ "description": "Updates or creates new Route Policy",
+ "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy",
+ "httpMethod": "POST",
+ "id": "compute.routers.updateRoutePolicy",
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "parameters": {
+ "project": {
+ "description": "Project ID for this request.",
+ "location": "path",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "required": true,
+ "type": "string"
+ },
+ "region": {
+ "description": "Name of the region for this request.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "required": true,
+ "type": "string"
+ },
+ "requestId": {
+ "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).",
+ "location": "query",
+ "type": "string"
+ },
+ "router": {
+ "description": "Name of the Router resource where Route Policy is defined.",
+ "location": "path",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy",
+ "request": {
+ "$ref": "RoutePolicy"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
+ "routes": {
+ "methods": {
+ "delete": {
+ "apiVersion": "2026-09-01",
+ "description": "Deletes the specified Route resource.",
+ "flatPath": "projects/{project}/global/routes/{route}",
+ "httpMethod": "DELETE",
+ "id": "compute.routes.delete",
+ "parameterOrder": [
"project",
"route"
],
@@ -38414,6 +40703,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Route resource.",
"flatPath": "projects/{project}/global/routes/{route}",
"httpMethod": "GET",
@@ -38449,6 +40739,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a Route resource in the specified project using the data included\nin the request.",
"flatPath": "projects/{project}/global/routes",
"httpMethod": "POST",
@@ -38483,6 +40774,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of Route resources available to the specified project.",
"flatPath": "projects/{project}/global/routes",
"httpMethod": "GET",
@@ -38520,11 +40812,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/routes",
@@ -38538,6 +40825,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/routes/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -38580,6 +40868,7 @@
"securityPolicies": {
"methods": {
"addRule": {
+ "apiVersion": "2026-09-01",
"description": "Inserts a rule into a security policy.",
"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule",
"httpMethod": "POST",
@@ -38622,6 +40911,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all SecurityPolicy resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/securityPolicies",
"httpMethod": "GET",
@@ -38665,11 +40955,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -38688,6 +40973,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified policy.",
"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}",
"httpMethod": "DELETE",
@@ -38727,6 +41013,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "List all of the ordered rules present in a single specified policy.",
"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}",
"httpMethod": "GET",
@@ -38762,6 +41049,7 @@
]
},
"getRule": {
+ "apiVersion": "2026-09-01",
"description": "Gets a rule at the specified priority.",
"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule",
"httpMethod": "GET",
@@ -38803,6 +41091,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new policy in the specified project using the data included in\nthe request.",
"flatPath": "projects/{project}/global/securityPolicies",
"httpMethod": "POST",
@@ -38842,6 +41131,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "List all the policies that have been configured for the specified project.",
"flatPath": "projects/{project}/global/securityPolicies",
"httpMethod": "GET",
@@ -38879,11 +41169,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/securityPolicies",
@@ -38897,6 +41182,7 @@
]
},
"listPreconfiguredExpressionSets": {
+ "apiVersion": "2026-09-01",
"description": "Gets the current list of preconfigured Web Application Firewall (WAF)\nexpressions.",
"flatPath": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets",
"httpMethod": "GET",
@@ -38934,11 +41220,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets",
@@ -38952,6 +41233,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified policy with the data included in the request. To\nclear fields in the policy, leave the fields empty and specify them in the\nupdateMask. This cannot be used to be update the rules in the policy.\nPlease use the per rule methods like addRule, patchRule, and removeRule\ninstead.",
"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}",
"httpMethod": "PATCH",
@@ -39000,6 +41282,7 @@
]
},
"patchRule": {
+ "apiVersion": "2026-09-01",
"description": "Patches a rule at the specified priority. To clear fields in the rule,\nleave the fields empty and specify them in the updateMask.",
"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule",
"httpMethod": "POST",
@@ -39054,6 +41337,7 @@
]
},
"removeRule": {
+ "apiVersion": "2026-09-01",
"description": "Deletes a rule at the specified priority.",
"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule",
"httpMethod": "POST",
@@ -39094,6 +41378,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a security policy. To learn more about labels,\nread the Labeling Resources\ndocumentation.",
"flatPath": "projects/{project}/global/securityPolicies/{resource}/setLabels",
"httpMethod": "POST",
@@ -39135,6 +41420,7 @@
"serviceAttachments": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all ServiceAttachment resources,\nregional and global, available to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/serviceAttachments",
"httpMethod": "GET",
@@ -39178,11 +41464,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -39201,6 +41482,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified ServiceAttachment in the given scope",
"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}",
"httpMethod": "DELETE",
@@ -39248,6 +41530,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified ServiceAttachment resource in the given scope.",
"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}",
"httpMethod": "GET",
@@ -39296,6 +41579,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -39345,6 +41629,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a ServiceAttachment in the specified project in the given scope\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/regions/{region}/serviceAttachments",
"httpMethod": "POST",
@@ -39387,6 +41672,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the ServiceAttachments for a project in the given scope.",
"flatPath": "projects/{project}/regions/{region}/serviceAttachments",
"httpMethod": "GET",
@@ -39432,11 +41718,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/serviceAttachments",
@@ -39450,6 +41731,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified ServiceAttachment resource with the data included in\nthe request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}",
"httpMethod": "PATCH",
@@ -39498,6 +41780,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -39543,6 +41826,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -39593,6 +41877,7 @@
"snapshotSettings": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Get snapshot settings.",
"flatPath": "projects/{project}/global/snapshotSettings",
"httpMethod": "GET",
@@ -39620,6 +41905,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patch snapshot settings.",
"flatPath": "projects/{project}/global/snapshotSettings",
"httpMethod": "PATCH",
@@ -39664,6 +41950,7 @@
"snapshots": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified Snapshot resource. Keep in mind that deleting\na single snapshot might not necessarily delete all the data on that\nsnapshot. If any data on the snapshot that is marked for deletion is\nneeded for subsequent snapshots, the data will be moved to the next\ncorresponding snapshot.\n\nFor more information, seeDeleting\nsnapshots.",
"flatPath": "projects/{project}/global/snapshots/{snapshot}",
"httpMethod": "DELETE",
@@ -39703,6 +41990,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Snapshot resource.",
"flatPath": "projects/{project}/global/snapshots/{snapshot}",
"httpMethod": "GET",
@@ -39738,6 +42026,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/global/snapshots/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -39779,6 +42068,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a snapshot in the specified project using the data included\nin the request. For regular snapshot creation, consider using this method\ninstead of disks.createSnapshot,\nas this method supports more features, such as creating snapshots in a\nproject different from the source disk project.",
"flatPath": "projects/{project}/global/snapshots",
"httpMethod": "POST",
@@ -39813,6 +42103,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of Snapshot resources contained within\nthe specified project.",
"flatPath": "projects/{project}/global/snapshots",
"httpMethod": "GET",
@@ -39850,11 +42141,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/snapshots",
@@ -39868,6 +42154,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/global/snapshots/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -39905,6 +42192,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a snapshot. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/global/snapshots/{resource}/setLabels",
"httpMethod": "POST",
@@ -39942,6 +42230,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/snapshots/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -39980,6 +42269,7 @@
]
},
"updateKmsKey": {
+ "apiVersion": "2026-09-01",
"description": "Rotates the customer-managed\nencryption key to the latest version for the specified snapshot.",
"flatPath": "projects/{project}/global/snapshots/{snapshot}/updateKmsKey",
"httpMethod": "POST",
@@ -40026,6 +42316,7 @@
"sslCertificates": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all SslCertificate resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/sslCertificates",
"httpMethod": "GET",
@@ -40069,11 +42360,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -40092,6 +42378,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified SslCertificate resource.",
"flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}",
"httpMethod": "DELETE",
@@ -40131,6 +42418,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified SslCertificate resource.",
"flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}",
"httpMethod": "GET",
@@ -40166,6 +42454,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a SslCertificate resource in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/global/sslCertificates",
"httpMethod": "POST",
@@ -40200,6 +42489,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of SslCertificate resources available to the specified\nproject.",
"flatPath": "projects/{project}/global/sslCertificates",
"httpMethod": "GET",
@@ -40237,11 +42527,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/sslCertificates",
@@ -40259,6 +42544,7 @@
"sslPolicies": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all SslPolicy resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/sslPolicies",
"httpMethod": "GET",
@@ -40302,11 +42588,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -40325,6 +42606,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified SSL policy. The SSL policy resource can be deleted\nonly if it is not in use by any TargetHttpsProxy or TargetSslProxy\nresources.",
"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}",
"httpMethod": "DELETE",
@@ -40363,6 +42645,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Lists all of the ordered rules present in a single specified policy.",
"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}",
"httpMethod": "GET",
@@ -40397,6 +42680,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified SSL policy resource.",
"flatPath": "projects/{project}/global/sslPolicies",
"httpMethod": "POST",
@@ -40431,6 +42715,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists all the SSL policies that have been configured for the specified\nproject.",
"flatPath": "projects/{project}/global/sslPolicies",
"httpMethod": "GET",
@@ -40468,11 +42753,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/sslPolicies",
@@ -40486,6 +42766,7 @@
]
},
"listAvailableFeatures": {
+ "apiVersion": "2026-09-01",
"description": "Lists all features that can be specified in the SSL policy when using\ncustom profile.",
"flatPath": "projects/{project}/global/sslPolicies/listAvailableFeatures",
"httpMethod": "GET",
@@ -40523,11 +42804,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/sslPolicies/listAvailableFeatures",
@@ -40541,6 +42817,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified SSL policy with the data included in the request.",
"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}",
"httpMethod": "PATCH",
@@ -40586,6 +42863,7 @@
"storagePoolTypes": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of storage pool types.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/storagePoolTypes",
"httpMethod": "GET",
@@ -40629,11 +42907,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -40652,6 +42925,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified storage pool type.",
"flatPath": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}",
"httpMethod": "GET",
@@ -40695,6 +42969,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of storage pool types available to the specified\nproject.",
"flatPath": "projects/{project}/zones/{zone}/storagePoolTypes",
"httpMethod": "GET",
@@ -40734,11 +43009,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -40762,6 +43032,7 @@
"storagePools": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of storage pools.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/storagePools",
"httpMethod": "GET",
@@ -40805,11 +43076,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -40828,6 +43094,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified storage pool. Deleting a storagePool\nremoves its data permanently and is irreversible. However, deleting a\nstoragePool does not delete any snapshots previously\nmade from the storagePool. You must separately delete\nsnapshots.",
"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}",
"httpMethod": "DELETE",
@@ -40875,6 +43142,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns a specified storage pool. Gets a list of available\nstorage pools by making a list() request.",
"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}",
"httpMethod": "GET",
@@ -40918,6 +43186,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -40967,6 +43236,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a storage pool in the specified project using the data\nin the request.",
"flatPath": "projects/{project}/zones/{zone}/storagePools",
"httpMethod": "POST",
@@ -41009,6 +43279,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of storage pools contained within\nthe specified zone.",
"flatPath": "projects/{project}/zones/{zone}/storagePools",
"httpMethod": "GET",
@@ -41048,11 +43319,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "The name of the zone for this request.",
"location": "path",
@@ -41072,6 +43338,7 @@
]
},
"listDisks": {
+ "apiVersion": "2026-09-01",
"description": "Lists the disks in a specified storage pool.",
"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks",
"httpMethod": "GET",
@@ -41112,11 +43379,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"storagePool": {
"description": "Name of the storage pool to list disks of.",
"location": "path",
@@ -41143,6 +43405,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -41188,6 +43451,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -41234,6 +43498,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified storagePool with the data included in the request.\nThe update is performed only on selected fields included as part\nof update-mask. Only the following fields can be modified:\npool_provisioned_capacity_gb, pool_provisioned_iops and\npool_provisioned_throughput.",
"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}",
"httpMethod": "PATCH",
@@ -41294,6 +43559,7 @@
"subnetworks": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of subnetworks.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/subnetworks",
"httpMethod": "GET",
@@ -41337,11 +43603,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -41374,6 +43635,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified subnetwork.",
"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}",
"httpMethod": "DELETE",
@@ -41421,6 +43683,7 @@
]
},
"expandIpCidrRange": {
+ "apiVersion": "2026-09-01",
"description": "Expands the IP CIDR range of the subnetwork to a specified value.",
"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange",
"httpMethod": "POST",
@@ -41471,6 +43734,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified subnetwork.",
"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}",
"httpMethod": "GET",
@@ -41528,6 +43792,7 @@
]
},
"getIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.",
"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy",
"httpMethod": "GET",
@@ -41577,6 +43842,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a subnetwork in the specified project using the data\nincluded in the request.",
"flatPath": "projects/{project}/regions/{region}/subnetworks",
"httpMethod": "POST",
@@ -41619,6 +43885,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of subnetworks available to the specified\nproject.",
"flatPath": "projects/{project}/regions/{region}/subnetworks",
"httpMethod": "GET",
@@ -41665,11 +43932,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"views": {
"description": "Defines the extra views returned back in the subnetwork resource.\nSupported values:\n \n - WITH_UTILIZATION: Utilization data is included in the\n response.",
"enum": [
@@ -41696,6 +43958,7 @@
]
},
"listUsable": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of all usable subnetworks in the project.",
"flatPath": "projects/{project}/aggregated/subnetworks/listUsable",
"httpMethod": "GET",
@@ -41734,11 +43997,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProject": {
"description": "The project id or project number in which the subnetwork is intended to be\nused. Only applied for Shared VPC. See [Shared VPC\ndocumentation](https://cloud.google.com/vpc/docs/shared-vpc/)",
"location": "query",
@@ -41756,6 +44014,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified subnetwork with the data included in the request.\nOnly certain fields can be updated with a patch request\nas indicated in the field descriptions.\nYou must specify the current fingerprint of the\nsubnetwork resource being patched.",
"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}",
"httpMethod": "PATCH",
@@ -41812,6 +44071,7 @@
]
},
"setIamPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.",
"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy",
"httpMethod": "POST",
@@ -41857,6 +44117,7 @@
]
},
"setPrivateIpGoogleAccess": {
+ "apiVersion": "2026-09-01",
"description": "Set whether VMs in this subnet can access Google services without assigning\nexternal IP addresses through Private Google Access.",
"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess",
"httpMethod": "POST",
@@ -41907,6 +44168,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -41957,6 +44219,7 @@
"targetGrpcProxies": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetGrpcProxy in the given scope",
"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}",
"httpMethod": "DELETE",
@@ -41996,6 +44259,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetGrpcProxy resource in the given scope.",
"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}",
"httpMethod": "GET",
@@ -42031,6 +44295,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetGrpcProxy in the specified project in the given scope\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/global/targetGrpcProxies",
"httpMethod": "POST",
@@ -42065,6 +44330,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the TargetGrpcProxies for a project in the given scope.",
"flatPath": "projects/{project}/global/targetGrpcProxies",
"httpMethod": "GET",
@@ -42102,11 +44368,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/targetGrpcProxies",
@@ -42120,6 +44381,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified TargetGrpcProxy resource with the data included in\nthe request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}",
"httpMethod": "PATCH",
@@ -42166,6 +44428,7 @@
"targetHttpProxies": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all TargetHttpProxy resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/targetHttpProxies",
"httpMethod": "GET",
@@ -42209,11 +44472,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -42232,6 +44490,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetHttpProxy resource.",
"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}",
"httpMethod": "DELETE",
@@ -42271,6 +44530,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetHttpProxy resource.",
"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}",
"httpMethod": "GET",
@@ -42306,6 +44566,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetHttpProxy resource in the specified\nproject using the data included in the request.",
"flatPath": "projects/{project}/global/targetHttpProxies",
"httpMethod": "POST",
@@ -42340,6 +44601,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of TargetHttpProxy resources available\nto the specified project.",
"flatPath": "projects/{project}/global/targetHttpProxies",
"httpMethod": "GET",
@@ -42377,11 +44639,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/targetHttpProxies",
@@ -42395,6 +44652,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified TargetHttpProxy resource with the data included in\nthe request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}",
"httpMethod": "PATCH",
@@ -42437,6 +44695,7 @@
]
},
"setUrlMap": {
+ "apiVersion": "2026-09-01",
"description": "Changes the URL map for TargetHttpProxy.",
"flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap",
"httpMethod": "POST",
@@ -42483,6 +44742,7 @@
"targetHttpsProxies": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all TargetHttpsProxy resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/targetHttpsProxies",
"httpMethod": "GET",
@@ -42526,11 +44786,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -42549,6 +44804,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetHttpsProxy resource.",
"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}",
"httpMethod": "DELETE",
@@ -42588,6 +44844,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetHttpsProxy resource.",
"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}",
"httpMethod": "GET",
@@ -42623,6 +44880,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetHttpsProxy resource in the specified\nproject using the data included in the request.",
"flatPath": "projects/{project}/global/targetHttpsProxies",
"httpMethod": "POST",
@@ -42657,6 +44915,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of TargetHttpsProxy resources\navailable to the specified project.",
"flatPath": "projects/{project}/global/targetHttpsProxies",
"httpMethod": "GET",
@@ -42694,11 +44953,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/targetHttpsProxies",
@@ -42712,6 +44966,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified TargetHttpsProxy resource with the data included in\nthe request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}",
"httpMethod": "PATCH",
@@ -42754,6 +45009,7 @@
]
},
"setCertificateMap": {
+ "apiVersion": "2026-09-01",
"description": "Changes the Certificate Map for TargetHttpsProxy.",
"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap",
"httpMethod": "POST",
@@ -42795,6 +45051,7 @@
]
},
"setQuicOverride": {
+ "apiVersion": "2026-09-01",
"description": "Sets the QUIC override policy for TargetHttpsProxy.",
"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride",
"httpMethod": "POST",
@@ -42836,6 +45093,7 @@
]
},
"setSslCertificates": {
+ "apiVersion": "2026-09-01",
"description": "Replaces SslCertificates for TargetHttpsProxy.",
"flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates",
"httpMethod": "POST",
@@ -42878,6 +45136,7 @@
]
},
"setSslPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the\nserver-side support for SSL features. This affects connections between\nclients and the HTTPS proxy load balancer. They do not affect the\nconnection between the load balancer and the backends.",
"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy",
"httpMethod": "POST",
@@ -42919,6 +45178,7 @@
]
},
"setUrlMap": {
+ "apiVersion": "2026-09-01",
"description": "Changes the URL map for TargetHttpsProxy.",
"flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap",
"httpMethod": "POST",
@@ -42965,6 +45225,7 @@
"targetInstances": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of target instances.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/targetInstances",
"httpMethod": "GET",
@@ -43008,11 +45269,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -43031,6 +45287,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetInstance resource.",
"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}",
"httpMethod": "DELETE",
@@ -43078,6 +45335,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetInstance resource.",
"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}",
"httpMethod": "GET",
@@ -43121,6 +45379,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetInstance resource in the specified project and zone using\nthe data included in the request.",
"flatPath": "projects/{project}/zones/{zone}/targetInstances",
"httpMethod": "POST",
@@ -43163,6 +45422,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of TargetInstance resources available to the specified\nproject and zone.",
"flatPath": "projects/{project}/zones/{zone}/targetInstances",
"httpMethod": "GET",
@@ -43202,11 +45462,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "Name of the zone scoping this request.",
"location": "path",
@@ -43226,6 +45481,7 @@
]
},
"setSecurityPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the Google Cloud Armor security policy for the specified target\ninstance. For more information, seeGoogle\nCloud Armor Overview",
"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy",
"httpMethod": "POST",
@@ -43275,6 +45531,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -43325,6 +45582,7 @@
"targetPools": {
"methods": {
"addHealthCheck": {
+ "apiVersion": "2026-09-01",
"description": "Adds health check URLs to a target pool.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck",
"httpMethod": "POST",
@@ -43375,6 +45633,7 @@
]
},
"addInstance": {
+ "apiVersion": "2026-09-01",
"description": "Adds an instance to a target pool.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance",
"httpMethod": "POST",
@@ -43425,6 +45684,7 @@
]
},
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of target pools.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/targetPools",
"httpMethod": "GET",
@@ -43468,11 +45728,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -43491,6 +45746,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified target pool.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}",
"httpMethod": "DELETE",
@@ -43538,6 +45794,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified target pool.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}",
"httpMethod": "GET",
@@ -43581,6 +45838,7 @@
]
},
"getHealth": {
+ "apiVersion": "2026-09-01",
"description": "Gets the most recent health check results for each IP for the\ninstance that is referenced by the given target pool.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth",
"httpMethod": "POST",
@@ -43627,6 +45885,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a target pool in the specified project and region using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/targetPools",
"httpMethod": "POST",
@@ -43669,6 +45928,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of target pools available to the specified\nproject and region.",
"flatPath": "projects/{project}/regions/{region}/targetPools",
"httpMethod": "GET",
@@ -43714,11 +45974,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/targetPools",
@@ -43732,6 +45987,7 @@
]
},
"removeHealthCheck": {
+ "apiVersion": "2026-09-01",
"description": "Removes health check URL from a target pool.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck",
"httpMethod": "POST",
@@ -43782,6 +46038,7 @@
]
},
"removeInstance": {
+ "apiVersion": "2026-09-01",
"description": "Removes instance URL from a target pool.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance",
"httpMethod": "POST",
@@ -43832,6 +46089,7 @@
]
},
"setBackup": {
+ "apiVersion": "2026-09-01",
"description": "Changes a backup target pool's configurations.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup",
"httpMethod": "POST",
@@ -43888,6 +46146,7 @@
]
},
"setSecurityPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the Google Cloud Armor security policy for the specified target pool.\nFor more information, seeGoogle\nCloud Armor Overview",
"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy",
"httpMethod": "POST",
@@ -43937,6 +46196,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -43987,6 +46247,7 @@
"targetSslProxies": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetSslProxy resource.",
"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}",
"httpMethod": "DELETE",
@@ -44026,6 +46287,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetSslProxy resource.",
"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}",
"httpMethod": "GET",
@@ -44061,6 +46323,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetSslProxy resource in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/global/targetSslProxies",
"httpMethod": "POST",
@@ -44095,6 +46358,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of TargetSslProxy resources\navailable to the specified project.",
"flatPath": "projects/{project}/global/targetSslProxies",
"httpMethod": "GET",
@@ -44132,11 +46396,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/targetSslProxies",
@@ -44150,6 +46409,7 @@
]
},
"setBackendService": {
+ "apiVersion": "2026-09-01",
"description": "Changes the BackendService for TargetSslProxy.",
"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService",
"httpMethod": "POST",
@@ -44192,6 +46452,7 @@
]
},
"setCertificateMap": {
+ "apiVersion": "2026-09-01",
"description": "Changes the Certificate Map for TargetSslProxy.",
"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap",
"httpMethod": "POST",
@@ -44233,6 +46494,7 @@
]
},
"setProxyHeader": {
+ "apiVersion": "2026-09-01",
"description": "Changes the ProxyHeaderType for TargetSslProxy.",
"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader",
"httpMethod": "POST",
@@ -44275,6 +46537,7 @@
]
},
"setSslCertificates": {
+ "apiVersion": "2026-09-01",
"description": "Changes SslCertificates for TargetSslProxy.",
"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates",
"httpMethod": "POST",
@@ -44317,6 +46580,7 @@
]
},
"setSslPolicy": {
+ "apiVersion": "2026-09-01",
"description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the\nserver-side support for SSL features. This affects connections between\nclients and the load balancer. They do not affect the\nconnection between the load balancer and the backends.",
"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy",
"httpMethod": "POST",
@@ -44358,6 +46622,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -44400,6 +46665,7 @@
"targetTcpProxies": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all TargetTcpProxy resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/targetTcpProxies",
"httpMethod": "GET",
@@ -44443,11 +46709,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -44466,6 +46727,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified TargetTcpProxy resource.",
"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}",
"httpMethod": "DELETE",
@@ -44505,6 +46767,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified TargetTcpProxy resource.",
"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}",
"httpMethod": "GET",
@@ -44540,6 +46803,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a TargetTcpProxy resource in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/global/targetTcpProxies",
"httpMethod": "POST",
@@ -44574,6 +46838,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of TargetTcpProxy resources\navailable to the specified project.",
"flatPath": "projects/{project}/global/targetTcpProxies",
"httpMethod": "GET",
@@ -44611,11 +46876,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/targetTcpProxies",
@@ -44629,6 +46889,7 @@
]
},
"setBackendService": {
+ "apiVersion": "2026-09-01",
"description": "Changes the BackendService for TargetTcpProxy.",
"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService",
"httpMethod": "POST",
@@ -44671,6 +46932,7 @@
]
},
"setProxyHeader": {
+ "apiVersion": "2026-09-01",
"description": "Changes the ProxyHeaderType for TargetTcpProxy.",
"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader",
"httpMethod": "POST",
@@ -44713,6 +46975,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -44755,6 +47018,7 @@
"targetVpnGateways": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of target VPN gateways.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/targetVpnGateways",
"httpMethod": "GET",
@@ -44798,11 +47062,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -44821,6 +47080,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified target VPN gateway.",
"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}",
"httpMethod": "DELETE",
@@ -44868,6 +47128,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified target VPN gateway.",
"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}",
"httpMethod": "GET",
@@ -44911,6 +47172,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a target VPN gateway in the specified project and region using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/targetVpnGateways",
"httpMethod": "POST",
@@ -44953,6 +47215,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of target VPN gateways available to the specified\nproject and region.",
"flatPath": "projects/{project}/regions/{region}/targetVpnGateways",
"httpMethod": "GET",
@@ -44998,11 +47261,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/targetVpnGateways",
@@ -45016,6 +47274,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a TargetVpnGateway. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels",
"httpMethod": "POST",
@@ -45070,6 +47329,7 @@
"urlMaps": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of all UrlMap resources, regional and global,\navailable to the specified project.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/urlMaps",
"httpMethod": "GET",
@@ -45113,11 +47373,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -45136,6 +47391,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified UrlMap resource.",
"flatPath": "projects/{project}/global/urlMaps/{urlMap}",
"httpMethod": "DELETE",
@@ -45175,6 +47431,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified UrlMap resource.",
"flatPath": "projects/{project}/global/urlMaps/{urlMap}",
"httpMethod": "GET",
@@ -45210,6 +47467,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a UrlMap resource in the specified project using\nthe data included in the request.",
"flatPath": "projects/{project}/global/urlMaps",
"httpMethod": "POST",
@@ -45244,6 +47502,7 @@
]
},
"invalidateCache": {
+ "apiVersion": "2026-09-01",
"description": "Initiates a cache invalidation operation, invalidating the specified path,\nscoped to the specified UrlMap.\n\nFor more information, see [Invalidating cached\ncontent](/cdn/docs/invalidating-cached-content).",
"flatPath": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache",
"httpMethod": "POST",
@@ -45286,6 +47545,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of UrlMap resources available to the specified\nproject.",
"flatPath": "projects/{project}/global/urlMaps",
"httpMethod": "GET",
@@ -45323,11 +47583,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/urlMaps",
@@ -45341,6 +47596,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Patches the specified UrlMap resource with the data included in the\nrequest. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/urlMaps/{urlMap}",
"httpMethod": "PATCH",
@@ -45383,6 +47639,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/global/urlMaps/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -45421,6 +47678,7 @@
]
},
"update": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified UrlMap resource with the data included in the\nrequest.",
"flatPath": "projects/{project}/global/urlMaps/{urlMap}",
"httpMethod": "PUT",
@@ -45463,6 +47721,7 @@
]
},
"validate": {
+ "apiVersion": "2026-09-01",
"description": "Runs static validation for the UrlMap. In particular, the tests of the\nprovided UrlMap will be run. Calling this method does NOT create the\nUrlMap.",
"flatPath": "projects/{project}/global/urlMaps/{urlMap}/validate",
"httpMethod": "POST",
@@ -45504,6 +47763,7 @@
"vpnGateways": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of VPN gateways.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/vpnGateways",
"httpMethod": "GET",
@@ -45547,11 +47807,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -45570,6 +47825,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified VPN gateway.",
"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}",
"httpMethod": "DELETE",
@@ -45617,6 +47873,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified VPN gateway.",
"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}",
"httpMethod": "GET",
@@ -45660,6 +47917,7 @@
]
},
"getStatus": {
+ "apiVersion": "2026-09-01",
"description": "Returns the status for the specified VPN gateway.",
"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus",
"httpMethod": "GET",
@@ -45703,6 +47961,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a VPN gateway in the specified project and region using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/vpnGateways",
"httpMethod": "POST",
@@ -45745,6 +48004,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of VPN gateways available to the specified\nproject and region.",
"flatPath": "projects/{project}/regions/{region}/vpnGateways",
"httpMethod": "GET",
@@ -45790,11 +48050,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/vpnGateways",
@@ -45808,6 +48063,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a VpnGateway. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels",
"httpMethod": "POST",
@@ -45858,6 +48114,7 @@
]
},
"testIamPermissions": {
+ "apiVersion": "2026-09-01",
"description": "Returns permissions that a caller has on the specified resource.",
"flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions",
"httpMethod": "POST",
@@ -45908,6 +48165,7 @@
"vpnTunnels": {
"methods": {
"aggregatedList": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves an aggregated list of VPN tunnels.\n\nTo prevent failure, Google recommends that you set the\n`returnPartialSuccess` parameter to `true`.",
"flatPath": "projects/{project}/aggregated/vpnTunnels",
"httpMethod": "GET",
@@ -45951,11 +48209,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"serviceProjectNumber": {
"description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.",
"format": "int64",
@@ -45974,6 +48227,7 @@
]
},
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified VpnTunnel resource.",
"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}",
"httpMethod": "DELETE",
@@ -46021,6 +48275,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified VpnTunnel resource.",
"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}",
"httpMethod": "GET",
@@ -46064,6 +48319,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a VpnTunnel resource in the specified project and region using\nthe data included in the request.",
"flatPath": "projects/{project}/regions/{region}/vpnTunnels",
"httpMethod": "POST",
@@ -46106,6 +48362,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of VpnTunnel resources contained in the specified\nproject and region.",
"flatPath": "projects/{project}/regions/{region}/vpnTunnels",
"httpMethod": "GET",
@@ -46151,11 +48408,6 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/regions/{region}/vpnTunnels",
@@ -46169,6 +48421,7 @@
]
},
"setLabels": {
+ "apiVersion": "2026-09-01",
"description": "Sets the labels on a VpnTunnel. To learn more about labels, read theLabeling\nResources documentation.",
"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels",
"httpMethod": "POST",
@@ -46223,6 +48476,7 @@
"wireGroups": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified wire group in the given scope.",
"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}",
"httpMethod": "DELETE",
@@ -46267,6 +48521,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Gets the specified wire group resource in the given scope.",
"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}",
"httpMethod": "GET",
@@ -46307,6 +48562,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a wire group in the specified project in the given scope\nusing the parameters that are included in the request.",
"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups",
"httpMethod": "POST",
@@ -46352,6 +48608,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists the wire groups for a project in the given scope.",
"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups",
"httpMethod": "GET",
@@ -46395,11 +48652,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups",
@@ -46413,6 +48665,7 @@
]
},
"patch": {
+ "apiVersion": "2026-09-01",
"description": "Updates the specified wire group resource with the data included in the\nrequest. This method supportsPATCH\nsemantics and usesJSON merge\npatch format and processing rules.",
"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}",
"httpMethod": "PATCH",
@@ -46475,6 +48728,7 @@
"zoneOperations": {
"methods": {
"delete": {
+ "apiVersion": "2026-09-01",
"description": "Deletes the specified zone-specific Operations resource.",
"flatPath": "projects/{project}/zones/{zone}/operations/{operation}",
"httpMethod": "DELETE",
@@ -46514,6 +48768,7 @@
]
},
"get": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the specified zone-specific Operations resource.",
"flatPath": "projects/{project}/zones/{zone}/operations/{operation}",
"httpMethod": "GET",
@@ -46557,6 +48812,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves a list of Operation resources contained within\nthe specified zone.",
"flatPath": "projects/{project}/zones/{zone}/operations",
"httpMethod": "GET",
@@ -46596,11 +48852,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "Name of the zone for request.",
"location": "path",
@@ -46620,6 +48871,7 @@
]
},
"wait": {
+ "apiVersion": "2026-09-01",
"description": "Waits for the specified Operation resource to return as `DONE`\nor for the request to approach the 2 minute deadline, and retrieves the\nspecified Operation resource. This method waits for no more than the\n2 minutes and then returns the current state of the\noperation, which might be `DONE` or still in progress.\n\nThis method is called on a best-effort basis. Specifically:\n \n \n - In uncommon cases, when the server is overloaded, the request might\n return before the default deadline is reached, or might return after zero\n seconds.\n - If the default deadline is reached, there is no guarantee that the\n operation is actually done when the method returns. Be prepared to retry\n if the operation is not `DONE`.",
"flatPath": "projects/{project}/zones/{zone}/operations/{operation}/wait",
"httpMethod": "POST",
@@ -46667,7 +48919,8 @@
"zoneVmExtensionPolicies": {
"methods": {
"delete": {
- "description": "Deletes a specified zone VM extension policy.",
+ "apiVersion": "2026-09-01",
+ "description": "Deletes a specified zone VM extension policy within a project.",
"flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}",
"httpMethod": "DELETE",
"id": "compute.zoneVmExtensionPolicies.delete",
@@ -46713,7 +48966,8 @@
]
},
"get": {
- "description": "Retrieves details of a specific zone VM extension policy.",
+ "apiVersion": "2026-09-01",
+ "description": "Retrieves details of a specific zone VM extension policy within a project.",
"flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}",
"httpMethod": "GET",
"id": "compute.zoneVmExtensionPolicies.get",
@@ -46756,6 +49010,7 @@
]
},
"insert": {
+ "apiVersion": "2026-09-01",
"description": "Creates a new zone-level VM extension policy within a project.",
"flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies",
"httpMethod": "POST",
@@ -46798,6 +49053,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Lists all VM extension policies within a specific zone for a project.",
"flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies",
"httpMethod": "GET",
@@ -46837,11 +49093,6 @@
"required": true,
"type": "string"
},
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
- },
"zone": {
"description": "Name of the zone for this request.",
"location": "path",
@@ -46861,7 +49112,8 @@
]
},
"update": {
- "description": "Modifies an existing zone VM extension policy.",
+ "apiVersion": "2026-09-01",
+ "description": "Modifies an existing zone VM extension policy within a project.",
"flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}",
"httpMethod": "PATCH",
"id": "compute.zoneVmExtensionPolicies.update",
@@ -46914,6 +49166,7 @@
"zones": {
"methods": {
"get": {
+ "apiVersion": "2026-09-01",
"description": "Returns the specified Zone resource.",
"flatPath": "projects/{project}/zones/{zone}",
"httpMethod": "GET",
@@ -46949,6 +49202,7 @@
]
},
"list": {
+ "apiVersion": "2026-09-01",
"description": "Retrieves the list of Zone resources available to the specified project.",
"flatPath": "projects/{project}/zones",
"httpMethod": "GET",
@@ -46986,11 +49240,6 @@
"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"required": true,
"type": "string"
- },
- "returnPartialSuccess": {
- "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.",
- "location": "query",
- "type": "boolean"
}
},
"path": "projects/{project}/zones",
@@ -47006,7 +49255,7 @@
}
}
},
- "revision": "20260331",
+ "revision": "20261007",
"rootUrl": "https://compute.googleapis.com/",
"schemas": {
"AWSV4Signature": {
@@ -47154,6 +49403,11 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"type": "string"
},
+ "resourceMetadata": {
+ "$ref": "ResourceMetadata",
+ "description": "Output only. Contains standard resource metadata for an AcceleratorType\nresource. It is populated for each instance of the AcceleratorType\nresource, and includes the api_version the\ninstance was retrieved through, and its canonical\nresource_type name.",
+ "readOnly": true
+ },
"selfLink": {
"description": "Output only. [Output Only] Server-defined, fully qualified URL for this resource.",
"readOnly": true,
@@ -47305,7 +49559,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -47462,7 +49716,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -47599,7 +49853,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -47733,7 +49987,7 @@
"type": "string"
},
"ipCollection": {
- "description": "Reference to the source of external IPv4 addresses,\nlike a PublicDelegatedPrefix (PDP) for BYOIP.\nThe PDP must support enhanced IPv4 allocations.\n\nUse one of the following formats to specify a PDP when reserving an\nexternal IPv4 address using BYOIP.\n \n - \n Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/projectId/regions/region/publicDelegatedPrefixes/pdp-name\n - \n Partial URL, as in\n \n \n - projects/projectId/regions/region/publicDelegatedPrefixes/pdp-name\n - regions/region/publicDelegatedPrefixes/pdp-name",
+ "description": "Reference to the source of IP addresses.\n\nIt supports the following cases:\n \n - \n Case 1: PublicDelegatedPrefix (PDP) for BYOIP external\n addresses. If an IPv4 PDP is used, the PDP must support enhanced IPv4\n allocations. If an IPv6 PDP is used, the PDP must be in\n EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.\n - \n Case 2: Internal Range for global internal addresses.\n\n\n\nUse one of the following formats to specify the resource:\n\nFor a Public Delegated Prefix:\n \n - \n Full resource URL:https://www.googleapis.com/compute/v1/projects/projectId/regions/region/publicDelegatedPrefixes/pdp\n - Partial URL:\n - projects/projectId/regions/region/publicDelegatedPrefixes/pdp-name\n - regions/region/publicDelegatedPrefixes/pdp-name\n \n\n\nFor an Internal Range:\n \n - Full URL:https://networkconnectivity.googleapis.com/v1/projects/project/locations/global/internalRanges/internal-range\n - Partial URL:projects/project/locations/global/internalRanges/internal-range",
"type": "string"
},
"ipVersion": {
@@ -47816,7 +50070,7 @@
"type": "integer"
},
"purpose": {
- "description": "The purpose of this resource, which can be one of the following values:\n \n \n - GCE_ENDPOINT for addresses that are used by VM\n instances, alias IP ranges, load balancers, and similar resources.\n - DNS_RESOLVER for a DNS resolver address in a subnetwork\n for a Cloud DNS inbound\n forwarder IP addresses (regional internal IP address in a subnet of\n a VPC network)\n - VPC_PEERING for global internal IP addresses used for\n \n private services access allocated ranges.\n - NAT_AUTO for the regional external IP addresses used by\n Cloud NAT when allocating addresses using\n \n automatic NAT IP address allocation.\n - IPSEC_INTERCONNECT for addresses created from a private\n IP range that are reserved for a VLAN attachment in an\n *HA VPN over Cloud Interconnect* configuration. These addresses\n are regional resources.\n - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned\n to multiple internal forwarding rules.\n - `PRIVATE_SERVICE_CONNECT` for a private network address that is\n used to configure Private Service Connect. Only global internal addresses\n can use this purpose.",
+ "description": "The purpose of this resource, which can be one of the following values:\n \n \n - GCE_ENDPOINT for addresses that are used by VM\n instances, alias IP ranges, load balancers, and similar resources.\n - DNS_RESOLVER for a DNS resolver address in a subnetwork\n for a Cloud DNS inbound\n forwarder IP addresses (regional internal IP address in a subnet of\n a VPC network)\n - VPC_PEERING for global internal IP addresses used for\n \n private services access allocated ranges.\n - NAT_AUTO for the regional external IP addresses used by\n Cloud NAT when allocating addresses using\n \n automatic NAT IP address allocation.\n - IPSEC_INTERCONNECT for addresses created from a private\n IP range that are reserved for a VLAN attachment in an\n *HA VPN over Cloud Interconnect* configuration. These addresses\n are regional resources.\n - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned\n to multiple internal forwarding rules.\n - `PRIVATE_SERVICE_CONNECT` for a private network address that is\n used to configure Private Service Connect. Only global internal addresses\n can use this purpose.\n - `PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0` for addresses\n that can only be assigned to global external Passthrough Network Load\n Balancer forwarding rules, as an Availability Group 0 address.\n - `PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1` for addresses that\n can only be assigned to global external Passthrough Network Load Balancer\n forwarding rules, as an Availability Group 1 address.",
"enum": [
"DNS_RESOLVER",
"GCE_ENDPOINT",
@@ -47830,7 +50084,7 @@
"enumDescriptions": [
"DNS resolver address in the subnetwork.",
"VM internal/alias IP, Internal LB service IP, etc.",
- "A regional internal IP address range reserved for the VLAN attachment\nthat is used in HA VPN over Cloud Interconnect. This regional\ninternal IP address range must not overlap with any IP address range\nof subnet/route in the VPC network and its peering networks. After the\nVLAN attachment is created with the reserved IP address range, when\ncreating a new VPN gateway, its interface IP address is allocated\nfrom the associated VLAN attachment’s IP address range.",
+ "A regional internal IP address range reserved for the VLAN attachment\nthat is used in HA VPN over Cloud Interconnect. This regional\ninternal IP address range must not overlap with any IP address range\nof subnet/route in the VPC network and its peering networks. After the\nVLAN attachment is created with the reserved IP address range, when\ncreating a new VPN gateway, its interface IP address is allocated\nfrom the associated VLAN attachment's IP address range.",
"External IP automatically reserved for Cloud NAT.",
"A private network IP address that can be used to configure Private\nService Connect. This purpose can be specified only forGLOBAL addresses of Type INTERNAL",
"A regional internal IP address range reserved for Serverless.",
@@ -48016,7 +50270,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -48173,7 +50427,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -48310,7 +50564,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -48831,7 +51085,7 @@
"type": "string"
},
"diskType": {
- "description": "Specifies the disk type to use to create the instance. If not specified,\nthe default is pd-standard, specified using the full URL.\nFor example:\n\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard\n\n\nFor a full list of acceptable values, seePersistent disk\ntypes. If you specify this field when creating a VM, you can provide\neither the full or partial URL. For example, the following values are\nvalid:\n \n \n - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType \n - projects/project/zones/zone/diskTypes/diskType \n - zones/zone/diskTypes/diskType\n\n\nIf you specify this field when creating or updating an instance template\nor all-instances configuration, specify the type of the disk, not the\nURL. For example: pd-standard.",
+ "description": "Specifies the disk type used for the boot disk or an additional data\ndisk. For valid disk type values, see \nSupported types for Hyperdisk volumes and\nPersistent Disk type variables.\n\nWhen creating a single instance, you must provide either the full or\npartial URL of the disk type. For example, the following values are\nvalid: \n \n \n - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType\n - projects/project/zones/zone/diskTypes/diskType\n - zones/zone/diskTypes/diskType\n\n\n\nWhen creating an instance template, instance flexibility policy, or when\ncreating or updating an all-instances configuration, you specify the\ndisk type without a URL, for example, hyperdisk-balanced.\n\nIf you omit this field for a disk, the default disk type depends on\nthe instance's machine series, as follows.\n \n \n - For first- and second-generation machine series like N1, N2, T2, and\n M1, the\n default disk type is Standard Persistent Disk\n (pd-standard).\n - For C3, C3D, and M3 the default is Balanced Persistent Disk\n (pd-balanced). \n - For other third-generation machine\n series like A3, H3, Z3, all\n fourth-generation types like C4, N4, M4, and newer machine series,\n the default is Hyperdisk Balanced\n (hyperdisk-balanced).\n\n\n\nThe disk type you specify must be compatible with the instance's machine\nseries. For a list of machine series that support Persistent Disk, see Machine\nseries support for Persistent Disk.\n\nFor a list of machine series that support Hyperdisk, seeMachine\nseries support for Hyperdisk.",
"type": "string"
},
"enableConfidentialCompute": {
@@ -48887,7 +51141,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Input only. Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026 PATCH) when\nempty.",
+ "description": "Input only. Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026 PATCH) when\nempty.",
"type": "object"
},
"resourcePolicies": {
@@ -49204,7 +51458,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -49361,7 +51615,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -49556,7 +51810,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -49628,7 +51882,7 @@
"Do not automatically scale the MIG in or out.\nThe recommended_size field contains the size of MIG that would be set if\nthe actuation mode was enabled.",
"Automatically scale the MIG in and out according to the policy.",
"Automatically create VMs according to the policy, but do not scale\nthe MIG in.",
- "Automatically create VMs according to the policy, but do not scale\nthe MIG in."
+ "Automatically create VMs according to the policy, but do not scale\nthe MIG in.\nIt's recommended to use ONLY_SCALE_OUT instead of ONLY_UP."
],
"type": "string"
},
@@ -49641,6 +51895,11 @@
},
"description": "Scaling schedules defined for an autoscaler. Multiple schedules\ncan be set on an autoscaler, and they can overlap. During overlapping\nperiods the greatest min_required_replicas of all scaling schedules is\napplied. Up to 128 scaling schedules are allowed.",
"type": "object"
+ },
+ "stabilizationPeriodSec": {
+ "description": "The number of seconds that autoscaler waits for load stabilization before\nmaking scale-in decisions. This is referred to as the\n[stabilization period](/compute/docs/autoscaler#stabilization_period).\nThis might appear as a delay in scaling in but it is an important mechanism\nfor your application to not have fluctuating size due to short term load\nfluctuations.\n\nThe default stabilization period is 600 seconds.",
+ "format": "int32",
+ "type": "integer"
}
},
"type": "object"
@@ -49774,7 +52033,7 @@
"id": "Backend",
"properties": {
"balancingMode": {
- "description": "Specifies how to determine whether the backend of a load balancer can\nhandle additional traffic or is fully loaded. For usage guidelines, see\nConnection balancing mode.\n\nBackends must use compatible balancing modes. For more information, see\nSupported balancing modes and target capacity settings and\nRestrictions and guidance for instance groups.\n\nNote: Currently, if you use the API to configure incompatible balancing\nmodes, the configuration might be accepted even though it has no impact\nand is ignored. Specifically, Backend.maxUtilization is ignored when\nBackend.balancingMode is RATE. In the future, this incompatible combination\nwill be rejected.",
+ "description": "Specifies how to determine whether the backend of a load balancer can\nhandle additional traffic or is fully loaded. For usage guidelines, see\nConnection balancing mode.\n\nBackends must use compatible balancing modes. Backends of a backend\nservice may use different balancing modes. For more information, see \nSupported balancing modes and target capacity settings and\nRestrictions and guidance for instance groups.\n\nNote: Currently, if you use the API to configure incompatible balancing\nmodes, the configuration might be accepted even though it has no impact\nand is ignored. Specifically, Backend.maxUtilization is ignored when\nBackend.balancingMode is RATE. In the future, this incompatible combination\nwill be rejected.",
"enum": [
"CONNECTION",
"CUSTOM_METRICS",
@@ -49808,7 +52067,7 @@
"type": "string"
},
"failover": {
- "description": "This field designates whether this is a failover backend. More than one\nfailover backend can be configured for a given BackendService.",
+ "description": "This field designates whether this is a failover backend. More than one\nfailover backend can be configured for a given BackendService.\n\nThis field can only be used for a regional external Passthrough Network\nLoad Balancer or a regional internal Passthrough Network Load Balancer.",
"type": "boolean"
},
"group": {
@@ -49870,7 +52129,7 @@
"description": "Information about the resource or system that manages the backend."
},
"preference": {
- "description": "This field indicates whether this backend should be fully utilized before\nsending traffic to backends with default preference. The possible values\nare:\n \n - PREFERRED: Backends with this preference level will be\n filled up to their capacity limits first, based on RTT.\n - DEFAULT: If preferred backends don't have enough\n capacity, backends in this layer would be used and traffic would be\n assigned based on the load balancing algorithm you use. This is the\n default",
+ "description": "This field indicates whether this backend should be fully utilized before\nsending traffic to backends with default preference. The possible values\nare:\n \n - PREFERRED: Backends with this preference level will be\n filled up to their capacity limits first, based on RTT.\n - DEFAULT: If preferred backends don't have enough\n capacity, backends in this layer would be used and traffic would be\n assigned based on the load balancing algorithm you use. This is the\n default\n\n\n\nFor global external Passthrough Network Load Balancers, the following\nrestrictions apply:\n \n - At most one backend can be marked as PREFERRED.\n - PREFERRED and DEFAULT backends cannot reside\n in the same Cloud region.",
"enum": [
"DEFAULT",
"PREFERENCE_UNSPECIFIED",
@@ -50140,7 +52399,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -50182,7 +52441,7 @@
"description": "The CacheKeyPolicy for this CdnPolicy."
},
"cacheMode": {
- "description": "Specifies the cache setting for all responses from this backend.\nThe possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid caching\nheaders to cache content. Responses without these headers will not be\ncached at Google's edge, and will require a full trip to the origin on\nevery request, potentially impacting performance and increasing load on\nthe origin server.FORCE_CACHE_ALL Cache all content, ignoring any \"private\",\n\"no-store\" or \"no-cache\" directives in Cache-Control response headers.\nWarning: this may result in Cloud CDN caching private,\nper-user (user identifiable) content.CACHE_ALL_STATIC Automatically cache static content,\nincluding common image formats, media (video and audio), and web assets\n(JavaScript and CSS). Requests and responses that are marked as\nuncacheable, as well as dynamic content (including HTML), will not be\ncached.\n\nIf no value is provided for cdnPolicy.cacheMode, it defaults\nto CACHE_ALL_STATIC.",
+ "description": "Specifies the cache setting for all responses from this backend.\nThe possible values are:\nUSE_ORIGIN_HEADERS Requires the origin to set valid caching\nheaders to cache content. Responses without these headers will not be\ncached at Google's edge, and will require a full trip to the origin on\nevery request, potentially impacting performance and increasing load on\nthe origin server.\nFORCE_CACHE_ALL Cache all content, ignoring any \"private\",\n\"no-store\" or \"no-cache\" directives in Cache-Control response headers.\nWarning: this may result in Cloud CDN caching private,\nper-user (user identifiable) content.\nCACHE_ALL_STATIC Automatically cache static content,\nincluding common image formats, media (video and audio), and web assets\n(JavaScript and CSS). Requests and responses that are marked as\nuncacheable, as well as dynamic content (including HTML), will not be\ncached.\n\nIf no value is provided for cdnPolicy.cacheMode, it defaults\nto CACHE_ALL_STATIC.",
"enum": [
"CACHE_ALL_STATIC",
"FORCE_CACHE_ALL",
@@ -50427,7 +52686,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -50583,7 +52842,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -50745,7 +53004,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -50897,7 +53156,7 @@
},
"failoverPolicy": {
"$ref": "BackendServiceFailoverPolicy",
- "description": "Requires at least one backend instance group to be defined\nas a backup (failover) backend.\nFor load balancers that have configurable failover:\n[Internal passthrough Network Load\nBalancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview)\nand [external passthrough Network Load\nBalancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).\n\nfailoverPolicy cannot be specified with haPolicy."
+ "description": "Requires at least one backend instance group to be defined\nas a backup (failover) backend.\nFor load balancers that have configurable failover:\n[Internal passthrough Network Load\nBalancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview)\nand [external passthrough Network Load\nBalancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).\nfailoverPolicy cannot be specified with haPolicy.failoverPolicy cannot be used by global external Passthrough\nNetwork Load Balancers."
},
"fingerprint": {
"description": "Fingerprint of this resource. A hash of the contents stored in this object.\nThis field is used in optimistic locking. This field will be ignored when\ninserting a BackendService. An up-to-date fingerprint must be provided in\norder to update the BackendService, otherwise the request will\nfail with error 412 conditionNotMet.\n\nTo see the latest fingerprint, make a get() request to\nretrieve a BackendService.",
@@ -50906,7 +53165,7 @@
},
"haPolicy": {
"$ref": "BackendServiceHAPolicy",
- "description": "Configures self-managed High Availability (HA) for External and Internal\nProtocol Forwarding.\n\nThe backends of this regional backend service must only specify zonal\nnetwork endpoint groups (NEGs) of type GCE_VM_IP.\n\nWhen haPolicy is set for an Internal Passthrough Network Load Balancer, the\nregional backend service must set the network field. All zonal NEGs must\nbelong to the same network. However, individual NEGs can\nbelong to different subnetworks of that network.\n\nWhen haPolicy is specified, the set of attached network endpoints across\nall backends comprise an High Availability domain from which one endpoint\nis selected as the active endpoint (the leader) that receives all\ntraffic.\n\nhaPolicy can be added only at backend service creation time. Once set up,\nit cannot be deleted.\n\nNote that haPolicy is not for load balancing, and therefore cannot be\nspecified with sessionAffinity, connectionTrackingPolicy, and\nfailoverPolicy.\n\nhaPolicy requires customers to be responsible for tracking backend\nendpoint health and electing a leader among the healthy endpoints.\nTherefore, haPolicy cannot be specified with healthChecks.\n\nhaPolicy can only be specified for External Passthrough Network Load\nBalancers and Internal Passthrough Network Load Balancers."
+ "description": "Configures self-managed High Availability (HA) for External and Internal\nProtocol Forwarding.\n\nThe backends of this regional backend service must only specify zonal\nnetwork endpoint groups (NEGs) of type GCE_VM_IP.\n\nWhen haPolicy is set for an Internal Passthrough Network Load Balancer, the\nregional backend service must set the network field. All zonal NEGs must\nbelong to the same network. However, individual NEGs can\nbelong to different subnetworks of that network.\n\nWhen haPolicy is specified, the set of attached network endpoints across\nall backends comprise an High Availability domain from which one endpoint\nis selected as the active endpoint (the leader) that receives all\ntraffic.\n\nhaPolicy can be added only at backend service creation time. Once set up,\nit cannot be deleted.\n\nNote that haPolicy is not for load balancing, and therefore cannot be\nspecified with sessionAffinity, connectionTrackingPolicy, and\nfailoverPolicy.\n\nhaPolicy requires customers to be responsible for tracking backend\nendpoint health and electing a leader among the healthy endpoints.\nTherefore, haPolicy cannot be specified with healthChecks.\nhaPolicy can only be specified for External Passthrough\nNetwork Load Balancers and Internal Passthrough Network Load Balancers.haPolicy cannot be used by global external Passthrough Network\nLoad Balancers."
},
"healthChecks": {
"description": "The list of URLs to the healthChecks, httpHealthChecks (legacy), or\nhttpsHealthChecks (legacy) resource for health checking this backend\nservice. Not all backend services support legacy health checks. See\nLoad balancer guide. Currently, at most one health check can be\nspecified for each backend service. Backend services with\ninstance group or zonal NEG backends must have a health check unless\nhaPolicy is specified. Backend services with internet or serverless NEG\nbackends must not have a health check.\n\nhealthChecks[] cannot be specified with haPolicy.",
@@ -50947,7 +53206,7 @@
"type": "string"
},
"loadBalancingScheme": {
- "description": "Specifies the load balancer type. A backend service\ncreated for one type of load balancer cannot be used with another.\nFor more information, refer toChoosing\na load balancer.",
+ "description": "Specifies the load balancer type. A backend service\ncreated for one type of load balancer cannot be used with another.\nFor more information, refer to\nBackend services product and scheme table.",
"enum": [
"EXTERNAL",
"EXTERNAL_MANAGED",
@@ -50974,7 +53233,7 @@
"type": "array"
},
"localityLbPolicy": {
- "description": "The load balancing algorithm used within the scope of the locality. The\npossible values are:\n \n - ROUND_ROBIN: This is a simple policy in which each healthy\n backend is selected in round robin order. This is the default.\n - LEAST_REQUEST: An O(1) algorithm which\n selects two random healthy hosts and picks the host which has fewer active\n requests.\n - RING_HASH: The ring/modulo hash load balancer implements\n consistent hashing to backends. The algorithm has the property that the\n addition/removal of a host from a set of N hosts only affects 1/N of the\n requests.\n - RANDOM: The load balancer selects a random healthy\n host.\n - ORIGINAL_DESTINATION: Backend host is selected\n based on the client connection metadata, i.e., connections are opened to\n the same address as the destination address of the incoming connection\n before the connection was redirected to the load balancer.\n - MAGLEV: used as a drop in replacement for the ring hash\n load balancer. Maglev is not as stable as ring hash but has faster table\n lookup build times and host selection times. For more information about\n Maglev, see Maglev:\n A Fast and Reliable Software Network Load Balancer.\n - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin\n Load Balancing using weights computed from Backend reported Custom Metrics.\n If set, the Backend Service responses are expected to contain non-standard\n HTTP response header field Endpoint-Load-Metrics. The reported\n metrics to use for computing the weights are specified via thecustomMetrics field.\n \n This field is applicable to either:\n - A regional backend service with the service protocol set to HTTP,\n HTTPS, HTTP2 or H2C, and load_balancing_scheme set to\n INTERNAL_MANAGED. \n - A global backend service with the\n load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or\n EXTERNAL_MANAGED.\n \n \n If sessionAffinity is not configured—that is, if session\n affinity remains at the default value of NONE—then the\n default value for localityLbPolicy\n is ROUND_ROBIN. If session affinity is set to a value other\n than NONE,\n then the default value for localityLbPolicy isMAGLEV.\n \n Only ROUND_ROBIN and RING_HASH are supported\n when the backend service is referenced by a URL map that is bound to\n target gRPC proxy that has validateForProxyless field set to true.\n \n localityLbPolicy cannot be specified with haPolicy.",
+ "description": "The load balancing algorithm used within the scope of the locality. The\npossible values are:\n \n - ROUND_ROBIN: This is a simple policy in which each healthy\n backend is selected in round robin order. This is the default.\n - LEAST_REQUEST: An O(1) algorithm which\n selects two random healthy hosts and picks the host which has fewer active\n requests.\n - RING_HASH: The ring/modulo hash load balancer implements\n consistent hashing to backends. The algorithm has the property that the\n addition/removal of a host from a set of N hosts only affects 1/N of the\n requests.\n - RANDOM: The load balancer selects a random healthy\n host.\n - ORIGINAL_DESTINATION: Backend host is selected\n based on the client connection metadata, i.e., connections are opened to\n the same address as the destination address of the incoming connection\n before the connection was redirected to the load balancer.\n - MAGLEV: used as a drop in replacement for the ring hash\n load balancer. Maglev is not as stable as ring hash but has faster table\n lookup build times and host selection times. For more information about\n Maglev, see Maglev:\n A Fast and Reliable Software Network Load Balancer.\n - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin\n Load Balancing using weights computed from Backend reported Custom Metrics.\n If set, the Backend Service responses are expected to contain non-standard\n HTTP response header field Endpoint-Load-Metrics. The reported\n metrics to use for computing the weights are specified via thecustomMetrics field.\n - WEIGHTED_MAGLEV: Per-endpoint weighted load balancing via\n health check reported weights. If set, the backend service must configure\n an HTTP-based Health Check, and health check replies are expected to\n contain the non-standard HTTP response header fieldX-Load-Balancing-Endpoint-Weight to specify the per-endpoint\n weights. If set, load balancing is weighted based on the per-endpoint\n weights reported in the last processed health check replies, as long as\n every instance either reported a valid weight or had UNAVAILABLE_WEIGHT.\n Otherwise, load balancing remains equal-weight.\n\n\n\nThis field is applicable to either:\n \n - A regional backend service with the service protocol set to HTTP,\n HTTPS, HTTP2 or H2C, and load_balancing_scheme set to\n INTERNAL_MANAGED. \n - A global backend service with the\n load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or\n EXTERNAL_MANAGED.\n\n\n\nIf sessionAffinity is not configured—that is, if session\naffinity remains at the default value of NONE—then the\ndefault value for localityLbPolicy\nis ROUND_ROBIN. If session affinity is set to a value other\nthan NONE,\nthen the default value for localityLbPolicy isMAGLEV.\n\nOnly ROUND_ROBIN and RING_HASH are supported\nwhen the backend service is referenced by a URL map that is bound to\ntarget gRPC proxy that has validateForProxyless field set to true.\n\nlocalityLbPolicy cannot be specified with haPolicy.",
"enum": [
"INVALID_LB_POLICY",
"LEAST_REQUEST",
@@ -51052,7 +53311,7 @@
"type": "string"
},
"protocol": {
- "description": "The protocol this BackendService uses to communicate\nwith backends.\n\nPossible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP or GRPC.\ndepending on the chosen load balancer or Traffic Director configuration.\nRefer to the documentation for the load balancers or for Traffic Director\nfor more information.\n\nMust be set to GRPC when the backend service is referenced by a URL map\nthat is bound to target gRPC proxy.",
+ "description": "The protocol this BackendService uses to communicate with backends.\n\nPossible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP, GRPC, or\nUNSPECIFIED, depending on the chosen load balancer or Traffic Director\nconfiguration.\nRefer to \nLoad balancing features for more information.\n\nMust be set to GRPC when the backend service is referenced by a URL map\nthat is bound to target gRPC proxy.",
"enum": [
"GRPC",
"H2C",
@@ -51102,7 +53361,7 @@
"type": "array"
},
"serviceLbPolicy": {
- "description": "URL to networkservices.ServiceLbPolicy resource.\n\nCan only be set if load balancing scheme is EXTERNAL_MANAGED,\nINTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.",
+ "description": "URL to networkservices.ServiceLbPolicy resource.\n\nCan only be set if load balancing scheme is EXTERNAL_MANAGED,\nINTERNAL_MANAGED or INTERNAL_SELF_MANAGED for a global backend service, and\nEXTERNAL_MANAGED or INTERNAL_MANAGED for a regional backend service. For a\nglobal backend service, the service lb policy must be global. For a\nregional backend service, the service lb policy must be regional and in the\nsame region.",
"type": "string"
},
"sessionAffinity": {
@@ -51299,7 +53558,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -51341,7 +53600,7 @@
"description": "The CacheKeyPolicy for this CdnPolicy."
},
"cacheMode": {
- "description": "Specifies the cache setting for all responses from this backend.\nThe possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid caching\nheaders to cache content. Responses without these headers will not be\ncached at Google's edge, and will require a full trip to the origin on\nevery request, potentially impacting performance and increasing load on\nthe origin server.FORCE_CACHE_ALL Cache all content, ignoring any \"private\",\n\"no-store\" or \"no-cache\" directives in Cache-Control response headers.\nWarning: this may result in Cloud CDN caching private,\nper-user (user identifiable) content.CACHE_ALL_STATIC Automatically cache static content,\nincluding common image formats, media (video and audio), and web assets\n(JavaScript and CSS). Requests and responses that are marked as\nuncacheable, as well as dynamic content (including HTML), will not be\ncached.\n\nIf no value is provided for cdnPolicy.cacheMode, it defaults\nto CACHE_ALL_STATIC.",
+ "description": "Specifies the cache setting for all responses from this backend.\nThe possible values are:\nUSE_ORIGIN_HEADERS Requires the origin to set valid caching\nheaders to cache content. Responses without these headers will not be\ncached at Google's edge, and will require a full trip to the origin on\nevery request, potentially impacting performance and increasing load on\nthe origin server.\nFORCE_CACHE_ALL Cache all content, ignoring any \"private\",\n\"no-store\" or \"no-cache\" directives in Cache-Control response headers.\nWarning: this may result in Cloud CDN caching private,\nper-user (user identifiable) content.\nCACHE_ALL_STATIC Automatically cache static content,\nincluding common image formats, media (video and audio), and web assets\n(JavaScript and CSS). Requests and responses that are marked as\nuncacheable, as well as dynamic content (including HTML), will not be\ncached.\n\nIf no value is provided for cdnPolicy.cacheMode, it defaults\nto CACHE_ALL_STATIC.",
"enum": [
"CACHE_ALL_STATIC",
"FORCE_CACHE_ALL",
@@ -51579,7 +53838,7 @@
"id": "BackendServiceHAPolicyLeaderNetworkEndpoint",
"properties": {
"instance": {
- "description": "The name of the VM instance of the leader network endpoint. The\ninstance must already be attached to the NEG specified in the\nhaPolicy.leader.backendGroup.\n\nThe name must be 1-63 characters long, and comply with RFC1035.\nAuthorization requires the following IAM permission on the\nspecified resource instance: compute.instances.use",
+ "description": "The name of the VM instance of the leader network endpoint. The\ninstance must already be attached to the NEG specified in the\nhaPolicy.leader.backendGroup.\n\nThe value must be a valid RFC1035 name (1-63 characters) or a valid\ninstance URL.\nAuthorization requires the following IAM permission on the\nspecified resource instance: compute.instances.use",
"type": "string"
}
},
@@ -51759,7 +54018,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -51916,7 +54175,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -52013,6 +54272,20 @@
"description": "Denotes whether to enable logging for the load balancer\ntraffic served by this backend service. The default value is false.",
"type": "boolean"
},
+ "loggingHttpRequestHeaders": {
+ "description": "The list of request headers that will be logged to Stackdriver.",
+ "items": {
+ "$ref": "BackendServiceLogConfigLoggingHttpHeader"
+ },
+ "type": "array"
+ },
+ "loggingHttpResponseHeaders": {
+ "description": "The list of response headers that will be logged to Stackdriver.",
+ "items": {
+ "$ref": "BackendServiceLogConfigLoggingHttpHeader"
+ },
+ "type": "array"
+ },
"optionalFields": {
"description": "This field can only be specified if logging is enabled for this backend\nservice and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list\nof optional fields you want to include in the logs. For example:\nserverInstance, serverGkeDetails.cluster,\nserverGkeDetails.pod.podNamespace",
"items": {
@@ -52042,6 +54315,17 @@
},
"type": "object"
},
+ "BackendServiceLogConfigLoggingHttpHeader": {
+ "description": "Determines which HTTP headers will be logged to Stackdriver.",
+ "id": "BackendServiceLogConfigLoggingHttpHeader",
+ "properties": {
+ "headerName": {
+ "description": "The name of the header to be logged.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"BackendServiceNetworkPassThroughLbTrafficPolicy": {
"id": "BackendServiceNetworkPassThroughLbTrafficPolicy",
"properties": {
@@ -52118,6 +54402,10 @@
"description": "Reference to the BackendAuthenticationConfig resource from the\nnetworksecurity.googleapis.com namespace. Can be used in authenticating\nTLS connections to the backend, as specified by the authenticationMode\nfield. Can only be specified if authenticationMode is not NONE.",
"type": "string"
},
+ "identity": {
+ "description": "Assigns the Managed Identity for the BackendService Workload.\n\n\nUse this property to configure the load balancer back-end to use\ncertificates and roots of trust provisioned by the Managed Workload\nIdentity system. \n\n The `identity` property is the\nfully-specified SPIFFE ID to use in the SVID presented by the Load\nBalancer Workload. \n\n The SPIFFE ID must be a resource starting with the\n`trustDomain` property value, followed by the path to the Managed\nWorkload Identity. \n\n Supported SPIFFE ID format: \n \n - //\u003ctrust_domain\u003e/ns/\u003cnamespace\u003e/sa/\u003csubject\u003e\n\n\nThe Trust Domain within the Managed Identity must refer to a valid\nWorkload Identity Pool. The TrustConfig and CertificateIssuanceConfig\nwill be inherited from the Workload Identity Pool. \n\n Restrictions: \n \n - If you set the `identity` property, you cannot manually set\n the following fields: \n - tlsSettings.sni\n - tlsSettings.subjectAltNames\n - tlsSettings.authenticationConfig\n \n\nWhen defining a `identity` for a RegionBackendServices, the\ncorresponding Workload Identity Pool must have a ca_pool\nconfigured in the same region. \n\n The system will set up a read-onlytlsSettings.authenticationConfig for the Managed Identity.",
+ "type": "string"
+ },
"sni": {
"description": "Server Name Indication - see RFC3546 section 3.1. If set, the load\nbalancer sends this string as the SNI hostname in the TLS connection to\nthe backend, and requires that this string match a Subject Alternative\nName (SAN) in the backend's server certificate. With a Regional Internet\nNEG backend, if the SNI is specified here, the load balancer uses it\nregardless of whether the Regional Internet NEG is specified with FQDN or\nIP address and port. When both sni and subjectAltNames[] are specified,\nthe load balancer matches the backend certificate's SAN only to\nsubjectAltNames[].",
"type": "string"
@@ -52269,7 +54557,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -52894,6 +55182,132 @@
},
"type": "object"
},
+ "CachePolicy": {
+ "description": "Message containing CachePolicy configuration for URL Map's Route Action.",
+ "id": "CachePolicy",
+ "properties": {
+ "cacheBypassRequestHeaderNames": {
+ "description": "Bypass the cache when the specified request headers are matched by name,\ne.g. Pragma or Authorization headers. Values are case-insensitive. Up to 5\nheader names can be specified. The cache is bypassed for all `cacheMode`\nvalues.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "cacheKeyPolicy": {
+ "$ref": "CachePolicyCacheKeyPolicy",
+ "description": "The cache key configuration. If not specified, the default behavior depends\non the backend type: for Backend Services, the complete request URI is\nused; for Backend Buckets, the request URI is used without the protocol or\nhost, and only query parameters known to Cloud Storage are included."
+ },
+ "cacheMode": {
+ "description": "Specifies the cache setting for all responses from this route. If not\nspecified, Cloud CDN uses `CACHE_ALL_STATIC` mode.",
+ "enum": [
+ "CACHE_ALL_STATIC",
+ "FORCE_CACHE_ALL",
+ "USE_ORIGIN_HEADERS"
+ ],
+ "enumDescriptions": [
+ "Automatically cache static content, including common image formats,\nmedia (video and audio), and web assets (JavaScript and CSS).\nRequests and responses that are marked as uncacheable, as well as\ndynamic content (including HTML), will not be cached.",
+ "Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\"\ndirectives in Cache-Control response headers.\nWarning: this may result in Cloud CDN caching private,\nper-user (user identifiable) content.",
+ "Requires the origin to set valid caching headers to cache content.\nResponses without these headers will not be cached at the edge, and will\nrequire a full trip to the origin on every request, potentially impacting\nperformance and increasing load on the origin server."
+ ],
+ "type": "string"
+ },
+ "clientTtl": {
+ "$ref": "Duration",
+ "description": "Specifies a separate client (e.g. browser client) maximum TTL for cached\ncontent. This is used to clamp the max-age (or Expires) value sent to the\nclient. With `FORCE_CACHE_ALL`, the lesser of `clientTtl` and `defaultTtl`\nis used for the response max-age directive, along with a \"public\"\ndirective. For cacheable content in `CACHE_ALL_STATIC` mode, `clientTtl`\nclamps the max-age from the origin (if specified), or else sets the\nresponse max-age directive to the lesser of the `clientTtl` and\n`defaultTtl`, and also ensures a \"public\" cache-control directive is\npresent. The maximum allowed value is 31,622,400s (1 year). If not\nspecified, Cloud CDN uses 3600s (1 hour) for `CACHE_ALL_STATIC` mode.\nCannot exceed `maxTtl`. Cannot be specified when `cacheMode` is\n`USE_ORIGIN_HEADERS`."
+ },
+ "defaultTtl": {
+ "$ref": "Duration",
+ "description": "Specifies the default TTL for cached content for responses that do not have\nan existing valid TTL (max-age or s-maxage). Setting a TTL of \"0\" means\n\"always revalidate\". The value of `defaultTtl` cannot be set to a value\ngreater than that of `maxTtl`. When the `cacheMode` is set to\n`FORCE_CACHE_ALL`, the `defaultTtl` will overwrite the TTL set in all\nresponses. The maximum allowed value is 31,622,400s (1 year). Infrequently\naccessed objects may be evicted from the cache before the defined TTL. If\nnot specified, Cloud CDN uses 3600s (1 hour) for `CACHE_ALL_STATIC` and\n`FORCE_CACHE_ALL` modes. Cannot be specified when `cacheMode` is\n`USE_ORIGIN_HEADERS`."
+ },
+ "maxTtl": {
+ "$ref": "Duration",
+ "description": "Specifies the maximum allowed TTL for cached content. Cache directives that\nattempt to set a max-age or s-maxage higher than this, or an Expires header\nmore than `maxTtl` seconds in the future will be capped at the value of\n`maxTtl`, as if it were the value of an s-maxage Cache-Control directive.\nHeaders sent to the client will not be modified. Setting a TTL of \"0\" means\n\"always revalidate\". The maximum allowed value is 31,622,400s (1 year).\nInfrequently accessed objects may be evicted from the cache before the\ndefined TTL. If not specified, Cloud CDN uses 86400s (1 day) for\n`CACHE_ALL_STATIC` mode. Can be specified only for `CACHE_ALL_STATIC` cache\nmode."
+ },
+ "negativeCaching": {
+ "description": "Negative caching allows per-status code TTLs to be set, in order\nto apply fine-grained caching for common errors or redirects.\nThis can reduce the load on your origin and improve end-user\nexperience by reducing response latency.\nWhen the `cacheMode` is set to `CACHE_ALL_STATIC` or\n`USE_ORIGIN_HEADERS`, negative caching applies to responses with\nthe specified response code that lack any Cache-Control, Expires, or\nPragma: no-cache directives. When the `cacheMode` is set to\n`FORCE_CACHE_ALL`, negative caching applies to all responses\nwith the specified response code, and overrides any caching headers. By\ndefault, Cloud CDN applies the following TTLs to these HTTP status codes:\n\n* 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m\n* 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s\n* 405 (Method Not Found), 501 (Not Implemented): 60s\n\nThese defaults can be overridden in `negativeCachingPolicy`.\nIf not specified, Cloud CDN applies negative caching by default.",
+ "type": "boolean"
+ },
+ "negativeCachingPolicy": {
+ "description": "Sets a cache TTL for the specified HTTP status code.\n`negativeCaching` must be enabled to configure `negativeCachingPolicy`.\nOmitting the policy and leaving `negativeCaching` enabled will use Cloud\nCDN's default cache TTLs. Note that when specifying an explicit\n`negativeCachingPolicy`, you should take care to specify a cache TTL for\nall response codes that you wish to cache. Cloud CDN will not apply any\ndefault negative caching when a policy exists.",
+ "items": {
+ "$ref": "CachePolicyNegativeCachingPolicy"
+ },
+ "type": "array"
+ },
+ "requestCoalescing": {
+ "description": "If true then Cloud CDN will combine multiple concurrent cache fill\nrequests into a small number of requests to the origin. If not specified,\nCloud CDN applies request coalescing by default.",
+ "type": "boolean"
+ },
+ "serveWhileStale": {
+ "$ref": "Duration",
+ "description": "Serve existing content from the cache (if available) when revalidating\ncontent with the origin, or when an error is encountered when refreshing\nthe cache.\nThis setting defines the default \"max-stale\" duration for any cached\nresponses that do not specify a max-stale directive. Stale responses that\nexceed the TTL configured here will not be served. The default limit\n(max-stale) is 86400s (1 day), which will allow stale content to be\nserved up to this limit beyond the max-age (or s-maxage) of a cached\nresponse.\nThe maximum allowed value is 604800 (1 week).\nSet this to zero (0) to disable serve-while-stale."
+ }
+ },
+ "type": "object"
+ },
+ "CachePolicyCacheKeyPolicy": {
+ "description": "Message containing what to include in the cache key for a request for Cache\nPolicy defined on Route Action.",
+ "id": "CachePolicyCacheKeyPolicy",
+ "properties": {
+ "excludedQueryParameters": {
+ "description": "Names of query string parameters to exclude in cache keys. All other\nparameters will be included. Either specify `excludedQueryParameters`\nor `includedQueryParameters`, not both. '\u0026' and '=' will be percent\nencoded and not treated as delimiters.\n\nNote: This field applies to routes that use backend services. Attempting\nto set it on a route that points exclusively to Backend Buckets will\nresult in a configuration error. For routes that point to a Backend\nBucket, use `includedQueryParameters` to define which parameters should\nbe part of the cache key.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includeHost": {
+ "description": "If true, requests to different hosts will be cached separately.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket, as the\nhost is never included in a Backend Bucket's cache key. Attempting to set\nit on a route that points exclusively to Backend Buckets will result in a\nconfiguration error.",
+ "type": "boolean"
+ },
+ "includeProtocol": {
+ "description": "If true, http and https requests will be cached separately.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket, as the\nprotocol is never included in a Backend Bucket's cache key. Attempting to\nset on a route that points exclusively to Backend Buckets will result in\na configuration error.",
+ "type": "boolean"
+ },
+ "includeQueryString": {
+ "description": "If true, include query string parameters in the cache key according to\n`includedQueryParameters` and `excludedQueryParameters`. If neither\nis set, the entire query string will be included. If false, the query\nstring will be excluded from the cache key entirely.\n\nNote: This field applies to routes that use backend services. Attempting\nto set it on a route that points exclusively to Backend Buckets will\nresult in a configuration error. For routes that point to a Backend\nBucket, use `includedQueryParameters` to define which parameters should\nbe part of the cache key.",
+ "type": "boolean"
+ },
+ "includedCookieNames": {
+ "description": "Allows HTTP cookies (by name) to be used in the cache key.\nThe name=value pair will be used in the cache key Cloud CDN generates.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket.\nAttempting to set it on a route that points exclusively to Backend\nBuckets will result in a configuration error. Up to 5 cookie names can be\nspecified.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includedHeaderNames": {
+ "description": "Allows HTTP request headers (by name) to be used in the cache key.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includedQueryParameters": {
+ "description": "Names of query string parameters to include in cache keys. All other\nparameters will be excluded. Either specify `includedQueryParameters`\nor `excludedQueryParameters`, not both. '\u0026' and '=' will be percent\nencoded and not treated as delimiters.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "CachePolicyNegativeCachingPolicy": {
+ "description": "Specify CDN TTLs for response error codes.",
+ "id": "CachePolicyNegativeCachingPolicy",
+ "properties": {
+ "code": {
+ "description": "The HTTP status code to define a TTL against. Only HTTP status codes\n300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be\nspecified as values, and you cannot specify a status code more than\nonce.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "ttl": {
+ "$ref": "Duration",
+ "description": "The TTL (in seconds) for which to cache responses with the\ncorresponding status code.\nThe maximum allowed value is 1800s (30 minutes). Infrequently accessed\nobjects may be evicted from the cache before the defined TTL."
+ }
+ },
+ "type": "object"
+ },
"CalendarModeAdviceRequest": {
"description": "A request to recommend the best way to consume the specified resources in the\nfuture.",
"id": "CalendarModeAdviceRequest",
@@ -52936,6 +55350,433 @@
},
"type": "object"
},
+ "CapacityAdviceRequest": {
+ "description": "A request to provide Assistant Scores. These scores determine VM\nobtainability and preemption likelihood.",
+ "id": "CapacityAdviceRequest",
+ "properties": {
+ "distributionPolicy": {
+ "$ref": "CapacityAdviceRequestDistributionPolicy",
+ "description": "Policy specifying the distribution of instances across\nzones within the requested region."
+ },
+ "instanceFlexibilityPolicy": {
+ "$ref": "CapacityAdviceRequestInstanceFlexibilityPolicy",
+ "description": "Policy for instance selectors."
+ },
+ "instanceProperties": {
+ "$ref": "CapacityAdviceRequestInstanceProperties",
+ "description": "Instance properties for this request."
+ },
+ "size": {
+ "description": "The number of VM instances to request.",
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceRequestDistributionPolicy": {
+ "description": "Distribution policy.",
+ "id": "CapacityAdviceRequestDistributionPolicy",
+ "properties": {
+ "targetShape": {
+ "description": "Target distribution shape. You can specify the following values:ANY, ANY_SINGLE_ZONE, or BALANCED.",
+ "enum": [
+ "ANY",
+ "ANY_SINGLE_ZONE",
+ "BALANCED",
+ "TARGET_SHAPE_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "Picks zones for creating VM instances to fulfill the requested number\nof VMs within present resource constraints.",
+ "Creates all VM instances within a single zone. The zone is selected\nbased on the present resource constraints.",
+ "Prioritizes acquisition of resources, scheduling VMs in zones where\nresources are available while distributing VMs as evenly as possible\nacross selected zones to minimize the impact of zonal failure.",
+ "Default value, unused."
+ ],
+ "type": "string"
+ },
+ "zones": {
+ "description": "Zones where Capacity Advisor looks for capacity.",
+ "items": {
+ "$ref": "CapacityAdviceRequestDistributionPolicyZoneConfiguration"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceRequestDistributionPolicyZoneConfiguration": {
+ "description": "Zone configuration for the distribution policy.",
+ "id": "CapacityAdviceRequestDistributionPolicyZoneConfiguration",
+ "properties": {
+ "zone": {
+ "description": "The URL of the zone. It can be a\npartial or full URL. For example, the following are valid values: \n \n \n - https://www.googleapis.com/compute/v1/projects/project/zones/zone \n - projects/project/zones/zone \n - zones/zone",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceRequestInstanceFlexibilityPolicy": {
+ "description": "Specification of alternative, flexible instance configurations.",
+ "id": "CapacityAdviceRequestInstanceFlexibilityPolicy",
+ "properties": {
+ "instanceSelections": {
+ "additionalProperties": {
+ "$ref": "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection"
+ },
+ "description": "Named instance selections to configure properties.\nThe key is an arbitrary, unique RFC1035 string that identifies the\ninstance selection.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection": {
+ "description": "Machine specification.",
+ "id": "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection",
+ "properties": {
+ "disks": {
+ "description": "Local SSDs.",
+ "items": {
+ "$ref": "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk"
+ },
+ "type": "array"
+ },
+ "guestAccelerators": {
+ "description": "Accelerators configuration.",
+ "items": {
+ "$ref": "AcceleratorConfig"
+ },
+ "type": "array"
+ },
+ "machineTypes": {
+ "description": "Full machine-type names, e.g. \"n1-standard-16\".",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "rank": {
+ "description": "Optional. Rank when prioritizing the shape flexibilities.\nThe instance selections are considered in the ascending order of the\nrank. If not set, defaults to 0.",
+ "format": "int64",
+ "minimum": "0",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk": {
+ "description": "Attached disk configuration.",
+ "id": "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk",
+ "properties": {
+ "type": {
+ "description": "Specifies the type of the disk.",
+ "enum": [
+ "DISK_TYPE_UNSPECIFIED",
+ "SCRATCH"
+ ],
+ "enumDescriptions": [
+ "Default value, unspecified disk type.",
+ "Scratch disk (Local SSD)."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceRequestInstanceProperties": {
+ "description": "Instance provisioning properties.",
+ "id": "CapacityAdviceRequestInstanceProperties",
+ "properties": {
+ "scheduling": {
+ "$ref": "CapacityAdviceRequestInstancePropertiesScheduling",
+ "description": "Specifies the scheduling options."
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceRequestInstancePropertiesScheduling": {
+ "description": "Defines the instance scheduling options.",
+ "id": "CapacityAdviceRequestInstancePropertiesScheduling",
+ "properties": {
+ "provisioningModel": {
+ "description": "Specifies the provisioning model.",
+ "enum": [
+ "FLEX_START",
+ "RESERVATION_BOUND",
+ "SPOT",
+ "STANDARD"
+ ],
+ "enumDescriptions": [
+ "Instance is provisioned using the Flex Start provisioning model and\nhas a limited runtime.",
+ "Bound to the lifecycle of the reservation in which it is provisioned.",
+ "Heavily discounted, no guaranteed runtime.",
+ "Standard provisioning with user controlled runtime, no discounts."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceResponse": {
+ "description": "A response contains scoring recommendations.",
+ "id": "CapacityAdviceResponse",
+ "properties": {
+ "recommendations": {
+ "description": "Initially the API will provide one recommendation which balances the\nindividual scores according to the service provider's preference.",
+ "items": {
+ "$ref": "CapacityAdviceResponseRecommendation"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceResponseRecommendation": {
+ "description": "Recommendation.",
+ "id": "CapacityAdviceResponseRecommendation",
+ "properties": {
+ "scores": {
+ "$ref": "CapacityAdviceResponseRecommendationScores",
+ "description": "Scores for the recommendation."
+ },
+ "shards": {
+ "description": "Shards represent blocks of uniform capacity in recommendations.",
+ "items": {
+ "$ref": "CapacityAdviceResponseRecommendationShard"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceResponseRecommendationScores": {
+ "description": "Groups information about a shard of capacity.",
+ "id": "CapacityAdviceResponseRecommendationScores",
+ "properties": {
+ "estimatedUptime": {
+ "description": "The estimated run time of the majority of Spot VMs in the request\nbefore preemption. The estimate is best-effort only. It is based on\nhistorical data and current conditions.",
+ "format": "google-duration",
+ "type": "string"
+ },
+ "obtainability": {
+ "description": "The obtainability score indicates the likelihood of successfully\nobtaining (provisioning) the requested number of VMs.\nThe score range is 0.0 through 1.0. Higher is better.",
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityAdviceResponseRecommendationShard": {
+ "description": "Shards represent blocks of uniform capacity in recommendations.\nEach shard is for a single zone and a single machine shape. Each shard\ndefines a size expressed as the number of VMs.",
+ "id": "CapacityAdviceResponseRecommendationShard",
+ "properties": {
+ "instanceCount": {
+ "description": "The number of instances.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "machineType": {
+ "description": "The machine type corresponds to the instance selection in the request.",
+ "type": "string"
+ },
+ "provisioningModel": {
+ "description": "The provisioning model that you want to view recommendations for.",
+ "enum": [
+ "FLEX_START",
+ "RESERVATION_BOUND",
+ "SPOT",
+ "STANDARD"
+ ],
+ "enumDescriptions": [
+ "Instance is provisioned using the Flex Start provisioning model and\nhas a limited runtime.",
+ "Bound to the lifecycle of the reservation in which it is provisioned.",
+ "Heavily discounted, no guaranteed runtime.",
+ "Standard provisioning with user controlled runtime, no discounts."
+ ],
+ "type": "string"
+ },
+ "zone": {
+ "description": "Output only. The zone name for this shard.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityHistoryRequest": {
+ "description": "A request to get the capacity history.",
+ "id": "CapacityHistoryRequest",
+ "properties": {
+ "instanceProperties": {
+ "$ref": "CapacityHistoryRequestInstanceProperties",
+ "description": "Instance properties for this request."
+ },
+ "locationPolicy": {
+ "$ref": "CapacityHistoryRequestLocationPolicy",
+ "description": "Location policy for this request."
+ },
+ "types": {
+ "description": "List of history types to get capacity history for.",
+ "items": {
+ "enum": [
+ "HISTORY_TYPE_UNSPECIFIED",
+ "PREEMPTION",
+ "PRICE"
+ ],
+ "enumDescriptions": [
+ "Default value, unused.",
+ "Preemption history.",
+ "Price history."
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityHistoryRequestInstanceProperties": {
+ "description": "Instance properties for this request.",
+ "id": "CapacityHistoryRequestInstanceProperties",
+ "properties": {
+ "disks": {
+ "description": "Local SSDs.",
+ "items": {
+ "$ref": "CapacityHistoryRequestInstancePropertiesAttachedDisk"
+ },
+ "type": "array"
+ },
+ "guestAccelerators": {
+ "description": "Accelerators configuration.",
+ "items": {
+ "$ref": "AcceleratorConfig"
+ },
+ "type": "array"
+ },
+ "machineType": {
+ "description": "The machine type for the VM, such as `n2-standard-4`.",
+ "type": "string"
+ },
+ "scheduling": {
+ "$ref": "CapacityHistoryRequestInstancePropertiesScheduling",
+ "description": "Specifies the scheduling options."
+ }
+ },
+ "type": "object"
+ },
+ "CapacityHistoryRequestInstancePropertiesAttachedDisk": {
+ "description": "AttachedDisk modeled after Instance's AttachedDisk.",
+ "id": "CapacityHistoryRequestInstancePropertiesAttachedDisk",
+ "properties": {
+ "type": {
+ "description": "Specifies the type of the disk.",
+ "enum": [
+ "DISK_TYPE_UNSPECIFIED",
+ "SCRATCH"
+ ],
+ "enumDescriptions": [
+ "Default value, unused.",
+ "Scratch disk (Local SSD)."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityHistoryRequestInstancePropertiesScheduling": {
+ "description": "Scheduling options.",
+ "id": "CapacityHistoryRequestInstancePropertiesScheduling",
+ "properties": {
+ "provisioningModel": {
+ "description": "The provisioning model to get capacity history for.\nThis field must be set to SPOT.\n\nFor more information, see\nCompute Engine instances provisioning models.",
+ "enum": [
+ "FLEX_START",
+ "RESERVATION_BOUND",
+ "SPOT",
+ "STANDARD"
+ ],
+ "enumDescriptions": [
+ "Instance is provisioned using the Flex Start provisioning model and\nhas a limited runtime.",
+ "Bound to the lifecycle of the reservation in which it is provisioned.",
+ "Heavily discounted, no guaranteed runtime.",
+ "Standard provisioning with user controlled runtime, no discounts."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityHistoryRequestLocationPolicy": {
+ "description": "Location policy for this request.",
+ "id": "CapacityHistoryRequestLocationPolicy",
+ "properties": {
+ "location": {
+ "description": "The region or zone to get capacity history for.\n\nIt can be a partial or full URL. For example, the following are valid\nvalues: \n \n \n - https://www.googleapis.com/compute/v1/projects/project/zones/zone \n - projects/project/zones/zone \n - zones/zone\n\n\n\nThis field is optional.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityHistoryResponse": {
+ "description": "Contains the capacity history.",
+ "id": "CapacityHistoryResponse",
+ "properties": {
+ "location": {
+ "description": "Output only. The location (region or zone) for which the capacity history is returned.\nIt is returned as a URL - For example,https://www.googleapis.com/compute/v1/projects/project/zones/zone.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "machineType": {
+ "description": "The machine type for which the capacity history is returned.",
+ "type": "string"
+ },
+ "preemptionHistory": {
+ "description": "The preemption history for the requested machine type and location.",
+ "items": {
+ "$ref": "CapacityHistoryResponsePreemptionRecord"
+ },
+ "type": "array"
+ },
+ "priceHistory": {
+ "description": "The price history for the requested machine type and location.",
+ "items": {
+ "$ref": "CapacityHistoryResponsePriceRecord"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityHistoryResponsePreemptionRecord": {
+ "description": "A record of Spot VM preemption history.",
+ "id": "CapacityHistoryResponsePreemptionRecord",
+ "properties": {
+ "interval": {
+ "$ref": "Interval",
+ "description": "The time interval for this preemption record."
+ },
+ "preemptionRate": {
+ "description": "The preemption rate during the interval, representing the fraction of\nSpot VMs that were preempted. Range: 0.0 to 1.0. Preemption rate is\ncalculated as (total preempted Spots) / (total Spots that stopped\nrunning).",
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityHistoryResponsePriceRecord": {
+ "description": "A record of price history.",
+ "id": "CapacityHistoryResponsePriceRecord",
+ "properties": {
+ "interval": {
+ "$ref": "Interval",
+ "description": "The time interval for this price record."
+ },
+ "listPrice": {
+ "$ref": "Money",
+ "description": "The Spot VM list price during the interval."
+ }
+ },
+ "type": "object"
+ },
"CircuitBreakers": {
"description": "Settings controlling the volume of requests, connections and retries to this\nbackend service.",
"id": "CircuitBreakers",
@@ -53123,7 +55964,7 @@
"type": "string"
},
"type": {
- "description": "The type of commitment; specifies the\nmachine series for which you want to commit to purchasing resources.\nThe choice of machine series affects the discount rate and the eligible\nresource types.\n\n The type must be one of the following:ACCELERATOR_OPTIMIZED, ACCELERATOR_OPTIMIZED_A3,ACCELERATOR_OPTIMIZED_A3_MEGA,COMPUTE_OPTIMIZED, COMPUTE_OPTIMIZED_C2D,\n COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D,COMPUTE_OPTIMIZED_H3, GENERAL_PURPOSE,GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2,GENERAL_PURPOSE_N2, GENERAL_PURPOSE_N2D,GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D,GRAPHICS_OPTIMIZED, GRAPHICS_OPTIMIZED_G4,MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3,MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For\nexample, type MEMORY_OPTIMIZED specifies a commitment that\napplies only to eligible resources of memory optimized M1 and M2 machine\nseries. Type GENERAL_PURPOSE specifies a commitment that\napplies only to eligible resources of general purpose N1 machine series.",
+ "description": "The type of commitment; specifies the\nmachine series for which you want to commit to purchasing resources.\nThe choice of machine series affects the discount rate and the eligible\nresource types.\n\n The type must be one of the following:ACCELERATOR_OPTIMIZED, ACCELERATOR_OPTIMIZED_A3,ACCELERATOR_OPTIMIZED_A3_MEGA,COMPUTE_OPTIMIZED, COMPUTE_OPTIMIZED_C2D,\n COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D,COMPUTE_OPTIMIZED_H3, GENERAL_PURPOSE,GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2,GENERAL_PURPOSE_N2, GENERAL_PURPOSE_N2D,GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D,GRAPHICS_OPTIMIZED, GRAPHICS_OPTIMIZED_G4,GRAPHICS_OPTIMIZED_G4_VGPU,MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3,MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3,STORAGE_OPTIMIZED_Z4DS, STORAGE_OPTIMIZED_Z4DH,STORAGE_OPTIMIZED_Z4D4T,STORAGE_OPTIMIZED_Z4M. For\nexample, type MEMORY_OPTIMIZED specifies a commitment that\napplies only to eligible resources of memory optimized M1 and M2 machine\nseries. Type GENERAL_PURPOSE specifies a commitment that\napplies only to eligible resources of general purpose N1 machine series.",
"enum": [
"ACCELERATOR_OPTIMIZED",
"ACCELERATOR_OPTIMIZED_A3",
@@ -53136,6 +55977,7 @@
"COMPUTE_OPTIMIZED_C3D",
"COMPUTE_OPTIMIZED_H3",
"COMPUTE_OPTIMIZED_H4D",
+ "COMPUTE_OPTIMIZED_H4D_3TB",
"GENERAL_PURPOSE",
"GENERAL_PURPOSE_C4",
"GENERAL_PURPOSE_C4A",
@@ -53149,6 +55991,7 @@
"GENERAL_PURPOSE_T2D",
"GRAPHICS_OPTIMIZED",
"GRAPHICS_OPTIMIZED_G4",
+ "GRAPHICS_OPTIMIZED_G4_VGPU",
"MEMORY_OPTIMIZED",
"MEMORY_OPTIMIZED_M3",
"MEMORY_OPTIMIZED_M4",
@@ -53162,7 +56005,15 @@
"MEMORY_OPTIMIZED_X4_480_8T",
"MEMORY_OPTIMIZED_X4_960_12T",
"MEMORY_OPTIMIZED_X4_960_16T",
+ "NETWORK_OPTIMIZED_C4N",
+ "NETWORK_OPTIMIZED_U4C",
+ "NETWORK_OPTIMIZED_U4P",
+ "NETWORK_OPTIMIZED_U4S",
"STORAGE_OPTIMIZED_Z3",
+ "STORAGE_OPTIMIZED_Z4D4T",
+ "STORAGE_OPTIMIZED_Z4DH",
+ "STORAGE_OPTIMIZED_Z4DS",
+ "STORAGE_OPTIMIZED_Z4M",
"TYPE_UNSPECIFIED"
],
"enumDescriptions": [
@@ -53177,6 +56028,8 @@
"",
"",
"",
+ "CUD bucket for COMPUTE_OPTIMIZED_H4D_3TB machines.",
+ "",
"",
"",
"",
@@ -53203,7 +56056,15 @@
"CUD bucket for X4 machine with 480 vCPUs and 8TB of memory.",
"CUD bucket for X4 machine with 960 vCPUs and 12TB of memory.",
"CUD bucket for X4 machine with 960 vCPUs and 16TB of memory.",
- "",
+ "CUD bucket for C4N (dual Diorite) machines.",
+ "CUD bucket for NETWORK_OPTIMIZED_U4C machines.",
+ "CUD bucket for NETWORK_OPTIMIZED_U4P machines.",
+ "CUD bucket for NETWORK_OPTIMIZED_U4S machines.",
+ "",
+ "CUD bucket for Z4D-4T machines.",
+ "CUD bucket for Z4DH machines.",
+ "CUD bucket for Z4DS machines.",
+ "CUD bucket for Z4M (bare metal) machines.",
"Note for internal users: When adding a new enum Type for v1, make sure\nto also add it in the comment for the `optional Type type` definition.\nThis ensures that the public documentation displays the new enum Type."
],
"type": "string"
@@ -53350,7 +56211,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -53507,7 +56368,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -53670,7 +56531,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -53900,7 +56761,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -54089,7 +56950,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -54250,7 +57111,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -54283,12 +57144,16 @@
"confidentialInstanceType": {
"description": "Defines the type of technology used by the confidential instance.",
"enum": [
+ "BMSAI",
+ "CCA",
"CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED",
"SEV",
"SEV_SNP",
"TDX"
],
"enumDescriptions": [
+ "Bare Metal Secure AI.",
+ "Arm Confidential Compute Architecture.",
"No type specified. Do not use this value.",
"AMD Secure Encrypted Virtualization.",
"AMD Secure Encrypted Virtualization - Secure Nested Paging.",
@@ -54588,7 +57453,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -54667,15 +57532,18 @@
"type": "string"
},
"rawKey": {
- "description": "Specifies a 256-bit customer-supplied\nencryption key, encoded in RFC\n4648 base64 to either encrypt or decrypt this resource. You can\nprovide either the rawKey or thersaEncryptedKey.\nFor example:\n\n\"rawKey\":\n\"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\"",
+ "deprecated": true,
+ "description": "[DEPRECATED] CSEK is no longer supported. Use CMEK instead.\nSpecifies a 256-bit customer-supplied\nencryption key, encoded in RFC\n4648 base64 to either encrypt or decrypt this resource. You can\nprovide either the rawKey or thersaEncryptedKey.\nFor example:\n\n\"rawKey\":\n\"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\"",
"type": "string"
},
"rsaEncryptedKey": {
- "description": "Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit\ncustomer-supplied encryption key to either encrypt or decrypt this\nresource. You can provide either the rawKey or thersaEncryptedKey.\nFor example:\n\n\"rsaEncryptedKey\":\n\"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH\nz0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD\nD6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\"\n\nThe key must meet the following requirements before you can provide it to \nCompute Engine: \n \n 1. The key is wrapped using a RSA public key certificate provided by \n Google. \n 2. After being wrapped, the key must be encoded in RFC 4648 base64 \n encoding. \n\nGets the RSA public key certificate provided by Google at: \n\n\nhttps://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem",
+ "deprecated": true,
+ "description": "[DEPRECATED] CSEK is no longer supported. Use CMEK instead.\nSpecifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit\ncustomer-supplied encryption key to either encrypt or decrypt this\nresource. You can provide either the rawKey or thersaEncryptedKey.\nFor example:\n\n\"rsaEncryptedKey\":\n\"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH\nz0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD\nD6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\"\n\nThe key must meet the following requirements before you can provide it to \nCompute Engine: \n \n 1. The key is wrapped using a RSA public key certificate provided by \n Google. \n 2. After being wrapped, the key must be encoded in RFC 4648 base64 \n encoding. \n\nGets the RSA public key certificate provided by Google at: \n\n\nhttps://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem",
"type": "string"
},
"sha256": {
- "description": "[Output only] TheRFC\n4648 base64 encoded SHA-256 hash of the customer-supplied\nencryption key that protects this resource.",
+ "deprecated": true,
+ "description": "[DEPRECATED] CSEK is no longer supported. Use CMEK instead.\n[Output only] TheRFC\n4648 base64 encoded SHA-256 hash of the customer-supplied\nencryption key that protects this resource.",
"type": "string"
}
},
@@ -54717,6 +57585,57 @@
},
"type": "object"
},
+ "DateTime": {
+ "description": "Represents civil time (or occasionally physical time).\n\nThis type can represent a civil time in one of a few possible ways:\n\n * When utc_offset is set and time_zone is unset: a civil time on a calendar\n day with a particular offset from UTC.\n * When time_zone is set and utc_offset is unset: a civil time on a calendar\n day in a particular time zone.\n * When neither time_zone nor utc_offset is set: a civil time on a calendar\n day in local time.\n\nThe date is relative to the Proleptic Gregorian Calendar.\n\nIf year, month, or day are 0, the DateTime is considered not to have a\nspecific year, month, or day respectively.\n\nThis type may also be used to represent a physical time if all the date and\ntime fields are set and either case of the `time_offset` oneof is set.\nConsider using `Timestamp` message for physical time instead. If your use\ncase also would like to store the user's timezone, that can be done in\nanother field.\n\nThis type is more flexible than some applications may want. Make sure to\ndocument and validate your application's limitations.",
+ "id": "DateTime",
+ "properties": {
+ "day": {
+ "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and\nmonth, or 0 if specifying a datetime without a day.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "hours": {
+ "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults\nto 0 (midnight). An API may choose to allow the value \"24:00:00\" for\nscenarios like business closing time.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "minutes": {
+ "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "month": {
+ "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a\ndatetime without a month.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "nanos": {
+ "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to\n999,999,999, defaults to 0.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "seconds": {
+ "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59,\ndefaults to 0. An API may allow the value 60 if it allows leap-seconds.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "timeZone": {
+ "$ref": "TimeZone",
+ "description": "Time zone."
+ },
+ "utcOffset": {
+ "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours.\nFor example, a UTC offset of -4:00 would be represented as\n{ seconds: -14400 }.",
+ "format": "google-duration",
+ "type": "string"
+ },
+ "year": {
+ "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a\ndatetime without a year.",
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
"DeprecationStatus": {
"description": "Deprecation status for a public resource.",
"id": "DeprecationStatus",
@@ -55196,7 +58115,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -55428,7 +58347,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -55476,7 +58395,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Input only. Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
+ "description": "Input only. Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
"type": "object"
}
},
@@ -55718,7 +58637,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -55875,7 +58794,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -56012,7 +58931,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -56196,7 +59115,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -56504,7 +59423,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -56787,7 +59706,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -57140,7 +60059,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -57333,7 +60252,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -57418,12 +60337,14 @@
"type": "string"
},
"policyType": {
- "description": "The type of the firewall policy. This field can be eitherVPC_POLICY or RDMA_ROCE_POLICY.\n\nNote: if not specified then VPC_POLICY will be used.",
+ "description": "The type of the firewall policy. This field can be one of\nVPC_POLICY, RDMA_ROCE_POLICY or ULL_POLICY.\n\nNote: if not specified then VPC_POLICY will be used.",
"enum": [
"RDMA_ROCE_POLICY",
+ "ULL_POLICY",
"VPC_POLICY"
],
"enumDescriptions": [
+ "",
"",
""
],
@@ -57485,6 +60406,11 @@
"description": "The name for an association.",
"type": "string"
},
+ "priority": {
+ "description": "An integer indicating the priority of an association. The priority\nmust be a positive value between 1 and 2147483647.\nFirewall Policies are evaluated from highest to lowest priority where 1\nis the highest priority and 2147483647 is the lowest priority.\nThe default value is `1000`. If two associations have the same priority\nthen lexicographical order on association names is applied.",
+ "format": "int32",
+ "type": "integer"
+ },
"shortName": {
"description": "Output only. [Output Only] The short name of the firewall policy of the association.",
"readOnly": true,
@@ -57618,7 +60544,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -57649,7 +60575,7 @@
"id": "FirewallPolicyRule",
"properties": {
"action": {
- "description": "The Action to perform when the client connection triggers the rule.\nValid actions for firewall rules are: \"allow\", \"deny\",\n\"apply_security_profile_group\" and \"goto_next\".\nValid actions for packet mirroring rules are: \"mirror\", \"do_not_mirror\"\nand \"goto_next\".",
+ "description": "The Action to perform when the client connection triggers the rule.\nValid actions for firewall rules are: \"allow\", \"deny\",\n\"apply_security_profile_group\" and \"goto_next\" (\n\"apply_security_profile_group\" can be specified only for global\nnetwork firewall policies or hierarchical firewall policies).\nValid actions for packet mirroring rules are: \"mirror\", \"do_not_mirror\"\nand \"goto_next\".",
"type": "string"
},
"description": {
@@ -57702,9 +60628,16 @@
"type": "integer"
},
"securityProfileGroup": {
- "description": "A fully-qualified URL of a SecurityProfile resource instance.\nExample:\nhttps://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group\nMust be specified if action is one of 'apply_security_profile_group' or\n'mirror'. Cannot be specified for other actions.",
+ "description": "A fully-qualified URL of a SecurityProfileGroup resource instance.\nExample:\nhttps://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group\nMust be specified if action is one of 'apply_security_profile_group' or\n'mirror'. Cannot be specified for other actions. Can be specified only\nfor global network firewall policies or hierarchical firewall policies.",
"type": "string"
},
+ "targetForwardingRules": {
+ "description": "A list of forwarding rules to which this rule applies.\nThis field allows you to control which load balancers get this rule.\nFor example, the following are valid values:\n \n \n - https://www.googleapis.com/compute/v1/projects/project/global/forwardingRules/forwardingRule\n - https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule\n - projects/project/global/\n forwardingRules/forwardingRule\n - projects/project/regions/region/forwardingRules/\n forwardingRule",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"targetResources": {
"description": "A list of network resource URLs to which this rule applies. This field\nallows you to control which network's VMs get this rule. If this field\nis left blank, all VMs within the organization will receive the rule.",
"items": {
@@ -57726,6 +60659,18 @@
},
"type": "array"
},
+ "targetType": {
+ "description": "Target types of the firewall policy rule.\nDefault value is INSTANCES.",
+ "enum": [
+ "INSTANCES",
+ "INTERNAL_MANAGED_LB"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ],
+ "type": "string"
+ },
"tlsInspect": {
"description": "Boolean flag indicating if the traffic should be TLS decrypted.\nCan be set only if action = 'apply_security_profile_group' and cannot\nbe set for other actions.",
"type": "boolean"
@@ -57949,7 +60894,7 @@
"id": "FixedOrPercent",
"properties": {
"calculated": {
- "description": "Output only. [Output Only] Absolute value of VM instances calculated based on the\nspecific mode.\n\n \n \n - If the value is fixed, then the calculated\n value is equal to the fixed value.\n - If the value is a percent, then the\n calculated\n value is percent/100 * targetSize. For example,\n the calculated value of a 80% of a managed instance group\n with 150 instances would be (80/100 * 150) = 120 VM instances. If there\n is a remainder, the number is rounded.",
+ "description": "Output only. Absolute value of VM instances calculated based on the specific mode.\n\n \n \n - If the value is fixed, then the calculated\n value is equal to the fixed value.\n - If the value is a percent, then the\n calculated\n value is percent/100 * targetSize. For example,\n the calculated value of a 80% of a managed instance group\n with 150 instances would be (80/100 * 150) = 120 VM instances. If there\n is a remainder, the number is rounded.",
"format": "int32",
"readOnly": true,
"type": "integer"
@@ -57995,7 +60940,7 @@
"id": "ForwardingRule",
"properties": {
"IPAddress": {
- "description": "IP address for which this forwarding rule accepts traffic. When a client\nsends traffic to this IP address, the forwarding rule directs the traffic\nto the referenced target or backendService.\nWhile creating a forwarding rule, specifying an IPAddress is\nrequired under the following circumstances:\n\n \n - When the target is set to targetGrpcProxy andvalidateForProxyless is set to true, theIPAddress should be set to 0.0.0.0.\n - When the target is a Private Service Connect Google APIs\n bundle, you must specify an IPAddress.\n\n\nOtherwise, you can optionally specify an IP address that references an\nexisting static (reserved) IP address resource. When omitted, Google Cloud\nassigns an ephemeral IP address.\n\nUse one of the following formats to specify an IP address while creating a\nforwarding rule:\n\n* IP address number, as in `100.1.2.3`\n* IPv6 address range, as in `2600:1234::/96`\n* Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name\n* Partial URL or by name, as in:\n \n - projects/project_id/regions/region/addresses/address-name\n - regions/region/addresses/address-name\n - global/addresses/address-name\n - address-name\n\n\n\nThe forwarding rule's target or backendService,\nand in most cases, also the loadBalancingScheme, determine the\ntype of IP address that you can use. For detailed information, see\n[IP address\nspecifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n\nWhen reading an IPAddress, the API always returns the IP\naddress number.",
+ "description": "IP address for which this forwarding rule accepts traffic. When a client\nsends traffic to this IP address, the forwarding rule directs the traffic\nto the referenced target or backendService.\nWhile creating a forwarding rule, specifying an IPAddress is\nrequired under the following circumstances:\n\n \n - When the target is set to targetGrpcProxy andvalidateForProxyless is set to true, theIPAddress should be set to 0.0.0.0.\n - When the target is a Private Service Connect Google APIs\n bundle, you must specify an IPAddress.\n\n\nOtherwise, you can optionally specify an IP address that references an\nexisting static (reserved) IP address resource. When omitted, Google Cloud\nassigns an ephemeral IP address.\n\nUse one of the following formats to specify an IP address while creating a\nforwarding rule:\n\n* IP address number, as in `100.1.2.3`\n* IPv6 address range, as in `2600:1234::/96`\n* Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name\n* Partial URL or by name, as in:\n \n - projects/project_id/regions/region/addresses/address-name\n - regions/region/addresses/address-name\n - global/addresses/address-name\n - address-name\n\n\n\nThe IP address can only be set at creation. Once set, it cannot be updated.\n\nThe forwarding rule's target or backendService,\nand in most cases, also the loadBalancingScheme, determine the\ntype of IP address that you can use. For detailed information, see\n[IP address\nspecifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n\nWhen reading an IPAddress, the API always returns the IP\naddress number.\n\nWhen creating a global external Passthrough Network Load Balancer\nforwarding rule (a parent forwarding rule), you must use theIPAddresses field, but the Google Cloud generated child\nforwarding rules set the IPAddress field instead. Refer to theavailabilityGroup field for further details.",
"type": "string"
},
"IPProtocol": {
@@ -58032,8 +60977,16 @@
"description": "This is used in PSC consumer ForwardingRule to control whether the PSC\nendpoint can be accessed from another region.",
"type": "boolean"
},
+ "attachedExtensions": {
+ "description": "Output only. [Output Only]. The extensions that are attached to this ForwardingRule.",
+ "items": {
+ "$ref": "ForwardingRuleAttachedExtension"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
"backendService": {
- "description": "Identifies the backend service to which the forwarding rule sends traffic.\nRequired for internal and external passthrough Network Load Balancers;\nmust be omitted for all other load balancer types.",
+ "description": "Identifies the backend service to which the forwarding rule sends traffic.\n\nIt is a required field for the following load balancers:\n \n - Internal passthrough Network Load Balancers\n - Backend service-based regional external passthrough Network Load\n Balancers\n - Global external passthrough Network Load Balancers\n\n\n\nIt cannot be set by other load balancer types and protocol forwarding\nrules.",
"type": "string"
},
"baseForwardingRule": {
@@ -58120,7 +61073,7 @@
"type": "object"
},
"loadBalancingScheme": {
- "description": "Specifies the forwarding rule type.\n\nFor more information about forwarding rules, refer to\nForwarding rule concepts.",
+ "description": "Specifies the forwarding rule type.\n\nFor more information, refer to \nForwarding rule product and scheme table.",
"enum": [
"EXTERNAL",
"EXTERNAL_MANAGED",
@@ -58147,7 +61100,7 @@
"type": "array"
},
"name": {
- "description": "Name of the resource; provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.\n\nFor Private Service Connect forwarding rules that forward traffic to Google\nAPIs, the forwarding rule name must be a 1-20 characters string with\nlowercase letters and numbers and must start with a letter.",
+ "description": "Name of the resource; provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.\n\nFor Private Service Connect forwarding rules that forward traffic to Google\nAPIs, the forwarding rule name must be a 1-20 characters string with\nlowercase letters and numbers and must start with a letter.\n\nFor global external Passthrough Network Load Balancer forwarding rules, the\nforwarding rule name must be 1-43 characters long. For each global external\nPassthrough Network Load Balancer forwarding rule (a parent forwarding\nrule) that you create, Google Cloud generates two output-only child\nforwarding rules that are named by concatenating the parent forwarding rule\nname with the `-ag0` and `-ag1` suffixes, respectively. Refer to theavailabilityGroup field for further details.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"type": "string"
},
@@ -58176,11 +61129,11 @@
"type": "boolean"
},
"portRange": {
- "description": "The ports, portRange, and allPorts\nfields are mutually exclusive. Only packets addressed to ports in the\nspecified range will be forwarded to the backends configured with this\nforwarding rule.\n\nThe portRange field has the following limitations:\n \n - It requires that the forwarding rule IPProtocol be TCP,\n UDP, or SCTP, and\n - It's applicable only to the following products: external passthrough\n Network Load Balancers, internal and external proxy Network Load Balancers,\n internal and external Application Load Balancers, external protocol\n forwarding, and Classic VPN.\n - Some products have restrictions on what ports can be used. See \n port specifications for details.\n\n\n\nFor external forwarding rules, two or more forwarding rules cannot use the\nsame [IPAddress, IPProtocol] pair, and cannot have overlappingportRanges.\n\nFor internal forwarding rules within the same VPC network, two or more\nforwarding rules cannot use the same [IPAddress, IPProtocol]\npair, and cannot have overlapping portRanges.\n\n@pattern: \\\\d+(?:-\\\\d+)?",
+ "description": "The ports, portRange, and allPorts\nfields are mutually exclusive. Only packets addressed to ports in the\nspecified range will be forwarded to the backends configured with this\nforwarding rule.\n\nThe portRange field has the following limitations:\n \n - It requires that the forwarding rule IPProtocol be TCP,\n UDP, or SCTP, and\n - It's applicable only to the following products: external passthrough\n Network Load Balancers, internal and external proxy Network Load Balancers,\n internal and external Application Load Balancers, external protocol\n forwarding, and Classic VPN.\n - Some products have restrictions on what ports can be used. See \n port specifications for details.\n\n\n\nFor external forwarding rules, two or more forwarding rules cannot use the\nsame [IPAddress, IPProtocol] pair (specified inIPAddress, IPAddresses, IPProtocol\nfields) if they have overlapping portRanges.\n\nFor internal forwarding rules within the same VPC network, two or more\nforwarding rules cannot use the same [IPAddress, IPProtocol]\npair, and cannot have overlapping portRanges.\n\n@pattern: \\\\d+(?:-\\\\d+)?",
"type": "string"
},
"ports": {
- "description": "The ports, portRange, and allPorts\nfields are mutually exclusive. Only packets addressed to ports in the\nspecified range will be forwarded to the backends configured with this\nforwarding rule.\n\nThe ports field has the following limitations:\n \n - It requires that the forwarding rule IPProtocol be TCP,\n UDP, or SCTP, and\n - It's applicable only to the following products: internal passthrough\n Network Load Balancers, backend service-based external passthrough Network\n Load Balancers, and internal protocol forwarding.\n - You can specify a list of up to five ports by number, separated by\n commas. The ports can be contiguous or discontiguous.\n\n\n\nFor external forwarding rules, two or more forwarding rules cannot use the\nsame [IPAddress, IPProtocol] pair if they share at least one\nport number.\n\nFor internal forwarding rules within the same VPC network, two or more\nforwarding rules cannot use the same [IPAddress, IPProtocol]\npair if they share at least one port number.\n\n@pattern: \\\\d+(?:-\\\\d+)?",
+ "description": "The ports, portRange, and allPorts\nfields are mutually exclusive. Only packets addressed to ports in the\nspecified range will be forwarded to the backends configured with this\nforwarding rule.\n\nThe ports field has the following limitations:\n \n - It requires that the forwarding rule IPProtocol be TCP,\n UDP, or SCTP, and\n - It's applicable only to the following products: internal passthrough\n Network Load Balancers, backend service-based external passthrough Network\n Load Balancers, and internal protocol forwarding.\n - You can specify a list of up to five ports by number, separated by\n commas. The ports can be contiguous or discontiguous.\n\n\n\nFor external forwarding rules, two or more forwarding rules cannot use the\nsame [IPAddress, IPProtocol] pair (specified inIPAddress, IPAddresses, IPProtocol\nfields) if they share at least one port number.\n\nFor internal forwarding rules within the same VPC network, two or more\nforwarding rules cannot use the same [IPAddress, IPProtocol]\npair if they share at least one port number.\n\n@pattern: \\\\d+(?:-\\\\d+)?",
"items": {
"type": "string"
},
@@ -58253,7 +61206,7 @@
"type": "string"
},
"target": {
- "description": "The URL of the target resource to receive the matched traffic. For\nregional forwarding rules, this target must be in the same region as the\nforwarding rule. For global forwarding rules, this target must be a global\nload balancing resource.\n\nThe forwarded traffic must be of a type appropriate to the target object.\n \n \n - For load balancers, see the \"Target\" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle:\n \n \n - vpc-sc - APIs that support VPC Service Controls. \n - all-apis - All supported Google APIs. \n \n \n - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment.",
+ "description": "The URL of the target resource to receive the matched traffic. For\nregional forwarding rules, this target must be in the same region as the\nforwarding rule. For global forwarding rules, this target must be a global\nload balancing resource.\n\nThe forwarded traffic must be of a type appropriate to the target object.\n \n \n - For load balancers, see the \"Target\" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle:\n \n \n - vpc-sc - APIs that support VPC Service Controls. \n - all-apis - All supported Google APIs. \n \n \n - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. \n\n\n\nThe following load balancers cannot set the target field (they should set the backendService field instead):\n \n - Internal passthrough Network Load Balancers\n - Backend service-based regional external passthrough Network Load\n Balancers\n - Global external passthrough Network Load Balancers",
"type": "string"
}
},
@@ -58398,7 +61351,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -58424,6 +61377,18 @@
},
"type": "object"
},
+ "ForwardingRuleAttachedExtension": {
+ "description": "Reference to an extension resource that is attached to this ForwardingRule.",
+ "id": "ForwardingRuleAttachedExtension",
+ "properties": {
+ "reference": {
+ "description": "Output only. The resource name.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"ForwardingRuleList": {
"description": "Contains a list of ForwardingRule resources.",
"id": "ForwardingRuleList",
@@ -58555,7 +61520,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -58720,7 +61685,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -58765,16 +61730,22 @@
"description": "Setting for enabling or disabling automatic deletion for auto-created\nreservation. If set to true, auto-created reservations will be\ndeleted at Future Reservation's end time (default) or at user's defined\ntimestamp if any of the\n[auto_created_reservations_delete_time, auto_created_reservations_duration]\nvalues is specified.\nFor keeping auto-created reservation indefinitely, this value should be set\nto false.",
"type": "boolean"
},
+ "colocationResource": {
+ "description": "Full or partial URL of an existing future reservation to indicate\nintent for reserving capacity in the same cluster as the colocation\nresource.",
+ "type": "string"
+ },
"commitmentInfo": {
"$ref": "FutureReservationCommitmentInfo",
"description": "If not present, then FR will not deliver a new commitment or update an\nexisting commitment."
},
"confidentialComputeType": {
"enum": [
+ "CONFIDENTIAL_COMPUTE_TYPE_BMSAI",
"CONFIDENTIAL_COMPUTE_TYPE_TDX",
"CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED"
],
"enumDescriptions": [
+ "Bare Metal Secure AI.",
"Intel Trust Domain Extensions.",
""
],
@@ -58867,6 +61838,15 @@
"description": "Name of reservations where the capacity is provisioned at the time of\ndelivery of future reservations. If the reservation with the given name\ndoes not exist already, it is created automatically at the time of Approval\nwith INACTIVE state till specified start-time. Either provide the\nreservation_name or a name_prefix.",
"type": "string"
},
+ "resourceMetadata": {
+ "$ref": "ResourceMetadata",
+ "description": "Output only. Contains standard resource metadata for an FutureReservation\nresource. It is populated for each instance of the FutureReservation\nresource, and includes the api_version the\ninstance was retrieved through, and its canonical\nresource_type name.",
+ "readOnly": true
+ },
+ "resourceName": {
+ "description": "Name of the resource intended to be delivered. Name should conform to\nRFC1035. This will be the name of storage pool or Exapool for persistent\ndisk FRs.",
+ "type": "string"
+ },
"schedulingType": {
"description": "Maintenance information for this reservation",
"enum": [
@@ -58908,6 +61888,10 @@
"description": "Output only. [Output only] Status of the Future Reservation",
"readOnly": true
},
+ "storagePoolProperties": {
+ "$ref": "FutureReservationStoragePoolProperties",
+ "description": "Storage pool details for the future reservation."
+ },
"timeWindow": {
"$ref": "FutureReservationTimeWindow",
"description": "Time window for this Future Reservation."
@@ -59018,6 +62002,11 @@
"readOnly": true,
"type": "array"
},
+ "exapoolProvisionedCapacityGb": {
+ "$ref": "StoragePoolExapoolProvisionedCapacityGb",
+ "description": "Output only. Exapool provisioned capacities for each SKU type.",
+ "readOnly": true
+ },
"existingMatchingUsageInfo": {
"$ref": "FutureReservationStatusExistingMatchingUsageInfo",
"description": "Output only. [Output Only] Represents the existing matching usage for the future\nreservation.",
@@ -59076,6 +62065,11 @@
},
"specificSkuProperties": {
"$ref": "FutureReservationStatusSpecificSKUProperties"
+ },
+ "storagePoolProvisionedCapacity": {
+ "$ref": "FutureReservationStoragePoolProvisionedCapacity",
+ "description": "Output only. Storage pool provisioned capacities for each SKU type.",
+ "readOnly": true
}
},
"type": "object"
@@ -59197,6 +62191,47 @@
},
"type": "object"
},
+ "FutureReservationStoragePoolProperties": {
+ "description": "Storage pool properties for the future reservation.",
+ "id": "FutureReservationStoragePoolProperties",
+ "properties": {
+ "requestedExapoolProvisionedCapacityGb": {
+ "$ref": "StoragePoolExapoolProvisionedCapacityGb",
+ "description": "Requested exapool provisioned capacity in GiB."
+ },
+ "requestedStoragePoolProvisionedCapacity": {
+ "$ref": "FutureReservationStoragePoolProvisionedCapacity",
+ "description": "Requested storage pool provisioned capacity."
+ },
+ "storagePoolType": {
+ "description": "Type of the storage pool.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FutureReservationStoragePoolProvisionedCapacity": {
+ "description": "Storage pool provisioned capacities for each SKU type.",
+ "id": "FutureReservationStoragePoolProvisionedCapacity",
+ "properties": {
+ "poolProvisionedCapacityGb": {
+ "description": "Size of the storage pool in GiB.",
+ "format": "int64",
+ "type": "string"
+ },
+ "poolProvisionedIops": {
+ "description": "Provisioned IOPS of the storage pool. Only relevant if the storage pool\ntype is hyperdisk-balanced.",
+ "format": "int64",
+ "type": "string"
+ },
+ "poolProvisionedThroughput": {
+ "description": "Provisioned throughput of the storage pool in MiB/s. Only relevant if\nthe storage pool type is hyperdisk-balanced or hyperdisk-throughput.",
+ "format": "int64",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"FutureReservationTimeWindow": {
"id": "FutureReservationTimeWindow",
"properties": {
@@ -59356,7 +62391,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -59523,7 +62558,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -59660,7 +62695,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -59992,6 +63027,99 @@
},
"type": "object"
},
+ "GetHealthOperationMetadata": {
+ "description": "Metadata for GetHealth operations.",
+ "id": "GetHealthOperationMetadata",
+ "properties": {
+ "healthInfo": {
+ "$ref": "GetHealthOperationMetadataHealthInfo",
+ "description": "Output only. The health information.",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "GetHealthOperationMetadataHealthInfo": {
+ "description": "Health information.",
+ "id": "GetHealthOperationMetadataHealthInfo",
+ "properties": {
+ "availabilitySloStatus": {
+ "description": "Output only. The availability SLO status.",
+ "enum": [
+ "AVAILABILITY_SLO_STATUS_IN_SLO",
+ "AVAILABILITY_SLO_STATUS_OUT_OF_SLO",
+ "AVAILABILITY_SLO_STATUS_SLO_UNKNOWN",
+ "AVAILABILITY_SLO_STATUS_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "The slot availability is in SLO.",
+ "The slot availability is out of SLO.",
+ "The slot availability is unknown.",
+ "Unspecified availability SLO status."
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Output only. The health status.",
+ "enum": [
+ "HEALTH_STATUS_HEALTHY",
+ "HEALTH_STATUS_UNHEALTHY",
+ "HEALTH_STATUS_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "The reservation slot is healthy.",
+ "The reservation slot is unhealthy.",
+ "Unspecified health status."
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
+ "repairCategory": {
+ "description": "Output only. The repair category.",
+ "enum": [
+ "REPAIR_CATEGORY_CRITICAL_FAILURE",
+ "REPAIR_CATEGORY_EMERGENT_MAINTENANCE",
+ "REPAIR_CATEGORY_PLANNED_MAINTENANCE",
+ "REPAIR_CATEGORY_UNSPECIFIED",
+ "REPAIR_CATEGORY_USER_REPORTED_FAULT"
+ ],
+ "enumDescriptions": [
+ "The repair is because of critical failures, that are scoped outside\nemergent maintenance",
+ "The repair is because of an emergent maintenance",
+ "The repair is because of a planned maintenance",
+ "Unspecified repair category.",
+ "The repair is because of a user reported fault"
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
+ "unhealthyReason": {
+ "description": "Output only. The reason for unhealthy status.",
+ "enum": [
+ "UNHEALTHY_REASON_PENDING_USER_APPROVAL",
+ "UNHEALTHY_REASON_REPAIRING",
+ "UNHEALTHY_REASON_UNSCHEDULABLE",
+ "UNHEALTHY_REASON_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "The slot is unhealthy because there is a pending repair, waiting for\ncustomer approval",
+ "The slot is unhealthy because repair is in progress",
+ "The slot is unhealthy because a vm cannot be scheduled on it, and no\nrepairs are running on the slot",
+ "Unspecified unhealthy reason."
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
+ "updateTime": {
+ "description": "Output only. The time when health info was updated.",
+ "format": "google-datetime",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"GetVersionOperationMetadata": {
"id": "GetVersionOperationMetadata",
"properties": {
@@ -60008,14 +63136,14 @@
"additionalProperties": {
"type": "string"
},
- "description": "SBOM versions currently applied to the resource. The key is the component\nname and the value is the version.",
+ "description": "A mapping of components to their currently-applied versions or other\nappropriate identifiers.",
"type": "object"
},
"targetComponentVersions": {
"additionalProperties": {
"type": "string"
},
- "description": "SBOM versions scheduled for the next maintenance. The key is the\ncomponent name and the value is the version.",
+ "description": "A mapping of components to their target versions or other appropriate\nidentifiers.",
"type": "object"
}
},
@@ -60035,6 +63163,69 @@
},
"type": "object"
},
+ "GlobalFrontendSettings": {
+ "description": "Represents the Global Frontend Bundle settings for a single project.",
+ "id": "GlobalFrontendSettings",
+ "properties": {
+ "bundleType": {
+ "description": "Customer-settable bundle type.",
+ "enum": [
+ "BUNDLE_TYPE_UNSPECIFIED",
+ "GLOBAL_FRONT_END",
+ "INDIVIDUAL"
+ ],
+ "enumDescriptions": [
+ "Bundling is not active.",
+ "Standard Global Frontend bundle.",
+ "Ala Carte mode."
+ ],
+ "type": "string"
+ },
+ "creationTimestamp": {
+ "description": "Output only. [Output Only] Creation timestamp in RFC3339 text format.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "Output only. [Output Only] An optional description of this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "etag": {
+ "description": "Output only. For optimistic locking.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "id": {
+ "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Output only. OUTPUT_ONLY fields\n[Output Only] Name of the resource. Must be 1-63 characters long and match\nthe regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for the resource.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GlobalFrontendSettingsPatchResponse": {
+ "description": "Response to an UpdateGlobalFrontendSettingsRequest.",
+ "id": "GlobalFrontendSettingsPatchResponse",
+ "properties": {
+ "operation": {
+ "$ref": "Operation",
+ "description": "The Operation resource for this long-running operation."
+ }
+ },
+ "type": "object"
+ },
"GlobalNetworkEndpointGroupsAttachEndpointsRequest": {
"id": "GlobalNetworkEndpointGroupsAttachEndpointsRequest",
"properties": {
@@ -60123,307 +63314,744 @@
},
"type": "object"
},
- "GroupMaintenanceInfo": {
- "description": "Maintenance Info for ReservationBlocks.",
- "id": "GroupMaintenanceInfo",
+ "GlobalVmExtensionPolicy": {
+ "description": "Message describing GlobalVmExtensionPolicy object.",
+ "id": "GlobalVmExtensionPolicy",
"properties": {
- "instanceMaintenanceOngoingCount": {
- "description": "Describes number of instances that have ongoing maintenance.",
- "format": "int32",
- "type": "integer"
- },
- "instanceMaintenancePendingCount": {
- "description": "Describes number of instances that have pending maintenance.",
- "format": "int32",
- "type": "integer"
+ "creationTimestamp": {
+ "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.",
+ "readOnly": true,
+ "type": "string"
},
- "maintenanceOngoingCount": {
- "description": "Progress for ongoing maintenance for this group of VMs/hosts.\nDescribes number of hosts in the block that have ongoing maintenance.",
- "format": "int32",
- "type": "integer"
+ "description": {
+ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.",
+ "type": "string"
},
- "maintenancePendingCount": {
- "description": "Progress for ongoing maintenance for this group of VMs/hosts.\nDescribes number of hosts in the block that have pending maintenance.",
- "format": "int32",
- "type": "integer"
+ "extensionPolicies": {
+ "additionalProperties": {
+ "$ref": "GlobalVmExtensionPolicyExtensionPolicy"
+ },
+ "description": "Required. Map from extension (eg: \"cloudops\") to its policy configuration.\nThe key is the name of the extension.",
+ "type": "object"
},
- "schedulingType": {
- "description": "The type of maintenance for the reservation.",
- "enum": [
- "GROUPED",
- "GROUP_MAINTENANCE_TYPE_UNSPECIFIED",
- "INDEPENDENT"
- ],
- "enumDescriptions": [
- "Maintenance on all reserved instances in the reservation is synchronized.",
- "Unknown maintenance type.",
- "Maintenance is not synchronized for this reservation. Instead, each\ninstance has its own maintenance window."
- ],
+ "id": {
+ "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
+ "readOnly": true,
"type": "string"
},
- "subblockInfraMaintenanceOngoingCount": {
- "description": "Describes number of subblock Infrastructure that has ongoing maintenance.\nHere, Subblock Infrastructure Maintenance pertains to upstream hardware\ncontained in the Subblock that is necessary for a VM Family(e.g. NVLink\nDomains). Not all VM Families will support this field.",
- "format": "int32",
- "type": "integer"
- },
- "subblockInfraMaintenancePendingCount": {
- "description": "Describes number of subblock Infrastructure that has pending maintenance.\n Here, Subblock Infrastructure Maintenance pertains to upstream hardware\n contained in the Subblock that is necessary for a VM Family (e.g. NVLink\n Domains). Not all VM Families will support this field.",
- "format": "int32",
- "type": "integer"
+ "instanceSelectors": {
+ "description": "Optional. Selector to target VMs for a policy.\nThere is a logical \"AND\" between instance_selectors.",
+ "items": {
+ "$ref": "GlobalVmExtensionPolicyInstanceSelector"
+ },
+ "type": "array"
},
- "upcomingGroupMaintenance": {
- "$ref": "UpcomingMaintenance",
- "description": "Maintenance information on this group of VMs."
- }
- },
- "type": "object"
- },
- "GuestAttributes": {
- "description": "A guest attributes entry.",
- "id": "GuestAttributes",
- "properties": {
"kind": {
- "default": "compute#guestAttributes",
- "description": "Output only. [Output Only] Type of the resource. Alwayscompute#guestAttributes for guest attributes entry.",
+ "default": "compute#globalVmExtensionPolicy",
+ "description": "Output only. [Output Only] Type of the resource. Alwayscompute#globalVmExtensionPolicy for globalVmExtensionPolicies.",
"readOnly": true,
"type": "string"
},
- "queryPath": {
- "description": "The path to be queried. This can be the default namespace ('') or a\nnested namespace ('\\/') or a specified key\n('\\/\\').",
+ "name": {
+ "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?`\nwhich means the first character must be a lowercase letter, and all\nfollowing characters must be a dash, lowercase letter, or digit, except\nthe last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"type": "string"
},
- "queryValue": {
- "$ref": "GuestAttributesValue",
- "description": "Output only. [Output Only] The value of the requested queried path.",
- "readOnly": true
+ "priority": {
+ "description": "Optional. Used to resolve conflicts when multiple policies are active for the same\nextension. Defaults to 0.\n\nLarger the number, higher the priority. When the priority is the same,\nthe policy with the newer create time has higher priority.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "rolloutOperation": {
+ "$ref": "GlobalVmExtensionPolicyRolloutOperation",
+ "description": "Required. The rollout strategy and status."
+ },
+ "scopedResourceStatus": {
+ "description": "Output only. [Output Only] The scoped resource status. It's only for tracking the\npurging status of the policy.",
+ "enum": [
+ "SCOPED_RESOURCE_STATUS_DELETING",
+ "SCOPED_RESOURCE_STATUS_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "The zonal policies are being deleted.",
+ "Default value. This value is unused."
+ ],
+ "readOnly": true,
+ "type": "string"
},
"selfLink": {
- "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "description": "Output only. [Output Only] Server-defined fully-qualified URL for this resource.",
"readOnly": true,
"type": "string"
},
- "variableKey": {
- "description": "The key to search for.",
+ "selfLinkWithId": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.",
+ "readOnly": true,
"type": "string"
},
- "variableValue": {
- "description": "Output only. [Output Only] The value found for the requested key.",
+ "updateTimestamp": {
+ "description": "Output only. [Output Only] Update timestamp inRFC3339\ntext format.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
- "GuestAttributesEntry": {
- "description": "A guest attributes namespace/key/value entry.",
- "id": "GuestAttributesEntry",
+ "GlobalVmExtensionPolicyExtensionPolicy": {
+ "description": "Policy for a single extension.",
+ "id": "GlobalVmExtensionPolicyExtensionPolicy",
"properties": {
- "key": {
- "description": "Key for the guest attribute entry.",
- "type": "string"
- },
- "namespace": {
- "description": "Namespace for the guest attribute entry.",
+ "pinnedVersion": {
+ "description": "Optional. The version pinning for the extension.\nIf empty, the extension will be installed with the latest version\nreleased by the extension producer.",
"type": "string"
},
- "value": {
- "description": "Value for the guest attribute entry.",
+ "stringConfig": {
+ "description": "Optional. String configuration. Any string payload that the extension\nunderstands.",
"type": "string"
}
},
"type": "object"
},
- "GuestAttributesValue": {
- "description": "Array of guest attribute namespace/key/value tuples.",
- "id": "GuestAttributesValue",
- "properties": {
- "items": {
- "items": {
- "$ref": "GuestAttributesEntry"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "GuestOsFeature": {
- "description": "Guest OS features.",
- "id": "GuestOsFeature",
+ "GlobalVmExtensionPolicyInstanceSelector": {
+ "description": "Selector to target VMs for a zone VM extension policy.",
+ "id": "GlobalVmExtensionPolicyInstanceSelector",
"properties": {
- "type": {
- "description": "The ID of a supported feature. To add multiple values, use commas to\nseparate values. Set to one or more of the following values:\n \n - VIRTIO_SCSI_MULTIQUEUE\n - WINDOWS\n - MULTI_IP_SUBNET\n - UEFI_COMPATIBLE\n - GVNIC\n - SEV_CAPABLE\n - SUSPEND_RESUME_COMPATIBLE\n - SEV_LIVE_MIGRATABLE_V2\n - SEV_SNP_CAPABLE\n - TDX_CAPABLE\n - IDPF\n - SNP_SVSM_CAPABLE\n - CCA_CAPABLE\n\n\nFor more information, see\nEnabling guest operating system features.",
- "enum": [
- "BARE_METAL_LINUX_COMPATIBLE",
- "FEATURE_TYPE_UNSPECIFIED",
- "GVNIC",
- "IDPF",
- "MULTI_IP_SUBNET",
- "SECURE_BOOT",
- "SEV_CAPABLE",
- "SEV_LIVE_MIGRATABLE",
- "SEV_LIVE_MIGRATABLE_V2",
- "SEV_SNP_CAPABLE",
- "SNP_SVSM_CAPABLE",
- "TDX_CAPABLE",
- "UEFI_COMPATIBLE",
- "VIRTIO_SCSI_MULTIQUEUE",
- "WINDOWS"
- ],
- "enumDescriptions": [
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- ""
- ],
- "type": "string"
+ "labelSelector": {
+ "$ref": "GlobalVmExtensionPolicyLabelSelector",
+ "description": "Optional. Labels within the LabelSelector are OR'd."
}
},
"type": "object"
},
- "HTTP2HealthCheck": {
- "id": "HTTP2HealthCheck",
+ "GlobalVmExtensionPolicyLabelSelector": {
+ "description": "A LabelSelector is applicable for a VM only if it matches all labels in\nthe LabelSelector.",
+ "id": "GlobalVmExtensionPolicyLabelSelector",
"properties": {
- "host": {
- "description": "The value of the host header in the HTTP/2 health check request. If left\nempty (default value), the host header is set to the destination IP address\nto which health check packets are sent. The destination IP address depends\non the type of load balancer. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest",
- "type": "string"
- },
- "port": {
- "description": "The TCP port number to which the health check prober sends packets. The\ndefault value is 443. Valid values are 1 through65535.",
- "format": "int32",
- "type": "integer"
- },
- "portName": {
- "description": "Not supported.",
- "type": "string"
- },
- "portSpecification": {
- "description": "Specifies how a port is selected for health checking. Can be one of the\nfollowing values: \nUSE_FIXED_PORT: Specifies a port number explicitly using theport field in the health check. Supported by backend services\nfor passthrough load balancers and backend services for proxy load\nbalancers. Not supported by target pools. The health check supports all\nbackends supported by the backend service provided the backend can be\nhealth checked. For example, GCE_VM_IP network endpoint\ngroups, GCE_VM_IP_PORT network endpoint groups, and instance\ngroup backends. \n USE_NAMED_PORT: Not supported. \nUSE_SERVING_PORT: Provides an indirect method of specifying\nthe health check port by referring to the backend service. Only supported\nby backend services for proxy load balancers. Not supported by target\npools. Not supported by backend services for passthrough load balancers.\nSupports all backends that can be health checked; for example,GCE_VM_IP_PORT network endpoint groups and instance group\nbackends.\n\nFor GCE_VM_IP_PORT network endpoint group backends, the health\ncheck uses the port number specified for each endpoint in the network\nendpoint group. For instance group backends, the health check uses the\nport number determined by looking up the backend service's named port in\nthe instance group's list of named ports.",
- "enum": [
- "USE_FIXED_PORT",
- "USE_NAMED_PORT",
- "USE_SERVING_PORT"
- ],
- "enumDescriptions": [
- "The port number in the health check's port is used for health\nchecking. Applies to network endpoint group and instance group backends.",
- "Not supported.",
- "For network endpoint group backends, the health check uses the port number\nspecified on each endpoint in the network endpoint group. For instance\ngroup backends, the health check uses the port number specified for the\nbackend service's named port defined in the instance group's named ports."
- ],
- "type": "string"
- },
- "proxyHeader": {
- "description": "Specifies the type of proxy header to append before sending data to the\nbackend, either NONE or PROXY_V1. The default\nis NONE.",
- "enum": [
- "NONE",
- "PROXY_V1"
- ],
- "enumDescriptions": [
- "",
- ""
- ],
- "type": "string"
- },
- "requestPath": {
- "description": "The request path of the HTTP/2 health check request. The default value is/. Must comply withRFC3986.",
- "type": "string"
- },
- "response": {
- "description": "Creates a content-based HTTP/2 health check. In addition to the required\nHTTP 200 (OK) status code, you can configure the health check to pass only\nwhen the backend sends this specific ASCII response string within the first\n1024 bytes of the HTTP response body. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http",
- "type": "string"
+ "inclusionLabels": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Optional. Labels as key value pairs.\nA VM should contain all the pairs specified in this map to be selected;\nLabels within the LabelSelector are OR'ed.",
+ "type": "object"
}
},
"type": "object"
},
- "HTTPHealthCheck": {
- "id": "HTTPHealthCheck",
+ "GlobalVmExtensionPolicyList": {
+ "description": "Response to list global VM extension policy resources.",
+ "id": "GlobalVmExtensionPolicyList",
"properties": {
- "host": {
- "description": "The value of the host header in the HTTP health check request. If left\nempty (default value), the host header is set to the destination IP address\nto which health check packets are sent. The destination IP address depends\non the type of load balancer. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest",
+ "etag": {
"type": "string"
},
- "port": {
- "description": "The TCP port number to which the health check prober sends packets. The\ndefault value is 80. Valid values are 1 through65535.",
- "format": "int32",
- "type": "integer"
- },
- "portName": {
- "description": "Not supported.",
+ "id": {
+ "description": "[Output Only] Unique identifier for the resource; defined by the server.",
"type": "string"
},
- "portSpecification": {
- "description": "Specifies how a port is selected for health checking. Can be one of the\nfollowing values: \nUSE_FIXED_PORT: Specifies a port number explicitly using theport field in the health check. Supported by backend services\nfor passthrough load balancers and backend services for proxy load\nbalancers. Also supported in legacy HTTP health checks for target pools.\nThe health check supports all backends supported by the backend service\nprovided the backend can be health checked. For example,GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT\nnetwork endpoint groups, and instance group backends. \nUSE_NAMED_PORT: Not supported. \nUSE_SERVING_PORT: Provides an indirect method of specifying\nthe health check port by referring to the backend service. Only supported\nby backend services for proxy load balancers. Not supported by target\npools. Not supported by backend services for pass-through load balancers.\nSupports all backends that can be health checked; for example,GCE_VM_IP_PORT network endpoint groups and instance group\nbackends.\n\nFor GCE_VM_IP_PORT network endpoint group backends, the health\ncheck uses the port number specified for each endpoint in the network\nendpoint group. For instance group backends, the health check uses the\nport number determined by looking up the backend service's named port in\nthe instance group's list of named ports.",
- "enum": [
- "USE_FIXED_PORT",
- "USE_NAMED_PORT",
- "USE_SERVING_PORT"
- ],
- "enumDescriptions": [
- "The port number in the health check's port is used for health\nchecking. Applies to network endpoint group and instance group backends.",
- "Not supported.",
- "For network endpoint group backends, the health check uses the port number\nspecified on each endpoint in the network endpoint group. For instance\ngroup backends, the health check uses the port number specified for the\nbackend service's named port defined in the instance group's named ports."
- ],
- "type": "string"
+ "items": {
+ "description": "A list of GlobalVmExtensionPolicy resources.",
+ "items": {
+ "$ref": "GlobalVmExtensionPolicy"
+ },
+ "type": "array"
},
- "proxyHeader": {
- "description": "Specifies the type of proxy header to append before sending data to the\nbackend, either NONE or PROXY_V1. The default\nis NONE.",
- "enum": [
- "NONE",
- "PROXY_V1"
- ],
- "enumDescriptions": [
- "",
- ""
- ],
+ "kind": {
+ "default": "compute#globalVmExtensionPolicyList",
+ "description": "Output only. Type of resource.",
+ "readOnly": true,
"type": "string"
},
- "requestPath": {
- "description": "The request path of the HTTP health check request. The default value is/. Must comply withRFC3986.",
+ "nextPageToken": {
+ "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
"type": "string"
},
- "response": {
- "description": "Creates a content-based HTTP health check. In addition to the required\nHTTP 200 (OK) status code, you can configure the health check to pass only\nwhen the backend sends this specific ASCII response string within the first\n1024 bytes of the HTTP response body. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http",
- "type": "string"
- }
- },
- "type": "object"
- },
- "HTTPSHealthCheck": {
- "id": "HTTPSHealthCheck",
- "properties": {
- "host": {
- "description": "The value of the host header in the HTTPS health check request. If left\nempty (default value), the host header is set to the destination IP address\nto which health check packets are sent. The destination IP address depends\non the type of load balancer. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest",
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
"type": "string"
},
- "port": {
- "description": "The TCP port number to which the health check prober sends packets. The\ndefault value is 443. Valid values are 1 through65535.",
- "format": "int32",
- "type": "integer"
- },
- "portName": {
- "description": "Not supported.",
- "type": "string"
+ "unreachables": {
+ "description": "Output only. [Output Only] Unreachable resources.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
},
- "portSpecification": {
- "description": "Specifies how a port is selected for health checking. Can be one of the\nfollowing values: \nUSE_FIXED_PORT: Specifies a port number explicitly using theport field in the health check. Supported by backend services\nfor passthrough load balancers and backend services for proxy load\nbalancers. Not supported by target pools. The health check supports all\nbackends supported by the backend service provided the backend can be\nhealth checked. For example, GCE_VM_IP network endpoint\ngroups, GCE_VM_IP_PORT network endpoint groups, and instance\ngroup backends. \n USE_NAMED_PORT: Not supported. \nUSE_SERVING_PORT: Provides an indirect method of specifying\nthe health check port by referring to the backend service. Only supported\nby backend services for proxy load balancers. Not supported by target\npools. Not supported by backend services for passthrough load balancers.\nSupports all backends that can be health checked; for example,GCE_VM_IP_PORT network endpoint groups and instance group\nbackends.\n\nFor GCE_VM_IP_PORT network endpoint group backends, the health\ncheck uses the port number specified for each endpoint in the network\nendpoint group. For instance group backends, the health check uses the\nport number determined by looking up the backend service's named port in\nthe instance group's list of named ports.",
- "enum": [
- "USE_FIXED_PORT",
- "USE_NAMED_PORT",
- "USE_SERVING_PORT"
- ],
- "enumDescriptions": [
- "The port number in the health check's port is used for health\nchecking. Applies to network endpoint group and instance group backends.",
- "Not supported.",
- "For network endpoint group backends, the health check uses the port number\nspecified on each endpoint in the network endpoint group. For instance\ngroup backends, the health check uses the port number specified for the\nbackend service's named port defined in the instance group's named ports."
+ "warning": {
+ "description": "[Output Only] Informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "GlobalVmExtensionPolicyRolloutOperation": {
+ "description": "Represents the rollout operation",
+ "id": "GlobalVmExtensionPolicyRolloutOperation",
+ "properties": {
+ "rolloutInput": {
+ "$ref": "GlobalVmExtensionPolicyRolloutOperationRolloutInput",
+ "description": "Required. The rollout input which defines the rollout plan."
+ },
+ "rolloutStatus": {
+ "$ref": "GlobalVmExtensionPolicyRolloutOperationRolloutStatus",
+ "description": "Output only. [Output Only] The rollout status of the policy.",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "GlobalVmExtensionPolicyRolloutOperationRolloutInput": {
+ "id": "GlobalVmExtensionPolicyRolloutOperationRolloutInput",
+ "properties": {
+ "conflictBehavior": {
+ "description": "Optional. Specifies the behavior of the rollout if a conflict is detected in a\nproject during a rollout. This only applies to `insert` and `update`\nmethods.\n\nA conflict occurs in the following cases:\n\n* `insert` method: If the zonal policy already exists when the insert\n happens.\n* `update` method: If the zonal policy was modified by a zonal API call\n outside of this rollout.\n\nPossible values are the following:\n\n* `\"\"` (empty string): If a conflict occurs, the local value is not\n overwritten. This is the default behavior.\n* `\"overwrite\"`: If a conflict occurs, the local value is overwritten\n with the rollout value.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Optional. The name of the rollout plan.\nEx.\nprojects//locations/global/rolloutPlans/.",
+ "type": "string"
+ },
+ "predefinedRolloutPlan": {
+ "description": "Optional. Specifies the predefined rollout plan for the policy. Valid values\nare `SLOW_ROLLOUT` and `FAST_ROLLOUT`. The recommended value is\n`SLOW_ROLLOUT` for progressive rollout. For more information, see Rollout\nplans for global policies.",
+ "enum": [
+ "FAST_ROLLOUT",
+ "ROLLOUT_PLAN_UNSPECIFIED",
+ "SLOW_ROLLOUT"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ],
+ "type": "string"
+ },
+ "retryUuid": {
+ "description": "Optional. The UUID that identifies a policy rollout retry attempt for update and\ndelete operations. Set this field only when retrying a rollout for an\nexisting extension policy.\n\n* `update` method: Lets you retry policy rollout without changes.\nAn error occurs if you set retry_uuid but the policy is modified.\n* `delete` method: Lets you retry policy deletion rollout if the\nprevious deletion rollout is not finished and the policy is in the\nDELETING state. If you set this field when the policy is not in the\nDELETING state, an error occurs.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GlobalVmExtensionPolicyRolloutOperationRolloutStatus": {
+ "id": "GlobalVmExtensionPolicyRolloutOperationRolloutStatus",
+ "properties": {
+ "currentRollouts": {
+ "description": "Output only. [Output Only] The current rollouts for the latest version of the\nresource. There should be only one current rollout, but for\nscalability, we make it repeated.",
+ "items": {
+ "$ref": "GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "previousRollout": {
+ "$ref": "GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata",
+ "description": "Output only. [Output Only] The last completed rollout resource. This field will not\nbe populated until the first rollout is completed.",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata": {
+ "id": "GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata",
+ "properties": {
+ "locationRolloutStatus": {
+ "additionalProperties": {
+ "$ref": "GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadataLocationRolloutStatus"
+ },
+ "description": "Output only. [Output Only] The rollout status for each location. The list of the\nlocations is the same as the list of locations in the rollout plan.",
+ "readOnly": true,
+ "type": "object"
+ },
+ "rollout": {
+ "description": "Output only. [Output Only] The name of the rollout.\nEx. projects//locations/global/rollouts/.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "rolloutPlan": {
+ "description": "Output only. [Output Only] The name of the rollout plan.\nEx.\nprojects//locations/global/rolloutPlans/.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "state": {
+ "description": "Output only. [Output Only] The overall state of the rollout.",
+ "enum": [
+ "STATE_CANCELLED",
+ "STATE_COMPLETED",
+ "STATE_FAILED",
+ "STATE_PAUSED",
+ "STATE_PROCESSING",
+ "STATE_UNKNOWN",
+ "STATE_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "Iteration was explicitly cancelled.",
+ "Iteration completed, with all actions being successful.",
+ "Iteration completed, with failures.",
+ "The rollout is paused.",
+ "Iteration is in progress.",
+ "Impossible to determine current state of the iteration.",
+ "Default value. This value is unused."
+ ],
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadataLocationRolloutStatus": {
+ "id": "GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadataLocationRolloutStatus",
+ "properties": {
+ "state": {
+ "description": "Output only. [Output Only] The state of the location rollout.",
+ "enum": [
+ "LOCATION_ROLLOUT_STATE_COMPLETED",
+ "LOCATION_ROLLOUT_STATE_FAILED",
+ "LOCATION_ROLLOUT_STATE_NOT_STARTED",
+ "LOCATION_ROLLOUT_STATE_SKIPPED",
+ "LOCATION_ROLLOUT_STATE_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "The location rollout is completed.",
+ "The location rollout has failed.",
+ "The location rollout has not started.",
+ "The location rollout is skipped.",
+ "Default value. This value is unused."
+ ],
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GroupMaintenanceInfo": {
+ "description": "Maintenance Info for ReservationBlocks.",
+ "id": "GroupMaintenanceInfo",
+ "properties": {
+ "instanceMaintenanceOngoingCount": {
+ "description": "Describes number of instances that have ongoing maintenance.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "instanceMaintenancePendingCount": {
+ "description": "Describes number of instances that have pending maintenance.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "maintenanceOngoingCount": {
+ "description": "Progress for ongoing maintenance for this group of VMs/hosts.\nDescribes number of hosts in the block that have ongoing maintenance.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "maintenancePendingCount": {
+ "description": "Progress for ongoing maintenance for this group of VMs/hosts.\nDescribes number of hosts in the block that have pending maintenance.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "schedulingType": {
+ "description": "The type of maintenance for the reservation.",
+ "enum": [
+ "GROUPED",
+ "GROUP_MAINTENANCE_TYPE_UNSPECIFIED",
+ "INDEPENDENT"
+ ],
+ "enumDescriptions": [
+ "Maintenance on all reserved instances in the reservation is synchronized.",
+ "Unknown maintenance type.",
+ "Maintenance is not synchronized for this reservation. Instead, each\ninstance has its own maintenance window."
+ ],
+ "type": "string"
+ },
+ "subblockInfraMaintenanceOngoingCount": {
+ "description": "Describes number of subblock Infrastructure that has ongoing maintenance.\nHere, Subblock Infrastructure Maintenance pertains to upstream hardware\ncontained in the Subblock that is necessary for a VM Family(e.g. NVLink\nDomains). Not all VM Families will support this field.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "subblockInfraMaintenancePendingCount": {
+ "description": "Describes number of subblock Infrastructure that has pending maintenance.\n Here, Subblock Infrastructure Maintenance pertains to upstream hardware\n contained in the Subblock that is necessary for a VM Family (e.g. NVLink\n Domains). Not all VM Families will support this field.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "upcomingGroupMaintenance": {
+ "$ref": "UpcomingMaintenance",
+ "description": "Maintenance information on this group of VMs."
+ }
+ },
+ "type": "object"
+ },
+ "GuestAttributes": {
+ "description": "A guest attributes entry.",
+ "id": "GuestAttributes",
+ "properties": {
+ "kind": {
+ "default": "compute#guestAttributes",
+ "description": "Output only. [Output Only] Type of the resource. Alwayscompute#guestAttributes for guest attributes entry.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "queryPath": {
+ "description": "The path to be queried. This can be the default namespace ('') or a\nnested namespace ('\\/') or a specified key\n('\\/\\').",
+ "type": "string"
+ },
+ "queryValue": {
+ "$ref": "GuestAttributesValue",
+ "description": "Output only. [Output Only] The value of the requested queried path.",
+ "readOnly": true
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "variableKey": {
+ "description": "The key to search for.",
+ "type": "string"
+ },
+ "variableValue": {
+ "description": "Output only. [Output Only] The value found for the requested key.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GuestAttributesEntry": {
+ "description": "A guest attributes namespace/key/value entry.",
+ "id": "GuestAttributesEntry",
+ "properties": {
+ "key": {
+ "description": "Key for the guest attribute entry.",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Namespace for the guest attribute entry.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Value for the guest attribute entry.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GuestAttributesValue": {
+ "description": "Array of guest attribute namespace/key/value tuples.",
+ "id": "GuestAttributesValue",
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "GuestAttributesEntry"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "GuestOsFeature": {
+ "description": "Guest OS features.",
+ "id": "GuestOsFeature",
+ "properties": {
+ "type": {
+ "description": "The ID of a supported feature. To add multiple values, use commas to\nseparate values. Set to one or more of the following values:\n \n - VIRTIO_SCSI_MULTIQUEUE\n - WINDOWS\n - MULTI_IP_SUBNET\n - UEFI_COMPATIBLE\n - GVNIC\n - SEV_CAPABLE\n - SUSPEND_RESUME_COMPATIBLE\n - SEV_LIVE_MIGRATABLE_V2\n - SEV_SNP_CAPABLE\n - TDX_CAPABLE\n - IDPF\n - SNP_SVSM_CAPABLE\n - CCA_CAPABLE\n - SUSPEND_SAFE_FPR\n\n\nFor more information, see\nEnabling guest operating system features.",
+ "enum": [
+ "BARE_METAL_LINUX_COMPATIBLE",
+ "BMSAI_CAPABLE",
+ "CCA_CAPABLE",
+ "FEATURE_TYPE_UNSPECIFIED",
+ "GVNIC",
+ "IDPF",
+ "MULTI_IP_SUBNET",
+ "SECURE_BOOT",
+ "SEV_CAPABLE",
+ "SEV_LIVE_MIGRATABLE",
+ "SEV_LIVE_MIGRATABLE_V2",
+ "SEV_SNP_CAPABLE",
+ "SNP_SVSM_CAPABLE",
+ "SUSPEND_SAFE_FPR",
+ "TDX_CAPABLE",
+ "UEFI_COMPATIBLE",
+ "VIRTIO_SCSI_MULTIQUEUE",
+ "WINDOWS"
+ ],
+ "enumDescriptions": [
+ "",
+ "Indicates the guest OS is capable of Bare Metal Secure AI (BMSAI)\nconfidential computing.",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "Indicates the guest OS is safe for free page reporting (FPR) during\nsuspend.",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HTTP2HealthCheck": {
+ "id": "HTTP2HealthCheck",
+ "properties": {
+ "host": {
+ "description": "The value of the host header in the HTTP/2 health check request. If left\nempty (default value), the host header is set to the destination IP address\nto which health check packets are sent. The destination IP address depends\non the type of load balancer. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest",
+ "type": "string"
+ },
+ "port": {
+ "description": "The TCP port number to which the health check prober sends packets. The\ndefault value is 443. Valid values are 1 through65535.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "portName": {
+ "description": "Not supported.",
+ "type": "string"
+ },
+ "portSpecification": {
+ "description": "Specifies how a port is selected for health checking. Can be one of the\nfollowing values: \nUSE_FIXED_PORT: Specifies a port number explicitly using theport field in the health check. Supported by backend services\nfor passthrough load balancers and backend services for proxy load\nbalancers. Not supported by target pools. The health check supports all\nbackends supported by the backend service provided the backend can be\nhealth checked. For example, GCE_VM_IP network endpoint\ngroups, GCE_VM_IP_PORT network endpoint groups, and instance\ngroup backends. \n USE_NAMED_PORT: Not supported. \nUSE_SERVING_PORT: Provides an indirect method of specifying\nthe health check port by referring to the backend service. Only supported\nby backend services for proxy load balancers. Not supported by target\npools. Not supported by backend services for passthrough load balancers.\nSupports all backends that can be health checked; for example,GCE_VM_IP_PORT network endpoint groups and instance group\nbackends.\n\nFor GCE_VM_IP_PORT network endpoint group backends, the health\ncheck uses the port number specified for each endpoint in the network\nendpoint group. For instance group backends, the health check uses the\nport number determined by looking up the backend service's named port in\nthe instance group's list of named ports.",
+ "enum": [
+ "USE_FIXED_PORT",
+ "USE_NAMED_PORT",
+ "USE_SERVING_PORT"
+ ],
+ "enumDescriptions": [
+ "The port number in the health check's port is used for health\nchecking. Applies to network endpoint group and instance group backends.",
+ "Not supported.",
+ "For network endpoint group backends, the health check uses the port number\nspecified on each endpoint in the network endpoint group. For instance\ngroup backends, the health check uses the port number specified for the\nbackend service's named port defined in the instance group's named ports."
+ ],
+ "type": "string"
+ },
+ "proxyHeader": {
+ "description": "Specifies the type of proxy header to append before sending data to the\nbackend, either NONE or PROXY_V1. The default\nis NONE.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ],
+ "type": "string"
+ },
+ "requestPath": {
+ "description": "The request path of the HTTP/2 health check request. The default value is/. Must comply withRFC3986.",
+ "type": "string"
+ },
+ "response": {
+ "description": "Creates a content-based HTTP/2 health check. In addition to the required\nHTTP 200 (OK) status code, you can configure the health check to pass only\nwhen the backend sends this specific ASCII response string within the first\n1024 bytes of the HTTP response body. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HTTPHealthCheck": {
+ "id": "HTTPHealthCheck",
+ "properties": {
+ "host": {
+ "description": "The value of the host header in the HTTP health check request. If left\nempty (default value), the host header is set to the destination IP address\nto which health check packets are sent. The destination IP address depends\non the type of load balancer. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest",
+ "type": "string"
+ },
+ "port": {
+ "description": "The TCP port number to which the health check prober sends packets. The\ndefault value is 80. Valid values are 1 through65535.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "portName": {
+ "description": "Not supported.",
+ "type": "string"
+ },
+ "portSpecification": {
+ "description": "Specifies how a port is selected for health checking. Can be one of the\nfollowing values: \nUSE_FIXED_PORT: Specifies a port number explicitly using theport field in the health check. Supported by backend services\nfor passthrough load balancers and backend services for proxy load\nbalancers. Also supported in legacy HTTP health checks for target pools.\nThe health check supports all backends supported by the backend service\nprovided the backend can be health checked. For example,GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT\nnetwork endpoint groups, and instance group backends. \nUSE_NAMED_PORT: Not supported. \nUSE_SERVING_PORT: Provides an indirect method of specifying\nthe health check port by referring to the backend service. Only supported\nby backend services for proxy load balancers. Not supported by target\npools. Not supported by backend services for pass-through load balancers.\nSupports all backends that can be health checked; for example,GCE_VM_IP_PORT network endpoint groups and instance group\nbackends.\n\nFor GCE_VM_IP_PORT network endpoint group backends, the health\ncheck uses the port number specified for each endpoint in the network\nendpoint group. For instance group backends, the health check uses the\nport number determined by looking up the backend service's named port in\nthe instance group's list of named ports.",
+ "enum": [
+ "USE_FIXED_PORT",
+ "USE_NAMED_PORT",
+ "USE_SERVING_PORT"
+ ],
+ "enumDescriptions": [
+ "The port number in the health check's port is used for health\nchecking. Applies to network endpoint group and instance group backends.",
+ "Not supported.",
+ "For network endpoint group backends, the health check uses the port number\nspecified on each endpoint in the network endpoint group. For instance\ngroup backends, the health check uses the port number specified for the\nbackend service's named port defined in the instance group's named ports."
+ ],
+ "type": "string"
+ },
+ "proxyHeader": {
+ "description": "Specifies the type of proxy header to append before sending data to the\nbackend, either NONE or PROXY_V1. The default\nis NONE.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ],
+ "type": "string"
+ },
+ "requestPath": {
+ "description": "The request path of the HTTP health check request. The default value is/. Must comply withRFC3986.",
+ "type": "string"
+ },
+ "response": {
+ "description": "Creates a content-based HTTP health check. In addition to the required\nHTTP 200 (OK) status code, you can configure the health check to pass only\nwhen the backend sends this specific ASCII response string within the first\n1024 bytes of the HTTP response body. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HTTPSHealthCheck": {
+ "id": "HTTPSHealthCheck",
+ "properties": {
+ "host": {
+ "description": "The value of the host header in the HTTPS health check request. If left\nempty (default value), the host header is set to the destination IP address\nto which health check packets are sent. The destination IP address depends\non the type of load balancer. For details, see:\nhttps://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest",
+ "type": "string"
+ },
+ "port": {
+ "description": "The TCP port number to which the health check prober sends packets. The\ndefault value is 443. Valid values are 1 through65535.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "portName": {
+ "description": "Not supported.",
+ "type": "string"
+ },
+ "portSpecification": {
+ "description": "Specifies how a port is selected for health checking. Can be one of the\nfollowing values: \nUSE_FIXED_PORT: Specifies a port number explicitly using theport field in the health check. Supported by backend services\nfor passthrough load balancers and backend services for proxy load\nbalancers. Not supported by target pools. The health check supports all\nbackends supported by the backend service provided the backend can be\nhealth checked. For example, GCE_VM_IP network endpoint\ngroups, GCE_VM_IP_PORT network endpoint groups, and instance\ngroup backends. \n USE_NAMED_PORT: Not supported. \nUSE_SERVING_PORT: Provides an indirect method of specifying\nthe health check port by referring to the backend service. Only supported\nby backend services for proxy load balancers. Not supported by target\npools. Not supported by backend services for passthrough load balancers.\nSupports all backends that can be health checked; for example,GCE_VM_IP_PORT network endpoint groups and instance group\nbackends.\n\nFor GCE_VM_IP_PORT network endpoint group backends, the health\ncheck uses the port number specified for each endpoint in the network\nendpoint group. For instance group backends, the health check uses the\nport number determined by looking up the backend service's named port in\nthe instance group's list of named ports.",
+ "enum": [
+ "USE_FIXED_PORT",
+ "USE_NAMED_PORT",
+ "USE_SERVING_PORT"
+ ],
+ "enumDescriptions": [
+ "The port number in the health check's port is used for health\nchecking. Applies to network endpoint group and instance group backends.",
+ "Not supported.",
+ "For network endpoint group backends, the health check uses the port number\nspecified on each endpoint in the network endpoint group. For instance\ngroup backends, the health check uses the port number specified for the\nbackend service's named port defined in the instance group's named ports."
],
"type": "string"
},
@@ -60561,7 +64189,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -60802,7 +64430,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -60957,7 +64585,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -61051,7 +64679,7 @@
"type": "string"
},
"sourceRegions": {
- "description": "The list of cloud regions from which health checks are performed. If any\nregions are specified, then exactly 3 regions should be specified. The\nregion names must be valid names of Google Cloud regions.\nThis can only be set for global health check.\nIf this list is non-empty, then there are restrictions\non what other health check fields are supported and what other resources\ncan use this health check:\n \n - SSL, HTTP2, and GRPC protocols are not supported.\n - The TCP request field is not supported.\n - The proxyHeader field for HTTP, HTTPS, and TCP is not\n supported.\n - The checkIntervalSec field must be at least 30.\n - The health check cannot be used with BackendService nor with managed\n instance group auto-healing.",
+ "description": "The list of cloud regions from which health checks are performed. If any\nregions are specified, then exactly 3 regions should be specified. The\nregion names must be valid names of Google Cloud regions.\nThis can only be set for global health check.\nIf this list is non-empty, then there are restrictions\non what other health check fields are supported and what other resources\ncan use this health check:\n \n - SSL, HTTP2, GRPC, and GRPC_WITH_TLS protocols are not supported.\n - The TCP request field is not supported.\n - The proxyHeader field for HTTP, HTTPS, and TCP is not\n supported.\n - The checkIntervalSec field must be at least 30.\n - The health check cannot be used with BackendService nor with managed\n instance group auto-healing.",
"items": {
"type": "string"
},
@@ -61069,7 +64697,7 @@
"type": "integer"
},
"type": {
- "description": "Specifies the type of the healthCheck, either TCP,SSL, HTTP, HTTPS,HTTP2 or GRPC. Exactly one of the\nprotocol-specific health check fields must be specified, which must matchtype field.",
+ "description": "Specifies the type of the healthCheck, either TCP,SSL, HTTP, HTTPS,HTTP2, GRPC or GRPC_WITH_TLS.\nExactly one of the protocol-specific health check fields must be specified,\nwhich must match type field.",
"enum": [
"GRPC",
"GRPC_WITH_TLS",
@@ -61231,7 +64859,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -61499,7 +65127,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -61668,7 +65296,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -61805,7 +65433,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -61970,7 +65598,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -62107,7 +65735,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -62347,7 +65975,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -62536,7 +66164,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -62714,7 +66342,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -62902,6 +66530,108 @@
},
"type": "object"
},
+ "Host": {
+ "description": "Represents a host resource.",
+ "id": "Host",
+ "properties": {
+ "aliasLinks": {
+ "description": "Output only. All aliases for this resource.\ne.g.\nprojects/123/zones/us-centra1-a/reservation/r1/reservationBlock/b1/hosts/h1",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "creationTimestamp": {
+ "description": "Output only. The creation timestamp, formatted asRFC3339 text.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "An optional description of this resource.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Output only. The unique identifier for this resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "kind": {
+ "default": "compute#host",
+ "description": "Output only. The type of resource. Alwayscompute#host for hosts.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Output only. The name of the host.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. The self link of the host.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "selfLinkWithId": {
+ "description": "Output only. The self link with id of the host.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "state": {
+ "description": "Output only. The state of the host.",
+ "enum": [
+ "ACTIVE",
+ "CREATING",
+ "DELETING",
+ "STATE_UNSPECIFIED",
+ "UNAVAILABLE"
+ ],
+ "enumDescriptions": [
+ "The host has allocated all its resources.",
+ "The resources are being allocated for the host.",
+ "The host is currently being deleted.",
+ "",
+ "The host is currently unavailable."
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
+ "status": {
+ "$ref": "HostStatus",
+ "description": "Output only. The status of the host",
+ "readOnly": true
+ },
+ "zone": {
+ "description": "Output only. The zone in which the host resides.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HostPhysicalTopology": {
+ "id": "HostPhysicalTopology",
+ "properties": {
+ "block": {
+ "description": "The unique identifier of the capacity block within the cluster.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "The cluster name of the reservation sub-block.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The unique identifier of the capacity host within the capacity sub-block.",
+ "type": "string"
+ },
+ "subBlock": {
+ "description": "The unique identifier of the capacity sub-block within the capacity\nblock.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"HostRule": {
"description": "UrlMaps\nA host-matching rule for a URL. If matched, will use the namedPathMatcher to select the BackendService.",
"id": "HostRule",
@@ -62924,6 +66654,212 @@
},
"type": "object"
},
+ "HostStatus": {
+ "id": "HostStatus",
+ "properties": {
+ "physicalTopology": {
+ "$ref": "HostPhysicalTopology",
+ "description": "Output only. The physical topology of the reservation sub-block, if\npresent",
+ "readOnly": true
+ },
+ "runningInstances": {
+ "description": "Output only. The URIs of the instances currently running on this host.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "HostsGetVersionRequest": {
+ "id": "HostsGetVersionRequest",
+ "properties": {
+ "sbomSelections": {
+ "description": "The SBOM selection to return. Duplicate values in the list will be ignored.",
+ "items": {
+ "enum": [
+ "SBOM_SELECTION_CURRENT",
+ "SBOM_SELECTION_TARGET",
+ "SBOM_SELECTION_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "HostsListResponse": {
+ "id": "HostsListResponse",
+ "properties": {
+ "etag": {
+ "type": "string"
+ },
+ "id": {
+ "description": "The unique identifier for the resource; defined by the server.",
+ "type": "string"
+ },
+ "items": {
+ "description": "A list of host resources.",
+ "items": {
+ "$ref": "Host"
+ },
+ "type": "array"
+ },
+ "kind": {
+ "default": "compute#hostList",
+ "description": "The type of resource. Always compute#host for a list of hosts.",
+ "type": "string"
+ },
+ "nextPageToken": {
+ "description": "This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "The server-defined URL for this resource.",
+ "type": "string"
+ },
+ "unreachables": {
+ "description": "Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "warning": {
+ "description": "An informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
"HttpFaultAbort": {
"description": "Specification for how requests are aborted as part of fault injection.",
"id": "HttpFaultAbort",
@@ -63264,7 +67200,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -63384,6 +67320,10 @@
"HttpRouteAction": {
"id": "HttpRouteAction",
"properties": {
+ "cachePolicy": {
+ "$ref": "CachePolicy",
+ "description": "Specifies the cache policy configuration for matched traffic. Available\nonly for Global `EXTERNAL_MANAGED` load balancer schemes. At least one\nproperty must be specified. This policy cannot be specified if any target\nbackend has Identity-Aware Proxy enabled."
+ },
"corsPolicy": {
"$ref": "CorsPolicy",
"description": "The specification for allowing client-side cross-origin requests. For more\ninformation about the W3C recommendation for cross-origin resource sharing\n(CORS), see Fetch API Living\nStandard.\n\nNot supported when the URL map is bound to a target gRPC proxy."
@@ -63712,7 +67652,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -64116,7 +68056,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -64150,7 +68090,185 @@
"additionalProperties": {
"type": "string"
},
- "description": "Input only. Resource manager tags to be bound to the image. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
+ "description": "Input only. Resource manager tags to be bound to the image. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ImageView": {
+ "description": "Represents a read-only view of a global Image resource.",
+ "id": "ImageView",
+ "properties": {
+ "image": {
+ "$ref": "Image",
+ "description": "The Image resource."
+ }
+ },
+ "type": "object"
+ },
+ "ImageViewsListResponse": {
+ "description": "Response message for ImageViewsService.List",
+ "id": "ImageViewsListResponse",
+ "properties": {
+ "etag": {
+ "description": "Etag of the resource.",
+ "type": "string"
+ },
+ "id": {
+ "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+ "type": "string"
+ },
+ "items": {
+ "description": "A list of Image resources.",
+ "items": {
+ "$ref": "ImageView"
+ },
+ "type": "array"
+ },
+ "kind": {
+ "default": "compute#imageViewList",
+ "readOnly": true,
+ "type": "string"
+ },
+ "nextPageToken": {
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "unreachables": {
+ "description": "Output only. [Output Only] Unreachable resources.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "warning": {
+ "description": "[Output Only] Informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
"type": "object"
}
},
@@ -64305,8 +68423,22 @@
"readOnly": true,
"type": "string"
},
+ "localSsdEncryptionMode": {
+ "description": "Specifies which method should be used for encrypting the\nLocal SSDs attached to the VM.",
+ "enum": [
+ "EPHEMERAL_KEY_ENCRYPTION",
+ "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED",
+ "STANDARD_ENCRYPTION"
+ ],
+ "enumDescriptions": [
+ "The given VM will opt-in for using ephemeral key for\nencryption of Local SSDs.\nThe Local SSDs will not be able to recover data in case of VM\ncrash.",
+ "The given VM will be encrypted using keys managed by the cloud\ninfrastructure and the keys will be deleted when the VM is\ndeleted.",
+ "The given VM will be encrypted using keys managed by the cloud\ninfrastructure and the keys will be deleted when the VM is\ndeleted."
+ ],
+ "type": "string"
+ },
"machineType": {
- "description": "Full or partial URL of the machine type resource to use for this instance,\nin the format:zones/zone/machineTypes/machine-type. This is provided by the client\nwhen the instance is created. For example, the following is a valid partial\nurl to a predefined\nmachine type:\n\nzones/us-central1-f/machineTypes/n1-standard-1\n\n\nTo create acustom\nmachine type, provide a URL to a machine type in the following format,\nwhere CPUS is 1 or an even number up to 32 (2,\n4, 6, ... 24, etc), and MEMORY is the total\nmemory for this instance. Memory must be a multiple of 256 MB and must\nbe supplied in MB (e.g. 5 GB of memory is 5120 MB):\n\nzones/zone/machineTypes/custom-CPUS-MEMORY\n\n\nFor example: zones/us-central1-f/machineTypes/custom-4-5120\nFor a full list of restrictions, read theSpecifications\nfor custom machine types.",
+ "description": "Full or partial URL of the machine type resource to use for this instance,\nin the format:zones/zone/machineTypes/machine-type. This is provided by the client\nwhen the instance is created. For example, the following is a valid partial\nurl to a predefined\nmachine type:\n\nzones/us-central1-f/machineTypes/n1-standard-1\n\n\nTo create acustom\nmachine type, provide a URL to a machine type in the following format,\nwhere CPUS is 1 or an even number up to 32 (2,\n4, 6, ... 24, etc), and MEMORY is the total\nmemory for this instance. Memory must be a multiple of 256 MB and must\nbe supplied in MB (e.g. 5 GB of memory is 5120 MB):\n\nzones/zone/machineTypes/custom-CPUS-MEMORY\n\n\nFor example: zones/us-central1-f/machineTypes/custom-4-5120\n\nFor a full list of restrictions, read theSpecifications\nfor custom machine types.",
"type": "string"
},
"metadata": {
@@ -64421,6 +68553,7 @@
"enum": [
"DEPROVISIONING",
"PENDING",
+ "PENDING_STOP",
"PROVISIONING",
"REPAIRING",
"RUNNING",
@@ -64434,6 +68567,7 @@
"enumDescriptions": [
"The instance is halted and we are performing tear down tasks like network\ndeprogramming, releasing quota, IP, tearing down disks etc.",
"For Flex Start provisioning instance is waiting for available capacity\nfrom Dynamic Workload Scheduler (DWS).",
+ "The instance is gracefully shutting down.",
"Resources are being allocated for the instance.",
"The instance is in repair.",
"The instance is running.",
@@ -64606,7 +68740,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -64710,6 +68844,10 @@
},
"type": "array"
},
+ "minCpuPlatform": {
+ "description": "Name of the minimum CPU platform to be used by this instance selection.\ne.g. 'Intel Ice Lake'.",
+ "type": "string"
+ },
"rank": {
"description": "Rank when prioritizing the shape flexibilities.\nThe instance selections with rank are considered\nfirst, in the ascending order of the rank.\nIf not set, defaults to 0.",
"format": "int64",
@@ -64940,7 +69078,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -65100,7 +69238,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -65404,36 +69542,36 @@
"id": "InstanceGroupManagerAggregatedList",
"properties": {
"id": {
- "description": "Output only. [Output Only] Unique identifier for the resource; defined by the server.",
+ "description": "Output only. Unique identifier for the resource; defined by the server.",
"readOnly": true,
"type": "string"
},
"items": {
"additionalProperties": {
"$ref": "InstanceGroupManagersScopedList",
- "description": "Output only. [Output Only] The name of the scope that contains this set of managed\ninstance groups."
+ "description": "Output only. The name of the scope that contains this set of managed instance groups."
},
"description": "A list of InstanceGroupManagersScopedList resources.",
"type": "object"
},
"kind": {
"default": "compute#instanceGroupManagerAggregatedList",
- "description": "Output only. [Output Only] The resource type, which is alwayscompute#instanceGroupManagerAggregatedList for an aggregated\nlist of managed instance groups.",
+ "description": "Output only. The resource type, which is alwayscompute#instanceGroupManagerAggregatedList for an aggregated\nlist of managed instance groups.",
"readOnly": true,
"type": "string"
},
"nextPageToken": {
- "description": "Output only. [Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "description": "Output only. This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
"readOnly": true,
"type": "string"
},
"selfLink": {
- "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "description": "Output only. Server-defined URL for this resource.",
"readOnly": true,
"type": "string"
},
"unreachables": {
- "description": "Output only. [Output Only] Unreachable resources.",
+ "description": "Output only. Unreachable resources.",
"items": {
"type": "string"
},
@@ -65441,7 +69579,7 @@
"type": "array"
},
"warning": {
- "description": "Output only. [Output Only] Informational warning message.",
+ "description": "Output only. Informational warning message.",
"properties": {
"code": {
"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
@@ -65541,7 +69679,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -65609,6 +69747,13 @@
"InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": {
"id": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection",
"properties": {
+ "disks": {
+ "description": "List of disks to be attached to the instances created from this\nselection.",
+ "items": {
+ "$ref": "AttachedDisk"
+ },
+ "type": "array"
+ },
"machineTypes": {
"description": "Full machine-type names, e.g. \"n1-standard-16\".",
"items": {
@@ -65616,6 +69761,10 @@
},
"type": "array"
},
+ "minCpuPlatform": {
+ "description": "Name of the minimum CPU platform to be used by this instance selection.\ne.g. 'Intel Ice Lake'.",
+ "type": "string"
+ },
"rank": {
"description": "Preference of this instance selection. Lower number means higher\npreference. MIG will first try to create a VM based on the machine-type\nwith lowest rank and fallback to next rank based on availability.\nMachine types and instance selections with the same rank have the same\npreference.",
"format": "int32",
@@ -65628,14 +69777,14 @@
"id": "InstanceGroupManagerInstanceLifecyclePolicy",
"properties": {
"defaultActionOnFailure": {
- "description": "The action that a MIG performs on a failed or an unhealthy VM.\nA VM is marked as unhealthy when the application running on that\nVM fails a health check.\nValid values are \n \n - REPAIR (default): MIG automatically repairs a failed or\n an unhealthy VM by recreating it. For more information, see About\n repairing VMs in a MIG.\n - DO_NOTHING: MIG does not repair a failed or an unhealthy\n VM.",
+ "description": "The action that a MIG performs on a failed VM. If the value of the\nonFailedHealthCheck field is `DEFAULT_ACTION`, then the same action also\napplies to the VMs on which your application fails a health check.\nValid values are \n \n - REPAIR (default): MIG automatically repairs a failed VM\n by recreating it. For more information, see About\n repairing VMs in a MIG.\n - DO_NOTHING: MIG does not repair a failed VM.",
"enum": [
"DO_NOTHING",
"REPAIR"
],
"enumDescriptions": [
- "MIG does not repair a failed or an unhealthy VM.",
- "(Default) MIG automatically repairs a failed or an unhealthy\nVM by recreating it. For more information, see About\nrepairing VMs in a MIG."
+ "MIG does not repair a failed VM.",
+ "(default): MIG automatically repairs a failed VM by recreating it.\nFor more information, see About\nrepairing VMs in a MIG."
],
"type": "string"
},
@@ -65664,6 +69813,29 @@
"MIG automatically repairs an unhealthy VM by recreating it."
],
"type": "string"
+ },
+ "onRepair": {
+ "$ref": "InstanceGroupManagerInstanceLifecyclePolicyOnRepair",
+ "description": "Configuration for VM repairs in the MIG."
+ }
+ },
+ "type": "object"
+ },
+ "InstanceGroupManagerInstanceLifecyclePolicyOnRepair": {
+ "description": "Configuration for VM repairs in the MIG.",
+ "id": "InstanceGroupManagerInstanceLifecyclePolicyOnRepair",
+ "properties": {
+ "allowChangingZone": {
+ "description": "Specifies whether the MIG can change a VM's zone during a repair.\nValid values are:\n \n - NO (default): MIG cannot change a VM's zone during a\n repair.\n - YES: MIG can select a different zone for the VM during\n a repair.",
+ "enum": [
+ "NO",
+ "YES"
+ ],
+ "enumDescriptions": [
+ "[Default] MIG cannot change a VM's zone during a repair.",
+ "MIG can select a different zone for the VM during a repair."
+ ],
+ "type": "string"
}
},
"type": "object"
@@ -65673,7 +69845,7 @@
"id": "InstanceGroupManagerList",
"properties": {
"id": {
- "description": "Output only. [Output Only] Unique identifier for the resource; defined by the server.",
+ "description": "Output only. Unique identifier for the resource; defined by the server.",
"readOnly": true,
"type": "string"
},
@@ -65686,22 +69858,22 @@
},
"kind": {
"default": "compute#instanceGroupManagerList",
- "description": "Output only. [Output Only] The resource type, which is always\ncompute#instanceGroupManagerList for a list of managed instance groups.",
+ "description": "Output only. The resource type, which is always compute#instanceGroupManagerList for a\nlist of managed instance groups.",
"readOnly": true,
"type": "string"
},
"nextPageToken": {
- "description": "Output only. [Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "description": "Output only. This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
"readOnly": true,
"type": "string"
},
"selfLink": {
- "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "description": "Output only. Server-defined URL for this resource.",
"readOnly": true,
"type": "string"
},
"warning": {
- "description": "Output only. [Output Only] Informational warning message.",
+ "description": "Output only. Informational warning message.",
"properties": {
"code": {
"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
@@ -65801,7 +69973,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -65847,6 +70019,13 @@
"readOnly": true,
"type": "string"
},
+ "instances": {
+ "description": "The names of instances to be created by this resize request. The number of\nnames specified determines the number of instances to create. The group's\ntarget size will be increased by this number. This field cannot be used\ntogether with 'resize_by'.",
+ "items": {
+ "$ref": "PerInstanceConfig"
+ },
+ "type": "array"
+ },
"kind": {
"default": "compute#instanceGroupManagerResizeRequest",
"description": "Output only. The resource type, which is alwayscompute#instanceGroupManagerResizeRequest for resize requests.",
@@ -65930,6 +70109,7 @@
"errors": {
"description": "[Output Only] The array of errors encountered while processing this\noperation.",
"items": {
+ "description": "Represents a single error encountered during the processing of an\noperation.",
"properties": {
"code": {
"description": "[Output Only] The error type identifier for this error.",
@@ -65938,18 +70118,23 @@
"errorDetails": {
"description": "[Output Only] An optional list of messages that contain the error\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_EXCEEDED.",
"items": {
+ "description": "Container for structured error details providing additional context\nspecific to the encountered error code.",
"properties": {
"errorInfo": {
- "$ref": "ErrorInfo"
+ "$ref": "ErrorInfo",
+ "description": "Error information containing structured domain, reason, and metadata."
},
"help": {
- "$ref": "Help"
+ "$ref": "Help",
+ "description": "Links and information to help the user resolve the error."
},
"localizedMessage": {
- "$ref": "LocalizedMessage"
+ "$ref": "LocalizedMessage",
+ "description": "A localized human-readable error message intended for end users."
},
"quotaInfo": {
- "$ref": "QuotaExceededInfo"
+ "$ref": "QuotaExceededInfo",
+ "description": "Details about quota limits and metrics when a quota is exceeded."
}
},
"type": "object"
@@ -65990,6 +70175,7 @@
"errors": {
"description": "[Output Only] The array of errors encountered while processing this\noperation.",
"items": {
+ "description": "Represents a single error encountered during the processing of an\noperation.",
"properties": {
"code": {
"description": "[Output Only] The error type identifier for this error.",
@@ -65998,18 +70184,23 @@
"errorDetails": {
"description": "[Output Only] An optional list of messages that contain the error\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_EXCEEDED.",
"items": {
+ "description": "Container for structured error details providing additional context\nspecific to the encountered error code.",
"properties": {
"errorInfo": {
- "$ref": "ErrorInfo"
+ "$ref": "ErrorInfo",
+ "description": "Error information containing structured domain, reason, and metadata."
},
"help": {
- "$ref": "Help"
+ "$ref": "Help",
+ "description": "Links and information to help the user resolve the error."
},
"localizedMessage": {
- "$ref": "LocalizedMessage"
+ "$ref": "LocalizedMessage",
+ "description": "A localized human-readable error message intended for end users."
},
"quotaInfo": {
- "$ref": "QuotaExceededInfo"
+ "$ref": "QuotaExceededInfo",
+ "description": "Details about quota limits and metrics when a quota is exceeded."
}
},
"type": "object"
@@ -66041,7 +70232,7 @@
"id": "InstanceGroupManagerResizeRequestsListResponse",
"properties": {
"id": {
- "description": "Output only. [Output Only] Unique identifier for the resource; defined by the server.",
+ "description": "Output only. Unique identifier for the resource; defined by the server.",
"readOnly": true,
"type": "string"
},
@@ -66054,22 +70245,22 @@
},
"kind": {
"default": "compute#instanceGroupManagerResizeRequestList",
- "description": "Output only. [Output Only] Type of the resource. Alwayscompute#instanceGroupManagerResizeRequestList for\na list of resize requests.",
+ "description": "Output only. Type of the resource. Alwayscompute#instanceGroupManagerResizeRequestList for\na list of resize requests.",
"readOnly": true,
"type": "string"
},
"nextPageToken": {
- "description": "Output only. [Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "description": "Output only. This token allows you to get the next page of results for list requests.\nIf the number of results is larger than maxResults, use thenextPageToken as a value for the query parameterpageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
"readOnly": true,
"type": "string"
},
"selfLink": {
- "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "description": "Output only. Server-defined URL for this resource.",
"readOnly": true,
"type": "string"
},
"warning": {
- "description": "Output only. [Output Only] Informational warning message.",
+ "description": "Output only. Informational warning message.",
"properties": {
"code": {
"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
@@ -66169,7 +70360,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -66324,6 +70515,7 @@
"errors": {
"description": "[Output Only] The array of errors encountered while processing this\noperation.",
"items": {
+ "description": "Represents a single error encountered during the processing of an\noperation.",
"properties": {
"code": {
"description": "[Output Only] The error type identifier for this error.",
@@ -66332,18 +70524,23 @@
"errorDetails": {
"description": "[Output Only] An optional list of messages that contain the error\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_EXCEEDED.",
"items": {
+ "description": "Container for structured error details providing additional context\nspecific to the encountered error code.",
"properties": {
"errorInfo": {
- "$ref": "ErrorInfo"
+ "$ref": "ErrorInfo",
+ "description": "Error information containing structured domain, reason, and metadata."
},
"help": {
- "$ref": "Help"
+ "$ref": "Help",
+ "description": "Links and information to help the user resolve the error."
},
"localizedMessage": {
- "$ref": "LocalizedMessage"
+ "$ref": "LocalizedMessage",
+ "description": "A localized human-readable error message intended for end users."
},
"quotaInfo": {
- "$ref": "QuotaExceededInfo"
+ "$ref": "QuotaExceededInfo",
+ "description": "Details about quota limits and metrics when a quota is exceeded."
}
},
"type": "object"
@@ -66418,6 +70615,7 @@
"errors": {
"description": "[Output Only] The array of errors encountered while processing this\noperation.",
"items": {
+ "description": "Represents a single error encountered during the processing of an\noperation.",
"properties": {
"code": {
"description": "[Output Only] The error type identifier for this error.",
@@ -66426,18 +70624,23 @@
"errorDetails": {
"description": "[Output Only] An optional list of messages that contain the error\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_EXCEEDED.",
"items": {
+ "description": "Container for structured error details providing additional context\nspecific to the encountered error code.",
"properties": {
"errorInfo": {
- "$ref": "ErrorInfo"
+ "$ref": "ErrorInfo",
+ "description": "Error information containing structured domain, reason, and metadata."
},
"help": {
- "$ref": "Help"
+ "$ref": "Help",
+ "description": "Links and information to help the user resolve the error."
},
"localizedMessage": {
- "$ref": "LocalizedMessage"
+ "$ref": "LocalizedMessage",
+ "description": "A localized human-readable error message intended for end users."
},
"quotaInfo": {
- "$ref": "QuotaExceededInfo"
+ "$ref": "QuotaExceededInfo",
+ "description": "Details about quota limits and metrics when a quota is exceeded."
}
},
"type": "object"
@@ -66731,7 +70934,7 @@
"id": "InstanceGroupManagersApplyUpdatesRequest",
"properties": {
"allInstances": {
- "description": "Flag to update all instances instead of specified list of “instances”.\nIf the flag is set to true then the instances may not be specified\nin the request.",
+ "description": "Flag to update all instances instead of specified list of \"instances\".\nIf the flag is set to true then the instances may not be specified\nin the request.",
"type": "boolean"
},
"instances": {
@@ -66825,7 +71028,7 @@
"id": "InstanceGroupManagersListErrorsResponse",
"properties": {
"items": {
- "description": "Output only. [Output Only] The list of errors of the managed instance group.",
+ "description": "Output only. The list of errors of the managed instance group.",
"items": {
"$ref": "InstanceManagedByIgmError"
},
@@ -66833,7 +71036,7 @@
"type": "array"
},
"nextPageToken": {
- "description": "Output only. [Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "description": "Output only. This token allows you to get the next page of results for list requests.\nIf the number of results is larger than maxResults\n, then use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
"readOnly": true,
"type": "string"
}
@@ -66976,7 +71179,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -67047,7 +71250,7 @@
"id": "InstanceGroupManagersScopedList",
"properties": {
"instanceGroupManagers": {
- "description": "Output only. [Output Only] The list of managed instance groups that are contained in\nthe specified project and zone.",
+ "description": "Output only. The list of managed instance groups that are contained in the specified\nproject and zone.",
"items": {
"$ref": "InstanceGroupManager"
},
@@ -67055,7 +71258,7 @@
"type": "array"
},
"warning": {
- "description": "Output only. [Output Only] The warning that replaces the list of managed instance\ngroups when the list is empty.",
+ "description": "Output only. The warning that replaces the list of managed instance groups when the list\nis empty.",
"properties": {
"code": {
"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
@@ -67155,7 +71358,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -67416,7 +71619,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -67586,7 +71789,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -67762,7 +71965,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -67919,7 +72122,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -67950,16 +72153,16 @@
"properties": {
"error": {
"$ref": "InstanceManagedByIgmErrorManagedInstanceError",
- "description": "Output only. [Output Only] Contents of the error.",
+ "description": "Output only. Contents of the error.",
"readOnly": true
},
"instanceActionDetails": {
"$ref": "InstanceManagedByIgmErrorInstanceActionDetails",
- "description": "Output only. [Output Only] Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.",
+ "description": "Output only. Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.",
"readOnly": true
},
"timestamp": {
- "description": "Output only. [Output Only] The time that this error occurred.\nThis value is in RFC3339 text format.",
+ "description": "Output only. The time that this error occurred. This value is in RFC3339 text format.",
"readOnly": true,
"type": "string"
}
@@ -67970,7 +72173,7 @@
"id": "InstanceManagedByIgmErrorInstanceActionDetails",
"properties": {
"action": {
- "description": "Output only. [Output Only] Action that managed instance group was executing on\nthe instance when the error occurred. Possible values:",
+ "description": "Output only. Action that managed instance group was executing on the instance when the\nerror occurred. Possible values:",
"enum": [
"ABANDONING",
"CREATING",
@@ -68005,13 +72208,13 @@
"type": "string"
},
"instance": {
- "description": "Output only. [Output Only] The URL of the instance.\nThe URL can be set even if the instance has not yet been created.",
+ "description": "Output only. The URL of the instance. The URL can be set even if the instance has not\nyet been created.",
"readOnly": true,
"type": "string"
},
"version": {
"$ref": "ManagedInstanceVersion",
- "description": "Output only. [Output Only] Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.",
+ "description": "Output only. Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.",
"readOnly": true
}
},
@@ -68021,12 +72224,12 @@
"id": "InstanceManagedByIgmErrorManagedInstanceError",
"properties": {
"code": {
- "description": "Output only. [Output Only] Error code.",
+ "description": "Output only. Error code.",
"readOnly": true,
"type": "string"
},
"message": {
- "description": "Output only. [Output Only] Error message.",
+ "description": "Output only. Error message.",
"readOnly": true,
"type": "string"
}
@@ -68059,7 +72262,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Input only. Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
+ "description": "Input only. Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
"type": "object"
}
},
@@ -68119,6 +72322,20 @@
"description": "Labels to apply to instances that are created from these properties.",
"type": "object"
},
+ "localSsdEncryptionMode": {
+ "description": "Specifies which method should be used for encrypting the\nLocal SSDs attached to the VM.",
+ "enum": [
+ "EPHEMERAL_KEY_ENCRYPTION",
+ "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED",
+ "STANDARD_ENCRYPTION"
+ ],
+ "enumDescriptions": [
+ "The given VM will opt-in for using ephemeral key for\nencryption of Local SSDs.\nThe Local SSDs will not be able to recover data in case of VM\ncrash.",
+ "The given VM will be encrypted using keys managed by the cloud\ninfrastructure and the keys will be deleted when the VM is\ndeleted.",
+ "The given VM will be encrypted using keys managed by the cloud\ninfrastructure and the keys will be deleted when the VM is\ndeleted."
+ ],
+ "type": "string"
+ },
"machineType": {
"annotations": {
"required": [
@@ -68169,7 +72386,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Input only. Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and\nvalues are in the format `tagValues/456`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
+ "description": "Input only. Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
"type": "object"
},
"resourcePolicies": {
@@ -68208,6 +72425,10 @@
"description": "Represents the change that you want to make to the instance properties.",
"id": "InstancePropertiesPatch",
"properties": {
+ "exposeHostTopology": {
+ "description": "This optional flag exposes the hashed physical host ID.",
+ "type": "boolean"
+ },
"labels": {
"additionalProperties": {
"type": "string"
@@ -68473,7 +72694,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -68630,7 +72851,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -68767,7 +72988,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -68814,6 +73035,7 @@
"enum": [
"DEPROVISIONING",
"PENDING",
+ "PENDING_STOP",
"PROVISIONING",
"REPAIRING",
"RUNNING",
@@ -68827,6 +73049,7 @@
"enumDescriptions": [
"The instance is halted and we are performing tear down tasks like network\ndeprogramming, releasing quota, IP, tearing down disks etc.",
"For Flex Start provisioning instance is waiting for available capacity\nfrom Dynamic Workload Scheduler (DWS).",
+ "The instance is gracefully shutting down.",
"Resources are being allocated for the instance.",
"The instance is in repair.",
"The instance is running.",
@@ -69129,7 +73352,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -69548,7 +73771,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -69827,7 +74050,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -69989,7 +74212,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -70086,6 +74309,11 @@
"description": "An optional description of this resource. Provide this property when you\ncreate the resource.",
"type": "string"
},
+ "effectiveLocation": {
+ "description": "Output only. URL of the InterconnectLocation object that represents where\nthis connection is to be provisioned. By default it will be the same as the\nlocation field.",
+ "readOnly": true,
+ "type": "string"
+ },
"expectedOutages": {
"description": "Output only. [Output Only] A list of outages expected for this Interconnect.",
"items": {
@@ -70262,6 +74490,11 @@
"readOnly": true,
"type": "string"
},
+ "selfLinkWithId": {
+ "description": "Output only. Server-defined URL for this resource with the resource id.",
+ "readOnly": true,
+ "type": "string"
+ },
"state": {
"description": "Output only. [Output Only] The current state of Interconnect functionality, which can\ntake one of the following values:\n \n - ACTIVE: The Interconnect is valid, turned up and ready to use.\n Attachments may be provisioned on this Interconnect.\n - UNPROVISIONED: The Interconnect has not completed turnup. No\n attachments may be provisioned on this Interconnect.\n - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance.\n No attachments may be provisioned or updated on this\n Interconnect.",
"enum": [
@@ -70843,7 +75076,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -71363,7 +75596,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -71716,7 +75949,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -71898,7 +76131,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -72436,7 +76669,6 @@
"type": "object"
},
"InterconnectGroupsCreateMembersInterconnectInput": {
- "description": "LINT.IfChange",
"id": "InterconnectGroupsCreateMembersInterconnectInput",
"properties": {
"adminEnabled": {
@@ -72681,7 +76913,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -72921,7 +77153,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -73124,6 +77356,18 @@
"description": "Output only. The remote location for Cross-Site Interconnect wires. This specifies an\nInterconnectLocation city (metropolitan area designator), which itself\nmay match multiple InterconnectLocations.",
"readOnly": true,
"type": "string"
+ },
+ "maxDynamicPathBandwidthGbps": {
+ "description": "Output only. The maximum unmetered bandwidth for dynamic paths allowable per\nWireGroup for this metro.",
+ "format": "int64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "maxFixedPathBandwidthGbps": {
+ "description": "Output only. The maximum unmetered bandwidth for fixed paths allowable per WireGroup\nfor this metro.",
+ "format": "int64",
+ "readOnly": true,
+ "type": "string"
}
},
"type": "object"
@@ -73259,7 +77503,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -73819,7 +78063,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -73880,6 +78124,38 @@
},
"type": "object"
},
+ "InterconnectsSetNameRequest": {
+ "description": "Request to rename an interconnect.",
+ "id": "InterconnectsSetNameRequest",
+ "properties": {
+ "currentName": {
+ "description": "The current name of the interconnect.\nThe name must be 1-63 characters long, and comply with RFC1035.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The new name of the interconnect.\nThe name must be 1-63 characters long, and comply with RFC1035.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Interval": {
+ "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a\nTimestamp end (exclusive).\n\nThe start must be less than or equal to the end.\nWhen the start equals the end, the interval is empty (matches no time).\nWhen both start and end are unspecified, the interval matches any time.",
+ "id": "Interval",
+ "properties": {
+ "endTime": {
+ "description": "Optional. Exclusive end of the interval.\n\nIf specified, a Timestamp matching this interval will have to be before the\nend.",
+ "format": "google-datetime",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "Optional. Inclusive start of the interval.\n\nIf specified, a Timestamp matching this interval will have to be the same\nor after the start.",
+ "format": "google-datetime",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"License": {
"description": "Represents a License resource.\n\nA License represents billing and aggregate usage data forpublic andmarketplace images.\n *Caution* This resource is intended for\nuse only by third-party partners who are creatingCloud Marketplace\nimages.",
"id": "License",
@@ -74002,6 +78278,17 @@
"description": "Represents a License Code resource.\n\nA License Code is a unique identifier used to represent alicense\nresource.\n *Caution* This resource is intended for\nuse only by third-party partners who are creatingCloud Marketplace\nimages.",
"id": "LicenseCode",
"properties": {
+ "allowedReplacementLicenses": {
+ "description": "Specifies licenseCodes of licenses that can replace this license. Note:\nsuch replacements are allowed even if removable_from_disk is false.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "appendableToDisk": {
+ "description": "If true, this license can be appended to an existing disk's set of\nlicenses.",
+ "type": "boolean"
+ },
"creationTimestamp": {
"description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.",
"readOnly": true,
@@ -74018,6 +78305,13 @@
"readOnly": true,
"type": "string"
},
+ "incompatibleLicenses": {
+ "description": "Specifies licenseCodes of licenses that are incompatible with this license.\nIf a license is incompatible with this license, it cannot be attached to\nthe same disk or image.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"kind": {
"default": "compute#licenseCode",
"description": "Output only. [Output Only] Type of resource. Always compute#licenseCode for\nlicenses.",
@@ -74031,6 +78325,14 @@
},
"type": "array"
},
+ "minimumRetention": {
+ "$ref": "Duration",
+ "description": "If set, this license will be unable to be removed or replaced once attached\nto a disk until the minimum_retention period has passed."
+ },
+ "multiTenantOnly": {
+ "description": "If true, this license can only be used on VMs on multi tenant nodes.",
+ "type": "boolean"
+ },
"name": {
"annotations": {
"required": [
@@ -74042,11 +78344,30 @@
"readOnly": true,
"type": "string"
},
+ "osLicense": {
+ "description": "If true, indicates this is an OS license. Only one OS license can be\nattached to a disk or image at a time.",
+ "type": "boolean"
+ },
+ "removableFromDisk": {
+ "description": "If true, this license can be removed from a disk's set of licenses, with no\nreplacement license needed.",
+ "type": "boolean"
+ },
+ "requiredCoattachedLicenses": {
+ "description": "Specifies the set of permissible coattached licenseCodes of licenses that\nsatisfy the coattachment requirement of this license. At least one license\nfrom the set must be attached to the same disk or image as this license.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"selfLink": {
"description": "Output only. [Output Only] Server-defined URL for the resource.",
"readOnly": true,
"type": "string"
},
+ "soleTenantOnly": {
+ "description": "If true, this license can only be used on VMs on sole tenant nodes.",
+ "type": "boolean"
+ },
"state": {
"description": "Output only. [Output Only] Current state of this License Code.",
"enum": [
@@ -74070,6 +78391,11 @@
"description": "Output only. [Output Only] If true, the license will remain attached when creating\nimages or snapshots from disks. Otherwise, the license is not transferred.",
"readOnly": true,
"type": "boolean"
+ },
+ "updateTimestamp": {
+ "description": "Output only. [Output Only] Last update timestamp inRFC3339\ntext format.",
+ "readOnly": true,
+ "type": "string"
}
},
"type": "object"
@@ -74098,7 +78424,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Input only. Resource manager tags to be bound to the license. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
+ "description": "Input only. Resource manager tags to be bound to the license. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
"type": "object"
}
},
@@ -74264,7 +78590,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -74432,7 +78758,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -74842,7 +79168,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -75129,7 +79455,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -75286,7 +79612,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -75423,7 +79749,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -75512,6 +79838,7 @@
"enum": [
"DEPROVISIONING",
"PENDING",
+ "PENDING_STOP",
"PROVISIONING",
"REPAIRING",
"RUNNING",
@@ -75525,6 +79852,7 @@
"enumDescriptions": [
"The instance is halted and we are performing tear down tasks like network\ndeprogramming, releasing quota, IP, tearing down disks etc.",
"For Flex Start provisioning instance is waiting for available capacity\nfrom Dynamic Workload Scheduler (DWS).",
+ "The instance is gracefully shutting down.",
"Resources are being allocated for the instance.",
"The instance is in repair.",
"The instance is running.",
@@ -75563,6 +79891,37 @@
"description": "Output only. [Output Only] Instance properties selected for this instance resulting from\nInstanceFlexibilityPolicy.",
"readOnly": true
},
+ "scheduling": {
+ "$ref": "ManagedInstanceScheduling",
+ "description": "Output only. Information about the termination timestamp of the instance, if applicable.",
+ "readOnly": true
+ },
+ "shutdownDetails": {
+ "$ref": "ManagedInstanceShutdownDetails",
+ "description": "Output only. Specifies the graceful shutdown details if the instance is in\n`PENDING_STOP` state or there is a programmed stop scheduled.",
+ "readOnly": true
+ },
+ "targetStatus": {
+ "description": "Output only. The eventual status of the instance. The instance group\nmanager will not be identified as stable till each managed instance reaches\nits targetStatus.",
+ "enum": [
+ "ABANDONED",
+ "DELETED",
+ "INVALID",
+ "RUNNING",
+ "STOPPED",
+ "SUSPENDED"
+ ],
+ "enumDescriptions": [
+ "The managed instance will eventually be ABANDONED, i.e. dissociated\nfrom the managed instance group.",
+ "The managed instance will eventually be DELETED.",
+ "Only present to map the STATUS_INVALID value.",
+ "The managed instance will eventually reach status RUNNING.",
+ "The managed instance will eventually reach status TERMINATED.",
+ "The managed instance will eventually reach status SUSPENDED."
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
"version": {
"$ref": "ManagedInstanceVersion",
"description": "Output only. [Output Only] Intended version of this instance.",
@@ -75610,6 +79969,7 @@
"errors": {
"description": "[Output Only] The array of errors encountered while processing this\noperation.",
"items": {
+ "description": "Represents a single error encountered during the processing of an\noperation.",
"properties": {
"code": {
"description": "[Output Only] The error type identifier for this error.",
@@ -75618,18 +79978,23 @@
"errorDetails": {
"description": "[Output Only] An optional list of messages that contain the error\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_EXCEEDED.",
"items": {
+ "description": "Container for structured error details providing additional context\nspecific to the encountered error code.",
"properties": {
"errorInfo": {
- "$ref": "ErrorInfo"
+ "$ref": "ErrorInfo",
+ "description": "Error information containing structured domain, reason, and metadata."
},
"help": {
- "$ref": "Help"
+ "$ref": "Help",
+ "description": "Links and information to help the user resolve the error."
},
"localizedMessage": {
- "$ref": "LocalizedMessage"
+ "$ref": "LocalizedMessage",
+ "description": "A localized human-readable error message intended for end users."
},
"quotaInfo": {
- "$ref": "QuotaExceededInfo"
+ "$ref": "QuotaExceededInfo",
+ "description": "Details about quota limits and metrics when a quota is exceeded."
}
},
"type": "object"
@@ -75659,10 +80024,56 @@
"ManagedInstancePropertiesFromFlexibilityPolicy": {
"id": "ManagedInstancePropertiesFromFlexibilityPolicy",
"properties": {
+ "disks": {
+ "description": "List of disks to be attached to the instance.",
+ "items": {
+ "$ref": "AttachedDisk"
+ },
+ "type": "array"
+ },
"machineType": {
"description": "Output only. The machine type to be used for this instance.",
"readOnly": true,
"type": "string"
+ },
+ "minCpuPlatform": {
+ "description": "Name of the minimum CPU platform to be used by this instance.\ne.g. 'Intel Ice Lake'.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedInstanceScheduling": {
+ "id": "ManagedInstanceScheduling",
+ "properties": {
+ "gracefulShutdownTimestamp": {
+ "description": "Output only. The timestamp at which the underlying instance will be\ntriggered for graceful shutdown if it is configured. This is in RFC3339 text format.",
+ "format": "google-datetime",
+ "readOnly": true,
+ "type": "string"
+ },
+ "terminationTimestamp": {
+ "description": "Output only. The timestamp at which the managed instance will be terminated. This is\nin RFC3339 text\nformat.",
+ "format": "google-datetime",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedInstanceShutdownDetails": {
+ "id": "ManagedInstanceShutdownDetails",
+ "properties": {
+ "maxDuration": {
+ "$ref": "Duration",
+ "description": "Output only. The duration for graceful shutdown. Only applicable when the instance is\nin `PENDING_STOP` state.",
+ "readOnly": true
+ },
+ "requestTimestamp": {
+ "description": "Output only. Past timestamp indicating the beginning of `PENDING_STOP` state of\ninstance in RFC3339\ntext format.",
+ "format": "google-datetime",
+ "readOnly": true,
+ "type": "string"
}
},
"type": "object"
@@ -75683,6 +80094,198 @@
},
"type": "object"
},
+ "ManagedRuleset": {
+ "description": "Represents a ManagedRuleset resource.\n\nManaged internally by Cloud Armor CLH for Managed Rules features.\nCustomers can only view these resources to modify their Security Policies.\nFor more information, see\nhttps://cloud.google.com/armor/docs/.",
+ "id": "ManagedRuleset",
+ "properties": {
+ "changeLog": {
+ "description": "Output only. [Output Only] The change log for this managed ruleset.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "creationTimestamp": {
+ "description": "Output only. [Output Only] Creation timestamp in RFC3339 text format.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "[Output Only] An optional description of this resource.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the resource. Generated internally when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "type": "string"
+ },
+ "ruleIds": {
+ "description": "Output only. [Output Only] The list of managed rule IDs that are included in\nthis managed ruleset.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "rulesetId": {
+ "description": "Output only. [Output Only] The managed ruleset identifier that can be configured in\nSecurity Policy rules.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for the resource.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedRulesetList": {
+ "id": "ManagedRulesetList",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "items": {
+ "description": "The list of managed rulesets.",
+ "items": {
+ "$ref": "ManagedRuleset"
+ },
+ "type": "array"
+ },
+ "nextPageToken": {
+ "type": "string"
+ },
+ "warning": {
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
"Metadata": {
"description": "A metadata key/value entry.",
"id": "Metadata",
@@ -75775,6 +80378,27 @@
},
"type": "object"
},
+ "Money": {
+ "description": "Represents an amount of money with its currency type.",
+ "id": "Money",
+ "properties": {
+ "currencyCode": {
+ "description": "The three-letter currency code defined in ISO 4217.",
+ "type": "string"
+ },
+ "nanos": {
+ "description": "Number of nano (10^-9) units of the amount.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "units": {
+ "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.",
+ "format": "int64",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"NamedPort": {
"description": "The named port. For example: \u003c\"http\", 80\u003e.",
"id": "NamedPort",
@@ -75791,6 +80415,44 @@
},
"type": "object"
},
+ "NamedSet": {
+ "id": "NamedSet",
+ "properties": {
+ "description": {
+ "description": "An optional description of named set.",
+ "type": "string"
+ },
+ "elements": {
+ "description": "CEL expressions that are comparable to constructs of this set's type\n(see Policy Language).",
+ "items": {
+ "$ref": "Expr"
+ },
+ "type": "array"
+ },
+ "fingerprint": {
+ "description": "A fingerprint for the Named Set being applied to this Router, which is\nessentially a hash of the Named Set used for optimistic locking.\nThe fingerprint is initially generated by Compute Engine and changes\nafter every request to modify or update the Named Set. You must always\nprovide an up-to-date fingerprint hash in order to update or change\nlabels.\n\nTo see the latest fingerprint, make a getNamedSet() request\nto retrieve a Named Set.",
+ "format": "byte",
+ "type": "string"
+ },
+ "name": {
+ "description": "This set's name, which must be a resource ID segment and unique within all\nnamed sets owned by the Router. Name should conform to RFC1035.",
+ "type": "string"
+ },
+ "type": {
+ "description": "This named set's type",
+ "enum": [
+ "NAMED_SET_TYPE_COMMUNITY",
+ "NAMED_SET_TYPE_PREFIX"
+ ],
+ "enumDescriptions": [
+ "The Named Set is a Community Named Set.",
+ "The Named Set is a Prefix Named Set."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"NatIpInfo": {
"description": "Contains NAT IP information of a NAT config (i.e. usage status, mode).",
"id": "NatIpInfo",
@@ -76048,14 +80710,14 @@
"type": "string"
},
"producerAcceptLists": {
- "description": "Projects that are allowed to connect to this network attachment.\nThe project can be specified using its id or number.",
+ "description": "Projects or service class ids that are allowed to connect to this network\nattachment. The project can be specified using its id or number. Service\nclass id can be specified as \"serviceclasses/{service_class_id}\".",
"items": {
"type": "string"
},
"type": "array"
},
"producerRejectLists": {
- "description": "Projects that are not allowed to connect to this network attachment.\nThe project can be specified using its id or number.",
+ "description": "Projects or service class ids that are not allowed to connect to this\nnetwork attachment. The project can be specified using its id or number.\nService class id can be specified as \"serviceclasses/{service_class_id}\".",
"items": {
"type": "string"
},
@@ -76216,7 +80878,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -76429,7 +81091,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -76566,7 +81228,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -76791,7 +81453,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -76928,7 +81590,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -77048,13 +81710,14 @@
"type": "string"
},
"network": {
- "description": "The URL of the network to which all network endpoints in the NEG belong.\nUses default project network if unspecified.",
+ "description": "The URL of the network to which all network endpoints in the NEG belong.\nFor networkEndpointType GCE_VM_IP_PORT,GCE_VM_IP_PORTMAP or NON_GCP_PRIVATE_IP_PORT,\nif this field is not specified, a default network will be used.\nThis field cannot be set for NEGs with networkEndpointType set toSERVERLESS or PRIVATE_SERVICE_CONNECT and for\nglobal NEGs.\nFor all other network endpoint types, this field is required.",
"type": "string"
},
"networkEndpointType": {
"description": "Type of network endpoints in this network endpoint group. Can be one ofGCE_VM_IP, GCE_VM_IP_PORT,NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,INTERNET_IP_PORT, SERVERLESS,PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.",
"enum": [
"GCE_VM_IP",
+ "GCE_VM_IP_DEDICATED_BACKEND",
"GCE_VM_IP_PORT",
"GCE_VM_IP_PORTMAP",
"INTERNET_FQDN_PORT",
@@ -77065,6 +81728,7 @@
],
"enumDescriptions": [
"The network endpoint is represented by an IP address.",
+ "The network endpoint for targeting a specific network interface of a\nVM instance in configurations with multiple network interfaces on the\nsame network.",
"The network endpoint is represented by IP address and port pair.",
"The network endpoint is represented by an IP, Port and Client Destination\nPort.",
"The network endpoint is represented by fully qualified domain name and\nport.",
@@ -77250,7 +81914,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -77459,7 +82123,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -77698,7 +82362,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -77836,7 +82500,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -78021,7 +82685,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -78065,6 +82729,13 @@
},
"type": "array"
},
+ "aliasIpv6Ranges": {
+ "description": "An array of alias IPv6 ranges for this network interface.\nYou can only specify this field for network interfaces in VPC networks.",
+ "items": {
+ "$ref": "AliasIpRange"
+ },
+ "type": "array"
+ },
"enableVpcScopedDns": {
"description": "Optional. If true, DNS resolution will be enabled over this interface. Only valid\nwith network_attachment.",
"type": "boolean"
@@ -78327,7 +82998,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -78499,13 +83170,17 @@
"enum": [
"DELETE_ACKNOWLEDGED",
"DELETE_STATUS_UNSPECIFIED",
+ "LOCAL_CANCEL_REQUESTED",
"LOCAL_DELETE_REQUESTED",
+ "PEER_CANCEL_REQUESTED",
"PEER_DELETE_REQUESTED"
],
"enumDescriptions": [
"Both network admins have agreed this consensus peering connection can\nbe deleted.",
"",
+ "The local network admin requested to cancel their delete request\nafter DELETE_ACKNOWLEDGED.",
"Network admin has requested deletion of this peering connection.",
+ "The peer network admin requested to cancel their delete request after\nDELETE_ACKNOWLEDGED.",
"The peer network admin has requested deletion of this peering\nconnection."
],
"type": "string"
@@ -78679,7 +83354,7 @@
"enumDescriptions": [
"DNS resolver address in the subnetwork.",
"VM internal/alias IP, Internal LB service IP, etc.",
- "A regional internal IP address range reserved for the VLAN attachment\nthat is used in HA VPN over Cloud Interconnect. This regional\ninternal IP address range must not overlap with any IP address range\nof subnet/route in the VPC network and its peering networks. After the\nVLAN attachment is created with the reserved IP address range, when\ncreating a new VPN gateway, its interface IP address is allocated\nfrom the associated VLAN attachment’s IP address range.",
+ "A regional internal IP address range reserved for the VLAN attachment\nthat is used in HA VPN over Cloud Interconnect. This regional\ninternal IP address range must not overlap with any IP address range\nof subnet/route in the VPC network and its peering networks. After the\nVLAN attachment is created with the reserved IP address range, when\ncreating a new VPN gateway, its interface IP address is allocated\nfrom the associated VLAN attachment's IP address range.",
"External IP automatically reserved for Cloud NAT.",
"A private network IP address that can be used to configure Private\nService Connect. This purpose can be specified only forGLOBAL addresses of Type INTERNAL",
"A regional internal IP address range reserved for Serverless.",
@@ -79018,9 +83693,11 @@
"items": {
"enum": [
"RDMA_ROCE_POLICY",
+ "ULL_POLICY",
"VPC_POLICY"
],
"enumDescriptions": [
+ "",
"",
""
],
@@ -79375,7 +84052,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -79493,6 +84170,16 @@
},
"type": "object"
},
+ "NetworksCancelRequestRemovePeeringRequest": {
+ "id": "NetworksCancelRequestRemovePeeringRequest",
+ "properties": {
+ "name": {
+ "description": "Name of the peering, which should conform to RFC1035.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"NetworksGetEffectiveFirewallsResponse": {
"id": "NetworksGetEffectiveFirewallsResponse",
"properties": {
@@ -79856,7 +84543,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -80045,7 +84732,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -80345,7 +85032,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -80500,7 +85187,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -80797,7 +85484,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -80954,7 +85641,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -81106,7 +85793,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -81341,7 +86028,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -81498,7 +86185,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -81635,7 +86322,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -81848,7 +86535,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -82031,7 +86718,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -82168,7 +86855,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -82220,6 +86907,7 @@
"errors": {
"description": "[Output Only] The array of errors encountered while processing this\noperation.",
"items": {
+ "description": "Represents a single error encountered during the processing of an\noperation.",
"properties": {
"code": {
"description": "[Output Only] The error type identifier for this error.",
@@ -82228,18 +86916,23 @@
"errorDetails": {
"description": "[Output Only] An optional list of messages that contain the error\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_EXCEEDED.",
"items": {
+ "description": "Container for structured error details providing additional context\nspecific to the encountered error code.",
"properties": {
"errorInfo": {
- "$ref": "ErrorInfo"
+ "$ref": "ErrorInfo",
+ "description": "Error information containing structured domain, reason, and metadata."
},
"help": {
- "$ref": "Help"
+ "$ref": "Help",
+ "description": "Links and information to help the user resolve the error."
},
"localizedMessage": {
- "$ref": "LocalizedMessage"
+ "$ref": "LocalizedMessage",
+ "description": "A localized human-readable error message intended for end users."
},
"quotaInfo": {
- "$ref": "QuotaExceededInfo"
+ "$ref": "QuotaExceededInfo",
+ "description": "Details about quota limits and metrics when a quota is exceeded."
}
},
"type": "object"
@@ -82262,6 +86955,11 @@
},
"type": "object"
},
+ "getHealthOperationMetadata": {
+ "$ref": "GetHealthOperationMetadata",
+ "description": "Output only. Metadata for GetHealth operations.",
+ "readOnly": true
+ },
"getVersionOperationMetadata": {
"$ref": "GetVersionOperationMetadata"
},
@@ -82335,9 +87033,9 @@
"RUNNING"
],
"enumDescriptions": [
- "",
- "",
- ""
+ "The operation has completed processing successfully or with an error.",
+ "The operation is waiting to be processed.",
+ "The operation is actively being processed."
],
"type": "string"
},
@@ -82460,7 +87158,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -82630,7 +87328,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -82786,7 +87484,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -82923,7 +87621,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -83312,7 +88010,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -83518,7 +88216,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -83727,7 +88425,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -83871,6 +88569,54 @@
},
"type": "object"
},
+ "PeriodicPartialMaintenanceSchedule": {
+ "description": "The periodic partial maintenance schedule includes 52 weeks worth of\nmaintenance windows.\nLINT.IfChange(PeriodicPartialMaintenanceSchedule)",
+ "id": "PeriodicPartialMaintenanceSchedule",
+ "properties": {
+ "subType": {
+ "description": "The maintenance type in which the zone is during the given window.",
+ "enum": [
+ "MAINTENANCE_SUBTYPE_UNSPECIFIED",
+ "MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE",
+ "MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE",
+ "MAINTENANCE_TYPE_STABLE",
+ "MAINTENANCE_TYPE_TRANSITION"
+ ],
+ "enumDescriptions": [
+ "Default value.",
+ "A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE.",
+ "For disruptive updates, including host machine kernel or firmware\nupgrades.",
+ "A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations.",
+ "For preliminary, non-disruptive tasks such as key rotations."
+ ],
+ "type": "string"
+ },
+ "targetResource": {
+ "description": "The target resource that the maintenance window is for.\nFor example, \"projects/my-project/zones/us-central1-a\".",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "MAINTENANCE_TYPE_UNSPECIFIED",
+ "PRIVATE_ZONE_MAINTENANCE"
+ ],
+ "enumDescriptions": [
+ "Default value.",
+ "The zone is in a private maintenance window."
+ ],
+ "type": "string"
+ },
+ "windowEndTime": {
+ "$ref": "DateTime",
+ "description": "The end civil timestamp of the window (not inclusive).\nThis contains a time zone."
+ },
+ "windowStartTime": {
+ "$ref": "DateTime",
+ "description": "The start civil timestamp of the window.\nThis contains a time zone."
+ }
+ },
+ "type": "object"
+ },
"Policy": {
"description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members`, or principals, to a single `role`. Principals can be user\naccounts, service accounts, Google groups, and domains (such as G Suite). A\n`role` is a named list of permissions; each `role` can be an IAM predefined\nrole or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n```\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n```\n\n**YAML example:**\n\n```\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n etag: BwWWja0YfJA=\n version: 3\n```\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
"id": "Policy",
@@ -84216,7 +88962,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -84447,6 +89193,17 @@
},
"type": "object"
},
+ "ProjectView": {
+ "description": "Represents a ProjectView resource.\n\nA ProjectView resource contains read-only project data which is available\nglobally.",
+ "id": "ProjectView",
+ "properties": {
+ "project": {
+ "$ref": "Project",
+ "description": "The project data.\nThe returned Project data does not contain regional or zonal quota\nusage data. Global quota limits are present. For accurate, real-time quota\nusage numbers, query the global\n[projects.get](https://cloud.google.com/compute/docs/reference/rest/v1/projects/get)\nendpoint."
+ }
+ },
+ "type": "object"
+ },
"ProjectsDisableXpnResourceRequest": {
"id": "ProjectsDisableXpnResourceRequest",
"properties": {
@@ -84805,7 +89562,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -85142,7 +89899,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -85297,7 +90054,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -85518,7 +90275,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -85970,6 +90727,21 @@
},
"type": "object"
},
+ "RegexRewrite": {
+ "description": "The spec for modifying the path using a regular expression.",
+ "id": "RegexRewrite",
+ "properties": {
+ "pathPattern": {
+ "description": "Required. The regular expression used to match against the URL path.\nIt uses RE2 syntax with the following constraints:\n \n \n - Any single character operators\n - Groups are allowed to have only submatch operator inside\n - Groups are allowed only without any char repetition, e.g.\n .*\n - Any char repetition, e.g. .*, is\n only allowed to be used in a single regex together with:\n \n \n - Empty string operators\n - Other repetitions\n - Ranges\n - Repetitions of ranges\n \n \n - Ranges are only allowed to have:\n \n \n - Character range\n - Digits range\n - Symbols listed in characters allowed for ranges",
+ "type": "string"
+ },
+ "pathSubstitution": {
+ "description": "Required. Required when path pattern is specified. Used to rewrite matching parts of\nthe path.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"Region": {
"description": "Represents a Region resource.\n\nA region is a geographical area where a resource is located. For more\ninformation, readRegions\nand Zones.",
"id": "Region",
@@ -86102,7 +90874,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -86309,7 +91081,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -86465,7 +91237,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -86681,7 +91453,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -86727,7 +91499,7 @@
"id": "RegionInstanceGroupManagerList",
"properties": {
"id": {
- "description": "Output only. [Output Only] Unique identifier for the resource; defined by the server.",
+ "description": "Output only. Unique identifier for the resource; defined by the server.",
"readOnly": true,
"type": "string"
},
@@ -86740,22 +91512,22 @@
},
"kind": {
"default": "compute#regionInstanceGroupManagerList",
- "description": "Output only. [Output Only] The resource type, which is always\ncompute#instanceGroupManagerList for a list of managed instance groups that\nexist in th regional scope.",
+ "description": "Output only. The resource type, which is always compute#instanceGroupManagerList for a\nlist of managed instance groups that exist in th regional scope.",
"readOnly": true,
"type": "string"
},
"nextPageToken": {
- "description": "Output only. [Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "description": "Output only. This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
"readOnly": true,
"type": "string"
},
"selfLink": {
- "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "description": "Output only. Server-defined URL for this resource.",
"readOnly": true,
"type": "string"
},
"warning": {
- "description": "Output only. [Output Only] Informational warning message.",
+ "description": "Output only. Informational warning message.",
"properties": {
"code": {
"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
@@ -86855,7 +91627,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -86903,7 +91675,7 @@
"type": "string"
},
"id": {
- "description": "Output only. [Output Only] Unique identifier for the resource; defined by the server.",
+ "description": "Output only. Unique identifier for the resource; defined by the server.",
"readOnly": true,
"type": "string"
},
@@ -86916,22 +91688,22 @@
},
"kind": {
"default": "compute#regionInstanceGroupManagerResizeRequestList",
- "description": "Output only. [Output Only] Type of the resource. Alwayscompute#regionInstanceGroupManagerResizeRequestList for\na list of Resize Requests.",
+ "description": "Output only. Type of the resource. Alwayscompute#regionInstanceGroupManagerResizeRequestList for\na list of Resize Requests.",
"readOnly": true,
"type": "string"
},
"nextPageToken": {
- "description": "Output only. [Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "description": "Output only. This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
"readOnly": true,
"type": "string"
},
"selfLink": {
- "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "description": "Output only. Server-defined URL for this resource.",
"readOnly": true,
"type": "string"
},
"unreachables": {
- "description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder",
+ "description": "Output only. Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder",
"items": {
"type": "string"
},
@@ -86939,7 +91711,7 @@
"type": "array"
},
"warning": {
- "description": "Output only. [Output Only] Informational warning message.",
+ "description": "Output only. Informational warning message.",
"properties": {
"code": {
"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
@@ -87039,7 +91811,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -87098,7 +91870,7 @@
"id": "RegionInstanceGroupManagersApplyUpdatesRequest",
"properties": {
"allInstances": {
- "description": "Flag to update all instances instead of specified list of “instances”.\nIf the flag is set to true then the instances may not be specified\nin the request.",
+ "description": "Flag to update all instances instead of specified list of \"instances\".\nIf the flag is set to true then the instances may not be specified\nin the request.",
"type": "boolean"
},
"instances": {
@@ -87309,7 +92081,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -87587,7 +92359,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -87786,7 +92558,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -87991,6 +92763,219 @@
},
"type": "object"
},
+ "ReliabilityRisk": {
+ "description": "Represents a ReliabilityRisk resource.",
+ "id": "ReliabilityRisk",
+ "properties": {
+ "creationTimestamp": {
+ "description": "Output only. [Output Only] Creation timestamp in RFC3339\ntext format.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "An optional textual description of the resource; provided when the\nresource is created.",
+ "type": "string"
+ },
+ "details": {
+ "$ref": "RiskDetails",
+ "description": "[Output Only] Details of the reliability risk resource"
+ },
+ "id": {
+ "description": "[Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
+ "type": "string"
+ },
+ "kind": {
+ "default": "compute#reliabilityRisk",
+ "description": "Output only. [Output Only] Type of resource. Always compute#reliabilityRisk\nfor reliability risks.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the resource. The name must be 1-63 characters long and\ncomply with RFC1035.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "type": "string"
+ },
+ "recommendation": {
+ "$ref": "RiskRecommendation",
+ "description": "The recommendation to mitigate the risk."
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "selfLinkWithId": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource with the resource id.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ReliabilityRisksListResponse": {
+ "description": "Response message for the List method of ReliabilityRisksService.",
+ "id": "ReliabilityRisksListResponse",
+ "properties": {
+ "etag": {
+ "description": "[Output Only] An ETag of the resource.",
+ "type": "string"
+ },
+ "id": {
+ "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+ "type": "string"
+ },
+ "items": {
+ "description": "A list of ReliabilityRisk resources.",
+ "items": {
+ "$ref": "ReliabilityRisk"
+ },
+ "type": "array"
+ },
+ "nextPageToken": {
+ "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "unreachables": {
+ "description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "warning": {
+ "description": "[Output Only] Informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
"RequestMirrorPolicy": {
"description": "A policy that specifies how requests intended for the route's backends\nare shadowed to a separate mirrored backend service. The load balancer\ndoesn't wait for responses from the shadow service. Before sending traffic\nto the shadow service, the host or authority header is suffixed with-shadow.",
"id": "RequestMirrorPolicy",
@@ -88026,10 +93011,12 @@
},
"confidentialComputeType": {
"enum": [
+ "CONFIDENTIAL_COMPUTE_TYPE_BMSAI",
"CONFIDENTIAL_COMPUTE_TYPE_TDX",
"CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED"
],
"enumDescriptions": [
+ "Bare Metal Secure AI.",
"Intel Trust Domain Extensions.",
""
],
@@ -88134,6 +93121,11 @@
"$ref": "AllocationReservationSharingPolicy",
"description": "Specify the reservation sharing policy. If unspecified, the reservation\nwill not be shared with Google Cloud managed services."
},
+ "resourceMetadata": {
+ "$ref": "ResourceMetadata",
+ "description": "Output only. [Output Only] Contains standard resource metadata for an Allocation\nresource. It is populated for each instance of the Allocation\nresource, and includes the api_version the\ninstance was retrieved through, and its canonical\nresource_type name.",
+ "readOnly": true
+ },
"resourcePolicies": {
"additionalProperties": {
"type": "string"
@@ -88403,7 +93395,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -88763,7 +93755,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -88919,7 +93911,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -89247,7 +94239,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -89592,7 +94584,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -89666,6 +94658,9 @@
"enum": [
"FAULT_BEHAVIOR_UNSPECIFIED",
"GPU_ERROR",
+ "NVSWITCH_FAULT_CONTROLLER_ERROR",
+ "NVSWITCH_FAULT_DEGRADED_BANDWIDTH",
+ "NVSWITCH_FAULT_SWITCH_ERROR",
"PERFORMANCE",
"SILENT_DATA_CORRUPTION",
"SWITCH_FAILURE"
@@ -89673,6 +94668,9 @@
"enumDescriptions": [
"",
"The subBlock experienced a GPU error.",
+ "The subBlock experienced an NVSwitch controller error.",
+ "The subBlock experienced NVSwitch degraded bandwidth.",
+ "The subBlock experienced an NVSwitch switch error.",
"The subBlock experienced performance issues.",
"The subBlock experienced silent data corruption.",
"The subBlock experienced a switch failure."
@@ -89852,7 +94850,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -89922,277 +94920,33 @@
},
"type": "object"
},
- "ResourcePoliciesScopedList": {
- "id": "ResourcePoliciesScopedList",
- "properties": {
- "resourcePolicies": {
- "description": "A list of resourcePolicies contained in this scope.",
- "items": {
- "$ref": "ResourcePolicy"
- },
- "type": "array"
- },
- "warning": {
- "description": "Informational warning which replaces the list of resourcePolicies when\nthe list is empty.",
- "properties": {
- "code": {
- "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
- "enum": [
- "CLEANUP_FAILED",
- "DEPRECATED_RESOURCE_USED",
- "DEPRECATED_TYPE_USED",
- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
- "EXPERIMENTAL_TYPE_USED",
- "EXTERNAL_API_WARNING",
- "FIELD_VALUE_OVERRIDEN",
- "INJECTED_KERNELS_DEPRECATED",
- "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
- "LARGE_DEPLOYMENT_WARNING",
- "LIST_OVERHEAD_QUOTA_EXCEED",
- "MISSING_TYPE_DEPENDENCY",
- "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
- "NEXT_HOP_CANNOT_IP_FORWARD",
- "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
- "NEXT_HOP_INSTANCE_NOT_FOUND",
- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
- "NEXT_HOP_NOT_RUNNING",
- "NOT_CRITICAL_ERROR",
- "NO_RESULTS_ON_PAGE",
- "PARTIAL_SUCCESS",
- "QUOTA_INFO_UNAVAILABLE",
- "REQUIRED_TOS_AGREEMENT",
- "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
- "RESOURCE_NOT_DELETED",
- "SCHEMA_VALIDATION_IGNORED",
- "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
- "UNDECLARED_PROPERTIES",
- "UNREACHABLE"
- ],
- "enumDeprecated": [
- false,
- false,
- false,
- false,
- false,
- false,
- true,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false
- ],
- "enumDescriptions": [
- "Warning about failed cleanup of transient changes made by a failed\noperation.",
- "A link to a deprecated resource was created.",
- "When deploying and at least one of the resources has a type marked as\ndeprecated",
- "The user created a boot disk that is larger than image size.",
- "When deploying and at least one of the resources has a type marked as\nexperimental",
- "Warning that is present in an external api call",
- "Warning that value of a field has been overridden.\nDeprecated unused field.",
- "The operation involved use of an injected kernel, which is deprecated.",
- "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
- "When deploying a deployment with a exceedingly large number of resources",
- "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
- "A resource depends on a missing type",
- "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
- "The route's next hop instance cannot ip forward.",
- "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
- "The route's nextHopInstance URL refers to an instance that does not exist.",
- "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
- "The route's next hop instance does not have a status of RUNNING.",
- "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
- "No results are present on a particular list page.",
- "Success is reported, but some results may be missing due to errors",
- "Quota information is not available to client requests (e.g:\nregions.list).",
- "The user attempted to use a resource that requires a TOS they have not\naccepted.",
- "Warning that a resource is in use.",
- "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
- "When a resource schema validation is ignored.",
- "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
- "When undeclared properties in the schema are present",
- "A given scope cannot be reached."
- ],
- "type": "string"
- },
- "data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
- "items": {
- "properties": {
- "key": {
- "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
- "type": "string"
- },
- "value": {
- "description": "[Output Only] A warning data value corresponding to the key.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "message": {
- "description": "[Output Only] A human-readable description of the warning code.",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "ResourcePolicy": {
- "description": "Represents a Resource Policy resource. You can use resource policies to\nschedule actions for some Compute Engine resources. For example, you can\nuse them toschedule persistent disk\nsnapshots.",
- "id": "ResourcePolicy",
+ "ResourceMetadata": {
+ "description": "Standardized resource metadata common to all compute resources.",
+ "id": "ResourceMetadata",
"properties": {
- "creationTimestamp": {
- "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.",
- "readOnly": true,
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "diskConsistencyGroupPolicy": {
- "$ref": "ResourcePolicyDiskConsistencyGroupPolicy",
- "description": "Resource policy for disk consistency groups."
- },
- "groupPlacementPolicy": {
- "$ref": "ResourcePolicyGroupPlacementPolicy",
- "description": "Resource policy for instances for placement configuration."
- },
- "id": {
- "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
- "format": "uint64",
- "readOnly": true,
- "type": "string"
- },
- "instanceSchedulePolicy": {
- "$ref": "ResourcePolicyInstanceSchedulePolicy",
- "description": "Resource policy for scheduling instance operations."
- },
- "kind": {
- "default": "compute#resourcePolicy",
- "description": "Output only. [Output Only] Type of the resource. Alwayscompute#resource_policies for resource policies.",
- "readOnly": true,
+ "apiVersion": {
+ "description": "The version of the API interface that this resource was retrieved through.\nFor example, `\"2025-01-01\"` or `\"2025-01-01-preview\"`.",
"type": "string"
},
- "name": {
- "annotations": {
- "required": [
- "compute.instances.insert"
- ]
- },
- "description": "The name of the resource, provided by the client when initially creating\nthe resource. The resource name must be 1-63 characters long, and comply\nwithRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must be\na dash, lowercase letter, or digit, except the last character, which cannot\nbe a dash.",
- "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
- "type": "string"
- },
- "region": {
- "readOnly": true,
- "type": "string"
- },
- "resourceStatus": {
- "$ref": "ResourcePolicyResourceStatus",
- "description": "Output only. [Output Only] The system status of the resource policy.",
- "readOnly": true
- },
- "selfLink": {
- "description": "Output only. [Output Only] Server-defined fully-qualified URL for this resource.",
- "readOnly": true,
- "type": "string"
- },
- "snapshotSchedulePolicy": {
- "$ref": "ResourcePolicySnapshotSchedulePolicy",
- "description": "Resource policy for persistent disks for creating snapshots."
- },
- "status": {
- "description": "Output only. [Output Only] The status of resource policy creation.",
- "enum": [
- "CREATING",
- "DELETING",
- "EXPIRED",
- "INVALID",
- "READY"
- ],
- "enumDescriptions": [
- "Resource policy is being created.",
- "Resource policy is being deleted.",
- "Resource policy is expired and will not run again.",
- "",
- "Resource policy is ready to be used."
- ],
- "readOnly": true,
+ "resourceType": {
+ "description": "The canonical resource type name in the format of a resource type\nas defined by [AIP-123](https://google.aip.dev/123).\nFor example, `\"compute.googleapis.com/Instance\"`.",
"type": "string"
- },
- "workloadPolicy": {
- "$ref": "ResourcePolicyWorkloadPolicy",
- "description": "Resource policy for defining instance placement for MIGs."
}
},
"type": "object"
},
- "ResourcePolicyAggregatedList": {
- "description": "Contains a list of resourcePolicies.",
- "id": "ResourcePolicyAggregatedList",
+ "ResourcePoliciesScopedList": {
+ "id": "ResourcePoliciesScopedList",
"properties": {
- "etag": {
- "type": "string"
- },
- "id": {
- "description": "[Output Only] Unique identifier for the resource; defined by the server.",
- "type": "string"
- },
- "items": {
- "additionalProperties": {
- "$ref": "ResourcePoliciesScopedList",
- "description": "Name of the scope containing this set of resourcePolicies."
- },
- "description": "A list of ResourcePolicy resources.",
- "type": "object"
- },
- "kind": {
- "default": "compute#resourcePolicyAggregatedList",
- "description": "Output only. Type of resource.",
- "readOnly": true,
- "type": "string"
- },
- "nextPageToken": {
- "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
- "type": "string"
- },
- "selfLink": {
- "description": "Output only. [Output Only] Server-defined URL for this resource.",
- "readOnly": true,
- "type": "string"
- },
- "unreachables": {
- "description": "Output only. [Output Only] Unreachable resources.",
+ "resourcePolicies": {
+ "description": "A list of resourcePolicies contained in this scope.",
"items": {
- "type": "string"
+ "$ref": "ResourcePolicy"
},
- "readOnly": true,
"type": "array"
},
"warning": {
- "description": "[Output Only] Informational warning message.",
+ "description": "Informational warning which replaces the list of resourcePolicies when\nthe list is empty.",
"properties": {
"code": {
"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
@@ -90292,7 +95046,266 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicy": {
+ "description": "Represents a Resource Policy resource. You can use resource policies to\nschedule actions for some Compute Engine resources. For example, you can\nuse them toschedule persistent disk\nsnapshots.",
+ "id": "ResourcePolicy",
+ "properties": {
+ "creationTimestamp": {
+ "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "diskConsistencyGroupPolicy": {
+ "$ref": "ResourcePolicyDiskConsistencyGroupPolicy",
+ "description": "Resource policy for disk consistency groups."
+ },
+ "groupPlacementPolicy": {
+ "$ref": "ResourcePolicyGroupPlacementPolicy",
+ "description": "Resource policy for instances for placement configuration."
+ },
+ "id": {
+ "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "instanceSchedulePolicy": {
+ "$ref": "ResourcePolicyInstanceSchedulePolicy",
+ "description": "Resource policy for scheduling instance operations."
+ },
+ "kind": {
+ "default": "compute#resourcePolicy",
+ "description": "Output only. [Output Only] Type of the resource. Alwayscompute#resource_policies for resource policies.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "annotations": {
+ "required": [
+ "compute.instances.insert"
+ ]
+ },
+ "description": "The name of the resource, provided by the client when initially creating\nthe resource. The resource name must be 1-63 characters long, and comply\nwithRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must be\na dash, lowercase letter, or digit, except the last character, which cannot\nbe a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "type": "string"
+ },
+ "region": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "resourceStatus": {
+ "$ref": "ResourcePolicyResourceStatus",
+ "description": "Output only. [Output Only] The system status of the resource policy.",
+ "readOnly": true
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined fully-qualified URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "snapshotSchedulePolicy": {
+ "$ref": "ResourcePolicySnapshotSchedulePolicy",
+ "description": "Resource policy for persistent disks for creating snapshots."
+ },
+ "status": {
+ "description": "Output only. [Output Only] The status of resource policy creation.",
+ "enum": [
+ "CREATING",
+ "DELETING",
+ "EXPIRED",
+ "INVALID",
+ "READY"
+ ],
+ "enumDescriptions": [
+ "Resource policy is being created.",
+ "Resource policy is being deleted.",
+ "Resource policy is expired and will not run again.",
+ "",
+ "Resource policy is ready to be used."
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
+ "workloadPolicy": {
+ "$ref": "ResourcePolicyWorkloadPolicy",
+ "description": "Resource policy for defining instance placement for MIGs."
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicyAggregatedList": {
+ "description": "Contains a list of resourcePolicies.",
+ "id": "ResourcePolicyAggregatedList",
+ "properties": {
+ "etag": {
+ "type": "string"
+ },
+ "id": {
+ "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+ "type": "string"
+ },
+ "items": {
+ "additionalProperties": {
+ "$ref": "ResourcePoliciesScopedList",
+ "description": "Name of the scope containing this set of resourcePolicies."
+ },
+ "description": "A list of ResourcePolicy resources.",
+ "type": "object"
+ },
+ "kind": {
+ "default": "compute#resourcePolicyAggregatedList",
+ "description": "Output only. Type of resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "nextPageToken": {
+ "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "unreachables": {
+ "description": "Output only. [Output Only] Unreachable resources.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "warning": {
+ "description": "[Output Only] Informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -90582,7 +95595,1359 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicyResourceStatus": {
+ "description": "Contains output only fields.\nUse this sub-message for all output fields set on ResourcePolicy.\nThe internal structure of this \"status\" field should mimic the structure\nof ResourcePolicy proto specification.",
+ "id": "ResourcePolicyResourceStatus",
+ "properties": {
+ "instanceSchedulePolicy": {
+ "$ref": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus",
+ "description": "Output only. [Output Only] Specifies a set of output values reffering to\nthe instance_schedule_policy system status.\nThis field should have the same name as corresponding policy field.",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus": {
+ "id": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus",
+ "properties": {
+ "lastRunStartTime": {
+ "description": "Output only. [Output Only] The last time the schedule successfully ran.\nThe timestamp is an RFC3339 string.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "nextRunStartTime": {
+ "description": "Output only. [Output Only] The next time the schedule is planned to run.\nThe actual time might be slightly different.\nThe timestamp is an RFC3339 string.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicySnapshotSchedulePolicy": {
+ "description": "A snapshot schedule policy specifies when and how frequently snapshots are\nto be created for the target disk. Also specifies how many and how long\nthese scheduled snapshots should be retained.",
+ "id": "ResourcePolicySnapshotSchedulePolicy",
+ "properties": {
+ "retentionPolicy": {
+ "$ref": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy",
+ "description": "Retention policy applied to snapshots created by this resource policy."
+ },
+ "schedule": {
+ "$ref": "ResourcePolicySnapshotSchedulePolicySchedule",
+ "description": "A Vm Maintenance Policy specifies what kind of infrastructure\nmaintenance we are allowed to perform on this VM and when. Schedule\nthat is applied to disks covered by this policy."
+ },
+ "snapshotProperties": {
+ "$ref": "ResourcePolicySnapshotSchedulePolicySnapshotProperties",
+ "description": "Properties with which snapshots are created such as labels, encryption\nkeys."
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicySnapshotSchedulePolicyRetentionPolicy": {
+ "description": "Policy for retention of scheduled snapshots.",
+ "id": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy",
+ "properties": {
+ "maxRetentionDays": {
+ "description": "Maximum age of the snapshot that is allowed to be kept.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "onSourceDiskDelete": {
+ "description": "Specifies the behavior to apply to scheduled snapshots when\nthe source disk is deleted.",
+ "enum": [
+ "APPLY_RETENTION_POLICY",
+ "KEEP_AUTO_SNAPSHOTS",
+ "UNSPECIFIED_ON_SOURCE_DISK_DELETE"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicySnapshotSchedulePolicySchedule": {
+ "description": "A schedule for disks where the schedueled operations are performed.",
+ "id": "ResourcePolicySnapshotSchedulePolicySchedule",
+ "properties": {
+ "dailySchedule": {
+ "$ref": "ResourcePolicyDailyCycle"
+ },
+ "hourlySchedule": {
+ "$ref": "ResourcePolicyHourlyCycle"
+ },
+ "weeklySchedule": {
+ "$ref": "ResourcePolicyWeeklyCycle"
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicySnapshotSchedulePolicySnapshotProperties": {
+ "description": "Specified snapshot properties for scheduled snapshots created by this\npolicy.",
+ "id": "ResourcePolicySnapshotSchedulePolicySnapshotProperties",
+ "properties": {
+ "chainName": {
+ "description": "Chain name that the snapshot is created in.",
+ "type": "string"
+ },
+ "guestFlush": {
+ "description": "Indication to perform a 'guest aware' snapshot.",
+ "type": "boolean"
+ },
+ "labels": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Labels to apply to scheduled snapshots. These can be later modified\nby the setLabels method. Label values may be empty.",
+ "type": "object"
+ },
+ "storageLocations": {
+ "description": "Cloud Storage bucket storage location of the auto snapshot (regional or\nmulti-regional).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicyWeeklyCycle": {
+ "description": "Time window specified for weekly operations.",
+ "id": "ResourcePolicyWeeklyCycle",
+ "properties": {
+ "dayOfWeeks": {
+ "description": "Up to 7 intervals/windows, one for each day of the week.",
+ "items": {
+ "$ref": "ResourcePolicyWeeklyCycleDayOfWeek"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicyWeeklyCycleDayOfWeek": {
+ "id": "ResourcePolicyWeeklyCycleDayOfWeek",
+ "properties": {
+ "day": {
+ "description": "Defines a schedule that runs on specific days of the week. Specify\none or more days. The following options are available:\nMONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.",
+ "enum": [
+ "FRIDAY",
+ "INVALID",
+ "MONDAY",
+ "SATURDAY",
+ "SUNDAY",
+ "THURSDAY",
+ "TUESDAY",
+ "WEDNESDAY"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "type": "string"
+ },
+ "duration": {
+ "description": "Output only. [Output only] Duration of the time window, automatically chosen to be\nsmallest possible in the given scenario.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "startTime": {
+ "description": "Time within the window to start the operations.\nIt must be in format \"HH:MM\", where HH : [00-23] and MM : [00-00] GMT.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourcePolicyWorkloadPolicy": {
+ "description": "Represents the workload policy.",
+ "id": "ResourcePolicyWorkloadPolicy",
+ "properties": {
+ "acceleratorTopology": {
+ "description": "Specifies the topology required to create a partition for VMs that have\ninterconnected GPUs.",
+ "type": "string"
+ },
+ "acceleratorTopologyMode": {
+ "description": "Specifies the connection mode for the accelerator topology. If not\nspecified, the default is AUTO_CONNECT.",
+ "enum": [
+ "AUTO_CONNECT",
+ "PROVISION_ONLY"
+ ],
+ "enumDescriptions": [
+ "The interconnected chips are pre-configured at the time of VM creation.",
+ "The interconnected chips are connected on demand. At the time of VM\ncreation, the chips are not connected."
+ ],
+ "type": "string"
+ },
+ "maxTopologyDistance": {
+ "description": "Specifies the maximum distance between instances.",
+ "enum": [
+ "BLOCK",
+ "CLUSTER",
+ "SUBBLOCK"
+ ],
+ "enumDescriptions": [
+ "VMs must be provisioned in the same block.",
+ "VMs must be provisioned in the same cluster.",
+ "VMs must be provisioned in the same subblock."
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "Specifies the intent of the instance placement in the MIG.",
+ "enum": [
+ "HIGH_AVAILABILITY",
+ "HIGH_THROUGHPUT"
+ ],
+ "enumDescriptions": [
+ "MIG spreads out the instances as much as possible for high availability.",
+ "MIG provisions instances as close to each other as possible for high\nthroughput."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceStatus": {
+ "description": "Contains output only fields.\nUse this sub-message for actual values set on Instance attributes as compared\nto the value requested by the user (intent) in their instance CRUD calls.",
+ "id": "ResourceStatus",
+ "properties": {
+ "effectiveInstanceMetadata": {
+ "$ref": "ResourceStatusEffectiveInstanceMetadata",
+ "description": "Output only. [Output Only] Effective metadata is a field that consolidates project,\nzonal instance settings, and instance-level predefined metadata keys to\nprovide the overridden value for those metadata keys at the instance level.",
+ "readOnly": true
+ },
+ "physicalHost": {
+ "description": "Output only. [Output Only] The precise location of your instance within the zone's data\ncenter, including the block, sub-block, and host. The field is formatted as\nfollows: blockId/subBlockId/hostId.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "physicalHostTopology": {
+ "$ref": "ResourceStatusPhysicalHostTopology",
+ "description": "Output only. [Output Only] A series of fields containing the global name of the Compute\nEngine cluster, as well as the ID of the block, sub-block, and host on\nwhich the running instance is located.",
+ "readOnly": true
+ },
+ "reservationConsumptionInfo": {
+ "$ref": "ResourceStatusReservationConsumptionInfo",
+ "description": "Output only. [Output Only] Reservation information that the instance is consuming from.",
+ "readOnly": true
+ },
+ "scheduling": {
+ "$ref": "ResourceStatusScheduling"
+ },
+ "shutdownDetails": {
+ "$ref": "ResourceStatusShutdownDetails",
+ "description": "Output only. [Output Only] Details about the instance stopping state.",
+ "readOnly": true
+ },
+ "upcomingMaintenance": {
+ "$ref": "UpcomingMaintenance",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "ResourceStatusEffectiveInstanceMetadata": {
+ "description": "Effective values of predefined metadata keys for an instance.",
+ "id": "ResourceStatusEffectiveInstanceMetadata",
+ "properties": {
+ "blockProjectSshKeysMetadataValue": {
+ "description": "Effective block-project-ssh-keys value at Instance level.",
+ "type": "boolean"
+ },
+ "enableGuestAttributesMetadataValue": {
+ "description": "Effective enable-guest-attributes value at Instance level.",
+ "type": "boolean"
+ },
+ "enableOsInventoryMetadataValue": {
+ "description": "Effective enable-os-inventory value at Instance level.",
+ "type": "boolean"
+ },
+ "enableOsconfigMetadataValue": {
+ "description": "Effective enable-osconfig value at Instance level.",
+ "type": "boolean"
+ },
+ "enableOsloginMetadataValue": {
+ "description": "Effective enable-oslogin value at Instance level.",
+ "type": "boolean"
+ },
+ "gceContainerDeclarationMetadataValue": {
+ "description": "Effective gce-container-declaration value at Instance level.",
+ "type": "boolean"
+ },
+ "serialPortEnableMetadataValue": {
+ "description": "Effective serial-port-enable value at Instance level.",
+ "type": "boolean"
+ },
+ "serialPortLoggingEnableMetadataValue": {
+ "description": "Effective serial-port-logging-enable value at Instance level.",
+ "type": "boolean"
+ },
+ "vmDnsSettingMetadataValue": {
+ "description": "Effective VM DNS setting at Instance level.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceStatusPhysicalHostTopology": {
+ "description": "Represents the physical host topology of the host on which the VM is\nrunning.",
+ "id": "ResourceStatusPhysicalHostTopology",
+ "properties": {
+ "additionalAttributes": {
+ "$ref": "ResourceStatusPhysicalHostTopologyAdditionalAttributes",
+ "description": "Output only. [Output Only] Additional location information of the running instance.",
+ "readOnly": true
+ },
+ "block": {
+ "description": "[Output Only] The ID of the block in which the running instance is\nlocated. Instances within the same block experience low network latency.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "[Output Only] The global name of the Compute Engine cluster where the\nrunning instance is located.",
+ "type": "string"
+ },
+ "host": {
+ "description": "[Output Only] The ID of the host on which the running instance is located.\nInstances on the same host experience the lowest possible network\nlatency.",
+ "type": "string"
+ },
+ "subblock": {
+ "description": "[Output Only] The ID of the sub-block in which the running instance is\nlocated. Instances in the same sub-block experience lower network latency\nthan instances in the same block.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceStatusPhysicalHostTopologyAdditionalAttributes": {
+ "description": "Additional location information of the running instance.",
+ "id": "ResourceStatusPhysicalHostTopologyAdditionalAttributes",
+ "properties": {
+ "acceleratorTopologyIds": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Output only. The IDs of the accelerator topologies the instance belongs to. For\nexample\nThe key will be topologies like \"4x4\", \"2x2x2\" and the value will be\nthe location ID of the topologies.",
+ "readOnly": true,
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceStatusReservationConsumptionInfo": {
+ "description": "Reservation consumption information that the instance is consuming from.",
+ "id": "ResourceStatusReservationConsumptionInfo",
+ "properties": {
+ "consumedReservation": {
+ "description": "Output only. [Output Only] The full resource name of the reservation that this\ninstance is consuming from.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "consumedReservationBlock": {
+ "description": "Output only. [Output Only] The full resource name of the reservation block that this\ninstance is consuming from.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "consumedReservationSubBlock": {
+ "description": "Output only. [Output Only] The full resource name of the reservation sub-block that\nthis instance is consuming from.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceStatusScheduling": {
+ "id": "ResourceStatusScheduling",
+ "properties": {
+ "availabilityDomain": {
+ "description": "Specifies the availability domain to place the instance in. The value\nmust be a number between 1 and the number of availability domains\nspecified in the spread placement policy attached to the instance.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "gracefulShutdownTimestamp": {
+ "description": "Output only. Specifies the timestamp, when the instance will start graceful shutdown\nprocess, in RFC3339 text format.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "terminationTimestamp": {
+ "description": "Time in future when the instance will be terminated inRFC3339 text format.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceStatusShutdownDetails": {
+ "description": "Specifies if the instance is in `PENDING_STOP` state or there is a\nprogrammed stop scheduled.",
+ "id": "ResourceStatusShutdownDetails",
+ "properties": {
+ "maxDuration": {
+ "$ref": "Duration",
+ "description": "The duration for graceful shutdown. Only applicable when\n`stop_state=PENDING_STOP`."
+ },
+ "requestTimestamp": {
+ "description": "Past timestamp indicating the beginning of current `stopState` in RFC3339 text format.",
+ "type": "string"
+ },
+ "stopState": {
+ "description": "Current stopping state of the instance.",
+ "enum": [
+ "PENDING_STOP",
+ "STOPPING"
+ ],
+ "enumDescriptions": [
+ "The instance is gracefully shutting down.",
+ "The instance is stopping."
+ ],
+ "type": "string"
+ },
+ "targetState": {
+ "description": "Target instance state.",
+ "enum": [
+ "DELETED",
+ "STOPPED"
+ ],
+ "enumDescriptions": [
+ "The instance will be deleted.",
+ "The instance will be stopped."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RiskDetails": {
+ "description": "Detailed insights and metrics about a detected reliability risk.",
+ "id": "RiskDetails",
+ "properties": {
+ "duration": {
+ "description": "The duration of the risk since it was detected.",
+ "format": "google-duration",
+ "type": "string"
+ },
+ "globalDnsInsight": {
+ "$ref": "RiskDetailsGlobalDnsInsight",
+ "description": "Insight details for global DNS risk."
+ },
+ "lastUpdateTimestamp": {
+ "description": "The last time the risk was updated.",
+ "format": "google-datetime",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the risk.",
+ "enum": [
+ "CRITICAL",
+ "HIGH",
+ "LOW",
+ "MEDIUM",
+ "SEVERITY_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "Critical severity.",
+ "High severity.",
+ "Low severity.",
+ "Medium severity.",
+ "No severity specified. The default value."
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of risk.",
+ "enum": [
+ "GLOBAL_DNS",
+ "RISK_TYPE_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "Risk type related to global DNS.",
+ "Default value. This value is unused."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RiskDetailsGlobalDnsInsight": {
+ "description": "Detailed insights for a global DNS reliability risk.",
+ "id": "RiskDetailsGlobalDnsInsight",
+ "properties": {
+ "projectDefaultIsGlobalDns": {
+ "description": "Indicates whether the project's default DNS setting is global DNS.",
+ "type": "boolean"
+ },
+ "queryObservationWindow": {
+ "description": "The observation window for the query counts.",
+ "format": "google-duration",
+ "type": "string"
+ },
+ "riskyQueryCount": {
+ "description": "The number of queries that are risky. This is always less than or\nequal to total_query_count.",
+ "format": "int64",
+ "type": "string"
+ },
+ "totalQueryCount": {
+ "description": "The total number of queries in the observation window.",
+ "format": "int64",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RiskRecommendation": {
+ "description": "Recommendation for mitigating a reliability risk, including a reference URL.",
+ "id": "RiskRecommendation",
+ "properties": {
+ "content": {
+ "description": "Mitigation guide for the risk.",
+ "type": "string"
+ },
+ "referenceUrl": {
+ "description": "URL referencing a more detailed mitigation guide.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Rollout": {
+ "description": "Rollout resource.\n\nA Rollout is a specific instance of a RolloutPlan. It represents a single\nexecution of a strategy to roll out a specific resource. It also provides\nAPIs to interact with the rollout.",
+ "id": "Rollout",
+ "properties": {
+ "cancellationTime": {
+ "description": "Output only. The timestamp at which the Rollout was cancelled.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "completionTime": {
+ "description": "Output only. The timestamp at which the Rollout was completed.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "creationTimestamp": {
+ "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "currentWaveNumber": {
+ "description": "Output only. The number of the currently running wave.\nEx. 1",
+ "format": "int64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.",
+ "type": "string"
+ },
+ "etag": {
+ "description": "Output only. etag of the Rollout\nEx. abc1234",
+ "readOnly": true,
+ "type": "string"
+ },
+ "id": {
+ "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "kind": {
+ "default": "compute#rollout",
+ "description": "Output only. [Output Only] Type of the resource. Always compute#rollout\nfor rollouts.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?`\nwhich means the first character must be a lowercase letter, and all\nfollowing characters must be a dash, lowercase letter, or digit, except\nthe last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "type": "string"
+ },
+ "pauseTime": {
+ "description": "Output only. The timestamp at which the Rollout was paused.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resumeTime": {
+ "description": "Output only. The timestamp at which the Rollout was resumed.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "rolloutEntity": {
+ "$ref": "RolloutRolloutEntity",
+ "description": "Required. The resource being rolled out."
+ },
+ "rolloutPlan": {
+ "description": "Required. Rollout Plan used to model the Rollout.\nEx. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1",
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined fully-qualified URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "selfLinkWithId": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "state": {
+ "description": "Output only. The current state of the Rollout.",
+ "enum": [
+ "CANCELLED",
+ "CANCELLING",
+ "CANCEL_FAILED",
+ "COMPLETED",
+ "COMPLETE_FAILED",
+ "COMPLETING",
+ "FAILED",
+ "PAUSED",
+ "PAUSE_FAILED",
+ "PAUSING",
+ "PROCESSING",
+ "READY",
+ "RESUMING",
+ "ROLLBACK_WAVE_FAILED",
+ "ROLLING_BACK",
+ "STATE_UNSPECIFIED",
+ "UNINITIALIZED",
+ "WAVE_FAILED"
+ ],
+ "enumDescriptions": [
+ "The rollout is in a failure terminal state.",
+ "The rollout is being cancelled.",
+ "An attempted cancel operation was unsuccessful.",
+ "The rollout is in a successful terminal state.",
+ "An attempted complete operation was unsuccessful.",
+ "The rollout is being marked as completed.",
+ "The rollout completed with failures.",
+ "The rollout is paused.",
+ "An attempted pause operation was unsuccessful.",
+ "The rollout is being paused.",
+ "A wave is being processed by the product.",
+ "The rollout has been successfully initialized and is ready to start.",
+ "The rollout is being resumed after being paused.",
+ "An attempted rollback operation failed to complete successfully.",
+ "A wave rollback is in progress for this rollout.",
+ "Undefined default state. Should never be exposed to users.",
+ "The rollout has been created but is not yet ready to be started.",
+ "The product failed to process the wave."
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
+ "waveDetails": {
+ "description": "Output only. Details about each wave of the rollout.",
+ "items": {
+ "$ref": "RolloutWaveDetails"
+ },
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlan": {
+ "description": "RolloutPlan resource.\n\nA RolloutPlan is the customer-defined strategy to divide a large-scale change\ninto smaller increments, referred to as \"waves\". Each wave targets a specific\nportion of the overall affected area and defines criteria that must be met\nbefore progressing to the subsequent wave.",
+ "id": "RolloutPlan",
+ "properties": {
+ "creationTimestamp": {
+ "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "kind": {
+ "default": "compute#rolloutPlan",
+ "description": "Output only. [Output Only] Type of the resource. Always compute#rolloutPlan\nfor rolloutPlans.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "locationScope": {
+ "description": "The location scope of the rollout plan. If not specified, the location\nscope is considered as ZONAL.",
+ "enum": [
+ "LOCATION_SCOPE_UNSPECIFIED",
+ "REGIONAL",
+ "ZONAL"
+ ],
+ "enumDescriptions": [
+ "Unspecified value. Considered as ZONAL.",
+ "Regional scope.",
+ "Zonal scope."
+ ],
+ "type": "string"
+ },
+ "name": {
+ "annotations": {
+ "required": [
+ "compute.rolloutPlans.insert"
+ ]
+ },
+ "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?`\nwhich means the first character must be a lowercase letter, and all\nfollowing characters must be a dash, lowercase letter, or digit, except\nthe last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined fully-qualified URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "selfLinkWithId": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "waves": {
+ "description": "Required. The waves included in this rollout plan.",
+ "items": {
+ "$ref": "RolloutPlanWave"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlanWave": {
+ "description": "A single wave in a rollout plan.",
+ "id": "RolloutPlanWave",
+ "properties": {
+ "displayName": {
+ "description": "Optional. The display name of this wave of the rollout plan.",
+ "type": "string"
+ },
+ "number": {
+ "description": "Output only. The wave number.",
+ "format": "int64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "orchestrationOptions": {
+ "$ref": "RolloutPlanWaveOrchestrationOptions",
+ "description": "Optional. The orchestration options for this wave."
+ },
+ "selectors": {
+ "description": "Required. The selectors for this wave. There is a logical AND between each selector\ndefined in a wave, so a resource must satisfy the criteria of *all* the\nspecified selectors to be in scope for the wave.",
+ "items": {
+ "$ref": "RolloutPlanWaveSelector"
+ },
+ "type": "array"
+ },
+ "validation": {
+ "$ref": "RolloutPlanWaveValidation",
+ "description": "Required. The validation to be performed at the end of this wave."
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlanWaveOrchestrationOptions": {
+ "description": "Options to control the pace of orchestration of a wave. These options are\nrequired only if the resource being rolled out follows the Orchestrated\npattern.",
+ "id": "RolloutPlanWaveOrchestrationOptions",
+ "properties": {
+ "delays": {
+ "description": "Optional. Delays, if any, to be added between batches of projects. We allow\nmultiple Delays to be specified, letting users set separate delays\nbetween batches of projects corresponding to different locations and\nbatches of projects corresponding to the same location.",
+ "items": {
+ "$ref": "RolloutPlanWaveOrchestrationOptionsDelay"
+ },
+ "type": "array"
+ },
+ "maxConcurrentLocations": {
+ "description": "Optional. Maximum number of locations to be orchestrated in parallel.",
+ "format": "int64",
+ "type": "string"
+ },
+ "maxConcurrentResourcesPerLocation": {
+ "description": "Optional. Maximum number of resources to be orchestrated per location in\nparallel.",
+ "format": "int64",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlanWaveOrchestrationOptionsDelay": {
+ "description": "Options to control the delay, if any, between batches of projects.",
+ "id": "RolloutPlanWaveOrchestrationOptionsDelay",
+ "properties": {
+ "delimiter": {
+ "description": "Optional. Controls whether the delay should only be added between batches of\nprojects corresponding to different locations, or also between\nbatches of projects corresponding to the same location.\n\nMust be set to DELIMITER_UNSPECIFIED if no delay is to be added.",
+ "enum": [
+ "DELIMITER_BATCH",
+ "DELIMITER_LOCATION",
+ "DELIMITER_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "The delay will also be added between batches of projects\ncorresponding to the same location.",
+ "The delay will only be added between batches of projects\ncorresponding to different locations.",
+ "No delay will be added between batches of projects. Processing will\ncontinue with the next batch as soon as the previous batch of LROs\nis done."
+ ],
+ "type": "string"
+ },
+ "duration": {
+ "description": "Optional. The duration of the delay, if any, to be added between batches of\nprojects. A zero duration corresponds to no delay.",
+ "format": "google-duration",
+ "type": "string"
+ },
+ "type": {
+ "description": "Optional. Controls whether the specified duration is to be added at the end of\neach batch, or if the total processing time for each batch will be\npadded if needed to meet the specified duration.\n\nMust be set to TYPE_UNSPECIFIED if no delay is to be added.",
+ "enum": [
+ "TYPE_MINIMUM",
+ "TYPE_OFFSET",
+ "TYPE_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "The total processing time for each batch of projects will be padded\nif needed to meet the specified delay duration.",
+ "The specified delay will directly be added after each batch of\nprojects as specified by the delimiter.",
+ "No delay will be added between batches of projects. Processing will\ncontinue with the next batch as soon as the previous batch of LROs\nis done."
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlanWaveSelector": {
+ "description": "A selector which specifies what resource(s) are included in a given wave.",
+ "id": "RolloutPlanWaveSelector",
+ "properties": {
+ "locationSelector": {
+ "$ref": "RolloutPlanWaveSelectorLocationSelector",
+ "description": "Optional. Roll out to resources by Cloud locations."
+ },
+ "resourceHierarchySelector": {
+ "$ref": "RolloutPlanWaveSelectorResourceHierarchySelector",
+ "description": "Optional. Roll out to resources by Cloud Resource Manager resource hierarchy."
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlanWaveSelectorLocationSelector": {
+ "description": "Roll out to resources by location.",
+ "id": "RolloutPlanWaveSelectorLocationSelector",
+ "properties": {
+ "includedLocations": {
+ "description": "Optional. Example: \"us-central1-a\"",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlanWaveSelectorResourceHierarchySelector": {
+ "description": "Roll out to resources by Cloud Resource Manager resource hierarchy\nnodes such as projects, folders, orgs.",
+ "id": "RolloutPlanWaveSelectorResourceHierarchySelector",
+ "properties": {
+ "includedFolders": {
+ "description": "Optional. Format: \"folders/{folder_id}\"",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includedOrganizations": {
+ "description": "Optional. Format: \"organizations/{organization_id}\"",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includedProjects": {
+ "description": "Optional. Format: \"projects/{project_id}\"",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlanWaveValidation": {
+ "description": "The validation to be performed before progressing to the next wave.",
+ "id": "RolloutPlanWaveValidation",
+ "properties": {
+ "timeBasedValidationMetadata": {
+ "$ref": "RolloutPlanWaveValidationTimeBasedValidationMetadata",
+ "description": "Optional. Metadata required if type = \"time\"."
+ },
+ "type": {
+ "description": "Required. The type of the validation. If a type of validation is associated with\na metadata object, the appropriate metadata field mapping to the\nvalidation type must be provided in the validation message. Possible\nvalues are in quotes below alongside an explanation:\n \"manual\": The system waits for an end-user approval API before\n progressing to the next wave.\n \"time\": The system waits for a user specified duration before\n progressing to the next wave. TimeBasedValidation must be provided.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlanWaveValidationTimeBasedValidationMetadata": {
+ "description": "Metadata required if type = \"time\".",
+ "id": "RolloutPlanWaveValidationTimeBasedValidationMetadata",
+ "properties": {
+ "waitDuration": {
+ "description": "Optional. The duration that the system waits in between waves. This wait starts\nafter all changes in the wave are rolled out.",
+ "format": "google-duration",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutPlansListResponse": {
+ "description": "Contains a list of RolloutPlan resources.",
+ "id": "RolloutPlansListResponse",
+ "properties": {
+ "etag": {
+ "type": "string"
+ },
+ "id": {
+ "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+ "type": "string"
+ },
+ "items": {
+ "description": "A list of RolloutPlan resources.",
+ "items": {
+ "$ref": "RolloutPlan"
+ },
+ "type": "array"
+ },
+ "nextPageToken": {
+ "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "unreachables": {
+ "description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "warning": {
+ "description": "[Output Only] Informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutRolloutEntity": {
+ "description": "Specifications of the resource to roll out.",
+ "id": "RolloutRolloutEntity",
+ "properties": {
+ "orchestratedEntity": {
+ "$ref": "RolloutRolloutEntityOrchestratedEntity",
+ "description": "Optional. Entity details for products using the Orchestrated Integration model."
+ }
+ },
+ "type": "object"
+ },
+ "RolloutRolloutEntityOrchestratedEntity": {
+ "description": "This message is used if the resource type follows the Orchestrated\nintegration model with ProgressiveRollout.",
+ "id": "RolloutRolloutEntityOrchestratedEntity",
+ "properties": {
+ "conflictBehavior": {
+ "description": "Required. Specifies the behavior of the Rollout if an out of band update is\ndetected in a project during a Rollout. It can be one of the following\nvalues:\n1) overwrite : Overwrite the local value with the rollout value.\n2) no_overwrite : Do not overwrite the local value with the rollout\nvalue.",
+ "type": "string"
+ },
+ "orchestrationAction": {
+ "description": "Required. Orchestration action during the Rollout. It can be one of the following\nvalues:\n1) \"update\": Resources will be updated by the rollout.\n2) \"delete\": Resources will be deleted by the rollout.",
+ "type": "string"
+ },
+ "orchestrationSource": {
+ "description": "Required. Fully qualified resource name of the resource which contains the source\nof truth of the configuration being rolled out across\nlocations/projects. For example, in the case of a global Rollout which\nis applied across regions, this contains the name of the global\nresource created by the user which contains a payload for a resource\nthat is orchestrated across regions. This follows the following format:\n//.googleapis.com/projects//locations/global//\ne.g.\n//osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutWaveDetails": {
+ "description": "Additional metadata about the status of each wave provided by the server.",
+ "id": "RolloutWaveDetails",
+ "properties": {
+ "orchestratedWaveDetails": {
+ "$ref": "RolloutWaveDetailsOrchestratedWaveDetails",
+ "description": "Output only. Additional details of the wave for products using the Orchestrated\nIntegration model.",
+ "readOnly": true
+ },
+ "waveDisplayName": {
+ "description": "Output only. Wave name.\nEx. wave1",
+ "readOnly": true,
+ "type": "string"
+ },
+ "waveNumber": {
+ "description": "Output only. System generated number for the wave.",
+ "format": "int64",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutWaveDetailsOrchestratedWaveDetails": {
+ "description": "Details of the wave for products using the Orchestrated integration\nmodel.",
+ "id": "RolloutWaveDetailsOrchestratedWaveDetails",
+ "properties": {
+ "completedResourcesCount": {
+ "description": "Output only. Resource completed so far.",
+ "format": "int64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "estimatedCompletionTime": {
+ "description": "Output only. Estimated timestamp at which the wave will complete. Extrapolated from\ncurrent progress.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "estimatedTotalResourcesCount": {
+ "description": "Output only. Estimated total count of resources.",
+ "format": "int64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "failedLocations": {
+ "description": "Output only. Locations that failed during orchestration, and ProgressiveRollout\nstopped retrying. There may be some successful resources rolled out in\nthe wave as the location may have failed later in the Rollout.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "failedResourcesCount": {
+ "description": "Output only. Resources failed.",
+ "format": "int64",
+ "readOnly": true,
+ "type": "string"
+ },
+ "locationStatus": {
+ "additionalProperties": {
+ "$ref": "RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus"
+ },
+ "description": "Output only. Status of each location in the wave. Map keys (locations) must be\nspecified like \"us-east1\" or \"asia-west1-a\".",
+ "readOnly": true,
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus": {
+ "description": "Represents the status of a location in a wave.",
+ "id": "RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus",
+ "properties": {
+ "state": {
+ "description": "Output only. Location state of the wave.",
+ "enum": [
+ "STATE_FAILED",
+ "STATE_IN_PROGRESS",
+ "STATE_PENDING",
+ "STATE_SKIPPED",
+ "STATE_SUCCEEDED",
+ "STATE_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "Work on the wave failed.",
+ "Work on the wave is in progress.",
+ "Work on the wave is pending.",
+ "Work on the wave was canceled or skipped.",
+ "Work on the wave succeeded.",
+ "Undefined default state. Should never be exposed to users."
+ ],
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RolloutsListResponse": {
+ "id": "RolloutsListResponse",
+ "properties": {
+ "etag": {
+ "type": "string"
+ },
+ "id": {
+ "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+ "type": "string"
+ },
+ "items": {
+ "description": "A list of Rollout resources.",
+ "items": {
+ "$ref": "Rollout"
+ },
+ "type": "array"
+ },
+ "nextPageToken": {
+ "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "type": "string"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "unreachables": {
+ "description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "warning": {
+ "description": "[Output Only] Informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -90608,349 +96973,6 @@
},
"type": "object"
},
- "ResourcePolicyResourceStatus": {
- "description": "Contains output only fields.\nUse this sub-message for all output fields set on ResourcePolicy.\nThe internal structure of this \"status\" field should mimic the structure\nof ResourcePolicy proto specification.",
- "id": "ResourcePolicyResourceStatus",
- "properties": {
- "instanceSchedulePolicy": {
- "$ref": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus",
- "description": "Output only. [Output Only] Specifies a set of output values reffering to\nthe instance_schedule_policy system status.\nThis field should have the same name as corresponding policy field.",
- "readOnly": true
- }
- },
- "type": "object"
- },
- "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus": {
- "id": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus",
- "properties": {
- "lastRunStartTime": {
- "description": "Output only. [Output Only] The last time the schedule successfully ran.\nThe timestamp is an RFC3339 string.",
- "readOnly": true,
- "type": "string"
- },
- "nextRunStartTime": {
- "description": "Output only. [Output Only] The next time the schedule is planned to run.\nThe actual time might be slightly different.\nThe timestamp is an RFC3339 string.",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourcePolicySnapshotSchedulePolicy": {
- "description": "A snapshot schedule policy specifies when and how frequently snapshots are\nto be created for the target disk. Also specifies how many and how long\nthese scheduled snapshots should be retained.",
- "id": "ResourcePolicySnapshotSchedulePolicy",
- "properties": {
- "retentionPolicy": {
- "$ref": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy",
- "description": "Retention policy applied to snapshots created by this resource policy."
- },
- "schedule": {
- "$ref": "ResourcePolicySnapshotSchedulePolicySchedule",
- "description": "A Vm Maintenance Policy specifies what kind of infrastructure\nmaintenance we are allowed to perform on this VM and when. Schedule\nthat is applied to disks covered by this policy."
- },
- "snapshotProperties": {
- "$ref": "ResourcePolicySnapshotSchedulePolicySnapshotProperties",
- "description": "Properties with which snapshots are created such as labels, encryption\nkeys."
- }
- },
- "type": "object"
- },
- "ResourcePolicySnapshotSchedulePolicyRetentionPolicy": {
- "description": "Policy for retention of scheduled snapshots.",
- "id": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy",
- "properties": {
- "maxRetentionDays": {
- "description": "Maximum age of the snapshot that is allowed to be kept.",
- "format": "int32",
- "type": "integer"
- },
- "onSourceDiskDelete": {
- "description": "Specifies the behavior to apply to scheduled snapshots when\nthe source disk is deleted.",
- "enum": [
- "APPLY_RETENTION_POLICY",
- "KEEP_AUTO_SNAPSHOTS",
- "UNSPECIFIED_ON_SOURCE_DISK_DELETE"
- ],
- "enumDescriptions": [
- "",
- "",
- ""
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourcePolicySnapshotSchedulePolicySchedule": {
- "description": "A schedule for disks where the schedueled operations are performed.",
- "id": "ResourcePolicySnapshotSchedulePolicySchedule",
- "properties": {
- "dailySchedule": {
- "$ref": "ResourcePolicyDailyCycle"
- },
- "hourlySchedule": {
- "$ref": "ResourcePolicyHourlyCycle"
- },
- "weeklySchedule": {
- "$ref": "ResourcePolicyWeeklyCycle"
- }
- },
- "type": "object"
- },
- "ResourcePolicySnapshotSchedulePolicySnapshotProperties": {
- "description": "Specified snapshot properties for scheduled snapshots created by this\npolicy.",
- "id": "ResourcePolicySnapshotSchedulePolicySnapshotProperties",
- "properties": {
- "chainName": {
- "description": "Chain name that the snapshot is created in.",
- "type": "string"
- },
- "guestFlush": {
- "description": "Indication to perform a 'guest aware' snapshot.",
- "type": "boolean"
- },
- "labels": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Labels to apply to scheduled snapshots. These can be later modified\nby the setLabels method. Label values may be empty.",
- "type": "object"
- },
- "storageLocations": {
- "description": "Cloud Storage bucket storage location of the auto snapshot (regional or\nmulti-regional).",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "ResourcePolicyWeeklyCycle": {
- "description": "Time window specified for weekly operations.",
- "id": "ResourcePolicyWeeklyCycle",
- "properties": {
- "dayOfWeeks": {
- "description": "Up to 7 intervals/windows, one for each day of the week.",
- "items": {
- "$ref": "ResourcePolicyWeeklyCycleDayOfWeek"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "ResourcePolicyWeeklyCycleDayOfWeek": {
- "id": "ResourcePolicyWeeklyCycleDayOfWeek",
- "properties": {
- "day": {
- "description": "Defines a schedule that runs on specific days of the week. Specify\none or more days. The following options are available:\nMONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.",
- "enum": [
- "FRIDAY",
- "INVALID",
- "MONDAY",
- "SATURDAY",
- "SUNDAY",
- "THURSDAY",
- "TUESDAY",
- "WEDNESDAY"
- ],
- "enumDescriptions": [
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- ""
- ],
- "type": "string"
- },
- "duration": {
- "description": "Output only. [Output only] Duration of the time window, automatically chosen to be\nsmallest possible in the given scenario.",
- "readOnly": true,
- "type": "string"
- },
- "startTime": {
- "description": "Time within the window to start the operations.\nIt must be in format \"HH:MM\", where HH : [00-23] and MM : [00-00] GMT.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourcePolicyWorkloadPolicy": {
- "description": "Represents the workload policy.",
- "id": "ResourcePolicyWorkloadPolicy",
- "properties": {
- "acceleratorTopology": {
- "description": "Specifies the topology required to create a partition for VMs that have\ninterconnected GPUs.",
- "type": "string"
- },
- "acceleratorTopologyMode": {
- "description": "Specifies the connection mode for the accelerator topology. If not\nspecified, the default is AUTO_CONNECT.",
- "enum": [
- "AUTO_CONNECT",
- "PROVISION_ONLY"
- ],
- "enumDescriptions": [
- "The interconnected chips are pre-configured at the time of VM creation.",
- "The interconnected chips are connected on demand. At the time of VM\ncreation, the chips are not connected."
- ],
- "type": "string"
- },
- "maxTopologyDistance": {
- "description": "Specifies the maximum distance between instances.",
- "enum": [
- "BLOCK",
- "CLUSTER",
- "SUBBLOCK"
- ],
- "enumDescriptions": [
- "VMs must be provisioned in the same block.",
- "VMs must be provisioned in the same cluster.",
- "VMs must be provisioned in the same subblock."
- ],
- "type": "string"
- },
- "type": {
- "description": "Specifies the intent of the instance placement in the MIG.",
- "enum": [
- "HIGH_AVAILABILITY",
- "HIGH_THROUGHPUT"
- ],
- "enumDescriptions": [
- "MIG spreads out the instances as much as possible for high availability.",
- "MIG provisions instances as close to each other as possible for high\nthroughput."
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourceStatus": {
- "description": "Contains output only fields.\nUse this sub-message for actual values set on Instance attributes as compared\nto the value requested by the user (intent) in their instance CRUD calls.",
- "id": "ResourceStatus",
- "properties": {
- "effectiveInstanceMetadata": {
- "$ref": "ResourceStatusEffectiveInstanceMetadata",
- "description": "Output only. [Output Only] Effective metadata is a field that consolidates project,\nzonal instance settings, and instance-level predefined metadata keys to\nprovide the overridden value for those metadata keys at the instance level.",
- "readOnly": true
- },
- "physicalHost": {
- "description": "Output only. [Output Only] The precise location of your instance within the zone's data\ncenter, including the block, sub-block, and host. The field is formatted as\nfollows: blockId/subBlockId/hostId.",
- "readOnly": true,
- "type": "string"
- },
- "physicalHostTopology": {
- "$ref": "ResourceStatusPhysicalHostTopology",
- "description": "Output only. [Output Only] A series of fields containing the global name of the Compute\nEngine cluster, as well as the ID of the block, sub-block, and host on\nwhich the running instance is located.",
- "readOnly": true
- },
- "reservationConsumptionInfo": {
- "$ref": "ResourceStatusReservationConsumptionInfo",
- "description": "Output only. [Output Only] Reservation information that the instance is consuming from.",
- "readOnly": true
- },
- "scheduling": {
- "$ref": "ResourceStatusScheduling"
- },
- "upcomingMaintenance": {
- "$ref": "UpcomingMaintenance",
- "readOnly": true
- }
- },
- "type": "object"
- },
- "ResourceStatusEffectiveInstanceMetadata": {
- "description": "Effective values of predefined metadata keys for an instance.",
- "id": "ResourceStatusEffectiveInstanceMetadata",
- "properties": {
- "blockProjectSshKeysMetadataValue": {
- "description": "Effective block-project-ssh-keys value at Instance level.",
- "type": "boolean"
- },
- "enableGuestAttributesMetadataValue": {
- "description": "Effective enable-guest-attributes value at Instance level.",
- "type": "boolean"
- },
- "enableOsInventoryMetadataValue": {
- "description": "Effective enable-os-inventory value at Instance level.",
- "type": "boolean"
- },
- "enableOsconfigMetadataValue": {
- "description": "Effective enable-osconfig value at Instance level.",
- "type": "boolean"
- },
- "enableOsloginMetadataValue": {
- "description": "Effective enable-oslogin value at Instance level.",
- "type": "boolean"
- },
- "gceContainerDeclarationMetadataValue": {
- "description": "Effective gce-container-declaration value at Instance level.",
- "type": "boolean"
- },
- "serialPortEnableMetadataValue": {
- "description": "Effective serial-port-enable value at Instance level.",
- "type": "boolean"
- },
- "serialPortLoggingEnableMetadataValue": {
- "description": "Effective serial-port-logging-enable value at Instance level.",
- "type": "boolean"
- },
- "vmDnsSettingMetadataValue": {
- "description": "Effective VM DNS setting at Instance level.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourceStatusPhysicalHostTopology": {
- "description": "Represents the physical host topology of the host on which the VM is\nrunning.",
- "id": "ResourceStatusPhysicalHostTopology",
- "properties": {
- "block": {
- "description": "[Output Only] The ID of the block in which the running instance is\nlocated. Instances within the same block experience low network latency.",
- "type": "string"
- },
- "cluster": {
- "description": "[Output Only] The global name of the Compute Engine cluster where the\nrunning instance is located.",
- "type": "string"
- },
- "host": {
- "description": "[Output Only] The ID of the host on which the running instance is located.\nInstances on the same host experience the lowest possible network\nlatency.",
- "type": "string"
- },
- "subblock": {
- "description": "[Output Only] The ID of the sub-block in which the running instance is\nlocated. Instances in the same sub-block experience lower network latency\nthan instances in the same block.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourceStatusReservationConsumptionInfo": {
- "description": "Reservation consumption information that the instance is consuming from.",
- "id": "ResourceStatusReservationConsumptionInfo",
- "properties": {
- "consumedReservation": {
- "description": "Output only. [Output Only] The full resource name of the reservation that this\ninstance is consuming from.",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourceStatusScheduling": {
- "id": "ResourceStatusScheduling",
- "properties": {
- "availabilityDomain": {
- "description": "Specifies the availability domain to place the instance in. The value\nmust be a number between 1 and the number of availability domains\nspecified in the spread placement policy attached to the instance.",
- "format": "int32",
- "type": "integer"
- }
- },
- "type": "object"
- },
"Route": {
"description": "Represents a Route resource.\n\nA route defines a path from VM instances in the VPC network to a specific\ndestination. This destination can be inside or outside the VPC network.\nFor more information, read theRoutes overview.",
"id": "Route",
@@ -91238,7 +97260,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -91428,7 +97450,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -91597,6 +97619,10 @@
},
"type": "array"
},
+ "nccGateway": {
+ "description": "URI of the ncc_gateway to which this router associated.",
+ "type": "string"
+ },
"network": {
"annotations": {
"required": [
@@ -91777,7 +97803,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -92259,7 +98285,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -92337,6 +98363,12 @@
},
"type": "array"
},
+ "effectiveTcpTimeWaitTimeoutSec": {
+ "description": "Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT\nstate. This value is equal to tcp_time_wait_timeout_sec.\nIf tcp_time_wait_timeout_sec isn't set, the effective timeout is 30s or\n120s. The field is output only.",
+ "format": "int32",
+ "readOnly": true,
+ "type": "integer"
+ },
"enableDynamicPortAllocation": {
"description": "Enable Dynamic Port Allocation.\n\n\nIf not specified, it is disabled by default.\n\n\nIf set to true,\n \n - Dynamic Port Allocation will be enabled on this NAT\n config.\n - enableEndpointIndependentMapping cannot be set to true.\n - If minPorts is set, minPortsPerVm must be set to a\n power of two greater than or equal to 32. If minPortsPerVm is not set, a\n minimum of 32 ports will be allocated to a VM from this NAT\n config.",
"type": "boolean"
@@ -92523,7 +98555,7 @@
"type": "string"
},
"match": {
- "description": "CEL expression that specifies the match condition that egress traffic\nfrom a VM is evaluated against. If it evaluates to true, the\ncorresponding `action` is enforced.\n\nThe following examples are valid match expressions for public NAT:\n\n`inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip,\n '2.2.0.0/16')`\n\n`destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'`\n\nThe following example is a valid match expression for private NAT:\n\n`nexthop.hub ==\n'//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'`",
+ "description": "CEL expression that specifies the match condition that egress traffic\nfrom a VM is evaluated against. If it evaluates to true, the\ncorresponding `action` is enforced.\n\nThe following examples are valid match expressions for public NAT:\n\n`inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip,\n '2.2.0.0/16')`\n\n`destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'`\n\nThe following examples are valid match expressions for private NAT:\n\n(NAT 44)\n`nexthop.hub ==\n'//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'`\n\n`nexthop.is_hybrid`\n\n(NAT 64)\n`isIPv6(source.ip)`",
"type": "string"
},
"ruleNumber": {
@@ -92657,6 +98689,10 @@
},
"type": "array"
},
+ "nccGateway": {
+ "description": "URI of the ncc_gateway to which this router associated.",
+ "type": "string"
+ },
"network": {
"description": "URI of the network to which this router belongs.",
"type": "string"
@@ -92918,6 +98954,19 @@
},
"type": "object"
},
+ "RoutersGetNamedSetResponse": {
+ "id": "RoutersGetNamedSetResponse",
+ "properties": {
+ "etag": {
+ "description": "end_interface: MixerGetResponseWithEtagBuilder",
+ "type": "string"
+ },
+ "resource": {
+ "$ref": "NamedSet"
+ }
+ },
+ "type": "object"
+ },
"RoutersGetRoutePolicyResponse": {
"id": "RoutersGetRoutePolicyResponse",
"properties": {
@@ -93068,7 +99117,174 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "RoutersListNamedSets": {
+ "id": "RoutersListNamedSets",
+ "properties": {
+ "etag": {
+ "type": "string"
+ },
+ "id": {
+ "description": "[Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "type": "string"
+ },
+ "kind": {
+ "default": "compute#routersListNamedSets",
+ "description": "Output only. [Output Only] Type of resource. Alwayscompute#routersListNamedSets for lists of named sets.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "nextPageToken": {
+ "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "type": "string"
+ },
+ "result": {
+ "description": "[Output Only] A list of named sets.",
+ "items": {
+ "$ref": "NamedSet"
+ },
+ "type": "array"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "unreachables": {
+ "description": "Output only. [Output Only] Unreachable resources.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "warning": {
+ "description": "[Output Only] Informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -93235,7 +99451,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -93382,7 +99598,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -93671,6 +99887,13 @@
"format": "int32",
"type": "integer"
},
+ "exposeHostTopology": {
+ "description": "This optional flag exposes the hashed physical host ID in the\nResourceStatus resource of the VM.",
+ "type": "boolean"
+ },
+ "gracefulShutdown": {
+ "$ref": "SchedulingGracefulShutdown"
+ },
"hostErrorTimeoutSeconds": {
"description": "Specify the time in seconds for host error detection, the value must be\nwithin the range of [90, 330] with the increment of 30, if unset, the\ndefault behavior of host error recovery will be used.",
"format": "int32",
@@ -93733,6 +99956,10 @@
"description": "Defines whether the instance is preemptible. This can only be set during\ninstance creation or while the instance isstopped and\ntherefore, in a `TERMINATED` state. SeeInstance Life\nCycle for more information on the possible instance states.",
"type": "boolean"
},
+ "preemptionNoticeDuration": {
+ "$ref": "Duration",
+ "description": "Specifies the Metadata Service preemption notice duration before the GCE ACPI G2\nSoft Off signal is triggered for Spot VMs only. If not specified,\nthere will be no wait before the G2 Soft Off signal is triggered."
+ },
"provisioningModel": {
"description": "Specifies the provisioning model of the instance.",
"enum": [
@@ -93760,6 +99987,21 @@
},
"type": "object"
},
+ "SchedulingGracefulShutdown": {
+ "description": "The configuration for gracefully shutting down the instance.",
+ "id": "SchedulingGracefulShutdown",
+ "properties": {
+ "enabled": {
+ "description": "Opts-in for graceful shutdown.",
+ "type": "boolean"
+ },
+ "maxDuration": {
+ "$ref": "Duration",
+ "description": "The time allotted for the instance to gracefully shut down. If the\ngraceful shutdown isn't complete after this time, then the instance\ntransitions to the STOPPING state."
+ }
+ },
+ "type": "object"
+ },
"SchedulingNodeAffinity": {
"description": "Node Affinity: the configuration of desired nodes onto which this Instance\n could be scheduled.",
"id": "SchedulingNodeAffinity",
@@ -93962,7 +100204,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -94108,7 +100350,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -94481,6 +100723,35 @@
"SecurityPolicyDdosProtectionConfig": {
"id": "SecurityPolicyDdosProtectionConfig",
"properties": {
+ "ddosAdaptiveProtection": {
+ "enum": [
+ "DDOS_ADAPTIVE_PROTECTION_UNSPECIFIED",
+ "DISABLED",
+ "ENABLED",
+ "PREVIEW",
+ "UNSPECIFIED_ADAPTIVE_PROTECTION"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ true
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "type": "string"
+ },
+ "ddosImpactedBaselineThreshold": {
+ "description": "DDoS Protection for Network Load Balancers (and VMs with public IPs)\nbuilds DDoS mitigations that minimize collateral damage. It quantifies\nthis as the fraction of a non-abuse baseline that's inadvertently\nblocked.\n\nRules whose collateral damage exceeds ddosImpactedBaselineThreshold will\nnot be deployed. Using a lower value will prioritize keeping collateral\ndamage low, possibly at the cost of its effectiveness in rate limiting\nsome or all of the attack. It should typically be unset, so Advanced DDoS\n(and Adaptive Protection) uses the best mitigation it can find. Setting\nthe threshold is advised if there are logs for false positive detections\nwith high collateral damage, and will cause Advanced DDoS to attempt to\nfind a less aggressive rule that satisfies the constraint. If a suitable\nrule cannot be found, the system falls back to either no mitigation for\nsmaller attacks or broader network throttles for larger ones.",
+ "format": "float",
+ "type": "number"
+ },
"ddosProtection": {
"enum": [
"ADVANCED",
@@ -94622,7 +100893,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -94917,6 +101188,13 @@
"SecurityPolicyRulePreconfiguredWafConfigExclusion": {
"id": "SecurityPolicyRulePreconfiguredWafConfigExclusion",
"properties": {
+ "requestBodiesToExclude": {
+ "description": "A list of request body fields to be excluded from inspection during\npreconfigured WAF evaluation.",
+ "items": {
+ "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams"
+ },
+ "type": "array"
+ },
"requestCookiesToExclude": {
"description": "A list of request cookie names whose value will be excluded from\ninspection during preconfigured WAF evaluation.",
"items": {
@@ -95004,9 +101282,10 @@
"type": "string"
},
"enforceOnKey": {
- "description": "Determines the key to enforce the rate_limit_threshold on. Possible\nvalues are:\n \n - ALL: A single rate limit threshold is applied to all\n the requests matching this rule. This is the default value if\n \"enforceOnKey\" is not configured.\n - IP: The source IP address of\n the request is the key. Each IP has this limit enforced\n separately.\n - HTTP_HEADER: The value of the HTTP\n header whose name is configured under \"enforceOnKeyName\". The key\n value is truncated to the first 128 bytes of the header value. If no\n such header is present in the request, the key type defaults toALL.\n - XFF_IP: The first IP address (i.e. the\n originating client IP address) specified in the list of IPs under\n X-Forwarded-For HTTP header. If no such header is present or the value\n is not a valid IP, the key defaults to the source IP address of\n the request i.e. key type IP.\n - HTTP_COOKIE: The value of the HTTP\n cookie whose name is configured under \"enforceOnKeyName\". The key\n value is truncated to the first 128 bytes of the cookie value. If no\n such cookie is present in the request, the key type defaults toALL.\n - HTTP_PATH: The URL path of the HTTP request. The key\n value is truncated to the first 128 bytes. \n - SNI: Server name indication in the TLS session of the\n HTTPS request. The key value is truncated to the first 128 bytes. The\n key type defaults to ALL on a HTTP session. \n - REGION_CODE: The country/region from which the request\n originates. \n - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the\n client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the\n key type defaults to ALL. \n - USER_IP: The IP address of the originating client,\n which is resolved based on \"userIpRequestHeaders\" configured with the\n security policy. If there is no \"userIpRequestHeaders\" configuration or\n an IP address cannot be resolved from it, the key type defaults toIP. \n\n- TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the\nclient connects using HTTPS, HTTP/2 or HTTP/3. If not available, the\nkey type defaults to ALL. \nFor \"fairshare\" action, this value is limited to ALL i.e. a single rate\nlimit threshold is enforced for all the requests matching the rule.",
+ "description": "Determines the key to enforce the rate_limit_threshold on. Possible\nvalues are:\n \n - ALL: A single rate limit threshold is applied to all\n the requests matching this rule. This is the default value if\n \"enforceOnKey\" is not configured.\n - IP: The source IP address of\n the request is the key. Each IP has this limit enforced\n separately.\n - HTTP_HEADER: The value of the HTTP\n header whose name is configured under \"enforceOnKeyName\". The key\n value is truncated to the first 128 bytes of the header value. If no\n such header is present in the request, the key type defaults toALL.\n - XFF_IP: The first IP address (i.e. the\n originating client IP address) specified in the list of IPs under\n X-Forwarded-For HTTP header. If no such header is present or the value\n is not a valid IP, the key defaults to the source IP address of\n the request i.e. key type IP.\n - HTTP_COOKIE: The value of the HTTP\n cookie whose name is configured under \"enforceOnKeyName\". The key\n value is truncated to the first 128 bytes of the cookie value. If no\n such cookie is present in the request, the key type defaults toALL.\n - HTTP_PATH: The URL path of the HTTP request. The key\n value is truncated to the first 128 bytes. \n - SNI: Server name indication in the TLS session of the\n HTTPS request. The key value is truncated to the first 128 bytes. The\n key type defaults to ALL on a HTTP session. \n - REGION_CODE: The country/region from which the request\n originates. \n - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the\n client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the\n key type defaults to ALL. \n - USER_IP: The IP address of the originating client,\n which is resolved based on \"userIpRequestHeaders\" configured with the\n security policy. If there is no \"userIpRequestHeaders\" configuration or\n an IP address cannot be resolved from it, the key type defaults toIP. \n - ASN: The autonomous system number of the originating\n client. If not available, the key type defaults toALL.\n - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the\n client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the\n key type defaults to ALL. \n\n\nFor \"fairshare\" action, this value is limited to ALL i.e. a single rate\nlimit threshold is enforced for all the requests matching the rule.",
"enum": [
"ALL",
+ "ASN",
"HTTP_COOKIE",
"HTTP_HEADER",
"HTTP_PATH",
@@ -95029,6 +101308,7 @@
"",
"",
"",
+ "",
""
],
"type": "string"
@@ -95067,9 +101347,10 @@
"type": "string"
},
"enforceOnKeyType": {
- "description": "Determines the key to enforce the rate_limit_threshold on. Possible\nvalues are:\n \n - ALL: A single rate limit threshold is applied to all\n the requests matching this rule. This is the default value if\n \"enforceOnKeyConfigs\" is not configured.\n - IP: The source IP address of\n the request is the key. Each IP has this limit enforced\n separately.\n - HTTP_HEADER: The value of the HTTP\n header whose name is configured under \"enforceOnKeyName\". The key\n value is truncated to the first 128 bytes of the header value. If no\n such header is present in the request, the key type defaults toALL.\n - XFF_IP: The first IP address (i.e. the\n originating client IP address) specified in the list of IPs under\n X-Forwarded-For HTTP header. If no such header is present or the\n value is not a valid IP, the key defaults to the source IP address of\n the request i.e. key type IP.\n - HTTP_COOKIE: The value of the HTTP\n cookie whose name is configured under \"enforceOnKeyName\". The key\n value is truncated to the first 128 bytes of the cookie value. If no\n such cookie is present in the request, the key type defaults toALL.\n - HTTP_PATH: The URL path of the HTTP request. The key\n value is truncated to the first 128 bytes. \n - SNI: Server name indication in the TLS session of\n the HTTPS request. The key value is truncated to the first 128 bytes.\n The key type defaults to ALL on a HTTP session. \n - REGION_CODE: The country/region from which the\n request originates. \n - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the\n client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the\n key type defaults to ALL. \n - USER_IP: The IP address of the originating client,\n which is resolved based on \"userIpRequestHeaders\" configured with the\n security policy. If there is no \"userIpRequestHeaders\" configuration\n or an IP address cannot be resolved from it, the key type defaults toIP. \n\n- TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the\nclient connects using HTTPS, HTTP/2 or HTTP/3. If not available, the\nkey type defaults to ALL.",
+ "description": "Determines the key to enforce the rate_limit_threshold on. Possible\nvalues are:\n \n - ALL: A single rate limit threshold is applied to all\n the requests matching this rule. This is the default value if\n \"enforceOnKeyConfigs\" is not configured.\n - IP: The source IP address of\n the request is the key. Each IP has this limit enforced\n separately.\n - HTTP_HEADER: The value of the HTTP\n header whose name is configured under \"enforceOnKeyName\". The key\n value is truncated to the first 128 bytes of the header value. If no\n such header is present in the request, the key type defaults toALL.\n - XFF_IP: The first IP address (i.e. the\n originating client IP address) specified in the list of IPs under\n X-Forwarded-For HTTP header. If no such header is present or the\n value is not a valid IP, the key defaults to the source IP address of\n the request i.e. key type IP.\n - HTTP_COOKIE: The value of the HTTP\n cookie whose name is configured under \"enforceOnKeyName\". The key\n value is truncated to the first 128 bytes of the cookie value. If no\n such cookie is present in the request, the key type defaults toALL.\n - HTTP_PATH: The URL path of the HTTP request. The key\n value is truncated to the first 128 bytes. \n - SNI: Server name indication in the TLS session of\n the HTTPS request. The key value is truncated to the first 128 bytes.\n The key type defaults to ALL on a HTTP session. \n - REGION_CODE: The country/region from which the\n request originates. \n - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the\n client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the\n key type defaults to ALL. \n - USER_IP: The IP address of the originating client,\n which is resolved based on \"userIpRequestHeaders\" configured with the\n security policy. If there is no \"userIpRequestHeaders\" configuration\n or an IP address cannot be resolved from it, the key type defaults toIP. \n - ASN: The autonomous system number of the originating\n client. If not available, the key type defaults toALL.\n - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the\n client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the\n key type defaults to ALL.",
"enum": [
"ALL",
+ "ASN",
"HTTP_COOKIE",
"HTTP_HEADER",
"HTTP_PATH",
@@ -95092,6 +101373,7 @@
"",
"",
"",
+ "",
""
],
"type": "string"
@@ -95362,6 +101644,11 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"type": "string"
},
+ "natIpsPerEndpoint": {
+ "description": "The number of NAT IP addresses to be allocated per connected endpoint.\nIf not specified, the default value is 1.",
+ "format": "uint32",
+ "type": "integer"
+ },
"natSubnets": {
"description": "An array of URLs where each entry is the URL of a subnet provided\nby the service producer to use for NAT in this service attachment.",
"items": {
@@ -95545,7 +101832,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -95779,7 +102066,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -95916,7 +102203,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -96364,7 +102651,7 @@
"type": "string"
},
"storageBytesStatus": {
- "description": "Output only. [Output Only] An indicator whether storageBytes is in a\nstable state or it is being adjusted as a result of shared storage\nreallocation. This status can either be UPDATING, meaning\nthe size of the snapshot is being updated, or UP_TO_DATE,\nmeaning the size of the snapshot is up-to-date.",
+ "description": "Output only. [Deprecated] Instead, check the storageBytes field. After\nsnapshot creation, the storageBytesStatus field is alwaysUP_TO_DATE.\n[Output Only] An indicator whether storageBytes is in a\nstable state or it is being adjusted as a result of shared storage\nreallocation. This status can either be unset, meaning the snapshot is\nbeing created, or UP_TO_DATE, meaning the size of the snapshot\nis up-to-date.",
"enum": [
"UPDATING",
"UP_TO_DATE"
@@ -96538,7 +102825,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -96572,7 +102859,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Input only. Resource manager tags to be bound to the snapshot. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
+ "description": "Input only. Resource manager tags to be bound to the snapshot. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
"type": "object"
}
},
@@ -97032,7 +103319,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -97189,7 +103476,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -97402,7 +103689,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -97570,7 +103857,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -97729,7 +104016,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -97878,7 +104165,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -97970,6 +104257,20 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"type": "string"
},
+ "postQuantumKeyExchange": {
+ "description": "One of DEFAULT, ENABLED, orDEFERRED. Controls whether the load balancer negotiates\nX25519MLKEM768 key exchange when clients advertise support for it. When set\nto DEFAULT, or if no SSL Policy is attached to the target\nproxy, the load balancer disallows X25519MLKEM768 key exchange before\nOctober 2026, and allows it afterward. When set to ENABLED,\nthe load balancer allows X25519MLKEM768 key exchange. When set toDEFERRED, the load balancer disallows X25519MLKEM768 key\nexchange until October 2027, and allows it afterward.",
+ "enum": [
+ "DEFAULT",
+ "DEFERRED",
+ "ENABLED"
+ ],
+ "enumDescriptions": [
+ "Default behavior: disabled until October 2026, enabled afterward.",
+ "Disabled until October 2027, enabled afterward.",
+ "Enabled now."
+ ],
+ "type": "string"
+ },
"profile": {
"description": "Profile specifies the set of SSL features that can be used by the load\nbalancer when negotiating SSL with clients. This can be one ofCOMPATIBLE, MODERN, RESTRICTED,FIPS_202205, or CUSTOM. If usingCUSTOM, the set of SSL features to enable must be specified in\nthe customFeatures field. If using FIPS_202205,\nthe min_tls_version field must be set to TLS_1_2.",
"enum": [
@@ -98100,7 +104401,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -98133,7 +104434,6 @@
"id": "SslPolicyReference",
"properties": {
"sslPolicy": {
- "description": "URL of the SSL policy resource. Set this to empty string to clear any\nexisting SSL policy associated with the target proxy resource.",
"type": "string"
}
},
@@ -98269,8 +104569,7 @@
},
"exapoolProvisionedCapacityGb": {
"$ref": "StoragePoolExapoolProvisionedCapacityGb",
- "description": "Output only. [Output Only] Provisioned capacities for each SKU for this Exapool in GiB",
- "readOnly": true
+ "description": "Provisioned capacities for each SKU for this Exapool in GiB"
},
"id": {
"description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
@@ -98359,6 +104658,10 @@
"readOnly": true,
"type": "string"
},
+ "shareSettings": {
+ "$ref": "StoragePoolShareSettings",
+ "description": "Share settings for the storage pool."
+ },
"state": {
"description": "Output only. [Output Only] The status of storage pool creation.\n \n \n - CREATING: Storage pool is provisioning.\n storagePool.\n - FAILED: Storage pool creation failed.\n - READY: Storage pool is ready for use.\n - DELETING: Storage pool is deleting.",
"enum": [
@@ -98535,7 +104838,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -98812,7 +105115,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -98981,7 +105284,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -99016,7 +105319,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Input only. Resource manager tags to be bound to the storage pool. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
+ "description": "Input only. Resource manager tags to be bound to the storage pool. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.",
"type": "object"
}
},
@@ -99103,6 +105406,31 @@
},
"type": "object"
},
+ "StoragePoolShareSettings": {
+ "description": "Share settings for the storage pool.",
+ "id": "StoragePoolShareSettings",
+ "properties": {
+ "projectMap": {
+ "additionalProperties": {
+ "$ref": "StoragePoolShareSettingsProjectConfig"
+ },
+ "description": "A map of project id and project config.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "StoragePoolShareSettingsProjectConfig": {
+ "description": "Config for each project in the share settings.",
+ "id": "StoragePoolShareSettingsProjectConfig",
+ "properties": {
+ "projectId": {
+ "description": "The project ID, should be same as the key of this project config in the\nparent map.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"StoragePoolType": {
"id": "StoragePoolType",
"properties": {
@@ -99323,7 +105651,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -99480,7 +105808,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -99617,7 +105945,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -99754,7 +106082,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -99939,10 +106267,14 @@
"description": "Configures subnet mask resolution for this subnetwork.",
"enum": [
"ARP_ALL_RANGES",
+ "ARP_BROADCAST_PRIMARY_RANGE",
+ "ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING",
"ARP_PRIMARY_RANGE"
],
"enumDescriptions": [
"All ranges assigned to the VM NIC will respond to ARP.",
+ "VMs will receive an ARP response from a VM instance owning the target IP\naddress within the subnetwork's primary CIDR range, if such a VM instance\nexists and is running.",
+ "Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache\nmapping between IP addresses and custom MAC addresses of instances and\nuse of it to set the correct destination MAC address. If this option is\nchosen, the subnetwork must have /24 or a smaller CIDR range.",
"Only the primary range of the VM NIC will respond to ARP."
],
"type": "string"
@@ -100160,7 +106492,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -100317,7 +106649,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -100426,6 +106758,23 @@
"description": "The range of IP addresses belonging to this subnetwork secondary range.\nProvide this property when you create the subnetwork. Ranges must be\nunique and non-overlapping with all primary and secondary IP ranges\nwithin a network. Both IPv4 and IPv6 ranges are supported. For IPv4,\nthe range can be any range listed in theValid\nranges list.\n\nFor IPv6:\nThe range must have a /64 prefix length.\nThe range must be omitted, for auto-allocation from Google-defined ULA\nIPv6 range.\nFor BYOGUA internal IPv6 secondary range, the range may be specified\nalong with the `ipCollection` field.\nIf an `ipCollection` is specified, the requested ip_cidr_range must lie\nwithin the range of the PDP referenced by the `ipCollection` field for\nallocation.\nIf `ipCollection` field is specified, but ip_cidr_range is not,\nthe range is auto-allocated from the PDP referenced by the `ipCollection`\nfield.",
"type": "string"
},
+ "ipCollection": {
+ "description": "Reference to a Public Delegated Prefix (PDP) for BYOIP.\nThis field should be specified for configuring BYOGUA internal IPv6\nsecondary range.\nWhen specified along with the ip_cidr_range, the ip_cidr_range must lie\nwithin the PDP referenced by the `ipCollection` field.\nWhen specified without the ip_cidr_range, the range is auto-allocated\nfrom the PDP referenced by the `ipCollection` field.",
+ "type": "string"
+ },
+ "ipVersion": {
+ "enum": [
+ "IPV4",
+ "IPV6",
+ "IP_VERSION_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "Treated as IPV4 for backward-compatibility."
+ ],
+ "type": "string"
+ },
"rangeName": {
"description": "The name associated with this subnetwork secondary range, used when adding\nan alias IP/IPv6 range to a VM instance.\nThe name must be 1-63 characters long, and comply withRFC1035.\nThe name must be unique within the subnetwork.",
"type": "string"
@@ -100616,7 +106965,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -100750,7 +107099,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -101062,7 +107411,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -101199,7 +107548,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -101456,7 +107805,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -101593,7 +107942,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -101913,7 +108262,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -102070,7 +108419,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -102298,7 +108647,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -102455,7 +108804,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -102592,7 +108941,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -102623,7 +108972,7 @@
"id": "TargetPool",
"properties": {
"backupPool": {
- "description": "The server-defined URL for the resource. This field is applicable only when\nthe containing target pool is serving a forwarding rule as the primary\npool, and its failoverRatio field is properly set to a value\nbetween [0, 1].backupPool and failoverRatio together define\nthe fallback behavior of the primary target pool: if the ratio of the\nhealthy instances in the primary pool is at or belowfailoverRatio, traffic arriving at the load-balanced\nIP will be directed to the backup pool.\n\nIn case where failoverRatio and backupPool\nare not set, or all the instances in the backup pool are unhealthy,\nthe traffic will be directed back to the primary pool in the \"force\"\nmode, where traffic will be spread to the healthy instances with the\nbest effort, or to all instances when no instance is healthy.",
+ "description": "The server-defined URL for the resource. This field is applicable only when\nthe containing target pool is serving a forwarding rule as the primary\npool, and its failoverRatio field is properly set to a value\nbetween [0, 1].\nbackupPool and failoverRatio together define\nthe fallback behavior of the primary target pool: if the ratio of the\nhealthy instances in the primary pool is at or belowfailoverRatio, traffic arriving at the load-balanced\nIP will be directed to the backup pool.\n\nIn case where failoverRatio and backupPool\nare not set, or all the instances in the backup pool are unhealthy,\nthe traffic will be directed back to the primary pool in the \"force\"\nmode, where traffic will be spread to the healthy instances with the\nbest effort, or to all instances when no instance is healthy.",
"type": "string"
},
"creationTimestamp": {
@@ -102851,7 +109200,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -103026,7 +109375,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -103215,7 +109564,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -103499,7 +109848,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -103636,7 +109985,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -103714,6 +110063,22 @@
"readOnly": true,
"type": "string"
},
+ "loadBalancingScheme": {
+ "description": "Specifies the type of load balancing scheme used by this target proxy.",
+ "enum": [
+ "EXTERNAL",
+ "EXTERNAL_MANAGED",
+ "INTERNAL_MANAGED",
+ "LOAD_BALANCING_SCHEME_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ ""
+ ],
+ "type": "string"
+ },
"name": {
"description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
@@ -103890,7 +110255,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -104047,7 +110412,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -104312,7 +110677,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -104469,7 +110834,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -104619,7 +110984,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -104718,6 +111083,21 @@
},
"type": "object"
},
+ "TimeZone": {
+ "description": "Represents a time zone from the\n[IANA Time Zone Database](https://www.iana.org/time-zones).",
+ "id": "TimeZone",
+ "properties": {
+ "id": {
+ "description": "IANA Time Zone Database time zone. For example \"America/New_York\".",
+ "type": "string"
+ },
+ "version": {
+ "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"Uint128": {
"id": "Uint128",
"properties": {
@@ -105051,7 +111431,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -105306,7 +111686,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -105443,7 +111823,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -105520,6 +111900,10 @@
"pathTemplateRewrite": {
"description": "If specified, the pattern rewrites the URL path (based on the :path\nheader) using the HTTP template syntax. \n\nA corresponding\npath_template_match must be specified. Any template variables must exist in\nthe path_template_match field. \n \n \n - -At least one variable must be specified in the path_template_match\n field \n - You can omit variables from the rewritten URL\n - The * and ** operators cannot be matched\n unless they have a corresponding variable name - e.g.\n {format=*} or {var=**}.\n\nFor example, a path_template_match of /static/{format=**}\ncould be rewritten as /static/content/{format} to prefix/content to the URL. Variables can also be re-ordered in a\nrewrite, so that /{country}/{format}/{suffix=**} can be\nrewritten as /content/{format}/{country}/{suffix}. \n\nAt least\none non-empty routeRules[].matchRules[].path_template_match is\nrequired. \n\nOnly one of path_prefix_rewrite orpath_template_rewrite may be specified.",
"type": "string"
+ },
+ "regexRewrite": {
+ "$ref": "RegexRewrite",
+ "description": "The regex rewrite to be applied to the URL. Only one ofpathPrefixRewrite, pathTemplateRewrite, orregexRewrite may be specified."
}
},
"type": "object"
@@ -105782,7 +112166,429 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "UsageExportLocation": {
+ "description": "The location in Cloud Storage and naming method of the daily usage\nreport. Contains bucket_name and report_name prefix.",
+ "id": "UsageExportLocation",
+ "properties": {
+ "bucketName": {
+ "description": "The name of an existing bucket in Cloud Storage where the usage report\nobject is stored. The Google Service Account is granted write access to\nthis bucket. This can either be the bucket name by itself, such asexample-bucket, or the bucket name with gs://\nor https://storage.googleapis.com/ in front of it, such\nas gs://example-bucket.",
+ "type": "string"
+ },
+ "reportNamePrefix": {
+ "description": "An optional prefix for the name of the usage report object stored inbucketName. If not supplied, defaults tousage_gce. The report is stored as a CSV file namedreport_name_prefix_gce_YYYYMMDD.csv whereYYYYMMDD is the day of the usage according to Pacific Time.\nIf you supply a prefix, it should conform to Cloud Storageobject naming\nconventions.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VmEndpointNatMappings": {
+ "description": "Contain information of Nat mapping for a VM endpoint (i.e., NIC).",
+ "id": "VmEndpointNatMappings",
+ "properties": {
+ "instanceName": {
+ "description": "Output only. Name of the VM instance which the endpoint belongs to",
+ "readOnly": true,
+ "type": "string"
+ },
+ "interfaceNatMappings": {
+ "items": {
+ "$ref": "VmEndpointNatMappingsInterfaceNatMappings"
+ },
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "VmEndpointNatMappingsInterfaceNatMappings": {
+ "description": "Contain information of Nat mapping for an interface of this endpoint.",
+ "id": "VmEndpointNatMappingsInterfaceNatMappings",
+ "properties": {
+ "drainNatIpPortRanges": {
+ "description": "Output only. List of all drain IP:port-range mappings assigned to this interface.\nThese ranges are inclusive, that is, both the first and the last\nports can be used for NAT. Example: [\"2.2.2.2:12345-12355\",\n\"1.1.1.1:2234-2234\"].",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "natIpPortRanges": {
+ "description": "Output only. A list of all IP:port-range mappings assigned to this interface.\nThese ranges are inclusive, that is, both the first and the last\nports can be used for NAT. Example: [\"2.2.2.2:12345-12355\",\n\"1.1.1.1:2234-2234\"].",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "numTotalDrainNatPorts": {
+ "description": "Output only. Total number of drain ports across all NAT IPs allocated to this\ninterface. It equals to the aggregated port number in the field\ndrain_nat_ip_port_ranges.",
+ "format": "int32",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "numTotalNatPorts": {
+ "description": "Output only. Total number of ports across all NAT IPs allocated to this interface.\nIt equals to the aggregated port number in the field nat_ip_port_ranges.",
+ "format": "int32",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "ruleMappings": {
+ "description": "Output only. Information about mappings provided by rules in this NAT.",
+ "items": {
+ "$ref": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "sourceAliasIpRange": {
+ "description": "Output only. Alias IP range for this interface endpoint.\nIt will be a private (RFC 1918) IP range.\nExamples: \"10.33.4.55/32\", or \"192.168.5.0/24\".",
+ "readOnly": true,
+ "type": "string"
+ },
+ "sourceVirtualIp": {
+ "description": "Output only. Primary IP of the VM for this NIC.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings": {
+ "description": "Contains information of NAT Mappings provided by a NAT Rule.",
+ "id": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings",
+ "properties": {
+ "drainNatIpPortRanges": {
+ "description": "Output only. List of all drain IP:port-range mappings assigned to this interface\nby this rule.\nThese ranges are inclusive, that is, both the first and the last\nports can be used for NAT. Example: [\"2.2.2.2:12345-12355\",\n\"1.1.1.1:2234-2234\"].",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "natIpPortRanges": {
+ "description": "Output only. A list of all IP:port-range mappings assigned to this interface by this\nrule.\nThese ranges are inclusive, that is, both the first and the last\nports can be used for NAT. Example: [\"2.2.2.2:12345-12355\",\n\"1.1.1.1:2234-2234\"].",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "numTotalDrainNatPorts": {
+ "description": "Output only. Total number of drain ports across all NAT IPs allocated to this\ninterface by this rule.\nIt equals the aggregated port number in the field\ndrain_nat_ip_port_ranges.",
+ "format": "int32",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "numTotalNatPorts": {
+ "description": "Output only. Total number of ports across all NAT IPs allocated to this interface\nby this rule.\nIt equals the aggregated port number in the field nat_ip_port_ranges.",
+ "format": "int32",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "ruleNumber": {
+ "description": "Output only. Rule number of the NAT Rule.",
+ "format": "int32",
+ "readOnly": true,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "VmEndpointNatMappingsList": {
+ "description": "Contains a list of VmEndpointNatMappings.",
+ "id": "VmEndpointNatMappingsList",
+ "properties": {
+ "id": {
+ "description": "[Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "type": "string"
+ },
+ "kind": {
+ "default": "compute#vmEndpointNatMappingsList",
+ "description": "Output only. [Output Only] Type of resource. Alwayscompute#vmEndpointNatMappingsList for lists of Nat mappings of\nVM endpoints.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "nextPageToken": {
+ "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
+ "type": "string"
+ },
+ "result": {
+ "description": "[Output Only] A list of Nat mapping information of VM endpoints.",
+ "items": {
+ "$ref": "VmEndpointNatMappings"
+ },
+ "type": "array"
+ },
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "warning": {
+ "description": "[Output Only] Informational warning message.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
+ "items": {
+ "properties": {
+ "key": {
+ "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
+ "type": "string"
+ },
+ "value": {
+ "description": "[Output Only] A warning data value corresponding to the key.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "[Output Only] A human-readable description of the warning code.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "VmExtensionPoliciesScopedList": {
+ "id": "VmExtensionPoliciesScopedList",
+ "properties": {
+ "vmExtensionPolicies": {
+ "description": "List of VmExtensionPolicy resources contained in this scope.",
+ "items": {
+ "$ref": "VmExtensionPolicy"
+ },
+ "type": "array"
+ },
+ "warning": {
+ "description": "Informational warning which replaces the list of\nbackend services when the list is empty.",
+ "properties": {
+ "code": {
+ "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DEPRECATED_TYPE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "EXPERIMENTAL_TYPE_USED",
+ "EXTERNAL_API_WARNING",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
+ "LARGE_DEPLOYMENT_WARNING",
+ "LIST_OVERHEAD_QUOTA_EXCEED",
+ "MISSING_TYPE_DEPENDENCY",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "PARTIAL_SUCCESS",
+ "QUOTA_INFO_UNAVAILABLE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SCHEMA_VALIDATION_IGNORED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNDECLARED_PROPERTIES",
+ "UNREACHABLE"
+ ],
+ "enumDeprecated": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "enumDescriptions": [
+ "Warning about failed cleanup of transient changes made by a failed\noperation.",
+ "A link to a deprecated resource was created.",
+ "When deploying and at least one of the resources has a type marked as\ndeprecated",
+ "The user created a boot disk that is larger than image size.",
+ "When deploying and at least one of the resources has a type marked as\nexperimental",
+ "Warning that is present in an external api call",
+ "Warning that value of a field has been overridden.\nDeprecated unused field.",
+ "The operation involved use of an injected kernel, which is deprecated.",
+ "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.",
+ "When deploying a deployment with a exceedingly large number of resources",
+ "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.",
+ "A resource depends on a missing type",
+ "The route's nextHopIp address is not assigned to an instance on the\nnetwork.",
+ "The route's next hop instance cannot ip forward.",
+ "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.",
+ "The route's nextHopInstance URL refers to an instance that does not exist.",
+ "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.",
+ "The route's next hop instance does not have a status of RUNNING.",
+ "Error which is not critical. We decided to continue the process despite\nthe mentioned error.",
+ "No results are present on a particular list page.",
+ "Success is reported, but some results may be missing due to errors",
+ "Quota information is not available to client requests (e.g:\nregions.list).",
+ "The user attempted to use a resource that requires a TOS they have not\naccepted.",
+ "Warning that a resource is in use.",
+ "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.",
+ "When a resource schema validation is ignored.",
+ "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.",
+ "When undeclared properties in the schema are present",
+ "A given scope cannot be reached."
+ ],
+ "type": "string"
+ },
+ "data": {
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -105808,145 +112614,125 @@
},
"type": "object"
},
- "UsageExportLocation": {
- "description": "The location in Cloud Storage and naming method of the daily usage\nreport. Contains bucket_name and report_name prefix.",
- "id": "UsageExportLocation",
- "properties": {
- "bucketName": {
- "description": "The name of an existing bucket in Cloud Storage where the usage report\nobject is stored. The Google Service Account is granted write access to\nthis bucket. This can either be the bucket name by itself, such asexample-bucket, or the bucket name with gs://\nor https://storage.googleapis.com/ in front of it, such\nas gs://example-bucket.",
- "type": "string"
- },
- "reportNamePrefix": {
- "description": "An optional prefix for the name of the usage report object stored inbucketName. If not supplied, defaults tousage_gce. The report is stored as a CSV file namedreport_name_prefix_gce_YYYYMMDD.csv whereYYYYMMDD is the day of the usage according to Pacific Time.\nIf you supply a prefix, it should conform to Cloud Storageobject naming\nconventions.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "VmEndpointNatMappings": {
- "description": "Contain information of Nat mapping for a VM endpoint (i.e., NIC).",
- "id": "VmEndpointNatMappings",
+ "VmExtensionPolicy": {
+ "description": "Represents a VM extension policy.",
+ "id": "VmExtensionPolicy",
"properties": {
- "instanceName": {
- "description": "Output only. Name of the VM instance which the endpoint belongs to",
+ "creationTimestamp": {
+ "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.",
"readOnly": true,
"type": "string"
},
- "interfaceNatMappings": {
- "items": {
- "$ref": "VmEndpointNatMappingsInterfaceNatMappings"
- },
- "readOnly": true,
- "type": "array"
- }
- },
- "type": "object"
- },
- "VmEndpointNatMappingsInterfaceNatMappings": {
- "description": "Contain information of Nat mapping for an interface of this endpoint.",
- "id": "VmEndpointNatMappingsInterfaceNatMappings",
- "properties": {
- "drainNatIpPortRanges": {
- "description": "Output only. List of all drain IP:port-range mappings assigned to this interface.\nThese ranges are inclusive, that is, both the first and the last\nports can be used for NAT. Example: [\"2.2.2.2:12345-12355\",\n\"1.1.1.1:2234-2234\"].",
- "items": {
- "type": "string"
- },
- "readOnly": true,
- "type": "array"
+ "description": {
+ "description": "An optional description of this resource.",
+ "type": "string"
},
- "natIpPortRanges": {
- "description": "Output only. A list of all IP:port-range mappings assigned to this interface.\nThese ranges are inclusive, that is, both the first and the last\nports can be used for NAT. Example: [\"2.2.2.2:12345-12355\",\n\"1.1.1.1:2234-2234\"].",
- "items": {
- "type": "string"
+ "extensionPolicies": {
+ "additionalProperties": {
+ "$ref": "VmExtensionPolicyExtensionPolicy"
},
- "readOnly": true,
- "type": "array"
+ "description": "Required. A map of extension names (for example, \"ops-agent\") to their corresponding\npolicy configurations.",
+ "type": "object"
},
- "numTotalDrainNatPorts": {
- "description": "Output only. Total number of drain ports across all NAT IPs allocated to this\ninterface. It equals to the aggregated port number in the field\ndrain_nat_ip_port_ranges.",
- "format": "int32",
+ "globalResourceLink": {
+ "description": "Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if\napplicable.",
"readOnly": true,
- "type": "integer"
+ "type": "string"
},
- "numTotalNatPorts": {
- "description": "Output only. Total number of ports across all NAT IPs allocated to this interface.\nIt equals to the aggregated port number in the field nat_ip_port_ranges.",
- "format": "int32",
+ "id": {
+ "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "format": "uint64",
"readOnly": true,
- "type": "integer"
+ "type": "string"
},
- "ruleMappings": {
- "description": "Output only. Information about mappings provided by rules in this NAT.",
+ "instanceSelectors": {
+ "description": "Optional. Selectors to target VMs for this policy. VMs are selected if they match\n*any* of the provided selectors (logical OR). If this list is empty, the\npolicy applies to all VMs.",
"items": {
- "$ref": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings"
+ "$ref": "VmExtensionPolicyInstanceSelector"
},
- "readOnly": true,
"type": "array"
},
- "sourceAliasIpRange": {
- "description": "Output only. Alias IP range for this interface endpoint.\nIt will be a private (RFC 1918) IP range.\nExamples: \"10.33.4.55/32\", or \"192.168.5.0/24\".",
+ "kind": {
+ "default": "compute#vmExtensionPolicy",
+ "description": "Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.",
"readOnly": true,
"type": "string"
},
- "sourceVirtualIp": {
- "description": "Output only. Primary IP of the VM for this NIC.",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- },
- "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings": {
- "description": "Contains information of NAT Mappings provided by a NAT Rule.",
- "id": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings",
- "properties": {
- "drainNatIpPortRanges": {
- "description": "Output only. List of all drain IP:port-range mappings assigned to this interface\nby this rule.\nThese ranges are inclusive, that is, both the first and the last\nports can be used for NAT. Example: [\"2.2.2.2:12345-12355\",\n\"1.1.1.1:2234-2234\"].",
- "items": {
- "type": "string"
- },
+ "managedByGlobal": {
+ "description": "Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.",
"readOnly": true,
- "type": "array"
+ "type": "boolean"
},
- "natIpPortRanges": {
- "description": "Output only. A list of all IP:port-range mappings assigned to this interface by this\nrule.\nThese ranges are inclusive, that is, both the first and the last\nports can be used for NAT. Example: [\"2.2.2.2:12345-12355\",\n\"1.1.1.1:2234-2234\"].",
- "items": {
- "type": "string"
+ "name": {
+ "annotations": {
+ "required": [
+ "compute.zoneVmExtensionPolicies.insert"
+ ]
},
- "readOnly": true,
- "type": "array"
+ "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?`\nwhich means the first character must be a lowercase letter, and all\nfollowing characters must be a dash, lowercase letter, or digit, except\nthe last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "type": "string"
},
- "numTotalDrainNatPorts": {
- "description": "Output only. Total number of drain ports across all NAT IPs allocated to this\ninterface by this rule.\nIt equals the aggregated port number in the field\ndrain_nat_ip_port_ranges.",
+ "priority": {
+ "description": "Optional. Priority of this policy. Used to resolve conflicts when multiple policies\napply to the same extension.\nThe policy priority is an integer from 0 to 65535, inclusive. Lower\nintegers indicate higher priorities. If you do not specify a priority when\ncreating a rule, it is assigned a priority of 1000. If priorities are\nequal, the policy with the most recent creation timestamp takes precedence.",
"format": "int32",
- "readOnly": true,
"type": "integer"
},
- "numTotalNatPorts": {
- "description": "Output only. Total number of ports across all NAT IPs allocated to this interface\nby this rule.\nIt equals the aggregated port number in the field nat_ip_port_ranges.",
- "format": "int32",
+ "selfLink": {
+ "description": "Output only. [Output Only] Server-defined fully-qualified URL for this resource.",
"readOnly": true,
- "type": "integer"
+ "type": "string"
},
- "ruleNumber": {
- "description": "Output only. Rule number of the NAT Rule.",
- "format": "int32",
+ "selfLinkWithId": {
+ "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.",
"readOnly": true,
- "type": "integer"
+ "type": "string"
+ },
+ "state": {
+ "description": "Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.",
+ "enum": [
+ "ACTIVE",
+ "DELETING",
+ "STATE_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "The policy is active and applied to matching VMs.\nNewly created VMs that match the policy will also receive the\nextension policy.",
+ "The policy is in the process of being deleted. After the extension is\nremoved from all matching VMs, the policy will be deleted.",
+ "Default value. Do not use."
+ ],
+ "readOnly": true,
+ "type": "string"
+ },
+ "updateTimestamp": {
+ "description": "Output only. [Output Only] Update timestamp inRFC3339\ntext format.",
+ "readOnly": true,
+ "type": "string"
}
},
"type": "object"
},
- "VmEndpointNatMappingsList": {
- "description": "Contains a list of VmEndpointNatMappings.",
- "id": "VmEndpointNatMappingsList",
+ "VmExtensionPolicyAggregatedListResponse": {
+ "description": "Response for the aggregated list of VM extension policies.",
+ "id": "VmExtensionPolicyAggregatedListResponse",
"properties": {
+ "etag": {
+ "type": "string"
+ },
"id": {
- "description": "[Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
+ "description": "[Output Only] Unique identifier for the resource; defined by the server.",
"type": "string"
},
+ "items": {
+ "additionalProperties": {
+ "$ref": "VmExtensionPoliciesScopedList",
+ "description": "Name of the scope containing this set of VmExtensionPolicies."
+ },
+ "description": "A list of VmExtensionPoliciesScopedList resources.",
+ "type": "object"
+ },
"kind": {
- "default": "compute#vmEndpointNatMappingsList",
- "description": "Output only. [Output Only] Type of resource. Alwayscompute#vmEndpointNatMappingsList for lists of Nat mappings of\nVM endpoints.",
+ "default": "compute#VmExtensionPolicyAggregatedList",
+ "description": "Output only. [Output Only] Type of resource. Alwayscompute#VmExtensionPolicyAggregatedList for lists of\nVmExtensionPolicies.",
"readOnly": true,
"type": "string"
},
@@ -105954,18 +112740,19 @@
"description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
"type": "string"
},
- "result": {
- "description": "[Output Only] A list of Nat mapping information of VM endpoints.",
- "items": {
- "$ref": "VmEndpointNatMappings"
- },
- "type": "array"
- },
"selfLink": {
"description": "Output only. [Output Only] Server-defined URL for this resource.",
"readOnly": true,
"type": "string"
},
+ "unreachables": {
+ "description": "Output only. [Output Only] Unreachable resources.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
"warning": {
"description": "[Output Only] Informational warning message.",
"properties": {
@@ -106067,7 +112854,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -106093,103 +112880,6 @@
},
"type": "object"
},
- "VmExtensionPolicy": {
- "description": "Represents a VM extension policy.",
- "id": "VmExtensionPolicy",
- "properties": {
- "creationTimestamp": {
- "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.",
- "readOnly": true,
- "type": "string"
- },
- "description": {
- "description": "An optional description of this resource.",
- "type": "string"
- },
- "extensionPolicies": {
- "additionalProperties": {
- "$ref": "VmExtensionPolicyExtensionPolicy"
- },
- "description": "Required. A map of extension names (for example, \"ops-agent\") to their corresponding\npolicy configurations.",
- "type": "object"
- },
- "globalResourceLink": {
- "description": "Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if\napplicable.",
- "readOnly": true,
- "type": "string"
- },
- "id": {
- "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
- "format": "uint64",
- "readOnly": true,
- "type": "string"
- },
- "instanceSelectors": {
- "description": "Optional. Selectors to target VMs for this policy. VMs are selected if they match\n*any* of the provided selectors (logical OR). If this list is empty, the\npolicy applies to all VMs.",
- "items": {
- "$ref": "VmExtensionPolicyInstanceSelector"
- },
- "type": "array"
- },
- "kind": {
- "default": "compute#vmExtensionPolicy",
- "description": "Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.",
- "readOnly": true,
- "type": "string"
- },
- "managedByGlobal": {
- "description": "Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.",
- "readOnly": true,
- "type": "boolean"
- },
- "name": {
- "annotations": {
- "required": [
- "compute.zoneVmExtensionPolicies.insert"
- ]
- },
- "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?`\nwhich means the first character must be a lowercase letter, and all\nfollowing characters must be a dash, lowercase letter, or digit, except\nthe last character, which cannot be a dash.",
- "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
- "type": "string"
- },
- "priority": {
- "description": "Optional. Priority of this policy. Used to resolve conflicts when multiple policies\napply to the same extension.\nThe policy priority is an integer from 0 to 65535, inclusive. Lower\nintegers indicate higher priorities. If you do not specify a priority when\ncreating a rule, it is assigned a priority of 1000. If priorities are\nequal, the policy with the most recent creation timestamp takes precedence.",
- "format": "int32",
- "type": "integer"
- },
- "selfLink": {
- "description": "Output only. [Output Only] Server-defined fully-qualified URL for this resource.",
- "readOnly": true,
- "type": "string"
- },
- "selfLinkWithId": {
- "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.",
- "readOnly": true,
- "type": "string"
- },
- "state": {
- "description": "Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.",
- "enum": [
- "ACTIVE",
- "DELETING",
- "STATE_UNSPECIFIED"
- ],
- "enumDescriptions": [
- "The policy is active and applied to matching VMs.\nNewly created VMs that match the policy will also receive the\nextension policy.",
- "The policy is in the process of being deleted. After the extension is\nremoved from all matching VMs, the policy will be deleted.",
- "Default value. Do not use."
- ],
- "readOnly": true,
- "type": "string"
- },
- "updateTimestamp": {
- "description": "Output only. [Output Only] Update timestamp inRFC3339\ntext format.",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- },
"VmExtensionPolicyExtensionPolicy": {
"description": "Configuration for a specific VM extension.",
"id": "VmExtensionPolicyExtensionPolicy",
@@ -106376,7 +113066,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -106648,7 +113338,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -106805,7 +113495,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -107086,7 +113776,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -107415,7 +114105,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -107584,7 +114274,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -107788,7 +114478,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -108164,7 +114854,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -108400,7 +115090,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -108491,6 +115181,10 @@
"description": "[Output Only] Full URL reference to the region which hosts the zone.",
"type": "string"
},
+ "resourceStatus": {
+ "$ref": "ZoneResourceStatus",
+ "readOnly": true
+ },
"selfLink": {
"description": "[Output Only] Server-defined URL for the resource.",
"type": "string"
@@ -108646,7 +115340,7 @@
"type": "string"
},
"data": {
- "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }",
+ "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]",
"items": {
"properties": {
"key": {
@@ -108672,6 +115366,20 @@
},
"type": "object"
},
+ "ZoneResourceStatus": {
+ "id": "ZoneResourceStatus",
+ "properties": {
+ "upcomingMaintenances": {
+ "description": "Output only. [Output Only] The upcoming maintenance schedule.",
+ "items": {
+ "$ref": "PeriodicPartialMaintenanceSchedule"
+ },
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
"ZoneSetLabelsRequest": {
"id": "ZoneSetLabelsRequest",
"properties": {
@@ -108736,7 +115444,7 @@
}
},
"servicePath": "compute/v1/",
- "serviceVersion": "v1",
+ "serviceVersion": "2026-09-01",
"title": "Compute Engine API",
"version": "v1"
}
\ No newline at end of file
diff --git a/vendor/google.golang.org/api/compute/v1/compute-gen.go b/vendor/google.golang.org/api/compute/v1/compute-gen.go
index ded7368c5..8e8344414 100644
--- a/vendor/google.golang.org/api/compute/v1/compute-gen.go
+++ b/vendor/google.golang.org/api/compute/v1/compute-gen.go
@@ -162,14 +162,18 @@ func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, err
s.FutureReservations = NewFutureReservationsService(s)
s.GlobalAddresses = NewGlobalAddressesService(s)
s.GlobalForwardingRules = NewGlobalForwardingRulesService(s)
+ s.GlobalFrontendSettings = NewGlobalFrontendSettingsService(s)
s.GlobalNetworkEndpointGroups = NewGlobalNetworkEndpointGroupsService(s)
s.GlobalOperations = NewGlobalOperationsService(s)
s.GlobalOrganizationOperations = NewGlobalOrganizationOperationsService(s)
s.GlobalPublicDelegatedPrefixes = NewGlobalPublicDelegatedPrefixesService(s)
+ s.GlobalVmExtensionPolicies = NewGlobalVmExtensionPoliciesService(s)
s.HealthChecks = NewHealthChecksService(s)
+ s.Hosts = NewHostsService(s)
s.HttpHealthChecks = NewHttpHealthChecksService(s)
s.HttpsHealthChecks = NewHttpsHealthChecksService(s)
s.ImageFamilyViews = NewImageFamilyViewsService(s)
+ s.ImageViews = NewImageViewsService(s)
s.Images = NewImagesService(s)
s.InstanceGroupManagerResizeRequests = NewInstanceGroupManagerResizeRequestsService(s)
s.InstanceGroupManagers = NewInstanceGroupManagersService(s)
@@ -189,6 +193,7 @@ func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, err
s.Licenses = NewLicensesService(s)
s.MachineImages = NewMachineImagesService(s)
s.MachineTypes = NewMachineTypesService(s)
+ s.ManagedRulesets = NewManagedRulesetsService(s)
s.NetworkAttachments = NewNetworkAttachmentsService(s)
s.NetworkEdgeSecurityServices = NewNetworkEdgeSecurityServicesService(s)
s.NetworkEndpointGroups = NewNetworkEndpointGroupsService(s)
@@ -201,6 +206,7 @@ func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, err
s.OrganizationSecurityPolicies = NewOrganizationSecurityPoliciesService(s)
s.PacketMirrorings = NewPacketMirroringsService(s)
s.PreviewFeatures = NewPreviewFeaturesService(s)
+ s.ProjectViews = NewProjectViewsService(s)
s.Projects = NewProjectsService(s)
s.PublicAdvertisedPrefixes = NewPublicAdvertisedPrefixesService(s)
s.PublicDelegatedPrefixes = NewPublicDelegatedPrefixesService(s)
@@ -237,11 +243,14 @@ func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, err
s.RegionUrlMaps = NewRegionUrlMapsService(s)
s.RegionZones = NewRegionZonesService(s)
s.Regions = NewRegionsService(s)
+ s.ReliabilityRisks = NewReliabilityRisksService(s)
s.ReservationBlocks = NewReservationBlocksService(s)
s.ReservationSlots = NewReservationSlotsService(s)
s.ReservationSubBlocks = NewReservationSubBlocksService(s)
s.Reservations = NewReservationsService(s)
s.ResourcePolicies = NewResourcePoliciesService(s)
+ s.RolloutPlans = NewRolloutPlansService(s)
+ s.Rollouts = NewRolloutsService(s)
s.Routers = NewRoutersService(s)
s.Routes = NewRoutesService(s)
s.SecurityPolicies = NewSecurityPoliciesService(s)
@@ -324,6 +333,8 @@ type Service struct {
GlobalForwardingRules *GlobalForwardingRulesService
+ GlobalFrontendSettings *GlobalFrontendSettingsService
+
GlobalNetworkEndpointGroups *GlobalNetworkEndpointGroupsService
GlobalOperations *GlobalOperationsService
@@ -332,14 +343,20 @@ type Service struct {
GlobalPublicDelegatedPrefixes *GlobalPublicDelegatedPrefixesService
+ GlobalVmExtensionPolicies *GlobalVmExtensionPoliciesService
+
HealthChecks *HealthChecksService
+ Hosts *HostsService
+
HttpHealthChecks *HttpHealthChecksService
HttpsHealthChecks *HttpsHealthChecksService
ImageFamilyViews *ImageFamilyViewsService
+ ImageViews *ImageViewsService
+
Images *ImagesService
InstanceGroupManagerResizeRequests *InstanceGroupManagerResizeRequestsService
@@ -378,6 +395,8 @@ type Service struct {
MachineTypes *MachineTypesService
+ ManagedRulesets *ManagedRulesetsService
+
NetworkAttachments *NetworkAttachmentsService
NetworkEdgeSecurityServices *NetworkEdgeSecurityServicesService
@@ -402,6 +421,8 @@ type Service struct {
PreviewFeatures *PreviewFeaturesService
+ ProjectViews *ProjectViewsService
+
Projects *ProjectsService
PublicAdvertisedPrefixes *PublicAdvertisedPrefixesService
@@ -474,6 +495,8 @@ type Service struct {
Regions *RegionsService
+ ReliabilityRisks *ReliabilityRisksService
+
ReservationBlocks *ReservationBlocksService
ReservationSlots *ReservationSlotsService
@@ -484,6 +507,10 @@ type Service struct {
ResourcePolicies *ResourcePoliciesService
+ RolloutPlans *RolloutPlansService
+
+ Rollouts *RolloutsService
+
Routers *RoutersService
Routes *RoutesService
@@ -688,6 +715,15 @@ type GlobalForwardingRulesService struct {
s *Service
}
+func NewGlobalFrontendSettingsService(s *Service) *GlobalFrontendSettingsService {
+ rs := &GlobalFrontendSettingsService{s: s}
+ return rs
+}
+
+type GlobalFrontendSettingsService struct {
+ s *Service
+}
+
func NewGlobalNetworkEndpointGroupsService(s *Service) *GlobalNetworkEndpointGroupsService {
rs := &GlobalNetworkEndpointGroupsService{s: s}
return rs
@@ -724,6 +760,15 @@ type GlobalPublicDelegatedPrefixesService struct {
s *Service
}
+func NewGlobalVmExtensionPoliciesService(s *Service) *GlobalVmExtensionPoliciesService {
+ rs := &GlobalVmExtensionPoliciesService{s: s}
+ return rs
+}
+
+type GlobalVmExtensionPoliciesService struct {
+ s *Service
+}
+
func NewHealthChecksService(s *Service) *HealthChecksService {
rs := &HealthChecksService{s: s}
return rs
@@ -733,6 +778,15 @@ type HealthChecksService struct {
s *Service
}
+func NewHostsService(s *Service) *HostsService {
+ rs := &HostsService{s: s}
+ return rs
+}
+
+type HostsService struct {
+ s *Service
+}
+
func NewHttpHealthChecksService(s *Service) *HttpHealthChecksService {
rs := &HttpHealthChecksService{s: s}
return rs
@@ -760,6 +814,15 @@ type ImageFamilyViewsService struct {
s *Service
}
+func NewImageViewsService(s *Service) *ImageViewsService {
+ rs := &ImageViewsService{s: s}
+ return rs
+}
+
+type ImageViewsService struct {
+ s *Service
+}
+
func NewImagesService(s *Service) *ImagesService {
rs := &ImagesService{s: s}
return rs
@@ -931,6 +994,15 @@ type MachineTypesService struct {
s *Service
}
+func NewManagedRulesetsService(s *Service) *ManagedRulesetsService {
+ rs := &ManagedRulesetsService{s: s}
+ return rs
+}
+
+type ManagedRulesetsService struct {
+ s *Service
+}
+
func NewNetworkAttachmentsService(s *Service) *NetworkAttachmentsService {
rs := &NetworkAttachmentsService{s: s}
return rs
@@ -1039,6 +1111,15 @@ type PreviewFeaturesService struct {
s *Service
}
+func NewProjectViewsService(s *Service) *ProjectViewsService {
+ rs := &ProjectViewsService{s: s}
+ return rs
+}
+
+type ProjectViewsService struct {
+ s *Service
+}
+
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
return rs
@@ -1363,6 +1444,15 @@ type RegionsService struct {
s *Service
}
+func NewReliabilityRisksService(s *Service) *ReliabilityRisksService {
+ rs := &ReliabilityRisksService{s: s}
+ return rs
+}
+
+type ReliabilityRisksService struct {
+ s *Service
+}
+
func NewReservationBlocksService(s *Service) *ReservationBlocksService {
rs := &ReservationBlocksService{s: s}
return rs
@@ -1408,6 +1498,24 @@ type ResourcePoliciesService struct {
s *Service
}
+func NewRolloutPlansService(s *Service) *RolloutPlansService {
+ rs := &RolloutPlansService{s: s}
+ return rs
+}
+
+type RolloutPlansService struct {
+ s *Service
+}
+
+func NewRolloutsService(s *Service) *RolloutsService {
+ rs := &RolloutsService{s: s}
+ return rs
+}
+
+type RolloutsService struct {
+ s *Service
+}
+
func NewRoutersService(s *Service) *RoutersService {
rs := &RoutersService{s: s}
return rs
@@ -1837,6 +1945,13 @@ type AcceleratorType struct {
MaximumCardsPerInstance int64 `json:"maximumCardsPerInstance,omitempty"`
// Name: [Output Only] Name of the resource.
Name string `json:"name,omitempty"`
+ // ResourceMetadata: Output only. Contains standard resource metadata for an
+ // AcceleratorType
+ // resource. It is populated for each instance of the AcceleratorType
+ // resource, and includes the api_version the
+ // instance was retrieved through, and its canonical
+ // resource_type name.
+ ResourceMetadata *ResourceMetadata `json:"resourceMetadata,omitempty"`
// SelfLink: Output only. [Output Only] Server-defined, fully qualified URL for
// this resource.
SelfLink string `json:"selfLink,omitempty"`
@@ -1998,7 +2113,7 @@ type AcceleratorTypeAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AcceleratorTypeAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -2179,7 +2294,7 @@ type AcceleratorTypeListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AcceleratorTypeListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -2346,7 +2461,7 @@ type AcceleratorTypesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AcceleratorTypesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -2545,24 +2660,41 @@ type Address struct {
// identifier is
// defined by the server.
Id uint64 `json:"id,omitempty,string"`
- // IpCollection: Reference to the source of external IPv4 addresses,
- // like a PublicDelegatedPrefix (PDP) for BYOIP.
- // The PDP must support enhanced IPv4 allocations.
+ // IpCollection: Reference to the source of IP addresses.
//
- // Use one of the following formats to specify a PDP when reserving an
- // external IPv4 address using BYOIP.
+ // It supports the following cases:
//
// -
- // Full resource URL, as
- // inhttps://www.googleapis.com/compute/v1/projects/projectId/regions/region/pub
- // licDelegatedPrefixes/pdp-name
+ // Case 1: PublicDelegatedPrefix (PDP) for BYOIP external
+ // addresses. If an IPv4 PDP is used, the PDP must support enhanced IPv4
+ // allocations. If an IPv6 PDP is used, the PDP must be in
+ // EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.
// -
- // Partial URL, as in
+ // Case 2: Internal Range for global internal addresses.
//
//
- // -
- // projects/projectId/regions/region/publicDelegatedPrefixes/pdp-name
- // - regions/region/publicDelegatedPrefixes/pdp-name
+ //
+ // Use one of the following formats to specify the resource:
+ //
+ // For a Public Delegated Prefix:
+ //
+ // -
+ // Full resource
+ // URL:https://www.googleapis.com/compute/v1/projects/projectId/regions/region/p
+ // ublicDelegatedPrefixes/pdp
+ // - Partial URL:
+ // - projects/projectId/regions/region/publicDelegatedPrefixes/pdp-name
+ // - regions/region/publicDelegatedPrefixes/pdp-name
+ //
+ //
+ //
+ // For an Internal Range:
+ //
+ // - Full
+ // URL:https://networkconnectivity.googleapis.com/v1/projects/project/locations/
+ // global/internalRanges/internal-range
+ // - Partial
+ // URL:projects/project/locations/global/internalRanges/internal-range
IpCollection string `json:"ipCollection,omitempty"`
// IpVersion: The IP version that will be used by this address. Valid options
// areIPV4 or IPV6.
@@ -2670,6 +2802,13 @@ type Address struct {
// used to configure Private Service Connect. Only global internal
// addresses
// can use this purpose.
+ // - `PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0` for addresses
+ // that can only be assigned to global external Passthrough Network Load
+ // Balancer forwarding rules, as an Availability Group 0 address.
+ // - `PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1` for addresses that
+ // can only be assigned to global external Passthrough Network Load
+ // Balancer
+ // forwarding rules, as an Availability Group 1 address.
//
// Possible values:
// "DNS_RESOLVER" - DNS resolver address in the subnetwork.
@@ -2681,7 +2820,7 @@ type Address struct {
// of subnet/route in the VPC network and its peering networks. After the
// VLAN attachment is created with the reserved IP address range, when
// creating a new VPN gateway, its interface IP address is allocated
- // from the associated VLAN attachment’s IP address range.
+ // from the associated VLAN attachment's IP address range.
// "NAT_AUTO" - External IP automatically reserved for Cloud NAT.
// "PRIVATE_SERVICE_CONNECT" - A private network IP address that can be used
// to configure Private
@@ -2873,7 +3012,7 @@ type AddressAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AddressAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -3055,7 +3194,7 @@ type AddressListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AddressListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -3221,7 +3360,7 @@ type AddressesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AddressesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -3921,32 +4060,55 @@ type AttachedDiskInitializeParams struct {
// If you do not specify a sourceImage, the default disk size
// is 500 GB.
DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
- // DiskType: Specifies the disk type to use to create the instance. If not
- // specified,
- // the default is pd-standard, specified using the full URL.
- // For
- // example:
- //
- // https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard
- //
+ // DiskType: Specifies the disk type used for the boot disk or an additional
+ // data
+ // disk. For valid disk type values, see
+ // Supported types for Hyperdisk volumes and
+ // Persistent Disk type variables.
//
- // For a full list of acceptable values, seePersistent disk
- // types. If you specify this field when creating a VM, you can provide
- // either the full or partial URL. For example, the following values
- // are
+ // When creating a single instance, you must provide either the full or
+ // partial URL of the disk type. For example, the following values are
// valid:
//
//
// -
// https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType
+ // - projects/project/zones/zone/diskTypes/diskType
+ // - zones/zone/diskTypes/diskType
+ //
+ //
+ //
+ // When creating an instance template, instance flexibility policy, or
+ // when
+ // creating or updating an all-instances configuration, you specify the
+ // disk type without a URL, for example, hyperdisk-balanced.
//
- // - projects/project/zones/zone/diskTypes/diskType
- // - zones/zone/diskTypes/diskType
+ // If you omit this field for a disk, the default disk type depends on
+ // the instance's machine series, as follows.
//
//
- // If you specify this field when creating or updating an instance template
- // or all-instances configuration, specify the type of the disk, not the
- // URL. For example: pd-standard.
+ // - For first- and second-generation machine series like N1, N2, T2, and
+ // M1, the
+ // default disk type is Standard Persistent Disk
+ // (pd-standard).
+ // - For C3, C3D, and M3 the default is Balanced Persistent Disk
+ // (pd-balanced).
+ // - For other third-generation machine
+ // series like A3, H3, Z3, all
+ // fourth-generation types like C4, N4, M4, and newer machine series,
+ // the default is Hyperdisk Balanced
+ // (hyperdisk-balanced).
+ //
+ //
+ //
+ // The disk type you specify must be compatible with the instance's
+ // machine
+ // series. For a list of machine series that support Persistent Disk, see
+ // Machine
+ // series support for Persistent Disk.
+ //
+ // For a list of machine series that support Hyperdisk, seeMachine
+ // series support for Hyperdisk.
DiskType string `json:"diskType,omitempty"`
// EnableConfidentialCompute: Whether this disk is using confidential compute
// mode.
@@ -3992,8 +4154,9 @@ type AttachedDiskInitializeParams struct {
// disk. Tag keys and values
// have the same definition as resource
// manager tags. Keys and values can be either in numeric format,
- // such as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced
- // format such as `{org_id|project_id}/{tag_key_short_name}`
+ // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or
+ // in
+ // namespaced format such as `{org_id|project_id}/{tag_key_short_name}`
// and
// `{tag_value_short_name}`. The field is ignored (both PUT & PATCH)
// when
@@ -4499,7 +4662,7 @@ type AutoscalerAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AutoscalerAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -4681,7 +4844,7 @@ type AutoscalerListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AutoscalerListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -4989,7 +5152,7 @@ type AutoscalersScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*AutoscalersScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -5111,6 +5274,7 @@ type AutoscalingPolicy struct {
// "ONLY_UP" - Automatically create VMs according to the policy, but do not
// scale
// the MIG in.
+ // It's recommended to use ONLY_SCALE_OUT instead of ONLY_UP.
Mode string `json:"mode,omitempty"`
ScaleInControl *AutoscalingPolicyScaleInControl `json:"scaleInControl,omitempty"`
// ScalingSchedules: Scaling schedules defined for an autoscaler. Multiple
@@ -5121,6 +5285,18 @@ type AutoscalingPolicy struct {
// is
// applied. Up to 128 scaling schedules are allowed.
ScalingSchedules map[string]AutoscalingPolicyScalingSchedule `json:"scalingSchedules,omitempty"`
+ // StabilizationPeriodSec: The number of seconds that autoscaler waits for load
+ // stabilization before
+ // making scale-in decisions. This is referred to as the
+ // stabilization period (/compute/docs/autoscaler#stabilization_period).
+ // This might appear as a delay in scaling in but it is an important
+ // mechanism
+ // for your application to not have fluctuating size due to short term
+ // load
+ // fluctuations.
+ //
+ // The default stabilization period is 600 seconds.
+ StabilizationPeriodSec int64 `json:"stabilizationPeriodSec,omitempty"`
// ForceSendFields is a list of field names (e.g. "CoolDownPeriodSec") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -5485,8 +5661,9 @@ type Backend struct {
// see
// Connection balancing mode.
//
- // Backends must use compatible balancing modes. For more information,
- // see
+ // Backends must use compatible balancing modes. Backends of a backend
+ // service may use different balancing modes. For more information, see
+ //
// Supported balancing modes and target capacity settings and
// Restrictions and guidance for instance groups.
//
@@ -5534,6 +5711,9 @@ type Backend struct {
// Failover: This field designates whether this is a failover backend. More
// than one
// failover backend can be configured for a given BackendService.
+ //
+ // This field can only be used for a regional external Passthrough Network
+ // Load Balancer or a regional internal Passthrough Network Load Balancer.
Failover bool `json:"failover,omitempty"`
// Group: The fully-qualified URL of aninstance
// group or network endpoint
@@ -5633,6 +5813,16 @@ type Backend struct {
// assigned based on the load balancing algorithm you use. This is the
// default
//
+ //
+ //
+ // For global external Passthrough Network Load Balancers, the
+ // following
+ // restrictions apply:
+ //
+ // - At most one backend can be marked as PREFERRED.
+ // - PREFERRED and DEFAULT backends cannot reside
+ // in the same Cloud region.
+ //
// Possible values:
// "DEFAULT" - No preference.
// "PREFERENCE_UNSPECIFIED" - If preference is unspecified, we set it to the
@@ -5940,7 +6130,7 @@ type BackendBucketAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*BackendBucketAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -6006,18 +6196,18 @@ type BackendBucketCdnPolicy struct {
CacheKeyPolicy *BackendBucketCdnPolicyCacheKeyPolicy `json:"cacheKeyPolicy,omitempty"`
// CacheMode: Specifies the cache setting for all responses from this
// backend.
- // The possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid
- // caching
+ // The possible values are:
+ // USE_ORIGIN_HEADERS Requires the origin to set valid caching
// headers to cache content. Responses without these headers will not be
// cached at Google's edge, and will require a full trip to the origin on
// every request, potentially impacting performance and increasing load on
- // the origin server.FORCE_CACHE_ALL Cache all content, ignoring any
- // "private",
+ // the origin server.
+ // FORCE_CACHE_ALL Cache all content, ignoring any "private",
// "no-store" or "no-cache" directives in Cache-Control response
// headers.
// Warning: this may result in Cloud CDN caching private,
- // per-user (user identifiable) content.CACHE_ALL_STATIC Automatically cache
- // static content,
+ // per-user (user identifiable) content.
+ // CACHE_ALL_STATIC Automatically cache static content,
// including common image formats, media (video and audio), and web
// assets
// (JavaScript and CSS). Requests and responses that are marked as
@@ -6391,7 +6581,7 @@ type BackendBucketListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*BackendBucketListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -6572,7 +6762,7 @@ type BackendBucketListUsableWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*BackendBucketListUsableWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -6793,7 +6983,7 @@ type BackendBucketsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*BackendBucketsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -7079,8 +7269,9 @@ type BackendService struct {
// and external passthrough Network Load
// Balancers
// (https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).
- //
- // failoverPolicy cannot be specified with haPolicy.
+ // failoverPolicy cannot be specified with haPolicy.failoverPolicy cannot be
+ // used by global external Passthrough
+ // Network Load Balancers.
FailoverPolicy *BackendServiceFailoverPolicy `json:"failoverPolicy,omitempty"`
// Fingerprint: Fingerprint of this resource. A hash of the contents stored in
// this object.
@@ -7128,10 +7319,11 @@ type BackendService struct {
// endpoint health and electing a leader among the healthy
// endpoints.
// Therefore, haPolicy cannot be specified with healthChecks.
- //
- // haPolicy can only be specified for External Passthrough Network
- // Load
- // Balancers and Internal Passthrough Network Load Balancers.
+ // haPolicy can only be specified for External Passthrough
+ // Network Load Balancers and Internal Passthrough Network Load
+ // Balancers.haPolicy cannot be used by global external Passthrough
+ // Network
+ // Load Balancers.
HaPolicy *BackendServiceHAPolicy `json:"haPolicy,omitempty"`
// HealthChecks: The list of URLs to the healthChecks, httpHealthChecks
// (legacy), or
@@ -7218,8 +7410,8 @@ type BackendService struct {
// LoadBalancingScheme: Specifies the load balancer type. A backend
// service
// created for one type of load balancer cannot be used with another.
- // For more information, refer toChoosing
- // a load balancer.
+ // For more information, refer to
+ // Backend services product and scheme table.
//
// Possible values:
// "EXTERNAL" - Signifies that this will be used for classic Application Load
@@ -7291,29 +7483,43 @@ type BackendService struct {
// HTTP response header field Endpoint-Load-Metrics. The reported
// metrics to use for computing the weights are specified via
// thecustomMetrics field.
+ // - WEIGHTED_MAGLEV: Per-endpoint weighted load balancing via
+ // health check reported weights. If set, the backend service must
+ // configure
+ // an HTTP-based Health Check, and health check replies are expected to
+ // contain the non-standard HTTP response header
+ // fieldX-Load-Balancing-Endpoint-Weight to specify the per-endpoint
+ // weights. If set, load balancing is weighted based on the per-endpoint
+ // weights reported in the last processed health check replies, as long as
+ // every instance either reported a valid weight or had UNAVAILABLE_WEIGHT.
+ // Otherwise, load balancing remains equal-weight.
//
- // This field is applicable to either:
- // - A regional backend service with the service protocol set to HTTP,
- // HTTPS, HTTP2 or H2C, and load_balancing_scheme set to
- // INTERNAL_MANAGED.
- // - A global backend service with the
- // load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED,
- // or
- // EXTERNAL_MANAGED.
//
//
- // If sessionAffinity is not configured—that is, if session
- // affinity remains at the default value of NONE—then the
- // default value for localityLbPolicy
- // is ROUND_ROBIN. If session affinity is set to a value other
- // than NONE,
- // then the default value for localityLbPolicy isMAGLEV.
+ // This field is applicable to either:
+ //
+ // - A regional backend service with the service protocol set to HTTP,
+ // HTTPS, HTTP2 or H2C, and load_balancing_scheme set to
+ // INTERNAL_MANAGED.
+ // - A global backend service with the
+ // load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or
+ // EXTERNAL_MANAGED.
+ //
+ //
//
- // Only ROUND_ROBIN and RING_HASH are supported
- // when the backend service is referenced by a URL map that is bound to
- // target gRPC proxy that has validateForProxyless field set to true.
+ // If sessionAffinity is not configured—that is, if session
+ // affinity remains at the default value of NONE—then the
+ // default value for localityLbPolicy
+ // is ROUND_ROBIN. If session affinity is set to a value other
+ // than NONE,
+ // then the default value for localityLbPolicy isMAGLEV.
//
- // localityLbPolicy cannot be specified with haPolicy.
+ // Only ROUND_ROBIN and RING_HASH are supported
+ // when the backend service is referenced by a URL map that is bound to
+ // target gRPC proxy that has validateForProxyless field set to
+ // true.
+ //
+ // localityLbPolicy cannot be specified with haPolicy.
//
// Possible values:
// "INVALID_LB_POLICY"
@@ -7503,16 +7709,16 @@ type BackendService struct {
// Load
// Balancers, omit port_name.
PortName string `json:"portName,omitempty"`
- // Protocol: The protocol this BackendService uses to communicate
- // with backends.
+ // Protocol: The protocol this BackendService uses to communicate with
+ // backends.
//
- // Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP or
- // GRPC.
- // depending on the chosen load balancer or Traffic Director
- // configuration.
- // Refer to the documentation for the load balancers or for Traffic
+ // Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP, GRPC,
+ // or
+ // UNSPECIFIED, depending on the chosen load balancer or Traffic
// Director
- // for more information.
+ // configuration.
+ // Refer to
+ // Load balancing features for more information.
//
// Must be set to GRPC when the backend service is referenced by a URL map
// that is bound to target gRPC proxy.
@@ -7557,7 +7763,14 @@ type BackendService struct {
//
// Can only be set if load balancing scheme is
// EXTERNAL_MANAGED,
- // INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.
+ // INTERNAL_MANAGED or INTERNAL_SELF_MANAGED for a global backend service,
+ // and
+ // EXTERNAL_MANAGED or INTERNAL_MANAGED for a regional backend service. For
+ // a
+ // global backend service, the service lb policy must be global. For a
+ // regional backend service, the service lb policy must be regional and in
+ // the
+ // same region.
ServiceLbPolicy string `json:"serviceLbPolicy,omitempty"`
// SessionAffinity: Type of session affinity to use. The default is NONE.
//
@@ -7810,7 +8023,7 @@ type BackendServiceAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*BackendServiceAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -7876,18 +8089,18 @@ type BackendServiceCdnPolicy struct {
CacheKeyPolicy *CacheKeyPolicy `json:"cacheKeyPolicy,omitempty"`
// CacheMode: Specifies the cache setting for all responses from this
// backend.
- // The possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid
- // caching
+ // The possible values are:
+ // USE_ORIGIN_HEADERS Requires the origin to set valid caching
// headers to cache content. Responses without these headers will not be
// cached at Google's edge, and will require a full trip to the origin on
// every request, potentially impacting performance and increasing load on
- // the origin server.FORCE_CACHE_ALL Cache all content, ignoring any
- // "private",
+ // the origin server.
+ // FORCE_CACHE_ALL Cache all content, ignoring any "private",
// "no-store" or "no-cache" directives in Cache-Control response
// headers.
// Warning: this may result in Cloud CDN caching private,
- // per-user (user identifiable) content.CACHE_ALL_STATIC Automatically cache
- // static content,
+ // per-user (user identifiable) content.
+ // CACHE_ALL_STATIC Automatically cache static content,
// including common image formats, media (video and audio), and web
// assets
// (JavaScript and CSS). Requests and responses that are marked as
@@ -8530,8 +8743,8 @@ type BackendServiceHAPolicyLeaderNetworkEndpoint struct {
// the
// haPolicy.leader.backendGroup.
//
- // The name must be 1-63 characters long, and comply with
- // RFC1035.
+ // The value must be a valid RFC1035 name (1-63 characters) or a valid
+ // instance URL.
// Authorization requires the following IAM permission on the
// specified resource instance: compute.instances.use
Instance string `json:"instance,omitempty"`
@@ -8745,7 +8958,7 @@ type BackendServiceListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*BackendServiceListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -8929,7 +9142,7 @@ type BackendServiceListUsableWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*BackendServiceListUsableWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -9139,6 +9352,12 @@ type BackendServiceLogConfig struct {
// Enable: Denotes whether to enable logging for the load balancer
// traffic served by this backend service. The default value is false.
Enable bool `json:"enable,omitempty"`
+ // LoggingHttpRequestHeaders: The list of request headers that will be logged
+ // to Stackdriver.
+ LoggingHttpRequestHeaders []*BackendServiceLogConfigLoggingHttpHeader `json:"loggingHttpRequestHeaders,omitempty"`
+ // LoggingHttpResponseHeaders: The list of response headers that will be logged
+ // to Stackdriver.
+ LoggingHttpResponseHeaders []*BackendServiceLogConfigLoggingHttpHeader `json:"loggingHttpResponseHeaders,omitempty"`
// OptionalFields: This field can only be specified if logging is enabled for
// this backend
// service and "logConfig.optionalMode" was set to CUSTOM. Contains a list
@@ -9201,6 +9420,29 @@ func (s *BackendServiceLogConfig) UnmarshalJSON(data []byte) error {
return nil
}
+// BackendServiceLogConfigLoggingHttpHeader: Determines which HTTP headers will
+// be logged to Stackdriver.
+type BackendServiceLogConfigLoggingHttpHeader struct {
+ // HeaderName: The name of the header to be logged.
+ HeaderName string `json:"headerName,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "HeaderName") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "HeaderName") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s BackendServiceLogConfigLoggingHttpHeader) MarshalJSON() ([]byte, error) {
+ type NoMethod BackendServiceLogConfigLoggingHttpHeader
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type BackendServiceNetworkPassThroughLbTrafficPolicy struct {
// ZonalAffinity: When configured, new connections are load balanced across
// healthy backend
@@ -9380,6 +9622,48 @@ type BackendServiceTlsSettings struct {
// authenticationMode
// field. Can only be specified if authenticationMode is not NONE.
AuthenticationConfig string `json:"authenticationConfig,omitempty"`
+ // Identity: Assigns the Managed Identity for the BackendService
+ // Workload.
+ //
+ //
+ // Use this property to configure the load balancer back-end to
+ // use
+ // certificates and roots of trust provisioned by the Managed Workload
+ // Identity system.
+ //
+ // The `identity` property is the
+ // fully-specified SPIFFE ID to use in the SVID presented by the Load
+ // Balancer Workload.
+ //
+ // The SPIFFE ID must be a resource starting with the
+ // `trustDomain` property value, followed by the path to the Managed
+ // Workload Identity.
+ //
+ // Supported SPIFFE ID format:
+ //
+ // - ///ns//sa/
+ //
+ //
+ // The Trust Domain within the Managed Identity must refer to a valid
+ // Workload Identity Pool. The TrustConfig and CertificateIssuanceConfig
+ // will be inherited from the Workload Identity Pool.
+ //
+ // Restrictions:
+ //
+ // - If you set the `identity` property, you cannot manually set
+ // the following fields:
+ // - tlsSettings.sni
+ // - tlsSettings.subjectAltNames
+ // - tlsSettings.authenticationConfig
+ //
+ //
+ // When defining a `identity` for a RegionBackendServices, the
+ // corresponding Workload Identity Pool must have a ca_pool
+ // configured in the same region.
+ //
+ // The system will set up a read-onlytlsSettings.authenticationConfig for the
+ // Managed Identity.
+ Identity string `json:"identity,omitempty"`
// Sni: Server Name Indication - see RFC3546 section 3.1. If set, the
// load
// balancer sends this string as the SNI hostname in the TLS connection to
@@ -9586,7 +9870,7 @@ type BackendServicesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*BackendServicesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -10478,6 +10762,305 @@ func (s CacheKeyPolicy) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// CachePolicy: Message containing CachePolicy configuration for URL Map's
+// Route Action.
+type CachePolicy struct {
+ // CacheBypassRequestHeaderNames: Bypass the cache when the specified request
+ // headers are matched by name,
+ // e.g. Pragma or Authorization headers. Values are case-insensitive. Up to
+ // 5
+ // header names can be specified. The cache is bypassed for all
+ // `cacheMode`
+ // values.
+ CacheBypassRequestHeaderNames []string `json:"cacheBypassRequestHeaderNames,omitempty"`
+ // CacheKeyPolicy: The cache key configuration. If not specified, the default
+ // behavior depends
+ // on the backend type: for Backend Services, the complete request URI is
+ // used; for Backend Buckets, the request URI is used without the protocol
+ // or
+ // host, and only query parameters known to Cloud Storage are included.
+ CacheKeyPolicy *CachePolicyCacheKeyPolicy `json:"cacheKeyPolicy,omitempty"`
+ // CacheMode: Specifies the cache setting for all responses from this route. If
+ // not
+ // specified, Cloud CDN uses `CACHE_ALL_STATIC` mode.
+ //
+ // Possible values:
+ // "CACHE_ALL_STATIC" - Automatically cache static content, including common
+ // image formats,
+ // media (video and audio), and web assets (JavaScript and CSS).
+ // Requests and responses that are marked as uncacheable, as well as
+ // dynamic content (including HTML), will not be cached.
+ // "FORCE_CACHE_ALL" - Cache all content, ignoring any "private", "no-store"
+ // or "no-cache"
+ // directives in Cache-Control response headers.
+ // Warning: this may result in Cloud CDN caching private,
+ // per-user (user identifiable) content.
+ // "USE_ORIGIN_HEADERS" - Requires the origin to set valid caching headers to
+ // cache content.
+ // Responses without these headers will not be cached at the edge, and
+ // will
+ // require a full trip to the origin on every request, potentially
+ // impacting
+ // performance and increasing load on the origin server.
+ CacheMode string `json:"cacheMode,omitempty"`
+ // ClientTtl: Specifies a separate client (e.g. browser client) maximum TTL for
+ // cached
+ // content. This is used to clamp the max-age (or Expires) value sent to
+ // the
+ // client. With `FORCE_CACHE_ALL`, the lesser of `clientTtl` and
+ // `defaultTtl`
+ // is used for the response max-age directive, along with a "public"
+ // directive. For cacheable content in `CACHE_ALL_STATIC` mode,
+ // `clientTtl`
+ // clamps the max-age from the origin (if specified), or else sets the
+ // response max-age directive to the lesser of the `clientTtl`
+ // and
+ // `defaultTtl`, and also ensures a "public" cache-control directive
+ // is
+ // present. The maximum allowed value is 31,622,400s (1 year). If
+ // not
+ // specified, Cloud CDN uses 3600s (1 hour) for `CACHE_ALL_STATIC` mode.
+ // Cannot exceed `maxTtl`. Cannot be specified when `cacheMode`
+ // is
+ // `USE_ORIGIN_HEADERS`.
+ ClientTtl *Duration `json:"clientTtl,omitempty"`
+ // DefaultTtl: Specifies the default TTL for cached content for responses that
+ // do not have
+ // an existing valid TTL (max-age or s-maxage). Setting a TTL of "0"
+ // means
+ // "always revalidate". The value of `defaultTtl` cannot be set to a
+ // value
+ // greater than that of `maxTtl`. When the `cacheMode` is set
+ // to
+ // `FORCE_CACHE_ALL`, the `defaultTtl` will overwrite the TTL set in
+ // all
+ // responses. The maximum allowed value is 31,622,400s (1 year).
+ // Infrequently
+ // accessed objects may be evicted from the cache before the defined TTL.
+ // If
+ // not specified, Cloud CDN uses 3600s (1 hour) for `CACHE_ALL_STATIC`
+ // and
+ // `FORCE_CACHE_ALL` modes. Cannot be specified when `cacheMode`
+ // is
+ // `USE_ORIGIN_HEADERS`.
+ DefaultTtl *Duration `json:"defaultTtl,omitempty"`
+ // MaxTtl: Specifies the maximum allowed TTL for cached content. Cache
+ // directives that
+ // attempt to set a max-age or s-maxage higher than this, or an Expires
+ // header
+ // more than `maxTtl` seconds in the future will be capped at the value
+ // of
+ // `maxTtl`, as if it were the value of an s-maxage Cache-Control
+ // directive.
+ // Headers sent to the client will not be modified. Setting a TTL of "0"
+ // means
+ // "always revalidate". The maximum allowed value is 31,622,400s (1
+ // year).
+ // Infrequently accessed objects may be evicted from the cache before
+ // the
+ // defined TTL. If not specified, Cloud CDN uses 86400s (1 day)
+ // for
+ // `CACHE_ALL_STATIC` mode. Can be specified only for `CACHE_ALL_STATIC`
+ // cache
+ // mode.
+ MaxTtl *Duration `json:"maxTtl,omitempty"`
+ // NegativeCaching: Negative caching allows per-status code TTLs to be set, in
+ // order
+ // to apply fine-grained caching for common errors or redirects.
+ // This can reduce the load on your origin and improve end-user
+ // experience by reducing response latency.
+ // When the `cacheMode` is set to `CACHE_ALL_STATIC` or
+ // `USE_ORIGIN_HEADERS`, negative caching applies to responses with
+ // the specified response code that lack any Cache-Control, Expires, or
+ // Pragma: no-cache directives. When the `cacheMode` is set
+ // to
+ // `FORCE_CACHE_ALL`, negative caching applies to all responses
+ // with the specified response code, and overrides any caching headers.
+ // By
+ // default, Cloud CDN applies the following TTLs to these HTTP status codes:
+ //
+ // * 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m
+ // * 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s
+ // * 405 (Method Not Found), 501 (Not Implemented): 60s
+ //
+ // These defaults can be overridden in `negativeCachingPolicy`.
+ // If not specified, Cloud CDN applies negative caching by default.
+ NegativeCaching bool `json:"negativeCaching,omitempty"`
+ // NegativeCachingPolicy: Sets a cache TTL for the specified HTTP status
+ // code.
+ // `negativeCaching` must be enabled to configure
+ // `negativeCachingPolicy`.
+ // Omitting the policy and leaving `negativeCaching` enabled will use
+ // Cloud
+ // CDN's default cache TTLs. Note that when specifying an
+ // explicit
+ // `negativeCachingPolicy`, you should take care to specify a cache TTL for
+ // all response codes that you wish to cache. Cloud CDN will not apply
+ // any
+ // default negative caching when a policy exists.
+ NegativeCachingPolicy []*CachePolicyNegativeCachingPolicy `json:"negativeCachingPolicy,omitempty"`
+ // RequestCoalescing: If true then Cloud CDN will combine multiple concurrent
+ // cache fill
+ // requests into a small number of requests to the origin. If not
+ // specified,
+ // Cloud CDN applies request coalescing by default.
+ RequestCoalescing bool `json:"requestCoalescing,omitempty"`
+ // ServeWhileStale: Serve existing content from the cache (if available) when
+ // revalidating
+ // content with the origin, or when an error is encountered when refreshing
+ // the cache.
+ // This setting defines the default "max-stale" duration for any
+ // cached
+ // responses that do not specify a max-stale directive. Stale responses
+ // that
+ // exceed the TTL configured here will not be served. The default
+ // limit
+ // (max-stale) is 86400s (1 day), which will allow stale content to be
+ // served up to this limit beyond the max-age (or s-maxage) of a
+ // cached
+ // response.
+ // The maximum allowed value is 604800 (1 week).
+ // Set this to zero (0) to disable serve-while-stale.
+ ServeWhileStale *Duration `json:"serveWhileStale,omitempty"`
+ // ForceSendFields is a list of field names (e.g.
+ // "CacheBypassRequestHeaderNames") to unconditionally include in API requests.
+ // By default, fields with empty or default values are omitted from API
+ // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
+ // for more details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CacheBypassRequestHeaderNames")
+ // to include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CachePolicy) MarshalJSON() ([]byte, error) {
+ type NoMethod CachePolicy
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CachePolicyCacheKeyPolicy: Message containing what to include in the cache
+// key for a request for Cache
+// Policy defined on Route Action.
+type CachePolicyCacheKeyPolicy struct {
+ // ExcludedQueryParameters: Names of query string parameters to exclude in
+ // cache keys. All other
+ // parameters will be included. Either specify `excludedQueryParameters`
+ // or `includedQueryParameters`, not both. '&' and '=' will be percent
+ // encoded and not treated as delimiters.
+ //
+ // Note: This field applies to routes that use backend services. Attempting
+ // to set it on a route that points exclusively to Backend Buckets will
+ // result in a configuration error. For routes that point to a Backend
+ // Bucket, use `includedQueryParameters` to define which parameters should
+ // be part of the cache key.
+ ExcludedQueryParameters []string `json:"excludedQueryParameters,omitempty"`
+ // IncludeHost: If true, requests to different hosts will be cached
+ // separately.
+ //
+ // Note: This setting is only applicable to routes that use a Backend
+ // Service. It does not affect requests served by a Backend Bucket, as the
+ // host is never included in a Backend Bucket's cache key. Attempting to set
+ // it on a route that points exclusively to Backend Buckets will result in
+ // a
+ // configuration error.
+ IncludeHost bool `json:"includeHost,omitempty"`
+ // IncludeProtocol: If true, http and https requests will be cached
+ // separately.
+ //
+ // Note: This setting is only applicable to routes that use a Backend
+ // Service. It does not affect requests served by a Backend Bucket, as
+ // the
+ // protocol is never included in a Backend Bucket's cache key. Attempting
+ // to
+ // set on a route that points exclusively to Backend Buckets will result in
+ // a configuration error.
+ IncludeProtocol bool `json:"includeProtocol,omitempty"`
+ // IncludeQueryString: If true, include query string parameters in the cache
+ // key according to
+ // `includedQueryParameters` and `excludedQueryParameters`. If neither
+ // is set, the entire query string will be included. If false, the query
+ // string will be excluded from the cache key entirely.
+ //
+ // Note: This field applies to routes that use backend services. Attempting
+ // to set it on a route that points exclusively to Backend Buckets will
+ // result in a configuration error. For routes that point to a Backend
+ // Bucket, use `includedQueryParameters` to define which parameters should
+ // be part of the cache key.
+ IncludeQueryString bool `json:"includeQueryString,omitempty"`
+ // IncludedCookieNames: Allows HTTP cookies (by name) to be used in the cache
+ // key.
+ // The name=value pair will be used in the cache key Cloud CDN
+ // generates.
+ //
+ // Note: This setting is only applicable to routes that use a Backend
+ // Service. It does not affect requests served by a Backend Bucket.
+ // Attempting to set it on a route that points exclusively to Backend
+ // Buckets will result in a configuration error. Up to 5 cookie names can
+ // be
+ // specified.
+ IncludedCookieNames []string `json:"includedCookieNames,omitempty"`
+ // IncludedHeaderNames: Allows HTTP request headers (by name) to be used in the
+ // cache key.
+ IncludedHeaderNames []string `json:"includedHeaderNames,omitempty"`
+ // IncludedQueryParameters: Names of query string parameters to include in
+ // cache keys. All other
+ // parameters will be excluded. Either specify `includedQueryParameters`
+ // or `excludedQueryParameters`, not both. '&' and '=' will be percent
+ // encoded and not treated as delimiters.
+ IncludedQueryParameters []string `json:"includedQueryParameters,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "ExcludedQueryParameters") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ExcludedQueryParameters") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CachePolicyCacheKeyPolicy) MarshalJSON() ([]byte, error) {
+ type NoMethod CachePolicyCacheKeyPolicy
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CachePolicyNegativeCachingPolicy: Specify CDN TTLs for response error codes.
+type CachePolicyNegativeCachingPolicy struct {
+ // Code: The HTTP status code to define a TTL against. Only HTTP status
+ // codes
+ // 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be
+ // specified as values, and you cannot specify a status code more than
+ // once.
+ Code int64 `json:"code,omitempty"`
+ // Ttl: The TTL (in seconds) for which to cache responses with
+ // the
+ // corresponding status code.
+ // The maximum allowed value is 1800s (30 minutes). Infrequently
+ // accessed
+ // objects may be evicted from the cache before the defined TTL.
+ Ttl *Duration `json:"ttl,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CachePolicyNegativeCachingPolicy) MarshalJSON() ([]byte, error) {
+ type NoMethod CachePolicyNegativeCachingPolicy
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// CalendarModeAdviceRequest: A request to recommend the best way to consume
// the specified resources in the
// future.
@@ -10567,6 +11150,645 @@ func (s CalendarModeRecommendation) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// CapacityAdviceRequest: A request to provide Assistant Scores. These scores
+// determine VM
+// obtainability and preemption likelihood.
+type CapacityAdviceRequest struct {
+ // DistributionPolicy: Policy specifying the distribution of instances
+ // across
+ // zones within the requested region.
+ DistributionPolicy *CapacityAdviceRequestDistributionPolicy `json:"distributionPolicy,omitempty"`
+ // InstanceFlexibilityPolicy: Policy for instance selectors.
+ InstanceFlexibilityPolicy *CapacityAdviceRequestInstanceFlexibilityPolicy `json:"instanceFlexibilityPolicy,omitempty"`
+ // InstanceProperties: Instance properties for this request.
+ InstanceProperties *CapacityAdviceRequestInstanceProperties `json:"instanceProperties,omitempty"`
+ // Size: The number of VM instances to request.
+ Size int64 `json:"size,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "DistributionPolicy") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "DistributionPolicy") to include
+ // in API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceRequest
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceRequestDistributionPolicy: Distribution policy.
+type CapacityAdviceRequestDistributionPolicy struct {
+ // TargetShape: Target distribution shape. You can specify the following
+ // values:ANY, ANY_SINGLE_ZONE, or BALANCED.
+ //
+ // Possible values:
+ // "ANY" - Picks zones for creating VM instances to fulfill the requested
+ // number
+ // of VMs within present resource constraints.
+ // "ANY_SINGLE_ZONE" - Creates all VM instances within a single zone. The
+ // zone is selected
+ // based on the present resource constraints.
+ // "BALANCED" - Prioritizes acquisition of resources, scheduling VMs in zones
+ // where
+ // resources are available while distributing VMs as evenly as possible
+ // across selected zones to minimize the impact of zonal failure.
+ // "TARGET_SHAPE_UNSPECIFIED" - Default value, unused.
+ TargetShape string `json:"targetShape,omitempty"`
+ // Zones: Zones where Capacity Advisor looks for capacity.
+ Zones []*CapacityAdviceRequestDistributionPolicyZoneConfiguration `json:"zones,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "TargetShape") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "TargetShape") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceRequestDistributionPolicy) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceRequestDistributionPolicy
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceRequestDistributionPolicyZoneConfiguration: Zone configuration
+// for the distribution policy.
+type CapacityAdviceRequestDistributionPolicyZoneConfiguration struct {
+ // Zone: The URL of the zone. It can be a
+ // partial or full URL. For example, the following are valid values:
+ //
+ //
+ // - https://www.googleapis.com/compute/v1/projects/project/zones/zone
+ // - projects/project/zones/zone
+ // - zones/zone
+ Zone string `json:"zone,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Zone") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Zone") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceRequestDistributionPolicyZoneConfiguration) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceRequestDistributionPolicyZoneConfiguration
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceRequestInstanceFlexibilityPolicy: Specification of
+// alternative, flexible instance configurations.
+type CapacityAdviceRequestInstanceFlexibilityPolicy struct {
+ // InstanceSelections: Named instance selections to configure properties.
+ // The key is an arbitrary, unique RFC1035 string that identifies the
+ // instance selection.
+ InstanceSelections map[string]CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection `json:"instanceSelections,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "InstanceSelections") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "InstanceSelections") to include
+ // in API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceRequestInstanceFlexibilityPolicy) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceRequestInstanceFlexibilityPolicy
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection: Machine
+// specification.
+type CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection struct {
+ // Disks: Local SSDs.
+ Disks []*CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk `json:"disks,omitempty"`
+ // GuestAccelerators: Accelerators configuration.
+ GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"`
+ // MachineTypes: Full machine-type names, e.g. "n1-standard-16".
+ MachineTypes []string `json:"machineTypes,omitempty"`
+ // Rank: Optional. Rank when prioritizing the shape flexibilities.
+ // The instance selections are considered in the ascending order of the
+ // rank. If not set, defaults to 0.
+ Rank int64 `json:"rank,omitempty,string"`
+ // ForceSendFields is a list of field names (e.g. "Disks") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Disks") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk:
+// Attached disk configuration.
+type CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk struct {
+ // Type: Specifies the type of the disk.
+ //
+ // Possible values:
+ // "DISK_TYPE_UNSPECIFIED" - Default value, unspecified disk type.
+ // "SCRATCH" - Scratch disk (Local SSD).
+ Type string `json:"type,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Type") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Type") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceRequestInstanceProperties: Instance provisioning properties.
+type CapacityAdviceRequestInstanceProperties struct {
+ // Scheduling: Specifies the scheduling options.
+ Scheduling *CapacityAdviceRequestInstancePropertiesScheduling `json:"scheduling,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Scheduling") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Scheduling") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceRequestInstanceProperties) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceRequestInstanceProperties
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceRequestInstancePropertiesScheduling: Defines the instance
+// scheduling options.
+type CapacityAdviceRequestInstancePropertiesScheduling struct {
+ // ProvisioningModel: Specifies the provisioning model.
+ //
+ // Possible values:
+ // "FLEX_START" - Instance is provisioned using the Flex Start provisioning
+ // model and
+ // has a limited runtime.
+ // "RESERVATION_BOUND" - Bound to the lifecycle of the reservation in which
+ // it is provisioned.
+ // "SPOT" - Heavily discounted, no guaranteed runtime.
+ // "STANDARD" - Standard provisioning with user controlled runtime, no
+ // discounts.
+ ProvisioningModel string `json:"provisioningModel,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "ProvisioningModel") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ProvisioningModel") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceRequestInstancePropertiesScheduling) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceRequestInstancePropertiesScheduling
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceResponse: A response contains scoring recommendations.
+type CapacityAdviceResponse struct {
+ // Recommendations: Initially the API will provide one recommendation which
+ // balances the
+ // individual scores according to the service provider's preference.
+ Recommendations []*CapacityAdviceResponseRecommendation `json:"recommendations,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Recommendations") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Recommendations") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceResponseRecommendation: Recommendation.
+type CapacityAdviceResponseRecommendation struct {
+ // Scores: Scores for the recommendation.
+ Scores *CapacityAdviceResponseRecommendationScores `json:"scores,omitempty"`
+ // Shards: Shards represent blocks of uniform capacity in recommendations.
+ Shards []*CapacityAdviceResponseRecommendationShard `json:"shards,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Scores") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Scores") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceResponseRecommendation) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceResponseRecommendation
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityAdviceResponseRecommendationScores: Groups information about a shard
+// of capacity.
+type CapacityAdviceResponseRecommendationScores struct {
+ // EstimatedUptime: The estimated run time of the majority of Spot VMs in the
+ // request
+ // before preemption. The estimate is best-effort only. It is based
+ // on
+ // historical data and current conditions.
+ EstimatedUptime string `json:"estimatedUptime,omitempty"`
+ // Obtainability: The obtainability score indicates the likelihood of
+ // successfully
+ // obtaining (provisioning) the requested number of VMs.
+ // The score range is 0.0 through 1.0. Higher is better.
+ Obtainability float64 `json:"obtainability,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "EstimatedUptime") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "EstimatedUptime") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceResponseRecommendationScores) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceResponseRecommendationScores
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+func (s *CapacityAdviceResponseRecommendationScores) UnmarshalJSON(data []byte) error {
+ type NoMethod CapacityAdviceResponseRecommendationScores
+ var s1 struct {
+ Obtainability gensupport.JSONFloat64 `json:"obtainability"`
+ *NoMethod
+ }
+ s1.NoMethod = (*NoMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.Obtainability = float64(s1.Obtainability)
+ return nil
+}
+
+// CapacityAdviceResponseRecommendationShard: Shards represent blocks of
+// uniform capacity in recommendations.
+// Each shard is for a single zone and a single machine shape. Each
+// shard
+// defines a size expressed as the number of VMs.
+type CapacityAdviceResponseRecommendationShard struct {
+ // InstanceCount: The number of instances.
+ InstanceCount int64 `json:"instanceCount,omitempty"`
+ // MachineType: The machine type corresponds to the instance selection in the
+ // request.
+ MachineType string `json:"machineType,omitempty"`
+ // ProvisioningModel: The provisioning model that you want to view
+ // recommendations for.
+ //
+ // Possible values:
+ // "FLEX_START" - Instance is provisioned using the Flex Start provisioning
+ // model and
+ // has a limited runtime.
+ // "RESERVATION_BOUND" - Bound to the lifecycle of the reservation in which
+ // it is provisioned.
+ // "SPOT" - Heavily discounted, no guaranteed runtime.
+ // "STANDARD" - Standard provisioning with user controlled runtime, no
+ // discounts.
+ ProvisioningModel string `json:"provisioningModel,omitempty"`
+ // Zone: Output only. The zone name for this shard.
+ Zone string `json:"zone,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "InstanceCount") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "InstanceCount") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityAdviceResponseRecommendationShard) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityAdviceResponseRecommendationShard
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityHistoryRequest: A request to get the capacity history.
+type CapacityHistoryRequest struct {
+ // InstanceProperties: Instance properties for this request.
+ InstanceProperties *CapacityHistoryRequestInstanceProperties `json:"instanceProperties,omitempty"`
+ // LocationPolicy: Location policy for this request.
+ LocationPolicy *CapacityHistoryRequestLocationPolicy `json:"locationPolicy,omitempty"`
+ // Types: List of history types to get capacity history for.
+ //
+ // Possible values:
+ // "HISTORY_TYPE_UNSPECIFIED" - Default value, unused.
+ // "PREEMPTION" - Preemption history.
+ // "PRICE" - Price history.
+ Types []string `json:"types,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "InstanceProperties") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "InstanceProperties") to include
+ // in API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityHistoryRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityHistoryRequest
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityHistoryRequestInstanceProperties: Instance properties for this
+// request.
+type CapacityHistoryRequestInstanceProperties struct {
+ // Disks: Local SSDs.
+ Disks []*CapacityHistoryRequestInstancePropertiesAttachedDisk `json:"disks,omitempty"`
+ // GuestAccelerators: Accelerators configuration.
+ GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"`
+ // MachineType: The machine type for the VM, such as `n2-standard-4`.
+ MachineType string `json:"machineType,omitempty"`
+ // Scheduling: Specifies the scheduling options.
+ Scheduling *CapacityHistoryRequestInstancePropertiesScheduling `json:"scheduling,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Disks") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Disks") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityHistoryRequestInstanceProperties) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityHistoryRequestInstanceProperties
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityHistoryRequestInstancePropertiesAttachedDisk: AttachedDisk modeled
+// after Instance's AttachedDisk.
+type CapacityHistoryRequestInstancePropertiesAttachedDisk struct {
+ // Type: Specifies the type of the disk.
+ //
+ // Possible values:
+ // "DISK_TYPE_UNSPECIFIED" - Default value, unused.
+ // "SCRATCH" - Scratch disk (Local SSD).
+ Type string `json:"type,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Type") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Type") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityHistoryRequestInstancePropertiesAttachedDisk) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityHistoryRequestInstancePropertiesAttachedDisk
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityHistoryRequestInstancePropertiesScheduling: Scheduling options.
+type CapacityHistoryRequestInstancePropertiesScheduling struct {
+ // ProvisioningModel: The provisioning model to get capacity history for.
+ // This field must be set to SPOT.
+ //
+ // For more information, see
+ // Compute Engine instances provisioning models.
+ //
+ // Possible values:
+ // "FLEX_START" - Instance is provisioned using the Flex Start provisioning
+ // model and
+ // has a limited runtime.
+ // "RESERVATION_BOUND" - Bound to the lifecycle of the reservation in which
+ // it is provisioned.
+ // "SPOT" - Heavily discounted, no guaranteed runtime.
+ // "STANDARD" - Standard provisioning with user controlled runtime, no
+ // discounts.
+ ProvisioningModel string `json:"provisioningModel,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "ProvisioningModel") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ProvisioningModel") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityHistoryRequestInstancePropertiesScheduling) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityHistoryRequestInstancePropertiesScheduling
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityHistoryRequestLocationPolicy: Location policy for this request.
+type CapacityHistoryRequestLocationPolicy struct {
+ // Location: The region or zone to get capacity history for.
+ //
+ // It can be a partial or full URL. For example, the following are
+ // valid
+ // values:
+ //
+ //
+ // - https://www.googleapis.com/compute/v1/projects/project/zones/zone
+ // - projects/project/zones/zone
+ // - zones/zone
+ //
+ //
+ //
+ // This field is optional.
+ Location string `json:"location,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Location") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Location") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityHistoryRequestLocationPolicy) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityHistoryRequestLocationPolicy
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityHistoryResponse: Contains the capacity history.
+type CapacityHistoryResponse struct {
+ // Location: Output only. The location (region or zone) for which the capacity
+ // history is returned.
+ // It is returned as a URL - For
+ // example,https://www.googleapis.com/compute/v1/projects/project/zones/zone.
+ Location string `json:"location,omitempty"`
+ // MachineType: The machine type for which the capacity history is returned.
+ MachineType string `json:"machineType,omitempty"`
+ // PreemptionHistory: The preemption history for the requested machine type and
+ // location.
+ PreemptionHistory []*CapacityHistoryResponsePreemptionRecord `json:"preemptionHistory,omitempty"`
+ // PriceHistory: The price history for the requested machine type and location.
+ PriceHistory []*CapacityHistoryResponsePriceRecord `json:"priceHistory,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Location") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Location") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityHistoryResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityHistoryResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// CapacityHistoryResponsePreemptionRecord: A record of Spot VM preemption
+// history.
+type CapacityHistoryResponsePreemptionRecord struct {
+ // Interval: The time interval for this preemption record.
+ Interval *Interval `json:"interval,omitempty"`
+ // PreemptionRate: The preemption rate during the interval, representing the
+ // fraction of
+ // Spot VMs that were preempted. Range: 0.0 to 1.0. Preemption rate
+ // is
+ // calculated as (total preempted Spots) / (total Spots that stopped
+ // running).
+ PreemptionRate float64 `json:"preemptionRate,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Interval") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Interval") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityHistoryResponsePreemptionRecord) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityHistoryResponsePreemptionRecord
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+func (s *CapacityHistoryResponsePreemptionRecord) UnmarshalJSON(data []byte) error {
+ type NoMethod CapacityHistoryResponsePreemptionRecord
+ var s1 struct {
+ PreemptionRate gensupport.JSONFloat64 `json:"preemptionRate"`
+ *NoMethod
+ }
+ s1.NoMethod = (*NoMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.PreemptionRate = float64(s1.PreemptionRate)
+ return nil
+}
+
+// CapacityHistoryResponsePriceRecord: A record of price history.
+type CapacityHistoryResponsePriceRecord struct {
+ // Interval: The time interval for this price record.
+ Interval *Interval `json:"interval,omitempty"`
+ // ListPrice: The Spot VM list price during the interval.
+ ListPrice *Money `json:"listPrice,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Interval") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Interval") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s CapacityHistoryResponsePriceRecord) MarshalJSON() ([]byte, error) {
+ type NoMethod CapacityHistoryResponsePriceRecord
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// CircuitBreakers: Settings controlling the volume of requests, connections
// and retries to this
// backend service.
@@ -10797,8 +12019,11 @@ type Commitment struct {
// GENERAL_PURPOSE,GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2,GENERAL_PURPOSE_N2,
// GENERAL_PURPOSE_N2D,GENERAL_PURPOSE_N4,
// GENERAL_PURPOSE_T2D,GRAPHICS_OPTIMIZED,
- // GRAPHICS_OPTIMIZED_G4,MEMORY_OPTIMIZED,
- // MEMORY_OPTIMIZED_M3,MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For
+ // GRAPHICS_OPTIMIZED_G4,GRAPHICS_OPTIMIZED_G4_VGPU,MEMORY_OPTIMIZED,
+ // MEMORY_OPTIMIZED_M3,MEMORY_OPTIMIZED_X4,
+ // STORAGE_OPTIMIZED_Z3,STORAGE_OPTIMIZED_Z4DS,
+ // STORAGE_OPTIMIZED_Z4DH,STORAGE_OPTIMIZED_Z4D4T,STORAGE_OPTIMIZED_Z4M.
+ // For
// example, type MEMORY_OPTIMIZED specifies a commitment that
// applies only to eligible resources of memory optimized M1 and M2
// machine
@@ -10817,6 +12042,8 @@ type Commitment struct {
// "COMPUTE_OPTIMIZED_C3D"
// "COMPUTE_OPTIMIZED_H3"
// "COMPUTE_OPTIMIZED_H4D"
+ // "COMPUTE_OPTIMIZED_H4D_3TB" - CUD bucket for COMPUTE_OPTIMIZED_H4D_3TB
+ // machines.
// "GENERAL_PURPOSE"
// "GENERAL_PURPOSE_C4"
// "GENERAL_PURPOSE_C4A"
@@ -10830,6 +12057,7 @@ type Commitment struct {
// "GENERAL_PURPOSE_T2D"
// "GRAPHICS_OPTIMIZED"
// "GRAPHICS_OPTIMIZED_G4"
+ // "GRAPHICS_OPTIMIZED_G4_VGPU"
// "MEMORY_OPTIMIZED"
// "MEMORY_OPTIMIZED_M3"
// "MEMORY_OPTIMIZED_M4"
@@ -10849,7 +12077,15 @@ type Commitment struct {
// and 12TB of memory.
// "MEMORY_OPTIMIZED_X4_960_16T" - CUD bucket for X4 machine with 960 vCPUs
// and 16TB of memory.
+ // "NETWORK_OPTIMIZED_C4N" - CUD bucket for C4N (dual Diorite) machines.
+ // "NETWORK_OPTIMIZED_U4C" - CUD bucket for NETWORK_OPTIMIZED_U4C machines.
+ // "NETWORK_OPTIMIZED_U4P" - CUD bucket for NETWORK_OPTIMIZED_U4P machines.
+ // "NETWORK_OPTIMIZED_U4S" - CUD bucket for NETWORK_OPTIMIZED_U4S machines.
// "STORAGE_OPTIMIZED_Z3"
+ // "STORAGE_OPTIMIZED_Z4D4T" - CUD bucket for Z4D-4T machines.
+ // "STORAGE_OPTIMIZED_Z4DH" - CUD bucket for Z4DH machines.
+ // "STORAGE_OPTIMIZED_Z4DS" - CUD bucket for Z4DS machines.
+ // "STORAGE_OPTIMIZED_Z4M" - CUD bucket for Z4M (bare metal) machines.
// "TYPE_UNSPECIFIED" - Note for internal users: When adding a new enum Type
// for v1, make sure
// to also add it in the comment for the `optional Type type` definition.
@@ -11006,7 +12242,7 @@ type CommitmentAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*CommitmentAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -11188,7 +12424,7 @@ type CommitmentListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*CommitmentListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -11413,7 +12649,7 @@ type CommitmentsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*CommitmentsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -11689,7 +12925,7 @@ type CompositeHealthCheckAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*CompositeHealthCheckAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -11907,7 +13143,7 @@ type CompositeHealthCheckListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*CompositeHealthCheckListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -12102,7 +13338,7 @@ type CompositeHealthChecksScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*CompositeHealthChecksScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -12162,6 +13398,8 @@ type ConfidentialInstanceConfig struct {
// confidential instance.
//
// Possible values:
+ // "BMSAI" - Bare Metal Secure AI.
+ // "CCA" - Arm Confidential Compute Architecture.
// "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED" - No type specified. Do not use
// this value.
// "SEV" - AMD Secure Encrypted Virtualization.
@@ -12542,7 +13780,7 @@ type CrossSiteNetworkListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*CrossSiteNetworkListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -12741,7 +13979,9 @@ type CustomerEncryptionKey struct {
//
// "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
KmsKeyServiceAccount string `json:"kmsKeyServiceAccount,omitempty"`
- // RawKey: Specifies a 256-bit customer-supplied
+ // RawKey: [DEPRECATED] CSEK is no longer supported. Use CMEK
+ // instead.
+ // Specifies a 256-bit customer-supplied
// encryption key, encoded in RFC
// 4648 base64 to either encrypt or decrypt this resource. You can
// provide either the rawKey or thersaEncryptedKey.
@@ -12750,8 +13990,9 @@ type CustomerEncryptionKey struct {
// "rawKey":
// "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
RawKey string `json:"rawKey,omitempty"`
- // RsaEncryptedKey: Specifies an RFC 4648 base64 encoded, RSA-wrapped
- // 2048-bit
+ // RsaEncryptedKey: [DEPRECATED] CSEK is no longer supported. Use CMEK
+ // instead.
+ // Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
// customer-supplied encryption key to either encrypt or decrypt this
// resource. You can provide either the rawKey or thersaEncryptedKey.
// For
@@ -12777,7 +14018,8 @@ type CustomerEncryptionKey struct {
//
// https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
RsaEncryptedKey string `json:"rsaEncryptedKey,omitempty"`
- // Sha256: [Output only] TheRFC
+ // Sha256: [DEPRECATED] CSEK is no longer supported. Use CMEK instead.
+ // [Output only] TheRFC
// 4648 base64 encoded SHA-256 hash of the customer-supplied
// encryption key that protects this resource.
Sha256 string `json:"sha256,omitempty"`
@@ -12882,6 +14124,97 @@ func (s Date) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// DateTime: Represents civil time (or occasionally physical time).
+//
+// This type can represent a civil time in one of a few possible ways:
+//
+// - When utc_offset is set and time_zone is unset: a civil time on a
+//
+// calendar
+//
+// day with a particular offset from UTC.
+// * When time_zone is set and utc_offset is unset: a civil time on a
+//
+// calendar
+//
+// day in a particular time zone.
+// * When neither time_zone nor utc_offset is set: a civil time on a calendar
+// day in local time.
+//
+// The date is relative to the Proleptic Gregorian Calendar.
+//
+// If year, month, or day are 0, the DateTime is considered not to have
+// a
+// specific year, month, or day respectively.
+//
+// This type may also be used to represent a physical time if all the date
+// and
+// time fields are set and either case of the `time_offset` oneof is
+// set.
+// Consider using `Timestamp` message for physical time instead. If your
+// use
+// case also would like to store the user's timezone, that can be done
+// in
+// another field.
+//
+// This type is more flexible than some applications may want. Make sure
+// to
+// document and validate your application's limitations.
+type DateTime struct {
+ // Day: Optional. Day of month. Must be from 1 to 31 and valid for the year
+ // and
+ // month, or 0 if specifying a datetime without a day.
+ Day int64 `json:"day,omitempty"`
+ // Hours: Optional. Hours of day in 24 hour format. Should be from 0 to 23,
+ // defaults
+ // to 0 (midnight). An API may choose to allow the value "24:00:00"
+ // for
+ // scenarios like business closing time.
+ Hours int64 `json:"hours,omitempty"`
+ // Minutes: Optional. Minutes of hour of day. Must be from 0 to 59, defaults to
+ // 0.
+ Minutes int64 `json:"minutes,omitempty"`
+ // Month: Optional. Month of year. Must be from 1 to 12, or 0 if specifying
+ // a
+ // datetime without a month.
+ Month int64 `json:"month,omitempty"`
+ // Nanos: Optional. Fractions of seconds in nanoseconds. Must be from 0
+ // to
+ // 999,999,999, defaults to 0.
+ Nanos int64 `json:"nanos,omitempty"`
+ // Seconds: Optional. Seconds of minutes of the time. Must normally be from 0
+ // to 59,
+ // defaults to 0. An API may allow the value 60 if it allows leap-seconds.
+ Seconds int64 `json:"seconds,omitempty"`
+ // TimeZone: Time zone.
+ TimeZone *TimeZone `json:"timeZone,omitempty"`
+ // UtcOffset: UTC offset. Must be whole seconds, between -18 hours and +18
+ // hours.
+ // For example, a UTC offset of -4:00 would be represented as
+ // { seconds: -14400 }.
+ UtcOffset string `json:"utcOffset,omitempty"`
+ // Year: Optional. Year of date. Must be from 1 to 9999, or 0 if specifying
+ // a
+ // datetime without a year.
+ Year int64 `json:"year,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Day") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Day") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s DateTime) MarshalJSON() ([]byte, error) {
+ type NoMethod DateTime
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// DeprecationStatus: Deprecation status for a public resource.
type DeprecationStatus struct {
// Deleted: An optional RFC3339 timestamp on or after which the state of
@@ -13512,7 +14845,7 @@ type DiskAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*DiskAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -13851,7 +15184,7 @@ type DiskListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*DiskListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -13948,8 +15281,9 @@ type DiskParams struct {
// disk. Tag keys and values
// have the same definition as resource
// manager tags. Keys and values can be either in numeric format,
- // such as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced
- // format such as `{org_id|project_id}/{tag_key_short_name}`
+ // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or
+ // in
+ // namespaced format such as `{org_id|project_id}/{tag_key_short_name}`
// and
// `{tag_value_short_name}`. The field is ignored (both PUT &
// PATCH) when empty.
@@ -14225,7 +15559,7 @@ type DiskTypeAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*DiskTypeAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -14407,7 +15741,7 @@ type DiskTypeListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*DiskTypeListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -14573,7 +15907,7 @@ type DiskTypesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*DiskTypesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -14839,7 +16173,7 @@ type DisksScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*DisksScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -15375,7 +16709,7 @@ type ExchangedPeeringRoutesListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ExchangedPeeringRoutesListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -15815,7 +17149,7 @@ type ExternalVpnGatewayListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ExternalVpnGatewayListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -16320,7 +17654,7 @@ type FirewallListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*FirewallListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -16580,7 +17914,7 @@ type FirewallPoliciesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*FirewallPoliciesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -16693,13 +18027,15 @@ type FirewallPolicy struct {
// Parent: Output only. [Output Only] The parent of the firewall policy.
// This field is not applicable to network firewall policies.
Parent string `json:"parent,omitempty"`
- // PolicyType: The type of the firewall policy. This field can be
- // eitherVPC_POLICY or RDMA_ROCE_POLICY.
+ // PolicyType: The type of the firewall policy. This field can be one
+ // of
+ // VPC_POLICY, RDMA_ROCE_POLICY or ULL_POLICY.
//
// Note: if not specified then VPC_POLICY will be used.
//
// Possible values:
// "RDMA_ROCE_POLICY"
+ // "ULL_POLICY"
// "VPC_POLICY"
PolicyType string `json:"policyType,omitempty"`
// Region: Output only. [Output Only] URL of the region where the regional
@@ -16771,6 +18107,14 @@ type FirewallPolicyAssociation struct {
FirewallPolicyId string `json:"firewallPolicyId,omitempty"`
// Name: The name for an association.
Name string `json:"name,omitempty"`
+ // Priority: An integer indicating the priority of an association. The
+ // priority
+ // must be a positive value between 1 and 2147483647.
+ // Firewall Policies are evaluated from highest to lowest priority where 1
+ // is the highest priority and 2147483647 is the lowest priority.
+ // The default value is `1000`. If two associations have the same priority
+ // then lexicographical order on association names is applied.
+ Priority int64 `json:"priority,omitempty"`
// ShortName: Output only. [Output Only] The short name of the firewall policy
// of the association.
ShortName string `json:"shortName,omitempty"`
@@ -16919,7 +18263,7 @@ type FirewallPolicyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*FirewallPolicyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -16981,7 +18325,10 @@ type FirewallPolicyRule struct {
// rule.
// Valid actions for firewall rules are: "allow",
// "deny",
- // "apply_security_profile_group" and "goto_next".
+ // "apply_security_profile_group" and "goto_next"
+ // (
+ // "apply_security_profile_group" can be specified only for global
+ // network firewall policies or hierarchical firewall policies).
// Valid actions for packet mirroring rules are: "mirror", "do_not_mirror"
// and "goto_next".
Action string `json:"action,omitempty"`
@@ -17028,14 +18375,31 @@ type FirewallPolicyRule struct {
// a single firewall policy
// rule.
RuleTupleCount int64 `json:"ruleTupleCount,omitempty"`
- // SecurityProfileGroup: A fully-qualified URL of a SecurityProfile resource
+ // SecurityProfileGroup: A fully-qualified URL of a SecurityProfileGroup
+ // resource
// instance.
// Example:
// https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
// Must be specified if action is one of 'apply_security_profile_group'
// or
- // 'mirror'. Cannot be specified for other actions.
+ // 'mirror'. Cannot be specified for other actions. Can be specified only
+ // for global network firewall policies or hierarchical firewall policies.
SecurityProfileGroup string `json:"securityProfileGroup,omitempty"`
+ // TargetForwardingRules: A list of forwarding rules to which this rule
+ // applies.
+ // This field allows you to control which load balancers get this rule.
+ // For example, the following are valid values:
+ //
+ //
+ // -
+ // https://www.googleapis.com/compute/v1/projects/project/global/forwardingRules/forwardingRule
+ // -
+ // https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule
+ // - projects/project/global/
+ // forwardingRules/forwardingRule
+ // - projects/project/regions/region/forwardingRules/
+ // forwardingRule
+ TargetForwardingRules []string `json:"targetForwardingRules,omitempty"`
// TargetResources: A list of network resource URLs to which this rule applies.
// This field
// allows you to control which network's VMs get this rule. If this field
@@ -17058,6 +18422,13 @@ type FirewallPolicyRule struct {
// instances that are
// applied with this rule.
TargetServiceAccounts []string `json:"targetServiceAccounts,omitempty"`
+ // TargetType: Target types of the firewall policy rule.
+ // Default value is INSTANCES.
+ //
+ // Possible values:
+ // "INSTANCES"
+ // "INTERNAL_MANAGED_LB"
+ TargetType string `json:"targetType,omitempty"`
// TlsInspect: Boolean flag indicating if the traffic should be TLS
// decrypted.
// Can be set only if action = 'apply_security_profile_group' and cannot
@@ -17290,9 +18661,8 @@ func (s FirewallPolicyRuleSecureTag) MarshalJSON() ([]byte, error) {
// FixedOrPercent: Encapsulates numeric value that can be either absolute or
// relative.
type FixedOrPercent struct {
- // Calculated: Output only. [Output Only] Absolute value of VM instances
- // calculated based on the
- // specific mode.
+ // Calculated: Output only. Absolute value of VM instances calculated based on
+ // the specific mode.
//
//
//
@@ -17420,6 +18790,9 @@ type ForwardingRule struct {
//
//
//
+ // The IP address can only be set at creation. Once set, it cannot be
+ // updated.
+ //
// The forwarding rule's target or backendService,
// and in most cases, also the loadBalancingScheme, determine the
// type of IP address that you can use. For detailed information, see
@@ -17429,6 +18802,12 @@ type ForwardingRule struct {
//
// When reading an IPAddress, the API always returns the IP
// address number.
+ //
+ // When creating a global external Passthrough Network Load Balancer
+ // forwarding rule (a parent forwarding rule), you must use theIPAddresses
+ // field, but the Google Cloud generated child
+ // forwarding rules set the IPAddress field instead. Refer to
+ // theavailabilityGroup field for further details.
IPAddress string `json:"IPAddress,omitempty"`
// IPProtocol: The IP protocol to which this rule applies.
//
@@ -17486,10 +18865,23 @@ type ForwardingRule struct {
// whether the PSC
// endpoint can be accessed from another region.
AllowPscGlobalAccess bool `json:"allowPscGlobalAccess,omitempty"`
+ // AttachedExtensions: Output only. [Output Only]. The extensions that are
+ // attached to this ForwardingRule.
+ AttachedExtensions []*ForwardingRuleAttachedExtension `json:"attachedExtensions,omitempty"`
// BackendService: Identifies the backend service to which the forwarding rule
// sends traffic.
- // Required for internal and external passthrough Network Load Balancers;
- // must be omitted for all other load balancer types.
+ //
+ // It is a required field for the following load balancers:
+ //
+ // - Internal passthrough Network Load Balancers
+ // - Backend service-based regional external passthrough Network Load
+ // Balancers
+ // - Global external passthrough Network Load Balancers
+ //
+ //
+ //
+ // It cannot be set by other load balancer types and protocol forwarding
+ // rules.
BackendService string `json:"backendService,omitempty"`
// BaseForwardingRule: Output only. [Output Only] The URL for the corresponding
// base forwarding rule. By base
@@ -17626,8 +19018,8 @@ type ForwardingRule struct {
Labels map[string]string `json:"labels,omitempty"`
// LoadBalancingScheme: Specifies the forwarding rule type.
//
- // For more information about forwarding rules, refer to
- // Forwarding rule concepts.
+ // For more information, refer to
+ // Forwarding rule product and scheme table.
//
// Possible values:
// "EXTERNAL"
@@ -17681,6 +19073,18 @@ type ForwardingRule struct {
// APIs, the forwarding rule name must be a 1-20 characters string
// with
// lowercase letters and numbers and must start with a letter.
+ //
+ // For global external Passthrough Network Load Balancer forwarding rules,
+ // the
+ // forwarding rule name must be 1-43 characters long. For each global
+ // external
+ // Passthrough Network Load Balancer forwarding rule (a parent forwarding
+ // rule) that you create, Google Cloud generates two output-only
+ // child
+ // forwarding rules that are named by concatenating the parent forwarding
+ // rule
+ // name with the `-ag0` and `-ag1` suffixes, respectively. Refer to
+ // theavailabilityGroup field for further details.
Name string `json:"name,omitempty"`
// Network: This field is not used for global external load balancing.
//
@@ -17751,8 +19155,9 @@ type ForwardingRule struct {
//
// For external forwarding rules, two or more forwarding rules cannot use
// the
- // same [IPAddress, IPProtocol] pair, and cannot have
- // overlappingportRanges.
+ // same [IPAddress, IPProtocol] pair (specified inIPAddress, IPAddresses,
+ // IPProtocol
+ // fields) if they have overlapping portRanges.
//
// For internal forwarding rules within the same VPC network, two or
// more
@@ -17783,8 +19188,9 @@ type ForwardingRule struct {
//
// For external forwarding rules, two or more forwarding rules cannot use
// the
- // same [IPAddress, IPProtocol] pair if they share at least one
- // port number.
+ // same [IPAddress, IPProtocol] pair (specified inIPAddress, IPAddresses,
+ // IPProtocol
+ // fields) if they share at least one port number.
//
// For internal forwarding rules within the same VPC network, two or
// more
@@ -17893,6 +19299,16 @@ type ForwardingRule struct {
// - For Private Service Connect forwarding rules that forward traffic to
// managed services, the target must be a service attachment. The target is not
// mutable once set as a service attachment.
+ //
+ //
+ //
+ // The following load balancers cannot set the target field (they should set
+ // the backendService field instead):
+ //
+ // - Internal passthrough Network Load Balancers
+ // - Backend service-based regional external passthrough Network Load
+ // Balancers
+ // - Global external passthrough Network Load Balancers
Target string `json:"target,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
@@ -18058,7 +19474,7 @@ type ForwardingRuleAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ForwardingRuleAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -18112,6 +19528,29 @@ func (s ForwardingRuleAggregatedListWarningData) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ForwardingRuleAttachedExtension: Reference to an extension resource that is
+// attached to this ForwardingRule.
+type ForwardingRuleAttachedExtension struct {
+ // Reference: Output only. The resource name.
+ Reference string `json:"reference,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Reference") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Reference") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ForwardingRuleAttachedExtension) MarshalJSON() ([]byte, error) {
+ type NoMethod ForwardingRuleAttachedExtension
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// ForwardingRuleList: Contains a list of ForwardingRule resources.
type ForwardingRuleList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the server.
@@ -18238,7 +19677,7 @@ type ForwardingRuleListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ForwardingRuleListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -18458,7 +19897,7 @@ type ForwardingRulesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ForwardingRulesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -18543,11 +19982,18 @@ type FutureReservation struct {
// set
// to false.
AutoDeleteAutoCreatedReservations bool `json:"autoDeleteAutoCreatedReservations,omitempty"`
+ // ColocationResource: Full or partial URL of an existing future reservation to
+ // indicate
+ // intent for reserving capacity in the same cluster as the
+ // colocation
+ // resource.
+ ColocationResource string `json:"colocationResource,omitempty"`
// CommitmentInfo: If not present, then FR will not deliver a new commitment or
// update an
// existing commitment.
CommitmentInfo *FutureReservationCommitmentInfo `json:"commitmentInfo,omitempty"`
// Possible values:
+ // "CONFIDENTIAL_COMPUTE_TYPE_BMSAI" - Bare Metal Secure AI.
// "CONFIDENTIAL_COMPUTE_TYPE_TDX" - Intel Trust Domain Extensions.
// "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED"
ConfidentialComputeType string `json:"confidentialComputeType,omitempty"`
@@ -18632,6 +20078,20 @@ type FutureReservation struct {
// the
// reservation_name or a name_prefix.
ReservationName string `json:"reservationName,omitempty"`
+ // ResourceMetadata: Output only. Contains standard resource metadata for an
+ // FutureReservation
+ // resource. It is populated for each instance of the
+ // FutureReservation
+ // resource, and includes the api_version the
+ // instance was retrieved through, and its canonical
+ // resource_type name.
+ ResourceMetadata *ResourceMetadata `json:"resourceMetadata,omitempty"`
+ // ResourceName: Name of the resource intended to be delivered. Name should
+ // conform to
+ // RFC1035. This will be the name of storage pool or Exapool for
+ // persistent
+ // disk FRs.
+ ResourceName string `json:"resourceName,omitempty"`
// SchedulingType: Maintenance information for this reservation
//
// Possible values:
@@ -18662,6 +20122,8 @@ type FutureReservation struct {
SpecificSkuProperties *FutureReservationSpecificSKUProperties `json:"specificSkuProperties,omitempty"`
// Status: Output only. [Output only] Status of the Future Reservation
Status *FutureReservationStatus `json:"status,omitempty"`
+ // StoragePoolProperties: Storage pool details for the future reservation.
+ StoragePoolProperties *FutureReservationStoragePoolProperties `json:"storagePoolProperties,omitempty"`
// TimeWindow: Time window for this Future Reservation.
TimeWindow *FutureReservationTimeWindow `json:"timeWindow,omitempty"`
// Zone: Output only. [Output Only] URL of the Zone where this future
@@ -18815,6 +20277,9 @@ type FutureReservationStatus struct {
// automatically created reservations at
// start_time.
AutoCreatedReservations []string `json:"autoCreatedReservations,omitempty"`
+ // ExapoolProvisionedCapacityGb: Output only. Exapool provisioned capacities
+ // for each SKU type.
+ ExapoolProvisionedCapacityGb *StoragePoolExapoolProvisionedCapacityGb `json:"exapoolProvisionedCapacityGb,omitempty"`
// ExistingMatchingUsageInfo: Output only. [Output Only] Represents the
// existing matching usage for the future
// reservation.
@@ -18872,6 +20337,9 @@ type FutureReservationStatus struct {
// persist past start_time + 24h.
ProcurementStatus string `json:"procurementStatus,omitempty"`
SpecificSkuProperties *FutureReservationStatusSpecificSKUProperties `json:"specificSkuProperties,omitempty"`
+ // StoragePoolProvisionedCapacity: Output only. Storage pool provisioned
+ // capacities for each SKU type.
+ StoragePoolProvisionedCapacity *FutureReservationStoragePoolProvisionedCapacity `json:"storagePoolProvisionedCapacity,omitempty"`
// ForceSendFields is a list of field names (e.g. "AmendmentStatus") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -19046,6 +20514,68 @@ func (s FutureReservationStatusSpecificSKUProperties) MarshalJSON() ([]byte, err
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// FutureReservationStoragePoolProperties: Storage pool properties for the
+// future reservation.
+type FutureReservationStoragePoolProperties struct {
+ // RequestedExapoolProvisionedCapacityGb: Requested exapool provisioned
+ // capacity in GiB.
+ RequestedExapoolProvisionedCapacityGb *StoragePoolExapoolProvisionedCapacityGb `json:"requestedExapoolProvisionedCapacityGb,omitempty"`
+ // RequestedStoragePoolProvisionedCapacity: Requested storage pool provisioned
+ // capacity.
+ RequestedStoragePoolProvisionedCapacity *FutureReservationStoragePoolProvisionedCapacity `json:"requestedStoragePoolProvisionedCapacity,omitempty"`
+ // StoragePoolType: Type of the storage pool.
+ StoragePoolType string `json:"storagePoolType,omitempty"`
+ // ForceSendFields is a list of field names (e.g.
+ // "RequestedExapoolProvisionedCapacityGb") to unconditionally include in API
+ // requests. By default, fields with empty or default values are omitted from
+ // API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g.
+ // "RequestedExapoolProvisionedCapacityGb") to include in API requests with the
+ // JSON null value. By default, fields with empty values are omitted from API
+ // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
+ // more details.
+ NullFields []string `json:"-"`
+}
+
+func (s FutureReservationStoragePoolProperties) MarshalJSON() ([]byte, error) {
+ type NoMethod FutureReservationStoragePoolProperties
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// FutureReservationStoragePoolProvisionedCapacity: Storage pool provisioned
+// capacities for each SKU type.
+type FutureReservationStoragePoolProvisionedCapacity struct {
+ // PoolProvisionedCapacityGb: Size of the storage pool in GiB.
+ PoolProvisionedCapacityGb int64 `json:"poolProvisionedCapacityGb,omitempty,string"`
+ // PoolProvisionedIops: Provisioned IOPS of the storage pool. Only relevant if
+ // the storage pool
+ // type is hyperdisk-balanced.
+ PoolProvisionedIops int64 `json:"poolProvisionedIops,omitempty,string"`
+ // PoolProvisionedThroughput: Provisioned throughput of the storage pool in
+ // MiB/s. Only relevant if
+ // the storage pool type is hyperdisk-balanced or hyperdisk-throughput.
+ PoolProvisionedThroughput int64 `json:"poolProvisionedThroughput,omitempty,string"`
+ // ForceSendFields is a list of field names (e.g. "PoolProvisionedCapacityGb")
+ // to unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "PoolProvisionedCapacityGb") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s FutureReservationStoragePoolProvisionedCapacity) MarshalJSON() ([]byte, error) {
+ type NoMethod FutureReservationStoragePoolProvisionedCapacity
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type FutureReservationTimeWindow struct {
Duration *Duration `json:"duration,omitempty"`
EndTime string `json:"endTime,omitempty"`
@@ -19204,7 +20734,7 @@ type FutureReservationsAggregatedListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*FutureReservationsAggregatedListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -19392,7 +20922,7 @@ type FutureReservationsListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*FutureReservationsListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -19558,7 +21088,7 @@ type FutureReservationsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*FutureReservationsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -20086,6 +21616,94 @@ func (s GRPCTLSHealthCheck) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// GetHealthOperationMetadata: Metadata for GetHealth operations.
+type GetHealthOperationMetadata struct {
+ // HealthInfo: Output only. The health information.
+ HealthInfo *GetHealthOperationMetadataHealthInfo `json:"healthInfo,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "HealthInfo") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "HealthInfo") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GetHealthOperationMetadata) MarshalJSON() ([]byte, error) {
+ type NoMethod GetHealthOperationMetadata
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// GetHealthOperationMetadataHealthInfo: Health information.
+type GetHealthOperationMetadataHealthInfo struct {
+ // AvailabilitySloStatus: Output only. The availability SLO status.
+ //
+ // Possible values:
+ // "AVAILABILITY_SLO_STATUS_IN_SLO" - The slot availability is in SLO.
+ // "AVAILABILITY_SLO_STATUS_OUT_OF_SLO" - The slot availability is out of
+ // SLO.
+ // "AVAILABILITY_SLO_STATUS_SLO_UNKNOWN" - The slot availability is unknown.
+ // "AVAILABILITY_SLO_STATUS_UNSPECIFIED" - Unspecified availability SLO
+ // status.
+ AvailabilitySloStatus string `json:"availabilitySloStatus,omitempty"`
+ // HealthStatus: Output only. The health status.
+ //
+ // Possible values:
+ // "HEALTH_STATUS_HEALTHY" - The reservation slot is healthy.
+ // "HEALTH_STATUS_UNHEALTHY" - The reservation slot is unhealthy.
+ // "HEALTH_STATUS_UNSPECIFIED" - Unspecified health status.
+ HealthStatus string `json:"healthStatus,omitempty"`
+ // RepairCategory: Output only. The repair category.
+ //
+ // Possible values:
+ // "REPAIR_CATEGORY_CRITICAL_FAILURE" - The repair is because of critical
+ // failures, that are scoped outside
+ // emergent maintenance
+ // "REPAIR_CATEGORY_EMERGENT_MAINTENANCE" - The repair is because of an
+ // emergent maintenance
+ // "REPAIR_CATEGORY_PLANNED_MAINTENANCE" - The repair is because of a planned
+ // maintenance
+ // "REPAIR_CATEGORY_UNSPECIFIED" - Unspecified repair category.
+ // "REPAIR_CATEGORY_USER_REPORTED_FAULT" - The repair is because of a user
+ // reported fault
+ RepairCategory string `json:"repairCategory,omitempty"`
+ // UnhealthyReason: Output only. The reason for unhealthy status.
+ //
+ // Possible values:
+ // "UNHEALTHY_REASON_PENDING_USER_APPROVAL" - The slot is unhealthy because
+ // there is a pending repair, waiting for
+ // customer approval
+ // "UNHEALTHY_REASON_REPAIRING" - The slot is unhealthy because repair is in
+ // progress
+ // "UNHEALTHY_REASON_UNSCHEDULABLE" - The slot is unhealthy because a vm
+ // cannot be scheduled on it, and no
+ // repairs are running on the slot
+ // "UNHEALTHY_REASON_UNSPECIFIED" - Unspecified unhealthy reason.
+ UnhealthyReason string `json:"unhealthyReason,omitempty"`
+ // UpdateTime: Output only. The time when health info was updated.
+ UpdateTime string `json:"updateTime,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "AvailabilitySloStatus") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "AvailabilitySloStatus") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GetHealthOperationMetadataHealthInfo) MarshalJSON() ([]byte, error) {
+ type NoMethod GetHealthOperationMetadataHealthInfo
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type GetVersionOperationMetadata struct {
InlineSbomInfo *GetVersionOperationMetadataSbomInfo `json:"inlineSbomInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "InlineSbomInfo") to
@@ -20107,13 +21725,13 @@ func (s GetVersionOperationMetadata) MarshalJSON() ([]byte, error) {
}
type GetVersionOperationMetadataSbomInfo struct {
- // CurrentComponentVersions: SBOM versions currently applied to the resource.
- // The key is the component
- // name and the value is the version.
+ // CurrentComponentVersions: A mapping of components to their currently-applied
+ // versions or other
+ // appropriate identifiers.
CurrentComponentVersions map[string]string `json:"currentComponentVersions,omitempty"`
- // TargetComponentVersions: SBOM versions scheduled for the next maintenance.
- // The key is the
- // component name and the value is the version.
+ // TargetComponentVersions: A mapping of components to their target versions or
+ // other appropriate
+ // identifiers.
TargetComponentVersions map[string]string `json:"targetComponentVersions,omitempty"`
// ForceSendFields is a list of field names (e.g. "CurrentComponentVersions")
// to unconditionally include in API requests. By default, fields with empty or
@@ -20169,120 +21787,201 @@ func (s GlobalAddressesMoveRequest) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-type GlobalNetworkEndpointGroupsAttachEndpointsRequest struct {
- // NetworkEndpoints: The list of network endpoints to be attached.
- NetworkEndpoints []*NetworkEndpoint `json:"networkEndpoints,omitempty"`
- // ForceSendFields is a list of field names (e.g. "NetworkEndpoints") to
+// GlobalFrontendSettings: Represents the Global Frontend Bundle settings for a
+// single project.
+type GlobalFrontendSettings struct {
+ // BundleType: Customer-settable bundle type.
+ //
+ // Possible values:
+ // "BUNDLE_TYPE_UNSPECIFIED" - Bundling is not active.
+ // "GLOBAL_FRONT_END" - Standard Global Frontend bundle.
+ // "INDIVIDUAL" - Ala Carte mode.
+ BundleType string `json:"bundleType,omitempty"`
+ // CreationTimestamp: Output only. [Output Only] Creation timestamp in RFC3339
+ // text format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+ // Description: Output only. [Output Only] An optional description of this
+ // resource.
+ Description string `json:"description,omitempty"`
+ // Etag: Output only. For optimistic locking.
+ Etag string `json:"etag,omitempty"`
+ // Id: Output only. [Output Only] The unique identifier for the resource. This
+ // identifier is
+ // defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+ // Name: Output only. OUTPUT_ONLY fields
+ // [Output Only] Name of the resource. Must be 1-63 characters long and
+ // match
+ // the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
+ // first
+ // character must be a lowercase letter, and all following characters must
+ // be a dash, lowercase letter, or digit, except the last character,
+ // which
+ // cannot be a dash.
+ Name string `json:"name,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "BundleType") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "NetworkEndpoints") to include in
- // API requests with the JSON null value. By default, fields with empty values
- // are omitted from API requests. See
+ // NullFields is a list of field names (e.g. "BundleType") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
-func (s GlobalNetworkEndpointGroupsAttachEndpointsRequest) MarshalJSON() ([]byte, error) {
- type NoMethod GlobalNetworkEndpointGroupsAttachEndpointsRequest
+func (s GlobalFrontendSettings) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalFrontendSettings
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-type GlobalNetworkEndpointGroupsDetachEndpointsRequest struct {
- // NetworkEndpoints: The list of network endpoints to be detached.
- NetworkEndpoints []*NetworkEndpoint `json:"networkEndpoints,omitempty"`
- // ForceSendFields is a list of field names (e.g. "NetworkEndpoints") to
+// GlobalFrontendSettingsPatchResponse: Response to an
+// UpdateGlobalFrontendSettingsRequest.
+type GlobalFrontendSettingsPatchResponse struct {
+ // Operation: The Operation resource for this long-running operation.
+ Operation *Operation `json:"operation,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Operation") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "NetworkEndpoints") to include in
- // API requests with the JSON null value. By default, fields with empty values
- // are omitted from API requests. See
+ // NullFields is a list of field names (e.g. "Operation") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
-func (s GlobalNetworkEndpointGroupsDetachEndpointsRequest) MarshalJSON() ([]byte, error) {
- type NoMethod GlobalNetworkEndpointGroupsDetachEndpointsRequest
+func (s GlobalFrontendSettingsPatchResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalFrontendSettingsPatchResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-type GlobalOrganizationSetPolicyRequest struct {
- // Bindings: Flatten Policy to create a backward compatible
- // wire-format.
- // Deprecated. Use 'policy' to specify bindings.
- Bindings []*Binding `json:"bindings,omitempty"`
- // Etag: Flatten Policy to create a backward compatible
- // wire-format.
- // Deprecated. Use 'policy' to specify the etag.
- Etag string `json:"etag,omitempty"`
- // Policy: REQUIRED: The complete policy to be applied to the 'resource'. The
- // size of
- // the policy is limited to a few 10s of KB. An empty policy is in general
- // a
- // valid policy but certain services (like Projects) might reject them.
- Policy *Policy `json:"policy,omitempty"`
- // ForceSendFields is a list of field names (e.g. "Bindings") to
+type GlobalNetworkEndpointGroupsAttachEndpointsRequest struct {
+ // NetworkEndpoints: The list of network endpoints to be attached.
+ NetworkEndpoints []*NetworkEndpoint `json:"networkEndpoints,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "NetworkEndpoints") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "Bindings") to include in API
- // requests with the JSON null value. By default, fields with empty values are
- // omitted from API requests. See
+ // NullFields is a list of field names (e.g. "NetworkEndpoints") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
-func (s GlobalOrganizationSetPolicyRequest) MarshalJSON() ([]byte, error) {
- type NoMethod GlobalOrganizationSetPolicyRequest
+func (s GlobalNetworkEndpointGroupsAttachEndpointsRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalNetworkEndpointGroupsAttachEndpointsRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-type GlobalSetLabelsRequest struct {
- // LabelFingerprint: The fingerprint of the previous set of labels for this
- // resource,
- // used to detect conflicts. The fingerprint is initially generated by
- // Compute
- // Engine and changes after every request to modify or update labels. You
- // must
- // always provide an up-to-date fingerprint hash when updating or
- // changing
- // labels, otherwise the request will fail with error412 conditionNotMet. Make
- // a get() request to the
- // resource to get the latest fingerprint.
- LabelFingerprint string `json:"labelFingerprint,omitempty"`
- // Labels: A list of labels to apply for this resource. Each label must comply
- // with
- // the
- // requirements for labels. For example,"webserver-frontend": "images". A label
- // value can also be
- // empty (e.g. "my-label": "").
- Labels map[string]string `json:"labels,omitempty"`
- // ForceSendFields is a list of field names (e.g. "LabelFingerprint") to
+type GlobalNetworkEndpointGroupsDetachEndpointsRequest struct {
+ // NetworkEndpoints: The list of network endpoints to be detached.
+ NetworkEndpoints []*NetworkEndpoint `json:"networkEndpoints,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "NetworkEndpoints") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "LabelFingerprint") to include in
+ // NullFields is a list of field names (e.g. "NetworkEndpoints") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
-func (s GlobalSetLabelsRequest) MarshalJSON() ([]byte, error) {
- type NoMethod GlobalSetLabelsRequest
+func (s GlobalNetworkEndpointGroupsDetachEndpointsRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalNetworkEndpointGroupsDetachEndpointsRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-type GlobalSetPolicyRequest struct {
+type GlobalOrganizationSetPolicyRequest struct {
+ // Bindings: Flatten Policy to create a backward compatible
+ // wire-format.
+ // Deprecated. Use 'policy' to specify bindings.
+ Bindings []*Binding `json:"bindings,omitempty"`
+ // Etag: Flatten Policy to create a backward compatible
+ // wire-format.
+ // Deprecated. Use 'policy' to specify the etag.
+ Etag string `json:"etag,omitempty"`
+ // Policy: REQUIRED: The complete policy to be applied to the 'resource'. The
+ // size of
+ // the policy is limited to a few 10s of KB. An empty policy is in general
+ // a
+ // valid policy but certain services (like Projects) might reject them.
+ Policy *Policy `json:"policy,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Bindings") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Bindings") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalOrganizationSetPolicyRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalOrganizationSetPolicyRequest
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type GlobalSetLabelsRequest struct {
+ // LabelFingerprint: The fingerprint of the previous set of labels for this
+ // resource,
+ // used to detect conflicts. The fingerprint is initially generated by
+ // Compute
+ // Engine and changes after every request to modify or update labels. You
+ // must
+ // always provide an up-to-date fingerprint hash when updating or
+ // changing
+ // labels, otherwise the request will fail with error412 conditionNotMet. Make
+ // a get() request to the
+ // resource to get the latest fingerprint.
+ LabelFingerprint string `json:"labelFingerprint,omitempty"`
+ // Labels: A list of labels to apply for this resource. Each label must comply
+ // with
+ // the
+ // requirements for labels. For example,"webserver-frontend": "images". A label
+ // value can also be
+ // empty (e.g. "my-label": "").
+ Labels map[string]string `json:"labels,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "LabelFingerprint") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "LabelFingerprint") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalSetLabelsRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalSetLabelsRequest
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type GlobalSetPolicyRequest struct {
// Bindings: Flatten Policy to create a backward compatible
// wire-format.
// Deprecated. Use 'policy' to specify bindings.
@@ -20315,6 +22014,547 @@ func (s GlobalSetPolicyRequest) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// GlobalVmExtensionPolicy: Message describing GlobalVmExtensionPolicy object.
+type GlobalVmExtensionPolicy struct {
+ // CreationTimestamp: Output only. [Output Only] Creation timestamp
+ // inRFC3339
+ // text format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+ // Description: An optional description of this resource. Provide this property
+ // when you
+ // create the resource.
+ Description string `json:"description,omitempty"`
+ // ExtensionPolicies: Required. Map from extension (eg: "cloudops") to its
+ // policy configuration.
+ // The key is the name of the extension.
+ ExtensionPolicies map[string]GlobalVmExtensionPolicyExtensionPolicy `json:"extensionPolicies,omitempty"`
+ // Id: Output only. [Output Only] The unique identifier for the resource. This
+ // identifier is
+ // defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+ // InstanceSelectors: Optional. Selector to target VMs for a policy.
+ // There is a logical "AND" between instance_selectors.
+ InstanceSelectors []*GlobalVmExtensionPolicyInstanceSelector `json:"instanceSelectors,omitempty"`
+ // Kind: Output only. [Output Only] Type of the resource.
+ // Alwayscompute#globalVmExtensionPolicy for globalVmExtensionPolicies.
+ Kind string `json:"kind,omitempty"`
+ // Name: Name of the resource. Provided by the client when the resource is
+ // created.
+ // The name must be 1-63 characters long, and comply withRFC1035.
+ // Specifically, the name must be 1-63 characters long and match the
+ // regular
+ // expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+ // which means the first character must be a lowercase letter, and
+ // all
+ // following characters must be a dash, lowercase letter, or digit, except
+ // the last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+ // Priority: Optional. Used to resolve conflicts when multiple policies are
+ // active for the same
+ // extension. Defaults to 0.
+ //
+ // Larger the number, higher the priority. When the priority is the same,
+ // the policy with the newer create time has higher priority.
+ Priority int64 `json:"priority,omitempty"`
+ // RolloutOperation: Required. The rollout strategy and status.
+ RolloutOperation *GlobalVmExtensionPolicyRolloutOperation `json:"rolloutOperation,omitempty"`
+ // ScopedResourceStatus: Output only. [Output Only] The scoped resource status.
+ // It's only for tracking the
+ // purging status of the policy.
+ //
+ // Possible values:
+ // "SCOPED_RESOURCE_STATUS_DELETING" - The zonal policies are being deleted.
+ // "SCOPED_RESOURCE_STATUS_UNSPECIFIED" - Default value. This value is
+ // unused.
+ ScopedResourceStatus string `json:"scopedResourceStatus,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined fully-qualified URL for
+ // this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // SelfLinkWithId: Output only. [Output Only] Server-defined URL for this
+ // resource's resource id.
+ SelfLinkWithId string `json:"selfLinkWithId,omitempty"`
+ // UpdateTimestamp: Output only. [Output Only] Update timestamp inRFC3339
+ // text format.
+ UpdateTimestamp string `json:"updateTimestamp,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "CreationTimestamp") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicy) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicy
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// GlobalVmExtensionPolicyExtensionPolicy: Policy for a single extension.
+type GlobalVmExtensionPolicyExtensionPolicy struct {
+ // PinnedVersion: Optional. The version pinning for the extension.
+ // If empty, the extension will be installed with the latest version
+ // released by the extension producer.
+ PinnedVersion string `json:"pinnedVersion,omitempty"`
+ // StringConfig: Optional. String configuration. Any string payload that the
+ // extension
+ // understands.
+ StringConfig string `json:"stringConfig,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "PinnedVersion") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "PinnedVersion") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyExtensionPolicy) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyExtensionPolicy
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// GlobalVmExtensionPolicyInstanceSelector: Selector to target VMs for a zone
+// VM extension policy.
+type GlobalVmExtensionPolicyInstanceSelector struct {
+ // LabelSelector: Optional. Labels within the LabelSelector are OR'd.
+ LabelSelector *GlobalVmExtensionPolicyLabelSelector `json:"labelSelector,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "LabelSelector") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "LabelSelector") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyInstanceSelector) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyInstanceSelector
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// GlobalVmExtensionPolicyLabelSelector: A LabelSelector is applicable for a VM
+// only if it matches all labels in
+// the LabelSelector.
+type GlobalVmExtensionPolicyLabelSelector struct {
+ // InclusionLabels: Optional. Labels as key value pairs.
+ // A VM should contain all the pairs specified in this map to be
+ // selected;
+ // Labels within the LabelSelector are OR'ed.
+ InclusionLabels map[string]string `json:"inclusionLabels,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "InclusionLabels") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "InclusionLabels") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyLabelSelector) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyLabelSelector
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// GlobalVmExtensionPolicyList: Response to list global VM extension policy
+// resources.
+type GlobalVmExtensionPolicyList struct {
+ Etag string `json:"etag,omitempty"`
+ // Id: [Output Only] Unique identifier for the resource; defined by the server.
+ Id string `json:"id,omitempty"`
+ // Items: A list of GlobalVmExtensionPolicy resources.
+ Items []*GlobalVmExtensionPolicy `json:"items,omitempty"`
+ // Kind: Output only. Type of resource.
+ Kind string `json:"kind,omitempty"`
+ // NextPageToken: [Output Only] This token allows you to get the next page of
+ // results for
+ // list requests. If the number of results is larger thanmaxResults, use the
+ // nextPageToken as a value for
+ // the query parameter pageToken in the next list request.
+ // Subsequent list requests will have their own nextPageToken to
+ // continue paging through the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // Unreachables: Output only. [Output Only] Unreachable resources.
+ Unreachables []string `json:"unreachables,omitempty"`
+ // Warning: [Output Only] Informational warning message.
+ Warning *GlobalVmExtensionPolicyListWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyList) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyList
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// GlobalVmExtensionPolicyListWarning: [Output Only] Informational warning
+// message.
+type GlobalVmExtensionPolicyListWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*GlobalVmExtensionPolicyListWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyListWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyListWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type GlobalVmExtensionPolicyListWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyListWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyListWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// GlobalVmExtensionPolicyRolloutOperation: Represents the rollout operation
+type GlobalVmExtensionPolicyRolloutOperation struct {
+ // RolloutInput: Required. The rollout input which defines the rollout plan.
+ RolloutInput *GlobalVmExtensionPolicyRolloutOperationRolloutInput `json:"rolloutInput,omitempty"`
+ // RolloutStatus: Output only. [Output Only] The rollout status of the policy.
+ RolloutStatus *GlobalVmExtensionPolicyRolloutOperationRolloutStatus `json:"rolloutStatus,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "RolloutInput") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "RolloutInput") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyRolloutOperation) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyRolloutOperation
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type GlobalVmExtensionPolicyRolloutOperationRolloutInput struct {
+ // ConflictBehavior: Optional. Specifies the behavior of the rollout if a
+ // conflict is detected in a
+ // project during a rollout. This only applies to `insert` and
+ // `update`
+ // methods.
+ //
+ // A conflict occurs in the following cases:
+ //
+ // * `insert` method: If the zonal policy already exists when the insert
+ // happens.
+ // * `update` method: If the zonal policy was modified by a zonal API call
+ // outside of this rollout.
+ //
+ // Possible values are the following:
+ //
+ // * "" (empty string): If a conflict occurs, the local value is not
+ // overwritten. This is the default behavior.
+ // * "overwrite": If a conflict occurs, the local value is overwritten
+ // with the rollout value.
+ ConflictBehavior string `json:"conflictBehavior,omitempty"`
+ // Name: Optional. The name of the rollout
+ // plan.
+ // Ex.
+ // projects//locations/global/rolloutPlans/.
+ Name string `json:"name,omitempty"`
+ // PredefinedRolloutPlan: Optional. Specifies the predefined rollout plan for
+ // the policy. Valid values
+ // are `SLOW_ROLLOUT` and `FAST_ROLLOUT`. The recommended value
+ // is
+ // `SLOW_ROLLOUT` for progressive rollout. For more information, see
+ // Rollout
+ // plans for global policies.
+ //
+ // Possible values:
+ // "FAST_ROLLOUT"
+ // "ROLLOUT_PLAN_UNSPECIFIED"
+ // "SLOW_ROLLOUT"
+ PredefinedRolloutPlan string `json:"predefinedRolloutPlan,omitempty"`
+ // RetryUuid: Optional. The UUID that identifies a policy rollout retry attempt
+ // for update and
+ // delete operations. Set this field only when retrying a rollout for
+ // an
+ // existing extension policy.
+ //
+ // * `update` method: Lets you retry policy rollout without changes.
+ // An error occurs if you set retry_uuid but the policy is modified.
+ // * `delete` method: Lets you retry policy deletion rollout if the
+ // previous deletion rollout is not finished and the policy is in the
+ // DELETING state. If you set this field when the policy is not in the
+ // DELETING state, an error occurs.
+ RetryUuid string `json:"retryUuid,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "ConflictBehavior") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ConflictBehavior") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyRolloutOperationRolloutInput) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyRolloutOperationRolloutInput
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type GlobalVmExtensionPolicyRolloutOperationRolloutStatus struct {
+ // CurrentRollouts: Output only. [Output Only] The current rollouts for the
+ // latest version of the
+ // resource. There should be only one current rollout, but for
+ // scalability, we make it repeated.
+ CurrentRollouts []*GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata `json:"currentRollouts,omitempty"`
+ // PreviousRollout: Output only. [Output Only] The last completed rollout
+ // resource. This field will not
+ // be populated until the first rollout is completed.
+ PreviousRollout *GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata `json:"previousRollout,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "CurrentRollouts") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CurrentRollouts") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyRolloutOperationRolloutStatus) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyRolloutOperationRolloutStatus
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata struct {
+ // LocationRolloutStatus: Output only. [Output Only] The rollout status for
+ // each location. The list of the
+ // locations is the same as the list of locations in the rollout plan.
+ LocationRolloutStatus map[string]GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadataLocationRolloutStatus `json:"locationRolloutStatus,omitempty"`
+ // Rollout: Output only. [Output Only] The name of the rollout.
+ // Ex. projects//locations/global/rollouts/.
+ Rollout string `json:"rollout,omitempty"`
+ // RolloutPlan: Output only. [Output Only] The name of the rollout
+ // plan.
+ // Ex.
+ // projects//locations/global/rolloutPlans/.
+ RolloutPlan string `json:"rolloutPlan,omitempty"`
+ // State: Output only. [Output Only] The overall state of the rollout.
+ //
+ // Possible values:
+ // "STATE_CANCELLED" - Iteration was explicitly cancelled.
+ // "STATE_COMPLETED" - Iteration completed, with all actions being
+ // successful.
+ // "STATE_FAILED" - Iteration completed, with failures.
+ // "STATE_PAUSED" - The rollout is paused.
+ // "STATE_PROCESSING" - Iteration is in progress.
+ // "STATE_UNKNOWN" - Impossible to determine current state of the iteration.
+ // "STATE_UNSPECIFIED" - Default value. This value is unused.
+ State string `json:"state,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "LocationRolloutStatus") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "LocationRolloutStatus") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadataLocationRolloutStatus struct {
+ // State: Output only. [Output Only] The state of the location rollout.
+ //
+ // Possible values:
+ // "LOCATION_ROLLOUT_STATE_COMPLETED" - The location rollout is completed.
+ // "LOCATION_ROLLOUT_STATE_FAILED" - The location rollout has failed.
+ // "LOCATION_ROLLOUT_STATE_NOT_STARTED" - The location rollout has not
+ // started.
+ // "LOCATION_ROLLOUT_STATE_SKIPPED" - The location rollout is skipped.
+ // "LOCATION_ROLLOUT_STATE_UNSPECIFIED" - Default value. This value is
+ // unused.
+ State string `json:"state,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "State") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "State") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadataLocationRolloutStatus) MarshalJSON() ([]byte, error) {
+ type NoMethod GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadataLocationRolloutStatus
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// GroupMaintenanceInfo: Maintenance Info for ReservationBlocks.
type GroupMaintenanceInfo struct {
// InstanceMaintenanceOngoingCount: Describes number of instances that have
@@ -20483,6 +22723,7 @@ type GuestOsFeature struct {
// - IDPF
// - SNP_SVSM_CAPABLE
// - CCA_CAPABLE
+ // - SUSPEND_SAFE_FPR
//
//
// For more information, see
@@ -20490,6 +22731,10 @@ type GuestOsFeature struct {
//
// Possible values:
// "BARE_METAL_LINUX_COMPATIBLE"
+ // "BMSAI_CAPABLE" - Indicates the guest OS is capable of Bare Metal Secure
+ // AI (BMSAI)
+ // confidential computing.
+ // "CCA_CAPABLE"
// "FEATURE_TYPE_UNSPECIFIED"
// "GVNIC"
// "IDPF"
@@ -20500,6 +22745,9 @@ type GuestOsFeature struct {
// "SEV_LIVE_MIGRATABLE_V2"
// "SEV_SNP_CAPABLE"
// "SNP_SVSM_CAPABLE"
+ // "SUSPEND_SAFE_FPR" - Indicates the guest OS is safe for free page
+ // reporting (FPR) during
+ // suspend.
// "TDX_CAPABLE"
// "UEFI_COMPATIBLE"
// "VIRTIO_SCSI_MULTIQUEUE"
@@ -20933,7 +23181,7 @@ type HealthAggregationPoliciesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthAggregationPoliciesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -21237,7 +23485,7 @@ type HealthAggregationPolicyAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthAggregationPolicyAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -21419,7 +23667,7 @@ type HealthAggregationPolicyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthAggregationPolicyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -21559,7 +23807,7 @@ type HealthCheck struct {
// on what other health check fields are supported and what other resources
// can use this health check:
//
- // - SSL, HTTP2, and GRPC protocols are not supported.
+ // - SSL, HTTP2, GRPC, and GRPC_WITH_TLS protocols are not supported.
// - The TCP request field is not supported.
// - The proxyHeader field for HTTP, HTTPS, and TCP is not
// supported.
@@ -21575,9 +23823,10 @@ type HealthCheck struct {
// value than checkIntervalSec.
TimeoutSec int64 `json:"timeoutSec,omitempty"`
// Type: Specifies the type of the healthCheck, either TCP,SSL, HTTP,
- // HTTPS,HTTP2 or GRPC. Exactly one of the
- // protocol-specific health check fields must be specified, which must
- // matchtype field.
+ // HTTPS,HTTP2, GRPC or GRPC_WITH_TLS.
+ // Exactly one of the protocol-specific health check fields must be
+ // specified,
+ // which must match type field.
//
// Possible values:
// "GRPC"
@@ -21740,7 +23989,7 @@ type HealthCheckListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthCheckListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -22103,7 +24352,7 @@ type HealthCheckServiceAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthCheckServiceAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -22318,7 +24567,7 @@ type HealthCheckServicesListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthCheckServicesListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -22483,7 +24732,7 @@ type HealthCheckServicesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthCheckServicesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -22665,7 +24914,7 @@ type HealthChecksAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthChecksAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -22830,7 +25079,7 @@ type HealthChecksScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthChecksScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -23114,7 +25363,7 @@ type HealthSourceAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthSourceAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -23329,7 +25578,7 @@ type HealthSourceListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthSourceListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -23557,7 +25806,7 @@ type HealthSourcesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HealthSourcesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -23798,6 +26047,94 @@ func (s HelpLink) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// Host: Represents a host resource.
+type Host struct {
+ // AliasLinks: Output only. All aliases for this
+ // resource.
+ // e.g.
+ // projects/123/zones/us-centra1-a/reservation/r1/reservationBlock/b1/hosts/h1
+ AliasLinks []string `json:"aliasLinks,omitempty"`
+ // CreationTimestamp: Output only. The creation timestamp, formatted asRFC3339
+ // text.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+ // Description: An optional description of this resource.
+ Description string `json:"description,omitempty"`
+ // Id: Output only. The unique identifier for this resource. This identifier
+ // is
+ // defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+ // Kind: Output only. The type of resource. Alwayscompute#host for hosts.
+ Kind string `json:"kind,omitempty"`
+ // Name: Output only. The name of the host.
+ Name string `json:"name,omitempty"`
+ // SelfLink: Output only. The self link of the host.
+ SelfLink string `json:"selfLink,omitempty"`
+ // SelfLinkWithId: Output only. The self link with id of the host.
+ SelfLinkWithId string `json:"selfLinkWithId,omitempty"`
+ // State: Output only. The state of the host.
+ //
+ // Possible values:
+ // "ACTIVE" - The host has allocated all its resources.
+ // "CREATING" - The resources are being allocated for the host.
+ // "DELETING" - The host is currently being deleted.
+ // "STATE_UNSPECIFIED"
+ // "UNAVAILABLE" - The host is currently unavailable.
+ State string `json:"state,omitempty"`
+ // Status: Output only. The status of the host
+ Status *HostStatus `json:"status,omitempty"`
+ // Zone: Output only. The zone in which the host resides.
+ Zone string `json:"zone,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "AliasLinks") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "AliasLinks") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s Host) MarshalJSON() ([]byte, error) {
+ type NoMethod Host
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type HostPhysicalTopology struct {
+ // Block: The unique identifier of the capacity block within the cluster.
+ Block string `json:"block,omitempty"`
+ // Cluster: The cluster name of the reservation sub-block.
+ Cluster string `json:"cluster,omitempty"`
+ // Host: The unique identifier of the capacity host within the capacity
+ // sub-block.
+ Host string `json:"host,omitempty"`
+ // SubBlock: The unique identifier of the capacity sub-block within the
+ // capacity
+ // block.
+ SubBlock string `json:"subBlock,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Block") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Block") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s HostPhysicalTopology) MarshalJSON() ([]byte, error) {
+ type NoMethod HostPhysicalTopology
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// HostRule: UrlMaps
// A host-matching rule for a URL. If matched, will use the namedPathMatcher to
// select the BackendService.
@@ -23839,6 +26176,242 @@ func (s HostRule) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+type HostStatus struct {
+ // PhysicalTopology: Output only. The physical topology of the reservation
+ // sub-block, if
+ // present
+ PhysicalTopology *HostPhysicalTopology `json:"physicalTopology,omitempty"`
+ // RunningInstances: Output only. The URIs of the instances currently running
+ // on this host.
+ RunningInstances []string `json:"runningInstances,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "PhysicalTopology") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "PhysicalTopology") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s HostStatus) MarshalJSON() ([]byte, error) {
+ type NoMethod HostStatus
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type HostsGetVersionRequest struct {
+ // SbomSelections: The SBOM selection to return. Duplicate values in the list
+ // will be ignored.
+ //
+ // Possible values:
+ // "SBOM_SELECTION_CURRENT"
+ // "SBOM_SELECTION_TARGET"
+ // "SBOM_SELECTION_UNSPECIFIED"
+ SbomSelections []string `json:"sbomSelections,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "SbomSelections") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "SbomSelections") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s HostsGetVersionRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod HostsGetVersionRequest
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type HostsListResponse struct {
+ Etag string `json:"etag,omitempty"`
+ // Id: The unique identifier for the resource; defined by the server.
+ Id string `json:"id,omitempty"`
+ // Items: A list of host resources.
+ Items []*Host `json:"items,omitempty"`
+ // Kind: The type of resource. Always compute#host for a list of hosts.
+ Kind string `json:"kind,omitempty"`
+ // NextPageToken: This token allows you to get the next page of results
+ // for
+ // list requests. If the number of results is larger thanmaxResults, use the
+ // nextPageToken as a value for
+ // the query parameter pageToken in the next list request.
+ // Subsequent list requests will have their own nextPageToken to
+ // continue paging through the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ // SelfLink: The server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // Unreachables: Unreachable resources.
+ // end_interface: MixerListResponseWithEtagBuilder
+ Unreachables []string `json:"unreachables,omitempty"`
+ // Warning: An informational warning message.
+ Warning *HostsListResponseWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s HostsListResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod HostsListResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// HostsListResponseWarning: An informational warning message.
+type HostsListResponseWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*HostsListResponseWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s HostsListResponseWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod HostsListResponseWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type HostsListResponseWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s HostsListResponseWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod HostsListResponseWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// HttpFaultAbort: Specification for how requests are aborted as part of fault
// injection.
type HttpFaultAbort struct {
@@ -24367,7 +26940,7 @@ type HttpHealthCheckListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HttpHealthCheckListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -24632,6 +27205,14 @@ func (s HttpRetryPolicy) MarshalJSON() ([]byte, error) {
}
type HttpRouteAction struct {
+ // CachePolicy: Specifies the cache policy configuration for matched traffic.
+ // Available
+ // only for Global `EXTERNAL_MANAGED` load balancer schemes. At least
+ // one
+ // property must be specified. This policy cannot be specified if any
+ // target
+ // backend has Identity-Aware Proxy enabled.
+ CachePolicy *CachePolicy `json:"cachePolicy,omitempty"`
// CorsPolicy: The specification for allowing client-side cross-origin
// requests. For more
// information about the W3C recommendation for cross-origin resource
@@ -24730,13 +27311,13 @@ type HttpRouteAction struct {
// settings
// specified in this HttpRouteAction.
WeightedBackendServices []*WeightedBackendService `json:"weightedBackendServices,omitempty"`
- // ForceSendFields is a list of field names (e.g. "CorsPolicy") to
+ // ForceSendFields is a list of field names (e.g. "CachePolicy") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "CorsPolicy") to include in API
+ // NullFields is a list of field names (e.g. "CachePolicy") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
@@ -25250,7 +27831,7 @@ type HttpsHealthCheckListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*HttpsHealthCheckListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -25768,7 +28349,7 @@ type ImageListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ImageListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -25828,8 +28409,9 @@ type ImageParams struct {
// image. Tag keys and values have
// the same definition as resource
// manager tags. Keys and values can be either in numeric format,
- // such as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced
- // format such as `{org_id|project_id}/{tag_key_short_name}`
+ // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or
+ // in
+ // namespaced format such as `{org_id|project_id}/{tag_key_short_name}`
// and
// `{tag_value_short_name}`. The field is ignored (both PUT &
// PATCH) when empty.
@@ -25852,6 +28434,207 @@ func (s ImageParams) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ImageView: Represents a read-only view of a global Image resource.
+type ImageView struct {
+ // Image: The Image resource.
+ Image *Image `json:"image,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Image") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Image") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ImageView) MarshalJSON() ([]byte, error) {
+ type NoMethod ImageView
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// ImageViewsListResponse: Response message for ImageViewsService.List
+type ImageViewsListResponse struct {
+ // Etag: Etag of the resource.
+ Etag string `json:"etag,omitempty"`
+ // Id: [Output Only] Unique identifier for the resource; defined by the server.
+ Id string `json:"id,omitempty"`
+ // Items: A list of Image resources.
+ Items []*ImageView `json:"items,omitempty"`
+ Kind string `json:"kind,omitempty"`
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // Unreachables: Output only. [Output Only] Unreachable resources.
+ Unreachables []string `json:"unreachables,omitempty"`
+ // Warning: [Output Only] Informational warning message.
+ Warning *ImageViewsListResponseWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ImageViewsListResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod ImageViewsListResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// ImageViewsListResponseWarning: [Output Only] Informational warning message.
+type ImageViewsListResponseWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*ImageViewsListResponseWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ImageViewsListResponseWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod ImageViewsListResponseWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type ImageViewsListResponseWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ImageViewsListResponseWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod ImageViewsListResponseWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// InitialStateConfig: Initial State for shielded instance,
// these are public keys which are safe to store in public
type InitialStateConfig struct {
@@ -25990,6 +28773,25 @@ type Instance struct {
// LastSuspendedTimestamp: Output only. [Output Only] Last suspended timestamp
// inRFC3339 text format.
LastSuspendedTimestamp string `json:"lastSuspendedTimestamp,omitempty"`
+ // LocalSsdEncryptionMode: Specifies which method should be used for encrypting
+ // the
+ // Local SSDs attached to the VM.
+ //
+ // Possible values:
+ // "EPHEMERAL_KEY_ENCRYPTION" - The given VM will opt-in for using ephemeral
+ // key for
+ // encryption of Local SSDs.
+ // The Local SSDs will not be able to recover data in case of VM
+ // crash.
+ // "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED" - The given VM will be encrypted
+ // using keys managed by the cloud
+ // infrastructure and the keys will be deleted when the VM is
+ // deleted.
+ // "STANDARD_ENCRYPTION" - The given VM will be encrypted using keys managed
+ // by the cloud
+ // infrastructure and the keys will be deleted when the VM is
+ // deleted.
+ LocalSsdEncryptionMode string `json:"localSsdEncryptionMode,omitempty"`
// MachineType: Full or partial URL of the machine type resource to use for
// this instance,
// in the format:zones/zone/machineTypes/machine-type. This is provided by the
@@ -26014,6 +28816,7 @@ type Instance struct {
//
//
// For example: zones/us-central1-f/machineTypes/custom-4-5120
+ //
// For a full list of restrictions, read theSpecifications
// for custom machine types.
MachineType string `json:"machineType,omitempty"`
@@ -26132,6 +28935,7 @@ type Instance struct {
// "PENDING" - For Flex Start provisioning instance is waiting for available
// capacity
// from Dynamic Workload Scheduler (DWS).
+ // "PENDING_STOP" - The instance is gracefully shutting down.
// "PROVISIONING" - Resources are being allocated for the instance.
// "REPAIRING" - The instance is in repair.
// "RUNNING" - The instance is running.
@@ -26314,7 +29118,7 @@ type InstanceAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -26475,6 +29279,10 @@ type InstanceFlexibilityPolicyInstanceSelection struct {
// these properties. This field only accepts a machine type names, for
// example `n2-standard-4` and not URLs or partial URLs.
MachineTypes []string `json:"machineTypes,omitempty"`
+ // MinCpuPlatform: Name of the minimum CPU platform to be used by this instance
+ // selection.
+ // e.g. 'Intel Ice Lake'.
+ MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
// Rank: Rank when prioritizing the shape flexibilities.
// The instance selections with rank are considered
// first, in the ascending order of the rank.
@@ -26733,7 +29541,7 @@ type InstanceGroupAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -26916,7 +29724,7 @@ type InstanceGroupListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -27266,28 +30074,27 @@ func (s InstanceGroupManagerActionsSummary) MarshalJSON() ([]byte, error) {
}
type InstanceGroupManagerAggregatedList struct {
- // Id: Output only. [Output Only] Unique identifier for the resource; defined
- // by the server.
+ // Id: Output only. Unique identifier for the resource; defined by the server.
Id string `json:"id,omitempty"`
// Items: A list of InstanceGroupManagersScopedList resources.
Items map[string]InstanceGroupManagersScopedList `json:"items,omitempty"`
- // Kind: Output only. [Output Only] The resource type, which is
+ // Kind: Output only. The resource type, which is
// alwayscompute#instanceGroupManagerAggregatedList for an aggregated
// list of managed instance groups.
Kind string `json:"kind,omitempty"`
- // NextPageToken: Output only. [Output Only] This token allows you to get the
- // next page of results for
+ // NextPageToken: Output only. This token allows you to get the next page of
+ // results for
// list requests. If the number of results is larger thanmaxResults, use the
// nextPageToken as a value for
// the query parameter pageToken in the next list request.
// Subsequent list requests will have their own nextPageToken to
// continue paging through the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ // SelfLink: Output only. Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
- // Unreachables: Output only. [Output Only] Unreachable resources.
+ // Unreachables: Output only. Unreachable resources.
Unreachables []string `json:"unreachables,omitempty"`
- // Warning: Output only. [Output Only] Informational warning message.
+ // Warning: Output only. Informational warning message.
Warning *InstanceGroupManagerAggregatedListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
@@ -27310,8 +30117,8 @@ func (s InstanceGroupManagerAggregatedList) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-// InstanceGroupManagerAggregatedListWarning: Output only. [Output Only]
-// Informational warning message.
+// InstanceGroupManagerAggregatedListWarning: Output only. Informational
+// warning message.
type InstanceGroupManagerAggregatedListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute
@@ -27396,7 +30203,7 @@ type InstanceGroupManagerAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupManagerAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -27535,8 +30342,16 @@ func (s InstanceGroupManagerInstanceFlexibilityPolicy) MarshalJSON() ([]byte, er
}
type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection struct {
+ // Disks: List of disks to be attached to the instances created from
+ // this
+ // selection.
+ Disks []*AttachedDisk `json:"disks,omitempty"`
// MachineTypes: Full machine-type names, e.g. "n1-standard-16".
MachineTypes []string `json:"machineTypes,omitempty"`
+ // MinCpuPlatform: Name of the minimum CPU platform to be used by this instance
+ // selection.
+ // e.g. 'Intel Ice Lake'.
+ MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
// Rank: Preference of this instance selection. Lower number means
// higher
// preference. MIG will first try to create a VM based on the machine-type
@@ -27545,13 +30360,13 @@ type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection struct {
// same
// preference.
Rank int64 `json:"rank,omitempty"`
- // ForceSendFields is a list of field names (e.g. "MachineTypes") to
- // unconditionally include in API requests. By default, fields with empty or
- // default values are omitted from API requests. See
+ // ForceSendFields is a list of field names (e.g. "Disks") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "MachineTypes") to include in API
+ // NullFields is a list of field names (e.g. "Disks") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
@@ -27564,22 +30379,23 @@ func (s InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection) MarshalJ
}
type InstanceGroupManagerInstanceLifecyclePolicy struct {
- // DefaultActionOnFailure: The action that a MIG performs on a failed or an
- // unhealthy VM.
- // A VM is marked as unhealthy when the application running on that
- // VM fails a health check.
+ // DefaultActionOnFailure: The action that a MIG performs on a failed VM. If
+ // the value of the
+ // onFailedHealthCheck field is `DEFAULT_ACTION`, then the same action
+ // also
+ // applies to the VMs on which your application fails a health check.
// Valid values are
//
- // - REPAIR (default): MIG automatically repairs a failed or
- // an unhealthy VM by recreating it. For more information, see About
+ // - REPAIR (default): MIG automatically repairs a failed VM
+ // by recreating it. For more information, see About
// repairing VMs in a MIG.
- // - DO_NOTHING: MIG does not repair a failed or an unhealthy
- // VM.
+ // - DO_NOTHING: MIG does not repair a failed VM.
//
// Possible values:
- // "DO_NOTHING" - MIG does not repair a failed or an unhealthy VM.
- // "REPAIR" - (Default) MIG automatically repairs a failed or an unhealthy
- // VM by recreating it. For more information, see About
+ // "DO_NOTHING" - MIG does not repair a failed VM.
+ // "REPAIR" - (default): MIG automatically repairs a failed VM by recreating
+ // it.
+ // For more information, see About
// repairing VMs in a MIG.
DefaultActionOnFailure string `json:"defaultActionOnFailure,omitempty"`
// ForceUpdateOnRepair: A bit indicating whether to forcefully apply the
@@ -27620,6 +30436,8 @@ type InstanceGroupManagerInstanceLifecyclePolicy struct {
// "DO_NOTHING" - MIG doesn't repair an unhealthy VM.
// "REPAIR" - MIG automatically repairs an unhealthy VM by recreating it.
OnFailedHealthCheck string `json:"onFailedHealthCheck,omitempty"`
+ // OnRepair: Configuration for VM repairs in the MIG.
+ OnRepair *InstanceGroupManagerInstanceLifecyclePolicyOnRepair `json:"onRepair,omitempty"`
// ForceSendFields is a list of field names (e.g. "DefaultActionOnFailure") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -27638,28 +30456,61 @@ func (s InstanceGroupManagerInstanceLifecyclePolicy) MarshalJSON() ([]byte, erro
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerInstanceLifecyclePolicyOnRepair: Configuration for VM
+// repairs in the MIG.
+type InstanceGroupManagerInstanceLifecyclePolicyOnRepair struct {
+ // AllowChangingZone: Specifies whether the MIG can change a VM's zone during a
+ // repair.
+ // Valid values are:
+ //
+ // - NO (default): MIG cannot change a VM's zone during a
+ // repair.
+ // - YES: MIG can select a different zone for the VM during
+ // a repair.
+ //
+ // Possible values:
+ // "NO" - [Default] MIG cannot change a VM's zone during a repair.
+ // "YES" - MIG can select a different zone for the VM during a repair.
+ AllowChangingZone string `json:"allowChangingZone,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "AllowChangingZone") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "AllowChangingZone") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s InstanceGroupManagerInstanceLifecyclePolicyOnRepair) MarshalJSON() ([]byte, error) {
+ type NoMethod InstanceGroupManagerInstanceLifecyclePolicyOnRepair
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// InstanceGroupManagerList: [Output Only] A list of managed instance groups.
type InstanceGroupManagerList struct {
- // Id: Output only. [Output Only] Unique identifier for the resource; defined
- // by the server.
+ // Id: Output only. Unique identifier for the resource; defined by the server.
Id string `json:"id,omitempty"`
// Items: A list of InstanceGroupManager resources.
Items []*InstanceGroupManager `json:"items,omitempty"`
- // Kind: Output only. [Output Only] The resource type, which is
- // always
- // compute#instanceGroupManagerList for a list of managed instance groups.
+ // Kind: Output only. The resource type, which is always
+ // compute#instanceGroupManagerList for a
+ // list of managed instance groups.
Kind string `json:"kind,omitempty"`
- // NextPageToken: Output only. [Output Only] This token allows you to get the
- // next page of results for
+ // NextPageToken: Output only. This token allows you to get the next page of
+ // results for
// list requests. If the number of results is larger thanmaxResults, use the
// nextPageToken as a value for
// the query parameter pageToken in the next list request.
// Subsequent list requests will have their own nextPageToken to
// continue paging through the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ // SelfLink: Output only. Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
- // Warning: Output only. [Output Only] Informational warning message.
+ // Warning: Output only. Informational warning message.
Warning *InstanceGroupManagerListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
@@ -27682,8 +30533,7 @@ func (s InstanceGroupManagerList) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-// InstanceGroupManagerListWarning: Output only. [Output Only] Informational
-// warning message.
+// InstanceGroupManagerListWarning: Output only. Informational warning message.
type InstanceGroupManagerListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute
@@ -27768,7 +30618,7 @@ type InstanceGroupManagerListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupManagerListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -27841,6 +30691,14 @@ type InstanceGroupManagerResizeRequest struct {
// generates this
// identifier.
Id uint64 `json:"id,omitempty,string"`
+ // Instances: The names of instances to be created by this resize request. The
+ // number of
+ // names specified determines the number of instances to create. The
+ // group's
+ // target size will be increased by this number. This field cannot be
+ // used
+ // together with 'resize_by'.
+ Instances []*PerInstanceConfig `json:"instances,omitempty"`
// Kind: Output only. The resource type, which is
// alwayscompute#instanceGroupManagerResizeRequest for resize requests.
Kind string `json:"kind,omitempty"`
@@ -27982,6 +30840,9 @@ func (s InstanceGroupManagerResizeRequestStatusError) MarshalJSON() ([]byte, err
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerResizeRequestStatusErrorErrors: Represents a single
+// error encountered during the processing of an
+// operation.
type InstanceGroupManagerResizeRequestStatusErrorErrors struct {
// Code: [Output Only] The error type identifier for this error.
Code string `json:"code,omitempty"`
@@ -28017,11 +30878,20 @@ func (s InstanceGroupManagerResizeRequestStatusErrorErrors) MarshalJSON() ([]byt
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails: Container
+// for structured error details providing additional context
+// specific to the encountered error code.
type InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails struct {
- ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
- Help *Help `json:"help,omitempty"`
- LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
- QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
+ // ErrorInfo: Error information containing structured domain, reason, and
+ // metadata.
+ ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
+ // Help: Links and information to help the user resolve the error.
+ Help *Help `json:"help,omitempty"`
+ // LocalizedMessage: A localized human-readable error message intended for end
+ // users.
+ LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
+ // QuotaInfo: Details about quota limits and metrics when a quota is exceeded.
+ QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "ErrorInfo") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -28086,6 +30956,9 @@ func (s InstanceGroupManagerResizeRequestStatusLastAttemptError) MarshalJSON() (
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors: Represents a
+// single error encountered during the processing of an
+// operation.
type InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors struct {
// Code: [Output Only] The error type identifier for this error.
Code string `json:"code,omitempty"`
@@ -28121,11 +30994,20 @@ func (s InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors) MarshalJS
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails:
+// Container for structured error details providing additional context
+// specific to the encountered error code.
type InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails struct {
- ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
- Help *Help `json:"help,omitempty"`
- LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
- QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
+ // ErrorInfo: Error information containing structured domain, reason, and
+ // metadata.
+ ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
+ // Help: Links and information to help the user resolve the error.
+ Help *Help `json:"help,omitempty"`
+ // LocalizedMessage: A localized human-readable error message intended for end
+ // users.
+ LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
+ // QuotaInfo: Details about quota limits and metrics when a quota is exceeded.
+ QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "ErrorInfo") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -28147,26 +31029,25 @@ func (s InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetail
// InstanceGroupManagerResizeRequestsListResponse: [Output Only] A list of
// resize requests.
type InstanceGroupManagerResizeRequestsListResponse struct {
- // Id: Output only. [Output Only] Unique identifier for the resource; defined
- // by the server.
+ // Id: Output only. Unique identifier for the resource; defined by the server.
Id string `json:"id,omitempty"`
// Items: A list of resize request resources.
Items []*InstanceGroupManagerResizeRequest `json:"items,omitempty"`
- // Kind: Output only. [Output Only] Type of the resource.
+ // Kind: Output only. Type of the resource.
// Alwayscompute#instanceGroupManagerResizeRequestList for
// a list of resize requests.
Kind string `json:"kind,omitempty"`
- // NextPageToken: Output only. [Output Only] This token allows you to get the
- // next page of results for
- // list requests. If the number of results is larger thanmaxResults, use the
- // nextPageToken as a value for
- // the query parameter pageToken in the next list request.
+ // NextPageToken: Output only. This token allows you to get the next page of
+ // results for list requests.
+ // If the number of results is larger than maxResults, use thenextPageToken as
+ // a value for the query parameterpageToken in the next list
+ // request.
// Subsequent list requests will have their own nextPageToken to
// continue paging through the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ // SelfLink: Output only. Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
- // Warning: Output only. [Output Only] Informational warning message.
+ // Warning: Output only. Informational warning message.
Warning *InstanceGroupManagerResizeRequestsListResponseWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
@@ -28189,8 +31070,8 @@ func (s InstanceGroupManagerResizeRequestsListResponse) MarshalJSON() ([]byte, e
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-// InstanceGroupManagerResizeRequestsListResponseWarning: Output only. [Output
-// Only] Informational warning message.
+// InstanceGroupManagerResizeRequestsListResponseWarning: Output only.
+// Informational warning message.
type InstanceGroupManagerResizeRequestsListResponseWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute
@@ -28275,7 +31156,7 @@ type InstanceGroupManagerResizeRequestsListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupManagerResizeRequestsListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -28544,6 +31425,10 @@ func (s InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDet
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDetailsE
+// rrorErrors: Represents a single error encountered during the processing of
+// an
+// operation.
type InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDetailsErrorErrors struct {
// Code: [Output Only] The error type identifier for this error.
Code string `json:"code,omitempty"`
@@ -28579,11 +31464,21 @@ func (s InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDet
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDetailsE
+// rrorErrorsErrorDetails: Container for structured error details providing
+// additional context
+// specific to the encountered error code.
type InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDetailsErrorErrorsErrorDetails struct {
- ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
- Help *Help `json:"help,omitempty"`
- LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
- QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
+ // ErrorInfo: Error information containing structured domain, reason, and
+ // metadata.
+ ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
+ // Help: Links and information to help the user resolve the error.
+ Help *Help `json:"help,omitempty"`
+ // LocalizedMessage: A localized human-readable error message intended for end
+ // users.
+ LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
+ // QuotaInfo: Details about quota limits and metrics when a quota is exceeded.
+ QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "ErrorInfo") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -28707,6 +31602,9 @@ func (s InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheckError) M
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheckErrorErrors:
+// Represents a single error encountered during the processing of an
+// operation.
type InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheckErrorErrors struct {
// Code: [Output Only] The error type identifier for this error.
Code string `json:"code,omitempty"`
@@ -28742,11 +31640,21 @@ func (s InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheckErrorErr
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheckErrorErrorsEr
+// rorDetails: Container for structured error details providing additional
+// context
+// specific to the encountered error code.
type InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheckErrorErrorsErrorDetails struct {
- ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
- Help *Help `json:"help,omitempty"`
- LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
- QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
+ // ErrorInfo: Error information containing structured domain, reason, and
+ // metadata.
+ ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
+ // Help: Links and information to help the user resolve the error.
+ Help *Help `json:"help,omitempty"`
+ // LocalizedMessage: A localized human-readable error message intended for end
+ // users.
+ LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
+ // QuotaInfo: Details about quota limits and metrics when a quota is exceeded.
+ QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "ErrorInfo") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -29186,7 +32094,7 @@ func (s InstanceGroupManagersAbandonInstancesRequest) MarshalJSON() ([]byte, err
// InstanceGroupManagers.applyUpdatesToInstances
type InstanceGroupManagersApplyUpdatesRequest struct {
// AllInstances: Flag to update all instances instead of specified list of
- // “instances”.
+ // "instances".
// If the flag is set to true then the instances may not be specified
// in the request.
AllInstances bool `json:"allInstances,omitempty"`
@@ -29353,13 +32261,12 @@ func (s InstanceGroupManagersDeletePerInstanceConfigsReq) MarshalJSON() ([]byte,
}
type InstanceGroupManagersListErrorsResponse struct {
- // Items: Output only. [Output Only] The list of errors of the managed instance
- // group.
+ // Items: Output only. The list of errors of the managed instance group.
Items []*InstanceManagedByIgmError `json:"items,omitempty"`
- // NextPageToken: Output only. [Output Only] This token allows you to get the
- // next page of results for
- // list requests. If the number of results is larger thanmaxResults, use the
- // nextPageToken as a value for
+ // NextPageToken: Output only. This token allows you to get the next page of
+ // results for list requests.
+ // If the number of results is larger than maxResults
+ // , then use the nextPageToken as a value for
// the query parameter pageToken in the next list request.
// Subsequent list requests will have their own nextPageToken to
// continue paging through the results.
@@ -29538,7 +32445,7 @@ type InstanceGroupManagersListPerInstanceConfigsRespWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupManagersListPerInstanceConfigsRespWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -29664,13 +32571,13 @@ func (s InstanceGroupManagersResumeInstancesRequest) MarshalJSON() ([]byte, erro
}
type InstanceGroupManagersScopedList struct {
- // InstanceGroupManagers: Output only. [Output Only] The list of managed
- // instance groups that are contained in
- // the specified project and zone.
+ // InstanceGroupManagers: Output only. The list of managed instance groups that
+ // are contained in the specified
+ // project and zone.
InstanceGroupManagers []*InstanceGroupManager `json:"instanceGroupManagers,omitempty"`
- // Warning: Output only. [Output Only] The warning that replaces the list of
- // managed instance
- // groups when the list is empty.
+ // Warning: Output only. The warning that replaces the list of managed instance
+ // groups when the list
+ // is empty.
Warning *InstanceGroupManagersScopedListWarning `json:"warning,omitempty"`
// ForceSendFields is a list of field names (e.g. "InstanceGroupManagers") to
// unconditionally include in API requests. By default, fields with empty or
@@ -29690,9 +32597,9 @@ func (s InstanceGroupManagersScopedList) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-// InstanceGroupManagersScopedListWarning: Output only. [Output Only] The
-// warning that replaces the list of managed instance
-// groups when the list is empty.
+// InstanceGroupManagersScopedListWarning: Output only. The warning that
+// replaces the list of managed instance groups when the list
+// is empty.
type InstanceGroupManagersScopedListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute
@@ -29777,7 +32684,7 @@ type InstanceGroupManagersScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupManagersScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -30147,7 +33054,7 @@ type InstanceGroupsListInstancesWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupsListInstancesWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -30366,7 +33273,7 @@ type InstanceGroupsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceGroupsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -30581,7 +33488,7 @@ type InstanceListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -30762,7 +33669,7 @@ type InstanceListReferrersWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceListReferrersWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -30817,16 +33724,15 @@ func (s InstanceListReferrersWarningData) MarshalJSON() ([]byte, error) {
}
type InstanceManagedByIgmError struct {
- // Error: Output only. [Output Only] Contents of the error.
+ // Error: Output only. Contents of the error.
Error *InstanceManagedByIgmErrorManagedInstanceError `json:"error,omitempty"`
- // InstanceActionDetails: Output only. [Output Only] Details of the instance
- // action that triggered this error.
+ // InstanceActionDetails: Output only. Details of the instance action that
+ // triggered this error.
// May be null, if the error was not caused by an action on an instance.
// This field is optional.
InstanceActionDetails *InstanceManagedByIgmErrorInstanceActionDetails `json:"instanceActionDetails,omitempty"`
- // Timestamp: Output only. [Output Only] The time that this error
- // occurred.
- // This value is in RFC3339 text format.
+ // Timestamp: Output only. The time that this error occurred. This value is in
+ // RFC3339 text format.
Timestamp string `json:"timestamp,omitempty"`
// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
// include in API requests. By default, fields with empty or default values are
@@ -30847,9 +33753,9 @@ func (s InstanceManagedByIgmError) MarshalJSON() ([]byte, error) {
}
type InstanceManagedByIgmErrorInstanceActionDetails struct {
- // Action: Output only. [Output Only] Action that managed instance group was
- // executing on
- // the instance when the error occurred. Possible values:
+ // Action: Output only. Action that managed instance group was executing on the
+ // instance when the
+ // error occurred. Possible values:
//
// Possible values:
// "ABANDONING" - The managed instance group is abandoning this instance. The
@@ -30890,11 +33796,12 @@ type InstanceManagedByIgmErrorInstanceActionDetails struct {
// 2. Waiting for addition verification steps performed as post-instance
// creation (subject to future extensions).
Action string `json:"action,omitempty"`
- // Instance: Output only. [Output Only] The URL of the instance.
- // The URL can be set even if the instance has not yet been created.
+ // Instance: Output only. The URL of the instance. The URL can be set even if
+ // the instance has not
+ // yet been created.
Instance string `json:"instance,omitempty"`
- // Version: Output only. [Output Only] Version this instance was created from,
- // or was being
+ // Version: Output only. Version this instance was created from, or was
+ // being
// created from, but the creation failed. Corresponds to one of the
// versions
// that were set on the Instance Group Manager resource at the time
@@ -30920,9 +33827,9 @@ func (s InstanceManagedByIgmErrorInstanceActionDetails) MarshalJSON() ([]byte, e
}
type InstanceManagedByIgmErrorManagedInstanceError struct {
- // Code: Output only. [Output Only] Error code.
+ // Code: Output only. Error code.
Code string `json:"code,omitempty"`
- // Message: Output only. [Output Only] Error message.
+ // Message: Output only. Error message.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
// include in API requests. By default, fields with empty or default values are
@@ -30989,8 +33896,9 @@ type InstanceParams struct {
// instance. Tag keys and values
// have the same definition as resource
// manager tags. Keys and values can be either in numeric format,
- // such as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced
- // format such as `{org_id|project_id}/{tag_key_short_name}`
+ // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or
+ // in
+ // namespaced format such as `{org_id|project_id}/{tag_key_short_name}`
// and
// `{tag_value_short_name}`. The field is ignored (both PUT &
// PATCH) when empty.
@@ -31057,6 +33965,25 @@ type InstanceProperties struct {
KeyRevocationActionType string `json:"keyRevocationActionType,omitempty"`
// Labels: Labels to apply to instances that are created from these properties.
Labels map[string]string `json:"labels,omitempty"`
+ // LocalSsdEncryptionMode: Specifies which method should be used for encrypting
+ // the
+ // Local SSDs attached to the VM.
+ //
+ // Possible values:
+ // "EPHEMERAL_KEY_ENCRYPTION" - The given VM will opt-in for using ephemeral
+ // key for
+ // encryption of Local SSDs.
+ // The Local SSDs will not be able to recover data in case of VM
+ // crash.
+ // "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED" - The given VM will be encrypted
+ // using keys managed by the cloud
+ // infrastructure and the keys will be deleted when the VM is
+ // deleted.
+ // "STANDARD_ENCRYPTION" - The given VM will be encrypted using keys managed
+ // by the cloud
+ // infrastructure and the keys will be deleted when the VM is
+ // deleted.
+ LocalSsdEncryptionMode string `json:"localSsdEncryptionMode,omitempty"`
// MachineType: The machine type to use for instances that are created from
// these
// properties.
@@ -31118,9 +34045,12 @@ type InstanceProperties struct {
// ResourceManagerTags: Input only. Resource manager tags to be bound to the
// instance. Tag keys and values
// have the same definition as resource
- // manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and
- // values are in the format `tagValues/456`. The field is ignored (both PUT
- // &
+ // manager tags. Keys and values can be either in numeric format,
+ // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or
+ // in
+ // namespaced format such as `{org_id|project_id}/{tag_key_short_name}`
+ // and
+ // `{tag_value_short_name}`. The field is ignored (both PUT &
// PATCH) when empty.
ResourceManagerTags map[string]string `json:"resourceManagerTags,omitempty"`
// ResourcePolicies: Resource policies (names, not URLs) applied to instances
@@ -31171,6 +34101,8 @@ func (s InstanceProperties) MarshalJSON() ([]byte, error) {
// InstancePropertiesPatch: Represents the change that you want to make to the
// instance properties.
type InstancePropertiesPatch struct {
+ // ExposeHostTopology: This optional flag exposes the hashed physical host ID.
+ ExposeHostTopology bool `json:"exposeHostTopology,omitempty"`
// Labels: The label key-value pairs that you want to patch onto the instance.
Labels map[string]string `json:"labels,omitempty"`
// Metadata: The metadata key-value pairs that you want to patch onto the
@@ -31178,15 +34110,15 @@ type InstancePropertiesPatch struct {
// more information, see Project and
// instance metadata.
Metadata map[string]string `json:"metadata,omitempty"`
- // ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
- // include in API requests. By default, fields with empty or default values are
- // omitted from API requests. See
+ // ForceSendFields is a list of field names (e.g. "ExposeHostTopology") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "Labels") to include in API
- // requests with the JSON null value. By default, fields with empty values are
- // omitted from API requests. See
+ // NullFields is a list of field names (e.g. "ExposeHostTopology") to include
+ // in API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
@@ -31519,7 +34451,7 @@ type InstanceTemplateAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceTemplateAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -31701,7 +34633,7 @@ type InstanceTemplateListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceTemplateListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -31869,7 +34801,7 @@ type InstanceTemplatesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstanceTemplatesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -31938,6 +34870,7 @@ type InstanceWithNamedPorts struct {
// "PENDING" - For Flex Start provisioning instance is waiting for available
// capacity
// from Dynamic Workload Scheduler (DWS).
+ // "PENDING_STOP" - The instance is gracefully shutting down.
// "PROVISIONING" - Resources are being allocated for the instance.
// "REPAIRING" - The instance is in repair.
// "RUNNING" - The instance is running.
@@ -32280,7 +35213,7 @@ type InstancesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstancesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -32833,7 +35766,7 @@ type InstantSnapshotAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstantSnapshotAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -33172,7 +36105,7 @@ type InstantSnapshotListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstantSnapshotListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -33391,7 +36324,7 @@ type InstantSnapshotsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InstantSnapshotsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -33530,6 +36463,12 @@ type Interconnect struct {
// when you
// create the resource.
Description string `json:"description,omitempty"`
+ // EffectiveLocation: Output only. URL of the InterconnectLocation object that
+ // represents where
+ // this connection is to be provisioned. By default it will be the same as
+ // the
+ // location field.
+ EffectiveLocation string `json:"effectiveLocation,omitempty"`
// ExpectedOutages: Output only. [Output Only] A list of outages expected for
// this Interconnect.
ExpectedOutages []*InterconnectOutageNotification `json:"expectedOutages,omitempty"`
@@ -33710,6 +36649,9 @@ type Interconnect struct {
SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
// SelfLink: Output only. [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
+ // SelfLinkWithId: Output only. Server-defined URL for this resource with the
+ // resource id.
+ SelfLinkWithId string `json:"selfLinkWithId,omitempty"`
// State: Output only. [Output Only] The current state of Interconnect
// functionality, which can
// take one of the following values:
@@ -34468,7 +37410,7 @@ type InterconnectAttachmentAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InterconnectAttachmentAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -35133,7 +38075,7 @@ type InterconnectAttachmentGroupsListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InterconnectAttachmentGroupsListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -35571,7 +38513,7 @@ type InterconnectAttachmentListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InterconnectAttachmentListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -35834,7 +38776,7 @@ type InterconnectAttachmentsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InterconnectAttachmentsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -36561,7 +39503,6 @@ func (s InterconnectGroupsCreateMembers) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-// InterconnectGroupsCreateMembersInterconnectInput: LINT.IfChange
type InterconnectGroupsCreateMembersInterconnectInput struct {
// AdminEnabled: Administrative status of the interconnect. When this is set to
// true, the
@@ -36860,7 +39801,7 @@ type InterconnectGroupsListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InterconnectGroupsListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -37117,7 +40058,7 @@ type InterconnectListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InterconnectListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -37339,6 +40280,14 @@ type InterconnectLocationCrossSiteInterconnectInfo struct {
// InterconnectLocation city (metropolitan area designator), which itself
// may match multiple InterconnectLocations.
City string `json:"city,omitempty"`
+ // MaxDynamicPathBandwidthGbps: Output only. The maximum unmetered bandwidth
+ // for dynamic paths allowable per
+ // WireGroup for this metro.
+ MaxDynamicPathBandwidthGbps int64 `json:"maxDynamicPathBandwidthGbps,omitempty,string"`
+ // MaxFixedPathBandwidthGbps: Output only. The maximum unmetered bandwidth for
+ // fixed paths allowable per WireGroup
+ // for this metro.
+ MaxFixedPathBandwidthGbps int64 `json:"maxFixedPathBandwidthGbps,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "City") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
@@ -37487,7 +40436,7 @@ type InterconnectLocationListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InterconnectLocationListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -38266,7 +41215,7 @@ type InterconnectRemoteLocationListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*InterconnectRemoteLocationListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -38395,6 +41344,69 @@ func (s InterconnectsGetMacsecConfigResponse) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// InterconnectsSetNameRequest: Request to rename an interconnect.
+type InterconnectsSetNameRequest struct {
+ // CurrentName: The current name of the interconnect.
+ // The name must be 1-63 characters long, and comply with RFC1035.
+ CurrentName string `json:"currentName,omitempty"`
+ // Name: The new name of the interconnect.
+ // The name must be 1-63 characters long, and comply with RFC1035.
+ Name string `json:"name,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "CurrentName") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CurrentName") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s InterconnectsSetNameRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod InterconnectsSetNameRequest
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// Interval: Represents a time interval, encoded as a Timestamp start
+// (inclusive) and a
+// Timestamp end (exclusive).
+//
+// The start must be less than or equal to the end.
+// When the start equals the end, the interval is empty (matches no time).
+// When both start and end are unspecified, the interval matches any time.
+type Interval struct {
+ // EndTime: Optional. Exclusive end of the interval.
+ //
+ // If specified, a Timestamp matching this interval will have to be before
+ // the
+ // end.
+ EndTime string `json:"endTime,omitempty"`
+ // StartTime: Optional. Inclusive start of the interval.
+ //
+ // If specified, a Timestamp matching this interval will have to be the same
+ // or after the start.
+ StartTime string `json:"startTime,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "EndTime") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s Interval) MarshalJSON() ([]byte, error) {
+ type NoMethod Interval
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// License: Represents a License resource.
//
// A License represents billing and aggregate usage data forpublic
@@ -38519,6 +41531,14 @@ func (s License) MarshalJSON() ([]byte, error) {
// use only by third-party partners who are creatingCloud Marketplace
// images.
type LicenseCode struct {
+ // AllowedReplacementLicenses: Specifies licenseCodes of licenses that can
+ // replace this license. Note:
+ // such replacements are allowed even if removable_from_disk is false.
+ AllowedReplacementLicenses []string `json:"allowedReplacementLicenses,omitempty"`
+ // AppendableToDisk: If true, this license can be appended to an existing
+ // disk's set of
+ // licenses.
+ AppendableToDisk bool `json:"appendableToDisk,omitempty"`
// CreationTimestamp: Output only. [Output Only] Creation timestamp
// inRFC3339
// text format.
@@ -38529,6 +41549,11 @@ type LicenseCode struct {
// identifier is
// defined by the server.
Id uint64 `json:"id,omitempty,string"`
+ // IncompatibleLicenses: Specifies licenseCodes of licenses that are
+ // incompatible with this license.
+ // If a license is incompatible with this license, it cannot be attached to
+ // the same disk or image.
+ IncompatibleLicenses []string `json:"incompatibleLicenses,omitempty"`
// Kind: Output only. [Output Only] Type of resource. Always
// compute#licenseCode for
// licenses.
@@ -38537,12 +41562,36 @@ type LicenseCode struct {
// same
// License Code.
LicenseAlias []*LicenseCodeLicenseAlias `json:"licenseAlias,omitempty"`
+ // MinimumRetention: If set, this license will be unable to be removed or
+ // replaced once attached
+ // to a disk until the minimum_retention period has passed.
+ MinimumRetention *Duration `json:"minimumRetention,omitempty"`
+ // MultiTenantOnly: If true, this license can only be used on VMs on multi
+ // tenant nodes.
+ MultiTenantOnly bool `json:"multiTenantOnly,omitempty"`
// Name: Output only. [Output Only] Name of the resource. The name is 1-20
// characters long and
// must be a valid 64 bit integer.
Name string `json:"name,omitempty"`
+ // OsLicense: If true, indicates this is an OS license. Only one OS license can
+ // be
+ // attached to a disk or image at a time.
+ OsLicense bool `json:"osLicense,omitempty"`
+ // RemovableFromDisk: If true, this license can be removed from a disk's set of
+ // licenses, with no
+ // replacement license needed.
+ RemovableFromDisk bool `json:"removableFromDisk,omitempty"`
+ // RequiredCoattachedLicenses: Specifies the set of permissible coattached
+ // licenseCodes of licenses that
+ // satisfy the coattachment requirement of this license. At least one
+ // license
+ // from the set must be attached to the same disk or image as this license.
+ RequiredCoattachedLicenses []string `json:"requiredCoattachedLicenses,omitempty"`
// SelfLink: Output only. [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
+ // SoleTenantOnly: If true, this license can only be used on VMs on sole tenant
+ // nodes.
+ SoleTenantOnly bool `json:"soleTenantOnly,omitempty"`
// State: Output only. [Output Only] Current state of this License Code.
//
// Possible values:
@@ -38559,18 +41608,22 @@ type LicenseCode struct {
// attached when creating
// images or snapshots from disks. Otherwise, the license is not transferred.
Transferable bool `json:"transferable,omitempty"`
+ // UpdateTimestamp: Output only. [Output Only] Last update timestamp
+ // inRFC3339
+ // text format.
+ UpdateTimestamp string `json:"updateTimestamp,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
- // ForceSendFields is a list of field names (e.g. "CreationTimestamp") to
- // unconditionally include in API requests. By default, fields with empty or
+ // ForceSendFields is a list of field names (e.g. "AllowedReplacementLicenses")
+ // to unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "CreationTimestamp") to include in
- // API requests with the JSON null value. By default, fields with empty values
- // are omitted from API requests. See
+ // NullFields is a list of field names (e.g. "AllowedReplacementLicenses") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
@@ -38610,8 +41663,9 @@ type LicenseParams struct {
// license. Tag keys and values
// have the same definition as resource
// manager tags. Keys and values can be either in numeric format,
- // such as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced
- // format such as `{org_id|project_id}/{tag_key_short_name}`
+ // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or
+ // in
+ // namespaced format such as `{org_id|project_id}/{tag_key_short_name}`
// and
// `{tag_value_short_name}`. The field is ignored (both PUT &
// PATCH) when empty.
@@ -38810,7 +41864,7 @@ type LicensesListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*LicensesListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -38997,7 +42051,7 @@ type ListInstantSnapshotGroupsWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ListInstantSnapshotGroupsWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -39535,7 +42589,7 @@ type MachineImageListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*MachineImageListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -39861,7 +42915,7 @@ type MachineTypeAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*MachineTypeAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -40043,7 +43097,7 @@ type MachineTypeListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*MachineTypeListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -40209,7 +43263,7 @@ type MachineTypesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*MachineTypesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -40355,6 +43409,7 @@ type ManagedInstance struct {
// "PENDING" - For Flex Start provisioning instance is waiting for available
// capacity
// from Dynamic Workload Scheduler (DWS).
+ // "PENDING_STOP" - The instance is gracefully shutting down.
// "PROVISIONING" - Resources are being allocated for the instance.
// "REPAIRING" - The instance is in repair.
// "RUNNING" - The instance is running.
@@ -40390,6 +43445,29 @@ type ManagedInstance struct {
// from
// InstanceFlexibilityPolicy.
PropertiesFromFlexibilityPolicy *ManagedInstancePropertiesFromFlexibilityPolicy `json:"propertiesFromFlexibilityPolicy,omitempty"`
+ // Scheduling: Output only. Information about the termination timestamp of the
+ // instance, if applicable.
+ Scheduling *ManagedInstanceScheduling `json:"scheduling,omitempty"`
+ // ShutdownDetails: Output only. Specifies the graceful shutdown details if the
+ // instance is in
+ // `PENDING_STOP` state or there is a programmed stop scheduled.
+ ShutdownDetails *ManagedInstanceShutdownDetails `json:"shutdownDetails,omitempty"`
+ // TargetStatus: Output only. The eventual status of the instance. The instance
+ // group
+ // manager will not be identified as stable till each managed instance
+ // reaches
+ // its targetStatus.
+ //
+ // Possible values:
+ // "ABANDONED" - The managed instance will eventually be ABANDONED, i.e.
+ // dissociated
+ // from the managed instance group.
+ // "DELETED" - The managed instance will eventually be DELETED.
+ // "INVALID" - Only present to map the STATUS_INVALID value.
+ // "RUNNING" - The managed instance will eventually reach status RUNNING.
+ // "STOPPED" - The managed instance will eventually reach status TERMINATED.
+ // "SUSPENDED" - The managed instance will eventually reach status SUSPENDED.
+ TargetStatus string `json:"targetStatus,omitempty"`
// Version: Output only. [Output Only] Intended version of this instance.
Version *ManagedInstanceVersion `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "CurrentAction") to
@@ -40506,6 +43584,9 @@ func (s ManagedInstanceLastAttemptErrors) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ManagedInstanceLastAttemptErrorsErrors: Represents a single error
+// encountered during the processing of an
+// operation.
type ManagedInstanceLastAttemptErrorsErrors struct {
// Code: [Output Only] The error type identifier for this error.
Code string `json:"code,omitempty"`
@@ -40541,11 +43622,20 @@ func (s ManagedInstanceLastAttemptErrorsErrors) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ManagedInstanceLastAttemptErrorsErrorsErrorDetails: Container for structured
+// error details providing additional context
+// specific to the encountered error code.
type ManagedInstanceLastAttemptErrorsErrorsErrorDetails struct {
- ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
- Help *Help `json:"help,omitempty"`
- LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
- QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
+ // ErrorInfo: Error information containing structured domain, reason, and
+ // metadata.
+ ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
+ // Help: Links and information to help the user resolve the error.
+ Help *Help `json:"help,omitempty"`
+ // LocalizedMessage: A localized human-readable error message intended for end
+ // users.
+ LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
+ // QuotaInfo: Details about quota limits and metrics when a quota is exceeded.
+ QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "ErrorInfo") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -40565,15 +43655,21 @@ func (s ManagedInstanceLastAttemptErrorsErrorsErrorDetails) MarshalJSON() ([]byt
}
type ManagedInstancePropertiesFromFlexibilityPolicy struct {
+ // Disks: List of disks to be attached to the instance.
+ Disks []*AttachedDisk `json:"disks,omitempty"`
// MachineType: Output only. The machine type to be used for this instance.
MachineType string `json:"machineType,omitempty"`
- // ForceSendFields is a list of field names (e.g. "MachineType") to
- // unconditionally include in API requests. By default, fields with empty or
- // default values are omitted from API requests. See
+ // MinCpuPlatform: Name of the minimum CPU platform to be used by this
+ // instance.
+ // e.g. 'Intel Ice Lake'.
+ MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Disks") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "MachineType") to include in API
+ // NullFields is a list of field names (e.g. "Disks") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
@@ -40585,6 +43681,63 @@ func (s ManagedInstancePropertiesFromFlexibilityPolicy) MarshalJSON() ([]byte, e
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+type ManagedInstanceScheduling struct {
+ // GracefulShutdownTimestamp: Output only. The timestamp at which the
+ // underlying instance will be
+ // triggered for graceful shutdown if it is configured. This is in RFC3339 text
+ // format.
+ GracefulShutdownTimestamp string `json:"gracefulShutdownTimestamp,omitempty"`
+ // TerminationTimestamp: Output only. The timestamp at which the managed
+ // instance will be terminated. This is
+ // in RFC3339 text
+ // format.
+ TerminationTimestamp string `json:"terminationTimestamp,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "GracefulShutdownTimestamp")
+ // to unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "GracefulShutdownTimestamp") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ManagedInstanceScheduling) MarshalJSON() ([]byte, error) {
+ type NoMethod ManagedInstanceScheduling
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type ManagedInstanceShutdownDetails struct {
+ // MaxDuration: Output only. The duration for graceful shutdown. Only
+ // applicable when the instance is
+ // in `PENDING_STOP` state.
+ MaxDuration *Duration `json:"maxDuration,omitempty"`
+ // RequestTimestamp: Output only. Past timestamp indicating the beginning of
+ // `PENDING_STOP` state of
+ // instance in RFC3339
+ // text format.
+ RequestTimestamp string `json:"requestTimestamp,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "MaxDuration") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "MaxDuration") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ManagedInstanceShutdownDetails) MarshalJSON() ([]byte, error) {
+ type NoMethod ManagedInstanceShutdownDetails
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type ManagedInstanceVersion struct {
// InstanceTemplate: Output only. [Output Only] The intended template of the
// instance. This field is empty
@@ -40610,6 +43763,233 @@ func (s ManagedInstanceVersion) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ManagedRuleset: Represents a ManagedRuleset resource.
+//
+// Managed internally by Cloud Armor CLH for Managed Rules features.
+// Customers can only view these resources to modify their Security
+// Policies.
+// For more information, see
+// https://cloud.google.com/armor/docs/.
+type ManagedRuleset struct {
+ // ChangeLog: Output only. [Output Only] The change log for this managed
+ // ruleset.
+ ChangeLog string `json:"changeLog,omitempty"`
+ // CreationTimestamp: Output only. [Output Only] Creation timestamp in RFC3339
+ // text format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+ // Description: [Output Only] An optional description of this resource.
+ Description string `json:"description,omitempty"`
+ // Id: Output only. [Output Only] The unique identifier for the resource. This
+ // identifier is
+ // defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+ // Name: Name of the resource. Generated internally when the resource is
+ // created.
+ // The name must be 1-63 characters long, and comply withRFC1035.
+ // Specifically, the name must be 1-63 characters long and match the
+ // regular
+ // expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
+ // character must be a lowercase letter, and all following characters must
+ // be a dash, lowercase letter, or digit, except the last character,
+ // which
+ // cannot be a dash.
+ Name string `json:"name,omitempty"`
+ // RuleIds: Output only. [Output Only] The list of managed rule IDs that are
+ // included in
+ // this managed ruleset.
+ RuleIds []string `json:"ruleIds,omitempty"`
+ // RulesetId: Output only. [Output Only] The managed ruleset identifier that
+ // can be configured in
+ // Security Policy rules.
+ RulesetId string `json:"rulesetId,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "ChangeLog") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ChangeLog") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ManagedRuleset) MarshalJSON() ([]byte, error) {
+ type NoMethod ManagedRuleset
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type ManagedRulesetList struct {
+ Id string `json:"id,omitempty"`
+ // Items: The list of managed rulesets.
+ Items []*ManagedRuleset `json:"items,omitempty"`
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ Warning *ManagedRulesetListWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Id") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Id") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ManagedRulesetList) MarshalJSON() ([]byte, error) {
+ type NoMethod ManagedRulesetList
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type ManagedRulesetListWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*ManagedRulesetListWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ManagedRulesetListWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod ManagedRulesetListWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type ManagedRulesetListWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ManagedRulesetListWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod ManagedRulesetListWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// Metadata: A metadata key/value entry.
type Metadata struct {
// Fingerprint: Specifies a fingerprint for this request, which is essentially
@@ -40780,6 +44160,38 @@ func (s MetadataFilterLabelMatch) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// Money: Represents an amount of money with its currency type.
+type Money struct {
+ // CurrencyCode: The three-letter currency code defined in ISO 4217.
+ CurrencyCode string `json:"currencyCode,omitempty"`
+ // Nanos: Number of nano (10^-9) units of the amount.
+ // The value must be between -999,999,999 and +999,999,999 inclusive.
+ // If `units` is positive, `nanos` must be positive or zero.
+ // If `units` is zero, `nanos` can be positive, zero, or negative.
+ // If `units` is negative, `nanos` must be negative or zero.
+ // For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ Nanos int64 `json:"nanos,omitempty"`
+ // Units: The whole units of the amount.
+ // For example if `currencyCode` is "USD", then 1 unit is one US dollar.
+ Units int64 `json:"units,omitempty,string"`
+ // ForceSendFields is a list of field names (e.g. "CurrencyCode") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CurrencyCode") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s Money) MarshalJSON() ([]byte, error) {
+ type NoMethod Money
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// NamedPort: The named port. For example: <"http", 80>.
type NamedPort struct {
// Name: The name for this named port.
@@ -40805,6 +44217,54 @@ func (s NamedPort) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+type NamedSet struct {
+ // Description: An optional description of named set.
+ Description string `json:"description,omitempty"`
+ // Elements: CEL expressions that are comparable to constructs of this set's
+ // type
+ // (see Policy Language).
+ Elements []*Expr `json:"elements,omitempty"`
+ // Fingerprint: A fingerprint for the Named Set being applied to this Router,
+ // which is
+ // essentially a hash of the Named Set used for optimistic locking.
+ // The fingerprint is initially generated by Compute Engine and changes
+ // after every request to modify or update the Named Set. You must
+ // always
+ // provide an up-to-date fingerprint hash in order to update or
+ // change
+ // labels.
+ //
+ // To see the latest fingerprint, make a getNamedSet() request
+ // to retrieve a Named Set.
+ Fingerprint string `json:"fingerprint,omitempty"`
+ // Name: This set's name, which must be a resource ID segment and unique within
+ // all
+ // named sets owned by the Router. Name should conform to RFC1035.
+ Name string `json:"name,omitempty"`
+ // Type: This named set's type
+ //
+ // Possible values:
+ // "NAMED_SET_TYPE_COMMUNITY" - The Named Set is a Community Named Set.
+ // "NAMED_SET_TYPE_PREFIX" - The Named Set is a Prefix Named Set.
+ Type string `json:"type,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Description") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Description") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s NamedSet) MarshalJSON() ([]byte, error) {
+ type NoMethod NamedSet
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// NatIpInfo: Contains NAT IP information of a NAT config (i.e. usage status,
// mode).
type NatIpInfo struct {
@@ -41090,13 +44550,17 @@ type NetworkAttachment struct {
// belongs
// to the same network as all the subnetworks.
Network string `json:"network,omitempty"`
- // ProducerAcceptLists: Projects that are allowed to connect to this network
- // attachment.
- // The project can be specified using its id or number.
+ // ProducerAcceptLists: Projects or service class ids that are allowed to
+ // connect to this network
+ // attachment. The project can be specified using its id or number.
+ // Service
+ // class id can be specified as "serviceclasses/{service_class_id}".
ProducerAcceptLists []string `json:"producerAcceptLists,omitempty"`
- // ProducerRejectLists: Projects that are not allowed to connect to this
- // network attachment.
- // The project can be specified using its id or number.
+ // ProducerRejectLists: Projects or service class ids that are not allowed to
+ // connect to this
+ // network attachment. The project can be specified using its id or
+ // number.
+ // Service class id can be specified as "serviceclasses/{service_class_id}".
ProducerRejectLists []string `json:"producerRejectLists,omitempty"`
// Region: Output only. [Output Only] URL of the region where the network
// attachment resides.
@@ -41262,7 +44726,7 @@ type NetworkAttachmentAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkAttachmentAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -41501,7 +44965,7 @@ type NetworkAttachmentListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkAttachmentListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -41666,7 +45130,7 @@ type NetworkAttachmentsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkAttachmentsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -41929,7 +45393,7 @@ type NetworkEdgeSecurityServiceAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkEdgeSecurityServiceAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -42095,7 +45559,7 @@ type NetworkEdgeSecurityServicesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkEdgeSecurityServicesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -42294,7 +45758,13 @@ type NetworkEndpointGroup struct {
Name string `json:"name,omitempty"`
// Network: The URL of the network to which all network endpoints in the NEG
// belong.
- // Uses default project network if unspecified.
+ // For networkEndpointType GCE_VM_IP_PORT,GCE_VM_IP_PORTMAP or
+ // NON_GCP_PRIVATE_IP_PORT,
+ // if this field is not specified, a default network will be used.
+ // This field cannot be set for NEGs with networkEndpointType set toSERVERLESS
+ // or PRIVATE_SERVICE_CONNECT and for
+ // global NEGs.
+ // For all other network endpoint types, this field is required.
Network string `json:"network,omitempty"`
// NetworkEndpointType: Type of network endpoints in this network endpoint
// group. Can be one ofGCE_VM_IP, GCE_VM_IP_PORT,NON_GCP_PRIVATE_IP_PORT,
@@ -42303,6 +45773,10 @@ type NetworkEndpointGroup struct {
//
// Possible values:
// "GCE_VM_IP" - The network endpoint is represented by an IP address.
+ // "GCE_VM_IP_DEDICATED_BACKEND" - The network endpoint for targeting a
+ // specific network interface of a
+ // VM instance in configurations with multiple network interfaces on the
+ // same network.
// "GCE_VM_IP_PORT" - The network endpoint is represented by IP address and
// port pair.
// "GCE_VM_IP_PORTMAP" - The network endpoint is represented by an IP, Port
@@ -42499,7 +45973,7 @@ type NetworkEndpointGroupAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkEndpointGroupAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -42842,7 +46316,7 @@ type NetworkEndpointGroupListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkEndpointGroupListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -43148,7 +46622,7 @@ type NetworkEndpointGroupsListNetworkEndpointsWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkEndpointGroupsListNetworkEndpointsWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -43316,7 +46790,7 @@ type NetworkEndpointGroupsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkEndpointGroupsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -43528,7 +47002,7 @@ type NetworkFirewallPolicyAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkFirewallPolicyAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -43593,6 +47067,10 @@ type NetworkInterface struct {
// AliasIpRanges: An array of alias IP ranges for this network interface.
// You can only specify this field for network interfaces in VPC networks.
AliasIpRanges []*AliasIpRange `json:"aliasIpRanges,omitempty"`
+ // AliasIpv6Ranges: An array of alias IPv6 ranges for this network
+ // interface.
+ // You can only specify this field for network interfaces in VPC networks.
+ AliasIpv6Ranges []*AliasIpRange `json:"aliasIpv6Ranges,omitempty"`
// EnableVpcScopedDns: Optional. If true, DNS resolution will be enabled over
// this interface. Only valid
// with network_attachment.
@@ -43892,7 +47370,7 @@ type NetworkListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -44178,8 +47656,14 @@ type NetworkPeeringConnectionStatusConsensusState struct {
// peering connection can
// be deleted.
// "DELETE_STATUS_UNSPECIFIED"
+ // "LOCAL_CANCEL_REQUESTED" - The local network admin requested to cancel
+ // their delete request
+ // after DELETE_ACKNOWLEDGED.
// "LOCAL_DELETE_REQUESTED" - Network admin has requested deletion of this
// peering connection.
+ // "PEER_CANCEL_REQUESTED" - The peer network admin requested to cancel their
+ // delete request after
+ // DELETE_ACKNOWLEDGED.
// "PEER_DELETE_REQUESTED" - The peer network admin has requested deletion of
// this peering
// connection.
@@ -44376,7 +47860,7 @@ type NetworkProfileNetworkFeatures struct {
// of subnet/route in the VPC network and its peering networks. After the
// VLAN attachment is created with the reserved IP address range, when
// creating a new VPN gateway, its interface IP address is allocated
- // from the associated VLAN attachment’s IP address range.
+ // from the associated VLAN attachment's IP address range.
// "NAT_AUTO" - External IP automatically reserved for Cloud NAT.
// "PRIVATE_SERVICE_CONNECT" - A private network IP address that can be used
// to configure Private
@@ -44565,6 +48049,7 @@ type NetworkProfileNetworkFeatures struct {
AllowVpn string `json:"allowVpn,omitempty"`
// Possible values:
// "RDMA_ROCE_POLICY"
+ // "ULL_POLICY"
// "VPC_POLICY"
FirewallPolicyTypes []string `json:"firewallPolicyTypes,omitempty"`
// InterfaceTypes: If set, limits the interface types that the network
@@ -44852,7 +48337,7 @@ type NetworkProfilesListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NetworkProfilesListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -45025,6 +48510,27 @@ func (s NetworksAddPeeringRequest) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+type NetworksCancelRequestRemovePeeringRequest struct {
+ // Name: Name of the peering, which should conform to RFC1035.
+ Name string `json:"name,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Name") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Name") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s NetworksCancelRequestRemovePeeringRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod NetworksCancelRequestRemovePeeringRequest
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type NetworksGetEffectiveFirewallsResponse struct {
// FirewallPolicys: [Output Only] Effective firewalls from firewall policy. It
// returns Global
@@ -45428,7 +48934,7 @@ type NodeGroupAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeGroupAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -45646,7 +49152,7 @@ type NodeGroupListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeGroupListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -45964,7 +49470,7 @@ type NodeGroupsListNodesWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeGroupsListNodesWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -46154,7 +49660,7 @@ type NodeGroupsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeGroupsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -46487,7 +49993,7 @@ type NodeTemplateAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeTemplateAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -46669,7 +50175,7 @@ type NodeTemplateListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeTemplateListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -46858,7 +50364,7 @@ type NodeTemplatesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeTemplatesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -47113,7 +50619,7 @@ type NodeTypeAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeTypeAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -47295,7 +50801,7 @@ type NodeTypeListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeTypeListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -47461,7 +50967,7 @@ type NodeTypesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NodeTypesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -47716,7 +51222,7 @@ type NotificationEndpointAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NotificationEndpointAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -47947,7 +51453,7 @@ type NotificationEndpointListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NotificationEndpointListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -48112,7 +51618,7 @@ type NotificationEndpointsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*NotificationEndpointsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -48210,7 +51716,9 @@ type Operation struct {
// Error: [Output Only] If errors are generated during processing of the
// operation,
// this field will be populated.
- Error *OperationError `json:"error,omitempty"`
+ Error *OperationError `json:"error,omitempty"`
+ // GetHealthOperationMetadata: Output only. Metadata for GetHealth operations.
+ GetHealthOperationMetadata *GetHealthOperationMetadata `json:"getHealthOperationMetadata,omitempty"`
GetVersionOperationMetadata *GetVersionOperationMetadata `json:"getVersionOperationMetadata,omitempty"`
// HttpErrorMessage: [Output Only] If the operation fails, this field contains
// the HTTP error
@@ -48277,9 +51785,10 @@ type Operation struct {
// `PENDING`, `RUNNING`, or `DONE`.
//
// Possible values:
- // "DONE"
- // "PENDING"
- // "RUNNING"
+ // "DONE" - The operation has completed processing successfully or with an
+ // error.
+ // "PENDING" - The operation is waiting to be processed.
+ // "RUNNING" - The operation is actively being processed.
Status string `json:"status,omitempty"`
// StatusMessage: [Output Only] An optional textual description of the current
// status of the
@@ -48354,6 +51863,9 @@ func (s OperationError) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// OperationErrorErrors: Represents a single error encountered during the
+// processing of an
+// operation.
type OperationErrorErrors struct {
// Code: [Output Only] The error type identifier for this error.
Code string `json:"code,omitempty"`
@@ -48389,11 +51901,20 @@ func (s OperationErrorErrors) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// OperationErrorErrorsErrorDetails: Container for structured error details
+// providing additional context
+// specific to the encountered error code.
type OperationErrorErrorsErrorDetails struct {
- ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
- Help *Help `json:"help,omitempty"`
- LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
- QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
+ // ErrorInfo: Error information containing structured domain, reason, and
+ // metadata.
+ ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
+ // Help: Links and information to help the user resolve the error.
+ Help *Help `json:"help,omitempty"`
+ // LocalizedMessage: A localized human-readable error message intended for end
+ // users.
+ LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"`
+ // QuotaInfo: Details about quota limits and metrics when a quota is exceeded.
+ QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "ErrorInfo") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -48496,7 +52017,7 @@ type OperationWarnings struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*OperationWarningsData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -48681,7 +52202,7 @@ type OperationAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*OperationAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -48865,7 +52386,7 @@ type OperationListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*OperationListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -49031,7 +52552,7 @@ type OperationsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*OperationsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -49509,7 +53030,7 @@ type PacketMirroringAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*PacketMirroringAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -49764,7 +53285,7 @@ type PacketMirroringListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*PacketMirroringListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -50045,7 +53566,7 @@ type PacketMirroringsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*PacketMirroringsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -50440,6 +53961,58 @@ func (s PerInstanceConfig) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// PeriodicPartialMaintenanceSchedule: The periodic partial maintenance
+// schedule includes 52 weeks worth of
+// maintenance windows.
+// LINT.IfChange(PeriodicPartialMaintenanceSchedule)
+type PeriodicPartialMaintenanceSchedule struct {
+ // SubType: The maintenance type in which the zone is during the given window.
+ //
+ // Possible values:
+ // "MAINTENANCE_SUBTYPE_UNSPECIFIED" - Default value.
+ // "MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE" - A dedicated window for customers
+ // to perform their own maintenance. This
+ // often runs concurrently with a DISRUPTIVE_UPGRADE.
+ // "MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE" - For disruptive updates, including
+ // host machine kernel or firmware
+ // upgrades.
+ // "MAINTENANCE_TYPE_STABLE" - A post-maintenance window for customers to
+ // conduct final testing and
+ // performance validation before resuming full business operations.
+ // "MAINTENANCE_TYPE_TRANSITION" - For preliminary, non-disruptive tasks such
+ // as key rotations.
+ SubType string `json:"subType,omitempty"`
+ // TargetResource: The target resource that the maintenance window is for.
+ // For example, "projects/my-project/zones/us-central1-a".
+ TargetResource string `json:"targetResource,omitempty"`
+ // Possible values:
+ // "MAINTENANCE_TYPE_UNSPECIFIED" - Default value.
+ // "PRIVATE_ZONE_MAINTENANCE" - The zone is in a private maintenance window.
+ Type string `json:"type,omitempty"`
+ // WindowEndTime: The end civil timestamp of the window (not inclusive).
+ // This contains a time zone.
+ WindowEndTime *DateTime `json:"windowEndTime,omitempty"`
+ // WindowStartTime: The start civil timestamp of the window.
+ // This contains a time zone.
+ WindowStartTime *DateTime `json:"windowStartTime,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "SubType") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "SubType") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s PeriodicPartialMaintenanceSchedule) MarshalJSON() ([]byte, error) {
+ type NoMethod PeriodicPartialMaintenanceSchedule
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// Policy: An Identity and Access Management (IAM) policy, which specifies
// access
// controls for Google Cloud resources.
@@ -50958,7 +54531,7 @@ type PreviewFeatureListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*PreviewFeatureListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -51241,6 +54814,42 @@ func (s Project) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ProjectView: Represents a ProjectView resource.
+//
+// A ProjectView resource contains read-only project data which is
+// available
+// globally.
+type ProjectView struct {
+ // Project: The project data.
+ // The returned Project data does not contain regional or zonal quota
+ // usage data. Global quota limits are present. For accurate, real-time
+ // quota
+ // usage numbers, query the global
+ // projects.get
+ // (https://cloud.google.com/compute/docs/reference/rest/v1/projects/get)
+ // endpoint.
+ Project *Project `json:"project,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Project") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Project") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ProjectView) MarshalJSON() ([]byte, error) {
+ type NoMethod ProjectView
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type ProjectsDisableXpnResourceRequest struct {
// XpnResource: Service resource (a.k.a service project) ID.
XpnResource *XpnResourceId `json:"xpnResource,omitempty"`
@@ -51690,7 +55299,7 @@ type PublicAdvertisedPrefixListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*PublicAdvertisedPrefixListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -52086,7 +55695,7 @@ type PublicDelegatedPrefixAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*PublicDelegatedPrefixAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -52268,7 +55877,7 @@ type PublicDelegatedPrefixListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*PublicDelegatedPrefixListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -52528,7 +56137,7 @@ type PublicDelegatedPrefixesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*PublicDelegatedPrefixesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -52890,6 +56499,56 @@ func (s Reference) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// RegexRewrite: The spec for modifying the path using a regular expression.
+type RegexRewrite struct {
+ // PathPattern: Required. The regular expression used to match against the URL
+ // path.
+ // It uses RE2 syntax with the following constraints:
+ //
+ //
+ // - Any single character operators
+ // - Groups are allowed to have only submatch operator inside
+ // - Groups are allowed only without any char repetition, e.g.
+ // .*
+ // - Any char repetition, e.g. .*, is
+ // only allowed to be used in a single regex together with:
+ //
+ //
+ // - Empty string operators
+ // - Other repetitions
+ // - Ranges
+ // - Repetitions of ranges
+ //
+ //
+ // - Ranges are only allowed to have:
+ //
+ //
+ // - Character range
+ // - Digits range
+ // - Symbols listed in characters allowed for ranges
+ PathPattern string `json:"pathPattern,omitempty"`
+ // PathSubstitution: Required. Required when path pattern is specified. Used to
+ // rewrite matching parts of
+ // the path.
+ PathSubstitution string `json:"pathSubstitution,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "PathPattern") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "PathPattern") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RegexRewrite) MarshalJSON() ([]byte, error) {
+ type NoMethod RegexRewrite
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// Region: Represents a Region resource.
//
// A region is a geographical area where a resource is located. For
@@ -53043,7 +56702,7 @@ type RegionQuotaStatusWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionQuotaStatusWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -53259,7 +56918,7 @@ type RegionAutoscalerListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionAutoscalerListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -53439,7 +57098,7 @@ type RegionDiskTypeListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionDiskTypeListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -53766,7 +57425,7 @@ type RegionInstanceGroupListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionInstanceGroupListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -53847,28 +57506,25 @@ func (s RegionInstanceGroupManagerDeleteInstanceConfigReq) MarshalJSON() ([]byte
// RegionInstanceGroupManagerList: Contains a list of managed instance groups.
type RegionInstanceGroupManagerList struct {
- // Id: Output only. [Output Only] Unique identifier for the resource; defined
- // by the server.
+ // Id: Output only. Unique identifier for the resource; defined by the server.
Id string `json:"id,omitempty"`
// Items: A list of InstanceGroupManager resources.
Items []*InstanceGroupManager `json:"items,omitempty"`
- // Kind: Output only. [Output Only] The resource type, which is
- // always
- // compute#instanceGroupManagerList for a list of managed instance groups
- // that
- // exist in th regional scope.
+ // Kind: Output only. The resource type, which is always
+ // compute#instanceGroupManagerList for a
+ // list of managed instance groups that exist in th regional scope.
Kind string `json:"kind,omitempty"`
- // NextPageToken: Output only. [Output Only] This token allows you to get the
- // next page of results for
+ // NextPageToken: Output only. This token allows you to get the next page of
+ // results for
// list requests. If the number of results is larger thanmaxResults, use the
// nextPageToken as a value for
// the query parameter pageToken in the next list request.
// Subsequent list requests will have their own nextPageToken to
// continue paging through the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ // SelfLink: Output only. Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
- // Warning: Output only. [Output Only] Informational warning message.
+ // Warning: Output only. Informational warning message.
Warning *RegionInstanceGroupManagerListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
@@ -53891,8 +57547,8 @@ func (s RegionInstanceGroupManagerList) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
-// RegionInstanceGroupManagerListWarning: Output only. [Output Only]
-// Informational warning message.
+// RegionInstanceGroupManagerListWarning: Output only. Informational warning
+// message.
type RegionInstanceGroupManagerListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute
@@ -53977,7 +57633,7 @@ type RegionInstanceGroupManagerListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionInstanceGroupManagerListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -54058,30 +57714,28 @@ func (s RegionInstanceGroupManagerPatchInstanceConfigReq) MarshalJSON() ([]byte,
type RegionInstanceGroupManagerResizeRequestsListResponse struct {
Etag string `json:"etag,omitempty"`
- // Id: Output only. [Output Only] Unique identifier for the resource; defined
- // by the server.
+ // Id: Output only. Unique identifier for the resource; defined by the server.
Id string `json:"id,omitempty"`
// Items: A list of Resize Request resources.
Items []*InstanceGroupManagerResizeRequest `json:"items,omitempty"`
- // Kind: Output only. [Output Only] Type of the resource.
+ // Kind: Output only. Type of the resource.
// Alwayscompute#regionInstanceGroupManagerResizeRequestList for
// a list of Resize Requests.
Kind string `json:"kind,omitempty"`
- // NextPageToken: Output only. [Output Only] This token allows you to get the
- // next page of results for
+ // NextPageToken: Output only. This token allows you to get the next page of
+ // results for
// list requests. If the number of results is larger thanmaxResults, use the
// nextPageToken as a value for
// the query parameter pageToken in the next list request.
// Subsequent list requests will have their own nextPageToken to
// continue paging through the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ // SelfLink: Output only. Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
- // Unreachables: Output only. [Output Only] Unreachable
- // resources.
+ // Unreachables: Output only. Unreachable resources.
// end_interface: MixerListResponseWithEtagBuilder
Unreachables []string `json:"unreachables,omitempty"`
- // Warning: Output only. [Output Only] Informational warning message.
+ // Warning: Output only. Informational warning message.
Warning *RegionInstanceGroupManagerResizeRequestsListResponseWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
@@ -54105,7 +57759,7 @@ func (s RegionInstanceGroupManagerResizeRequestsListResponse) MarshalJSON() ([]b
}
// RegionInstanceGroupManagerResizeRequestsListResponseWarning: Output only.
-// [Output Only] Informational warning message.
+// Informational warning message.
type RegionInstanceGroupManagerResizeRequestsListResponseWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute
@@ -54190,7 +57844,7 @@ type RegionInstanceGroupManagerResizeRequestsListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionInstanceGroupManagerResizeRequestsListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -54296,7 +57950,7 @@ func (s RegionInstanceGroupManagersAbandonInstancesRequest) MarshalJSON() ([]byt
// RegionInstanceGroupManagers.applyUpdatesToInstances
type RegionInstanceGroupManagersApplyUpdatesRequest struct {
// AllInstances: Flag to update all instances instead of specified list of
- // “instances”.
+ // "instances".
// If the flag is set to true then the instances may not be specified
// in the request.
AllInstances bool `json:"allInstances,omitempty"`
@@ -54587,7 +58241,7 @@ type RegionInstanceGroupManagersListInstanceConfigsRespWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionInstanceGroupManagersListInstanceConfigsRespWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -54975,7 +58629,7 @@ type RegionInstanceGroupsListInstancesWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionInstanceGroupsListInstancesWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -55223,7 +58877,7 @@ type RegionListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RegionListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -55533,6 +59187,243 @@ func (s RegionUrlMapsValidateRequest) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ReliabilityRisk: Represents a ReliabilityRisk resource.
+type ReliabilityRisk struct {
+ // CreationTimestamp: Output only. [Output Only] Creation timestamp in
+ // RFC3339
+ // text format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+ // Description: An optional textual description of the resource; provided when
+ // the
+ // resource is created.
+ Description string `json:"description,omitempty"`
+ // Details: [Output Only] Details of the reliability risk resource
+ Details *RiskDetails `json:"details,omitempty"`
+ // Id: [Output Only] The unique identifier for the resource. This identifier
+ // is
+ // defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+ // Kind: Output only. [Output Only] Type of resource. Always
+ // compute#reliabilityRisk
+ // for reliability risks.
+ Kind string `json:"kind,omitempty"`
+ // Name: Name of the resource. The name must be 1-63 characters long and
+ // comply with RFC1035.
+ Name string `json:"name,omitempty"`
+ // Recommendation: The recommendation to mitigate the risk.
+ Recommendation *RiskRecommendation `json:"recommendation,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // SelfLinkWithId: Output only. [Output Only] Server-defined URL for this
+ // resource with the resource id.
+ SelfLinkWithId string `json:"selfLinkWithId,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "CreationTimestamp") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ReliabilityRisk) MarshalJSON() ([]byte, error) {
+ type NoMethod ReliabilityRisk
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// ReliabilityRisksListResponse: Response message for the List method of
+// ReliabilityRisksService.
+type ReliabilityRisksListResponse struct {
+ // Etag: [Output Only] An ETag of the resource.
+ Etag string `json:"etag,omitempty"`
+ // Id: [Output Only] Unique identifier for the resource; defined by the server.
+ Id string `json:"id,omitempty"`
+ // Items: A list of ReliabilityRisk resources.
+ Items []*ReliabilityRisk `json:"items,omitempty"`
+ // NextPageToken: [Output Only] This token allows you to get the next page of
+ // results for
+ // list requests. If the number of results is larger thanmaxResults, use the
+ // nextPageToken as a value for
+ // the query parameter pageToken in the next list request.
+ // Subsequent list requests will have their own nextPageToken to
+ // continue paging through the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // Unreachables: Output only. [Output Only] Unreachable
+ // resources.
+ // end_interface: MixerListResponseWithEtagBuilder
+ Unreachables []string `json:"unreachables,omitempty"`
+ // Warning: [Output Only] Informational warning message.
+ Warning *ReliabilityRisksListResponseWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ReliabilityRisksListResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod ReliabilityRisksListResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// ReliabilityRisksListResponseWarning: [Output Only] Informational warning
+// message.
+type ReliabilityRisksListResponseWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*ReliabilityRisksListResponseWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ReliabilityRisksListResponseWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod ReliabilityRisksListResponseWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type ReliabilityRisksListResponseWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ReliabilityRisksListResponseWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod ReliabilityRisksListResponseWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// RequestMirrorPolicy: A policy that specifies how requests intended for the
// route's backends
// are shadowed to a separate mirrored backend service. The load
@@ -55607,6 +59498,7 @@ type Reservation struct {
// displays for reservations that are tied to a commitment.
Commitment string `json:"commitment,omitempty"`
// Possible values:
+ // "CONFIDENTIAL_COMPUTE_TYPE_BMSAI" - Bare Metal Secure AI.
// "CONFIDENTIAL_COMPUTE_TYPE_TDX" - Intel Trust Domain Extensions.
// "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED"
ConfidentialComputeType string `json:"confidentialComputeType,omitempty"`
@@ -55703,6 +59595,13 @@ type Reservation struct {
// unspecified, the reservation
// will not be shared with Google Cloud managed services.
ReservationSharingPolicy *AllocationReservationSharingPolicy `json:"reservationSharingPolicy,omitempty"`
+ // ResourceMetadata: Output only. [Output Only] Contains standard resource
+ // metadata for an Allocation
+ // resource. It is populated for each instance of the Allocation
+ // resource, and includes the api_version the
+ // instance was retrieved through, and its canonical
+ // resource_type name.
+ ResourceMetadata *ResourceMetadata `json:"resourceMetadata,omitempty"`
// ResourcePolicies: Resource policies to be added to this reservation. The key
// is defined by
// user, and the value is resource policy url. This is to define
@@ -55995,7 +59894,7 @@ type ReservationAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ReservationAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -56394,7 +60293,7 @@ type ReservationBlocksListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ReservationBlocksListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -56577,7 +60476,7 @@ type ReservationListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ReservationListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -56957,7 +60856,7 @@ type ReservationSlotsListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ReservationSlotsListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -57332,7 +61231,7 @@ type ReservationSubBlocksListResponseWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ReservationSubBlocksListResponseWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -57428,6 +61327,12 @@ type ReservationSubBlocksReportFaultyRequestFaultReason struct {
// Possible values:
// "FAULT_BEHAVIOR_UNSPECIFIED"
// "GPU_ERROR" - The subBlock experienced a GPU error.
+ // "NVSWITCH_FAULT_CONTROLLER_ERROR" - The subBlock experienced an NVSwitch
+ // controller error.
+ // "NVSWITCH_FAULT_DEGRADED_BANDWIDTH" - The subBlock experienced NVSwitch
+ // degraded bandwidth.
+ // "NVSWITCH_FAULT_SWITCH_ERROR" - The subBlock experienced an NVSwitch
+ // switch error.
// "PERFORMANCE" - The subBlock experienced performance issues.
// "SILENT_DATA_CORRUPTION" - The subBlock experienced silent data
// corruption.
@@ -57656,7 +61561,7 @@ type ReservationsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ReservationsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -57791,6 +61696,36 @@ func (s ResourceGroupReference) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ResourceMetadata: Standardized resource metadata common to all compute
+// resources.
+type ResourceMetadata struct {
+ // ApiVersion: The version of the API interface that this resource was
+ // retrieved through.
+ // For example, "2025-01-01" or "2025-01-01-preview".
+ ApiVersion string `json:"apiVersion,omitempty"`
+ // ResourceType: The canonical resource type name in the format of a resource
+ // type
+ // as defined by AIP-123 (https://google.aip.dev/123).
+ // For example, "compute.googleapis.com/Instance".
+ ResourceType string `json:"resourceType,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "ApiVersion") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ApiVersion") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ResourceMetadata) MarshalJSON() ([]byte, error) {
+ type NoMethod ResourceMetadata
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type ResourcePoliciesScopedList struct {
// ResourcePolicies: A list of resourcePolicies contained in this scope.
ResourcePolicies []*ResourcePolicy `json:"resourcePolicies,omitempty"`
@@ -57903,7 +61838,7 @@ type ResourcePoliciesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ResourcePoliciesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -58167,7 +62102,7 @@ type ResourcePolicyAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ResourcePolicyAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -58534,7 +62469,7 @@ type ResourcePolicyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ResourcePolicyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -58909,7 +62844,10 @@ type ResourceStatus struct {
// information that the instance is consuming from.
ReservationConsumptionInfo *ResourceStatusReservationConsumptionInfo `json:"reservationConsumptionInfo,omitempty"`
Scheduling *ResourceStatusScheduling `json:"scheduling,omitempty"`
- UpcomingMaintenance *UpcomingMaintenance `json:"upcomingMaintenance,omitempty"`
+ // ShutdownDetails: Output only. [Output Only] Details about the instance
+ // stopping state.
+ ShutdownDetails *ResourceStatusShutdownDetails `json:"shutdownDetails,omitempty"`
+ UpcomingMaintenance *UpcomingMaintenance `json:"upcomingMaintenance,omitempty"`
// ForceSendFields is a list of field names (e.g. "EffectiveInstanceMetadata")
// to unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -58981,6 +62919,9 @@ func (s ResourceStatusEffectiveInstanceMetadata) MarshalJSON() ([]byte, error) {
// the host on which the VM is
// running.
type ResourceStatusPhysicalHostTopology struct {
+ // AdditionalAttributes: Output only. [Output Only] Additional location
+ // information of the running instance.
+ AdditionalAttributes *ResourceStatusPhysicalHostTopologyAdditionalAttributes `json:"additionalAttributes,omitempty"`
// Block: [Output Only] The ID of the block in which the running instance
// is
// located. Instances within the same block experience low network latency.
@@ -59000,15 +62941,15 @@ type ResourceStatusPhysicalHostTopology struct {
// latency
// than instances in the same block.
Subblock string `json:"subblock,omitempty"`
- // ForceSendFields is a list of field names (e.g. "Block") to unconditionally
- // include in API requests. By default, fields with empty or default values are
- // omitted from API requests. See
+ // ForceSendFields is a list of field names (e.g. "AdditionalAttributes") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "Block") to include in API
- // requests with the JSON null value. By default, fields with empty values are
- // omitted from API requests. See
+ // NullFields is a list of field names (e.g. "AdditionalAttributes") to include
+ // in API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
@@ -59018,6 +62959,33 @@ func (s ResourceStatusPhysicalHostTopology) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ResourceStatusPhysicalHostTopologyAdditionalAttributes: Additional location
+// information of the running instance.
+type ResourceStatusPhysicalHostTopologyAdditionalAttributes struct {
+ // AcceleratorTopologyIds: Output only. The IDs of the accelerator topologies
+ // the instance belongs to. For
+ // example
+ // The key will be topologies like "4x4", "2x2x2" and the value will be
+ // the location ID of the topologies.
+ AcceleratorTopologyIds map[string]string `json:"acceleratorTopologyIds,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "AcceleratorTopologyIds") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "AcceleratorTopologyIds") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ResourceStatusPhysicalHostTopologyAdditionalAttributes) MarshalJSON() ([]byte, error) {
+ type NoMethod ResourceStatusPhysicalHostTopologyAdditionalAttributes
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// ResourceStatusReservationConsumptionInfo: Reservation consumption
// information that the instance is consuming from.
type ResourceStatusReservationConsumptionInfo struct {
@@ -59025,6 +62993,14 @@ type ResourceStatusReservationConsumptionInfo struct {
// the reservation that this
// instance is consuming from.
ConsumedReservation string `json:"consumedReservation,omitempty"`
+ // ConsumedReservationBlock: Output only. [Output Only] The full resource name
+ // of the reservation block that this
+ // instance is consuming from.
+ ConsumedReservationBlock string `json:"consumedReservationBlock,omitempty"`
+ // ConsumedReservationSubBlock: Output only. [Output Only] The full resource
+ // name of the reservation sub-block that
+ // this instance is consuming from.
+ ConsumedReservationSubBlock string `json:"consumedReservationSubBlock,omitempty"`
// ForceSendFields is a list of field names (e.g. "ConsumedReservation") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -59049,6 +63025,13 @@ type ResourceStatusScheduling struct {
// must be a number between 1 and the number of availability domains
// specified in the spread placement policy attached to the instance.
AvailabilityDomain int64 `json:"availabilityDomain,omitempty"`
+ // GracefulShutdownTimestamp: Output only. Specifies the timestamp, when the
+ // instance will start graceful shutdown
+ // process, in RFC3339 text format.
+ GracefulShutdownTimestamp string `json:"gracefulShutdownTimestamp,omitempty"`
+ // TerminationTimestamp: Time in future when the instance will be terminated
+ // inRFC3339 text format.
+ TerminationTimestamp string `json:"terminationTimestamp,omitempty"`
// ForceSendFields is a list of field names (e.g. "AvailabilityDomain") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -59067,6 +63050,1144 @@ func (s ResourceStatusScheduling) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// ResourceStatusShutdownDetails: Specifies if the instance is in
+// `PENDING_STOP` state or there is a
+// programmed stop scheduled.
+type ResourceStatusShutdownDetails struct {
+ // MaxDuration: The duration for graceful shutdown. Only applicable
+ // when
+ // `stop_state=PENDING_STOP`.
+ MaxDuration *Duration `json:"maxDuration,omitempty"`
+ // RequestTimestamp: Past timestamp indicating the beginning of current
+ // `stopState` in RFC3339 text format.
+ RequestTimestamp string `json:"requestTimestamp,omitempty"`
+ // StopState: Current stopping state of the instance.
+ //
+ // Possible values:
+ // "PENDING_STOP" - The instance is gracefully shutting down.
+ // "STOPPING" - The instance is stopping.
+ StopState string `json:"stopState,omitempty"`
+ // TargetState: Target instance state.
+ //
+ // Possible values:
+ // "DELETED" - The instance will be deleted.
+ // "STOPPED" - The instance will be stopped.
+ TargetState string `json:"targetState,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "MaxDuration") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "MaxDuration") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ResourceStatusShutdownDetails) MarshalJSON() ([]byte, error) {
+ type NoMethod ResourceStatusShutdownDetails
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RiskDetails: Detailed insights and metrics about a detected reliability
+// risk.
+type RiskDetails struct {
+ // Duration: The duration of the risk since it was detected.
+ Duration string `json:"duration,omitempty"`
+ // GlobalDnsInsight: Insight details for global DNS risk.
+ GlobalDnsInsight *RiskDetailsGlobalDnsInsight `json:"globalDnsInsight,omitempty"`
+ // LastUpdateTimestamp: The last time the risk was updated.
+ LastUpdateTimestamp string `json:"lastUpdateTimestamp,omitempty"`
+ // Severity: The severity of the risk.
+ //
+ // Possible values:
+ // "CRITICAL" - Critical severity.
+ // "HIGH" - High severity.
+ // "LOW" - Low severity.
+ // "MEDIUM" - Medium severity.
+ // "SEVERITY_UNSPECIFIED" - No severity specified. The default value.
+ Severity string `json:"severity,omitempty"`
+ // Type: The type of risk.
+ //
+ // Possible values:
+ // "GLOBAL_DNS" - Risk type related to global DNS.
+ // "RISK_TYPE_UNSPECIFIED" - Default value. This value is unused.
+ Type string `json:"type,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Duration") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Duration") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RiskDetails) MarshalJSON() ([]byte, error) {
+ type NoMethod RiskDetails
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RiskDetailsGlobalDnsInsight: Detailed insights for a global DNS reliability
+// risk.
+type RiskDetailsGlobalDnsInsight struct {
+ // ProjectDefaultIsGlobalDns: Indicates whether the project's default DNS
+ // setting is global DNS.
+ ProjectDefaultIsGlobalDns bool `json:"projectDefaultIsGlobalDns,omitempty"`
+ // QueryObservationWindow: The observation window for the query counts.
+ QueryObservationWindow string `json:"queryObservationWindow,omitempty"`
+ // RiskyQueryCount: The number of queries that are risky. This is always less
+ // than or
+ // equal to total_query_count.
+ RiskyQueryCount int64 `json:"riskyQueryCount,omitempty,string"`
+ // TotalQueryCount: The total number of queries in the observation window.
+ TotalQueryCount int64 `json:"totalQueryCount,omitempty,string"`
+ // ForceSendFields is a list of field names (e.g. "ProjectDefaultIsGlobalDns")
+ // to unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ProjectDefaultIsGlobalDns") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RiskDetailsGlobalDnsInsight) MarshalJSON() ([]byte, error) {
+ type NoMethod RiskDetailsGlobalDnsInsight
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RiskRecommendation: Recommendation for mitigating a reliability risk,
+// including a reference URL.
+type RiskRecommendation struct {
+ // Content: Mitigation guide for the risk.
+ Content string `json:"content,omitempty"`
+ // ReferenceUrl: URL referencing a more detailed mitigation guide.
+ ReferenceUrl string `json:"referenceUrl,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Content") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Content") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RiskRecommendation) MarshalJSON() ([]byte, error) {
+ type NoMethod RiskRecommendation
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// Rollout: Rollout resource.
+//
+// A Rollout is a specific instance of a RolloutPlan. It represents a
+// single
+// execution of a strategy to roll out a specific resource. It also
+// provides
+// APIs to interact with the rollout.
+type Rollout struct {
+ // CancellationTime: Output only. The timestamp at which the Rollout was
+ // cancelled.
+ CancellationTime string `json:"cancellationTime,omitempty"`
+ // CompletionTime: Output only. The timestamp at which the Rollout was
+ // completed.
+ CompletionTime string `json:"completionTime,omitempty"`
+ // CreationTimestamp: Output only. [Output Only] Creation timestamp
+ // inRFC3339
+ // text format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+ // CurrentWaveNumber: Output only. The number of the currently running
+ // wave.
+ // Ex. 1
+ CurrentWaveNumber int64 `json:"currentWaveNumber,omitempty,string"`
+ // Description: An optional description of this resource. Provide this property
+ // when you
+ // create the resource.
+ Description string `json:"description,omitempty"`
+ // Etag: Output only. etag of the Rollout
+ // Ex. abc1234
+ Etag string `json:"etag,omitempty"`
+ // Id: Output only. [Output Only] The unique identifier for the resource. This
+ // identifier is
+ // defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+ // Kind: Output only. [Output Only] Type of the resource. Always
+ // compute#rollout
+ // for rollouts.
+ Kind string `json:"kind,omitempty"`
+ // Name: Name of the resource. Provided by the client when the resource is
+ // created.
+ // The name must be 1-63 characters long, and comply withRFC1035.
+ // Specifically, the name must be 1-63 characters long and match the
+ // regular
+ // expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+ // which means the first character must be a lowercase letter, and
+ // all
+ // following characters must be a dash, lowercase letter, or digit, except
+ // the last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+ // PauseTime: Output only. The timestamp at which the Rollout was paused.
+ PauseTime string `json:"pauseTime,omitempty"`
+ // ResumeTime: Output only. The timestamp at which the Rollout was resumed.
+ ResumeTime string `json:"resumeTime,omitempty"`
+ // RolloutEntity: Required. The resource being rolled out.
+ RolloutEntity *RolloutRolloutEntity `json:"rolloutEntity,omitempty"`
+ // RolloutPlan: Required. Rollout Plan used to model the Rollout.
+ // Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
+ RolloutPlan string `json:"rolloutPlan,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined fully-qualified URL for
+ // this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // SelfLinkWithId: Output only. [Output Only] Server-defined URL for this
+ // resource's resource id.
+ SelfLinkWithId string `json:"selfLinkWithId,omitempty"`
+ // State: Output only. The current state of the Rollout.
+ //
+ // Possible values:
+ // "CANCELLED" - The rollout is in a failure terminal state.
+ // "CANCELLING" - The rollout is being cancelled.
+ // "CANCEL_FAILED" - An attempted cancel operation was unsuccessful.
+ // "COMPLETED" - The rollout is in a successful terminal state.
+ // "COMPLETE_FAILED" - An attempted complete operation was unsuccessful.
+ // "COMPLETING" - The rollout is being marked as completed.
+ // "FAILED" - The rollout completed with failures.
+ // "PAUSED" - The rollout is paused.
+ // "PAUSE_FAILED" - An attempted pause operation was unsuccessful.
+ // "PAUSING" - The rollout is being paused.
+ // "PROCESSING" - A wave is being processed by the product.
+ // "READY" - The rollout has been successfully initialized and is ready to
+ // start.
+ // "RESUMING" - The rollout is being resumed after being paused.
+ // "ROLLBACK_WAVE_FAILED" - An attempted rollback operation failed to
+ // complete successfully.
+ // "ROLLING_BACK" - A wave rollback is in progress for this rollout.
+ // "STATE_UNSPECIFIED" - Undefined default state. Should never be exposed to
+ // users.
+ // "UNINITIALIZED" - The rollout has been created but is not yet ready to be
+ // started.
+ // "WAVE_FAILED" - The product failed to process the wave.
+ State string `json:"state,omitempty"`
+ // WaveDetails: Output only. Details about each wave of the rollout.
+ WaveDetails []*RolloutWaveDetails `json:"waveDetails,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "CancellationTime") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CancellationTime") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s Rollout) MarshalJSON() ([]byte, error) {
+ type NoMethod Rollout
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlan: RolloutPlan resource.
+//
+// A RolloutPlan is the customer-defined strategy to divide a large-scale
+// change
+// into smaller increments, referred to as "waves". Each wave targets a
+// specific
+// portion of the overall affected area and defines criteria that must be
+// met
+// before progressing to the subsequent wave.
+type RolloutPlan struct {
+ // CreationTimestamp: Output only. [Output Only] Creation timestamp
+ // inRFC3339
+ // text format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+ // Description: An optional description of this resource. Provide this property
+ // when you
+ // create the resource.
+ Description string `json:"description,omitempty"`
+ // Id: Output only. [Output Only] The unique identifier for the resource. This
+ // identifier is
+ // defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+ // Kind: Output only. [Output Only] Type of the resource. Always
+ // compute#rolloutPlan
+ // for rolloutPlans.
+ Kind string `json:"kind,omitempty"`
+ // LocationScope: The location scope of the rollout plan. If not specified, the
+ // location
+ // scope is considered as ZONAL.
+ //
+ // Possible values:
+ // "LOCATION_SCOPE_UNSPECIFIED" - Unspecified value. Considered as ZONAL.
+ // "REGIONAL" - Regional scope.
+ // "ZONAL" - Zonal scope.
+ LocationScope string `json:"locationScope,omitempty"`
+ // Name: Name of the resource. Provided by the client when the resource is
+ // created.
+ // The name must be 1-63 characters long, and comply withRFC1035.
+ // Specifically, the name must be 1-63 characters long and match the
+ // regular
+ // expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+ // which means the first character must be a lowercase letter, and
+ // all
+ // following characters must be a dash, lowercase letter, or digit, except
+ // the last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined fully-qualified URL for
+ // this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // SelfLinkWithId: Output only. [Output Only] Server-defined URL for this
+ // resource's resource id.
+ SelfLinkWithId string `json:"selfLinkWithId,omitempty"`
+ // Waves: Required. The waves included in this rollout plan.
+ Waves []*RolloutPlanWave `json:"waves,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "CreationTimestamp") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlan) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlan
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlanWave: A single wave in a rollout plan.
+type RolloutPlanWave struct {
+ // DisplayName: Optional. The display name of this wave of the rollout plan.
+ DisplayName string `json:"displayName,omitempty"`
+ // Number: Output only. The wave number.
+ Number int64 `json:"number,omitempty,string"`
+ // OrchestrationOptions: Optional. The orchestration options for this wave.
+ OrchestrationOptions *RolloutPlanWaveOrchestrationOptions `json:"orchestrationOptions,omitempty"`
+ // Selectors: Required. The selectors for this wave. There is a logical AND
+ // between each selector
+ // defined in a wave, so a resource must satisfy the criteria of *all*
+ // the
+ // specified selectors to be in scope for the wave.
+ Selectors []*RolloutPlanWaveSelector `json:"selectors,omitempty"`
+ // Validation: Required. The validation to be performed at the end of this
+ // wave.
+ Validation *RolloutPlanWaveValidation `json:"validation,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "DisplayName") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "DisplayName") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlanWave) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlanWave
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlanWaveOrchestrationOptions: Options to control the pace of
+// orchestration of a wave. These options are
+// required only if the resource being rolled out follows the
+// Orchestrated
+// pattern.
+type RolloutPlanWaveOrchestrationOptions struct {
+ // Delays: Optional. Delays, if any, to be added between batches of projects.
+ // We allow
+ // multiple Delays to be specified, letting users set separate delays
+ // between batches of projects corresponding to different locations and
+ // batches of projects corresponding to the same location.
+ Delays []*RolloutPlanWaveOrchestrationOptionsDelay `json:"delays,omitempty"`
+ // MaxConcurrentLocations: Optional. Maximum number of locations to be
+ // orchestrated in parallel.
+ MaxConcurrentLocations int64 `json:"maxConcurrentLocations,omitempty,string"`
+ // MaxConcurrentResourcesPerLocation: Optional. Maximum number of resources to
+ // be orchestrated per location in
+ // parallel.
+ MaxConcurrentResourcesPerLocation int64 `json:"maxConcurrentResourcesPerLocation,omitempty,string"`
+ // ForceSendFields is a list of field names (e.g. "Delays") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Delays") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlanWaveOrchestrationOptions) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlanWaveOrchestrationOptions
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlanWaveOrchestrationOptionsDelay: Options to control the delay, if
+// any, between batches of projects.
+type RolloutPlanWaveOrchestrationOptionsDelay struct {
+ // Delimiter: Optional. Controls whether the delay should only be added between
+ // batches of
+ // projects corresponding to different locations, or also between
+ // batches of projects corresponding to the same location.
+ //
+ // Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
+ //
+ // Possible values:
+ // "DELIMITER_BATCH" - The delay will also be added between batches of
+ // projects
+ // corresponding to the same location.
+ // "DELIMITER_LOCATION" - The delay will only be added between batches of
+ // projects
+ // corresponding to different locations.
+ // "DELIMITER_UNSPECIFIED" - No delay will be added between batches of
+ // projects. Processing will
+ // continue with the next batch as soon as the previous batch of LROs
+ // is done.
+ Delimiter string `json:"delimiter,omitempty"`
+ // Duration: Optional. The duration of the delay, if any, to be added between
+ // batches of
+ // projects. A zero duration corresponds to no delay.
+ Duration string `json:"duration,omitempty"`
+ // Type: Optional. Controls whether the specified duration is to be added at
+ // the end of
+ // each batch, or if the total processing time for each batch will be
+ // padded if needed to meet the specified duration.
+ //
+ // Must be set to TYPE_UNSPECIFIED if no delay is to be added.
+ //
+ // Possible values:
+ // "TYPE_MINIMUM" - The total processing time for each batch of projects will
+ // be padded
+ // if needed to meet the specified delay duration.
+ // "TYPE_OFFSET" - The specified delay will directly be added after each
+ // batch of
+ // projects as specified by the delimiter.
+ // "TYPE_UNSPECIFIED" - No delay will be added between batches of projects.
+ // Processing will
+ // continue with the next batch as soon as the previous batch of LROs
+ // is done.
+ Type string `json:"type,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Delimiter") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Delimiter") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlanWaveOrchestrationOptionsDelay) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlanWaveOrchestrationOptionsDelay
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlanWaveSelector: A selector which specifies what resource(s) are
+// included in a given wave.
+type RolloutPlanWaveSelector struct {
+ // LocationSelector: Optional. Roll out to resources by Cloud locations.
+ LocationSelector *RolloutPlanWaveSelectorLocationSelector `json:"locationSelector,omitempty"`
+ // ResourceHierarchySelector: Optional. Roll out to resources by Cloud Resource
+ // Manager resource hierarchy.
+ ResourceHierarchySelector *RolloutPlanWaveSelectorResourceHierarchySelector `json:"resourceHierarchySelector,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "LocationSelector") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "LocationSelector") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlanWaveSelector) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlanWaveSelector
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlanWaveSelectorLocationSelector: Roll out to resources by location.
+type RolloutPlanWaveSelectorLocationSelector struct {
+ // IncludedLocations: Optional. Example: "us-central1-a"
+ IncludedLocations []string `json:"includedLocations,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "IncludedLocations") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "IncludedLocations") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlanWaveSelectorLocationSelector) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlanWaveSelectorLocationSelector
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlanWaveSelectorResourceHierarchySelector: Roll out to resources by
+// Cloud Resource Manager resource hierarchy
+// nodes such as projects, folders, orgs.
+type RolloutPlanWaveSelectorResourceHierarchySelector struct {
+ // IncludedFolders: Optional. Format: "folders/{folder_id}"
+ IncludedFolders []string `json:"includedFolders,omitempty"`
+ // IncludedOrganizations: Optional. Format: "organizations/{organization_id}"
+ IncludedOrganizations []string `json:"includedOrganizations,omitempty"`
+ // IncludedProjects: Optional. Format: "projects/{project_id}"
+ IncludedProjects []string `json:"includedProjects,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "IncludedFolders") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "IncludedFolders") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlanWaveSelectorResourceHierarchySelector) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlanWaveSelectorResourceHierarchySelector
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlanWaveValidation: The validation to be performed before progressing
+// to the next wave.
+type RolloutPlanWaveValidation struct {
+ // TimeBasedValidationMetadata: Optional. Metadata required if type = "time".
+ TimeBasedValidationMetadata *RolloutPlanWaveValidationTimeBasedValidationMetadata `json:"timeBasedValidationMetadata,omitempty"`
+ // Type: Required. The type of the validation. If a type of validation is
+ // associated with
+ // a metadata object, the appropriate metadata field mapping to the
+ // validation type must be provided in the validation message. Possible
+ // values are in quotes below alongside an explanation:
+ // "manual": The system waits for an end-user approval API before
+ // progressing to the next wave.
+ // "time": The system waits for a user specified duration before
+ // progressing to the next wave. TimeBasedValidation must be provided.
+ Type string `json:"type,omitempty"`
+ // ForceSendFields is a list of field names (e.g.
+ // "TimeBasedValidationMetadata") to unconditionally include in API requests.
+ // By default, fields with empty or default values are omitted from API
+ // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
+ // for more details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "TimeBasedValidationMetadata") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlanWaveValidation) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlanWaveValidation
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlanWaveValidationTimeBasedValidationMetadata: Metadata required if
+// type = "time".
+type RolloutPlanWaveValidationTimeBasedValidationMetadata struct {
+ // WaitDuration: Optional. The duration that the system waits in between waves.
+ // This wait starts
+ // after all changes in the wave are rolled out.
+ WaitDuration string `json:"waitDuration,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "WaitDuration") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "WaitDuration") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlanWaveValidationTimeBasedValidationMetadata) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlanWaveValidationTimeBasedValidationMetadata
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlansListResponse: Contains a list of RolloutPlan resources.
+type RolloutPlansListResponse struct {
+ Etag string `json:"etag,omitempty"`
+ // Id: [Output Only] Unique identifier for the resource; defined by the server.
+ Id string `json:"id,omitempty"`
+ // Items: A list of RolloutPlan resources.
+ Items []*RolloutPlan `json:"items,omitempty"`
+ // NextPageToken: [Output Only] This token allows you to get the next page of
+ // results for
+ // list requests. If the number of results is larger thanmaxResults, use the
+ // nextPageToken as a value for
+ // the query parameter pageToken in the next list request.
+ // Subsequent list requests will have their own nextPageToken to
+ // continue paging through the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // Unreachables: Output only. [Output Only] Unreachable
+ // resources.
+ // end_interface: MixerListResponseWithEtagBuilder
+ Unreachables []string `json:"unreachables,omitempty"`
+ // Warning: [Output Only] Informational warning message.
+ Warning *RolloutPlansListResponseWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlansListResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlansListResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutPlansListResponseWarning: [Output Only] Informational warning
+// message.
+type RolloutPlansListResponseWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*RolloutPlansListResponseWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlansListResponseWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlansListResponseWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type RolloutPlansListResponseWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutPlansListResponseWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutPlansListResponseWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutRolloutEntity: Specifications of the resource to roll out.
+type RolloutRolloutEntity struct {
+ // OrchestratedEntity: Optional. Entity details for products using the
+ // Orchestrated Integration model.
+ OrchestratedEntity *RolloutRolloutEntityOrchestratedEntity `json:"orchestratedEntity,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "OrchestratedEntity") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "OrchestratedEntity") to include
+ // in API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutRolloutEntity) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutRolloutEntity
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutRolloutEntityOrchestratedEntity: This message is used if the resource
+// type follows the Orchestrated
+// integration model with ProgressiveRollout.
+type RolloutRolloutEntityOrchestratedEntity struct {
+ // ConflictBehavior: Required. Specifies the behavior of the Rollout if an out
+ // of band update is
+ // detected in a project during a Rollout. It can be one of the
+ // following
+ // values:
+ // 1) overwrite : Overwrite the local value with the rollout value.
+ // 2) no_overwrite : Do not overwrite the local value with the rollout
+ // value.
+ ConflictBehavior string `json:"conflictBehavior,omitempty"`
+ // OrchestrationAction: Required. Orchestration action during the Rollout. It
+ // can be one of the following
+ // values:
+ // 1) "update": Resources will be updated by the rollout.
+ // 2) "delete": Resources will be deleted by the rollout.
+ OrchestrationAction string `json:"orchestrationAction,omitempty"`
+ // OrchestrationSource: Required. Fully qualified resource name of the resource
+ // which contains the source
+ // of truth of the configuration being rolled out across
+ // locations/projects. For example, in the case of a global Rollout which
+ // is applied across regions, this contains the name of the global
+ // resource created by the user which contains a payload for a resource
+ // that is orchestrated across regions. This follows the following
+ // format:
+ // //.googleapis.com/projects//locations/global//
+ // e.g.
+ // //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
+ OrchestrationSource string `json:"orchestrationSource,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "ConflictBehavior") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ConflictBehavior") to include in
+ // API requests with the JSON null value. By default, fields with empty values
+ // are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutRolloutEntityOrchestratedEntity) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutRolloutEntityOrchestratedEntity
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutWaveDetails: Additional metadata about the status of each wave
+// provided by the server.
+type RolloutWaveDetails struct {
+ // OrchestratedWaveDetails: Output only. Additional details of the wave for
+ // products using the Orchestrated
+ // Integration model.
+ OrchestratedWaveDetails *RolloutWaveDetailsOrchestratedWaveDetails `json:"orchestratedWaveDetails,omitempty"`
+ // WaveDisplayName: Output only. Wave name.
+ // Ex. wave1
+ WaveDisplayName string `json:"waveDisplayName,omitempty"`
+ // WaveNumber: Output only. System generated number for the wave.
+ WaveNumber int64 `json:"waveNumber,omitempty,string"`
+ // ForceSendFields is a list of field names (e.g. "OrchestratedWaveDetails") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "OrchestratedWaveDetails") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutWaveDetails) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutWaveDetails
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutWaveDetailsOrchestratedWaveDetails: Details of the wave for products
+// using the Orchestrated integration
+// model.
+type RolloutWaveDetailsOrchestratedWaveDetails struct {
+ // CompletedResourcesCount: Output only. Resource completed so far.
+ CompletedResourcesCount int64 `json:"completedResourcesCount,omitempty,string"`
+ // EstimatedCompletionTime: Output only. Estimated timestamp at which the wave
+ // will complete. Extrapolated from
+ // current progress.
+ EstimatedCompletionTime string `json:"estimatedCompletionTime,omitempty"`
+ // EstimatedTotalResourcesCount: Output only. Estimated total count of
+ // resources.
+ EstimatedTotalResourcesCount int64 `json:"estimatedTotalResourcesCount,omitempty,string"`
+ // FailedLocations: Output only. Locations that failed during orchestration,
+ // and ProgressiveRollout
+ // stopped retrying. There may be some successful resources rolled out in
+ // the wave as the location may have failed later in the Rollout.
+ FailedLocations []string `json:"failedLocations,omitempty"`
+ // FailedResourcesCount: Output only. Resources failed.
+ FailedResourcesCount int64 `json:"failedResourcesCount,omitempty,string"`
+ // LocationStatus: Output only. Status of each location in the wave. Map keys
+ // (locations) must be
+ // specified like "us-east1" or "asia-west1-a".
+ LocationStatus map[string]RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus `json:"locationStatus,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "CompletedResourcesCount") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "CompletedResourcesCount") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutWaveDetailsOrchestratedWaveDetails) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutWaveDetailsOrchestratedWaveDetails
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus: Represents the
+// status of a location in a wave.
+type RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus struct {
+ // State: Output only. Location state of the wave.
+ //
+ // Possible values:
+ // "STATE_FAILED" - Work on the wave failed.
+ // "STATE_IN_PROGRESS" - Work on the wave is in progress.
+ // "STATE_PENDING" - Work on the wave is pending.
+ // "STATE_SKIPPED" - Work on the wave was canceled or skipped.
+ // "STATE_SUCCEEDED" - Work on the wave succeeded.
+ // "STATE_UNSPECIFIED" - Undefined default state. Should never be exposed to
+ // users.
+ State string `json:"state,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "State") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "State") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type RolloutsListResponse struct {
+ Etag string `json:"etag,omitempty"`
+ // Id: [Output Only] Unique identifier for the resource; defined by the server.
+ Id string `json:"id,omitempty"`
+ // Items: A list of Rollout resources.
+ Items []*Rollout `json:"items,omitempty"`
+ // NextPageToken: [Output Only] This token allows you to get the next page of
+ // results for
+ // list requests. If the number of results is larger thanmaxResults, use the
+ // nextPageToken as a value for
+ // the query parameter pageToken in the next list request.
+ // Subsequent list requests will have their own nextPageToken to
+ // continue paging through the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // Unreachables: Output only. [Output Only] Unreachable
+ // resources.
+ // end_interface: MixerListResponseWithEtagBuilder
+ Unreachables []string `json:"unreachables,omitempty"`
+ // Warning: [Output Only] Informational warning message.
+ Warning *RolloutsListResponseWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutsListResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutsListResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RolloutsListResponseWarning: [Output Only] Informational warning message.
+type RolloutsListResponseWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*RolloutsListResponseWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutsListResponseWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutsListResponseWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type RolloutsListResponseWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RolloutsListResponseWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod RolloutsListResponseWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// Route: Represents a Route resource.
//
// A route defines a path from VM instances in the VPC network to a
@@ -59371,7 +64492,7 @@ type RouteWarnings struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RouteWarningsData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -59593,7 +64714,7 @@ type RouteListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RouteListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -59820,6 +64941,8 @@ type Router struct {
Name string `json:"name,omitempty"`
// Nats: A list of NAT services created in this router.
Nats []*RouterNat `json:"nats,omitempty"`
+ // NccGateway: URI of the ncc_gateway to which this router associated.
+ NccGateway string `json:"nccGateway,omitempty"`
// Network: URI of the network to which this router belongs.
Network string `json:"network,omitempty"`
// Params: Input only. [Input Only] Additional params passed with the request,
@@ -60006,7 +65129,7 @@ type RouterAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RouterAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -60648,7 +65771,7 @@ type RouterListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RouterListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -60766,6 +65889,13 @@ type RouterNat struct {
// must be valid static external IPs that have been assigned to the NAT.
// These IPs should be used for updating/patching a NAT only.
DrainNatIps []string `json:"drainNatIps,omitempty"`
+ // EffectiveTcpTimeWaitTimeoutSec: Output only. Effective timeout (in seconds)
+ // for TCP connections that are in TIME_WAIT
+ // state. This value is equal to tcp_time_wait_timeout_sec.
+ // If tcp_time_wait_timeout_sec isn't set, the effective timeout is 30s
+ // or
+ // 120s. The field is output only.
+ EffectiveTcpTimeWaitTimeoutSec int64 `json:"effectiveTcpTimeWaitTimeoutSec,omitempty"`
// EnableDynamicPortAllocation: Enable Dynamic Port Allocation.
//
//
@@ -61013,13 +66143,18 @@ type RouterNatRule struct {
//
// `destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'`
//
- // The following example is a valid match expression for private
- // NAT:
+ // The following examples are valid match expressions for private NAT:
//
+ // (NAT 44)
// `nexthop.hub
// ==
// '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hu
// bs/hub-1'`
+ //
+ // `nexthop.is_hybrid`
+ //
+ // (NAT 64)
+ // `isIPv6(source.ip)`
Match string `json:"match,omitempty"`
// RuleNumber: An integer uniquely identifying a rule in the list. The rule
// number
@@ -61214,6 +66349,8 @@ type RouterStatus struct {
BestRoutesForRouter []*Route `json:"bestRoutesForRouter,omitempty"`
BgpPeerStatus []*RouterStatusBgpPeerStatus `json:"bgpPeerStatus,omitempty"`
NatStatus []*RouterStatusNatStatus `json:"natStatus,omitempty"`
+ // NccGateway: URI of the ncc_gateway to which this router associated.
+ NccGateway string `json:"nccGateway,omitempty"`
// Network: URI of the network to which this router belongs.
Network string `json:"network,omitempty"`
// ForceSendFields is a list of field names (e.g. "BestRoutes") to
@@ -61445,6 +66582,31 @@ func (s RouterStatusResponse) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+type RoutersGetNamedSetResponse struct {
+ // Etag: end_interface: MixerGetResponseWithEtagBuilder
+ Etag string `json:"etag,omitempty"`
+ Resource *NamedSet `json:"resource,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RoutersGetNamedSetResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod RoutersGetNamedSetResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type RoutersGetRoutePolicyResponse struct {
Resource *RoutePolicy `json:"resource,omitempty"`
@@ -61599,7 +66761,7 @@ type RoutersListBgpRoutesWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RoutersListBgpRoutesWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -61653,6 +66815,191 @@ func (s RoutersListBgpRoutesWarningData) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+type RoutersListNamedSets struct {
+ Etag string `json:"etag,omitempty"`
+ // Id: [Output Only] The unique identifier for the resource. This identifier
+ // is
+ // defined by the server.
+ Id string `json:"id,omitempty"`
+ // Kind: Output only. [Output Only] Type of resource.
+ // Alwayscompute#routersListNamedSets for lists of named sets.
+ Kind string `json:"kind,omitempty"`
+ // NextPageToken: [Output Only] This token allows you to get the next page of
+ // results for
+ // list requests. If the number of results is larger thanmaxResults, use the
+ // nextPageToken as a value for
+ // the query parameter pageToken in the next list request.
+ // Subsequent list requests will have their own nextPageToken to
+ // continue paging through the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ // Result: [Output Only] A list of named sets.
+ Result []*NamedSet `json:"result,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // Unreachables: Output only. [Output Only] Unreachable resources.
+ Unreachables []string `json:"unreachables,omitempty"`
+ // Warning: [Output Only] Informational warning message.
+ Warning *RoutersListNamedSetsWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RoutersListNamedSets) MarshalJSON() ([]byte, error) {
+ type NoMethod RoutersListNamedSets
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// RoutersListNamedSetsWarning: [Output Only] Informational warning message.
+type RoutersListNamedSetsWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*RoutersListNamedSetsWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RoutersListNamedSetsWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod RoutersListNamedSetsWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type RoutersListNamedSetsWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s RoutersListNamedSetsWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod RoutersListNamedSetsWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type RoutersListRoutePolicies struct {
Etag string `json:"etag,omitempty"`
// Id: [Output Only] The unique identifier for the resource. This identifier
@@ -61785,7 +67132,7 @@ type RoutersListRoutePoliciesWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RoutersListRoutePoliciesWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -61974,7 +67321,7 @@ type RoutersScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*RoutersScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -62334,6 +67681,11 @@ type Scheduling struct {
// must be a number between 1 and the number of availability domains
// specified in the spread placement policy attached to the instance.
AvailabilityDomain int64 `json:"availabilityDomain,omitempty"`
+ // ExposeHostTopology: This optional flag exposes the hashed physical host ID
+ // in the
+ // ResourceStatus resource of the VM.
+ ExposeHostTopology bool `json:"exposeHostTopology,omitempty"`
+ GracefulShutdown *SchedulingGracefulShutdown `json:"gracefulShutdown,omitempty"`
// HostErrorTimeoutSeconds: Specify the time in seconds for host error
// detection, the value must be
// within the range of [90, 330] with the increment of 30, if unset,
@@ -62404,6 +67756,11 @@ type Scheduling struct {
// therefore, in a `TERMINATED` state. SeeInstance Life
// Cycle for more information on the possible instance states.
Preemptible bool `json:"preemptible,omitempty"`
+ // PreemptionNoticeDuration: Specifies the Metadata Service preemption notice
+ // duration before the GCE ACPI G2
+ // Soft Off signal is triggered for Spot VMs only. If not specified,
+ // there will be no wait before the G2 Soft Off signal is triggered.
+ PreemptionNoticeDuration *Duration `json:"preemptionNoticeDuration,omitempty"`
// ProvisioningModel: Specifies the provisioning model of the instance.
//
// Possible values:
@@ -62443,6 +67800,35 @@ func (s Scheduling) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// SchedulingGracefulShutdown: The configuration for gracefully shutting down
+// the instance.
+type SchedulingGracefulShutdown struct {
+ // Enabled: Opts-in for graceful shutdown.
+ Enabled bool `json:"enabled,omitempty"`
+ // MaxDuration: The time allotted for the instance to gracefully shut down. If
+ // the
+ // graceful shutdown isn't complete after this time, then the
+ // instance
+ // transitions to the STOPPING state.
+ MaxDuration *Duration `json:"maxDuration,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Enabled") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s SchedulingGracefulShutdown) MarshalJSON() ([]byte, error) {
+ type NoMethod SchedulingGracefulShutdown
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// SchedulingNodeAffinity: Node Affinity: the configuration of desired nodes
// onto which this Instance
//
@@ -62664,7 +68050,7 @@ type SecurityPoliciesAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SecurityPoliciesAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -62852,7 +68238,7 @@ type SecurityPoliciesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SecurityPoliciesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -63376,20 +68762,50 @@ func (s SecurityPolicyAssociation) MarshalJSON() ([]byte, error) {
}
type SecurityPolicyDdosProtectionConfig struct {
+ // Possible values:
+ // "DDOS_ADAPTIVE_PROTECTION_UNSPECIFIED"
+ // "DISABLED"
+ // "ENABLED"
+ // "PREVIEW"
+ // "UNSPECIFIED_ADAPTIVE_PROTECTION"
+ DdosAdaptiveProtection string `json:"ddosAdaptiveProtection,omitempty"`
+ // DdosImpactedBaselineThreshold: DDoS Protection for Network Load Balancers
+ // (and VMs with public IPs)
+ // builds DDoS mitigations that minimize collateral damage. It quantifies
+ // this as the fraction of a non-abuse baseline that's
+ // inadvertently
+ // blocked.
+ //
+ // Rules whose collateral damage exceeds ddosImpactedBaselineThreshold will
+ // not be deployed. Using a lower value will prioritize keeping
+ // collateral
+ // damage low, possibly at the cost of its effectiveness in rate limiting
+ // some or all of the attack. It should typically be unset, so Advanced
+ // DDoS
+ // (and Adaptive Protection) uses the best mitigation it can find. Setting
+ // the threshold is advised if there are logs for false positive
+ // detections
+ // with high collateral damage, and will cause Advanced DDoS to attempt to
+ // find a less aggressive rule that satisfies the constraint. If a
+ // suitable
+ // rule cannot be found, the system falls back to either no mitigation
+ // for
+ // smaller attacks or broader network throttles for larger ones.
+ DdosImpactedBaselineThreshold float64 `json:"ddosImpactedBaselineThreshold,omitempty"`
// Possible values:
// "ADVANCED"
// "ADVANCED_PREVIEW"
// "STANDARD"
DdosProtection string `json:"ddosProtection,omitempty"`
- // ForceSendFields is a list of field names (e.g. "DdosProtection") to
+ // ForceSendFields is a list of field names (e.g. "DdosAdaptiveProtection") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "DdosProtection") to include in
- // API requests with the JSON null value. By default, fields with empty values
- // are omitted from API requests. See
+ // NullFields is a list of field names (e.g. "DdosAdaptiveProtection") to
+ // include in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
@@ -63399,6 +68815,20 @@ func (s SecurityPolicyDdosProtectionConfig) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+func (s *SecurityPolicyDdosProtectionConfig) UnmarshalJSON(data []byte) error {
+ type NoMethod SecurityPolicyDdosProtectionConfig
+ var s1 struct {
+ DdosImpactedBaselineThreshold gensupport.JSONFloat64 `json:"ddosImpactedBaselineThreshold"`
+ *NoMethod
+ }
+ s1.NoMethod = (*NoMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.DdosImpactedBaselineThreshold = float64(s1.DdosImpactedBaselineThreshold)
+ return nil
+}
+
type SecurityPolicyList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the server.
Id string `json:"id,omitempty"`
@@ -63523,7 +68953,7 @@ type SecurityPolicyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SecurityPolicyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -64051,6 +69481,10 @@ func (s SecurityPolicyRulePreconfiguredWafConfig) MarshalJSON() ([]byte, error)
}
type SecurityPolicyRulePreconfiguredWafConfigExclusion struct {
+ // RequestBodiesToExclude: A list of request body fields to be excluded from
+ // inspection during
+ // preconfigured WAF evaluation.
+ RequestBodiesToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestBodiesToExclude,omitempty"`
// RequestCookiesToExclude: A list of request cookie names whose value will be
// excluded from
// inspection during preconfigured WAF evaluation.
@@ -64076,13 +69510,13 @@ type SecurityPolicyRulePreconfiguredWafConfigExclusion struct {
TargetRuleIds []string `json:"targetRuleIds,omitempty"`
// TargetRuleSet: Target WAF rule set to apply the preconfigured WAF exclusion.
TargetRuleSet string `json:"targetRuleSet,omitempty"`
- // ForceSendFields is a list of field names (e.g. "RequestCookiesToExclude") to
+ // ForceSendFields is a list of field names (e.g. "RequestBodiesToExclude") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
- // NullFields is a list of field names (e.g. "RequestCookiesToExclude") to
+ // NullFields is a list of field names (e.g. "RequestBodiesToExclude") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
@@ -64186,16 +69620,20 @@ type SecurityPolicyRuleRateLimitOptions struct {
// which is resolved based on "userIpRequestHeaders" configured with the
// security policy. If there is no "userIpRequestHeaders" configuration or
// an IP address cannot be resolved from it, the key type defaults toIP.
+ // - ASN: The autonomous system number of the originating
+ // client. If not available, the key type defaults toALL.
+ // - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
+ // client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
+ // key type defaults to ALL.
+ //
//
- // - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
- // client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
- // key type defaults to ALL.
// For "fairshare" action, this value is limited to ALL i.e. a single
// rate
// limit threshold is enforced for all the requests matching the rule.
//
// Possible values:
// "ALL"
+ // "ASN"
// "HTTP_COOKIE"
// "HTTP_HEADER"
// "HTTP_PATH"
@@ -64309,13 +69747,15 @@ type SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig struct {
// security policy. If there is no "userIpRequestHeaders" configuration
// or an IP address cannot be resolved from it, the key type defaults toIP.
//
- //
- // - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
- // client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
- // key type defaults to ALL.
+ // - ASN: The autonomous system number of the originating
+ // client. If not available, the key type defaults toALL.
+ // - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
+ // client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
+ // key type defaults to ALL.
//
// Possible values:
// "ALL"
+ // "ASN"
// "HTTP_COOKIE"
// "HTTP_HEADER"
// "HTTP_PATH"
@@ -64712,6 +70152,10 @@ type ServiceAttachment struct {
// which
// cannot be a dash.
Name string `json:"name,omitempty"`
+ // NatIpsPerEndpoint: The number of NAT IP addresses to be allocated per
+ // connected endpoint.
+ // If not specified, the default value is 1.
+ NatIpsPerEndpoint int64 `json:"natIpsPerEndpoint,omitempty"`
// NatSubnets: An array of URLs where each entry is the URL of a subnet
// provided
// by the service producer to use for NAT in this service attachment.
@@ -64926,7 +70370,7 @@ type ServiceAttachmentAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ServiceAttachmentAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -65186,7 +70630,7 @@ type ServiceAttachmentListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ServiceAttachmentListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -65351,7 +70795,7 @@ type ServiceAttachmentsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ServiceAttachmentsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -65908,13 +71352,15 @@ type Snapshot struct {
// snapshot
// creation/deletion.
StorageBytes int64 `json:"storageBytes,omitempty,string"`
- // StorageBytesStatus: Output only. [Output Only] An indicator whether
- // storageBytes is in a
+ // StorageBytesStatus: Output only. [Deprecated] Instead, check the
+ // storageBytes field. After
+ // snapshot creation, the storageBytesStatus field is alwaysUP_TO_DATE.
+ // [Output Only] An indicator whether storageBytes is in a
// stable state or it is being adjusted as a result of shared
// storage
- // reallocation. This status can either be UPDATING, meaning
- // the size of the snapshot is being updated, or UP_TO_DATE,
- // meaning the size of the snapshot is up-to-date.
+ // reallocation. This status can either be unset, meaning the snapshot is
+ // being created, or UP_TO_DATE, meaning the size of the snapshot
+ // is up-to-date.
//
// Possible values:
// "UPDATING"
@@ -66114,7 +71560,7 @@ type SnapshotListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SnapshotListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -66174,8 +71620,9 @@ type SnapshotParams struct {
// snapshot. Tag keys and values have
// the same definition as resource
// manager tags. Keys and values can be either in numeric format,
- // such as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced
- // format such as `{org_id|project_id}/{tag_key_short_name}`
+ // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or
+ // in
+ // namespaced format such as `{org_id|project_id}/{tag_key_short_name}`
// and
// `{tag_value_short_name}`. The field is ignored (both PUT &
// PATCH) when empty.
@@ -66797,7 +72244,7 @@ type SslCertificateAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SslCertificateAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -66977,7 +72424,7 @@ type SslCertificateListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SslCertificateListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -67229,7 +72676,7 @@ type SslCertificatesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SslCertificatesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -67413,7 +72860,7 @@ type SslPoliciesAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SslPoliciesAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -67594,7 +73041,7 @@ type SslPoliciesListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SslPoliciesListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -67782,7 +73229,7 @@ type SslPoliciesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SslPoliciesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -67903,6 +73350,24 @@ type SslPolicy struct {
// a
// dash.
Name string `json:"name,omitempty"`
+ // PostQuantumKeyExchange: One of DEFAULT, ENABLED, orDEFERRED. Controls
+ // whether the load balancer negotiates
+ // X25519MLKEM768 key exchange when clients advertise support for it. When
+ // set
+ // to DEFAULT, or if no SSL Policy is attached to the target
+ // proxy, the load balancer disallows X25519MLKEM768 key exchange
+ // before
+ // October 2026, and allows it afterward. When set to ENABLED,
+ // the load balancer allows X25519MLKEM768 key exchange. When set toDEFERRED,
+ // the load balancer disallows X25519MLKEM768 key
+ // exchange until October 2027, and allows it afterward.
+ //
+ // Possible values:
+ // "DEFAULT" - Default behavior: disabled until October 2026, enabled
+ // afterward.
+ // "DEFERRED" - Disabled until October 2027, enabled afterward.
+ // "ENABLED" - Enabled now.
+ PostQuantumKeyExchange string `json:"postQuantumKeyExchange,omitempty"`
// Profile: Profile specifies the set of SSL features that can be used by the
// load
// balancer when negotiating SSL with clients. This can be one ofCOMPATIBLE,
@@ -68044,7 +73509,7 @@ type SslPolicyWarnings struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SslPolicyWarningsData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -68099,9 +73564,6 @@ func (s SslPolicyWarningsData) MarshalJSON() ([]byte, error) {
}
type SslPolicyReference struct {
- // SslPolicy: URL of the SSL policy resource. Set this to empty string to clear
- // any
- // existing SSL policy associated with the target proxy resource.
SslPolicy string `json:"sslPolicy,omitempty"`
// ForceSendFields is a list of field names (e.g. "SslPolicy") to
// unconditionally include in API requests. By default, fields with empty or
@@ -68299,8 +73761,8 @@ type StoragePool struct {
// when you
// create the resource.
Description string `json:"description,omitempty"`
- // ExapoolProvisionedCapacityGb: Output only. [Output Only] Provisioned
- // capacities for each SKU for this Exapool in GiB
+ // ExapoolProvisionedCapacityGb: Provisioned capacities for each SKU for this
+ // Exapool in GiB
ExapoolProvisionedCapacityGb *StoragePoolExapoolProvisionedCapacityGb `json:"exapoolProvisionedCapacityGb,omitempty"`
// Id: Output only. [Output Only] The unique identifier for the resource. This
// identifier is
@@ -68375,6 +73837,8 @@ type StoragePool struct {
// SelfLinkWithId: Output only. [Output Only] Server-defined URL for this
// resource's resource id.
SelfLinkWithId string `json:"selfLinkWithId,omitempty"`
+ // ShareSettings: Share settings for the storage pool.
+ ShareSettings *StoragePoolShareSettings `json:"shareSettings,omitempty"`
// State: Output only. [Output Only] The status of storage pool creation.
//
//
@@ -68552,7 +74016,7 @@ type StoragePoolAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*StoragePoolAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -68827,7 +74291,7 @@ type StoragePoolListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*StoragePoolListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -69015,7 +74479,7 @@ type StoragePoolListDisksWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*StoragePoolListDisksWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -69075,8 +74539,9 @@ type StoragePoolParams struct {
// storage pool. Tag keys and values
// have the same definition as resource
// manager tags. Keys and values can be either in numeric format,
- // such as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced
- // format such as `{org_id|project_id}/{tag_key_short_name}`
+ // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or
+ // in
+ // namespaced format such as `{org_id|project_id}/{tag_key_short_name}`
// and
// `{tag_value_short_name}`. The field is ignored (both PUT &
// PATCH) when empty.
@@ -69175,6 +74640,53 @@ func (s StoragePoolResourceStatus) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// StoragePoolShareSettings: Share settings for the storage pool.
+type StoragePoolShareSettings struct {
+ // ProjectMap: A map of project id and project config.
+ ProjectMap map[string]StoragePoolShareSettingsProjectConfig `json:"projectMap,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "ProjectMap") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ProjectMap") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s StoragePoolShareSettings) MarshalJSON() ([]byte, error) {
+ type NoMethod StoragePoolShareSettings
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// StoragePoolShareSettingsProjectConfig: Config for each project in the share
+// settings.
+type StoragePoolShareSettingsProjectConfig struct {
+ // ProjectId: The project ID, should be same as the key of this project config
+ // in the
+ // parent map.
+ ProjectId string `json:"projectId,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "ProjectId") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "ProjectId") to include in API
+ // requests with the JSON null value. By default, fields with empty values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s StoragePoolShareSettingsProjectConfig) MarshalJSON() ([]byte, error) {
+ type NoMethod StoragePoolShareSettingsProjectConfig
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type StoragePoolType struct {
// CreationTimestamp: [Output Only] Creation timestamp inRFC3339
// text format.
@@ -69370,7 +74882,7 @@ type StoragePoolTypeAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*StoragePoolTypeAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -69551,7 +75063,7 @@ type StoragePoolTypeListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*StoragePoolTypeListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -69718,7 +75230,7 @@ type StoragePoolTypesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*StoragePoolTypesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -69884,7 +75396,7 @@ type StoragePoolsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*StoragePoolsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -70161,6 +75673,17 @@ type Subnetwork struct {
//
// Possible values:
// "ARP_ALL_RANGES" - All ranges assigned to the VM NIC will respond to ARP.
+ // "ARP_BROADCAST_PRIMARY_RANGE" - VMs will receive an ARP response from a VM
+ // instance owning the target IP
+ // address within the subnetwork's primary CIDR range, if such a VM
+ // instance
+ // exists and is running.
+ // "ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING" - Combines
+ // ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
+ // mapping between IP addresses and custom MAC addresses of instances and
+ // use of it to set the correct destination MAC address. If this option
+ // is
+ // chosen, the subnetwork must have /24 or a smaller CIDR range.
// "ARP_PRIMARY_RANGE" - Only the primary range of the VM NIC will respond to
// ARP.
ResolveSubnetMask string `json:"resolveSubnetMask,omitempty"`
@@ -70379,7 +75902,7 @@ type SubnetworkAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SubnetworkAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -70561,7 +76084,7 @@ type SubnetworkListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SubnetworkListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -70761,6 +76284,21 @@ type SubnetworkSecondaryRange struct {
// `ipCollection`
// field.
IpCidrRange string `json:"ipCidrRange,omitempty"`
+ // IpCollection: Reference to a Public Delegated Prefix (PDP) for BYOIP.
+ // This field should be specified for configuring BYOGUA internal
+ // IPv6
+ // secondary range.
+ // When specified along with the ip_cidr_range, the ip_cidr_range must
+ // lie
+ // within the PDP referenced by the `ipCollection` field.
+ // When specified without the ip_cidr_range, the range is auto-allocated
+ // from the PDP referenced by the `ipCollection` field.
+ IpCollection string `json:"ipCollection,omitempty"`
+ // Possible values:
+ // "IPV4"
+ // "IPV6"
+ // "IP_VERSION_UNSPECIFIED" - Treated as IPV4 for backward-compatibility.
+ IpVersion string `json:"ipVersion,omitempty"`
// RangeName: The name associated with this subnetwork secondary range, used
// when adding
// an alias IP/IPv6 range to a VM instance.
@@ -71005,7 +76543,7 @@ type SubnetworksScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SubnetworksScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -71168,7 +76706,7 @@ type SubnetworksScopedWarningWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*SubnetworksScopedWarningWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -71633,7 +77171,7 @@ type TargetGrpcProxyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetGrpcProxyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -71798,7 +77336,7 @@ type TargetHttpProxiesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetHttpProxiesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -72142,7 +77680,7 @@ type TargetHttpProxyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetHttpProxyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -72307,7 +77845,7 @@ type TargetHttpsProxiesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetHttpsProxiesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -72868,7 +78406,7 @@ type TargetHttpsProxyAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetHttpsProxyAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -73050,7 +78588,7 @@ type TargetHttpsProxyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetHttpsProxyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -73327,7 +78865,7 @@ type TargetInstanceAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetInstanceAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -73507,7 +79045,7 @@ type TargetInstanceListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetInstanceListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -73672,7 +79210,7 @@ type TargetInstancesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetInstancesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -73738,7 +79276,8 @@ type TargetPool struct {
// applicable only when
// the containing target pool is serving a forwarding rule as the primary
// pool, and its failoverRatio field is properly set to a value
- // between [0, 1].backupPool and failoverRatio together define
+ // between [0, 1].
+ // backupPool and failoverRatio together define
// the fallback behavior of the primary target pool: if the ratio of
// the
// healthy instances in the primary pool is at or belowfailoverRatio, traffic
@@ -74036,7 +79575,7 @@ type TargetPoolAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetPoolAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -74245,7 +79784,7 @@ type TargetPoolListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetPoolListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -74510,7 +80049,7 @@ type TargetPoolsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetPoolsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -74901,7 +80440,7 @@ type TargetSslProxyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetSslProxyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -75066,7 +80605,7 @@ type TargetTcpProxiesScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetTcpProxiesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -75192,6 +80731,15 @@ type TargetTcpProxy struct {
// Kind: Output only. [Output Only] Type of the resource.
// Alwayscompute#targetTcpProxy for target TCP proxies.
Kind string `json:"kind,omitempty"`
+ // LoadBalancingScheme: Specifies the type of load balancing scheme used by
+ // this target proxy.
+ //
+ // Possible values:
+ // "EXTERNAL"
+ // "EXTERNAL_MANAGED"
+ // "INTERNAL_MANAGED"
+ // "LOAD_BALANCING_SCHEME_UNSPECIFIED"
+ LoadBalancingScheme string `json:"loadBalancingScheme,omitempty"`
// Name: Name of the resource. Provided by the client when the resource is
// created.
// The name must be 1-63 characters long, and comply withRFC1035.
@@ -75387,7 +80935,7 @@ type TargetTcpProxyAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetTcpProxyAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -75567,7 +81115,7 @@ type TargetTcpProxyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetTcpProxyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -75856,7 +81404,7 @@ type TargetVpnGatewayAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetVpnGatewayAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -76037,7 +81585,7 @@ type TargetVpnGatewayListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetVpnGatewayListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -76238,7 +81786,7 @@ type TargetVpnGatewaysScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*TargetVpnGatewaysScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -76388,6 +81936,32 @@ func (s TestPermissionsResponse) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// TimeZone: Represents a time zone from the
+// IANA Time Zone Database (https://www.iana.org/time-zones).
+type TimeZone struct {
+ // Id: IANA Time Zone Database time zone. For example "America/New_York".
+ Id string `json:"id,omitempty"`
+ // Version: Optional. IANA Time Zone Database version number. For example
+ // "2019a".
+ Version string `json:"version,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Id") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Id") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s TimeZone) MarshalJSON() ([]byte, error) {
+ type NoMethod TimeZone
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type Uint128 struct {
High uint64 `json:"high,omitempty,string"`
Low uint64 `json:"low,omitempty,string"`
@@ -76839,7 +82413,7 @@ type UrlMapListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*UrlMapListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -77157,7 +82731,7 @@ type UrlMapsAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*UrlMapsAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -77322,7 +82896,7 @@ type UrlMapsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*UrlMapsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -77500,6 +83074,9 @@ type UrlRewrite struct {
//
// Only one of path_prefix_rewrite orpath_template_rewrite may be specified.
PathTemplateRewrite string `json:"pathTemplateRewrite,omitempty"`
+ // RegexRewrite: The regex rewrite to be applied to the URL. Only one
+ // ofpathPrefixRewrite, pathTemplateRewrite, orregexRewrite may be specified.
+ RegexRewrite *RegexRewrite `json:"regexRewrite,omitempty"`
// ForceSendFields is a list of field names (e.g. "HostRewrite") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
@@ -77784,7 +83361,7 @@ type UsableSubnetworksAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*UsableSubnetworksAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -78137,7 +83714,7 @@ type VmEndpointNatMappingsListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*VmEndpointNatMappingsListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -78191,6 +83768,172 @@ func (s VmEndpointNatMappingsListWarningData) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+type VmExtensionPoliciesScopedList struct {
+ // VmExtensionPolicies: List of VmExtensionPolicy resources contained in this
+ // scope.
+ VmExtensionPolicies []*VmExtensionPolicy `json:"vmExtensionPolicies,omitempty"`
+ // Warning: Informational warning which replaces the list of
+ // backend services when the list is empty.
+ Warning *VmExtensionPoliciesScopedListWarning `json:"warning,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "VmExtensionPolicies") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "VmExtensionPolicies") to include
+ // in API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s VmExtensionPoliciesScopedList) MarshalJSON() ([]byte, error) {
+ type NoMethod VmExtensionPoliciesScopedList
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// VmExtensionPoliciesScopedListWarning: Informational warning which replaces
+// the list of
+// backend services when the list is empty.
+type VmExtensionPoliciesScopedListWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*VmExtensionPoliciesScopedListWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s VmExtensionPoliciesScopedListWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod VmExtensionPoliciesScopedListWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type VmExtensionPoliciesScopedListWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s VmExtensionPoliciesScopedListWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod VmExtensionPoliciesScopedListWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// VmExtensionPolicy: Represents a VM extension policy.
type VmExtensionPolicy struct {
// CreationTimestamp: Output only. [Output Only] Creation timestamp
@@ -78285,6 +84028,194 @@ func (s VmExtensionPolicy) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+// VmExtensionPolicyAggregatedListResponse: Response for the aggregated list of
+// VM extension policies.
+type VmExtensionPolicyAggregatedListResponse struct {
+ Etag string `json:"etag,omitempty"`
+ // Id: [Output Only] Unique identifier for the resource; defined by the server.
+ Id string `json:"id,omitempty"`
+ // Items: A list of VmExtensionPoliciesScopedList resources.
+ Items map[string]VmExtensionPoliciesScopedList `json:"items,omitempty"`
+ // Kind: Output only. [Output Only] Type of resource.
+ // Alwayscompute#VmExtensionPolicyAggregatedList for lists
+ // of
+ // VmExtensionPolicies.
+ Kind string `json:"kind,omitempty"`
+ // NextPageToken: [Output Only] This token allows you to get the next page of
+ // results for
+ // list requests. If the number of results is larger thanmaxResults, use the
+ // nextPageToken as a value for
+ // the query parameter pageToken in the next list request.
+ // Subsequent list requests will have their own nextPageToken to
+ // continue paging through the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+ // SelfLink: Output only. [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+ // Unreachables: Output only. [Output Only] Unreachable resources.
+ Unreachables []string `json:"unreachables,omitempty"`
+ // Warning: [Output Only] Informational warning message.
+ Warning *VmExtensionPolicyAggregatedListResponseWarning `json:"warning,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the server.
+ googleapi.ServerResponse `json:"-"`
+ // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Etag") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s VmExtensionPolicyAggregatedListResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod VmExtensionPolicyAggregatedListResponse
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+// VmExtensionPolicyAggregatedListResponseWarning: [Output Only] Informational
+// warning message.
+type VmExtensionPolicyAggregatedListResponseWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute
+ // Engine returns NO_RESULTS_ON_PAGE if there
+ // are no results in the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
+ // by a failed
+ // operation.
+ // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
+ // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
+ // has a type marked as
+ // deprecated
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
+ // larger than image size.
+ // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
+ // resources has a type marked as
+ // experimental
+ // "EXTERNAL_API_WARNING" - Warning that is present in an external api call
+ // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
+ // overridden.
+ // Deprecated unused field.
+ // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
+ // kernel, which is deprecated.
+ // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
+ // service is associated with a health check that is
+ // not of type HTTP/HTTPS/HTTP2.
+ // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
+ // exceedingly large number of resources
+ // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
+ // overhead quota exceed
+ // which captures the amount of resources filtered out by
+ // user-defined list filter.
+ // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
+ // assigned to an instance on the
+ // network.
+ // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
+ // forward.
+ // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
+ // URL refers to an instance that does not have an
+ // ipv6 interface on the same network as the route.
+ // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
+ // an instance that does not exist.
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
+ // refers to an instance that is not on the
+ // same network as the route.
+ // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
+ // status of RUNNING.
+ // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
+ // the process despite
+ // the mentioned error.
+ // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
+ // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
+ // due to errors
+ // "QUOTA_INFO_UNAVAILABLE" - Quota information is not available to client
+ // requests (e.g:
+ // regions.list).
+ // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
+ // requires a TOS they have not
+ // accepted.
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
+ // in use.
+ // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
+ // could not be deleted
+ // because they were in use.
+ // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
+ // ignored.
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
+ // group manager is valid as such, but
+ // its application does not make a lot of sense, because it allows only
+ // single instance in instance group.
+ // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
+ // present
+ // "UNREACHABLE" - A given scope cannot be reached.
+ Code string `json:"code,omitempty"`
+ // Data: [Output Only] Metadata about this warning in key:
+ // value format. For example:
+ //
+ // "data": [
+ // {
+ // "key": "scope",
+ // "value": "zones/us-east1-d"
+ // }]
+ Data []*VmExtensionPolicyAggregatedListResponseWarningData `json:"data,omitempty"`
+ // Message: [Output Only] A human-readable description of the warning code.
+ Message string `json:"message,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Code") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Code") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s VmExtensionPolicyAggregatedListResponseWarning) MarshalJSON() ([]byte, error) {
+ type NoMethod VmExtensionPolicyAggregatedListResponseWarning
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
+type VmExtensionPolicyAggregatedListResponseWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being
+ // returned. For example, for warnings where there are no results in a
+ // list
+ // request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a
+ // key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP forwarding).
+ Key string `json:"key,omitempty"`
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "Key") to unconditionally
+ // include in API requests. By default, fields with empty or default values are
+ // omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "Key") to include in API requests
+ // with the JSON null value. By default, fields with empty values are omitted
+ // from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s VmExtensionPolicyAggregatedListResponseWarningData) MarshalJSON() ([]byte, error) {
+ type NoMethod VmExtensionPolicyAggregatedListResponseWarningData
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
// VmExtensionPolicyExtensionPolicy: Configuration for a specific VM extension.
type VmExtensionPolicyExtensionPolicy struct {
// PinnedVersion: Optional. The specific version of the extension to install.
@@ -78507,7 +84438,7 @@ type VmExtensionPolicyListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*VmExtensionPolicyListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -78803,7 +84734,7 @@ type VpnGatewayAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*VpnGatewayAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -78985,7 +84916,7 @@ type VpnGatewayListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*VpnGatewayListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -79399,7 +85330,7 @@ type VpnGatewaysScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*VpnGatewaysScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -79800,7 +85731,7 @@ type VpnTunnelAggregatedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*VpnTunnelAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -80003,7 +85934,7 @@ type VpnTunnelListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*VpnTunnelListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -80247,7 +86178,7 @@ type VpnTunnelsScopedListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*VpnTunnelsScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -80785,7 +86716,7 @@ type WireGroupListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*WireGroupListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -81101,7 +87032,7 @@ type XpnHostListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*XpnHostListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -81216,7 +87147,8 @@ type Zone struct {
// Name: [Output Only] Name of the resource.
Name string `json:"name,omitempty"`
// Region: [Output Only] Full URL reference to the region which hosts the zone.
- Region string `json:"region,omitempty"`
+ Region string `json:"region,omitempty"`
+ ResourceStatus *ZoneResourceStatus `json:"resourceStatus,omitempty"`
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// Status: [Output Only] Status of the zone, either UP orDOWN.
@@ -81374,7 +87306,7 @@ type ZoneListWarning struct {
// {
// "key": "scope",
// "value": "zones/us-east1-d"
- // }
+ // }]
Data []*ZoneListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning code.
Message string `json:"message,omitempty"`
@@ -81428,6 +87360,28 @@ func (s ZoneListWarningData) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
+type ZoneResourceStatus struct {
+ // UpcomingMaintenances: Output only. [Output Only] The upcoming maintenance
+ // schedule.
+ UpcomingMaintenances []*PeriodicPartialMaintenanceSchedule `json:"upcomingMaintenances,omitempty"`
+ // ForceSendFields is a list of field names (e.g. "UpcomingMaintenances") to
+ // unconditionally include in API requests. By default, fields with empty or
+ // default values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
+ // details.
+ ForceSendFields []string `json:"-"`
+ // NullFields is a list of field names (e.g. "UpcomingMaintenances") to include
+ // in API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. See
+ // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
+ NullFields []string `json:"-"`
+}
+
+func (s ZoneResourceStatus) MarshalJSON() ([]byte, error) {
+ type NoMethod ZoneResourceStatus
+ return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
+}
+
type ZoneSetLabelsRequest struct {
// LabelFingerprint: The fingerprint of the previous set of labels for this
// resource,
diff --git a/vendor/google.golang.org/api/compute/v1/compute2-gen.go b/vendor/google.golang.org/api/compute/v1/compute2-gen.go
index c615f8de4..57ed092ee 100644
--- a/vendor/google.golang.org/api/compute/v1/compute2-gen.go
+++ b/vendor/google.golang.org/api/compute/v1/compute2-gen.go
@@ -169,21 +169,6 @@ func (c *AcceleratorTypesAggregatedListCall) PageToken(pageToken string) *Accele
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *AcceleratorTypesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AcceleratorTypesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -224,7 +209,7 @@ func (c *AcceleratorTypesAggregatedListCall) Header() http.Header {
}
func (c *AcceleratorTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -361,7 +346,7 @@ func (c *AcceleratorTypesGetCall) Header() http.Header {
}
func (c *AcceleratorTypesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -559,21 +544,6 @@ func (c *AcceleratorTypesListCall) PageToken(pageToken string) *AcceleratorTypes
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *AcceleratorTypesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AcceleratorTypesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -606,7 +576,7 @@ func (c *AcceleratorTypesListCall) Header() http.Header {
}
func (c *AcceleratorTypesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -841,21 +811,6 @@ func (c *AddressesAggregatedListCall) PageToken(pageToken string) *AddressesAggr
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *AddressesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AddressesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -896,7 +851,7 @@ func (c *AddressesAggregatedListCall) Header() http.Header {
}
func (c *AddressesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -1046,7 +1001,7 @@ func (c *AddressesDeleteCall) Header() http.Header {
}
func (c *AddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/addresses/{address}")
@@ -1160,7 +1115,7 @@ func (c *AddressesGetCall) Header() http.Header {
}
func (c *AddressesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -1291,7 +1246,7 @@ func (c *AddressesInsertCall) Header() http.Header {
}
func (c *AddressesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.address)
if err != nil {
return nil, err
@@ -1487,21 +1442,6 @@ func (c *AddressesListCall) PageToken(pageToken string) *AddressesListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *AddressesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AddressesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -1534,7 +1474,7 @@ func (c *AddressesListCall) Header() http.Header {
}
func (c *AddressesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -1686,7 +1626,7 @@ func (c *AddressesMoveCall) Header() http.Header {
}
func (c *AddressesMoveCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionaddressesmoverequest)
if err != nil {
return nil, err
@@ -1821,7 +1761,7 @@ func (c *AddressesSetLabelsCall) Header() http.Header {
}
func (c *AddressesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
if err != nil {
return nil, err
@@ -1933,7 +1873,7 @@ func (c *AddressesTestIamPermissionsCall) Header() http.Header {
}
func (c *AddressesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -2048,7 +1988,7 @@ func (c *AdviceCalendarModeCall) Header() http.Header {
}
func (c *AdviceCalendarModeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.calendarmodeadvicerequest)
if err != nil {
return nil, err
@@ -2110,6 +2050,226 @@ func (c *AdviceCalendarModeCall) Do(opts ...googleapi.CallOption) (*CalendarMode
return ret, nil
}
+type AdviceCapacityCall struct {
+ s *Service
+ project string
+ region string
+ capacityadvicerequest *CapacityAdviceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Capacity: Advice on making real-time decisions (such as choosing zone
+// or
+// machine types) during deployment to maximize your chances of
+// obtaining
+// capacity.
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+func (r *AdviceService) Capacity(project string, region string, capacityadvicerequest *CapacityAdviceRequest) *AdviceCapacityCall {
+ c := &AdviceCapacityCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.capacityadvicerequest = capacityadvicerequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *AdviceCapacityCall) Fields(s ...googleapi.Field) *AdviceCapacityCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *AdviceCapacityCall) Context(ctx context.Context) *AdviceCapacityCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *AdviceCapacityCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *AdviceCapacityCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.capacityadvicerequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/advice/capacity")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.advice.capacity", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.advice.capacity" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *CapacityAdviceResponse.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *AdviceCapacityCall) Do(opts ...googleapi.CallOption) (*CapacityAdviceResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &CapacityAdviceResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.advice.capacity", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type AdviceCapacityHistoryCall struct {
+ s *Service
+ project string
+ region string
+ capacityhistoryrequest *CapacityHistoryRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// CapacityHistory: Gets the capacity history.
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+func (r *AdviceService) CapacityHistory(project string, region string, capacityhistoryrequest *CapacityHistoryRequest) *AdviceCapacityHistoryCall {
+ c := &AdviceCapacityHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.capacityhistoryrequest = capacityhistoryrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *AdviceCapacityHistoryCall) Fields(s ...googleapi.Field) *AdviceCapacityHistoryCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *AdviceCapacityHistoryCall) Context(ctx context.Context) *AdviceCapacityHistoryCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *AdviceCapacityHistoryCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *AdviceCapacityHistoryCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.capacityhistoryrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/advice/capacityHistory")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.advice.capacityHistory", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.advice.capacityHistory" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *CapacityHistoryResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *AdviceCapacityHistoryCall) Do(opts ...googleapi.CallOption) (*CapacityHistoryResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &CapacityHistoryResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.advice.capacityHistory", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
type AutoscalersAggregatedListCall struct {
s *Service
project string
@@ -2263,21 +2423,6 @@ func (c *AutoscalersAggregatedListCall) PageToken(pageToken string) *Autoscalers
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *AutoscalersAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AutoscalersAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -2318,7 +2463,7 @@ func (c *AutoscalersAggregatedListCall) Header() http.Header {
}
func (c *AutoscalersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -2468,7 +2613,7 @@ func (c *AutoscalersDeleteCall) Header() http.Header {
}
func (c *AutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/autoscalers/{autoscaler}")
@@ -2582,7 +2727,7 @@ func (c *AutoscalersGetCall) Header() http.Header {
}
func (c *AutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -2713,7 +2858,7 @@ func (c *AutoscalersInsertCall) Header() http.Header {
}
func (c *AutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
if err != nil {
return nil, err
@@ -2909,21 +3054,6 @@ func (c *AutoscalersListCall) PageToken(pageToken string) *AutoscalersListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *AutoscalersListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AutoscalersListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -2956,7 +3086,7 @@ func (c *AutoscalersListCall) Header() http.Header {
}
func (c *AutoscalersListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -3116,7 +3246,7 @@ func (c *AutoscalersPatchCall) Header() http.Header {
}
func (c *AutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
if err != nil {
return nil, err
@@ -3227,7 +3357,7 @@ func (c *AutoscalersTestIamPermissionsCall) Header() http.Header {
}
func (c *AutoscalersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -3367,7 +3497,7 @@ func (c *AutoscalersUpdateCall) Header() http.Header {
}
func (c *AutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
if err != nil {
return nil, err
@@ -3501,7 +3631,7 @@ func (c *BackendBucketsAddSignedUrlKeyCall) Header() http.Header {
}
func (c *BackendBucketsAddSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.signedurlkey)
if err != nil {
return nil, err
@@ -3717,21 +3847,6 @@ func (c *BackendBucketsAggregatedListCall) PageToken(pageToken string) *BackendB
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *BackendBucketsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *BackendBucketsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -3772,7 +3887,7 @@ func (c *BackendBucketsAggregatedListCall) Header() http.Header {
}
func (c *BackendBucketsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -3919,7 +4034,7 @@ func (c *BackendBucketsDeleteCall) Header() http.Header {
}
func (c *BackendBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/backendBuckets/{backendBucket}")
@@ -4049,7 +4164,7 @@ func (c *BackendBucketsDeleteSignedUrlKeyCall) Header() http.Header {
}
func (c *BackendBucketsDeleteSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey")
@@ -4159,7 +4274,7 @@ func (c *BackendBucketsGetCall) Header() http.Header {
}
func (c *BackendBucketsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -4281,7 +4396,7 @@ func (c *BackendBucketsGetIamPolicyCall) Header() http.Header {
}
func (c *BackendBucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -4407,7 +4522,7 @@ func (c *BackendBucketsInsertCall) Header() http.Header {
}
func (c *BackendBucketsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendbucket)
if err != nil {
return nil, err
@@ -4600,21 +4715,6 @@ func (c *BackendBucketsListCall) PageToken(pageToken string) *BackendBucketsList
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *BackendBucketsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *BackendBucketsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -4647,7 +4747,7 @@ func (c *BackendBucketsListCall) Header() http.Header {
}
func (c *BackendBucketsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -4860,21 +4960,6 @@ func (c *BackendBucketsListUsableCall) PageToken(pageToken string) *BackendBucke
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *BackendBucketsListUsableCall) ReturnPartialSuccess(returnPartialSuccess bool) *BackendBucketsListUsableCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -4907,7 +4992,7 @@ func (c *BackendBucketsListUsableCall) Header() http.Header {
}
func (c *BackendBucketsListUsableCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -5060,7 +5145,7 @@ func (c *BackendBucketsPatchCall) Header() http.Header {
}
func (c *BackendBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendbucket)
if err != nil {
return nil, err
@@ -5193,7 +5278,7 @@ func (c *BackendBucketsSetEdgeSecurityPolicyCall) Header() http.Header {
}
func (c *BackendBucketsSetEdgeSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyreference)
if err != nil {
return nil, err
@@ -5302,7 +5387,7 @@ func (c *BackendBucketsSetIamPolicyCall) Header() http.Header {
}
func (c *BackendBucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
if err != nil {
return nil, err
@@ -5410,7 +5495,7 @@ func (c *BackendBucketsTestIamPermissionsCall) Header() http.Header {
}
func (c *BackendBucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -5542,7 +5627,7 @@ func (c *BackendBucketsUpdateCall) Header() http.Header {
}
func (c *BackendBucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendbucket)
if err != nil {
return nil, err
@@ -5676,7 +5761,7 @@ func (c *BackendServicesAddSignedUrlKeyCall) Header() http.Header {
}
func (c *BackendServicesAddSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.signedurlkey)
if err != nil {
return nil, err
@@ -5892,21 +5977,6 @@ func (c *BackendServicesAggregatedListCall) PageToken(pageToken string) *Backend
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *BackendServicesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *BackendServicesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -5947,7 +6017,7 @@ func (c *BackendServicesAggregatedListCall) Header() http.Header {
}
func (c *BackendServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -6094,7 +6164,7 @@ func (c *BackendServicesDeleteCall) Header() http.Header {
}
func (c *BackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/backendServices/{backendService}")
@@ -6224,7 +6294,7 @@ func (c *BackendServicesDeleteSignedUrlKeyCall) Header() http.Header {
}
func (c *BackendServicesDeleteSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey")
@@ -6334,7 +6404,7 @@ func (c *BackendServicesGetCall) Header() http.Header {
}
func (c *BackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -6448,7 +6518,7 @@ func (c *BackendServicesGetEffectiveSecurityPoliciesCall) Header() http.Header {
}
func (c *BackendServicesGetEffectiveSecurityPoliciesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -6539,7 +6609,7 @@ func (c *BackendServicesGetHealthCall) Header() http.Header {
}
func (c *BackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.resourcegroupreference)
if err != nil {
return nil, err
@@ -6663,7 +6733,7 @@ func (c *BackendServicesGetIamPolicyCall) Header() http.Header {
}
func (c *BackendServicesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -6790,7 +6860,7 @@ func (c *BackendServicesInsertCall) Header() http.Header {
}
func (c *BackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
if err != nil {
return nil, err
@@ -6983,21 +7053,6 @@ func (c *BackendServicesListCall) PageToken(pageToken string) *BackendServicesLi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *BackendServicesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *BackendServicesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -7030,7 +7085,7 @@ func (c *BackendServicesListCall) Header() http.Header {
}
func (c *BackendServicesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -7120,8 +7175,12 @@ type BackendServicesListUsableCall struct {
header_ http.Header
}
-// ListUsable: Retrieves a list of all usable backend services in the specified
-// project.
+// ListUsable: Retrieves a list of all usable backend services for Application
+// Load
+// Balancers and Proxy Network Load Balancers in the specified project.
+// Backend services for external and internal passthrough Network
+// Load
+// Balancers are not included in the response.
//
// - project: Project ID for this request.
func (r *BackendServicesService) ListUsable(project string) *BackendServicesListUsableCall {
@@ -7243,21 +7302,6 @@ func (c *BackendServicesListUsableCall) PageToken(pageToken string) *BackendServ
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *BackendServicesListUsableCall) ReturnPartialSuccess(returnPartialSuccess bool) *BackendServicesListUsableCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -7290,7 +7334,7 @@ func (c *BackendServicesListUsableCall) Header() http.Header {
}
func (c *BackendServicesListUsableCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -7444,7 +7488,7 @@ func (c *BackendServicesPatchCall) Header() http.Header {
}
func (c *BackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
if err != nil {
return nil, err
@@ -7577,7 +7621,7 @@ func (c *BackendServicesSetEdgeSecurityPolicyCall) Header() http.Header {
}
func (c *BackendServicesSetEdgeSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyreference)
if err != nil {
return nil, err
@@ -7686,7 +7730,7 @@ func (c *BackendServicesSetIamPolicyCall) Header() http.Header {
}
func (c *BackendServicesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
if err != nil {
return nil, err
@@ -7821,7 +7865,7 @@ func (c *BackendServicesSetSecurityPolicyCall) Header() http.Header {
}
func (c *BackendServicesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyreference)
if err != nil {
return nil, err
@@ -7929,7 +7973,7 @@ func (c *BackendServicesTestIamPermissionsCall) Header() http.Header {
}
func (c *BackendServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -8062,7 +8106,7 @@ func (c *BackendServicesUpdateCall) Header() http.Header {
}
func (c *BackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
if err != nil {
return nil, err
@@ -8190,7 +8234,7 @@ func (c *CrossSiteNetworksDeleteCall) Header() http.Header {
}
func (c *CrossSiteNetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}")
@@ -8300,7 +8344,7 @@ func (c *CrossSiteNetworksGetCall) Header() http.Header {
}
func (c *CrossSiteNetworksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -8436,7 +8480,7 @@ func (c *CrossSiteNetworksInsertCall) Header() http.Header {
}
func (c *CrossSiteNetworksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.crosssitenetwork)
if err != nil {
return nil, err
@@ -8627,21 +8671,6 @@ func (c *CrossSiteNetworksListCall) PageToken(pageToken string) *CrossSiteNetwor
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *CrossSiteNetworksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *CrossSiteNetworksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -8674,7 +8703,7 @@ func (c *CrossSiteNetworksListCall) Header() http.Header {
}
func (c *CrossSiteNetworksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -8842,7 +8871,7 @@ func (c *CrossSiteNetworksPatchCall) Header() http.Header {
}
func (c *CrossSiteNetworksPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.crosssitenetwork)
if err != nil {
return nil, err
@@ -9056,21 +9085,6 @@ func (c *DiskTypesAggregatedListCall) PageToken(pageToken string) *DiskTypesAggr
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *DiskTypesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DiskTypesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -9111,7 +9125,7 @@ func (c *DiskTypesAggregatedListCall) Header() http.Header {
}
func (c *DiskTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -9248,7 +9262,7 @@ func (c *DiskTypesGetCall) Header() http.Header {
}
func (c *DiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -9444,21 +9458,6 @@ func (c *DiskTypesListCall) PageToken(pageToken string) *DiskTypesListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *DiskTypesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DiskTypesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -9491,7 +9490,7 @@ func (c *DiskTypesListCall) Header() http.Header {
}
func (c *DiskTypesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -9646,7 +9645,7 @@ func (c *DisksAddResourcePoliciesCall) Header() http.Header {
}
func (c *DisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disksaddresourcepoliciesrequest)
if err != nil {
return nil, err
@@ -9861,21 +9860,6 @@ func (c *DisksAggregatedListCall) PageToken(pageToken string) *DisksAggregatedLi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *DisksAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DisksAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -9916,7 +9900,7 @@ func (c *DisksAggregatedListCall) Header() http.Header {
}
func (c *DisksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -10065,7 +10049,7 @@ func (c *DisksBulkInsertCall) Header() http.Header {
}
func (c *DisksBulkInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.bulkinsertdiskresource)
if err != nil {
return nil, err
@@ -10203,7 +10187,7 @@ func (c *DisksBulkSetLabelsCall) Header() http.Header {
}
func (c *DisksBulkSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.bulkzonesetlabelsrequest)
if err != nil {
return nil, err
@@ -10348,7 +10332,7 @@ func (c *DisksCreateSnapshotCall) Header() http.Header {
}
func (c *DisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshot)
if err != nil {
return nil, err
@@ -10484,7 +10468,7 @@ func (c *DisksDeleteCall) Header() http.Header {
}
func (c *DisksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/disks/{disk}")
@@ -10598,7 +10582,7 @@ func (c *DisksGetCall) Header() http.Header {
}
func (c *DisksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -10724,7 +10708,7 @@ func (c *DisksGetIamPolicyCall) Header() http.Header {
}
func (c *DisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -10865,7 +10849,7 @@ func (c *DisksInsertCall) Header() http.Header {
}
func (c *DisksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disk)
if err != nil {
return nil, err
@@ -11061,21 +11045,6 @@ func (c *DisksListCall) PageToken(pageToken string) *DisksListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *DisksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DisksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -11108,7 +11077,7 @@ func (c *DisksListCall) Header() http.Header {
}
func (c *DisksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -11260,7 +11229,7 @@ func (c *DisksRemoveResourcePoliciesCall) Header() http.Header {
}
func (c *DisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disksremoveresourcepoliciesrequest)
if err != nil {
return nil, err
@@ -11394,7 +11363,7 @@ func (c *DisksResizeCall) Header() http.Header {
}
func (c *DisksResizeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disksresizerequest)
if err != nil {
return nil, err
@@ -11507,7 +11476,7 @@ func (c *DisksSetIamPolicyCall) Header() http.Header {
}
func (c *DisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
if err != nil {
return nil, err
@@ -11642,7 +11611,7 @@ func (c *DisksSetLabelsCall) Header() http.Header {
}
func (c *DisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetlabelsrequest)
if err != nil {
return nil, err
@@ -11776,7 +11745,7 @@ func (c *DisksStartAsyncReplicationCall) Header() http.Header {
}
func (c *DisksStartAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disksstartasyncreplicationrequest)
if err != nil {
return nil, err
@@ -11908,7 +11877,7 @@ func (c *DisksStopAsyncReplicationCall) Header() http.Header {
}
func (c *DisksStopAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication")
@@ -12039,7 +12008,7 @@ func (c *DisksStopGroupAsyncReplicationCall) Header() http.Header {
}
func (c *DisksStopGroupAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disksstopgroupasyncreplicationresource)
if err != nil {
return nil, err
@@ -12150,7 +12119,7 @@ func (c *DisksTestIamPermissionsCall) Header() http.Header {
}
func (c *DisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -12300,7 +12269,7 @@ func (c *DisksUpdateCall) Header() http.Header {
}
func (c *DisksUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disk2)
if err != nil {
return nil, err
@@ -12434,7 +12403,7 @@ func (c *DisksUpdateKmsKeyCall) Header() http.Header {
}
func (c *DisksUpdateKmsKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.diskupdatekmskeyrequest)
if err != nil {
return nil, err
@@ -12562,7 +12531,7 @@ func (c *ExternalVpnGatewaysDeleteCall) Header() http.Header {
}
func (c *ExternalVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/externalVpnGateways/{externalVpnGateway}")
@@ -12674,7 +12643,7 @@ func (c *ExternalVpnGatewaysGetCall) Header() http.Header {
}
func (c *ExternalVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -12801,7 +12770,7 @@ func (c *ExternalVpnGatewaysInsertCall) Header() http.Header {
}
func (c *ExternalVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.externalvpngateway)
if err != nil {
return nil, err
@@ -12994,21 +12963,6 @@ func (c *ExternalVpnGatewaysListCall) PageToken(pageToken string) *ExternalVpnGa
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ExternalVpnGatewaysListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ExternalVpnGatewaysListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -13041,7 +12995,7 @@ func (c *ExternalVpnGatewaysListCall) Header() http.Header {
}
func (c *ExternalVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -13171,7 +13125,7 @@ func (c *ExternalVpnGatewaysSetLabelsCall) Header() http.Header {
}
func (c *ExternalVpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
if err != nil {
return nil, err
@@ -13279,7 +13233,7 @@ func (c *ExternalVpnGatewaysTestIamPermissionsCall) Header() http.Header {
}
func (c *ExternalVpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -13417,7 +13371,7 @@ func (c *FirewallPoliciesAddAssociationCall) Header() http.Header {
}
func (c *FirewallPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyassociation)
if err != nil {
return nil, err
@@ -13542,7 +13496,7 @@ func (c *FirewallPoliciesAddRuleCall) Header() http.Header {
}
func (c *FirewallPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
if err != nil {
return nil, err
@@ -13672,7 +13626,7 @@ func (c *FirewallPoliciesCloneRulesCall) Header() http.Header {
}
func (c *FirewallPoliciesCloneRulesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/firewallPolicies/{firewallPolicy}/cloneRules")
@@ -13791,7 +13745,7 @@ func (c *FirewallPoliciesDeleteCall) Header() http.Header {
}
func (c *FirewallPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/firewallPolicies/{firewallPolicy}")
@@ -13897,7 +13851,7 @@ func (c *FirewallPoliciesGetCall) Header() http.Header {
}
func (c *FirewallPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -14014,7 +13968,7 @@ func (c *FirewallPoliciesGetAssociationCall) Header() http.Header {
}
func (c *FirewallPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -14133,7 +14087,7 @@ func (c *FirewallPoliciesGetIamPolicyCall) Header() http.Header {
}
func (c *FirewallPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -14250,7 +14204,7 @@ func (c *FirewallPoliciesGetRuleCall) Header() http.Header {
}
func (c *FirewallPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -14382,7 +14336,7 @@ func (c *FirewallPoliciesInsertCall) Header() http.Header {
}
func (c *FirewallPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
if err != nil {
return nil, err
@@ -14577,21 +14531,6 @@ func (c *FirewallPoliciesListCall) ParentId(parentId string) *FirewallPoliciesLi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *FirewallPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *FirewallPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -14624,7 +14563,7 @@ func (c *FirewallPoliciesListCall) Header() http.Header {
}
func (c *FirewallPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -14768,7 +14707,7 @@ func (c *FirewallPoliciesListAssociationsCall) Header() http.Header {
}
func (c *FirewallPoliciesListAssociationsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -14898,7 +14837,7 @@ func (c *FirewallPoliciesMoveCall) Header() http.Header {
}
func (c *FirewallPoliciesMoveCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/firewallPolicies/{firewallPolicy}/move")
@@ -15019,7 +14958,7 @@ func (c *FirewallPoliciesPatchCall) Header() http.Header {
}
func (c *FirewallPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
if err != nil {
return nil, err
@@ -15151,7 +15090,7 @@ func (c *FirewallPoliciesPatchRuleCall) Header() http.Header {
}
func (c *FirewallPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
if err != nil {
return nil, err
@@ -15281,7 +15220,7 @@ func (c *FirewallPoliciesRemoveAssociationCall) Header() http.Header {
}
func (c *FirewallPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation")
@@ -15407,7 +15346,7 @@ func (c *FirewallPoliciesRemoveRuleCall) Header() http.Header {
}
func (c *FirewallPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/firewallPolicies/{firewallPolicy}/removeRule")
@@ -15508,7 +15447,7 @@ func (c *FirewallPoliciesSetIamPolicyCall) Header() http.Header {
}
func (c *FirewallPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalorganizationsetpolicyrequest)
if err != nil {
return nil, err
@@ -15612,7 +15551,7 @@ func (c *FirewallPoliciesTestIamPermissionsCall) Header() http.Header {
}
func (c *FirewallPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -15739,7 +15678,7 @@ func (c *FirewallsDeleteCall) Header() http.Header {
}
func (c *FirewallsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewalls/{firewall}")
@@ -15849,7 +15788,7 @@ func (c *FirewallsGetCall) Header() http.Header {
}
func (c *FirewallsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -15976,7 +15915,7 @@ func (c *FirewallsInsertCall) Header() http.Header {
}
func (c *FirewallsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewall)
if err != nil {
return nil, err
@@ -16169,21 +16108,6 @@ func (c *FirewallsListCall) PageToken(pageToken string) *FirewallsListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *FirewallsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *FirewallsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -16216,7 +16140,7 @@ func (c *FirewallsListCall) Header() http.Header {
}
func (c *FirewallsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -16368,7 +16292,7 @@ func (c *FirewallsPatchCall) Header() http.Header {
}
func (c *FirewallsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewall2)
if err != nil {
return nil, err
@@ -16476,7 +16400,7 @@ func (c *FirewallsTestIamPermissionsCall) Header() http.Header {
}
func (c *FirewallsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -16611,7 +16535,7 @@ func (c *FirewallsUpdateCall) Header() http.Header {
}
func (c *FirewallsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewall2)
if err != nil {
return nil, err
@@ -16825,21 +16749,6 @@ func (c *ForwardingRulesAggregatedListCall) PageToken(pageToken string) *Forward
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ForwardingRulesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ForwardingRulesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -16880,7 +16789,7 @@ func (c *ForwardingRulesAggregatedListCall) Header() http.Header {
}
func (c *ForwardingRulesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -17030,7 +16939,7 @@ func (c *ForwardingRulesDeleteCall) Header() http.Header {
}
func (c *ForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}")
@@ -17112,6 +17021,22 @@ func (r *ForwardingRulesService) Get(project string, region string, forwardingRu
return c
}
+// View sets the optional parameter "view":
+//
+// Possible values:
+//
+// "BASIC" - The default view of a ForwardingRule, which includes the basic
+//
+// fields.
+//
+// "FULL" - The full view, including the ForwardingRule.`attached_extensions`
+//
+// field.
+func (c *ForwardingRulesGetCall) View(view string) *ForwardingRulesGetCall {
+ c.urlParams_.Set("view", view)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -17144,7 +17069,7 @@ func (c *ForwardingRulesGetCall) Header() http.Header {
}
func (c *ForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -17275,7 +17200,7 @@ func (c *ForwardingRulesInsertCall) Header() http.Header {
}
func (c *ForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.forwardingrule)
if err != nil {
return nil, err
@@ -17472,21 +17397,6 @@ func (c *ForwardingRulesListCall) PageToken(pageToken string) *ForwardingRulesLi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ForwardingRulesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ForwardingRulesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -17519,7 +17429,7 @@ func (c *ForwardingRulesListCall) Header() http.Header {
}
func (c *ForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -17677,7 +17587,7 @@ func (c *ForwardingRulesPatchCall) Header() http.Header {
}
func (c *ForwardingRulesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.forwardingrule)
if err != nil {
return nil, err
@@ -17813,7 +17723,7 @@ func (c *ForwardingRulesSetLabelsCall) Header() http.Header {
}
func (c *ForwardingRulesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
if err != nil {
return nil, err
@@ -17949,7 +17859,7 @@ func (c *ForwardingRulesSetTargetCall) Header() http.Header {
}
func (c *ForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetreference)
if err != nil {
return nil, err
@@ -18164,21 +18074,6 @@ func (c *FutureReservationsAggregatedListCall) PageToken(pageToken string) *Futu
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *FutureReservationsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *FutureReservationsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -18219,7 +18114,7 @@ func (c *FutureReservationsAggregatedListCall) Header() http.Header {
}
func (c *FutureReservationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -18370,7 +18265,7 @@ func (c *FutureReservationsCancelCall) Header() http.Header {
}
func (c *FutureReservationsCancelCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel")
@@ -18498,7 +18393,7 @@ func (c *FutureReservationsDeleteCall) Header() http.Header {
}
func (c *FutureReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/futureReservations/{futureReservation}")
@@ -18613,7 +18508,7 @@ func (c *FutureReservationsGetCall) Header() http.Header {
}
func (c *FutureReservationsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -18743,7 +18638,7 @@ func (c *FutureReservationsInsertCall) Header() http.Header {
}
func (c *FutureReservationsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.futurereservation)
if err != nil {
return nil, err
@@ -18940,21 +18835,6 @@ func (c *FutureReservationsListCall) PageToken(pageToken string) *FutureReservat
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *FutureReservationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *FutureReservationsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -18987,7 +18867,7 @@ func (c *FutureReservationsListCall) Header() http.Header {
}
func (c *FutureReservationsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -19148,7 +19028,7 @@ func (c *FutureReservationsUpdateCall) Header() http.Header {
}
func (c *FutureReservationsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.futurereservation)
if err != nil {
return nil, err
@@ -19276,7 +19156,7 @@ func (c *GlobalAddressesDeleteCall) Header() http.Header {
}
func (c *GlobalAddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/addresses/{address}")
@@ -19386,7 +19266,7 @@ func (c *GlobalAddressesGetCall) Header() http.Header {
}
func (c *GlobalAddressesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -19513,7 +19393,7 @@ func (c *GlobalAddressesInsertCall) Header() http.Header {
}
func (c *GlobalAddressesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.address)
if err != nil {
return nil, err
@@ -19704,21 +19584,6 @@ func (c *GlobalAddressesListCall) PageToken(pageToken string) *GlobalAddressesLi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *GlobalAddressesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *GlobalAddressesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -19751,7 +19616,7 @@ func (c *GlobalAddressesListCall) Header() http.Header {
}
func (c *GlobalAddressesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -19900,7 +19765,7 @@ func (c *GlobalAddressesMoveCall) Header() http.Header {
}
func (c *GlobalAddressesMoveCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globaladdressesmoverequest)
if err != nil {
return nil, err
@@ -20009,7 +19874,7 @@ func (c *GlobalAddressesSetLabelsCall) Header() http.Header {
}
func (c *GlobalAddressesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
if err != nil {
return nil, err
@@ -20117,7 +19982,7 @@ func (c *GlobalAddressesTestIamPermissionsCall) Header() http.Header {
}
func (c *GlobalAddressesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -20245,7 +20110,7 @@ func (c *GlobalForwardingRulesDeleteCall) Header() http.Header {
}
func (c *GlobalForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/forwardingRules/{forwardingRule}")
@@ -20325,6 +20190,22 @@ func (r *GlobalForwardingRulesService) Get(project string, forwardingRule string
return c
}
+// View sets the optional parameter "view":
+//
+// Possible values:
+//
+// "BASIC" - The default view of a ForwardingRule, which includes the basic
+//
+// fields.
+//
+// "FULL" - The full view, including the ForwardingRule.`attached_extensions`
+//
+// field.
+func (c *GlobalForwardingRulesGetCall) View(view string) *GlobalForwardingRulesGetCall {
+ c.urlParams_.Set("view", view)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -20357,7 +20238,7 @@ func (c *GlobalForwardingRulesGetCall) Header() http.Header {
}
func (c *GlobalForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -20484,7 +20365,7 @@ func (c *GlobalForwardingRulesInsertCall) Header() http.Header {
}
func (c *GlobalForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.forwardingrule)
if err != nil {
return nil, err
@@ -20677,21 +20558,6 @@ func (c *GlobalForwardingRulesListCall) PageToken(pageToken string) *GlobalForwa
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *GlobalForwardingRulesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *GlobalForwardingRulesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -20724,7 +20590,7 @@ func (c *GlobalForwardingRulesListCall) Header() http.Header {
}
func (c *GlobalForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -20878,7 +20744,7 @@ func (c *GlobalForwardingRulesPatchCall) Header() http.Header {
}
func (c *GlobalForwardingRulesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.forwardingrule)
if err != nil {
return nil, err
@@ -20988,7 +20854,7 @@ func (c *GlobalForwardingRulesSetLabelsCall) Header() http.Header {
}
func (c *GlobalForwardingRulesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
if err != nil {
return nil, err
@@ -21120,7 +20986,7 @@ func (c *GlobalForwardingRulesSetTargetCall) Header() http.Header {
}
func (c *GlobalForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetreference)
if err != nil {
return nil, err
@@ -21181,106 +21047,83 @@ func (c *GlobalForwardingRulesSetTargetCall) Do(opts ...googleapi.CallOption) (*
return ret, nil
}
-type GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall struct {
- s *Service
- project string
- networkEndpointGroup string
- globalnetworkendpointgroupsattachendpointsrequest *GlobalNetworkEndpointGroupsAttachEndpointsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type GlobalFrontendSettingsGetCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AttachNetworkEndpoints: Attach a network endpoint to the specified network
-// endpoint group.
-//
-// - networkEndpointGroup: The name of the network endpoint group where you are
-// attaching network
+// Get: Gets the Global Frontend Billing Bundle Settings for a project.
//
-// endpoints to. It should comply with RFC1035.
// - project: Project ID for this request.
-func (r *GlobalNetworkEndpointGroupsService) AttachNetworkEndpoints(project string, networkEndpointGroup string, globalnetworkendpointgroupsattachendpointsrequest *GlobalNetworkEndpointGroupsAttachEndpointsRequest) *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall {
- c := &GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *GlobalFrontendSettingsService) Get(project string) *GlobalFrontendSettingsGetCall {
+ c := &GlobalFrontendSettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.networkEndpointGroup = networkEndpointGroup
- c.globalnetworkendpointgroupsattachendpointsrequest = globalnetworkendpointgroupsattachendpointsrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) RequestId(requestId string) *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall {
- c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Fields(s ...googleapi.Field) *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall {
+func (c *GlobalFrontendSettingsGetCall) Fields(s ...googleapi.Field) *GlobalFrontendSettingsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *GlobalFrontendSettingsGetCall) IfNoneMatch(entityTag string) *GlobalFrontendSettingsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Context(ctx context.Context) *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall {
+func (c *GlobalFrontendSettingsGetCall) Context(ctx context.Context) *GlobalFrontendSettingsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Header() http.Header {
+func (c *GlobalFrontendSettingsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalnetworkendpointgroupsattachendpointsrequest)
- if err != nil {
- return nil, err
+func (c *GlobalFrontendSettingsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/globalFrontendSettings")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.attachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalFrontendSettings.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.globalNetworkEndpointGroups.attachNetworkEndpoints" call.
+// Do executes the "compute.globalFrontendSettings.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *GlobalFrontendSettings.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *GlobalFrontendSettingsGetCall) Do(opts ...googleapi.CallOption) (*GlobalFrontendSettings, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -21299,7 +21142,7 @@ func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googl
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &GlobalFrontendSettings{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -21310,105 +21153,95 @@ func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googl
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.attachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalFrontendSettings.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type GlobalNetworkEndpointGroupsDeleteCall struct {
- s *Service
- project string
- networkEndpointGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type GlobalFrontendSettingsPatchCall struct {
+ s *Service
+ project string
+ globalfrontendsettings *GlobalFrontendSettings
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified network endpoint group.Note that the NEG
-// cannot be
-// deleted if there are backend services referencing it.
-//
-// - networkEndpointGroup: The name of the network endpoint group to delete. It
-// should comply with
+// Patch: Updates the Global Frontend Billing Bundle Settings for a project.
//
-// RFC1035.
// - project: Project ID for this request.
-func (r *GlobalNetworkEndpointGroupsService) Delete(project string, networkEndpointGroup string) *GlobalNetworkEndpointGroupsDeleteCall {
- c := &GlobalNetworkEndpointGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *GlobalFrontendSettingsService) Patch(project string, globalfrontendsettings *GlobalFrontendSettings) *GlobalFrontendSettingsPatchCall {
+ c := &GlobalFrontendSettingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.networkEndpointGroup = networkEndpointGroup
+ c.globalfrontendsettings = globalfrontendsettings
return c
}
// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *GlobalNetworkEndpointGroupsDeleteCall) RequestId(requestId string) *GlobalNetworkEndpointGroupsDeleteCall {
+// identify requests.
+func (c *GlobalFrontendSettingsPatchCall) RequestId(requestId string) *GlobalFrontendSettingsPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// UpdateMask sets the optional parameter "updateMask": Field mask to support
+// patch. E.g., "type".
+func (c *GlobalFrontendSettingsPatchCall) UpdateMask(updateMask string) *GlobalFrontendSettingsPatchCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *GlobalNetworkEndpointGroupsDeleteCall) Fields(s ...googleapi.Field) *GlobalNetworkEndpointGroupsDeleteCall {
+func (c *GlobalFrontendSettingsPatchCall) Fields(s ...googleapi.Field) *GlobalFrontendSettingsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *GlobalNetworkEndpointGroupsDeleteCall) Context(ctx context.Context) *GlobalNetworkEndpointGroupsDeleteCall {
+func (c *GlobalFrontendSettingsPatchCall) Context(ctx context.Context) *GlobalFrontendSettingsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *GlobalNetworkEndpointGroupsDeleteCall) Header() http.Header {
+func (c *GlobalFrontendSettingsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *GlobalNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *GlobalFrontendSettingsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalfrontendsettings)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/globalFrontendSettings")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalFrontendSettings.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.globalNetworkEndpointGroups.delete" call.
+// Do executes the "compute.globalFrontendSettings.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *GlobalNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *GlobalFrontendSettingsPatchResponse.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *GlobalFrontendSettingsPatchCall) Do(opts ...googleapi.CallOption) (*GlobalFrontendSettingsPatchResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -21427,7 +21260,7 @@ func (c *GlobalNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &GlobalFrontendSettingsPatchResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -21438,33 +21271,33 @@ func (c *GlobalNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalFrontendSettings.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall struct {
+type GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall struct {
s *Service
project string
networkEndpointGroup string
- globalnetworkendpointgroupsdetachendpointsrequest *GlobalNetworkEndpointGroupsDetachEndpointsRequest
+ globalnetworkendpointgroupsattachendpointsrequest *GlobalNetworkEndpointGroupsAttachEndpointsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// DetachNetworkEndpoints: Detach the network endpoint from the specified
-// network endpoint group.
+// AttachNetworkEndpoints: Attach a network endpoint to the specified network
+// endpoint group.
//
// - networkEndpointGroup: The name of the network endpoint group where you are
-// removing network
+// attaching network
//
-// endpoints. It should comply with RFC1035.
+// endpoints to. It should comply with RFC1035.
// - project: Project ID for this request.
-func (r *GlobalNetworkEndpointGroupsService) DetachNetworkEndpoints(project string, networkEndpointGroup string, globalnetworkendpointgroupsdetachendpointsrequest *GlobalNetworkEndpointGroupsDetachEndpointsRequest) *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall {
- c := &GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *GlobalNetworkEndpointGroupsService) AttachNetworkEndpoints(project string, networkEndpointGroup string, globalnetworkendpointgroupsattachendpointsrequest *GlobalNetworkEndpointGroupsAttachEndpointsRequest) *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall {
+ c := &GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.networkEndpointGroup = networkEndpointGroup
- c.globalnetworkendpointgroupsdetachendpointsrequest = globalnetworkendpointgroupsdetachendpointsrequest
+ c.globalnetworkendpointgroupsattachendpointsrequest = globalnetworkendpointgroupsattachendpointsrequest
return c
}
@@ -21485,7 +21318,7 @@ func (r *GlobalNetworkEndpointGroupsService) DetachNetworkEndpoints(project stri
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) RequestId(requestId string) *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall {
+func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) RequestId(requestId string) *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -21493,35 +21326,35 @@ func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) RequestId(reques
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) Fields(s ...googleapi.Field) *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall {
+func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Fields(s ...googleapi.Field) *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) Context(ctx context.Context) *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall {
+func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Context(ctx context.Context) *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) Header() http.Header {
+func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalnetworkendpointgroupsdetachendpointsrequest)
+func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalnetworkendpointgroupsattachendpointsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -21532,16 +21365,277 @@ func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt st
"project": c.project,
"networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.detachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.attachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.globalNetworkEndpointGroups.detachNetworkEndpoints" call.
+// Do executes the "compute.globalNetworkEndpointGroups.attachNetworkEndpoints" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.attachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type GlobalNetworkEndpointGroupsDeleteCall struct {
+ s *Service
+ project string
+ networkEndpointGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified network endpoint group.Note that the NEG
+// cannot be
+// deleted if there are backend services referencing it.
+//
+// - networkEndpointGroup: The name of the network endpoint group to delete. It
+// should comply with
+//
+// RFC1035.
+// - project: Project ID for this request.
+func (r *GlobalNetworkEndpointGroupsService) Delete(project string, networkEndpointGroup string) *GlobalNetworkEndpointGroupsDeleteCall {
+ c := &GlobalNetworkEndpointGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.networkEndpointGroup = networkEndpointGroup
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *GlobalNetworkEndpointGroupsDeleteCall) RequestId(requestId string) *GlobalNetworkEndpointGroupsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *GlobalNetworkEndpointGroupsDeleteCall) Fields(s ...googleapi.Field) *GlobalNetworkEndpointGroupsDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *GlobalNetworkEndpointGroupsDeleteCall) Context(ctx context.Context) *GlobalNetworkEndpointGroupsDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *GlobalNetworkEndpointGroupsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *GlobalNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("DELETE", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "networkEndpointGroup": c.networkEndpointGroup,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.globalNetworkEndpointGroups.delete" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *GlobalNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.delete", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall struct {
+ s *Service
+ project string
+ networkEndpointGroup string
+ globalnetworkendpointgroupsdetachendpointsrequest *GlobalNetworkEndpointGroupsDetachEndpointsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// DetachNetworkEndpoints: Detach the network endpoint from the specified
+// network endpoint group.
+//
+// - networkEndpointGroup: The name of the network endpoint group where you are
+// removing network
+//
+// endpoints. It should comply with RFC1035.
+// - project: Project ID for this request.
+func (r *GlobalNetworkEndpointGroupsService) DetachNetworkEndpoints(project string, networkEndpointGroup string, globalnetworkendpointgroupsdetachendpointsrequest *GlobalNetworkEndpointGroupsDetachEndpointsRequest) *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall {
+ c := &GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.networkEndpointGroup = networkEndpointGroup
+ c.globalnetworkendpointgroupsdetachendpointsrequest = globalnetworkendpointgroupsdetachendpointsrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) RequestId(requestId string) *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) Fields(s ...googleapi.Field) *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) Context(ctx context.Context) *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalnetworkendpointgroupsdetachendpointsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "networkEndpointGroup": c.networkEndpointGroup,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalNetworkEndpointGroups.detachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.globalNetworkEndpointGroups.detachNetworkEndpoints" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -21629,7 +21723,7 @@ func (c *GlobalNetworkEndpointGroupsGetCall) Header() http.Header {
}
func (c *GlobalNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -21771,7 +21865,7 @@ func (c *GlobalNetworkEndpointGroupsInsertCall) Header() http.Header {
}
func (c *GlobalNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroup)
if err != nil {
return nil, err
@@ -21964,21 +22058,6 @@ func (c *GlobalNetworkEndpointGroupsListCall) PageToken(pageToken string) *Globa
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *GlobalNetworkEndpointGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *GlobalNetworkEndpointGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -22011,7 +22090,7 @@ func (c *GlobalNetworkEndpointGroupsListCall) Header() http.Header {
}
func (c *GlobalNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -22228,21 +22307,6 @@ func (c *GlobalNetworkEndpointGroupsListNetworkEndpointsCall) PageToken(pageToke
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *GlobalNetworkEndpointGroupsListNetworkEndpointsCall) ReturnPartialSuccess(returnPartialSuccess bool) *GlobalNetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -22267,7 +22331,7 @@ func (c *GlobalNetworkEndpointGroupsListNetworkEndpointsCall) Header() http.Head
}
func (c *GlobalNetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints")
@@ -22499,21 +22563,6 @@ func (c *GlobalOperationsAggregatedListCall) PageToken(pageToken string) *Global
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *GlobalOperationsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *GlobalOperationsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -22554,7 +22603,7 @@ func (c *GlobalOperationsAggregatedListCall) Header() http.Header {
}
func (c *GlobalOperationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -22682,7 +22731,7 @@ func (c *GlobalOperationsDeleteCall) Header() http.Header {
}
func (c *GlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/operations/{operation}")
@@ -22771,7 +22820,7 @@ func (c *GlobalOperationsGetCall) Header() http.Header {
}
func (c *GlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -22964,21 +23013,6 @@ func (c *GlobalOperationsListCall) PageToken(pageToken string) *GlobalOperations
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *GlobalOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *GlobalOperationsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -23011,7 +23045,7 @@ func (c *GlobalOperationsListCall) Header() http.Header {
}
func (c *GlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -23160,7 +23194,7 @@ func (c *GlobalOperationsWaitCall) Header() http.Header {
}
func (c *GlobalOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/operations/{operation}/wait")
@@ -23267,7 +23301,7 @@ func (c *GlobalOrganizationOperationsDeleteCall) Header() http.Header {
}
func (c *GlobalOrganizationOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/operations/{operation}")
@@ -23361,7 +23395,7 @@ func (c *GlobalOrganizationOperationsGetCall) Header() http.Header {
}
func (c *GlobalOrganizationOperationsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -23555,21 +23589,6 @@ func (c *GlobalOrganizationOperationsListCall) ParentId(parentId string) *Global
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *GlobalOrganizationOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *GlobalOrganizationOperationsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -23602,7 +23621,7 @@ func (c *GlobalOrganizationOperationsListCall) Header() http.Header {
}
func (c *GlobalOrganizationOperationsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -23746,7 +23765,7 @@ func (c *GlobalPublicDelegatedPrefixesDeleteCall) Header() http.Header {
}
func (c *GlobalPublicDelegatedPrefixesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}")
@@ -23857,7 +23876,7 @@ func (c *GlobalPublicDelegatedPrefixesGetCall) Header() http.Header {
}
func (c *GlobalPublicDelegatedPrefixesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -23985,7 +24004,7 @@ func (c *GlobalPublicDelegatedPrefixesInsertCall) Header() http.Header {
}
func (c *GlobalPublicDelegatedPrefixesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicdelegatedprefix)
if err != nil {
return nil, err
@@ -24176,21 +24195,6 @@ func (c *GlobalPublicDelegatedPrefixesListCall) PageToken(pageToken string) *Glo
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *GlobalPublicDelegatedPrefixesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *GlobalPublicDelegatedPrefixesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -24223,7 +24227,7 @@ func (c *GlobalPublicDelegatedPrefixesListCall) Header() http.Header {
}
func (c *GlobalPublicDelegatedPrefixesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -24377,7 +24381,7 @@ func (c *GlobalPublicDelegatedPrefixesPatchCall) Header() http.Header {
}
func (c *GlobalPublicDelegatedPrefixesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicdelegatedprefix)
if err != nil {
return nil, err
@@ -24438,7 +24442,7 @@ func (c *GlobalPublicDelegatedPrefixesPatchCall) Do(opts ...googleapi.CallOption
return ret, nil
}
-type HealthChecksAggregatedListCall struct {
+type GlobalVmExtensionPoliciesAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -24447,17 +24451,16 @@ type HealthChecksAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves the list of all HealthCheck resources, regional
-// and global,
+// AggregatedList: Retrieves the list of all VM Extension Policy
+// resources
// available to the specified project.
//
-// To prevent failure, Google recommends that you set
-// the
+// To prevent failure, it's recommended that you set the
// `returnPartialSuccess` parameter to `true`.
//
// - project: Name of the project scoping this request.
-func (r *HealthChecksService) AggregatedList(project string) *HealthChecksAggregatedListCall {
- c := &HealthChecksAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *GlobalVmExtensionPoliciesService) AggregatedList(project string) *GlobalVmExtensionPoliciesAggregatedListCall {
+ c := &GlobalVmExtensionPoliciesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -24529,7 +24532,7 @@ func (r *HealthChecksService) AggregatedList(project string) *HealthChecksAggreg
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *HealthChecksAggregatedListCall) Filter(filter string) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) Filter(filter string) *GlobalVmExtensionPoliciesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -24547,7 +24550,7 @@ func (c *HealthChecksAggregatedListCall) Filter(filter string) *HealthChecksAggr
// scopes of the scope types where the resource type is expected to be
// found
// will be included.
-func (c *HealthChecksAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *GlobalVmExtensionPoliciesAggregatedListCall {
c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
return c
}
@@ -24559,7 +24562,7 @@ func (c *HealthChecksAggregatedListCall) IncludeAllScopes(includeAllScopes bool)
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *HealthChecksAggregatedListCall) MaxResults(maxResults int64) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) MaxResults(maxResults int64) *GlobalVmExtensionPoliciesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -24579,7 +24582,7 @@ func (c *HealthChecksAggregatedListCall) MaxResults(maxResults int64) *HealthChe
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *HealthChecksAggregatedListCall) OrderBy(orderBy string) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) OrderBy(orderBy string) *GlobalVmExtensionPoliciesAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -24588,30 +24591,15 @@ func (c *HealthChecksAggregatedListCall) OrderBy(orderBy string) *HealthChecksAg
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *HealthChecksAggregatedListCall) PageToken(pageToken string) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) PageToken(pageToken string) *GlobalVmExtensionPoliciesAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *HealthChecksAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *HealthChecksAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
-func (c *HealthChecksAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *GlobalVmExtensionPoliciesAggregatedListCall {
c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
@@ -24619,7 +24607,7 @@ func (c *HealthChecksAggregatedListCall) ServiceProjectNumber(serviceProjectNumb
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HealthChecksAggregatedListCall) Fields(s ...googleapi.Field) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) Fields(s ...googleapi.Field) *GlobalVmExtensionPoliciesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -24627,34 +24615,34 @@ func (c *HealthChecksAggregatedListCall) Fields(s ...googleapi.Field) *HealthChe
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *HealthChecksAggregatedListCall) IfNoneMatch(entityTag string) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) IfNoneMatch(entityTag string) *GlobalVmExtensionPoliciesAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HealthChecksAggregatedListCall) Context(ctx context.Context) *HealthChecksAggregatedListCall {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) Context(ctx context.Context) *GlobalVmExtensionPoliciesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HealthChecksAggregatedListCall) Header() http.Header {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HealthChecksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/healthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/vmExtensionPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -24664,17 +24652,17 @@ func (c *HealthChecksAggregatedListCall) doRequest(alt string) (*http.Response,
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.healthChecks.aggregatedList" call.
+// Do executes the "compute.globalVmExtensionPolicies.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthChecksAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
+// *VmExtensionPolicyAggregatedListResponse.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *HealthChecksAggregatedListCall) Do(opts ...googleapi.CallOption) (*HealthChecksAggregatedList, error) {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*VmExtensionPolicyAggregatedListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24693,7 +24681,7 @@ func (c *HealthChecksAggregatedListCall) Do(opts ...googleapi.CallOption) (*Heal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthChecksAggregatedList{
+ ret := &VmExtensionPolicyAggregatedListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -24704,14 +24692,14 @@ func (c *HealthChecksAggregatedListCall) Do(opts ...googleapi.CallOption) (*Heal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *HealthChecksAggregatedListCall) Pages(ctx context.Context, f func(*HealthChecksAggregatedList) error) error {
+func (c *GlobalVmExtensionPoliciesAggregatedListCall) Pages(ctx context.Context, f func(*VmExtensionPolicyAggregatedListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -24729,23 +24717,276 @@ func (c *HealthChecksAggregatedListCall) Pages(ctx context.Context, f func(*Heal
}
}
-type HealthChecksDeleteCall struct {
- s *Service
- project string
- healthCheck string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type GlobalVmExtensionPoliciesDeleteCall struct {
+ s *Service
+ project string
+ globalVmExtensionPolicy string
+ globalvmextensionpolicyrolloutoperationrolloutinput *GlobalVmExtensionPolicyRolloutOperationRolloutInput
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified HealthCheck resource.
+// Delete: Purge scoped resources (zonal policies) from a global VM
+// extension
+// policy, and then delete the global VM extension policy. Purge of the
+// scoped
+// resources is a pre-condition of the global VM extension policy deletion.
+// The deletion of the global VM extension policy happens after the
+// purge
+// rollout is done, so it's not a part of the LRO. It's an automatic
+// process
+// that triggers in the backend.
+//
+// - globalVmExtensionPolicy: Name of the global VM extension policy to purge
+// scoped resources for.
+// - project: Project ID for this request.
+func (r *GlobalVmExtensionPoliciesService) Delete(project string, globalVmExtensionPolicy string, globalvmextensionpolicyrolloutoperationrolloutinput *GlobalVmExtensionPolicyRolloutOperationRolloutInput) *GlobalVmExtensionPoliciesDeleteCall {
+ c := &GlobalVmExtensionPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.globalVmExtensionPolicy = globalVmExtensionPolicy
+ c.globalvmextensionpolicyrolloutoperationrolloutinput = globalvmextensionpolicyrolloutoperationrolloutinput
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *GlobalVmExtensionPoliciesDeleteCall) RequestId(requestId string) *GlobalVmExtensionPoliciesDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *GlobalVmExtensionPoliciesDeleteCall) Fields(s ...googleapi.Field) *GlobalVmExtensionPoliciesDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *GlobalVmExtensionPoliciesDeleteCall) Context(ctx context.Context) *GlobalVmExtensionPoliciesDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *GlobalVmExtensionPoliciesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *GlobalVmExtensionPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalvmextensionpolicyrolloutoperationrolloutinput)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}/delete")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "globalVmExtensionPolicy": c.globalVmExtensionPolicy,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.delete", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.globalVmExtensionPolicies.delete" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *GlobalVmExtensionPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.delete", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type GlobalVmExtensionPoliciesGetCall struct {
+ s *Service
+ project string
+ globalVmExtensionPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Gets details of a global VM extension policy.
+//
+// - globalVmExtensionPolicy: Name of the GlobalVmExtensionPolicy resource to
+// return.
+// - project: Project ID for this request.
+func (r *GlobalVmExtensionPoliciesService) Get(project string, globalVmExtensionPolicy string) *GlobalVmExtensionPoliciesGetCall {
+ c := &GlobalVmExtensionPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.globalVmExtensionPolicy = globalVmExtensionPolicy
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *GlobalVmExtensionPoliciesGetCall) Fields(s ...googleapi.Field) *GlobalVmExtensionPoliciesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *GlobalVmExtensionPoliciesGetCall) IfNoneMatch(entityTag string) *GlobalVmExtensionPoliciesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *GlobalVmExtensionPoliciesGetCall) Context(ctx context.Context) *GlobalVmExtensionPoliciesGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *GlobalVmExtensionPoliciesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *GlobalVmExtensionPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "globalVmExtensionPolicy": c.globalVmExtensionPolicy,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.globalVmExtensionPolicies.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *GlobalVmExtensionPolicy.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *GlobalVmExtensionPoliciesGetCall) Do(opts ...googleapi.CallOption) (*GlobalVmExtensionPolicy, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &GlobalVmExtensionPolicy{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type GlobalVmExtensionPoliciesInsertCall struct {
+ s *Service
+ project string
+ globalvmextensionpolicy *GlobalVmExtensionPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a new project level GlobalVmExtensionPolicy.
//
-// - healthCheck: Name of the HealthCheck resource to delete.
// - project: Project ID for this request.
-func (r *HealthChecksService) Delete(project string, healthCheck string) *HealthChecksDeleteCall {
- c := &HealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *GlobalVmExtensionPoliciesService) Insert(project string, globalvmextensionpolicy *GlobalVmExtensionPolicy) *GlobalVmExtensionPoliciesInsertCall {
+ c := &GlobalVmExtensionPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.healthCheck = healthCheck
+ c.globalvmextensionpolicy = globalvmextensionpolicy
return c
}
@@ -24766,7 +25007,7 @@ func (r *HealthChecksService) Delete(project string, healthCheck string) *Health
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *HealthChecksDeleteCall) RequestId(requestId string) *HealthChecksDeleteCall {
+func (c *GlobalVmExtensionPoliciesInsertCall) RequestId(requestId string) *GlobalVmExtensionPoliciesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -24774,51 +25015,54 @@ func (c *HealthChecksDeleteCall) RequestId(requestId string) *HealthChecksDelete
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HealthChecksDeleteCall) Fields(s ...googleapi.Field) *HealthChecksDeleteCall {
+func (c *GlobalVmExtensionPoliciesInsertCall) Fields(s ...googleapi.Field) *GlobalVmExtensionPoliciesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HealthChecksDeleteCall) Context(ctx context.Context) *HealthChecksDeleteCall {
+func (c *GlobalVmExtensionPoliciesInsertCall) Context(ctx context.Context) *GlobalVmExtensionPoliciesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HealthChecksDeleteCall) Header() http.Header {
+func (c *GlobalVmExtensionPoliciesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *GlobalVmExtensionPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalvmextensionpolicy)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{healthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/vmExtensionPolicies")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "healthCheck": c.healthCheck,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.healthChecks.delete" call.
+// Do executes the "compute.globalVmExtensionPolicies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *GlobalVmExtensionPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24848,35 +25092,145 @@ func (c *HealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HealthChecksGetCall struct {
+type GlobalVmExtensionPoliciesListCall struct {
s *Service
project string
- healthCheck string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the specified HealthCheck resource.
+// List: Lists global VM extension policies.
//
-// - healthCheck: Name of the HealthCheck resource to return.
// - project: Project ID for this request.
-func (r *HealthChecksService) Get(project string, healthCheck string) *HealthChecksGetCall {
- c := &HealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *GlobalVmExtensionPoliciesService) List(project string) *GlobalVmExtensionPoliciesListCall {
+ c := &GlobalVmExtensionPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.healthCheck = healthCheck
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *GlobalVmExtensionPoliciesListCall) Filter(filter string) *GlobalVmExtensionPoliciesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *GlobalVmExtensionPoliciesListCall) MaxResults(maxResults int64) *GlobalVmExtensionPoliciesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *GlobalVmExtensionPoliciesListCall) OrderBy(orderBy string) *GlobalVmExtensionPoliciesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *GlobalVmExtensionPoliciesListCall) PageToken(pageToken string) *GlobalVmExtensionPoliciesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HealthChecksGetCall) Fields(s ...googleapi.Field) *HealthChecksGetCall {
+func (c *GlobalVmExtensionPoliciesListCall) Fields(s ...googleapi.Field) *GlobalVmExtensionPoliciesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -24884,34 +25238,34 @@ func (c *HealthChecksGetCall) Fields(s ...googleapi.Field) *HealthChecksGetCall
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *HealthChecksGetCall) IfNoneMatch(entityTag string) *HealthChecksGetCall {
+func (c *GlobalVmExtensionPoliciesListCall) IfNoneMatch(entityTag string) *GlobalVmExtensionPoliciesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HealthChecksGetCall) Context(ctx context.Context) *HealthChecksGetCall {
+func (c *GlobalVmExtensionPoliciesListCall) Context(ctx context.Context) *GlobalVmExtensionPoliciesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HealthChecksGetCall) Header() http.Header {
+func (c *GlobalVmExtensionPoliciesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *GlobalVmExtensionPoliciesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{healthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/vmExtensionPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -24919,19 +25273,19 @@ func (c *HealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "healthCheck": c.healthCheck,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.healthChecks.get" call.
+// Do executes the "compute.globalVmExtensionPolicies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthCheck.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *HealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthCheck, error) {
+// *GlobalVmExtensionPolicyList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *GlobalVmExtensionPoliciesListCall) Do(opts ...googleapi.CallOption) (*GlobalVmExtensionPolicyList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24950,7 +25304,7 @@ func (c *HealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthCheck, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthCheck{
+ ret := &GlobalVmExtensionPolicyList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -24961,28 +25315,50 @@ func (c *HealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthCheck, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HealthChecksInsertCall struct {
- s *Service
- project string
- healthcheck *HealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *GlobalVmExtensionPoliciesListCall) Pages(ctx context.Context, f func(*GlobalVmExtensionPolicyList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Insert: Creates a HealthCheck resource in the specified project using the
-// data
-// included in the request.
+type GlobalVmExtensionPoliciesUpdateCall struct {
+ s *Service
+ project string
+ globalVmExtensionPolicy string
+ globalvmextensionpolicy *GlobalVmExtensionPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates a global VM extension policy.
//
+// - globalVmExtensionPolicy: Name of the global VM extension policy to update.
// - project: Project ID for this request.
-func (r *HealthChecksService) Insert(project string, healthcheck *HealthCheck) *HealthChecksInsertCall {
- c := &HealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *GlobalVmExtensionPoliciesService) Update(project string, globalVmExtensionPolicy string, globalvmextensionpolicy *GlobalVmExtensionPolicy) *GlobalVmExtensionPoliciesUpdateCall {
+ c := &GlobalVmExtensionPoliciesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.healthcheck = healthcheck
+ c.globalVmExtensionPolicy = globalVmExtensionPolicy
+ c.globalvmextensionpolicy = globalvmextensionpolicy
return c
}
@@ -25003,7 +25379,7 @@ func (r *HealthChecksService) Insert(project string, healthcheck *HealthCheck) *
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *HealthChecksInsertCall) RequestId(requestId string) *HealthChecksInsertCall {
+func (c *GlobalVmExtensionPoliciesUpdateCall) RequestId(requestId string) *GlobalVmExtensionPoliciesUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -25011,54 +25387,55 @@ func (c *HealthChecksInsertCall) RequestId(requestId string) *HealthChecksInsert
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HealthChecksInsertCall) Fields(s ...googleapi.Field) *HealthChecksInsertCall {
+func (c *GlobalVmExtensionPoliciesUpdateCall) Fields(s ...googleapi.Field) *GlobalVmExtensionPoliciesUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HealthChecksInsertCall) Context(ctx context.Context) *HealthChecksInsertCall {
+func (c *GlobalVmExtensionPoliciesUpdateCall) Context(ctx context.Context) *GlobalVmExtensionPoliciesUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HealthChecksInsertCall) Header() http.Header {
+func (c *GlobalVmExtensionPoliciesUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
+func (c *GlobalVmExtensionPoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalvmextensionpolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "globalVmExtensionPolicy": c.globalVmExtensionPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.healthChecks.insert" call.
+// Do executes the "compute.globalVmExtensionPolicies.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *GlobalVmExtensionPoliciesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25088,11 +25465,11 @@ func (c *HealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.globalVmExtensionPolicies.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HealthChecksListCall struct {
+type HealthChecksAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -25101,13 +25478,17 @@ type HealthChecksListCall struct {
header_ http.Header
}
-// List: Retrieves the list of HealthCheck resources available to the
-// specified
-// project.
+// AggregatedList: Retrieves the list of all HealthCheck resources, regional
+// and global,
+// available to the specified project.
//
-// - project: Project ID for this request.
-func (r *HealthChecksService) List(project string) *HealthChecksListCall {
- c := &HealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Name of the project scoping this request.
+func (r *HealthChecksService) AggregatedList(project string) *HealthChecksAggregatedListCall {
+ c := &HealthChecksAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -25179,11 +25560,29 @@ func (r *HealthChecksService) List(project string) *HealthChecksListCall {
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *HealthChecksListCall) Filter(filter string) *HealthChecksListCall {
+func (c *HealthChecksAggregatedListCall) Filter(filter string) *HealthChecksAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *HealthChecksAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *HealthChecksAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -25191,7 +25590,7 @@ func (c *HealthChecksListCall) Filter(filter string) *HealthChecksListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *HealthChecksListCall) MaxResults(maxResults int64) *HealthChecksListCall {
+func (c *HealthChecksAggregatedListCall) MaxResults(maxResults int64) *HealthChecksAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -25211,7 +25610,7 @@ func (c *HealthChecksListCall) MaxResults(maxResults int64) *HealthChecksListCal
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *HealthChecksListCall) OrderBy(orderBy string) *HealthChecksListCall {
+func (c *HealthChecksAggregatedListCall) OrderBy(orderBy string) *HealthChecksAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -25220,30 +25619,23 @@ func (c *HealthChecksListCall) OrderBy(orderBy string) *HealthChecksListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *HealthChecksListCall) PageToken(pageToken string) *HealthChecksListCall {
+func (c *HealthChecksAggregatedListCall) PageToken(pageToken string) *HealthChecksAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *HealthChecksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *HealthChecksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *HealthChecksAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *HealthChecksAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HealthChecksListCall) Fields(s ...googleapi.Field) *HealthChecksListCall {
+func (c *HealthChecksAggregatedListCall) Fields(s ...googleapi.Field) *HealthChecksAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -25251,34 +25643,34 @@ func (c *HealthChecksListCall) Fields(s ...googleapi.Field) *HealthChecksListCal
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *HealthChecksListCall) IfNoneMatch(entityTag string) *HealthChecksListCall {
+func (c *HealthChecksAggregatedListCall) IfNoneMatch(entityTag string) *HealthChecksAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HealthChecksListCall) Context(ctx context.Context) *HealthChecksListCall {
+func (c *HealthChecksAggregatedListCall) Context(ctx context.Context) *HealthChecksAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HealthChecksListCall) Header() http.Header {
+func (c *HealthChecksAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HealthChecksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *HealthChecksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/healthChecks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -25288,17 +25680,17 @@ func (c *HealthChecksListCall) doRequest(alt string) (*http.Response, error) {
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.healthChecks.list" call.
+// Do executes the "compute.healthChecks.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthCheckList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *HealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCheckList, error) {
+// *HealthChecksAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *HealthChecksAggregatedListCall) Do(opts ...googleapi.CallOption) (*HealthChecksAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25317,7 +25709,7 @@ func (c *HealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCheckLis
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthCheckList{
+ ret := &HealthChecksAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -25328,14 +25720,14 @@ func (c *HealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCheckLis
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *HealthChecksListCall) Pages(ctx context.Context, f func(*HealthCheckList) error) error {
+func (c *HealthChecksAggregatedListCall) Pages(ctx context.Context, f func(*HealthChecksAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -25353,29 +25745,23 @@ func (c *HealthChecksListCall) Pages(ctx context.Context, f func(*HealthCheckLis
}
}
-type HealthChecksPatchCall struct {
+type HealthChecksDeleteCall struct {
s *Service
project string
healthCheck string
- healthcheck *HealthCheck
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// Patch: Updates a HealthCheck resource in the specified project using the
-// data
-// included in the request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// Delete: Deletes the specified HealthCheck resource.
//
-// - healthCheck: Name of the HealthCheck resource to patch.
+// - healthCheck: Name of the HealthCheck resource to delete.
// - project: Project ID for this request.
-func (r *HealthChecksService) Patch(project string, healthCheck string, healthcheck *HealthCheck) *HealthChecksPatchCall {
- c := &HealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HealthChecksService) Delete(project string, healthCheck string) *HealthChecksDeleteCall {
+ c := &HealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.healthCheck = healthCheck
- c.healthcheck = healthcheck
return c
}
@@ -25396,7 +25782,7 @@ func (r *HealthChecksService) Patch(project string, healthCheck string, healthch
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *HealthChecksPatchCall) RequestId(requestId string) *HealthChecksPatchCall {
+func (c *HealthChecksDeleteCall) RequestId(requestId string) *HealthChecksDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -25404,37 +25790,33 @@ func (c *HealthChecksPatchCall) RequestId(requestId string) *HealthChecksPatchCa
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HealthChecksPatchCall) Fields(s ...googleapi.Field) *HealthChecksPatchCall {
+func (c *HealthChecksDeleteCall) Fields(s ...googleapi.Field) *HealthChecksDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HealthChecksPatchCall) Context(ctx context.Context) *HealthChecksPatchCall {
+func (c *HealthChecksDeleteCall) Context(ctx context.Context) *HealthChecksDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HealthChecksPatchCall) Header() http.Header {
+func (c *HealthChecksDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
- if err != nil {
- return nil, err
- }
+func (c *HealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{healthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
@@ -25443,16 +25825,16 @@ func (c *HealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
"project": c.project,
"healthCheck": c.healthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.healthChecks.patch" call.
+// Do executes the "compute.healthChecks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25482,86 +25864,90 @@ func (c *HealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HealthChecksTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HealthChecksGetCall struct {
+ s *Service
+ project string
+ healthCheck string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Get: Returns the specified HealthCheck resource.
//
+// - healthCheck: Name of the HealthCheck resource to return.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *HealthChecksService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *HealthChecksTestIamPermissionsCall {
- c := &HealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HealthChecksService) Get(project string, healthCheck string) *HealthChecksGetCall {
+ c := &HealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.healthCheck = healthCheck
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *HealthChecksTestIamPermissionsCall {
+func (c *HealthChecksGetCall) Fields(s ...googleapi.Field) *HealthChecksGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *HealthChecksGetCall) IfNoneMatch(entityTag string) *HealthChecksGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *HealthChecksTestIamPermissionsCall) Context(ctx context.Context) *HealthChecksTestIamPermissionsCall {
+func (c *HealthChecksGetCall) Context(ctx context.Context) *HealthChecksGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HealthChecksTestIamPermissionsCall) Header() http.Header {
+func (c *HealthChecksGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *HealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{healthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "healthCheck": c.healthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.healthChecks.testIamPermissions" call.
+// Do executes the "compute.healthChecks.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *HealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *HealthCheck.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *HealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthCheck, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25580,7 +25966,7 @@ func (c *HealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &HealthCheck{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -25591,30 +25977,27 @@ func (c *HealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HealthChecksUpdateCall struct {
+type HealthChecksInsertCall struct {
s *Service
project string
- healthCheck string
healthcheck *HealthCheck
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// Update: Updates a HealthCheck resource in the specified project using the
+// Insert: Creates a HealthCheck resource in the specified project using the
// data
// included in the request.
//
-// - healthCheck: Name of the HealthCheck resource to update.
// - project: Project ID for this request.
-func (r *HealthChecksService) Update(project string, healthCheck string, healthcheck *HealthCheck) *HealthChecksUpdateCall {
- c := &HealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HealthChecksService) Insert(project string, healthcheck *HealthCheck) *HealthChecksInsertCall {
+ c := &HealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.healthCheck = healthCheck
c.healthcheck = healthcheck
return c
}
@@ -25636,7 +26019,7 @@ func (r *HealthChecksService) Update(project string, healthCheck string, healthc
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *HealthChecksUpdateCall) RequestId(requestId string) *HealthChecksUpdateCall {
+func (c *HealthChecksInsertCall) RequestId(requestId string) *HealthChecksInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -25644,55 +26027,54 @@ func (c *HealthChecksUpdateCall) RequestId(requestId string) *HealthChecksUpdate
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HealthChecksUpdateCall) Fields(s ...googleapi.Field) *HealthChecksUpdateCall {
+func (c *HealthChecksInsertCall) Fields(s ...googleapi.Field) *HealthChecksInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HealthChecksUpdateCall) Context(ctx context.Context) *HealthChecksUpdateCall {
+func (c *HealthChecksInsertCall) Context(ctx context.Context) *HealthChecksInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HealthChecksUpdateCall) Header() http.Header {
+func (c *HealthChecksInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *HealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{healthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PUT", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "healthCheck": c.healthCheck,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.healthChecks.update" call.
+// Do executes the "compute.healthChecks.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25722,375 +26104,11 @@ func (c *HealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.update", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type HttpHealthChecksDeleteCall struct {
- s *Service
- project string
- httpHealthCheck string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Delete: Deletes the specified HttpHealthCheck resource.
-//
-// - httpHealthCheck: Name of the HttpHealthCheck resource to delete.
-// - project: Project ID for this request.
-func (r *HttpHealthChecksService) Delete(project string, httpHealthCheck string) *HttpHealthChecksDeleteCall {
- c := &HttpHealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.httpHealthCheck = httpHealthCheck
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *HttpHealthChecksDeleteCall) RequestId(requestId string) *HttpHealthChecksDeleteCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *HttpHealthChecksDeleteCall) Fields(s ...googleapi.Field) *HttpHealthChecksDeleteCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *HttpHealthChecksDeleteCall) Context(ctx context.Context) *HttpHealthChecksDeleteCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *HttpHealthChecksDeleteCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *HttpHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{httpHealthCheck}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "httpHealthCheck": c.httpHealthCheck,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.delete", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.httpHealthChecks.delete" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *HttpHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.delete", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type HttpHealthChecksGetCall struct {
- s *Service
- project string
- httpHealthCheck string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// Get: Returns the specified HttpHealthCheck resource.
-//
-// - httpHealthCheck: Name of the HttpHealthCheck resource to return.
-// - project: Project ID for this request.
-func (r *HttpHealthChecksService) Get(project string, httpHealthCheck string) *HttpHealthChecksGetCall {
- c := &HttpHealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.httpHealthCheck = httpHealthCheck
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *HttpHealthChecksGetCall) Fields(s ...googleapi.Field) *HttpHealthChecksGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *HttpHealthChecksGetCall) IfNoneMatch(entityTag string) *HttpHealthChecksGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *HttpHealthChecksGetCall) Context(ctx context.Context) *HttpHealthChecksGetCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *HttpHealthChecksGetCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *HttpHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{httpHealthCheck}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "httpHealthCheck": c.httpHealthCheck,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.get", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.httpHealthChecks.get" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *HttpHealthCheck.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *HttpHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpHealthCheck, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &HttpHealthCheck{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.get", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type HttpHealthChecksInsertCall struct {
- s *Service
- project string
- httphealthcheck *HttpHealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Insert: Creates a HttpHealthCheck resource in the specified project using
-// the data
-// included in the request.
-//
-// - project: Project ID for this request.
-func (r *HttpHealthChecksService) Insert(project string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksInsertCall {
- c := &HttpHealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.httphealthcheck = httphealthcheck
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *HttpHealthChecksInsertCall) RequestId(requestId string) *HttpHealthChecksInsertCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *HttpHealthChecksInsertCall) Fields(s ...googleapi.Field) *HttpHealthChecksInsertCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *HttpHealthChecksInsertCall) Context(ctx context.Context) *HttpHealthChecksInsertCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *HttpHealthChecksInsertCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *HttpHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httphealthcheck)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.httpHealthChecks.insert" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *HttpHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HttpHealthChecksListCall struct {
+type HealthChecksListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -26099,13 +26117,13 @@ type HttpHealthChecksListCall struct {
header_ http.Header
}
-// List: Retrieves the list of HttpHealthCheck resources available to the
+// List: Retrieves the list of HealthCheck resources available to the
// specified
// project.
//
// - project: Project ID for this request.
-func (r *HttpHealthChecksService) List(project string) *HttpHealthChecksListCall {
- c := &HttpHealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HealthChecksService) List(project string) *HealthChecksListCall {
+ c := &HealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -26177,7 +26195,7 @@ func (r *HttpHealthChecksService) List(project string) *HttpHealthChecksListCall
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *HttpHealthChecksListCall) Filter(filter string) *HttpHealthChecksListCall {
+func (c *HealthChecksListCall) Filter(filter string) *HealthChecksListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -26189,7 +26207,7 @@ func (c *HttpHealthChecksListCall) Filter(filter string) *HttpHealthChecksListCa
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *HttpHealthChecksListCall) MaxResults(maxResults int64) *HttpHealthChecksListCall {
+func (c *HealthChecksListCall) MaxResults(maxResults int64) *HealthChecksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -26209,7 +26227,7 @@ func (c *HttpHealthChecksListCall) MaxResults(maxResults int64) *HttpHealthCheck
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *HttpHealthChecksListCall) OrderBy(orderBy string) *HttpHealthChecksListCall {
+func (c *HealthChecksListCall) OrderBy(orderBy string) *HealthChecksListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -26218,30 +26236,15 @@ func (c *HttpHealthChecksListCall) OrderBy(orderBy string) *HttpHealthChecksList
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *HttpHealthChecksListCall) PageToken(pageToken string) *HttpHealthChecksListCall {
+func (c *HealthChecksListCall) PageToken(pageToken string) *HealthChecksListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *HttpHealthChecksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *HttpHealthChecksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpHealthChecksListCall) Fields(s ...googleapi.Field) *HttpHealthChecksListCall {
+func (c *HealthChecksListCall) Fields(s ...googleapi.Field) *HealthChecksListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -26249,34 +26252,34 @@ func (c *HttpHealthChecksListCall) Fields(s ...googleapi.Field) *HttpHealthCheck
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *HttpHealthChecksListCall) IfNoneMatch(entityTag string) *HttpHealthChecksListCall {
+func (c *HealthChecksListCall) IfNoneMatch(entityTag string) *HealthChecksListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpHealthChecksListCall) Context(ctx context.Context) *HttpHealthChecksListCall {
+func (c *HealthChecksListCall) Context(ctx context.Context) *HealthChecksListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpHealthChecksListCall) Header() http.Header {
+func (c *HealthChecksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *HealthChecksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -26286,17 +26289,17 @@ func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error)
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpHealthChecks.list" call.
+// Do executes the "compute.healthChecks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HttpHealthCheckList.ServerResponse.Header or (if a response was returned at
+// *HealthCheckList.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *HttpHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpHealthCheckList, error) {
+func (c *HealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCheckList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26315,7 +26318,7 @@ func (c *HttpHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpHealth
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HttpHealthCheckList{
+ ret := &HealthCheckList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -26326,14 +26329,14 @@ func (c *HttpHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpHealth
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *HttpHealthChecksListCall) Pages(ctx context.Context, f func(*HttpHealthCheckList) error) error {
+func (c *HealthChecksListCall) Pages(ctx context.Context, f func(*HealthCheckList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -26351,29 +26354,29 @@ func (c *HttpHealthChecksListCall) Pages(ctx context.Context, f func(*HttpHealth
}
}
-type HttpHealthChecksPatchCall struct {
- s *Service
- project string
- httpHealthCheck string
- httphealthcheck *HttpHealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HealthChecksPatchCall struct {
+ s *Service
+ project string
+ healthCheck string
+ healthcheck *HealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates a HttpHealthCheck resource in the specified project using the
+// Patch: Updates a HealthCheck resource in the specified project using the
// data
// included in the request. This method supportsPATCH
// semantics and uses theJSON merge
// patch format and processing rules.
//
-// - httpHealthCheck: Name of the HttpHealthCheck resource to patch.
+// - healthCheck: Name of the HealthCheck resource to patch.
// - project: Project ID for this request.
-func (r *HttpHealthChecksService) Patch(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksPatchCall {
- c := &HttpHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HealthChecksService) Patch(project string, healthCheck string, healthcheck *HealthCheck) *HealthChecksPatchCall {
+ c := &HealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.httpHealthCheck = httpHealthCheck
- c.httphealthcheck = httphealthcheck
+ c.healthCheck = healthCheck
+ c.healthcheck = healthcheck
return c
}
@@ -26394,7 +26397,7 @@ func (r *HttpHealthChecksService) Patch(project string, httpHealthCheck string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *HttpHealthChecksPatchCall) RequestId(requestId string) *HttpHealthChecksPatchCall {
+func (c *HealthChecksPatchCall) RequestId(requestId string) *HealthChecksPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -26402,35 +26405,35 @@ func (c *HttpHealthChecksPatchCall) RequestId(requestId string) *HttpHealthCheck
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpHealthChecksPatchCall) Fields(s ...googleapi.Field) *HttpHealthChecksPatchCall {
+func (c *HealthChecksPatchCall) Fields(s ...googleapi.Field) *HealthChecksPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpHealthChecksPatchCall) Context(ctx context.Context) *HttpHealthChecksPatchCall {
+func (c *HealthChecksPatchCall) Context(ctx context.Context) *HealthChecksPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpHealthChecksPatchCall) Header() http.Header {
+func (c *HealthChecksPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httphealthcheck)
+func (c *HealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{httpHealthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{healthCheck}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
@@ -26438,19 +26441,19 @@ func (c *HttpHealthChecksPatchCall) doRequest(alt string) (*http.Response, error
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "httpHealthCheck": c.httpHealthCheck,
+ "project": c.project,
+ "healthCheck": c.healthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpHealthChecks.patch" call.
+// Do executes the "compute.healthChecks.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26480,11 +26483,11 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HttpHealthChecksTestIamPermissionsCall struct {
+type HealthChecksTestIamPermissionsCall struct {
s *Service
project string
resource string
@@ -26499,8 +26502,8 @@ type HttpHealthChecksTestIamPermissionsCall struct {
//
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
-func (r *HttpHealthChecksService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *HttpHealthChecksTestIamPermissionsCall {
- c := &HttpHealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HealthChecksService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *HealthChecksTestIamPermissionsCall {
+ c := &HealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.resource = resource
c.testpermissionsrequest = testpermissionsrequest
@@ -26510,35 +26513,35 @@ func (r *HttpHealthChecksService) TestIamPermissions(project string, resource st
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpHealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *HttpHealthChecksTestIamPermissionsCall {
+func (c *HealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *HealthChecksTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpHealthChecksTestIamPermissionsCall) Context(ctx context.Context) *HttpHealthChecksTestIamPermissionsCall {
+func (c *HealthChecksTestIamPermissionsCall) Context(ctx context.Context) *HealthChecksTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpHealthChecksTestIamPermissionsCall) Header() http.Header {
+func (c *HealthChecksTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *HealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -26549,17 +26552,17 @@ func (c *HttpHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Re
"project": c.project,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpHealthChecks.testIamPermissions" call.
+// Do executes the "compute.healthChecks.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *HttpHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *HealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26589,31 +26592,31 @@ func (c *HttpHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HttpHealthChecksUpdateCall struct {
- s *Service
- project string
- httpHealthCheck string
- httphealthcheck *HttpHealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HealthChecksUpdateCall struct {
+ s *Service
+ project string
+ healthCheck string
+ healthcheck *HealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates a HttpHealthCheck resource in the specified project using
-// the data
+// Update: Updates a HealthCheck resource in the specified project using the
+// data
// included in the request.
//
-// - httpHealthCheck: Name of the HttpHealthCheck resource to update.
+// - healthCheck: Name of the HealthCheck resource to update.
// - project: Project ID for this request.
-func (r *HttpHealthChecksService) Update(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksUpdateCall {
- c := &HttpHealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HealthChecksService) Update(project string, healthCheck string, healthcheck *HealthCheck) *HealthChecksUpdateCall {
+ c := &HealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.httpHealthCheck = httpHealthCheck
- c.httphealthcheck = httphealthcheck
+ c.healthCheck = healthCheck
+ c.healthcheck = healthcheck
return c
}
@@ -26634,7 +26637,7 @@ func (r *HttpHealthChecksService) Update(project string, httpHealthCheck string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *HttpHealthChecksUpdateCall) RequestId(requestId string) *HttpHealthChecksUpdateCall {
+func (c *HealthChecksUpdateCall) RequestId(requestId string) *HealthChecksUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -26642,35 +26645,35 @@ func (c *HttpHealthChecksUpdateCall) RequestId(requestId string) *HttpHealthChec
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpHealthChecksUpdateCall) Fields(s ...googleapi.Field) *HttpHealthChecksUpdateCall {
+func (c *HealthChecksUpdateCall) Fields(s ...googleapi.Field) *HealthChecksUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpHealthChecksUpdateCall) Context(ctx context.Context) *HttpHealthChecksUpdateCall {
+func (c *HealthChecksUpdateCall) Context(ctx context.Context) *HealthChecksUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpHealthChecksUpdateCall) Header() http.Header {
+func (c *HealthChecksUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httphealthcheck)
+func (c *HealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{httpHealthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/healthChecks/{healthCheck}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PUT", urls, body)
if err != nil {
@@ -26678,142 +26681,19 @@ func (c *HttpHealthChecksUpdateCall) doRequest(alt string) (*http.Response, erro
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "httpHealthCheck": c.httpHealthCheck,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.httpHealthChecks.update" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *HttpHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.update", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type HttpsHealthChecksDeleteCall struct {
- s *Service
- project string
- httpsHealthCheck string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Delete: Deletes the specified HttpsHealthCheck resource.
-//
-// - httpsHealthCheck: Name of the HttpsHealthCheck resource to delete.
-// - project: Project ID for this request.
-func (r *HttpsHealthChecksService) Delete(project string, httpsHealthCheck string) *HttpsHealthChecksDeleteCall {
- c := &HttpsHealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.httpsHealthCheck = httpsHealthCheck
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *HttpsHealthChecksDeleteCall) RequestId(requestId string) *HttpsHealthChecksDeleteCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *HttpsHealthChecksDeleteCall) Fields(s ...googleapi.Field) *HttpsHealthChecksDeleteCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *HttpsHealthChecksDeleteCall) Context(ctx context.Context) *HttpsHealthChecksDeleteCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *HttpsHealthChecksDeleteCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *HttpsHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "httpsHealthCheck": c.httpsHealthCheck,
+ "project": c.project,
+ "healthCheck": c.healthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.healthChecks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpsHealthChecks.delete" call.
+// Do executes the "compute.healthChecks.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HttpsHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26843,35 +26723,51 @@ func (c *HttpsHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.healthChecks.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HttpsHealthChecksGetCall struct {
- s *Service
- project string
- httpsHealthCheck string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type HostsGetCall struct {
+ s *Service
+ project string
+ zone string
+ association string
+ host string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified HttpsHealthCheck resource.
-//
-// - httpsHealthCheck: Name of the HttpsHealthCheck resource to return.
-// - project: Project ID for this request.
-func (r *HttpsHealthChecksService) Get(project string, httpsHealthCheck string) *HttpsHealthChecksGetCall {
- c := &HttpsHealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// Get: Retrieves information about the specified host.
+//
+// - association: The parent resource association for the Host. This field
+// specifies the
+// hierarchical context (e.g., reservation, block, sub-block) when
+// accessing the host. For example,
+// reservations/reservation_name,
+// reservations/reservation_name/reservationBlocks/reservation_block_name
+// or
+// reservations/reservation_name/reservationBlocks/reservation_block_name/rese
+// rvationSubBlocks/reservation_sub_block_name.
+// - host: The name of the host, formatted as RFC1035 or a resource ID
+//
+// number.
+// - project: The project ID for this request.
+// - zone: The name of the zone for this request, formatted as RFC1035.
+func (r *HostsService) Get(project string, zone string, association string, host string) *HostsGetCall {
+ c := &HostsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.httpsHealthCheck = httpsHealthCheck
+ c.zone = zone
+ c.association = association
+ c.host = host
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpsHealthChecksGetCall) Fields(s ...googleapi.Field) *HttpsHealthChecksGetCall {
+func (c *HostsGetCall) Fields(s ...googleapi.Field) *HostsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -26879,34 +26775,34 @@ func (c *HttpsHealthChecksGetCall) Fields(s ...googleapi.Field) *HttpsHealthChec
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *HttpsHealthChecksGetCall) IfNoneMatch(entityTag string) *HttpsHealthChecksGetCall {
+func (c *HostsGetCall) IfNoneMatch(entityTag string) *HostsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpsHealthChecksGetCall) Context(ctx context.Context) *HttpsHealthChecksGetCall {
+func (c *HostsGetCall) Context(ctx context.Context) *HostsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpsHealthChecksGetCall) Header() http.Header {
+func (c *HostsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpsHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *HostsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{association}/hosts/{host}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -26914,20 +26810,21 @@ func (c *HttpsHealthChecksGetCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "httpsHealthCheck": c.httpsHealthCheck,
+ "project": c.project,
+ "zone": c.zone,
+ "association": c.association,
+ "host": c.host,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.hosts.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpsHealthChecks.get" call.
+// Do executes the "compute.hosts.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HttpsHealthCheck.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *HttpsHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpsHealthCheck, error) {
+// *Host.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *HostsGetCall) Do(opts ...googleapi.CallOption) (*Host, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26946,7 +26843,7 @@ func (c *HttpsHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpsHealt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HttpsHealthCheck{
+ ret := &Host{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -26957,28 +26854,41 @@ func (c *HttpsHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpsHealt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.hosts.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HttpsHealthChecksInsertCall struct {
- s *Service
- project string
- httpshealthcheck *HttpsHealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HostsGetVersionCall struct {
+ s *Service
+ project string
+ zone string
+ association string
+ host string
+ hostsgetversionrequest *HostsGetVersionRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a HttpsHealthCheck resource in the specified project using
-// the data
-// included in the request.
+// GetVersion: Allows customers to get SBOM versions of a host.
//
-// - project: Project ID for this request.
-func (r *HttpsHealthChecksService) Insert(project string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksInsertCall {
- c := &HttpsHealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - association: The parent resource association for the Host. This field
+// specifies the
+// hierarchical context (e.g., reservation, block, sub-block) when
+// accessing the host.
+// - host: The name of the host, formatted as RFC1035 or a resource ID
+//
+// number.
+// - project: Project ID for this request.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *HostsService) GetVersion(project string, zone string, association string, host string, hostsgetversionrequest *HostsGetVersionRequest) *HostsGetVersionCall {
+ c := &HostsGetVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.httpshealthcheck = httpshealthcheck
+ c.zone = zone
+ c.association = association
+ c.host = host
+ c.hostsgetversionrequest = hostsgetversionrequest
return c
}
@@ -26987,19 +26897,7 @@ func (r *HttpsHealthChecksService) Insert(project string, httpshealthcheck *Http
// that if you must retry your request, the server will know to ignore
// the
// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *HttpsHealthChecksInsertCall) RequestId(requestId string) *HttpsHealthChecksInsertCall {
+func (c *HostsGetVersionCall) RequestId(requestId string) *HostsGetVersionCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -27007,35 +26905,35 @@ func (c *HttpsHealthChecksInsertCall) RequestId(requestId string) *HttpsHealthCh
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpsHealthChecksInsertCall) Fields(s ...googleapi.Field) *HttpsHealthChecksInsertCall {
+func (c *HostsGetVersionCall) Fields(s ...googleapi.Field) *HostsGetVersionCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpsHealthChecksInsertCall) Context(ctx context.Context) *HttpsHealthChecksInsertCall {
+func (c *HostsGetVersionCall) Context(ctx context.Context) *HostsGetVersionCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpsHealthChecksInsertCall) Header() http.Header {
+func (c *HostsGetVersionCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpsHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httpshealthcheck)
+func (c *HostsGetVersionCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.hostsgetversionrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{association}/hosts/{host}/getVersion")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -27043,18 +26941,21 @@ func (c *HttpsHealthChecksInsertCall) doRequest(alt string) (*http.Response, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "zone": c.zone,
+ "association": c.association,
+ "host": c.host,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.hosts.getVersion", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpsHealthChecks.insert" call.
+// Do executes the "compute.hosts.getVersion" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HttpsHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HostsGetVersionCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27084,27 +26985,39 @@ func (c *HttpsHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.hosts.getVersion", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HttpsHealthChecksListCall struct {
+type HostsListCall struct {
s *Service
project string
+ zone string
+ association string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of HttpsHealthCheck resources available to the
-// specified
-// project.
-//
-// - project: Project ID for this request.
-func (r *HttpsHealthChecksService) List(project string) *HttpsHealthChecksListCall {
- c := &HttpsHealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// List: Retrieves a list of hosts.
+//
+// - association: The parent resource association for the Host. This field
+// specifies the
+// hierarchical context (e.g., reservation, block, sub-block) when
+// accessing the host. For example,
+// reservations/reservation_name,
+// reservations/reservation_name/reservationBlocks/reservation_block_name
+// or
+// reservations/reservation_name/reservationBlocks/reservation_block_name/rese
+// rvationSubBlocks/reservation_sub_block_name.
+// - project: The project ID for this request.
+// - zone: The name of the zone for this request, formatted as RFC1035.
+func (r *HostsService) List(project string, zone string, association string) *HostsListCall {
+ c := &HostsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
+ c.association = association
return c
}
@@ -27175,7 +27088,7 @@ func (r *HttpsHealthChecksService) List(project string) *HttpsHealthChecksListCa
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *HttpsHealthChecksListCall) Filter(filter string) *HttpsHealthChecksListCall {
+func (c *HostsListCall) Filter(filter string) *HostsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -27187,7 +27100,7 @@ func (c *HttpsHealthChecksListCall) Filter(filter string) *HttpsHealthChecksList
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *HttpsHealthChecksListCall) MaxResults(maxResults int64) *HttpsHealthChecksListCall {
+func (c *HostsListCall) MaxResults(maxResults int64) *HostsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -27207,7 +27120,7 @@ func (c *HttpsHealthChecksListCall) MaxResults(maxResults int64) *HttpsHealthChe
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *HttpsHealthChecksListCall) OrderBy(orderBy string) *HttpsHealthChecksListCall {
+func (c *HostsListCall) OrderBy(orderBy string) *HostsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -27216,30 +27129,15 @@ func (c *HttpsHealthChecksListCall) OrderBy(orderBy string) *HttpsHealthChecksLi
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *HttpsHealthChecksListCall) PageToken(pageToken string) *HttpsHealthChecksListCall {
+func (c *HostsListCall) PageToken(pageToken string) *HostsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *HttpsHealthChecksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *HttpsHealthChecksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpsHealthChecksListCall) Fields(s ...googleapi.Field) *HttpsHealthChecksListCall {
+func (c *HostsListCall) Fields(s ...googleapi.Field) *HostsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -27247,34 +27145,34 @@ func (c *HttpsHealthChecksListCall) Fields(s ...googleapi.Field) *HttpsHealthChe
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *HttpsHealthChecksListCall) IfNoneMatch(entityTag string) *HttpsHealthChecksListCall {
+func (c *HostsListCall) IfNoneMatch(entityTag string) *HostsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpsHealthChecksListCall) Context(ctx context.Context) *HttpsHealthChecksListCall {
+func (c *HostsListCall) Context(ctx context.Context) *HostsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpsHealthChecksListCall) Header() http.Header {
+func (c *HostsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpsHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *HostsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{association}/hosts")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -27282,19 +27180,21 @@ func (c *HttpsHealthChecksListCall) doRequest(alt string) (*http.Response, error
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "zone": c.zone,
+ "association": c.association,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.hosts.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpsHealthChecks.list" call.
+// Do executes the "compute.hosts.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HttpsHealthCheckList.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *HostsListResponse.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *HttpsHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpsHealthCheckList, error) {
+func (c *HostsListCall) Do(opts ...googleapi.CallOption) (*HostsListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27313,7 +27213,7 @@ func (c *HttpsHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpsHeal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HttpsHealthCheckList{
+ ret := &HostsListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -27324,14 +27224,14 @@ func (c *HttpsHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpsHeal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.hosts.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *HttpsHealthChecksListCall) Pages(ctx context.Context, f func(*HttpsHealthCheckList) error) error {
+func (c *HostsListCall) Pages(ctx context.Context, f func(*HostsListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -27349,29 +27249,23 @@ func (c *HttpsHealthChecksListCall) Pages(ctx context.Context, f func(*HttpsHeal
}
}
-type HttpsHealthChecksPatchCall struct {
- s *Service
- project string
- httpsHealthCheck string
- httpshealthcheck *HttpsHealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HttpHealthChecksDeleteCall struct {
+ s *Service
+ project string
+ httpHealthCheck string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates a HttpsHealthCheck resource in the specified project using
-// the data
-// included in the request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// Delete: Deletes the specified HttpHealthCheck resource.
//
-// - httpsHealthCheck: Name of the HttpsHealthCheck resource to patch.
+// - httpHealthCheck: Name of the HttpHealthCheck resource to delete.
// - project: Project ID for this request.
-func (r *HttpsHealthChecksService) Patch(project string, httpsHealthCheck string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksPatchCall {
- c := &HttpsHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpHealthChecksService) Delete(project string, httpHealthCheck string) *HttpHealthChecksDeleteCall {
+ c := &HttpHealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.httpsHealthCheck = httpsHealthCheck
- c.httpshealthcheck = httpshealthcheck
+ c.httpHealthCheck = httpHealthCheck
return c
}
@@ -27392,7 +27286,7 @@ func (r *HttpsHealthChecksService) Patch(project string, httpsHealthCheck string
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *HttpsHealthChecksPatchCall) RequestId(requestId string) *HttpsHealthChecksPatchCall {
+func (c *HttpHealthChecksDeleteCall) RequestId(requestId string) *HttpHealthChecksDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -27400,55 +27294,51 @@ func (c *HttpsHealthChecksPatchCall) RequestId(requestId string) *HttpsHealthChe
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpsHealthChecksPatchCall) Fields(s ...googleapi.Field) *HttpsHealthChecksPatchCall {
+func (c *HttpHealthChecksDeleteCall) Fields(s ...googleapi.Field) *HttpHealthChecksDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpsHealthChecksPatchCall) Context(ctx context.Context) *HttpsHealthChecksPatchCall {
+func (c *HttpHealthChecksDeleteCall) Context(ctx context.Context) *HttpHealthChecksDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpsHealthChecksPatchCall) Header() http.Header {
+func (c *HttpHealthChecksDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpsHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httpshealthcheck)
- if err != nil {
- return nil, err
- }
+func (c *HttpHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{httpHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "httpsHealthCheck": c.httpsHealthCheck,
+ "project": c.project,
+ "httpHealthCheck": c.httpHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpsHealthChecks.patch" call.
+// Do executes the "compute.httpHealthChecks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HttpHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27478,86 +27368,91 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HttpsHealthChecksTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HttpHealthChecksGetCall struct {
+ s *Service
+ project string
+ httpHealthCheck string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Get: Returns the specified HttpHealthCheck resource.
//
+// - httpHealthCheck: Name of the HttpHealthCheck resource to return.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *HttpsHealthChecksService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *HttpsHealthChecksTestIamPermissionsCall {
- c := &HttpsHealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpHealthChecksService) Get(project string, httpHealthCheck string) *HttpHealthChecksGetCall {
+ c := &HttpHealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.httpHealthCheck = httpHealthCheck
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpsHealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *HttpsHealthChecksTestIamPermissionsCall {
+func (c *HttpHealthChecksGetCall) Fields(s ...googleapi.Field) *HttpHealthChecksGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *HttpHealthChecksGetCall) IfNoneMatch(entityTag string) *HttpHealthChecksGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *HttpsHealthChecksTestIamPermissionsCall) Context(ctx context.Context) *HttpsHealthChecksTestIamPermissionsCall {
+func (c *HttpHealthChecksGetCall) Context(ctx context.Context) *HttpHealthChecksGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpsHealthChecksTestIamPermissionsCall) Header() http.Header {
+func (c *HttpHealthChecksGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpsHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *HttpHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{httpHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "httpHealthCheck": c.httpHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpsHealthChecks.testIamPermissions" call.
+// Do executes the "compute.httpHealthChecks.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *HttpsHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *HttpHealthCheck.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *HttpHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpHealthCheck, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27576,7 +27471,7 @@ func (c *HttpsHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &HttpHealthCheck{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -27587,31 +27482,28 @@ func (c *HttpsHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type HttpsHealthChecksUpdateCall struct {
- s *Service
- project string
- httpsHealthCheck string
- httpshealthcheck *HttpsHealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HttpHealthChecksInsertCall struct {
+ s *Service
+ project string
+ httphealthcheck *HttpHealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates a HttpsHealthCheck resource in the specified project using
+// Insert: Creates a HttpHealthCheck resource in the specified project using
// the data
// included in the request.
//
-// - httpsHealthCheck: Name of the HttpsHealthCheck resource to update.
// - project: Project ID for this request.
-func (r *HttpsHealthChecksService) Update(project string, httpsHealthCheck string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksUpdateCall {
- c := &HttpsHealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpHealthChecksService) Insert(project string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksInsertCall {
+ c := &HttpHealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.httpsHealthCheck = httpsHealthCheck
- c.httpshealthcheck = httpshealthcheck
+ c.httphealthcheck = httphealthcheck
return c
}
@@ -27632,7 +27524,7 @@ func (r *HttpsHealthChecksService) Update(project string, httpsHealthCheck strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *HttpsHealthChecksUpdateCall) RequestId(requestId string) *HttpsHealthChecksUpdateCall {
+func (c *HttpHealthChecksInsertCall) RequestId(requestId string) *HttpHealthChecksInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -27640,55 +27532,54 @@ func (c *HttpsHealthChecksUpdateCall) RequestId(requestId string) *HttpsHealthCh
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *HttpsHealthChecksUpdateCall) Fields(s ...googleapi.Field) *HttpsHealthChecksUpdateCall {
+func (c *HttpHealthChecksInsertCall) Fields(s ...googleapi.Field) *HttpHealthChecksInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *HttpsHealthChecksUpdateCall) Context(ctx context.Context) *HttpsHealthChecksUpdateCall {
+func (c *HttpHealthChecksInsertCall) Context(ctx context.Context) *HttpHealthChecksInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *HttpsHealthChecksUpdateCall) Header() http.Header {
+func (c *HttpHealthChecksInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *HttpsHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httpshealthcheck)
+func (c *HttpHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httphealthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PUT", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "httpsHealthCheck": c.httpsHealthCheck,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.httpsHealthChecks.update" call.
+// Do executes the "compute.httpHealthChecks.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *HttpsHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HttpHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27718,75 +27609,182 @@ func (c *HttpsHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImageFamilyViewsGetCall struct {
+type HttpHealthChecksListCall struct {
s *Service
project string
- zone string
- family string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the latest image that is part of an image family, is
-// not
-// deprecated and is rolled out in the specified zone.
+// List: Retrieves the list of HttpHealthCheck resources available to the
+// specified
+// project.
//
-// - family: Name of the image family to search for.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *ImageFamilyViewsService) Get(project string, zone string, family string) *ImageFamilyViewsGetCall {
- c := &ImageFamilyViewsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpHealthChecksService) List(project string) *HttpHealthChecksListCall {
+ c := &HttpHealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.family = family
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *ImageFamilyViewsGetCall) Fields(s ...googleapi.Field) *ImageFamilyViewsGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ImageFamilyViewsGetCall) IfNoneMatch(entityTag string) *ImageFamilyViewsGetCall {
- c.ifNoneMatch_ = entityTag
return c
}
-// Context sets the context to be used in this call's Do method.
-func (c *ImageFamilyViewsGetCall) Context(ctx context.Context) *ImageFamilyViewsGetCall {
- c.ctx_ = ctx
- return c
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *HttpHealthChecksListCall) Filter(filter string) *HttpHealthChecksListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *HttpHealthChecksListCall) MaxResults(maxResults int64) *HttpHealthChecksListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *HttpHealthChecksListCall) OrderBy(orderBy string) *HttpHealthChecksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *HttpHealthChecksListCall) PageToken(pageToken string) *HttpHealthChecksListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *HttpHealthChecksListCall) Fields(s ...googleapi.Field) *HttpHealthChecksListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *HttpHealthChecksListCall) IfNoneMatch(entityTag string) *HttpHealthChecksListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *HttpHealthChecksListCall) Context(ctx context.Context) *HttpHealthChecksListCall {
+ c.ctx_ = ctx
+ return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImageFamilyViewsGetCall) Header() http.Header {
+func (c *HttpHealthChecksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImageFamilyViewsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/imageFamilyViews/{family}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -27795,20 +27793,18 @@ func (c *ImageFamilyViewsGetCall) doRequest(alt string) (*http.Response, error)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
- "family": c.family,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.imageFamilyViews.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.imageFamilyViews.get" call.
+// Do executes the "compute.httpHealthChecks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ImageFamilyView.ServerResponse.Header or (if a response was returned at
+// *HttpHealthCheckList.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *ImageFamilyViewsGetCall) Do(opts ...googleapi.CallOption) (*ImageFamilyView, error) {
+func (c *HttpHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpHealthCheckList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27827,7 +27823,7 @@ func (c *ImageFamilyViewsGetCall) Do(opts ...googleapi.CallOption) (*ImageFamily
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ImageFamilyView{
+ ret := &HttpHealthCheckList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -27838,27 +27834,54 @@ func (c *ImageFamilyViewsGetCall) Do(opts ...googleapi.CallOption) (*ImageFamily
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.imageFamilyViews.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesDeleteCall struct {
- s *Service
- project string
- image string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *HttpHealthChecksListCall) Pages(ctx context.Context, f func(*HttpHealthCheckList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Delete: Deletes the specified image.
+type HttpHealthChecksPatchCall struct {
+ s *Service
+ project string
+ httpHealthCheck string
+ httphealthcheck *HttpHealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates a HttpHealthCheck resource in the specified project using the
+// data
+// included in the request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// - image: Name of the image resource to delete.
+// - httpHealthCheck: Name of the HttpHealthCheck resource to patch.
// - project: Project ID for this request.
-func (r *ImagesService) Delete(project string, image string) *ImagesDeleteCall {
- c := &ImagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpHealthChecksService) Patch(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksPatchCall {
+ c := &HttpHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.image = image
+ c.httpHealthCheck = httpHealthCheck
+ c.httphealthcheck = httphealthcheck
return c
}
@@ -27879,7 +27902,7 @@ func (r *ImagesService) Delete(project string, image string) *ImagesDeleteCall {
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ImagesDeleteCall) RequestId(requestId string) *ImagesDeleteCall {
+func (c *HttpHealthChecksPatchCall) RequestId(requestId string) *HttpHealthChecksPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -27887,51 +27910,55 @@ func (c *ImagesDeleteCall) RequestId(requestId string) *ImagesDeleteCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesDeleteCall) Fields(s ...googleapi.Field) *ImagesDeleteCall {
+func (c *HttpHealthChecksPatchCall) Fields(s ...googleapi.Field) *HttpHealthChecksPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ImagesDeleteCall) Context(ctx context.Context) *ImagesDeleteCall {
+func (c *HttpHealthChecksPatchCall) Context(ctx context.Context) *HttpHealthChecksPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesDeleteCall) Header() http.Header {
+func (c *HttpHealthChecksPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *HttpHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httphealthcheck)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{image}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{httpHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "image": c.image,
+ "project": c.project,
+ "httpHealthCheck": c.httpHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.delete" call.
+// Do executes the "compute.httpHealthChecks.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27961,88 +27988,65 @@ func (c *ImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesDeprecateCall struct {
- s *Service
- project string
- image string
- deprecationstatus *DeprecationStatus
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HttpHealthChecksTestIamPermissionsCall struct {
+ s *Service
+ project string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Deprecate: Sets the deprecation status of an image.
-//
-// If an empty request body is given, clears the deprecation status instead.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - image: Image name.
// - project: Project ID for this request.
-func (r *ImagesService) Deprecate(project string, image string, deprecationstatus *DeprecationStatus) *ImagesDeprecateCall {
- c := &ImagesDeprecateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *HttpHealthChecksService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *HttpHealthChecksTestIamPermissionsCall {
+ c := &HttpHealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.image = image
- c.deprecationstatus = deprecationstatus
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ImagesDeprecateCall) RequestId(requestId string) *ImagesDeprecateCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesDeprecateCall) Fields(s ...googleapi.Field) *ImagesDeprecateCall {
+func (c *HttpHealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *HttpHealthChecksTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ImagesDeprecateCall) Context(ctx context.Context) *ImagesDeprecateCall {
+func (c *HttpHealthChecksTestIamPermissionsCall) Context(ctx context.Context) *HttpHealthChecksTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesDeprecateCall) Header() http.Header {
+func (c *HttpHealthChecksTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesDeprecateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.deprecationstatus)
+func (c *HttpHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{image}/deprecate")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -28050,19 +28054,20 @@ func (c *ImagesDeprecateCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "image": c.image,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.deprecate", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.deprecate" call.
+// Do executes the "compute.httpHealthChecks.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *HttpHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28081,7 +28086,7 @@ func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, erro
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -28092,90 +28097,108 @@ func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.deprecate", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesGetCall struct {
- s *Service
- project string
- image string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type HttpHealthChecksUpdateCall struct {
+ s *Service
+ project string
+ httpHealthCheck string
+ httphealthcheck *HttpHealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified image.
+// Update: Updates a HttpHealthCheck resource in the specified project using
+// the data
+// included in the request.
//
-// - image: Name of the image resource to return.
+// - httpHealthCheck: Name of the HttpHealthCheck resource to update.
// - project: Project ID for this request.
-func (r *ImagesService) Get(project string, image string) *ImagesGetCall {
- c := &ImagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpHealthChecksService) Update(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksUpdateCall {
+ c := &HttpHealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.image = image
+ c.httpHealthCheck = httpHealthCheck
+ c.httphealthcheck = httphealthcheck
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *HttpHealthChecksUpdateCall) RequestId(requestId string) *HttpHealthChecksUpdateCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesGetCall) Fields(s ...googleapi.Field) *ImagesGetCall {
+func (c *HttpHealthChecksUpdateCall) Fields(s ...googleapi.Field) *HttpHealthChecksUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ImagesGetCall) IfNoneMatch(entityTag string) *ImagesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *ImagesGetCall) Context(ctx context.Context) *ImagesGetCall {
+func (c *HttpHealthChecksUpdateCall) Context(ctx context.Context) *HttpHealthChecksUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesGetCall) Header() http.Header {
+func (c *HttpHealthChecksUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *HttpHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httphealthcheck)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{image}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpHealthChecks/{httpHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PUT", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "image": c.image,
+ "project": c.project,
+ "httpHealthCheck": c.httpHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.get" call.
+// Do executes the "compute.httpHealthChecks.update" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Image.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesGetCall) Do(opts ...googleapi.CallOption) (*Image, error) {
+func (c *HttpHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28194,7 +28217,7 @@ func (c *ImagesGetCall) Do(opts ...googleapi.CallOption) (*Image, error) {
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Image{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -28205,96 +28228,100 @@ func (c *ImagesGetCall) Do(opts ...googleapi.CallOption) (*Image, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpHealthChecks.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesGetFromFamilyCall struct {
- s *Service
- project string
- family string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type HttpsHealthChecksDeleteCall struct {
+ s *Service
+ project string
+ httpsHealthCheck string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetFromFamily: Returns the latest image that is part of an image family and
-// is not
-// deprecated. For more information on image families, seePublic
-// image families documentation.
-//
-// - family: Name of the image family to search for.
-// - project: The image project that the image belongs to. For example, to get
-// a CentOS
+// Delete: Deletes the specified HttpsHealthCheck resource.
//
-// image, specify centos-cloud as the image project.
-func (r *ImagesService) GetFromFamily(project string, family string) *ImagesGetFromFamilyCall {
- c := &ImagesGetFromFamilyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - httpsHealthCheck: Name of the HttpsHealthCheck resource to delete.
+// - project: Project ID for this request.
+func (r *HttpsHealthChecksService) Delete(project string, httpsHealthCheck string) *HttpsHealthChecksDeleteCall {
+ c := &HttpsHealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.family = family
+ c.httpsHealthCheck = httpsHealthCheck
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *HttpsHealthChecksDeleteCall) RequestId(requestId string) *HttpsHealthChecksDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesGetFromFamilyCall) Fields(s ...googleapi.Field) *ImagesGetFromFamilyCall {
+func (c *HttpsHealthChecksDeleteCall) Fields(s ...googleapi.Field) *HttpsHealthChecksDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ImagesGetFromFamilyCall) IfNoneMatch(entityTag string) *ImagesGetFromFamilyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *ImagesGetFromFamilyCall) Context(ctx context.Context) *ImagesGetFromFamilyCall {
+func (c *HttpsHealthChecksDeleteCall) Context(ctx context.Context) *HttpsHealthChecksDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesGetFromFamilyCall) Header() http.Header {
+func (c *HttpsHealthChecksDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesGetFromFamilyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *HttpsHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/family/{family}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "family": c.family,
+ "project": c.project,
+ "httpsHealthCheck": c.httpsHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.getFromFamily", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.getFromFamily" call.
+// Do executes the "compute.httpsHealthChecks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Image.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesGetFromFamilyCall) Do(opts ...googleapi.CallOption) (*Image, error) {
+func (c *HttpsHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28313,7 +28340,7 @@ func (c *ImagesGetFromFamilyCall) Do(opts ...googleapi.CallOption) (*Image, erro
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Image{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -28324,44 +28351,35 @@ func (c *ImagesGetFromFamilyCall) Do(opts ...googleapi.CallOption) (*Image, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.getFromFamily", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesGetIamPolicyCall struct {
- s *Service
- project string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type HttpsHealthChecksGetCall struct {
+ s *Service
+ project string
+ httpsHealthCheck string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// Get: Returns the specified HttpsHealthCheck resource.
//
+// - httpsHealthCheck: Name of the HttpsHealthCheck resource to return.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *ImagesService) GetIamPolicy(project string, resource string) *ImagesGetIamPolicyCall {
- c := &ImagesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpsHealthChecksService) Get(project string, httpsHealthCheck string) *HttpsHealthChecksGetCall {
+ c := &HttpsHealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- return c
-}
-
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *ImagesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ImagesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+ c.httpsHealthCheck = httpsHealthCheck
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesGetIamPolicyCall) Fields(s ...googleapi.Field) *ImagesGetIamPolicyCall {
+func (c *HttpsHealthChecksGetCall) Fields(s ...googleapi.Field) *HttpsHealthChecksGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -28369,34 +28387,34 @@ func (c *ImagesGetIamPolicyCall) Fields(s ...googleapi.Field) *ImagesGetIamPolic
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ImagesGetIamPolicyCall) IfNoneMatch(entityTag string) *ImagesGetIamPolicyCall {
+func (c *HttpsHealthChecksGetCall) IfNoneMatch(entityTag string) *HttpsHealthChecksGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ImagesGetIamPolicyCall) Context(ctx context.Context) *ImagesGetIamPolicyCall {
+func (c *HttpsHealthChecksGetCall) Context(ctx context.Context) *HttpsHealthChecksGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesGetIamPolicyCall) Header() http.Header {
+func (c *HttpsHealthChecksGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *HttpsHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -28404,19 +28422,20 @@ func (c *ImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "httpsHealthCheck": c.httpsHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.getIamPolicy" call.
+// Do executes the "compute.httpsHealthChecks.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *HttpsHealthCheck.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *HttpsHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpsHealthCheck, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28435,7 +28454,7 @@ func (c *ImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, erro
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &HttpsHealthCheck{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -28446,34 +28465,28 @@ func (c *ImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesInsertCall struct {
- s *Service
- project string
- image *Image
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HttpsHealthChecksInsertCall struct {
+ s *Service
+ project string
+ httpshealthcheck *HttpsHealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates an image in the specified project using the data included
-// in the request.
+// Insert: Creates a HttpsHealthCheck resource in the specified project using
+// the data
+// included in the request.
//
// - project: Project ID for this request.
-func (r *ImagesService) Insert(project string, image *Image) *ImagesInsertCall {
- c := &ImagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpsHealthChecksService) Insert(project string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksInsertCall {
+ c := &HttpsHealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.image = image
- return c
-}
-
-// ForceCreate sets the optional parameter "forceCreate": Force image creation
-// if true.
-func (c *ImagesInsertCall) ForceCreate(forceCreate bool) *ImagesInsertCall {
- c.urlParams_.Set("forceCreate", fmt.Sprint(forceCreate))
+ c.httpshealthcheck = httpshealthcheck
return c
}
@@ -28494,7 +28507,7 @@ func (c *ImagesInsertCall) ForceCreate(forceCreate bool) *ImagesInsertCall {
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ImagesInsertCall) RequestId(requestId string) *ImagesInsertCall {
+func (c *HttpsHealthChecksInsertCall) RequestId(requestId string) *HttpsHealthChecksInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -28502,35 +28515,35 @@ func (c *ImagesInsertCall) RequestId(requestId string) *ImagesInsertCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesInsertCall) Fields(s ...googleapi.Field) *ImagesInsertCall {
+func (c *HttpsHealthChecksInsertCall) Fields(s ...googleapi.Field) *HttpsHealthChecksInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ImagesInsertCall) Context(ctx context.Context) *ImagesInsertCall {
+func (c *HttpsHealthChecksInsertCall) Context(ctx context.Context) *HttpsHealthChecksInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesInsertCall) Header() http.Header {
+func (c *HttpsHealthChecksInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.image)
+func (c *HttpsHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httpshealthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -28540,16 +28553,16 @@ func (c *ImagesInsertCall) doRequest(alt string) (*http.Response, error) {
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.insert" call.
+// Do executes the "compute.httpsHealthChecks.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HttpsHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28579,11 +28592,11 @@ func (c *ImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesListCall struct {
+type HttpsHealthChecksListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -28592,20 +28605,13 @@ type ImagesListCall struct {
header_ http.Header
}
-// List: Retrieves the list of custom images
-// available to the specified project. Custom images are images you
-// create that belong to your project. This method does not
-// get any images that belong to other projects, including
-// publicly-available
-// images, like Debian 8. If you want to get a list of
-// publicly-available
-// images, use this method to make a request to the respective image
-// project,
-// such as debian-cloud or windows-cloud.
+// List: Retrieves the list of HttpsHealthCheck resources available to the
+// specified
+// project.
//
// - project: Project ID for this request.
-func (r *ImagesService) List(project string) *ImagesListCall {
- c := &ImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpsHealthChecksService) List(project string) *HttpsHealthChecksListCall {
+ c := &HttpsHealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -28677,7 +28683,7 @@ func (r *ImagesService) List(project string) *ImagesListCall {
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ImagesListCall) Filter(filter string) *ImagesListCall {
+func (c *HttpsHealthChecksListCall) Filter(filter string) *HttpsHealthChecksListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -28689,7 +28695,7 @@ func (c *ImagesListCall) Filter(filter string) *ImagesListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *ImagesListCall) MaxResults(maxResults int64) *ImagesListCall {
+func (c *HttpsHealthChecksListCall) MaxResults(maxResults int64) *HttpsHealthChecksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -28709,7 +28715,7 @@ func (c *ImagesListCall) MaxResults(maxResults int64) *ImagesListCall {
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *ImagesListCall) OrderBy(orderBy string) *ImagesListCall {
+func (c *HttpsHealthChecksListCall) OrderBy(orderBy string) *HttpsHealthChecksListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -28718,30 +28724,15 @@ func (c *ImagesListCall) OrderBy(orderBy string) *ImagesListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *ImagesListCall) PageToken(pageToken string) *ImagesListCall {
+func (c *HttpsHealthChecksListCall) PageToken(pageToken string) *HttpsHealthChecksListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ImagesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ImagesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesListCall) Fields(s ...googleapi.Field) *ImagesListCall {
+func (c *HttpsHealthChecksListCall) Fields(s ...googleapi.Field) *HttpsHealthChecksListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -28749,34 +28740,34 @@ func (c *ImagesListCall) Fields(s ...googleapi.Field) *ImagesListCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ImagesListCall) IfNoneMatch(entityTag string) *ImagesListCall {
+func (c *HttpsHealthChecksListCall) IfNoneMatch(entityTag string) *HttpsHealthChecksListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ImagesListCall) Context(ctx context.Context) *ImagesListCall {
+func (c *HttpsHealthChecksListCall) Context(ctx context.Context) *HttpsHealthChecksListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesListCall) Header() http.Header {
+func (c *HttpsHealthChecksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *HttpsHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -28786,16 +28777,17 @@ func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.list" call.
+// Do executes the "compute.httpsHealthChecks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ImageList.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesListCall) Do(opts ...googleapi.CallOption) (*ImageList, error) {
+// *HttpsHealthCheckList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *HttpsHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpsHealthCheckList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28814,7 +28806,7 @@ func (c *ImagesListCall) Do(opts ...googleapi.CallOption) (*ImageList, error) {
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ImageList{
+ ret := &HttpsHealthCheckList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -28825,14 +28817,14 @@ func (c *ImagesListCall) Do(opts ...googleapi.CallOption) (*ImageList, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *ImagesListCall) Pages(ctx context.Context, f func(*ImageList) error) error {
+func (c *HttpsHealthChecksListCall) Pages(ctx context.Context, f func(*HttpsHealthCheckList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -28850,28 +28842,29 @@ func (c *ImagesListCall) Pages(ctx context.Context, f func(*ImageList) error) er
}
}
-type ImagesPatchCall struct {
- s *Service
- project string
- image string
- image2 *Image
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HttpsHealthChecksPatchCall struct {
+ s *Service
+ project string
+ httpsHealthCheck string
+ httpshealthcheck *HttpsHealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified image with the data included in the
-// request.
-// Only the following fields can be modified: family, description,
-// deprecation status.
+// Patch: Updates a HttpsHealthCheck resource in the specified project using
+// the data
+// included in the request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// - image: Name of the image resource to patch.
+// - httpsHealthCheck: Name of the HttpsHealthCheck resource to patch.
// - project: Project ID for this request.
-func (r *ImagesService) Patch(project string, image string, image2 *Image) *ImagesPatchCall {
- c := &ImagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpsHealthChecksService) Patch(project string, httpsHealthCheck string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksPatchCall {
+ c := &HttpsHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.image = image
- c.image2 = image2
+ c.httpsHealthCheck = httpsHealthCheck
+ c.httpshealthcheck = httpshealthcheck
return c
}
@@ -28892,7 +28885,7 @@ func (r *ImagesService) Patch(project string, image string, image2 *Image) *Imag
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ImagesPatchCall) RequestId(requestId string) *ImagesPatchCall {
+func (c *HttpsHealthChecksPatchCall) RequestId(requestId string) *HttpsHealthChecksPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -28900,35 +28893,35 @@ func (c *ImagesPatchCall) RequestId(requestId string) *ImagesPatchCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesPatchCall) Fields(s ...googleapi.Field) *ImagesPatchCall {
+func (c *HttpsHealthChecksPatchCall) Fields(s ...googleapi.Field) *HttpsHealthChecksPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ImagesPatchCall) Context(ctx context.Context) *ImagesPatchCall {
+func (c *HttpsHealthChecksPatchCall) Context(ctx context.Context) *HttpsHealthChecksPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesPatchCall) Header() http.Header {
+func (c *HttpsHealthChecksPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.image2)
+func (c *HttpsHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httpshealthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{image}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
@@ -28936,19 +28929,19 @@ func (c *ImagesPatchCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "image": c.image,
+ "project": c.project,
+ "httpsHealthCheck": c.httpsHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.patch" call.
+// Do executes the "compute.httpsHealthChecks.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28978,66 +28971,65 @@ func (c *ImagesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesSetIamPolicyCall struct {
+type HttpsHealthChecksTestIamPermissionsCall struct {
s *Service
project string
resource string
- globalsetpolicyrequest *GlobalSetPolicyRequest
+ testpermissionsrequest *TestPermissionsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
+// TestIamPermissions: Returns permissions that a caller has on the specified
// resource.
-// Replaces any existing policy.
//
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
-func (r *ImagesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *ImagesSetIamPolicyCall {
- c := &ImagesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpsHealthChecksService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *HttpsHealthChecksTestIamPermissionsCall {
+ c := &HttpsHealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.resource = resource
- c.globalsetpolicyrequest = globalsetpolicyrequest
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesSetIamPolicyCall) Fields(s ...googleapi.Field) *ImagesSetIamPolicyCall {
+func (c *HttpsHealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *HttpsHealthChecksTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ImagesSetIamPolicyCall) Context(ctx context.Context) *ImagesSetIamPolicyCall {
+func (c *HttpsHealthChecksTestIamPermissionsCall) Context(ctx context.Context) *HttpsHealthChecksTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesSetIamPolicyCall) Header() http.Header {
+func (c *HttpsHealthChecksTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
+func (c *HttpsHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -29048,16 +29040,17 @@ func (c *ImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
"project": c.project,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.setIamPolicy" call.
+// Do executes the "compute.httpsHealthChecks.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *HttpsHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29076,7 +29069,7 @@ func (c *ImagesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, erro
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -29087,86 +29080,108 @@ func (c *ImagesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesSetLabelsCall struct {
- s *Service
- project string
- resource string
- globalsetlabelsrequest *GlobalSetLabelsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type HttpsHealthChecksUpdateCall struct {
+ s *Service
+ project string
+ httpsHealthCheck string
+ httpshealthcheck *HttpsHealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetLabels: Sets the labels on an image. To learn more about labels, read
-// theLabeling
-// Resources documentation.
+// Update: Updates a HttpsHealthCheck resource in the specified project using
+// the data
+// included in the request.
//
+// - httpsHealthCheck: Name of the HttpsHealthCheck resource to update.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *ImagesService) SetLabels(project string, resource string, globalsetlabelsrequest *GlobalSetLabelsRequest) *ImagesSetLabelsCall {
- c := &ImagesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *HttpsHealthChecksService) Update(project string, httpsHealthCheck string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksUpdateCall {
+ c := &HttpsHealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.globalsetlabelsrequest = globalsetlabelsrequest
+ c.httpsHealthCheck = httpsHealthCheck
+ c.httpshealthcheck = httpshealthcheck
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *HttpsHealthChecksUpdateCall) RequestId(requestId string) *HttpsHealthChecksUpdateCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesSetLabelsCall) Fields(s ...googleapi.Field) *ImagesSetLabelsCall {
+func (c *HttpsHealthChecksUpdateCall) Fields(s ...googleapi.Field) *HttpsHealthChecksUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ImagesSetLabelsCall) Context(ctx context.Context) *ImagesSetLabelsCall {
+func (c *HttpsHealthChecksUpdateCall) Context(ctx context.Context) *HttpsHealthChecksUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesSetLabelsCall) Header() http.Header {
+func (c *HttpsHealthChecksUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
+func (c *HttpsHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.httpshealthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{resource}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PUT", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "httpsHealthCheck": c.httpsHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.setLabels" call.
+// Do executes the "compute.httpsHealthChecks.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ImagesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *HttpsHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29196,86 +29211,97 @@ func (c *ImagesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.httpsHealthChecks.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ImagesTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImageFamilyViewsGetCall struct {
+ s *Service
+ project string
+ zone string
+ family string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Get: Returns the latest image that is part of an image family, is
+// not
+// deprecated and is rolled out in the specified zone.
//
+// - family: Name of the image family to search for.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *ImagesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *ImagesTestIamPermissionsCall {
- c := &ImagesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *ImageFamilyViewsService) Get(project string, zone string, family string) *ImageFamilyViewsGetCall {
+ c := &ImageFamilyViewsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.zone = zone
+ c.family = family
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ImagesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ImagesTestIamPermissionsCall {
+func (c *ImageFamilyViewsGetCall) Fields(s ...googleapi.Field) *ImageFamilyViewsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ImageFamilyViewsGetCall) IfNoneMatch(entityTag string) *ImageFamilyViewsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *ImagesTestIamPermissionsCall) Context(ctx context.Context) *ImagesTestIamPermissionsCall {
+func (c *ImageFamilyViewsGetCall) Context(ctx context.Context) *ImageFamilyViewsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ImagesTestIamPermissionsCall) Header() http.Header {
+func (c *ImageFamilyViewsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *ImageFamilyViewsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/imageFamilyViews/{family}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "family": c.family,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.imageFamilyViews.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.images.testIamPermissions" call.
+// Do executes the "compute.imageFamilyViews.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *ImageFamilyView.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *ImageFamilyViewsGetCall) Do(opts ...googleapi.CallOption) (*ImageFamilyView, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29294,7 +29320,7 @@ func (c *ImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPe
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &ImageFamilyView{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -29305,117 +29331,96 @@ func (c *ImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPe
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.imageFamilyViews.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagerResizeRequestsCancelCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- resizeRequest string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImageViewsGetCall struct {
+ s *Service
+ project string
+ region string
+ resourceId string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Cancel: Cancels the specified resize request and removes it from the
-// queue.
-// Cancelled resize request does no longer wait for the resources to
-// be
-// provisioned. Cancel is only possible for requests that are accepted in
-// the
-// queue.
+// Get: Returns the specified global ImageView resource, with a
+// regional
+// context.
//
-// - instanceGroupManager: The name of the managed instance group.
-// The name should conform to RFC1035 or be a resource ID.
-// - project: Project ID for this request.
-// - resizeRequest: The name of the resize request to cancel.
-// The name should conform to RFC1035 or be a resource ID.
-// - zone: The name of thezone where the managed
-// instance group is located. The name should conform to RFC1035.
-func (r *InstanceGroupManagerResizeRequestsService) Cancel(project string, zone string, instanceGroupManager string, resizeRequest string) *InstanceGroupManagerResizeRequestsCancelCall {
- c := &InstanceGroupManagerResizeRequestsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+// - resourceId: Name of the image resource to return.
+func (r *ImageViewsService) Get(project string, region string, resourceId string) *ImageViewsGetCall {
+ c := &ImageViewsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.resizeRequest = resizeRequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagerResizeRequestsCancelCall) RequestId(requestId string) *InstanceGroupManagerResizeRequestsCancelCall {
- c.urlParams_.Set("requestId", requestId)
+ c.region = region
+ c.resourceId = resourceId
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagerResizeRequestsCancelCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsCancelCall {
+func (c *ImageViewsGetCall) Fields(s ...googleapi.Field) *ImageViewsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ImageViewsGetCall) IfNoneMatch(entityTag string) *ImageViewsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagerResizeRequestsCancelCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsCancelCall {
+func (c *ImageViewsGetCall) Context(ctx context.Context) *ImageViewsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagerResizeRequestsCancelCall) Header() http.Header {
+func (c *ImageViewsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagerResizeRequestsCancelCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ImageViewsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/imageViews/{resourceId}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
- "resizeRequest": c.resizeRequest,
+ "project": c.project,
+ "region": c.region,
+ "resourceId": c.resourceId,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.cancel", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.imageViews.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagerResizeRequests.cancel" call.
+// Do executes the "compute.imageViews.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *ImageView.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagerResizeRequestsCancelCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ImageViewsGetCall) Do(opts ...googleapi.CallOption) (*ImageView, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29434,7 +29439,7 @@ func (c *InstanceGroupManagerResizeRequestsCancelCall) Do(opts ...googleapi.Call
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &ImageView{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -29445,115 +29450,205 @@ func (c *InstanceGroupManagerResizeRequestsCancelCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.cancel", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.imageViews.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagerResizeRequestsDeleteCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- resizeRequest string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImageViewsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified, inactive resize request. Requests that are
-// still
-// active cannot be deleted. Deleting request does not delete instances
-// that
-// were provisioned previously.
+// List: Returns a list of global ImageView resources, with a regional
+// context.
//
-// - instanceGroupManager: The name of the managed instance group.
-// The name should conform to RFC1035 or be a resource ID.
-// - project: Project ID for this request.
-// - resizeRequest: The name of the resize request to delete.
-// The name should conform to RFC1035 or be a resource ID.
-// - zone: The name of thezone where the managed
-// instance group is located. The name should conform to RFC1035.
-func (r *InstanceGroupManagerResizeRequestsService) Delete(project string, zone string, instanceGroupManager string, resizeRequest string) *InstanceGroupManagerResizeRequestsDeleteCall {
- c := &InstanceGroupManagerResizeRequestsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+func (r *ImageViewsService) List(project string, region string) *ImageViewsListCall {
+ c := &ImageViewsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.resizeRequest = resizeRequest
+ c.region = region
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagerResizeRequestsDeleteCall) RequestId(requestId string) *InstanceGroupManagerResizeRequestsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *ImageViewsListCall) Filter(filter string) *ImageViewsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *ImageViewsListCall) MaxResults(maxResults int64) *ImageViewsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *ImageViewsListCall) OrderBy(orderBy string) *ImageViewsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *ImageViewsListCall) PageToken(pageToken string) *ImageViewsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagerResizeRequestsDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsDeleteCall {
+func (c *ImageViewsListCall) Fields(s ...googleapi.Field) *ImageViewsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ImageViewsListCall) IfNoneMatch(entityTag string) *ImageViewsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagerResizeRequestsDeleteCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsDeleteCall {
+func (c *ImageViewsListCall) Context(ctx context.Context) *ImageViewsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagerResizeRequestsDeleteCall) Header() http.Header {
+func (c *ImageViewsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagerResizeRequestsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ImageViewsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/imageViews")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
- "resizeRequest": c.resizeRequest,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.imageViews.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagerResizeRequests.delete" call.
+// Do executes the "compute.imageViews.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagerResizeRequestsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *ImageViewsListResponse.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *ImageViewsListCall) Do(opts ...googleapi.CallOption) (*ImageViewsListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29572,7 +29667,7 @@ func (c *InstanceGroupManagerResizeRequestsDeleteCall) Do(opts ...googleapi.Call
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &ImageViewsListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -29583,103 +29678,121 @@ func (c *InstanceGroupManagerResizeRequestsDeleteCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.imageViews.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagerResizeRequestsGetCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- resizeRequest string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ImageViewsListCall) Pages(ctx context.Context, f func(*ImageViewsListResponse) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Get: Returns all of the details about the specified resize request.
+type ImagesDeleteCall struct {
+ s *Service
+ project string
+ image string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified image.
//
-// - instanceGroupManager: The name of the managed instance group.
-// Name should conform to RFC1035 or be a resource ID.
-// - project: Project ID for this request.
-// - resizeRequest: The name of the resize request.
-// Name should conform to RFC1035 or be a resource ID.
-// - zone: Name of the
-// href="/compute/docs/regions-zones/#available">zone
-// scoping this request. Name should conform to RFC1035.
-func (r *InstanceGroupManagerResizeRequestsService) Get(project string, zone string, instanceGroupManager string, resizeRequest string) *InstanceGroupManagerResizeRequestsGetCall {
- c := &InstanceGroupManagerResizeRequestsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - image: Name of the image resource to delete.
+// - project: Project ID for this request.
+func (r *ImagesService) Delete(project string, image string) *ImagesDeleteCall {
+ c := &ImagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.resizeRequest = resizeRequest
+ c.image = image
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ImagesDeleteCall) RequestId(requestId string) *ImagesDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagerResizeRequestsGetCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsGetCall {
+func (c *ImagesDeleteCall) Fields(s ...googleapi.Field) *ImagesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceGroupManagerResizeRequestsGetCall) IfNoneMatch(entityTag string) *InstanceGroupManagerResizeRequestsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagerResizeRequestsGetCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsGetCall {
+func (c *ImagesDeleteCall) Context(ctx context.Context) *ImagesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagerResizeRequestsGetCall) Header() http.Header {
+func (c *ImagesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagerResizeRequestsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *ImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{image}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
- "resizeRequest": c.resizeRequest,
+ "project": c.project,
+ "image": c.image,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagerResizeRequests.get" call.
+// Do executes the "compute.images.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManagerResizeRequest.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceGroupManagerResizeRequestsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerResizeRequest, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29698,7 +29811,7 @@ func (c *InstanceGroupManagerResizeRequestsGetCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManagerResizeRequest{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -29709,42 +29822,31 @@ func (c *InstanceGroupManagerResizeRequestsGetCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagerResizeRequestsInsertCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagerresizerequest *InstanceGroupManagerResizeRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImagesDeprecateCall struct {
+ s *Service
+ project string
+ image string
+ deprecationstatus *DeprecationStatus
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a new resize request that starts provisioning VMs
-// immediately
-// or queues VM creation.
+// Deprecate: Sets the deprecation status of an image.
//
-// - instanceGroupManager: The name of the managed instance group to which the
-// resize request will
-// be added.
-//
-// Name should conform to RFC1035 or be a resource ID.
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located and where the resize request will be
-// created.
+// If an empty request body is given, clears the deprecation status instead.
//
-// Name should conform to RFC1035.
-func (r *InstanceGroupManagerResizeRequestsService) Insert(project string, zone string, instanceGroupManager string, instancegroupmanagerresizerequest *InstanceGroupManagerResizeRequest) *InstanceGroupManagerResizeRequestsInsertCall {
- c := &InstanceGroupManagerResizeRequestsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - image: Image name.
+// - project: Project ID for this request.
+func (r *ImagesService) Deprecate(project string, image string, deprecationstatus *DeprecationStatus) *ImagesDeprecateCall {
+ c := &ImagesDeprecateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagerresizerequest = instancegroupmanagerresizerequest
+ c.image = image
+ c.deprecationstatus = deprecationstatus
return c
}
@@ -29765,7 +29867,7 @@ func (r *InstanceGroupManagerResizeRequestsService) Insert(project string, zone
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagerResizeRequestsInsertCall) RequestId(requestId string) *InstanceGroupManagerResizeRequestsInsertCall {
+func (c *ImagesDeprecateCall) RequestId(requestId string) *ImagesDeprecateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -29773,35 +29875,35 @@ func (c *InstanceGroupManagerResizeRequestsInsertCall) RequestId(requestId strin
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagerResizeRequestsInsertCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsInsertCall {
+func (c *ImagesDeprecateCall) Fields(s ...googleapi.Field) *ImagesDeprecateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagerResizeRequestsInsertCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsInsertCall {
+func (c *ImagesDeprecateCall) Context(ctx context.Context) *ImagesDeprecateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagerResizeRequestsInsertCall) Header() http.Header {
+func (c *ImagesDeprecateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagerResizeRequestsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerresizerequest)
+func (c *ImagesDeprecateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.deprecationstatus)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{image}/deprecate")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -29809,20 +29911,19 @@ func (c *InstanceGroupManagerResizeRequestsInsertCall) doRequest(alt string) (*h
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "image": c.image,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.deprecate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagerResizeRequests.insert" call.
+// Do executes the "compute.images.deprecate" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagerResizeRequestsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29852,169 +29953,154 @@ func (c *InstanceGroupManagerResizeRequestsInsertCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.deprecate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagerResizeRequestsListCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ImagesGetCall struct {
+ s *Service
+ project string
+ image string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves a list of resize requests that are contained in the
-// managed instance group.
+// Get: Returns the specified image.
//
-// - instanceGroupManager: The name of the managed instance group. The name
-// should conform to RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located. The name should conform to RFC1035.
-func (r *InstanceGroupManagerResizeRequestsService) List(project string, zone string, instanceGroupManager string) *InstanceGroupManagerResizeRequestsListCall {
- c := &InstanceGroupManagerResizeRequestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - image: Name of the image resource to return.
+// - project: Project ID for this request.
+func (r *ImagesService) Get(project string, image string) *ImagesGetCall {
+ c := &ImagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
+ c.image = image
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstanceGroupManagerResizeRequestsListCall) Filter(filter string) *InstanceGroupManagerResizeRequestsListCall {
- c.urlParams_.Set("filter", filter)
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ImagesGetCall) Fields(s ...googleapi.Field) *ImagesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupManagerResizeRequestsListCall) MaxResults(maxResults int64) *InstanceGroupManagerResizeRequestsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ImagesGetCall) IfNoneMatch(entityTag string) *ImagesGetCall {
+ c.ifNoneMatch_ = entityTag
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstanceGroupManagerResizeRequestsListCall) OrderBy(orderBy string) *InstanceGroupManagerResizeRequestsListCall {
- c.urlParams_.Set("orderBy", orderBy)
+// Context sets the context to be used in this call's Do method.
+func (c *ImagesGetCall) Context(ctx context.Context) *ImagesGetCall {
+ c.ctx_ = ctx
return c
}
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstanceGroupManagerResizeRequestsListCall) PageToken(pageToken string) *InstanceGroupManagerResizeRequestsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ImagesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ImagesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{image}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "image": c.image,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.images.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Image.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ImagesGetCall) Do(opts ...googleapi.CallOption) (*Image, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Image{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type ImagesGetFromFamilyCall struct {
+ s *Service
+ project string
+ family string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// GetFromFamily: Returns the latest image that is part of an image family and
+// is not
+// deprecated. For more information on image families, seePublic
+// image families documentation.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupManagerResizeRequestsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupManagerResizeRequestsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// - family: Name of the image family to search for.
+// - project: The image project that the image belongs to. For example, to get
+// a CentOS
+//
+// image, specify centos-cloud as the image project.
+func (r *ImagesService) GetFromFamily(project string, family string) *ImagesGetFromFamilyCall {
+ c := &ImagesGetFromFamilyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.family = family
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagerResizeRequestsListCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsListCall {
+func (c *ImagesGetFromFamilyCall) Fields(s ...googleapi.Field) *ImagesGetFromFamilyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -30022,34 +30108,34 @@ func (c *InstanceGroupManagerResizeRequestsListCall) Fields(s ...googleapi.Field
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InstanceGroupManagerResizeRequestsListCall) IfNoneMatch(entityTag string) *InstanceGroupManagerResizeRequestsListCall {
+func (c *ImagesGetFromFamilyCall) IfNoneMatch(entityTag string) *ImagesGetFromFamilyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagerResizeRequestsListCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsListCall {
+func (c *ImagesGetFromFamilyCall) Context(ctx context.Context) *ImagesGetFromFamilyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagerResizeRequestsListCall) Header() http.Header {
+func (c *ImagesGetFromFamilyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagerResizeRequestsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ImagesGetFromFamilyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/family/{family}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -30057,21 +30143,19 @@ func (c *InstanceGroupManagerResizeRequestsListCall) doRequest(alt string) (*htt
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "family": c.family,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.getFromFamily", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagerResizeRequests.list" call.
+// Do executes the "compute.images.getFromFamily" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManagerResizeRequestsListResponse.ServerResponse.Header or (if
-// a response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerResizeRequestsListResponse, error) {
+// *Image.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ImagesGetFromFamilyCall) Do(opts ...googleapi.CallOption) (*Image, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30090,7 +30174,7 @@ func (c *InstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.CallOp
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManagerResizeRequestsListResponse{
+ ret := &Image{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30101,152 +30185,99 @@ func (c *InstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.getFromFamily", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupManagerResizeRequestsListCall) Pages(ctx context.Context, f func(*InstanceGroupManagerResizeRequestsListResponse) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InstanceGroupManagersAbandonInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImagesGetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AbandonInstances: Flags the specified instances to be removed from
-// the
-// managed instance group. Abandoning an instance does not delete the
-// instance, but it does remove the instance from any target pools that
-// are
-// applied by the managed instance group. This method reduces thetargetSize of
-// the managed instance group by the
-// number of instances that you abandon. This operation is marked asDONE when
-// the action is scheduled even if the instances have
-// not yet been removed from the group. You must separately verify the
-// status of the abandoning action with thelistmanagedinstances
-// method.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is removed or
-// deleted.
-//
-// You can specify a maximum of 1000 instances with this method per request.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) AbandonInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest) *InstanceGroupManagersAbandonInstancesCall {
- c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *ImagesService) GetIamPolicy(project string, resource string) *ImagesGetIamPolicyCall {
+ c := &ImagesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersabandoninstancesrequest = instancegroupmanagersabandoninstancesrequest
+ c.resource = resource
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersAbandonInstancesCall) RequestId(requestId string) *InstanceGroupManagersAbandonInstancesCall {
- c.urlParams_.Set("requestId", requestId)
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *ImagesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ImagesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersAbandonInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAbandonInstancesCall {
+func (c *ImagesGetIamPolicyCall) Fields(s ...googleapi.Field) *ImagesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ImagesGetIamPolicyCall) IfNoneMatch(entityTag string) *ImagesGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context) *InstanceGroupManagersAbandonInstancesCall {
+func (c *ImagesGetIamPolicyCall) Context(ctx context.Context) *ImagesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersAbandonInstancesCall) Header() http.Header {
+func (c *ImagesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersabandoninstancesrequest)
- if err != nil {
- return nil, err
+func (c *ImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.abandonInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.abandonInstances" call.
+// Do executes the "compute.images.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30265,7 +30296,7 @@ func (c *InstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30276,47 +30307,184 @@ func (c *InstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.abandonInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ImagesInsertCall struct {
+ s *Service
+ project string
+ image *Image
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AggregatedList: Retrieves the list of managed instance groups and groups
-// them by zone.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// Insert: Creates an image in the specified project using the data included
+// in the request.
//
// - project: Project ID for this request.
-func (r *InstanceGroupManagersService) AggregatedList(project string) *InstanceGroupManagersAggregatedListCall {
- c := &InstanceGroupManagersAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ImagesService) Insert(project string, image *Image) *ImagesInsertCall {
+ c := &ImagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.image = image
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+// ForceCreate sets the optional parameter "forceCreate": Force image creation
+// if true.
+func (c *ImagesInsertCall) ForceCreate(forceCreate bool) *ImagesInsertCall {
+ c.urlParams_.Set("forceCreate", fmt.Sprint(forceCreate))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, if you are filtering Compute Engine instances, you can
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ImagesInsertCall) RequestId(requestId string) *ImagesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ImagesInsertCall) Fields(s ...googleapi.Field) *ImagesInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *ImagesInsertCall) Context(ctx context.Context) *ImagesInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ImagesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ImagesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.image)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.images.insert" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.insert", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type ImagesListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of custom images
+// available to the specified project. Custom images are images you
+// create that belong to your project. This method does not
+// get any images that belong to other projects, including
+// publicly-available
+// images, like Debian 8. If you want to get a list of
+// publicly-available
+// images, use this method to make a request to the respective image
+// project,
+// such as debian-cloud or windows-cloud.
+//
+// - project: Project ID for this request.
+func (r *ImagesService) List(project string) *ImagesListCall {
+ c := &ImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
// exclude instances named `example-instance` by specifying
// `name != example-instance`.
//
@@ -30370,29 +30538,11 @@ func (r *InstanceGroupManagersService) AggregatedList(project string) *InstanceG
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InstanceGroupManagersAggregatedListCall) Filter(filter string) *InstanceGroupManagersAggregatedListCall {
+func (c *ImagesListCall) Filter(filter string) *ImagesListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *InstanceGroupManagersAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstanceGroupManagersAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -30400,7 +30550,7 @@ func (c *InstanceGroupManagersAggregatedListCall) IncludeAllScopes(includeAllSco
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupManagersAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupManagersAggregatedListCall {
+func (c *ImagesListCall) MaxResults(maxResults int64) *ImagesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -30420,7 +30570,7 @@ func (c *InstanceGroupManagersAggregatedListCall) MaxResults(maxResults int64) *
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InstanceGroupManagersAggregatedListCall) OrderBy(orderBy string) *InstanceGroupManagersAggregatedListCall {
+func (c *ImagesListCall) OrderBy(orderBy string) *ImagesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -30429,38 +30579,15 @@ func (c *InstanceGroupManagersAggregatedListCall) OrderBy(orderBy string) *Insta
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InstanceGroupManagersAggregatedListCall) PageToken(pageToken string) *InstanceGroupManagersAggregatedListCall {
+func (c *ImagesListCall) PageToken(pageToken string) *ImagesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupManagersAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupManagersAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *InstanceGroupManagersAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstanceGroupManagersAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersAggregatedListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAggregatedListCall {
+func (c *ImagesListCall) Fields(s ...googleapi.Field) *ImagesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -30468,34 +30595,34 @@ func (c *InstanceGroupManagersAggregatedListCall) Fields(s ...googleapi.Field) *
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InstanceGroupManagersAggregatedListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersAggregatedListCall {
+func (c *ImagesListCall) IfNoneMatch(entityTag string) *ImagesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersAggregatedListCall) Context(ctx context.Context) *InstanceGroupManagersAggregatedListCall {
+func (c *ImagesListCall) Context(ctx context.Context) *ImagesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersAggregatedListCall) Header() http.Header {
+func (c *ImagesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instanceGroupManagers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -30505,17 +30632,16 @@ func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.R
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.aggregatedList" call.
+// Do executes the "compute.images.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManagerAggregatedList.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceGroupManagersAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerAggregatedList, error) {
+// *ImageList.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ImagesListCall) Do(opts ...googleapi.CallOption) (*ImageList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30534,7 +30660,7 @@ func (c *InstanceGroupManagersAggregatedListCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManagerAggregatedList{
+ ret := &ImageList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30545,14 +30671,14 @@ func (c *InstanceGroupManagersAggregatedListCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupManagersAggregatedListCall) Pages(ctx context.Context, f func(*InstanceGroupManagerAggregatedList) error) error {
+func (c *ImagesListCall) Pages(ctx context.Context, f func(*ImageList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -30570,88 +30696,105 @@ func (c *InstanceGroupManagersAggregatedListCall) Pages(ctx context.Context, f f
}
}
-type InstanceGroupManagersApplyUpdatesToInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersapplyupdatesrequest *InstanceGroupManagersApplyUpdatesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImagesPatchCall struct {
+ s *Service
+ project string
+ image string
+ image2 *Image
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ApplyUpdatesToInstances: Applies changes to selected instances on the
-// managed instance group.
-// This method can be used to apply new overrides and/or new versions.
+// Patch: Patches the specified image with the data included in the
+// request.
+// Only the following fields can be modified: family, description,
+// deprecation status.
//
-// - instanceGroupManager: The name of the managed instance group, should
-// conform to RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of thezone
-// where the managed instance group is located. Should conform to RFC1035.
-func (r *InstanceGroupManagersService) ApplyUpdatesToInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersapplyupdatesrequest *InstanceGroupManagersApplyUpdatesRequest) *InstanceGroupManagersApplyUpdatesToInstancesCall {
- c := &InstanceGroupManagersApplyUpdatesToInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - image: Name of the image resource to patch.
+// - project: Project ID for this request.
+func (r *ImagesService) Patch(project string, image string, image2 *Image) *ImagesPatchCall {
+ c := &ImagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersapplyupdatesrequest = instancegroupmanagersapplyupdatesrequest
+ c.image = image
+ c.image2 = image2
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ImagesPatchCall) RequestId(requestId string) *ImagesPatchCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersApplyUpdatesToInstancesCall {
+func (c *ImagesPatchCall) Fields(s ...googleapi.Field) *ImagesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Context(ctx context.Context) *InstanceGroupManagersApplyUpdatesToInstancesCall {
+func (c *ImagesPatchCall) Context(ctx context.Context) *ImagesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Header() http.Header {
+func (c *ImagesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersapplyupdatesrequest)
+func (c *ImagesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.image2)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{image}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "image": c.image,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.applyUpdatesToInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.applyUpdatesToInstances" call.
+// Do executes the "compute.images.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ImagesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30681,98 +30824,66 @@ func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Do(opts ...googleapi.
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.applyUpdatesToInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersCreateInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagerscreateinstancesrequest *InstanceGroupManagersCreateInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImagesSetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetpolicyrequest *GlobalSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// CreateInstances: Creates instances with per-instance configurations in this
-// managed instance
-// group. Instances are created using the current instance template. Thecreate
-// instances operation is marked DONE if thecreateInstances request is
-// successful. The underlying actions
-// take additional time. You must separately verify the status of thecreating
-// or actions with the listmanagedinstances
-// method.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// It should conform to RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of thezone
-// where the managed instance group is located.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// It should conform to RFC1035.
-func (r *InstanceGroupManagersService) CreateInstances(project string, zone string, instanceGroupManager string, instancegroupmanagerscreateinstancesrequest *InstanceGroupManagersCreateInstancesRequest) *InstanceGroupManagersCreateInstancesCall {
- c := &InstanceGroupManagersCreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+func (r *ImagesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *ImagesSetIamPolicyCall {
+ c := &ImagesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagerscreateinstancesrequest = instancegroupmanagerscreateinstancesrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersCreateInstancesCall) RequestId(requestId string) *InstanceGroupManagersCreateInstancesCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.globalsetpolicyrequest = globalsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersCreateInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersCreateInstancesCall {
+func (c *ImagesSetIamPolicyCall) Fields(s ...googleapi.Field) *ImagesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersCreateInstancesCall) Context(ctx context.Context) *InstanceGroupManagersCreateInstancesCall {
+func (c *ImagesSetIamPolicyCall) Context(ctx context.Context) *ImagesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersCreateInstancesCall) Header() http.Header {
+func (c *ImagesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerscreateinstancesrequest)
+func (c *ImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -30780,20 +30891,19 @@ func (c *InstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.createInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.createInstances" call.
+// Do executes the "compute.images.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersCreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ImagesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30812,7 +30922,7 @@ func (c *InstanceGroupManagersCreateInstancesCall) Do(opts ...googleapi.CallOpti
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30823,109 +30933,86 @@ func (c *InstanceGroupManagersCreateInstancesCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.createInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersDeleteCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImagesSetLabelsCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetlabelsrequest *GlobalSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified managed instance group and all of the
-// instances
-// in that group. Note that the instance group must not belong to a
-// backend service. Read
-// Deleting an instance group for more information.
+// SetLabels: Sets the labels on an image. To learn more about labels, read
+// theLabeling
+// Resources documentation.
//
-// - instanceGroupManager: The name of the managed instance group to delete.
// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) Delete(project string, zone string, instanceGroupManager string) *InstanceGroupManagersDeleteCall {
- c := &InstanceGroupManagersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *ImagesService) SetLabels(project string, resource string, globalsetlabelsrequest *GlobalSetLabelsRequest) *ImagesSetLabelsCall {
+ c := &ImagesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersDeleteCall) RequestId(requestId string) *InstanceGroupManagersDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.globalsetlabelsrequest = globalsetlabelsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteCall {
+func (c *ImagesSetLabelsCall) Fields(s ...googleapi.Field) *ImagesSetLabelsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersDeleteCall) Context(ctx context.Context) *InstanceGroupManagersDeleteCall {
+func (c *ImagesSetLabelsCall) Context(ctx context.Context) *ImagesSetLabelsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersDeleteCall) Header() http.Header {
+func (c *ImagesSetLabelsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ImagesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{resource}/setLabels")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.delete" call.
+// Do executes the "compute.images.setLabels" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ImagesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30955,52 +31042,151 @@ func (c *InstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.setLabels", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersDeleteInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ImagesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// DeleteInstances: Flags the specified instances in the managed instance group
-// for immediate
-// deletion. The instances are also removed from any target
-// pools of which they were a member. This method reduces thetargetSize of the
-// managed instance group by the number of
-// instances that you delete. This operation is marked as DONE
-// when the action is scheduled even if the instances are still being
-// deleted.
-// You must separately verify the status of the deleting action
-// with thelistmanagedinstances
-// method.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is removed or
-// deleted.
-//
-// You can specify a maximum of 1000 instances with this method per request.
-//
-// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) DeleteInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest) *InstanceGroupManagersDeleteInstancesCall {
- c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *ImagesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *ImagesTestIamPermissionsCall {
+ c := &ImagesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ImagesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ImagesTestIamPermissionsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *ImagesTestIamPermissionsCall) Context(ctx context.Context) *ImagesTestIamPermissionsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ImagesTestIamPermissionsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/images/{resource}/testIamPermissions")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.images.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.images.testIamPermissions" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &TestPermissionsResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.images.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type InstanceGroupManagerResizeRequestsCancelCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ resizeRequest string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Cancel: Cancels the specified resize request and removes it from the
+// queue.
+// Cancelled resize request does no longer wait for the resources to
+// be
+// provisioned. Cancel is only possible for requests that are accepted in
+// the
+// queue.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// The name should conform to RFC1035 or be a resource ID.
+// - project: Project ID for this request.
+// - resizeRequest: The name of the resize request to cancel.
+// The name should conform to RFC1035 or be a resource ID.
+// - zone: The name of thezone where the managed
+// instance group is located. The name should conform to RFC1035.
+func (r *InstanceGroupManagerResizeRequestsService) Cancel(project string, zone string, instanceGroupManager string, resizeRequest string) *InstanceGroupManagerResizeRequestsCancelCall {
+ c := &InstanceGroupManagerResizeRequestsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersdeleteinstancesrequest = instancegroupmanagersdeleteinstancesrequest
+ c.resizeRequest = resizeRequest
return c
}
@@ -31021,7 +31207,7 @@ func (r *InstanceGroupManagersService) DeleteInstances(project string, zone stri
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersDeleteInstancesCall) RequestId(requestId string) *InstanceGroupManagersDeleteInstancesCall {
+func (c *InstanceGroupManagerResizeRequestsCancelCall) RequestId(requestId string) *InstanceGroupManagerResizeRequestsCancelCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -31029,37 +31215,33 @@ func (c *InstanceGroupManagersDeleteInstancesCall) RequestId(requestId string) *
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersDeleteInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteInstancesCall {
+func (c *InstanceGroupManagerResizeRequestsCancelCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsCancelCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context) *InstanceGroupManagersDeleteInstancesCall {
+func (c *InstanceGroupManagerResizeRequestsCancelCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsCancelCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersDeleteInstancesCall) Header() http.Header {
+func (c *InstanceGroupManagerResizeRequestsCancelCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersdeleteinstancesrequest)
- if err != nil {
- return nil, err
- }
+func (c *InstanceGroupManagerResizeRequestsCancelCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -31068,17 +31250,18 @@ func (c *InstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
+ "resizeRequest": c.resizeRequest,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.deleteInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.cancel", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.deleteInstances" call.
+// Do executes the "compute.instanceGroupManagerResizeRequests.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagerResizeRequestsCancelCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31108,76 +31291,95 @@ func (c *InstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.deleteInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.cancel", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersDeletePerInstanceConfigsCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersdeleteperinstanceconfigsreq *InstanceGroupManagersDeletePerInstanceConfigsReq
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagerResizeRequestsDeleteCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ resizeRequest string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// DeletePerInstanceConfigs: Deletes selected per-instance configurations for
-// the managed instance
-// group.
+// Delete: Deletes the specified, inactive resize request. Requests that are
+// still
+// active cannot be deleted. Deleting request does not delete instances
+// that
+// were provisioned previously.
//
// - instanceGroupManager: The name of the managed instance group.
-// It should conform to RFC1035.
+// The name should conform to RFC1035 or be a resource ID.
// - project: Project ID for this request.
-// - zone: The name of thezone
-// where the managed instance
-//
-// group is located.
-// It should conform to RFC1035.
-func (r *InstanceGroupManagersService) DeletePerInstanceConfigs(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteperinstanceconfigsreq *InstanceGroupManagersDeletePerInstanceConfigsReq) *InstanceGroupManagersDeletePerInstanceConfigsCall {
- c := &InstanceGroupManagersDeletePerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resizeRequest: The name of the resize request to delete.
+// The name should conform to RFC1035 or be a resource ID.
+// - zone: The name of thezone where the managed
+// instance group is located. The name should conform to RFC1035.
+func (r *InstanceGroupManagerResizeRequestsService) Delete(project string, zone string, instanceGroupManager string, resizeRequest string) *InstanceGroupManagerResizeRequestsDeleteCall {
+ c := &InstanceGroupManagerResizeRequestsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersdeleteperinstanceconfigsreq = instancegroupmanagersdeleteperinstanceconfigsreq
+ c.resizeRequest = resizeRequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagerResizeRequestsDeleteCall) RequestId(requestId string) *InstanceGroupManagerResizeRequestsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeletePerInstanceConfigsCall {
+func (c *InstanceGroupManagerResizeRequestsDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Context(ctx context.Context) *InstanceGroupManagersDeletePerInstanceConfigsCall {
+func (c *InstanceGroupManagerResizeRequestsDeleteCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Header() http.Header {
+func (c *InstanceGroupManagerResizeRequestsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersdeleteperinstanceconfigsreq)
- if err != nil {
- return nil, err
- }
+func (c *InstanceGroupManagerResizeRequestsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
@@ -31186,17 +31388,18 @@ func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
+ "resizeRequest": c.resizeRequest,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.deletePerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.deletePerInstanceConfigs" call.
+// Do executes the "compute.instanceGroupManagerResizeRequests.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagerResizeRequestsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31226,39 +31429,45 @@ func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Do(opts ...googleapi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.deletePerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersGetCall struct {
+type InstanceGroupManagerResizeRequestsGetCall struct {
s *Service
project string
zone string
instanceGroupManager string
+ resizeRequest string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns all of the details about the specified managed instance group.
+// Get: Returns all of the details about the specified resize request.
//
-// - instanceGroupManager: The name of the managed instance group.
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) Get(project string, zone string, instanceGroupManager string) *InstanceGroupManagersGetCall {
- c := &InstanceGroupManagersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceGroupManager: The name of the managed instance group.
+// Name should conform to RFC1035 or be a resource ID.
+// - project: Project ID for this request.
+// - resizeRequest: The name of the resize request.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the
+// href="/compute/docs/regions-zones/#available">zone
+// scoping this request. Name should conform to RFC1035.
+func (r *InstanceGroupManagerResizeRequestsService) Get(project string, zone string, instanceGroupManager string, resizeRequest string) *InstanceGroupManagerResizeRequestsGetCall {
+ c := &InstanceGroupManagerResizeRequestsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
+ c.resizeRequest = resizeRequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *InstanceGroupManagersGetCall {
+func (c *InstanceGroupManagerResizeRequestsGetCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -31266,34 +31475,34 @@ func (c *InstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *InstanceGro
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InstanceGroupManagersGetCall) IfNoneMatch(entityTag string) *InstanceGroupManagersGetCall {
+func (c *InstanceGroupManagerResizeRequestsGetCall) IfNoneMatch(entityTag string) *InstanceGroupManagerResizeRequestsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersGetCall) Context(ctx context.Context) *InstanceGroupManagersGetCall {
+func (c *InstanceGroupManagerResizeRequestsGetCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersGetCall) Header() http.Header {
+func (c *InstanceGroupManagerResizeRequestsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceGroupManagerResizeRequestsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -31304,18 +31513,19 @@ func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, er
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
+ "resizeRequest": c.resizeRequest,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.get" call.
+// Do executes the "compute.instanceGroupManagerResizeRequests.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManager.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManager, error) {
+// *InstanceGroupManagerResizeRequest.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceGroupManagerResizeRequestsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerResizeRequest, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31334,7 +31544,7 @@ func (c *InstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*Instan
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManager{
+ ret := &InstanceGroupManagerResizeRequest{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -31345,44 +31555,42 @@ func (c *InstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*Instan
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersInsertCall struct {
- s *Service
- project string
- zone string
- instancegroupmanager *InstanceGroupManager
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagerResizeRequestsInsertCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagerresizerequest *InstanceGroupManagerResizeRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a managed instance group using the information that you
-// specify
-// in the request. After the group is created, instances in the group
-// are
-// created using the specified instance template.
-// This operation is marked as DONE when the group is created
-// even if the instances in the group have not yet been created. You
-// must separately verify the status of the individual instances with
-// thelistmanagedinstances
-// method.
+// Insert: Creates a new resize request that starts provisioning VMs
+// immediately
+// or queues VM creation.
//
-// A managed instance group can have up to 1000 VM instances per group.
-// Please
-// contact Cloud Support if you need an increase in
-// this limit.
+// - instanceGroupManager: The name of the managed instance group to which the
+// resize request will
+// be added.
//
+// Name should conform to RFC1035 or be a resource ID.
// - project: Project ID for this request.
-// - zone: The name of the zone
-// where you want to create the managed instance group.
-func (r *InstanceGroupManagersService) Insert(project string, zone string, instancegroupmanager *InstanceGroupManager) *InstanceGroupManagersInsertCall {
- c := &InstanceGroupManagersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone where the managed
+// instance group is located and where the resize request will be
+// created.
+//
+// Name should conform to RFC1035.
+func (r *InstanceGroupManagerResizeRequestsService) Insert(project string, zone string, instanceGroupManager string, instancegroupmanagerresizerequest *InstanceGroupManagerResizeRequest) *InstanceGroupManagerResizeRequestsInsertCall {
+ c := &InstanceGroupManagerResizeRequestsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instancegroupmanager = instancegroupmanager
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagerresizerequest = instancegroupmanagerresizerequest
return c
}
@@ -31403,7 +31611,7 @@ func (r *InstanceGroupManagersService) Insert(project string, zone string, insta
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersInsertCall) RequestId(requestId string) *InstanceGroupManagersInsertCall {
+func (c *InstanceGroupManagerResizeRequestsInsertCall) RequestId(requestId string) *InstanceGroupManagerResizeRequestsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -31411,35 +31619,35 @@ func (c *InstanceGroupManagersInsertCall) RequestId(requestId string) *InstanceG
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersInsertCall) Fields(s ...googleapi.Field) *InstanceGroupManagersInsertCall {
+func (c *InstanceGroupManagerResizeRequestsInsertCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersInsertCall) Context(ctx context.Context) *InstanceGroupManagersInsertCall {
+func (c *InstanceGroupManagerResizeRequestsInsertCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersInsertCall) Header() http.Header {
+func (c *InstanceGroupManagerResizeRequestsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanager)
+func (c *InstanceGroupManagerResizeRequestsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerresizerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -31447,19 +31655,20 @@ func (c *InstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.insert" call.
+// Do executes the "compute.instanceGroupManagerResizeRequests.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagerResizeRequestsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31489,31 +31698,34 @@ func (c *InstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersListCall struct {
- s *Service
- project string
- zone string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagerResizeRequestsListCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves a list of managed instance groups that are contained within
-// the
-// specified project and zone.
+// List: Retrieves a list of resize requests that are contained in the
+// managed instance group.
//
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) List(project string, zone string) *InstanceGroupManagersListCall {
- c := &InstanceGroupManagersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceGroupManager: The name of the managed instance group. The name
+// should conform to RFC1035.
+// - project: Project ID for this request.
+// - zone: The name of thezone where the managed
+// instance group is located. The name should conform to RFC1035.
+func (r *InstanceGroupManagerResizeRequestsService) List(project string, zone string, instanceGroupManager string) *InstanceGroupManagerResizeRequestsListCall {
+ c := &InstanceGroupManagerResizeRequestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
return c
}
@@ -31584,7 +31796,7 @@ func (r *InstanceGroupManagersService) List(project string, zone string) *Instan
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InstanceGroupManagersListCall) Filter(filter string) *InstanceGroupManagersListCall {
+func (c *InstanceGroupManagerResizeRequestsListCall) Filter(filter string) *InstanceGroupManagerResizeRequestsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -31596,7 +31808,7 @@ func (c *InstanceGroupManagersListCall) Filter(filter string) *InstanceGroupMana
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupManagersListCall) MaxResults(maxResults int64) *InstanceGroupManagersListCall {
+func (c *InstanceGroupManagerResizeRequestsListCall) MaxResults(maxResults int64) *InstanceGroupManagerResizeRequestsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -31616,7 +31828,7 @@ func (c *InstanceGroupManagersListCall) MaxResults(maxResults int64) *InstanceGr
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InstanceGroupManagersListCall) OrderBy(orderBy string) *InstanceGroupManagersListCall {
+func (c *InstanceGroupManagerResizeRequestsListCall) OrderBy(orderBy string) *InstanceGroupManagerResizeRequestsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -31625,30 +31837,15 @@ func (c *InstanceGroupManagersListCall) OrderBy(orderBy string) *InstanceGroupMa
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InstanceGroupManagersListCall) PageToken(pageToken string) *InstanceGroupManagersListCall {
+func (c *InstanceGroupManagerResizeRequestsListCall) PageToken(pageToken string) *InstanceGroupManagerResizeRequestsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupManagersListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupManagersListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListCall {
+func (c *InstanceGroupManagerResizeRequestsListCall) Fields(s ...googleapi.Field) *InstanceGroupManagerResizeRequestsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -31656,34 +31853,34 @@ func (c *InstanceGroupManagersListCall) Fields(s ...googleapi.Field) *InstanceGr
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InstanceGroupManagersListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersListCall {
+func (c *InstanceGroupManagerResizeRequestsListCall) IfNoneMatch(entityTag string) *InstanceGroupManagerResizeRequestsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersListCall) Context(ctx context.Context) *InstanceGroupManagersListCall {
+func (c *InstanceGroupManagerResizeRequestsListCall) Context(ctx context.Context) *InstanceGroupManagerResizeRequestsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersListCall) Header() http.Header {
+func (c *InstanceGroupManagerResizeRequestsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceGroupManagerResizeRequestsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -31691,20 +31888,21 @@ func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, e
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.list" call.
+// Do executes the "compute.instanceGroupManagerResizeRequests.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManagerList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
+// *InstanceGroupManagerResizeRequestsListResponse.ServerResponse.Header or (if
+// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *InstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerList, error) {
+func (c *InstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerResizeRequestsListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31723,7 +31921,7 @@ func (c *InstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*Insta
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManagerList{
+ ret := &InstanceGroupManagerResizeRequestsListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -31734,14 +31932,14 @@ func (c *InstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*Insta
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagerResizeRequests.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupManagersListCall) Pages(ctx context.Context, f func(*InstanceGroupManagerList) error) error {
+func (c *InstanceGroupManagerResizeRequestsListCall) Pages(ctx context.Context, f func(*InstanceGroupManagerResizeRequestsListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -31759,208 +31957,108 @@ func (c *InstanceGroupManagersListCall) Pages(ctx context.Context, f func(*Insta
}
}
-type InstanceGroupManagersListErrorsCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersAbandonInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListErrors: Lists all errors thrown by actions on instances for a given
-// managed
-// instance group. The filter and orderBy query
-// parameters are not supported.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// It must be a string that meets the requirements in RFC1035, or an
-// unsigned long integer: must match regexp pattern:
-// (?:a-z (?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
+// AbandonInstances: Flags the specified instances to be removed from
+// the
+// managed instance group. Abandoning an instance does not delete the
+// instance, but it does remove the instance from any target pools that
+// are
+// applied by the managed instance group. This method reduces thetargetSize of
+// the managed instance group by the
+// number of instances that you abandon. This operation is marked asDONE when
+// the action is scheduled even if the instances have
+// not yet been removed from the group. You must separately verify the
+// status of the abandoning action with thelistmanagedinstances
+// method.
//
-// It should conform to RFC1035.
-func (r *InstanceGroupManagersService) ListErrors(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListErrorsCall {
- c := &InstanceGroupManagersListErrorsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// - project: Project ID for this request.
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) AbandonInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest) *InstanceGroupManagersAbandonInstancesCall {
+ c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagersabandoninstancesrequest = instancegroupmanagersabandoninstancesrequest
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstanceGroupManagersListErrorsCall) Filter(filter string) *InstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupManagersListErrorsCall) MaxResults(maxResults int64) *InstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstanceGroupManagersListErrorsCall) OrderBy(orderBy string) *InstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstanceGroupManagersListErrorsCall) PageToken(pageToken string) *InstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupManagersListErrorsCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagersAbandonInstancesCall) RequestId(requestId string) *InstanceGroupManagersAbandonInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersListErrorsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListErrorsCall {
+func (c *InstanceGroupManagersAbandonInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAbandonInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceGroupManagersListErrorsCall) IfNoneMatch(entityTag string) *InstanceGroupManagersListErrorsCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersListErrorsCall) Context(ctx context.Context) *InstanceGroupManagersListErrorsCall {
+func (c *InstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context) *InstanceGroupManagersAbandonInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersListErrorsCall) Header() http.Header {
+func (c *InstanceGroupManagersAbandonInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersabandoninstancesrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -31970,17 +32068,16 @@ func (c *InstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Respo
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listErrors", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.abandonInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.listErrors" call.
+// Do executes the "compute.instanceGroupManagers.abandonInstances" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManagersListErrorsResponse.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceGroupManagersListErrorsCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagersListErrorsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31999,7 +32096,7 @@ func (c *InstanceGroupManagersListErrorsCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManagersListErrorsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -32010,63 +32107,30 @@ func (c *InstanceGroupManagersListErrorsCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listErrors", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.abandonInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupManagersListErrorsCall) Pages(ctx context.Context, f func(*InstanceGroupManagersListErrorsResponse) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InstanceGroupManagersListManagedInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// ListManagedInstances: Lists all of the instances in the managed instance
-// group. Each instance
-// in the list has a currentAction, which indicates the action
-// that the managed instance group is performing on the instance. For
-// example,
-// if the group is still creating an instance, the currentAction
-// is CREATING. If a previous action failed, the
-// list displays the errors for that failed action. The orderBy
-// query parameter is not supported. The `pageToken` query parameter
-// is
-// supported only if the group's `listManagedInstancesResults` field is set
-// to `PAGINATED`.
+// AggregatedList: Retrieves the list of managed instance groups and groups
+// them by zone.
+//
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
-// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) ListManagedInstances(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListManagedInstancesCall {
- c := &InstanceGroupManagersListManagedInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstanceGroupManagersService) AggregatedList(project string) *InstanceGroupManagersAggregatedListCall {
+ c := &InstanceGroupManagersAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
return c
}
@@ -32137,11 +32201,29 @@ func (r *InstanceGroupManagersService) ListManagedInstances(project string, zone
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InstanceGroupManagersListManagedInstancesCall) Filter(filter string) *InstanceGroupManagersListManagedInstancesCall {
+func (c *InstanceGroupManagersAggregatedListCall) Filter(filter string) *InstanceGroupManagersAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *InstanceGroupManagersAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstanceGroupManagersAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -32149,7 +32231,7 @@ func (c *InstanceGroupManagersListManagedInstancesCall) Filter(filter string) *I
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupManagersListManagedInstancesCall) MaxResults(maxResults int64) *InstanceGroupManagersListManagedInstancesCall {
+func (c *InstanceGroupManagersAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupManagersAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -32169,7 +32251,7 @@ func (c *InstanceGroupManagersListManagedInstancesCall) MaxResults(maxResults in
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InstanceGroupManagersListManagedInstancesCall) OrderBy(orderBy string) *InstanceGroupManagersListManagedInstancesCall {
+func (c *InstanceGroupManagersAggregatedListCall) OrderBy(orderBy string) *InstanceGroupManagersAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -32178,76 +32260,78 @@ func (c *InstanceGroupManagersListManagedInstancesCall) OrderBy(orderBy string)
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InstanceGroupManagersListManagedInstancesCall) PageToken(pageToken string) *InstanceGroupManagersListManagedInstancesCall {
+func (c *InstanceGroupManagersAggregatedListCall) PageToken(pageToken string) *InstanceGroupManagersAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupManagersListManagedInstancesCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupManagersListManagedInstancesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *InstanceGroupManagersAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstanceGroupManagersAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersListManagedInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListManagedInstancesCall {
+func (c *InstanceGroupManagersAggregatedListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceGroupManagersAggregatedListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersListManagedInstancesCall) Context(ctx context.Context) *InstanceGroupManagersListManagedInstancesCall {
+func (c *InstanceGroupManagersAggregatedListCall) Context(ctx context.Context) *InstanceGroupManagersAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersListManagedInstancesCall) Header() http.Header {
+func (c *InstanceGroupManagersAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instanceGroupManagers")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listManagedInstances", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.listManagedInstances" call.
+// Do executes the "compute.instanceGroupManagers.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManagersListManagedInstancesResponse.ServerResponse.Header or
-// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
+// *InstanceGroupManagerAggregatedList.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *InstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagersListManagedInstancesResponse, error) {
+func (c *InstanceGroupManagersAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32266,7 +32350,7 @@ func (c *InstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManagersListManagedInstancesResponse{
+ ret := &InstanceGroupManagerAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -32277,14 +32361,14 @@ func (c *InstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listManagedInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupManagersListManagedInstancesCall) Pages(ctx context.Context, f func(*InstanceGroupManagersListManagedInstancesResponse) error) error {
+func (c *InstanceGroupManagersAggregatedListCall) Pages(ctx context.Context, f func(*InstanceGroupManagerAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -32302,193 +32386,69 @@ func (c *InstanceGroupManagersListManagedInstancesCall) Pages(ctx context.Contex
}
}
-type InstanceGroupManagersListPerInstanceConfigsCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersApplyUpdatesToInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersapplyupdatesrequest *InstanceGroupManagersApplyUpdatesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListPerInstanceConfigs: Lists all of the per-instance configurations defined
-// for the managed
-// instance group. The orderBy query parameter is not supported.
+// ApplyUpdatesToInstances: Applies changes to selected instances on the
+// managed instance group.
+// This method can be used to apply new overrides and/or new versions.
//
-// - instanceGroupManager: The name of the managed instance group. It should
+// - instanceGroupManager: The name of the managed instance group, should
// conform to RFC1035.
// - project: Project ID for this request.
// - zone: The name of thezone
-// where the managed instance group is located.
-//
-// It should conform to RFC1035.
-func (r *InstanceGroupManagersService) ListPerInstanceConfigs(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListPerInstanceConfigsCall {
- c := &InstanceGroupManagersListPerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// where the managed instance group is located. Should conform to RFC1035.
+func (r *InstanceGroupManagersService) ApplyUpdatesToInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersapplyupdatesrequest *InstanceGroupManagersApplyUpdatesRequest) *InstanceGroupManagersApplyUpdatesToInstancesCall {
+ c := &InstanceGroupManagersApplyUpdatesToInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) Filter(filter string) *InstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) MaxResults(maxResults int64) *InstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) OrderBy(orderBy string) *InstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) PageToken(pageToken string) *InstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+ c.instancegroupmanagersapplyupdatesrequest = instancegroupmanagersapplyupdatesrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListPerInstanceConfigsCall {
+func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersApplyUpdatesToInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) Context(ctx context.Context) *InstanceGroupManagersListPerInstanceConfigsCall {
+func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Context(ctx context.Context) *InstanceGroupManagersApplyUpdatesToInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) Header() http.Header {
+func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersapplyupdatesrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -32498,20 +32458,19 @@ func (c *InstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string)
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listPerInstanceConfigs", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.applyUpdatesToInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.listPerInstanceConfigs" call.
+// Do executes the "compute.instanceGroupManagers.applyUpdatesToInstances" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManagersListPerInstanceConfigsResp.ServerResponse.Header or
-// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagersListPerInstanceConfigsResp, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
@@ -32527,7 +32486,7 @@ func (c *InstanceGroupManagersListPerInstanceConfigsCall) Do(opts ...googleapi.C
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManagersListPerInstanceConfigsResp{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -32538,73 +32497,43 @@ func (c *InstanceGroupManagersListPerInstanceConfigsCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listPerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.applyUpdatesToInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupManagersListPerInstanceConfigsCall) Pages(ctx context.Context, f func(*InstanceGroupManagersListPerInstanceConfigsResp) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InstanceGroupManagersPatchCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanager *InstanceGroupManager
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersCreateInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagerscreateinstancesrequest *InstanceGroupManagersCreateInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates a managed instance group using the information that you
-// specify
-// in the request.
-// This operation is marked as DONE when the group is patched
-// even if the instances in the group are still in the process of
-// being
-// patched. You must separately verify the status of the individual
-// instances
-// with thelistManagedInstances
-// method. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
-//
-// If you update your group to specify a new template or
-// instance
-// configuration, it's possible that your intended specification for each VM
-// in the group is different from the current state of that VM. To learn how
-// to apply an updated configuration to the VMs in a MIG, seeUpdating instances
-// in
-// a MIG.
+// CreateInstances: Creates instances with per-instance configurations in this
+// managed instance
+// group. Instances are created using the current instance template. Thecreate
+// instances operation is marked DONE if thecreateInstances request is
+// successful. The underlying actions
+// take additional time. You must separately verify the status of thecreating
+// or actions with the listmanagedinstances
+// method.
//
-// - instanceGroupManager: The name of the instance group manager.
+// - instanceGroupManager: The name of the managed instance group.
+// It should conform to RFC1035.
// - project: Project ID for this request.
-// - zone: The name of the zone where
-// you want to create the managed instance group.
-func (r *InstanceGroupManagersService) Patch(project string, zone string, instanceGroupManager string, instancegroupmanager *InstanceGroupManager) *InstanceGroupManagersPatchCall {
- c := &InstanceGroupManagersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone
+// where the managed instance group is located.
+//
+// It should conform to RFC1035.
+func (r *InstanceGroupManagersService) CreateInstances(project string, zone string, instanceGroupManager string, instancegroupmanagerscreateinstancesrequest *InstanceGroupManagersCreateInstancesRequest) *InstanceGroupManagersCreateInstancesCall {
+ c := &InstanceGroupManagersCreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanager = instancegroupmanager
+ c.instancegroupmanagerscreateinstancesrequest = instancegroupmanagerscreateinstancesrequest
return c
}
@@ -32618,14 +32547,12 @@ func (r *InstanceGroupManagersService) Patch(project string, zone string, instan
// the request times out. If you make the request again with the same
// request ID, the server can check if original operation with the same
// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
//
// The request ID must be
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersPatchCall) RequestId(requestId string) *InstanceGroupManagersPatchCall {
+func (c *InstanceGroupManagersCreateInstancesCall) RequestId(requestId string) *InstanceGroupManagersCreateInstancesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -32633,37 +32560,37 @@ func (c *InstanceGroupManagersPatchCall) RequestId(requestId string) *InstanceGr
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersPatchCall) Fields(s ...googleapi.Field) *InstanceGroupManagersPatchCall {
+func (c *InstanceGroupManagersCreateInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersCreateInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersPatchCall) Context(ctx context.Context) *InstanceGroupManagersPatchCall {
+func (c *InstanceGroupManagersCreateInstancesCall) Context(ctx context.Context) *InstanceGroupManagersCreateInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersPatchCall) Header() http.Header {
+func (c *InstanceGroupManagersCreateInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanager)
+func (c *InstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerscreateinstancesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -32673,16 +32600,16 @@ func (c *InstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.createInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.patch" call.
+// Do executes the "compute.instanceGroupManagers.createInstances" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagersCreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32712,39 +32639,44 @@ func (c *InstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.createInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersPatchPerInstanceConfigsCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagerspatchperinstanceconfigsreq *InstanceGroupManagersPatchPerInstanceConfigsReq
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersDeleteCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// PatchPerInstanceConfigs: Inserts or patches per-instance configurations for
-// the managed instance
-// group. perInstanceConfig.name serves as a key used to
-// distinguish whether to perform insert or patch.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// It should conform to RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of thezone
-// where the managed instance group is located.
+// Delete: Deletes the specified managed instance group and all of the
+// instances
+// in that group. Note that the instance group must not belong to a
+// backend service. Read
+// Deleting an instance group for more information.
//
-// It should conform to RFC1035.
-func (r *InstanceGroupManagersService) PatchPerInstanceConfigs(project string, zone string, instanceGroupManager string, instancegroupmanagerspatchperinstanceconfigsreq *InstanceGroupManagersPatchPerInstanceConfigsReq) *InstanceGroupManagersPatchPerInstanceConfigsCall {
- c := &InstanceGroupManagersPatchPerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceGroupManager: The name of the managed instance group to delete.
+// - project: Project ID for this request.
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) Delete(project string, zone string, instanceGroupManager string) *InstanceGroupManagersDeleteCall {
+ c := &InstanceGroupManagersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagerspatchperinstanceconfigsreq = instancegroupmanagerspatchperinstanceconfigsreq
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": When
+// set, graceful shutdown is skipped for instance deletion even if
+// it's
+// configured for the instances.
+func (c *InstanceGroupManagersDeleteCall) NoGracefulShutdown(noGracefulShutdown bool) *InstanceGroupManagersDeleteCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
return c
}
@@ -32765,7 +32697,7 @@ func (r *InstanceGroupManagersService) PatchPerInstanceConfigs(project string, z
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) RequestId(requestId string) *InstanceGroupManagersPatchPerInstanceConfigsCall {
+func (c *InstanceGroupManagersDeleteCall) RequestId(requestId string) *InstanceGroupManagersDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -32773,37 +32705,33 @@ func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) RequestId(requestId s
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersPatchPerInstanceConfigsCall {
+func (c *InstanceGroupManagersDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Context(ctx context.Context) *InstanceGroupManagersPatchPerInstanceConfigsCall {
+func (c *InstanceGroupManagersDeleteCall) Context(ctx context.Context) *InstanceGroupManagersDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Header() http.Header {
+func (c *InstanceGroupManagersDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerspatchperinstanceconfigsreq)
- if err != nil {
- return nil, err
- }
+func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
@@ -32813,16 +32741,16 @@ func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string)
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.patchPerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.patchPerInstanceConfigs" call.
+// Do executes the "compute.instanceGroupManagers.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32852,31 +32780,32 @@ func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Do(opts ...googleapi.
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.patchPerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersRecreateInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersDeleteInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RecreateInstances: Flags the specified VM instances in the managed instance
-// group to be
-// immediately recreated. Each instance is recreated using the group's
-// current
-// configuration. This operation is marked as DONE when the flag
-// is set even if the instances have not yet been recreated. You
-// must
-// separately verify the status of each instance by checking itscurrentAction
-// field; for more information, see Checking
-// the status of managed instances.
+// DeleteInstances: Flags the specified instances in the managed instance group
+// for immediate
+// deletion. The instances are also removed from any target
+// pools of which they were a member. This method reduces thetargetSize of the
+// managed instance group by the number of
+// instances that you delete. This operation is marked as DONE
+// when the action is scheduled even if the instances are still being
+// deleted.
+// You must separately verify the status of the deleting action
+// with thelistmanagedinstances
+// method.
//
// If the group is part of a backend
// service that has enabled
@@ -32891,12 +32820,21 @@ type InstanceGroupManagersRecreateInstancesCall struct {
// - project: Project ID for this request.
// - zone: The name of thezone where the managed
// instance group is located.
-func (r *InstanceGroupManagersService) RecreateInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest) *InstanceGroupManagersRecreateInstancesCall {
- c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstanceGroupManagersService) DeleteInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest) *InstanceGroupManagersDeleteInstancesCall {
+ c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersrecreateinstancesrequest = instancegroupmanagersrecreateinstancesrequest
+ c.instancegroupmanagersdeleteinstancesrequest = instancegroupmanagersdeleteinstancesrequest
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": When
+// set, graceful shutdown is skipped for instance deletion even if
+// it's
+// configured for the instances.
+func (c *InstanceGroupManagersDeleteInstancesCall) NoGracefulShutdown(noGracefulShutdown bool) *InstanceGroupManagersDeleteInstancesCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
return c
}
@@ -32917,7 +32855,7 @@ func (r *InstanceGroupManagersService) RecreateInstances(project string, zone st
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersRecreateInstancesCall) RequestId(requestId string) *InstanceGroupManagersRecreateInstancesCall {
+func (c *InstanceGroupManagersDeleteInstancesCall) RequestId(requestId string) *InstanceGroupManagersDeleteInstancesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -32925,35 +32863,35 @@ func (c *InstanceGroupManagersRecreateInstancesCall) RequestId(requestId string)
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersRecreateInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersRecreateInstancesCall {
+func (c *InstanceGroupManagersDeleteInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context) *InstanceGroupManagersRecreateInstancesCall {
+func (c *InstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context) *InstanceGroupManagersDeleteInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersRecreateInstancesCall) Header() http.Header {
+func (c *InstanceGroupManagersDeleteInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersrecreateinstancesrequest)
+func (c *InstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersdeleteinstancesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -32965,16 +32903,16 @@ func (c *InstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*htt
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.recreateInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.deleteInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.recreateInstances" call.
+// Do executes the "compute.instanceGroupManagers.deleteInstances" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33004,122 +32942,76 @@ func (c *InstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.recreateInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.deleteInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersResizeCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersDeletePerInstanceConfigsCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersdeleteperinstanceconfigsreq *InstanceGroupManagersDeletePerInstanceConfigsReq
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Resize: Resizes the managed instance group. If you increase the size, the
-// group
-// creates new instances using the current instance template. If you
-// decrease
-// the size, the group deletes instances. The resize operation is markedDONE
-// when the resize actions are scheduled even if the group
-// has not yet added or deleted any instances. You must separately
-// verify the status of the creating or deleting
-// actions with thelistmanagedinstances
-// method.
-//
-// When resizing down, the instance group arbitrarily chooses the order
-// in
-// which VMs are deleted. The group takes into account some VM attributes
-// when
-// making the selection including:
-//
-// + The status of the VM instance.
-// + The health of the VM instance.
-// + The instance template version the VM is based on.
-// + For regional managed instance groups, the location of the VM
-// instance.
-//
-// This list is subject to change.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is removed or deleted.
+// DeletePerInstanceConfigs: Deletes selected per-instance configurations for
+// the managed instance
+// group.
//
// - instanceGroupManager: The name of the managed instance group.
+// It should conform to RFC1035.
// - project: Project ID for this request.
-// - size: The number of running instances that the managed instance group
-// should
-// maintain at any given time. The group automatically adds or
-// removes
-// instances to maintain the number of instances specified by this parameter.
-// - zone: The name of thezone where the managed
+// - zone: The name of thezone
+// where the managed instance
//
-// instance group is located.
-func (r *InstanceGroupManagersService) Resize(project string, zone string, instanceGroupManager string, size int64) *InstanceGroupManagersResizeCall {
- c := &InstanceGroupManagersResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// group is located.
+// It should conform to RFC1035.
+func (r *InstanceGroupManagersService) DeletePerInstanceConfigs(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteperinstanceconfigsreq *InstanceGroupManagersDeletePerInstanceConfigsReq) *InstanceGroupManagersDeletePerInstanceConfigsCall {
+ c := &InstanceGroupManagersDeletePerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- c.urlParams_.Set("size", fmt.Sprint(size))
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersResizeCall) RequestId(requestId string) *InstanceGroupManagersResizeCall {
- c.urlParams_.Set("requestId", requestId)
+ c.instancegroupmanagersdeleteperinstanceconfigsreq = instancegroupmanagersdeleteperinstanceconfigsreq
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersResizeCall) Fields(s ...googleapi.Field) *InstanceGroupManagersResizeCall {
+func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeletePerInstanceConfigsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersResizeCall) Context(ctx context.Context) *InstanceGroupManagersResizeCall {
+func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Context(ctx context.Context) *InstanceGroupManagersDeletePerInstanceConfigsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersResizeCall) Header() http.Header {
+func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersdeleteperinstanceconfigsreq)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -33129,16 +33021,16 @@ func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.resize", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.deletePerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.resize" call.
+// Do executes the "compute.instanceGroupManagers.deletePerInstanceConfigs" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33168,114 +33060,76 @@ func (c *InstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.resize", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.deletePerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersResumeInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersresumeinstancesrequest *InstanceGroupManagersResumeInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersGetCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// ResumeInstances: Flags the specified instances in the managed instance group
-// to be
-// resumed. This method increases thetargetSize and decreases the
-// targetSuspendedSize
-// of the managed instance group by the number of instances that you
-// resume.
-// The resumeInstances operation is marked DONE if
-// the resumeInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// theRESUMING action with thelistmanagedinstances
-// method.
-//
-// In this request, you can only specify instances that are suspended.
-// For
-// example, if an instance was previously suspended using the
-// suspendInstances
-// method, it can be resumed using the resumeInstances method.
-//
-// If a health check is attached to the managed instance group, the
-// specified
-// instances will be verified as healthy after they are resumed.
-//
-// You can specify a maximum of 1000 instances with this method per request.
+// Get: Returns all of the details about the specified managed instance group.
//
// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
// - zone: The name of thezone where the managed
// instance group is located.
-func (r *InstanceGroupManagersService) ResumeInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersresumeinstancesrequest *InstanceGroupManagersResumeInstancesRequest) *InstanceGroupManagersResumeInstancesCall {
- c := &InstanceGroupManagersResumeInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstanceGroupManagersService) Get(project string, zone string, instanceGroupManager string) *InstanceGroupManagersGetCall {
+ c := &InstanceGroupManagersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersresumeinstancesrequest = instancegroupmanagersresumeinstancesrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersResumeInstancesCall) RequestId(requestId string) *InstanceGroupManagersResumeInstancesCall {
- c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersResumeInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersResumeInstancesCall {
+func (c *InstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *InstanceGroupManagersGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceGroupManagersGetCall) IfNoneMatch(entityTag string) *InstanceGroupManagersGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersResumeInstancesCall) Context(ctx context.Context) *InstanceGroupManagersResumeInstancesCall {
+func (c *InstanceGroupManagersGetCall) Context(ctx context.Context) *InstanceGroupManagersGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersResumeInstancesCall) Header() http.Header {
+func (c *InstanceGroupManagersGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersResumeInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersresumeinstancesrequest)
- if err != nil {
- return nil, err
+func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -33285,16 +33139,17 @@ func (c *InstanceGroupManagersResumeInstancesCall) doRequest(alt string) (*http.
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.resumeInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.resumeInstances" call.
+// Do executes the "compute.instanceGroupManagers.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersResumeInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceGroupManager.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManager, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33313,7 +33168,7 @@ func (c *InstanceGroupManagersResumeInstancesCall) Do(opts ...googleapi.CallOpti
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceGroupManager{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -33324,38 +33179,44 @@ func (c *InstanceGroupManagersResumeInstancesCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.resumeInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersSetInstanceTemplateCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersInsertCall struct {
+ s *Service
+ project string
+ zone string
+ instancegroupmanager *InstanceGroupManager
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetInstanceTemplate: Specifies the instance template to use when creating
-// new instances in this
-// group. The templates for existing instances in the group do not
-// change
-// unless you run recreateInstances, runapplyUpdatesToInstances, or set the
-// group'supdatePolicy.type to PROACTIVE.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) SetInstanceTemplate(project string, zone string, instanceGroupManager string, instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest) *InstanceGroupManagersSetInstanceTemplateCall {
- c := &InstanceGroupManagersSetInstanceTemplateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// Insert: Creates a managed instance group using the information that you
+// specify
+// in the request. After the group is created, instances in the group
+// are
+// created using the specified instance template.
+// This operation is marked as DONE when the group is created
+// even if the instances in the group have not yet been created. You
+// must separately verify the status of the individual instances with
+// thelistmanagedinstances
+// method.
+//
+// A managed instance group can have up to 1000 VM instances per group.
+// Please
+// contact Cloud Support if you need an increase in
+// this limit.
+//
+// - project: Project ID for this request.
+// - zone: The name of the zone
+// where you want to create the managed instance group.
+func (r *InstanceGroupManagersService) Insert(project string, zone string, instancegroupmanager *InstanceGroupManager) *InstanceGroupManagersInsertCall {
+ c := &InstanceGroupManagersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagerssetinstancetemplaterequest = instancegroupmanagerssetinstancetemplaterequest
+ c.instancegroupmanager = instancegroupmanager
return c
}
@@ -33376,7 +33237,7 @@ func (r *InstanceGroupManagersService) SetInstanceTemplate(project string, zone
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersSetInstanceTemplateCall) RequestId(requestId string) *InstanceGroupManagersSetInstanceTemplateCall {
+func (c *InstanceGroupManagersInsertCall) RequestId(requestId string) *InstanceGroupManagersInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -33384,35 +33245,35 @@ func (c *InstanceGroupManagersSetInstanceTemplateCall) RequestId(requestId strin
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersSetInstanceTemplateCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetInstanceTemplateCall {
+func (c *InstanceGroupManagersInsertCall) Fields(s ...googleapi.Field) *InstanceGroupManagersInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Context) *InstanceGroupManagersSetInstanceTemplateCall {
+func (c *InstanceGroupManagersInsertCall) Context(ctx context.Context) *InstanceGroupManagersInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersSetInstanceTemplateCall) Header() http.Header {
+func (c *InstanceGroupManagersInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerssetinstancetemplaterequest)
+func (c *InstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanager)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -33420,20 +33281,19 @@ func (c *InstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*h
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.setInstanceTemplate", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.setInstanceTemplate" call.
+// Do executes the "compute.instanceGroupManagers.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33463,121 +33323,207 @@ func (c *InstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.setInstanceTemplate", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersSetTargetPoolsCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersListCall struct {
+ s *Service
+ project string
+ zone string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetTargetPools: Modifies the target pools to which all instances in this
-// managed instance
-// group are assigned. The target pools automatically apply to all of
-// the
-// instances in the managed instance group. This operation is markedDONE when
-// you make the request even if the instances have not
-// yet been added to their target pools. The change might take some time
-// to
-// apply to all of the instances in the group depending on the size of
+// List: Retrieves a list of managed instance groups that are contained within
// the
-// group.
+// specified project and zone.
//
-// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
// - zone: The name of thezone where the managed
// instance group is located.
-func (r *InstanceGroupManagersService) SetTargetPools(project string, zone string, instanceGroupManager string, instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest) *InstanceGroupManagersSetTargetPoolsCall {
- c := &InstanceGroupManagersSetTargetPoolsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstanceGroupManagersService) List(project string, zone string) *InstanceGroupManagersListCall {
+ c := &InstanceGroupManagersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagerssettargetpoolsrequest = instancegroupmanagerssettargetpoolsrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersSetTargetPoolsCall) RequestId(requestId string) *InstanceGroupManagersSetTargetPoolsCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InstanceGroupManagersListCall) Filter(filter string) *InstanceGroupManagersListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InstanceGroupManagersListCall) MaxResults(maxResults int64) *InstanceGroupManagersListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InstanceGroupManagersListCall) OrderBy(orderBy string) *InstanceGroupManagersListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InstanceGroupManagersListCall) PageToken(pageToken string) *InstanceGroupManagersListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersSetTargetPoolsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetTargetPoolsCall {
+func (c *InstanceGroupManagersListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceGroupManagersListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *InstanceGroupManagersSetTargetPoolsCall {
+func (c *InstanceGroupManagersListCall) Context(ctx context.Context) *InstanceGroupManagersListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersSetTargetPoolsCall) Header() http.Header {
+func (c *InstanceGroupManagersListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerssettargetpoolsrequest)
- if err != nil {
- return nil, err
+func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.setTargetPools", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.setTargetPools" call.
+// Do executes the "compute.instanceGroupManagers.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceGroupManagerList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33596,7 +33542,7 @@ func (c *InstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceGroupManagerList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -33607,113 +33553,218 @@ func (c *InstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.setTargetPools", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupManagersStartInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersstartinstancesrequest *InstanceGroupManagersStartInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstanceGroupManagersListCall) Pages(ctx context.Context, f func(*InstanceGroupManagerList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// StartInstances: Flags the specified instances in the managed instance group
-// to be
-// started. This method increases thetargetSize and decreases the
-// targetStoppedSize
-// of the managed instance group by the number of instances that you start.
-// The startInstances operation is marked DONE if
-// the startInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// theSTARTING action with thelistmanagedinstances
-// method.
-//
-// In this request, you can only specify instances that are stopped.
-// For
-// example, if an instance was previously stopped using the
-// stopInstances
-// method, it can be started using the startInstances method.
-//
-// If a health check is attached to the managed instance group, the
-// specified
-// instances will be verified as healthy after they are started.
+type InstanceGroupManagersListErrorsCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListErrors: Lists all errors thrown by actions on instances for a given
+// managed
+// instance group. The filter and orderBy query
+// parameters are not supported.
//
-// You can specify a maximum of 1000 instances with this method per request.
+// - instanceGroupManager: The name of the managed instance group.
+// It must be a string that meets the requirements in RFC1035, or an
+// unsigned long integer: must match regexp pattern:
+// (?:a-z (?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.
+// - project: Project ID for this request.
+// - zone: The name of thezone where the managed
+// instance group is located.
//
-// - instanceGroupManager: The name of the managed instance group.
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) StartInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersstartinstancesrequest *InstanceGroupManagersStartInstancesRequest) *InstanceGroupManagersStartInstancesCall {
- c := &InstanceGroupManagersStartInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// It should conform to RFC1035.
+func (r *InstanceGroupManagersService) ListErrors(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListErrorsCall {
+ c := &InstanceGroupManagersListErrorsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersstartinstancesrequest = instancegroupmanagersstartinstancesrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersStartInstancesCall) RequestId(requestId string) *InstanceGroupManagersStartInstancesCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InstanceGroupManagersListErrorsCall) Filter(filter string) *InstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InstanceGroupManagersListErrorsCall) MaxResults(maxResults int64) *InstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InstanceGroupManagersListErrorsCall) OrderBy(orderBy string) *InstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InstanceGroupManagersListErrorsCall) PageToken(pageToken string) *InstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupManagersStartInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersStartInstancesCall {
+func (c *InstanceGroupManagersListErrorsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListErrorsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceGroupManagersListErrorsCall) IfNoneMatch(entityTag string) *InstanceGroupManagersListErrorsCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersStartInstancesCall) Context(ctx context.Context) *InstanceGroupManagersStartInstancesCall {
+func (c *InstanceGroupManagersListErrorsCall) Context(ctx context.Context) *InstanceGroupManagersListErrorsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupManagersStartInstancesCall) Header() http.Header {
+func (c *InstanceGroupManagersListErrorsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupManagersStartInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersstartinstancesrequest)
- if err != nil {
- return nil, err
+func (c *InstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -33723,16 +33774,17 @@ func (c *InstanceGroupManagersStartInstancesCall) doRequest(alt string) (*http.R
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.startInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listErrors", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroupManagers.startInstances" call.
+// Do executes the "compute.instanceGroupManagers.listErrors" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersStartInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceGroupManagersListErrorsResponse.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceGroupManagersListErrorsCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagersListErrorsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33751,7 +33803,7 @@ func (c *InstanceGroupManagersStartInstancesCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceGroupManagersListErrorsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -33762,894 +33814,14 @@ func (c *InstanceGroupManagersStartInstancesCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.startInstances", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceGroupManagersStopInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersstopinstancesrequest *InstanceGroupManagersStopInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// StopInstances: Flags the specified instances in the managed instance group
-// to be
-// immediately stopped. You can only specify instances that are running in
-// this request. This method reduces thetargetSize and increases the
-// targetStoppedSize
-// of the managed instance group by the number of instances that you stop.
-// The stopInstances operation is marked DONE if
-// the stopInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// theSTOPPING action with thelistmanagedinstances
-// method.
-//
-// If the standbyPolicy.initialDelaySec field is set, the group
-// delays stopping the instances until initialDelaySec have
-// passed from instance.creationTimestamp (that is, when the
-// instance was created). This delay gives your application time to
-// set itself up and initialize on the instance. If more thaninitialDelaySec
-// seconds have passed sinceinstance.creationTimestamp when this method is
-// called, there
-// will be zero delay.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is stopped.
-//
-// Stopped instances can be started using the startInstances
-// method.
-//
-// You can specify a maximum of 1000 instances with this method per request.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) StopInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersstopinstancesrequest *InstanceGroupManagersStopInstancesRequest) *InstanceGroupManagersStopInstancesCall {
- c := &InstanceGroupManagersStopInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersstopinstancesrequest = instancegroupmanagersstopinstancesrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersStopInstancesCall) RequestId(requestId string) *InstanceGroupManagersStopInstancesCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstanceGroupManagersStopInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersStopInstancesCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersStopInstancesCall) Context(ctx context.Context) *InstanceGroupManagersStopInstancesCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceGroupManagersStopInstancesCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceGroupManagersStopInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersstopinstancesrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.stopInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceGroupManagers.stopInstances" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersStopInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.stopInstances", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceGroupManagersSuspendInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagerssuspendinstancesrequest *InstanceGroupManagersSuspendInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// SuspendInstances: Flags the specified instances in the managed instance
-// group to be
-// immediately suspended. You can only specify instances that are running
-// in
-// this request. This method reduces thetargetSize and increases the
-// targetSuspendedSize
-// of the managed instance group by the number of instances that you
-// suspend.
-// The suspendInstances operation is marked DONE if
-// the suspendInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// theSUSPENDING action with thelistmanagedinstances
-// method.
-//
-// If the standbyPolicy.initialDelaySec field is set, the group
-// delays suspension of the instances until initialDelaySec have
-// passed from instance.creationTimestamp (that is, when the
-// instance was created). This delay gives your application time to
-// set itself up and initialize on the instance. If more thaninitialDelaySec
-// seconds have passed sinceinstance.creationTimestamp when this method is
-// called, there
-// will be zero delay.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is
-// suspended.
-//
-// Suspended instances can be resumed using the resumeInstances
-// method.
-//
-// You can specify a maximum of 1000 instances with this method per request.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// - project: Project ID for this request.
-// - zone: The name of thezone where the managed
-// instance group is located.
-func (r *InstanceGroupManagersService) SuspendInstances(project string, zone string, instanceGroupManager string, instancegroupmanagerssuspendinstancesrequest *InstanceGroupManagersSuspendInstancesRequest) *InstanceGroupManagersSuspendInstancesCall {
- c := &InstanceGroupManagersSuspendInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagerssuspendinstancesrequest = instancegroupmanagerssuspendinstancesrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersSuspendInstancesCall) RequestId(requestId string) *InstanceGroupManagersSuspendInstancesCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstanceGroupManagersSuspendInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSuspendInstancesCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersSuspendInstancesCall) Context(ctx context.Context) *InstanceGroupManagersSuspendInstancesCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceGroupManagersSuspendInstancesCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceGroupManagersSuspendInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerssuspendinstancesrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.suspendInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceGroupManagers.suspendInstances" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersSuspendInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.suspendInstances", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceGroupManagersUpdatePerInstanceConfigsCall struct {
- s *Service
- project string
- zone string
- instanceGroupManager string
- instancegroupmanagersupdateperinstanceconfigsreq *InstanceGroupManagersUpdatePerInstanceConfigsReq
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// UpdatePerInstanceConfigs: Inserts or updates per-instance configurations for
-// the managed instance
-// group. perInstanceConfig.name serves as a key used to
-// distinguish whether to perform insert or patch.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// It should conform to RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of thezone
-// where the managed instance group is located.
-//
-// It should conform to RFC1035.
-func (r *InstanceGroupManagersService) UpdatePerInstanceConfigs(project string, zone string, instanceGroupManager string, instancegroupmanagersupdateperinstanceconfigsreq *InstanceGroupManagersUpdatePerInstanceConfigsReq) *InstanceGroupManagersUpdatePerInstanceConfigsCall {
- c := &InstanceGroupManagersUpdatePerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagersupdateperinstanceconfigsreq = instancegroupmanagersupdateperinstanceconfigsreq
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) RequestId(requestId string) *InstanceGroupManagersUpdatePerInstanceConfigsCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersUpdatePerInstanceConfigsCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Context(ctx context.Context) *InstanceGroupManagersUpdatePerInstanceConfigsCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersupdateperinstanceconfigsreq)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroupManager": c.instanceGroupManager,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.updatePerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceGroupManagers.updatePerInstanceConfigs" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.updatePerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceGroupsAddInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroup string
- instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// AddInstances: Adds a list of instances to the specified instance group. All
-// of the
-// instances in the instance group must be in the same network/subnetwork.
-// Read
-// Adding instances for more information.
-//
-// - instanceGroup: The name of the instance group where you are adding
-// instances.
-// - project: Project ID for this request.
-// - zone: The name of the zone
-//
-// where the instance group is located.
-func (r *InstanceGroupsService) AddInstances(project string, zone string, instanceGroup string, instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest) *InstanceGroupsAddInstancesCall {
- c := &InstanceGroupsAddInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instanceGroup = instanceGroup
- c.instancegroupsaddinstancesrequest = instancegroupsaddinstancesrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupsAddInstancesCall) RequestId(requestId string) *InstanceGroupsAddInstancesCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstanceGroupsAddInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsAddInstancesCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsAddInstancesCall) Context(ctx context.Context) *InstanceGroupsAddInstancesCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceGroupsAddInstancesCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceGroupsAddInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupsaddinstancesrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroup": c.instanceGroup,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.addInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceGroups.addInstances" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupsAddInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.addInstances", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceGroupsAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// AggregatedList: Retrieves the list of instance groups and sorts them by
-// zone.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
-//
-// - project: Project ID for this request.
-func (r *InstanceGroupsService) AggregatedList(project string) *InstanceGroupsAggregatedListCall {
- c := &InstanceGroupsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstanceGroupsAggregatedListCall) Filter(filter string) *InstanceGroupsAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *InstanceGroupsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstanceGroupsAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupsAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupsAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstanceGroupsAggregatedListCall) OrderBy(orderBy string) *InstanceGroupsAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstanceGroupsAggregatedListCall) PageToken(pageToken string) *InstanceGroupsAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *InstanceGroupsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstanceGroupsAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstanceGroupsAggregatedListCall) Fields(s ...googleapi.Field) *InstanceGroupsAggregatedListCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceGroupsAggregatedListCall) IfNoneMatch(entityTag string) *InstanceGroupsAggregatedListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsAggregatedListCall) Context(ctx context.Context) *InstanceGroupsAggregatedListCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceGroupsAggregatedListCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instanceGroups")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.aggregatedList", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceGroups.aggregatedList" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupAggregatedList, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &InstanceGroupAggregatedList{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listErrors", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupsAggregatedListCall) Pages(ctx context.Context, f func(*InstanceGroupAggregatedList) error) error {
+func (c *InstanceGroupManagersListErrorsCall) Pages(ctx context.Context, f func(*InstanceGroupManagersListErrorsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -34667,420 +33839,38 @@ func (c *InstanceGroupsAggregatedListCall) Pages(ctx context.Context, f func(*In
}
}
-type InstanceGroupsDeleteCall struct {
- s *Service
- project string
- zone string
- instanceGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Delete: Deletes the specified instance group. The instances in the group are
-// not
-// deleted. Note that instance group must not belong to a backend
-// service.
-// Read
-// Deleting an instance group for more information.
-//
-// - instanceGroup: The name of the instance group to delete.
-// - project: Project ID for this request.
-// - zone: The name of the zone
-// where the instance group is located.
-func (r *InstanceGroupsService) Delete(project string, zone string, instanceGroup string) *InstanceGroupsDeleteCall {
- c := &InstanceGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instanceGroup = instanceGroup
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupsDeleteCall) RequestId(requestId string) *InstanceGroupsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstanceGroupsDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupsDeleteCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsDeleteCall) Context(ctx context.Context) *InstanceGroupsDeleteCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceGroupsDeleteCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroup": c.instanceGroup,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.delete", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceGroups.delete" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.delete", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceGroupsGetCall struct {
- s *Service
- project string
- zone string
- instanceGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// Get: Returns the specified zonal instance group. Get a list of available
-// zonal
-// instance groups by making a list() request.
-//
-// For managed instance groups, use theinstanceGroupManagers
-// or regionInstanceGroupManagers
-// methods instead.
-//
-// - instanceGroup: The name of the instance group.
-// - project: Project ID for this request.
-// - zone: The name of the zone
-// where the instance group is located.
-func (r *InstanceGroupsService) Get(project string, zone string, instanceGroup string) *InstanceGroupsGetCall {
- c := &InstanceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instanceGroup = instanceGroup
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstanceGroupsGetCall) Fields(s ...googleapi.Field) *InstanceGroupsGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceGroupsGetCall) IfNoneMatch(entityTag string) *InstanceGroupsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsGetCall) Context(ctx context.Context) *InstanceGroupsGetCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceGroupsGetCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroup": c.instanceGroup,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.get", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceGroups.get" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroup.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroup, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &InstanceGroup{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.get", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceGroupsInsertCall struct {
- s *Service
- project string
- zone string
- instancegroup *InstanceGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Insert: Creates an instance group in the specified project using
-// the
-// parameters that are included in the request.
-//
-// - project: Project ID for this request.
-// - zone: The name of the zone
-// where you want to create the instance group.
-func (r *InstanceGroupsService) Insert(project string, zone string, instancegroup *InstanceGroup) *InstanceGroupsInsertCall {
- c := &InstanceGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instancegroup = instancegroup
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupsInsertCall) RequestId(requestId string) *InstanceGroupsInsertCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstanceGroupsInsertCall) Fields(s ...googleapi.Field) *InstanceGroupsInsertCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsInsertCall) Context(ctx context.Context) *InstanceGroupsInsertCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceGroupsInsertCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroup)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceGroups.insert" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.insert", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceGroupsListCall struct {
- s *Service
- project string
- zone string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersListManagedInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves the list of zonal instance group resources contained within
-// the
-// specified zone.
-//
-// For managed instance groups, use theinstanceGroupManagers
-// or regionInstanceGroupManagers
-// methods instead.
+// ListManagedInstances: Lists all of the instances in the managed instance
+// group. Each instance
+// in the list has a currentAction, which indicates the action
+// that the managed instance group is performing on the instance. For
+// example,
+// if the group is still creating an instance, the currentAction
+// is CREATING. If a previous action failed, the
+// list displays the errors for that failed action. The orderBy
+// query parameter is not supported. The `pageToken` query parameter
+// is
+// supported only if the group's `listManagedInstancesResults` field is set
+// to `PAGINATED`.
//
+// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - zone: The name of thezone
-// where the instance group is located.
-func (r *InstanceGroupsService) List(project string, zone string) *InstanceGroupsListCall {
- c := &InstanceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) ListManagedInstances(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListManagedInstancesCall {
+ c := &InstanceGroupManagersListManagedInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
return c
}
@@ -35151,7 +33941,7 @@ func (r *InstanceGroupsService) List(project string, zone string) *InstanceGroup
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InstanceGroupsListCall) Filter(filter string) *InstanceGroupsListCall {
+func (c *InstanceGroupManagersListManagedInstancesCall) Filter(filter string) *InstanceGroupManagersListManagedInstancesCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -35163,7 +33953,7 @@ func (c *InstanceGroupsListCall) Filter(filter string) *InstanceGroupsListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupsListCall) MaxResults(maxResults int64) *InstanceGroupsListCall {
+func (c *InstanceGroupManagersListManagedInstancesCall) MaxResults(maxResults int64) *InstanceGroupManagersListManagedInstancesCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -35183,7 +33973,7 @@ func (c *InstanceGroupsListCall) MaxResults(maxResults int64) *InstanceGroupsLis
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InstanceGroupsListCall) OrderBy(orderBy string) *InstanceGroupsListCall {
+func (c *InstanceGroupManagersListManagedInstancesCall) OrderBy(orderBy string) *InstanceGroupManagersListManagedInstancesCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -35192,86 +33982,61 @@ func (c *InstanceGroupsListCall) OrderBy(orderBy string) *InstanceGroupsListCall
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InstanceGroupsListCall) PageToken(pageToken string) *InstanceGroupsListCall {
+func (c *InstanceGroupManagersListManagedInstancesCall) PageToken(pageToken string) *InstanceGroupManagersListManagedInstancesCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupsListCall) Fields(s ...googleapi.Field) *InstanceGroupsListCall {
+func (c *InstanceGroupManagersListManagedInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListManagedInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceGroupsListCall) IfNoneMatch(entityTag string) *InstanceGroupsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsListCall) Context(ctx context.Context) *InstanceGroupsListCall {
+func (c *InstanceGroupManagersListManagedInstancesCall) Context(ctx context.Context) *InstanceGroupManagersListManagedInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupsListCall) Header() http.Header {
+func (c *InstanceGroupManagersListManagedInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *InstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listManagedInstances", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroups.list" call.
+// Do executes the "compute.instanceGroupManagers.listManagedInstances" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupList, error) {
+// *InstanceGroupManagersListManagedInstancesResponse.ServerResponse.Header or
+// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagersListManagedInstancesResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35290,7 +34055,7 @@ func (c *InstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*InstanceGrou
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupList{
+ ret := &InstanceGroupManagersListManagedInstancesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -35301,14 +34066,14 @@ func (c *InstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*InstanceGrou
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listManagedInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupsListCall) Pages(ctx context.Context, f func(*InstanceGroupList) error) error {
+func (c *InstanceGroupManagersListManagedInstancesCall) Pages(ctx context.Context, f func(*InstanceGroupManagersListManagedInstancesResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -35326,35 +34091,32 @@ func (c *InstanceGroupsListCall) Pages(ctx context.Context, f func(*InstanceGrou
}
}
-type InstanceGroupsListInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroup string
- instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersListPerInstanceConfigsCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListInstances: Lists the instances in the specified instance group.
-// The orderBy query parameter is not supported.
-// The filter query parameter is supported, but only for
-// expressions that use `eq` (equal) or `ne` (not equal) operators.
+// ListPerInstanceConfigs: Lists all of the per-instance configurations defined
+// for the managed
+// instance group. The orderBy query parameter is not supported.
//
-// - instanceGroup: The name of the instance group from which you want to
-// generate a list
+// - instanceGroupManager: The name of the managed instance group. It should
+// conform to RFC1035.
+// - project: Project ID for this request.
+// - zone: The name of thezone
+// where the managed instance group is located.
//
-// of included instances.
-// - project: Project ID for this request.
-// - zone: The name of the zone
-// where the instance group is located.
-func (r *InstanceGroupsService) ListInstances(project string, zone string, instanceGroup string, instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest) *InstanceGroupsListInstancesCall {
- c := &InstanceGroupsListInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// It should conform to RFC1035.
+func (r *InstanceGroupManagersService) ListPerInstanceConfigs(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListPerInstanceConfigsCall {
+ c := &InstanceGroupManagersListPerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instanceGroup = instanceGroup
- c.instancegroupslistinstancesrequest = instancegroupslistinstancesrequest
+ c.instanceGroupManager = instanceGroupManager
return c
}
@@ -35425,7 +34187,7 @@ func (r *InstanceGroupsService) ListInstances(project string, zone string, insta
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InstanceGroupsListInstancesCall) Filter(filter string) *InstanceGroupsListInstancesCall {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) Filter(filter string) *InstanceGroupManagersListPerInstanceConfigsCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -35437,7 +34199,7 @@ func (c *InstanceGroupsListInstancesCall) Filter(filter string) *InstanceGroupsL
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceGroupsListInstancesCall) MaxResults(maxResults int64) *InstanceGroupsListInstancesCall {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) MaxResults(maxResults int64) *InstanceGroupManagersListPerInstanceConfigsCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -35457,7 +34219,7 @@ func (c *InstanceGroupsListInstancesCall) MaxResults(maxResults int64) *Instance
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InstanceGroupsListInstancesCall) OrderBy(orderBy string) *InstanceGroupsListInstancesCall {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) OrderBy(orderBy string) *InstanceGroupManagersListPerInstanceConfigsCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -35466,80 +34228,61 @@ func (c *InstanceGroupsListInstancesCall) OrderBy(orderBy string) *InstanceGroup
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InstanceGroupsListInstancesCall) PageToken(pageToken string) *InstanceGroupsListInstancesCall {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) PageToken(pageToken string) *InstanceGroupManagersListPerInstanceConfigsCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceGroupsListInstancesCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceGroupsListInstancesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupsListInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsListInstancesCall {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListPerInstanceConfigsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsListInstancesCall) Context(ctx context.Context) *InstanceGroupsListInstancesCall {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) Context(ctx context.Context) *InstanceGroupManagersListPerInstanceConfigsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupsListInstancesCall) Header() http.Header {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupslistinstancesrequest)
- if err != nil {
- return nil, err
- }
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroup": c.instanceGroup,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.listInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listPerInstanceConfigs", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroups.listInstances" call.
+// Do executes the "compute.instanceGroupManagers.listPerInstanceConfigs" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupsListInstances.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
+// *InstanceGroupManagersListPerInstanceConfigsResp.ServerResponse.Header or
+// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*InstanceGroupsListInstances, error) {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagersListPerInstanceConfigsResp, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35558,7 +34301,7 @@ func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*Ins
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupsListInstances{
+ ret := &InstanceGroupManagersListPerInstanceConfigsResp{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -35569,14 +34312,14 @@ func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*Ins
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.listInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.listPerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InstanceGroupsListInstancesCall) Pages(ctx context.Context, f func(*InstanceGroupsListInstances) error) error {
+func (c *InstanceGroupManagersListPerInstanceConfigsCall) Pages(ctx context.Context, f func(*InstanceGroupManagersListPerInstanceConfigsResp) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -35594,40 +34337,349 @@ func (c *InstanceGroupsListInstancesCall) Pages(ctx context.Context, f func(*Ins
}
}
-type InstanceGroupsRemoveInstancesCall struct {
- s *Service
- project string
- zone string
- instanceGroup string
- instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersPatchCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanager *InstanceGroupManager
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RemoveInstances: Removes one or more instances from the specified instance
-// group, but does
-// not delete those instances.
+// Patch: Updates a managed instance group using the information that you
+// specify
+// in the request.
+// This operation is marked as DONE when the group is patched
+// even if the instances in the group are still in the process of
+// being
+// patched. You must separately verify the status of the individual
+// instances
+// with thelistManagedInstances
+// method. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
+//
+// If you update your group to specify a new template or
+// instance
+// configuration, it's possible that your intended specification for each VM
+// in the group is different from the current state of that VM. To learn how
+// to apply an updated configuration to the VMs in a MIG, seeUpdating instances
+// in
+// a MIG.
+//
+// - instanceGroupManager: The name of the instance group manager.
+// - project: Project ID for this request.
+// - zone: The name of the zone where
+// you want to create the managed instance group.
+func (r *InstanceGroupManagersService) Patch(project string, zone string, instanceGroupManager string, instancegroupmanager *InstanceGroupManager) *InstanceGroupManagersPatchCall {
+ c := &InstanceGroupManagersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanager = instancegroupmanager
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagersPatchCall) RequestId(requestId string) *InstanceGroupManagersPatchCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InstanceGroupManagersPatchCall) Fields(s ...googleapi.Field) *InstanceGroupManagersPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *InstanceGroupManagersPatchCall) Context(ctx context.Context) *InstanceGroupManagersPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InstanceGroupManagersPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanager)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("PATCH", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instanceGroupManagers.patch" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.patch", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type InstanceGroupManagersPatchPerInstanceConfigsCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagerspatchperinstanceconfigsreq *InstanceGroupManagersPatchPerInstanceConfigsReq
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// PatchPerInstanceConfigs: Inserts or patches per-instance configurations for
+// the managed instance
+// group. perInstanceConfig.name serves as a key used to
+// distinguish whether to perform insert or patch.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// It should conform to RFC1035.
+// - project: Project ID for this request.
+// - zone: The name of thezone
+// where the managed instance group is located.
+//
+// It should conform to RFC1035.
+func (r *InstanceGroupManagersService) PatchPerInstanceConfigs(project string, zone string, instanceGroupManager string, instancegroupmanagerspatchperinstanceconfigsreq *InstanceGroupManagersPatchPerInstanceConfigsReq) *InstanceGroupManagersPatchPerInstanceConfigsCall {
+ c := &InstanceGroupManagersPatchPerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagerspatchperinstanceconfigsreq = instancegroupmanagerspatchperinstanceconfigsreq
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) RequestId(requestId string) *InstanceGroupManagersPatchPerInstanceConfigsCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersPatchPerInstanceConfigsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Context(ctx context.Context) *InstanceGroupManagersPatchPerInstanceConfigsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerspatchperinstanceconfigsreq)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.patchPerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instanceGroupManagers.patchPerInstanceConfigs" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.patchPerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type InstanceGroupManagersRecreateInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// RecreateInstances: Flags the specified VM instances in the managed instance
+// group to be
+// immediately recreated. Each instance is recreated using the group's
+// current
+// configuration. This operation is marked as DONE when the flag
+// is set even if the instances have not yet been recreated. You
+// must
+// separately verify the status of each instance by checking itscurrentAction
+// field; for more information, see Checking
+// the status of managed instances.
//
// If the group is part of a backend
// service that has enabled
// connection draining, it can take up to 60 seconds after the
// connection
-// draining duration before the VM instance is removed or deleted.
+// draining duration has elapsed before the VM instance is removed or
+// deleted.
//
-// - instanceGroup: The name of the instance group where the specified
-// instances will be
+// You can specify a maximum of 1000 instances with this method per request.
//
-// removed.
+// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - zone: The name of the zone
-// where the instance group is located.
-func (r *InstanceGroupsService) RemoveInstances(project string, zone string, instanceGroup string, instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest) *InstanceGroupsRemoveInstancesCall {
- c := &InstanceGroupsRemoveInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) RecreateInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest) *InstanceGroupManagersRecreateInstancesCall {
+ c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instanceGroup = instanceGroup
- c.instancegroupsremoveinstancesrequest = instancegroupsremoveinstancesrequest
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagersrecreateinstancesrequest = instancegroupmanagersrecreateinstancesrequest
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": When
+// set, graceful shutdown is skipped for instance recreation even if
+// it's
+// configured for the instances.
+func (c *InstanceGroupManagersRecreateInstancesCall) NoGracefulShutdown(noGracefulShutdown bool) *InstanceGroupManagersRecreateInstancesCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
return c
}
@@ -35648,7 +34700,7 @@ func (r *InstanceGroupsService) RemoveInstances(project string, zone string, ins
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupsRemoveInstancesCall) RequestId(requestId string) *InstanceGroupsRemoveInstancesCall {
+func (c *InstanceGroupManagersRecreateInstancesCall) RequestId(requestId string) *InstanceGroupManagersRecreateInstancesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -35656,35 +34708,35 @@ func (c *InstanceGroupsRemoveInstancesCall) RequestId(requestId string) *Instanc
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupsRemoveInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsRemoveInstancesCall {
+func (c *InstanceGroupManagersRecreateInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersRecreateInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsRemoveInstancesCall) Context(ctx context.Context) *InstanceGroupsRemoveInstancesCall {
+func (c *InstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context) *InstanceGroupManagersRecreateInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupsRemoveInstancesCall) Header() http.Header {
+func (c *InstanceGroupManagersRecreateInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupsRemoveInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupsremoveinstancesrequest)
+func (c *InstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersrecreateinstancesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -35692,20 +34744,20 @@ func (c *InstanceGroupsRemoveInstancesCall) doRequest(alt string) (*http.Respons
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroup": c.instanceGroup,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.removeInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.recreateInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroups.removeInstances" call.
+// Do executes the "compute.instanceGroupManagers.recreateInstances" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupsRemoveInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35735,35 +34787,67 @@ func (c *InstanceGroupsRemoveInstancesCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.removeInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.recreateInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupsSetNamedPortsCall struct {
- s *Service
- project string
- zone string
- instanceGroup string
- instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersResizeCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetNamedPorts: Sets the named ports for the specified instance group.
+// Resize: Resizes the managed instance group. If you increase the size, the
+// group
+// creates new instances using the current instance template. If you
+// decrease
+// the size, the group deletes instances. The resize operation is markedDONE
+// when the resize actions are scheduled even if the group
+// has not yet added or deleted any instances. You must separately
+// verify the status of the creating or deleting
+// actions with thelistmanagedinstances
+// method.
+//
+// When resizing down, the instance group arbitrarily chooses the order
+// in
+// which VMs are deleted. The group takes into account some VM attributes
+// when
+// making the selection including:
+//
+// + The status of the VM instance.
+// + The health of the VM instance.
+// + The instance template version the VM is based on.
+// + For regional managed instance groups, the location of the VM
+// instance.
//
-// - instanceGroup: The name of the instance group where the named ports are
-// updated.
+// This list is subject to change.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is removed or deleted.
+//
+// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - zone: The name of the zone
+// - size: The number of running instances that the managed instance group
+// should
+// maintain at any given time. The group automatically adds or
+// removes
+// instances to maintain the number of instances specified by this parameter.
+// - zone: The name of thezone where the managed
//
-// where the instance group is located.
-func (r *InstanceGroupsService) SetNamedPorts(project string, zone string, instanceGroup string, instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest) *InstanceGroupsSetNamedPortsCall {
- c := &InstanceGroupsSetNamedPortsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// instance group is located.
+func (r *InstanceGroupManagersService) Resize(project string, zone string, instanceGroupManager string, size int64) *InstanceGroupManagersResizeCall {
+ c := &InstanceGroupManagersResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instanceGroup = instanceGroup
- c.instancegroupssetnamedportsrequest = instancegroupssetnamedportsrequest
+ c.instanceGroupManager = instanceGroupManager
+ c.urlParams_.Set("size", fmt.Sprint(size))
return c
}
@@ -35784,7 +34868,7 @@ func (r *InstanceGroupsService) SetNamedPorts(project string, zone string, insta
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceGroupsSetNamedPortsCall) RequestId(requestId string) *InstanceGroupsSetNamedPortsCall {
+func (c *InstanceGroupManagersResizeCall) RequestId(requestId string) *InstanceGroupManagersResizeCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -35792,56 +34876,52 @@ func (c *InstanceGroupsSetNamedPortsCall) RequestId(requestId string) *InstanceG
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupsSetNamedPortsCall) Fields(s ...googleapi.Field) *InstanceGroupsSetNamedPortsCall {
+func (c *InstanceGroupManagersResizeCall) Fields(s ...googleapi.Field) *InstanceGroupManagersResizeCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsSetNamedPortsCall) Context(ctx context.Context) *InstanceGroupsSetNamedPortsCall {
+func (c *InstanceGroupManagersResizeCall) Context(ctx context.Context) *InstanceGroupManagersResizeCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupsSetNamedPortsCall) Header() http.Header {
+func (c *InstanceGroupManagersResizeCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupssetnamedportsrequest)
- if err != nil {
- return nil, err
- }
+func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instanceGroup": c.instanceGroup,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.setNamedPorts", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.resize", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroups.setNamedPorts" call.
+// Do executes the "compute.instanceGroupManagers.resize" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35871,68 +34951,112 @@ func (c *InstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.setNamedPorts", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.resize", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceGroupsTestIamPermissionsCall struct {
- s *Service
- project string
- zone string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersResumeInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersresumeinstancesrequest *InstanceGroupManagersResumeInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// ResumeInstances: Flags the specified instances in the managed instance group
+// to be
+// resumed. This method increases thetargetSize and decreases the
+// targetSuspendedSize
+// of the managed instance group by the number of instances that you
+// resume.
+// The resumeInstances operation is marked DONE if
+// the resumeInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// theRESUMING action with thelistmanagedinstances
+// method.
+//
+// In this request, you can only specify instances that are suspended.
+// For
+// example, if an instance was previously suspended using the
+// suspendInstances
+// method, it can be resumed using the resumeInstances method.
+//
+// If a health check is attached to the managed instance group, the
+// specified
+// instances will be verified as healthy after they are resumed.
+//
+// You can specify a maximum of 1000 instances with this method per request.
//
+// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *InstanceGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstanceGroupsTestIamPermissionsCall {
- c := &InstanceGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) ResumeInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersresumeinstancesrequest *InstanceGroupManagersResumeInstancesRequest) *InstanceGroupManagersResumeInstancesCall {
+ c := &InstanceGroupManagersResumeInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagersresumeinstancesrequest = instancegroupmanagersresumeinstancesrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagersResumeInstancesCall) RequestId(requestId string) *InstanceGroupManagersResumeInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstanceGroupsTestIamPermissionsCall {
+func (c *InstanceGroupManagersResumeInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersResumeInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceGroupsTestIamPermissionsCall) Context(ctx context.Context) *InstanceGroupsTestIamPermissionsCall {
+func (c *InstanceGroupManagersResumeInstancesCall) Context(ctx context.Context) *InstanceGroupManagersResumeInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceGroupsTestIamPermissionsCall) Header() http.Header {
+func (c *InstanceGroupManagersResumeInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *InstanceGroupManagersResumeInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersresumeinstancesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -35940,21 +35064,20 @@ func (c *InstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Resp
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.resumeInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceGroups.testIamPermissions" call.
+// Do executes the "compute.instanceGroupManagers.resumeInstances" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersResumeInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35973,7 +35096,7 @@ func (c *InstanceGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -35984,91 +35107,116 @@ func (c *InstanceGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.resumeInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceSettingsGetCall struct {
- s *Service
- project string
- zone string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersSetInstanceTemplateCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Get Instance settings.
+// SetInstanceTemplate: Specifies the instance template to use when creating
+// new instances in this
+// group. The templates for existing instances in the group do not
+// change
+// unless you run recreateInstances, runapplyUpdatesToInstances, or set the
+// group'supdatePolicy.type to PROACTIVE.
//
+// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - zone: Name of the zone for this request.
-func (r *InstanceSettingsService) Get(project string, zone string) *InstanceSettingsGetCall {
- c := &InstanceSettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) SetInstanceTemplate(project string, zone string, instanceGroupManager string, instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest) *InstanceGroupManagersSetInstanceTemplateCall {
+ c := &InstanceGroupManagersSetInstanceTemplateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagerssetinstancetemplaterequest = instancegroupmanagerssetinstancetemplaterequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagersSetInstanceTemplateCall) RequestId(requestId string) *InstanceGroupManagersSetInstanceTemplateCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceSettingsGetCall) Fields(s ...googleapi.Field) *InstanceSettingsGetCall {
+func (c *InstanceGroupManagersSetInstanceTemplateCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetInstanceTemplateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceSettingsGetCall) IfNoneMatch(entityTag string) *InstanceSettingsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstanceSettingsGetCall) Context(ctx context.Context) *InstanceSettingsGetCall {
+func (c *InstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Context) *InstanceGroupManagersSetInstanceTemplateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceSettingsGetCall) Header() http.Header {
+func (c *InstanceGroupManagersSetInstanceTemplateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceSettingsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerssetinstancetemplaterequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceSettings")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceSettings.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.setInstanceTemplate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceSettings.get" call.
+// Do executes the "compute.instanceGroupManagers.setInstanceTemplate" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceSettings.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstanceSettingsGetCall) Do(opts ...googleapi.CallOption) (*InstanceSettings, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36087,7 +35235,7 @@ func (c *InstanceSettingsGetCall) Do(opts ...googleapi.CallOption) (*InstanceSet
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceSettings{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36098,29 +35246,43 @@ func (c *InstanceSettingsGetCall) Do(opts ...googleapi.CallOption) (*InstanceSet
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceSettings.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.setInstanceTemplate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceSettingsPatchCall struct {
- s *Service
- project string
- zone string
- instancesettings *InstanceSettings
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersSetTargetPoolsCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patch Instance settings
+// SetTargetPools: Modifies the target pools to which all instances in this
+// managed instance
+// group are assigned. The target pools automatically apply to all of
+// the
+// instances in the managed instance group. This operation is markedDONE when
+// you make the request even if the instances have not
+// yet been added to their target pools. The change might take some time
+// to
+// apply to all of the instances in the group depending on the size of
+// the
+// group.
//
+// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - zone: The zone scoping this request. It should conform to RFC1035.
-func (r *InstanceSettingsService) Patch(project string, zone string, instancesettings *InstanceSettings) *InstanceSettingsPatchCall {
- c := &InstanceSettingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) SetTargetPools(project string, zone string, instanceGroupManager string, instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest) *InstanceGroupManagersSetTargetPoolsCall {
+ c := &InstanceGroupManagersSetTargetPoolsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instancesettings = instancesettings
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagerssettargetpoolsrequest = instancegroupmanagerssettargetpoolsrequest
return c
}
@@ -36141,340 +35303,219 @@ func (r *InstanceSettingsService) Patch(project string, zone string, instanceset
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceSettingsPatchCall) RequestId(requestId string) *InstanceSettingsPatchCall {
+func (c *InstanceGroupManagersSetTargetPoolsCall) RequestId(requestId string) *InstanceGroupManagersSetTargetPoolsCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// UpdateMask sets the optional parameter "updateMask": update_mask indicates
-// fields to be updated as part of this request.
-func (c *InstanceSettingsPatchCall) UpdateMask(updateMask string) *InstanceSettingsPatchCall {
- c.urlParams_.Set("updateMask", updateMask)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceSettingsPatchCall) Fields(s ...googleapi.Field) *InstanceSettingsPatchCall {
+func (c *InstanceGroupManagersSetTargetPoolsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetTargetPoolsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceSettingsPatchCall) Context(ctx context.Context) *InstanceSettingsPatchCall {
+func (c *InstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *InstanceGroupManagersSetTargetPoolsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceSettingsPatchCall) Header() http.Header {
+func (c *InstanceGroupManagersSetTargetPoolsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceSettingsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesettings)
+func (c *InstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerssettargetpoolsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceSettings")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceSettings.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceSettings.patch" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceSettingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceSettings.patch", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstanceTemplatesAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// AggregatedList: Retrieves the list of all InstanceTemplates resources,
-// regional and global,
-// available to the specified project.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
-//
-// - project: Name of the project scoping this request.
-func (r *InstanceTemplatesService) AggregatedList(project string) *InstanceTemplatesAggregatedListCall {
- c := &InstanceTemplatesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstanceTemplatesAggregatedListCall) Filter(filter string) *InstanceTemplatesAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *InstanceTemplatesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstanceTemplatesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceTemplatesAggregatedListCall) MaxResults(maxResults int64) *InstanceTemplatesAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.setTargetPools", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstanceTemplatesAggregatedListCall) OrderBy(orderBy string) *InstanceTemplatesAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
+// Do executes the "compute.instanceGroupManagers.setTargetPools" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.setTargetPools", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstanceTemplatesAggregatedListCall) PageToken(pageToken string) *InstanceTemplatesAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
+type InstanceGroupManagersStartInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersstartinstancesrequest *InstanceGroupManagersStartInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// StartInstances: Flags the specified instances in the managed instance group
+// to be
+// started. This method increases thetargetSize and decreases the
+// targetStoppedSize
+// of the managed instance group by the number of instances that you start.
+// The startInstances operation is marked DONE if
+// the startInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// theSTARTING action with thelistmanagedinstances
+// method.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceTemplatesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceTemplatesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// In this request, you can only specify instances that are stopped.
+// For
+// example, if an instance was previously stopped using the
+// stopInstances
+// method, it can be started using the startInstances method.
+//
+// If a health check is attached to the managed instance group, the
+// specified
+// instances will be verified as healthy after they are started.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// - project: Project ID for this request.
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) StartInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersstartinstancesrequest *InstanceGroupManagersStartInstancesRequest) *InstanceGroupManagersStartInstancesCall {
+ c := &InstanceGroupManagersStartInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagersstartinstancesrequest = instancegroupmanagersstartinstancesrequest
return c
}
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *InstanceTemplatesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstanceTemplatesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagersStartInstancesCall) RequestId(requestId string) *InstanceGroupManagersStartInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceTemplatesAggregatedListCall) Fields(s ...googleapi.Field) *InstanceTemplatesAggregatedListCall {
+func (c *InstanceGroupManagersStartInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersStartInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceTemplatesAggregatedListCall) IfNoneMatch(entityTag string) *InstanceTemplatesAggregatedListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstanceTemplatesAggregatedListCall) Context(ctx context.Context) *InstanceTemplatesAggregatedListCall {
+func (c *InstanceGroupManagersStartInstancesCall) Context(ctx context.Context) *InstanceGroupManagersStartInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceTemplatesAggregatedListCall) Header() http.Header {
+func (c *InstanceGroupManagersStartInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceTemplatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstanceGroupManagersStartInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersstartinstancesrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instanceTemplates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.startInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceTemplates.aggregatedList" call.
+// Do executes the "compute.instanceGroupManagers.startInstances" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceTemplateAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstanceTemplateAggregatedList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersStartInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36493,7 +35534,7 @@ func (c *InstanceTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceTemplateAggregatedList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36504,51 +35545,72 @@ func (c *InstanceTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.startInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstanceTemplatesAggregatedListCall) Pages(ctx context.Context, f func(*InstanceTemplateAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InstanceTemplatesDeleteCall struct {
- s *Service
- project string
- instanceTemplate string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersStopInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersstopinstancesrequest *InstanceGroupManagersStopInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified instance template. Deleting an instance
-// template is
-// permanent and cannot be undone. It is not possible to delete templates
-// that are already in use by a managed instance group.
+// StopInstances: Flags the specified instances in the managed instance group
+// to be
+// immediately stopped. You can only specify instances that are running in
+// this request. This method reduces thetargetSize and increases the
+// targetStoppedSize
+// of the managed instance group by the number of instances that you stop.
+// The stopInstances operation is marked DONE if
+// the stopInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// theSTOPPING action with thelistmanagedinstances
+// method.
//
-// - instanceTemplate: The name of the instance template to delete.
+// If the standbyPolicy.initialDelaySec field is set, the group
+// delays stopping the instances until initialDelaySec have
+// passed from instance.creationTimestamp (that is, when the
+// instance was created). This delay gives your application time to
+// set itself up and initialize on the instance. If more thaninitialDelaySec
+// seconds have passed sinceinstance.creationTimestamp when this method is
+// called, there
+// will be zero delay.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is stopped.
+//
+// Stopped instances can be started using the startInstances
+// method.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-func (r *InstanceTemplatesService) Delete(project string, instanceTemplate string) *InstanceTemplatesDeleteCall {
- c := &InstanceTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) StopInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersstopinstancesrequest *InstanceGroupManagersStopInstancesRequest) *InstanceGroupManagersStopInstancesCall {
+ c := &InstanceGroupManagersStopInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.instanceTemplate = instanceTemplate
+ c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagersstopinstancesrequest = instancegroupmanagersstopinstancesrequest
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": When
+// set, graceful shutdown is skipped for instance stopping even if
+// it's
+// configured for the instances.
+func (c *InstanceGroupManagersStopInstancesCall) NoGracefulShutdown(noGracefulShutdown bool) *InstanceGroupManagersStopInstancesCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
return c
}
@@ -36569,7 +35631,7 @@ func (r *InstanceTemplatesService) Delete(project string, instanceTemplate strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceTemplatesDeleteCall) RequestId(requestId string) *InstanceTemplatesDeleteCall {
+func (c *InstanceGroupManagersStopInstancesCall) RequestId(requestId string) *InstanceGroupManagersStopInstancesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -36577,51 +35639,56 @@ func (c *InstanceTemplatesDeleteCall) RequestId(requestId string) *InstanceTempl
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceTemplatesDeleteCall) Fields(s ...googleapi.Field) *InstanceTemplatesDeleteCall {
+func (c *InstanceGroupManagersStopInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersStopInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceTemplatesDeleteCall) Context(ctx context.Context) *InstanceTemplatesDeleteCall {
+func (c *InstanceGroupManagersStopInstancesCall) Context(ctx context.Context) *InstanceGroupManagersStopInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceTemplatesDeleteCall) Header() http.Header {
+func (c *InstanceGroupManagersStopInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceGroupManagersStopInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersstopinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{instanceTemplate}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "instanceTemplate": c.instanceTemplate,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.stopInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceTemplates.delete" call.
+// Do executes the "compute.instanceGroupManagers.stopInstances" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupManagersStopInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36651,91 +35718,144 @@ func (c *InstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.stopInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceTemplatesGetCall struct {
- s *Service
- project string
- instanceTemplate string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersSuspendInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagerssuspendinstancesrequest *InstanceGroupManagersSuspendInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified instance template.
+// SuspendInstances: Flags the specified instances in the managed instance
+// group to be
+// immediately suspended. You can only specify instances that are running
+// in
+// this request. This method reduces thetargetSize and increases the
+// targetSuspendedSize
+// of the managed instance group by the number of instances that you
+// suspend.
+// The suspendInstances operation is marked DONE if
+// the suspendInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// theSUSPENDING action with thelistmanagedinstances
+// method.
//
-// - instanceTemplate: The name of the instance template.
+// If the standbyPolicy.initialDelaySec field is set, the group
+// delays suspension of the instances until initialDelaySec have
+// passed from instance.creationTimestamp (that is, when the
+// instance was created). This delay gives your application time to
+// set itself up and initialize on the instance. If more thaninitialDelaySec
+// seconds have passed sinceinstance.creationTimestamp when this method is
+// called, there
+// will be zero delay.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is
+// suspended.
+//
+// Suspended instances can be resumed using the resumeInstances
+// method.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-func (r *InstanceTemplatesService) Get(project string, instanceTemplate string) *InstanceTemplatesGetCall {
- c := &InstanceTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone where the managed
+// instance group is located.
+func (r *InstanceGroupManagersService) SuspendInstances(project string, zone string, instanceGroupManager string, instancegroupmanagerssuspendinstancesrequest *InstanceGroupManagersSuspendInstancesRequest) *InstanceGroupManagersSuspendInstancesCall {
+ c := &InstanceGroupManagersSuspendInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.instanceTemplate = instanceTemplate
+ c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagerssuspendinstancesrequest = instancegroupmanagerssuspendinstancesrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagersSuspendInstancesCall) RequestId(requestId string) *InstanceGroupManagersSuspendInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceTemplatesGetCall) Fields(s ...googleapi.Field) *InstanceTemplatesGetCall {
+func (c *InstanceGroupManagersSuspendInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSuspendInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceTemplatesGetCall) IfNoneMatch(entityTag string) *InstanceTemplatesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstanceTemplatesGetCall) Context(ctx context.Context) *InstanceTemplatesGetCall {
+func (c *InstanceGroupManagersSuspendInstancesCall) Context(ctx context.Context) *InstanceGroupManagersSuspendInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceTemplatesGetCall) Header() http.Header {
+func (c *InstanceGroupManagersSuspendInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstanceGroupManagersSuspendInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerssuspendinstancesrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{instanceTemplate}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "instanceTemplate": c.instanceTemplate,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.suspendInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceTemplates.get" call.
+// Do executes the "compute.instanceGroupManagers.suspendInstances" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceTemplate.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*InstanceTemplate, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupManagersSuspendInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36754,7 +35874,7 @@ func (c *InstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*InstanceTe
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceTemplate{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36765,99 +35885,117 @@ func (c *InstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*InstanceTe
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.suspendInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceTemplatesGetIamPolicyCall struct {
- s *Service
- project string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupManagersUpdatePerInstanceConfigsCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroupManager string
+ instancegroupmanagersupdateperinstanceconfigsreq *InstanceGroupManagersUpdatePerInstanceConfigsReq
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// UpdatePerInstanceConfigs: Inserts or updates per-instance configurations for
+// the managed instance
+// group. perInstanceConfig.name serves as a key used to
+// distinguish whether to perform insert or patch.
//
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InstanceTemplatesService) GetIamPolicy(project string, resource string) *InstanceTemplatesGetIamPolicyCall {
- c := &InstanceTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceGroupManager: The name of the managed instance group.
+// It should conform to RFC1035.
+// - project: Project ID for this request.
+// - zone: The name of thezone
+// where the managed instance group is located.
+//
+// It should conform to RFC1035.
+func (r *InstanceGroupManagersService) UpdatePerInstanceConfigs(project string, zone string, instanceGroupManager string, instancegroupmanagersupdateperinstanceconfigsreq *InstanceGroupManagersUpdatePerInstanceConfigsReq) *InstanceGroupManagersUpdatePerInstanceConfigsCall {
+ c := &InstanceGroupManagersUpdatePerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
+ c.zone = zone
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagersupdateperinstanceconfigsreq = instancegroupmanagersupdateperinstanceconfigsreq
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *InstanceTemplatesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InstanceTemplatesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) RequestId(requestId string) *InstanceGroupManagersUpdatePerInstanceConfigsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *InstanceTemplatesGetIamPolicyCall {
+func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersUpdatePerInstanceConfigsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstanceTemplatesGetIamPolicyCall) IfNoneMatch(entityTag string) *InstanceTemplatesGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstanceTemplatesGetIamPolicyCall) Context(ctx context.Context) *InstanceTemplatesGetIamPolicyCall {
+func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Context(ctx context.Context) *InstanceGroupManagersUpdatePerInstanceConfigsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceTemplatesGetIamPolicyCall) Header() http.Header {
+func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
-}
-
-func (c *InstanceTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+}
+
+func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersupdateperinstanceconfigsreq)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroupManager": c.instanceGroupManager,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.updatePerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceTemplates.getIamPolicy" call.
+// Do executes the "compute.instanceGroupManagers.updatePerInstanceConfigs" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36876,7 +36014,7 @@ func (c *InstanceTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*P
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36887,33 +36025,39 @@ func (c *InstanceTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*P
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.updatePerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceTemplatesInsertCall struct {
- s *Service
- project string
- instancetemplate *InstanceTemplate
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupsAddInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroup string
+ instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates an instance template in the specified project using the
-// data that is included in the request. If you are creating a new template
-// to
-// update an existing instance group, your new instance template must use
-// the
-// same network or, if applicable, the same subnetwork as the
-// original
-// template.
+// AddInstances: Adds a list of instances to the specified instance group. All
+// of the
+// instances in the instance group must be in the same network/subnetwork.
+// Read
+// Adding instances for more information.
//
-// - project: Project ID for this request.
-func (r *InstanceTemplatesService) Insert(project string, instancetemplate *InstanceTemplate) *InstanceTemplatesInsertCall {
- c := &InstanceTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceGroup: The name of the instance group where you are adding
+// instances.
+// - project: Project ID for this request.
+// - zone: The name of the zone
+//
+// where the instance group is located.
+func (r *InstanceGroupsService) AddInstances(project string, zone string, instanceGroup string, instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest) *InstanceGroupsAddInstancesCall {
+ c := &InstanceGroupsAddInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.instancetemplate = instancetemplate
+ c.zone = zone
+ c.instanceGroup = instanceGroup
+ c.instancegroupsaddinstancesrequest = instancegroupsaddinstancesrequest
return c
}
@@ -36934,7 +36078,7 @@ func (r *InstanceTemplatesService) Insert(project string, instancetemplate *Inst
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstanceTemplatesInsertCall) RequestId(requestId string) *InstanceTemplatesInsertCall {
+func (c *InstanceGroupsAddInstancesCall) RequestId(requestId string) *InstanceGroupsAddInstancesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -36942,35 +36086,35 @@ func (c *InstanceTemplatesInsertCall) RequestId(requestId string) *InstanceTempl
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceTemplatesInsertCall) Fields(s ...googleapi.Field) *InstanceTemplatesInsertCall {
+func (c *InstanceGroupsAddInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsAddInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceTemplatesInsertCall) Context(ctx context.Context) *InstanceTemplatesInsertCall {
+func (c *InstanceGroupsAddInstancesCall) Context(ctx context.Context) *InstanceGroupsAddInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceTemplatesInsertCall) Header() http.Header {
+func (c *InstanceGroupsAddInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancetemplate)
+func (c *InstanceGroupsAddInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupsaddinstancesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -36978,18 +36122,20 @@ func (c *InstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroup": c.instanceGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.addInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceTemplates.insert" call.
+// Do executes the "compute.instanceGroups.addInstances" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupsAddInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37019,11 +36165,11 @@ func (c *InstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.addInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceTemplatesListCall struct {
+type InstanceGroupsAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -37032,12 +36178,16 @@ type InstanceTemplatesListCall struct {
header_ http.Header
}
-// List: Retrieves a list of instance templates that are contained within
-// the specified project.
+// AggregatedList: Retrieves the list of instance groups and sorts them by
+// zone.
+//
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-func (r *InstanceTemplatesService) List(project string) *InstanceTemplatesListCall {
- c := &InstanceTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstanceGroupsService) AggregatedList(project string) *InstanceGroupsAggregatedListCall {
+ c := &InstanceGroupsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -37109,11 +36259,29 @@ func (r *InstanceTemplatesService) List(project string) *InstanceTemplatesListCa
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InstanceTemplatesListCall) Filter(filter string) *InstanceTemplatesListCall {
+func (c *InstanceGroupsAggregatedListCall) Filter(filter string) *InstanceGroupsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *InstanceGroupsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstanceGroupsAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -37121,7 +36289,7 @@ func (c *InstanceTemplatesListCall) Filter(filter string) *InstanceTemplatesList
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstanceTemplatesListCall) MaxResults(maxResults int64) *InstanceTemplatesListCall {
+func (c *InstanceGroupsAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -37141,7 +36309,7 @@ func (c *InstanceTemplatesListCall) MaxResults(maxResults int64) *InstanceTempla
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InstanceTemplatesListCall) OrderBy(orderBy string) *InstanceTemplatesListCall {
+func (c *InstanceGroupsAggregatedListCall) OrderBy(orderBy string) *InstanceGroupsAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -37150,30 +36318,23 @@ func (c *InstanceTemplatesListCall) OrderBy(orderBy string) *InstanceTemplatesLi
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InstanceTemplatesListCall) PageToken(pageToken string) *InstanceTemplatesListCall {
+func (c *InstanceGroupsAggregatedListCall) PageToken(pageToken string) *InstanceGroupsAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstanceTemplatesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstanceTemplatesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *InstanceGroupsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstanceGroupsAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceTemplatesListCall) Fields(s ...googleapi.Field) *InstanceTemplatesListCall {
+func (c *InstanceGroupsAggregatedListCall) Fields(s ...googleapi.Field) *InstanceGroupsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -37181,34 +36342,34 @@ func (c *InstanceTemplatesListCall) Fields(s ...googleapi.Field) *InstanceTempla
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InstanceTemplatesListCall) IfNoneMatch(entityTag string) *InstanceTemplatesListCall {
+func (c *InstanceGroupsAggregatedListCall) IfNoneMatch(entityTag string) *InstanceGroupsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceTemplatesListCall) Context(ctx context.Context) *InstanceTemplatesListCall {
+func (c *InstanceGroupsAggregatedListCall) Context(ctx context.Context) *InstanceGroupsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceTemplatesListCall) Header() http.Header {
+func (c *InstanceGroupsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instanceGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -37218,17 +36379,17 @@ func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceTemplates.list" call.
+// Do executes the "compute.instanceGroups.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceTemplateList.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceTemplateList, error) {
+// *InstanceGroupAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37247,7 +36408,7 @@ func (c *InstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceT
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceTemplateList{
+ ret := &InstanceGroupAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -37258,14 +36419,14 @@ func (c *InstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceT
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InstanceTemplatesListCall) Pages(ctx context.Context, f func(*InstanceTemplateList) error) error {
+func (c *InstanceGroupsAggregatedListCall) Pages(ctx context.Context, f func(*InstanceGroupAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -37283,82 +36444,106 @@ func (c *InstanceTemplatesListCall) Pages(ctx context.Context, f func(*InstanceT
}
}
-type InstanceTemplatesSetIamPolicyCall struct {
- s *Service
- project string
- resource string
- globalsetpolicyrequest *GlobalSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupsDeleteCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// Delete: Deletes the specified instance group. The instances in the group are
+// not
+// deleted. Note that instance group must not belong to a backend
+// service.
+// Read
+// Deleting an instance group for more information.
//
+// - instanceGroup: The name of the instance group to delete.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InstanceTemplatesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *InstanceTemplatesSetIamPolicyCall {
- c := &InstanceTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone
+// where the instance group is located.
+func (r *InstanceGroupsService) Delete(project string, zone string, instanceGroup string) *InstanceGroupsDeleteCall {
+ c := &InstanceGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.globalsetpolicyrequest = globalsetpolicyrequest
+ c.zone = zone
+ c.instanceGroup = instanceGroup
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupsDeleteCall) RequestId(requestId string) *InstanceGroupsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *InstanceTemplatesSetIamPolicyCall {
+func (c *InstanceGroupsDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstanceTemplatesSetIamPolicyCall) Context(ctx context.Context) *InstanceTemplatesSetIamPolicyCall {
+func (c *InstanceGroupsDeleteCall) Context(ctx context.Context) *InstanceGroupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstanceTemplatesSetIamPolicyCall) Header() http.Header {
+func (c *InstanceGroupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstanceTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
- if err != nil {
- return nil, err
- }
+func (c *InstanceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroup": c.instanceGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instanceTemplates.setIamPolicy" call.
+// Do executes the "compute.instanceGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstanceTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstanceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37377,7 +36562,7 @@ func (c *InstanceTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*P
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -37388,222 +36573,101 @@ func (c *InstanceTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*P
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstanceTemplatesTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupsGetCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Get: Returns the specified zonal instance group. Get a list of available
+// zonal
+// instance groups by making a list() request.
+//
+// For managed instance groups, use theinstanceGroupManagers
+// or regionInstanceGroupManagers
+// methods instead.
//
+// - instanceGroup: The name of the instance group.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InstanceTemplatesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstanceTemplatesTestIamPermissionsCall {
- c := &InstanceTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone
+// where the instance group is located.
+func (r *InstanceGroupsService) Get(project string, zone string, instanceGroup string) *InstanceGroupsGetCall {
+ c := &InstanceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.zone = zone
+ c.instanceGroup = instanceGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstanceTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstanceTemplatesTestIamPermissionsCall {
+func (c *InstanceGroupsGetCall) Fields(s ...googleapi.Field) *InstanceGroupsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// Context sets the context to be used in this call's Do method.
-func (c *InstanceTemplatesTestIamPermissionsCall) Context(ctx context.Context) *InstanceTemplatesTestIamPermissionsCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InstanceTemplatesTestIamPermissionsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InstanceTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.instanceTemplates.testIamPermissions" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstanceTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &TestPermissionsResponse{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.testIamPermissions", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstancesAddAccessConfigCall struct {
- s *Service
- project string
- zone string
- instance string
- accessconfig *AccessConfig
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// AddAccessConfig: Adds an access config to an instance's network interface.
-//
-// - instance: The instance name for this request.
-// - networkInterface: The name of the network interface to add to this
-// instance.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) AddAccessConfig(project string, zone string, instance string, networkInterface string, accessconfig *AccessConfig) *InstancesAddAccessConfigCall {
- c := &InstancesAddAccessConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instance = instance
- c.urlParams_.Set("networkInterface", networkInterface)
- c.accessconfig = accessconfig
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesAddAccessConfigCall) RequestId(requestId string) *InstancesAddAccessConfigCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InstancesAddAccessConfigCall) Fields(s ...googleapi.Field) *InstancesAddAccessConfigCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceGroupsGetCall) IfNoneMatch(entityTag string) *InstanceGroupsGetCall {
+ c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesAddAccessConfigCall) Context(ctx context.Context) *InstancesAddAccessConfigCall {
+func (c *InstanceGroupsGetCall) Context(ctx context.Context) *InstanceGroupsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesAddAccessConfigCall) Header() http.Header {
+func (c *InstanceGroupsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesAddAccessConfigCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.accessconfig)
- if err != nil {
- return nil, err
+func (c *InstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroup": c.instanceGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.addAccessConfig", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.addAccessConfig" call.
+// Do executes the "compute.instanceGroups.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *InstanceGroup.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesAddAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroup, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37622,7 +36686,7 @@ func (c *InstancesAddAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operat
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceGroup{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -37633,34 +36697,32 @@ func (c *InstancesAddAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.addAccessConfig", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesAddNetworkInterfaceCall struct {
- s *Service
- project string
- zone string
- instance string
- networkinterface *NetworkInterface
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupsInsertCall struct {
+ s *Service
+ project string
+ zone string
+ instancegroup *InstanceGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AddNetworkInterface: Adds one dynamic network interface to an active
-// instance.
+// Insert: Creates an instance group in the specified project using
+// the
+// parameters that are included in the request.
//
-// - instance: The instance name for this request stored as resource_id.
-// Name should conform to RFC1035 or be an unsigned long integer.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) AddNetworkInterface(project string, zone string, instance string, networkinterface *NetworkInterface) *InstancesAddNetworkInterfaceCall {
- c := &InstancesAddNetworkInterfaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - zone: The name of the zone
+// where you want to create the instance group.
+func (r *InstanceGroupsService) Insert(project string, zone string, instancegroup *InstanceGroup) *InstanceGroupsInsertCall {
+ c := &InstanceGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instance = instance
- c.networkinterface = networkinterface
+ c.instancegroup = instancegroup
return c
}
@@ -37681,7 +36743,7 @@ func (r *InstancesService) AddNetworkInterface(project string, zone string, inst
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesAddNetworkInterfaceCall) RequestId(requestId string) *InstancesAddNetworkInterfaceCall {
+func (c *InstanceGroupsInsertCall) RequestId(requestId string) *InstanceGroupsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -37689,35 +36751,35 @@ func (c *InstancesAddNetworkInterfaceCall) RequestId(requestId string) *Instance
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesAddNetworkInterfaceCall) Fields(s ...googleapi.Field) *InstancesAddNetworkInterfaceCall {
+func (c *InstanceGroupsInsertCall) Fields(s ...googleapi.Field) *InstanceGroupsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesAddNetworkInterfaceCall) Context(ctx context.Context) *InstancesAddNetworkInterfaceCall {
+func (c *InstanceGroupsInsertCall) Context(ctx context.Context) *InstanceGroupsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesAddNetworkInterfaceCall) Header() http.Header {
+func (c *InstanceGroupsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesAddNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkinterface)
+func (c *InstanceGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroup)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -37725,20 +36787,19 @@ func (c *InstancesAddNetworkInterfaceCall) doRequest(alt string) (*http.Response
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.addNetworkInterface", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.addNetworkInterface" call.
+// Do executes the "compute.instanceGroups.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesAddNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37768,114 +36829,211 @@ func (c *InstancesAddNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.addNetworkInterface", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesAddResourcePoliciesCall struct {
- s *Service
- project string
- zone string
- instance string
- instancesaddresourcepoliciesrequest *InstancesAddResourcePoliciesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupsListCall struct {
+ s *Service
+ project string
+ zone string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AddResourcePolicies: Adds existing resource policies to an instance. You can
-// only add one
-// policy right now which will be applied to this instance for scheduling
-// live
-// migrations.
+// List: Retrieves the list of zonal instance group resources contained within
+// the
+// specified zone.
+//
+// For managed instance groups, use theinstanceGroupManagers
+// or regionInstanceGroupManagers
+// methods instead.
//
-// - instance: The instance name for this request.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) AddResourcePolicies(project string, zone string, instance string, instancesaddresourcepoliciesrequest *InstancesAddResourcePoliciesRequest) *InstancesAddResourcePoliciesCall {
- c := &InstancesAddResourcePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of thezone
+// where the instance group is located.
+func (r *InstanceGroupsService) List(project string, zone string) *InstanceGroupsListCall {
+ c := &InstanceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instance = instance
- c.instancesaddresourcepoliciesrequest = instancesaddresourcepoliciesrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesAddResourcePoliciesCall) RequestId(requestId string) *InstancesAddResourcePoliciesCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InstanceGroupsListCall) Filter(filter string) *InstanceGroupsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InstanceGroupsListCall) MaxResults(maxResults int64) *InstanceGroupsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InstanceGroupsListCall) OrderBy(orderBy string) *InstanceGroupsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InstanceGroupsListCall) PageToken(pageToken string) *InstanceGroupsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesAddResourcePoliciesCall) Fields(s ...googleapi.Field) *InstancesAddResourcePoliciesCall {
+func (c *InstanceGroupsListCall) Fields(s ...googleapi.Field) *InstanceGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceGroupsListCall) IfNoneMatch(entityTag string) *InstanceGroupsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesAddResourcePoliciesCall) Context(ctx context.Context) *InstancesAddResourcePoliciesCall {
+func (c *InstanceGroupsListCall) Context(ctx context.Context) *InstanceGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesAddResourcePoliciesCall) Header() http.Header {
+func (c *InstanceGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesaddresourcepoliciesrequest)
- if err != nil {
- return nil, err
+func (c *InstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.addResourcePolicies", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.addResourcePolicies" call.
+// Do executes the "compute.instanceGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesAddResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceGroupList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*InstanceGroupList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37894,7 +37052,7 @@ func (c *InstancesAddResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Op
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceGroupList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -37905,35 +37063,60 @@ func (c *InstancesAddResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.addResourcePolicies", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstanceGroupsListCall) Pages(ctx context.Context, f func(*InstanceGroupList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// AggregatedList: Retrieves an aggregated list of all of the instances in your
-// project
-// across all regions and zones.
-//
-// The performance of this method degrades when a filter is specified on
-// a
-// project that has a very large number of instances.
+type InstanceGroupsListInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroup string
+ instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListInstances: Lists the instances in the specified instance group.
+// The orderBy query parameter is not supported.
+// The filter query parameter is supported, but only for
+// expressions that use `eq` (equal) or `ne` (not equal) operators.
//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// - instanceGroup: The name of the instance group from which you want to
+// generate a list
//
+// of included instances.
// - project: Project ID for this request.
-func (r *InstancesService) AggregatedList(project string) *InstancesAggregatedListCall {
- c := &InstancesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone
+// where the instance group is located.
+func (r *InstanceGroupsService) ListInstances(project string, zone string, instanceGroup string, instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest) *InstanceGroupsListInstancesCall {
+ c := &InstanceGroupsListInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
+ c.instanceGroup = instanceGroup
+ c.instancegroupslistinstancesrequest = instancegroupslistinstancesrequest
return c
}
@@ -38004,29 +37187,11 @@ func (r *InstancesService) AggregatedList(project string) *InstancesAggregatedLi
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InstancesAggregatedListCall) Filter(filter string) *InstancesAggregatedListCall {
+func (c *InstanceGroupsListInstancesCall) Filter(filter string) *InstanceGroupsListInstancesCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *InstancesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstancesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -38034,7 +37199,7 @@ func (c *InstancesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *I
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstancesAggregatedListCall) MaxResults(maxResults int64) *InstancesAggregatedListCall {
+func (c *InstanceGroupsListInstancesCall) MaxResults(maxResults int64) *InstanceGroupsListInstancesCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -38054,7 +37219,7 @@ func (c *InstancesAggregatedListCall) MaxResults(maxResults int64) *InstancesAgg
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InstancesAggregatedListCall) OrderBy(orderBy string) *InstancesAggregatedListCall {
+func (c *InstanceGroupsListInstancesCall) OrderBy(orderBy string) *InstanceGroupsListInstancesCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -38063,93 +37228,231 @@ func (c *InstancesAggregatedListCall) OrderBy(orderBy string) *InstancesAggregat
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InstancesAggregatedListCall) PageToken(pageToken string) *InstancesAggregatedListCall {
+func (c *InstanceGroupsListInstancesCall) PageToken(pageToken string) *InstanceGroupsListInstancesCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InstanceGroupsListInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsListInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *InstanceGroupsListInstancesCall) Context(ctx context.Context) *InstanceGroupsListInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InstanceGroupsListInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupslistinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroup": c.instanceGroup,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.listInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instanceGroups.listInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *InstanceGroupsListInstances.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*InstanceGroupsListInstances, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &InstanceGroupsListInstances{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.listInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstanceGroupsListInstancesCall) Pages(ctx context.Context, f func(*InstanceGroupsListInstances) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type InstanceGroupsRemoveInstancesCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroup string
+ instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// RemoveInstances: Removes one or more instances from the specified instance
+// group, but does
+// not delete those instances.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstancesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstancesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration before the VM instance is removed or deleted.
+//
+// - instanceGroup: The name of the instance group where the specified
+// instances will be
+//
+// removed.
+// - project: Project ID for this request.
+// - zone: The name of the zone
+// where the instance group is located.
+func (r *InstanceGroupsService) RemoveInstances(project string, zone string, instanceGroup string, instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest) *InstanceGroupsRemoveInstancesCall {
+ c := &InstanceGroupsRemoveInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instanceGroup = instanceGroup
+ c.instancegroupsremoveinstancesrequest = instancegroupsremoveinstancesrequest
return c
}
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *InstancesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstancesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceGroupsRemoveInstancesCall) RequestId(requestId string) *InstanceGroupsRemoveInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesAggregatedListCall) Fields(s ...googleapi.Field) *InstancesAggregatedListCall {
+func (c *InstanceGroupsRemoveInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsRemoveInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstancesAggregatedListCall) IfNoneMatch(entityTag string) *InstancesAggregatedListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstancesAggregatedListCall) Context(ctx context.Context) *InstancesAggregatedListCall {
+func (c *InstanceGroupsRemoveInstancesCall) Context(ctx context.Context) *InstanceGroupsRemoveInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesAggregatedListCall) Header() http.Header {
+func (c *InstanceGroupsRemoveInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstanceGroupsRemoveInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupsremoveinstancesrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroup": c.instanceGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.removeInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.aggregatedList" call.
+// Do executes the "compute.instanceGroups.removeInstances" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceAggregatedList.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstanceAggregatedList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceGroupsRemoveInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -38168,7 +37471,7 @@ func (c *InstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Instanc
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceAggregatedList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -38179,67 +37482,35 @@ func (c *InstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Instanc
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.removeInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstancesAggregatedListCall) Pages(ctx context.Context, f func(*InstanceAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InstancesAttachDiskCall struct {
- s *Service
- project string
- zone string
- instance string
- attacheddisk *AttachedDisk
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupsSetNamedPortsCall struct {
+ s *Service
+ project string
+ zone string
+ instanceGroup string
+ instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AttachDisk: Attaches an existing Disk resource to an instance. You must
-// first
-// create the disk before you can attach it. It is not possible to create
-// and attach a disk at the same time. For more information, readAdding
-// a
-// persistent disk to your instance.
+// SetNamedPorts: Sets the named ports for the specified instance group.
//
-// - instance: The instance name for this request.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) AttachDisk(project string, zone string, instance string, attacheddisk *AttachedDisk) *InstancesAttachDiskCall {
- c := &InstancesAttachDiskCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceGroup: The name of the instance group where the named ports are
+// updated.
+// - project: Project ID for this request.
+// - zone: The name of the zone
+//
+// where the instance group is located.
+func (r *InstanceGroupsService) SetNamedPorts(project string, zone string, instanceGroup string, instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest) *InstanceGroupsSetNamedPortsCall {
+ c := &InstanceGroupsSetNamedPortsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instance = instance
- c.attacheddisk = attacheddisk
- return c
-}
-
-// ForceAttach sets the optional parameter "forceAttach": Whether to force
-// attach the regional disk even if it's currently attached
-// to another instance. If you try to force attach a zonal disk to an
-// instance, you will receive an error.
-func (c *InstancesAttachDiskCall) ForceAttach(forceAttach bool) *InstancesAttachDiskCall {
- c.urlParams_.Set("forceAttach", fmt.Sprint(forceAttach))
+ c.instanceGroup = instanceGroup
+ c.instancegroupssetnamedportsrequest = instancegroupssetnamedportsrequest
return c
}
@@ -38260,7 +37531,7 @@ func (c *InstancesAttachDiskCall) ForceAttach(forceAttach bool) *InstancesAttach
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesAttachDiskCall) RequestId(requestId string) *InstancesAttachDiskCall {
+func (c *InstanceGroupsSetNamedPortsCall) RequestId(requestId string) *InstanceGroupsSetNamedPortsCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -38268,35 +37539,35 @@ func (c *InstancesAttachDiskCall) RequestId(requestId string) *InstancesAttachDi
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesAttachDiskCall) Fields(s ...googleapi.Field) *InstancesAttachDiskCall {
+func (c *InstanceGroupsSetNamedPortsCall) Fields(s ...googleapi.Field) *InstanceGroupsSetNamedPortsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesAttachDiskCall) Context(ctx context.Context) *InstancesAttachDiskCall {
+func (c *InstanceGroupsSetNamedPortsCall) Context(ctx context.Context) *InstanceGroupsSetNamedPortsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesAttachDiskCall) Header() http.Header {
+func (c *InstanceGroupsSetNamedPortsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesAttachDiskCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.attacheddisk)
+func (c *InstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupssetnamedportsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/attachDisk")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -38304,20 +37575,20 @@ func (c *InstancesAttachDiskCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "zone": c.zone,
+ "instanceGroup": c.instanceGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.attachDisk", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.setNamedPorts", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.attachDisk" call.
+// Do executes the "compute.instanceGroups.setNamedPorts" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesAttachDiskCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -38347,91 +37618,185 @@ func (c *InstancesAttachDiskCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.attachDisk", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.setNamedPorts", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesBulkInsertCall struct {
- s *Service
- project string
- zone string
- bulkinsertinstanceresource *BulkInsertInstanceResource
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceGroupsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// BulkInsert: Creates multiple instances. Count specifies the number of
-// instances to
-// create. For more information, seeAbout bulk
-// creation of VMs.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) BulkInsert(project string, zone string, bulkinsertinstanceresource *BulkInsertInstanceResource) *InstancesBulkInsertCall {
- c := &InstancesBulkInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstanceGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstanceGroupsTestIamPermissionsCall {
+ c := &InstanceGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.bulkinsertinstanceresource = bulkinsertinstanceresource
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InstanceGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstanceGroupsTestIamPermissionsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *InstanceGroupsTestIamPermissionsCall) Context(ctx context.Context) *InstanceGroupsTestIamPermissionsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InstanceGroupsTestIamPermissionsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instanceGroups.testIamPermissions" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &TestPermissionsResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type InstanceSettingsGetCall struct {
+ s *Service
+ project string
+ zone string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Get Instance settings.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesBulkInsertCall) RequestId(requestId string) *InstancesBulkInsertCall {
- c.urlParams_.Set("requestId", requestId)
+// - project: Project ID for this request.
+// - zone: Name of the zone for this request.
+func (r *InstanceSettingsService) Get(project string, zone string) *InstanceSettingsGetCall {
+ c := &InstanceSettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesBulkInsertCall) Fields(s ...googleapi.Field) *InstancesBulkInsertCall {
+func (c *InstanceSettingsGetCall) Fields(s ...googleapi.Field) *InstanceSettingsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceSettingsGetCall) IfNoneMatch(entityTag string) *InstanceSettingsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesBulkInsertCall) Context(ctx context.Context) *InstancesBulkInsertCall {
+func (c *InstanceSettingsGetCall) Context(ctx context.Context) *InstanceSettingsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesBulkInsertCall) Header() http.Header {
+func (c *InstanceSettingsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesBulkInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.bulkinsertinstanceresource)
- if err != nil {
- return nil, err
+func (c *InstanceSettingsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/bulkInsert")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceSettings")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -38440,16 +37805,17 @@ func (c *InstancesBulkInsertCall) doRequest(alt string) (*http.Response, error)
"project": c.project,
"zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.bulkInsert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceSettings.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.bulkInsert" call.
+// Do executes the "compute.instanceSettings.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceSettings.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstanceSettingsGetCall) Do(opts ...googleapi.CallOption) (*InstanceSettings, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -38468,7 +37834,7 @@ func (c *InstancesBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceSettings{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -38479,32 +37845,29 @@ func (c *InstancesBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.bulkInsert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceSettings.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesDeleteCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceSettingsPatchCall struct {
+ s *Service
+ project string
+ zone string
+ instancesettings *InstanceSettings
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified Instance resource. For more information,
-// seeDeleting
-// an instance.
+// Patch: Patch Instance settings
//
-// - instance: Name of the instance resource to delete.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) Delete(project string, zone string, instance string) *InstancesDeleteCall {
- c := &InstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The zone scoping this request. It should conform to RFC1035.
+func (r *InstanceSettingsService) Patch(project string, zone string, instancesettings *InstanceSettings) *InstanceSettingsPatchCall {
+ c := &InstanceSettingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instance = instance
+ c.instancesettings = instancesettings
return c
}
@@ -38525,60 +37888,70 @@ func (r *InstancesService) Delete(project string, zone string, instance string)
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesDeleteCall) RequestId(requestId string) *InstancesDeleteCall {
+func (c *InstanceSettingsPatchCall) RequestId(requestId string) *InstanceSettingsPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// UpdateMask sets the optional parameter "updateMask": update_mask indicates
+// fields to be updated as part of this request.
+func (c *InstanceSettingsPatchCall) UpdateMask(updateMask string) *InstanceSettingsPatchCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesDeleteCall) Fields(s ...googleapi.Field) *InstancesDeleteCall {
+func (c *InstanceSettingsPatchCall) Fields(s ...googleapi.Field) *InstanceSettingsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesDeleteCall) Context(ctx context.Context) *InstancesDeleteCall {
+func (c *InstanceSettingsPatchCall) Context(ctx context.Context) *InstanceSettingsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesDeleteCall) Header() http.Header {
+func (c *InstanceSettingsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceSettingsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesettings)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceSettings")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceSettings.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.delete" call.
+// Do executes the "compute.instanceSettings.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceSettingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -38608,109 +37981,232 @@ func (c *InstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceSettings.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesDeleteAccessConfigCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceTemplatesAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AggregatedList: Retrieves the list of all InstanceTemplates resources,
+// regional and global,
+// available to the specified project.
+//
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Name of the project scoping this request.
+func (r *InstanceTemplatesService) AggregatedList(project string) *InstanceTemplatesAggregatedListCall {
+ c := &InstanceTemplatesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InstanceTemplatesAggregatedListCall) Filter(filter string) *InstanceTemplatesAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *InstanceTemplatesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstanceTemplatesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
}
-// DeleteAccessConfig: Deletes an access config from an instance's network
-// interface.
-//
-// - accessConfig: The name of the access config to delete.
-// - instance: The instance name for this request.
-// - networkInterface: The name of the network interface.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) DeleteAccessConfig(project string, zone string, instance string, accessConfig string, networkInterface string) *InstancesDeleteAccessConfigCall {
- c := &InstancesDeleteAccessConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instance = instance
- c.urlParams_.Set("accessConfig", accessConfig)
- c.urlParams_.Set("networkInterface", networkInterface)
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InstanceTemplatesAggregatedListCall) MaxResults(maxResults int64) *InstanceTemplatesAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesDeleteAccessConfigCall) RequestId(requestId string) *InstancesDeleteAccessConfigCall {
- c.urlParams_.Set("requestId", requestId)
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InstanceTemplatesAggregatedListCall) OrderBy(orderBy string) *InstanceTemplatesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InstanceTemplatesAggregatedListCall) PageToken(pageToken string) *InstanceTemplatesAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *InstanceTemplatesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstanceTemplatesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesDeleteAccessConfigCall) Fields(s ...googleapi.Field) *InstancesDeleteAccessConfigCall {
+func (c *InstanceTemplatesAggregatedListCall) Fields(s ...googleapi.Field) *InstanceTemplatesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceTemplatesAggregatedListCall) IfNoneMatch(entityTag string) *InstanceTemplatesAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesDeleteAccessConfigCall) Context(ctx context.Context) *InstancesDeleteAccessConfigCall {
+func (c *InstanceTemplatesAggregatedListCall) Context(ctx context.Context) *InstanceTemplatesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesDeleteAccessConfigCall) Header() http.Header {
+func (c *InstanceTemplatesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesDeleteAccessConfigCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceTemplatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instanceTemplates")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.deleteAccessConfig", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.deleteAccessConfig" call.
+// Do executes the "compute.instanceTemplates.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesDeleteAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceTemplateAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstanceTemplateAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -38729,7 +38225,7 @@ func (c *InstancesDeleteAccessConfigCall) Do(opts ...googleapi.CallOption) (*Ope
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceTemplateAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -38740,40 +38236,51 @@ func (c *InstancesDeleteAccessConfigCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.deleteAccessConfig", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesDeleteNetworkInterfaceCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstanceTemplatesAggregatedListCall) Pages(ctx context.Context, f func(*InstanceTemplateAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// DeleteNetworkInterface: Deletes one dynamic network interface from an active
-// instance.
-// InstancesDeleteNetworkInterfaceRequest indicates:
-// - instance from which to delete, using project+zone+resource_id fields;
-// - dynamic network interface to be deleted, using
-// network_interface_name
-// field;
+type InstanceTemplatesDeleteCall struct {
+ s *Service
+ project string
+ instanceTemplate string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified instance template. Deleting an instance
+// template is
+// permanent and cannot be undone. It is not possible to delete templates
+// that are already in use by a managed instance group.
//
-// - instance: The instance name for this request stored as resource_id.
-// Name should conform to RFC1035 or be an unsigned long integer.
-// - networkInterfaceName: The name of the dynamic network interface to be
-// deleted from the instance.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) DeleteNetworkInterface(project string, zone string, instance string, networkInterfaceName string) *InstancesDeleteNetworkInterfaceCall {
- c := &InstancesDeleteNetworkInterfaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceTemplate: The name of the instance template to delete.
+// - project: Project ID for this request.
+func (r *InstanceTemplatesService) Delete(project string, instanceTemplate string) *InstanceTemplatesDeleteCall {
+ c := &InstanceTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instance = instance
- c.urlParams_.Set("networkInterfaceName", networkInterfaceName)
+ c.instanceTemplate = instanceTemplate
return c
}
@@ -38794,7 +38301,7 @@ func (r *InstancesService) DeleteNetworkInterface(project string, zone string, i
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesDeleteNetworkInterfaceCall) RequestId(requestId string) *InstancesDeleteNetworkInterfaceCall {
+func (c *InstanceTemplatesDeleteCall) RequestId(requestId string) *InstanceTemplatesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -38802,52 +38309,51 @@ func (c *InstancesDeleteNetworkInterfaceCall) RequestId(requestId string) *Insta
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesDeleteNetworkInterfaceCall) Fields(s ...googleapi.Field) *InstancesDeleteNetworkInterfaceCall {
+func (c *InstanceTemplatesDeleteCall) Fields(s ...googleapi.Field) *InstanceTemplatesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesDeleteNetworkInterfaceCall) Context(ctx context.Context) *InstancesDeleteNetworkInterfaceCall {
+func (c *InstanceTemplatesDeleteCall) Context(ctx context.Context) *InstanceTemplatesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesDeleteNetworkInterfaceCall) Header() http.Header {
+func (c *InstanceTemplatesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesDeleteNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{instanceTemplate}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "instanceTemplate": c.instanceTemplate,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.deleteNetworkInterface", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.deleteNetworkInterface" call.
+// Do executes the "compute.instanceTemplates.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesDeleteNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -38877,109 +38383,91 @@ func (c *InstancesDeleteNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.deleteNetworkInterface", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesDetachDiskCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstanceTemplatesGetCall struct {
+ s *Service
+ project string
+ instanceTemplate string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// DetachDisk: Detaches a disk from an instance.
-//
-// - deviceName: The device name of the disk to detach. Make a get() request
-// on
+// Get: Returns the specified instance template.
//
-// the instance to view currently attached disks and device names.
-// - instance: Instance name for this request.
+// - instanceTemplate: The name of the instance template.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) DetachDisk(project string, zone string, instance string, deviceName string) *InstancesDetachDiskCall {
- c := &InstancesDetachDiskCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstanceTemplatesService) Get(project string, instanceTemplate string) *InstanceTemplatesGetCall {
+ c := &InstanceTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instance = instance
- c.urlParams_.Set("deviceName", deviceName)
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesDetachDiskCall) RequestId(requestId string) *InstancesDetachDiskCall {
- c.urlParams_.Set("requestId", requestId)
+ c.instanceTemplate = instanceTemplate
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesDetachDiskCall) Fields(s ...googleapi.Field) *InstancesDetachDiskCall {
+func (c *InstanceTemplatesGetCall) Fields(s ...googleapi.Field) *InstanceTemplatesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstanceTemplatesGetCall) IfNoneMatch(entityTag string) *InstanceTemplatesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesDetachDiskCall) Context(ctx context.Context) *InstancesDetachDiskCall {
+func (c *InstanceTemplatesGetCall) Context(ctx context.Context) *InstanceTemplatesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesDetachDiskCall) Header() http.Header {
+func (c *InstanceTemplatesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesDetachDiskCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/detachDisk")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{instanceTemplate}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "instanceTemplate": c.instanceTemplate,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.detachDisk", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.detachDisk" call.
+// Do executes the "compute.instanceTemplates.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesDetachDiskCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceTemplate.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*InstanceTemplate, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -38998,7 +38486,7 @@ func (c *InstancesDetachDiskCall) Do(opts ...googleapi.CallOption) (*Operation,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceTemplate{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -39009,38 +38497,44 @@ func (c *InstancesDetachDiskCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.detachDisk", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesGetCall struct {
+type InstanceTemplatesGetIamPolicyCall struct {
s *Service
project string
- zone string
- instance string
+ resource string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the specified Instance resource.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - instance: Name of the instance resource to return.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) Get(project string, zone string, instance string) *InstancesGetCall {
- c := &InstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *InstanceTemplatesService) GetIamPolicy(project string, resource string) *InstanceTemplatesGetIamPolicyCall {
+ c := &InstanceTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instance = instance
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *InstanceTemplatesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InstanceTemplatesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesGetCall) Fields(s ...googleapi.Field) *InstancesGetCall {
+func (c *InstanceTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *InstanceTemplatesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -39048,34 +38542,34 @@ func (c *InstancesGetCall) Fields(s ...googleapi.Field) *InstancesGetCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InstancesGetCall) IfNoneMatch(entityTag string) *InstancesGetCall {
+func (c *InstanceTemplatesGetIamPolicyCall) IfNoneMatch(entityTag string) *InstanceTemplatesGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesGetCall) Context(ctx context.Context) *InstancesGetCall {
+func (c *InstanceTemplatesGetIamPolicyCall) Context(ctx context.Context) *InstanceTemplatesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesGetCall) Header() http.Header {
+func (c *InstanceTemplatesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -39084,19 +38578,18 @@ func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.get" call.
+// Do executes the "compute.instanceTemplates.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Instance.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
+func (c *InstanceTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -39115,7 +38608,7 @@ func (c *InstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Instance{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -39126,99 +38619,109 @@ func (c *InstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesGetEffectiveFirewallsCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstanceTemplatesInsertCall struct {
+ s *Service
+ project string
+ instancetemplate *InstanceTemplate
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetEffectiveFirewalls: Returns effective firewalls applied to an interface
-// of the instance.
+// Insert: Creates an instance template in the specified project using the
+// data that is included in the request. If you are creating a new template
+// to
+// update an existing instance group, your new instance template must use
+// the
+// same network or, if applicable, the same subnetwork as the
+// original
+// template.
//
-// - instance: Name of the instance scoping this request.
-// - networkInterface: The name of the network interface to get the effective
-// firewalls.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) GetEffectiveFirewalls(project string, zone string, instance string, networkInterface string) *InstancesGetEffectiveFirewallsCall {
- c := &InstancesGetEffectiveFirewallsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *InstanceTemplatesService) Insert(project string, instancetemplate *InstanceTemplate) *InstanceTemplatesInsertCall {
+ c := &InstanceTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instance = instance
- c.urlParams_.Set("networkInterface", networkInterface)
+ c.instancetemplate = instancetemplate
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstanceTemplatesInsertCall) RequestId(requestId string) *InstanceTemplatesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesGetEffectiveFirewallsCall) Fields(s ...googleapi.Field) *InstancesGetEffectiveFirewallsCall {
+func (c *InstanceTemplatesInsertCall) Fields(s ...googleapi.Field) *InstanceTemplatesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstancesGetEffectiveFirewallsCall) IfNoneMatch(entityTag string) *InstancesGetEffectiveFirewallsCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstancesGetEffectiveFirewallsCall) Context(ctx context.Context) *InstancesGetEffectiveFirewallsCall {
+func (c *InstanceTemplatesInsertCall) Context(ctx context.Context) *InstanceTemplatesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesGetEffectiveFirewallsCall) Header() http.Header {
+func (c *InstanceTemplatesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancetemplate)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getEffectiveFirewalls", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.getEffectiveFirewalls" call.
+// Do executes the "compute.instanceTemplates.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstancesGetEffectiveFirewallsResponse.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstancesGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*InstancesGetEffectiveFirewallsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -39237,7 +38740,7 @@ func (c *InstancesGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstancesGetEffectiveFirewallsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -39248,52 +38751,146 @@ func (c *InstancesGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getEffectiveFirewalls", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesGetGuestAttributesCall struct {
+type InstanceTemplatesListCall struct {
s *Service
project string
- zone string
- instance string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// GetGuestAttributes: Returns the specified guest attributes entry.
-//
-// - instance: Name of the instance scoping this request.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) GetGuestAttributes(project string, zone string, instance string) *InstancesGetGuestAttributesCall {
- c := &InstancesGetGuestAttributesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instance = instance
+// List: Retrieves a list of instance templates that are contained within
+// the specified project.
+//
+// - project: Project ID for this request.
+func (r *InstanceTemplatesService) List(project string) *InstanceTemplatesListCall {
+ c := &InstanceTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InstanceTemplatesListCall) Filter(filter string) *InstanceTemplatesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InstanceTemplatesListCall) MaxResults(maxResults int64) *InstanceTemplatesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
-// QueryPath sets the optional parameter "queryPath": Specifies the guest
-// attributes path to be queried.
-func (c *InstancesGetGuestAttributesCall) QueryPath(queryPath string) *InstancesGetGuestAttributesCall {
- c.urlParams_.Set("queryPath", queryPath)
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InstanceTemplatesListCall) OrderBy(orderBy string) *InstanceTemplatesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
return c
}
-// VariableKey sets the optional parameter "variableKey": Specifies the key for
-// the guest attributes entry.
-func (c *InstancesGetGuestAttributesCall) VariableKey(variableKey string) *InstancesGetGuestAttributesCall {
- c.urlParams_.Set("variableKey", variableKey)
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InstanceTemplatesListCall) PageToken(pageToken string) *InstanceTemplatesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesGetGuestAttributesCall) Fields(s ...googleapi.Field) *InstancesGetGuestAttributesCall {
+func (c *InstanceTemplatesListCall) Fields(s ...googleapi.Field) *InstanceTemplatesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -39301,34 +38898,34 @@ func (c *InstancesGetGuestAttributesCall) Fields(s ...googleapi.Field) *Instance
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InstancesGetGuestAttributesCall) IfNoneMatch(entityTag string) *InstancesGetGuestAttributesCall {
+func (c *InstanceTemplatesListCall) IfNoneMatch(entityTag string) *InstanceTemplatesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesGetGuestAttributesCall) Context(ctx context.Context) *InstancesGetGuestAttributesCall {
+func (c *InstanceTemplatesListCall) Context(ctx context.Context) *InstanceTemplatesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesGetGuestAttributesCall) Header() http.Header {
+func (c *InstanceTemplatesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesGetGuestAttributesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -39336,21 +38933,19 @@ func (c *InstancesGetGuestAttributesCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getGuestAttributes", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.getGuestAttributes" call.
+// Do executes the "compute.instanceTemplates.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *GuestAttributes.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *InstanceTemplateList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *InstancesGetGuestAttributesCall) Do(opts ...googleapi.CallOption) (*GuestAttributes, error) {
+func (c *InstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceTemplateList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -39369,7 +38964,7 @@ func (c *InstancesGetGuestAttributesCall) Do(opts ...googleapi.CallOption) (*Gue
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &GuestAttributes{
+ ret := &InstanceTemplateList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -39380,103 +38975,107 @@ func (c *InstancesGetGuestAttributesCall) Do(opts ...googleapi.CallOption) (*Gue
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getGuestAttributes", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesGetIamPolicyCall struct {
- s *Service
- project string
- zone string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstanceTemplatesListCall) Pages(ctx context.Context, f func(*InstanceTemplateList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+type InstanceTemplatesSetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetpolicyrequest *GlobalSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) GetIamPolicy(project string, zone string, resource string) *InstancesGetIamPolicyCall {
- c := &InstancesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstanceTemplatesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *InstanceTemplatesSetIamPolicyCall {
+ c := &InstanceTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
c.resource = resource
- return c
-}
-
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *InstancesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InstancesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+ c.globalsetpolicyrequest = globalsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesGetIamPolicyCall) Fields(s ...googleapi.Field) *InstancesGetIamPolicyCall {
+func (c *InstanceTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *InstanceTemplatesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstancesGetIamPolicyCall) IfNoneMatch(entityTag string) *InstancesGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstancesGetIamPolicyCall) Context(ctx context.Context) *InstancesGetIamPolicyCall {
+func (c *InstanceTemplatesSetIamPolicyCall) Context(ctx context.Context) *InstanceTemplatesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesGetIamPolicyCall) Header() http.Header {
+func (c *InstanceTemplatesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstanceTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.getIamPolicy" call.
+// Do executes the "compute.instanceTemplates.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstanceTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -39506,94 +39105,86 @@ func (c *InstancesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesGetScreenshotCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstanceTemplatesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetScreenshot: Returns the screenshot from the specified instance.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) GetScreenshot(project string, zone string, instance string) *InstancesGetScreenshotCall {
- c := &InstancesGetScreenshotCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *InstanceTemplatesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstanceTemplatesTestIamPermissionsCall {
+ c := &InstanceTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.instance = instance
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesGetScreenshotCall) Fields(s ...googleapi.Field) *InstancesGetScreenshotCall {
+func (c *InstanceTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstanceTemplatesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstancesGetScreenshotCall) IfNoneMatch(entityTag string) *InstancesGetScreenshotCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstancesGetScreenshotCall) Context(ctx context.Context) *InstancesGetScreenshotCall {
+func (c *InstanceTemplatesTestIamPermissionsCall) Context(ctx context.Context) *InstanceTemplatesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesGetScreenshotCall) Header() http.Header {
+func (c *InstanceTemplatesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesGetScreenshotCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstanceTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/screenshot")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getScreenshot", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceTemplates.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.getScreenshot" call.
+// Do executes the "compute.instanceTemplates.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Screenshot.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesGetScreenshotCall) Do(opts ...googleapi.CallOption) (*Screenshot, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstanceTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -39612,7 +39203,7 @@ func (c *InstancesGetScreenshotCall) Do(opts ...googleapi.CallOption) (*Screensh
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Screenshot{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -39623,113 +39214,94 @@ func (c *InstancesGetScreenshotCall) Do(opts ...googleapi.CallOption) (*Screensh
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getScreenshot", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceTemplates.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesGetSerialPortOutputCall struct {
+type InstancesAddAccessConfigCall struct {
s *Service
project string
zone string
instance string
+ accessconfig *AccessConfig
urlParams_ gensupport.URLParams
- ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// GetSerialPortOutput: Returns the last 1 MB of serial port output from the
-// specified instance.
+// AddAccessConfig: Adds an access config to an instance's network interface.
//
-// - instance: Name of the instance for this request.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) GetSerialPortOutput(project string, zone string, instance string) *InstancesGetSerialPortOutputCall {
- c := &InstancesGetSerialPortOutputCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instance: The instance name for this request.
+// - networkInterface: The name of the network interface to add to this
+// instance.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) AddAccessConfig(project string, zone string, instance string, networkInterface string, accessconfig *AccessConfig) *InstancesAddAccessConfigCall {
+ c := &InstancesAddAccessConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
+ c.urlParams_.Set("networkInterface", networkInterface)
+ c.accessconfig = accessconfig
return c
}
-// Port sets the optional parameter "port": Specifies which COM or serial port
-// to retrieve data from.
-func (c *InstancesGetSerialPortOutputCall) Port(port int64) *InstancesGetSerialPortOutputCall {
- c.urlParams_.Set("port", fmt.Sprint(port))
- return c
-}
-
-// Start sets the optional parameter "start": Specifies the starting byte
-// position of the output to return. To start with
-// the first byte of output to the specified port, omit this field or set it
-// to `0`.
-//
-// If the output for that byte position is available, this field matches
-// the
-// `start` parameter sent with the request. If the amount of serial
-// console
-// output exceeds the size of the buffer (1 MB), the oldest output is
-// discarded and is no longer available. If the requested start position
-// refers to discarded output, the start position is adjusted to the
-// oldest
-// output still available, and the adjusted start position is returned as
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
// the
-// `start` property value.
+// request if it has already been completed.
//
-// You can also provide a negative start position, which translates to the
-// most recent number of bytes written to the serial port. For example, -3
-// is
-// interpreted as the most recent 3 bytes written to the serial console.
-// Note
-// that the negative start is bounded by the retained buffer size, and
-// the
-// returned serial console output will not exceed the max buffer size.
-func (c *InstancesGetSerialPortOutputCall) Start(start int64) *InstancesGetSerialPortOutputCall {
- c.urlParams_.Set("start", fmt.Sprint(start))
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesAddAccessConfigCall) RequestId(requestId string) *InstancesAddAccessConfigCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesGetSerialPortOutputCall) Fields(s ...googleapi.Field) *InstancesGetSerialPortOutputCall {
+func (c *InstancesAddAccessConfigCall) Fields(s ...googleapi.Field) *InstancesAddAccessConfigCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstancesGetSerialPortOutputCall) IfNoneMatch(entityTag string) *InstancesGetSerialPortOutputCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstancesGetSerialPortOutputCall) Context(ctx context.Context) *InstancesGetSerialPortOutputCall {
+func (c *InstancesAddAccessConfigCall) Context(ctx context.Context) *InstancesAddAccessConfigCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesGetSerialPortOutputCall) Header() http.Header {
+func (c *InstancesAddAccessConfigCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstancesAddAccessConfigCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.accessconfig)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/serialPort")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -39739,17 +39311,16 @@ func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getSerialPortOutput", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.addAccessConfig", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.getSerialPortOutput" call.
+// Do executes the "compute.instances.addAccessConfig" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SerialPortOutput.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstancesGetSerialPortOutputCall) Do(opts ...googleapi.CallOption) (*SerialPortOutput, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesAddAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -39768,7 +39339,7 @@ func (c *InstancesGetSerialPortOutputCall) Do(opts ...googleapi.CallOption) (*Se
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SerialPortOutput{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -39779,76 +39350,93 @@ func (c *InstancesGetSerialPortOutputCall) Do(opts ...googleapi.CallOption) (*Se
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getSerialPortOutput", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.addAccessConfig", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesGetShieldedInstanceIdentityCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstancesAddNetworkInterfaceCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ networkinterface *NetworkInterface
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetShieldedInstanceIdentity: Returns the Shielded Instance Identity of an
-// instance
+// AddNetworkInterface: Adds one dynamic network interface to an active
+// instance.
//
-// - instance: Name or id of the instance scoping this request.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) GetShieldedInstanceIdentity(project string, zone string, instance string) *InstancesGetShieldedInstanceIdentityCall {
- c := &InstancesGetShieldedInstanceIdentityCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instance: The instance name for this request stored as resource_id.
+// Name should conform to RFC1035 or be an unsigned long integer.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) AddNetworkInterface(project string, zone string, instance string, networkinterface *NetworkInterface) *InstancesAddNetworkInterfaceCall {
+ c := &InstancesAddNetworkInterfaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
+ c.networkinterface = networkinterface
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesAddNetworkInterfaceCall) RequestId(requestId string) *InstancesAddNetworkInterfaceCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesGetShieldedInstanceIdentityCall) Fields(s ...googleapi.Field) *InstancesGetShieldedInstanceIdentityCall {
+func (c *InstancesAddNetworkInterfaceCall) Fields(s ...googleapi.Field) *InstancesAddNetworkInterfaceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstancesGetShieldedInstanceIdentityCall) IfNoneMatch(entityTag string) *InstancesGetShieldedInstanceIdentityCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstancesGetShieldedInstanceIdentityCall) Context(ctx context.Context) *InstancesGetShieldedInstanceIdentityCall {
+func (c *InstancesAddNetworkInterfaceCall) Context(ctx context.Context) *InstancesAddNetworkInterfaceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesGetShieldedInstanceIdentityCall) Header() http.Header {
+func (c *InstancesAddNetworkInterfaceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesGetShieldedInstanceIdentityCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstancesAddNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkinterface)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -39858,17 +39446,16 @@ func (c *InstancesGetShieldedInstanceIdentityCall) doRequest(alt string) (*http.
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getShieldedInstanceIdentity", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.addNetworkInterface", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.getShieldedInstanceIdentity" call.
+// Do executes the "compute.instances.addNetworkInterface" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ShieldedInstanceIdentity.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstancesGetShieldedInstanceIdentityCall) Do(opts ...googleapi.CallOption) (*ShieldedInstanceIdentity, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesAddNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -39887,7 +39474,7 @@ func (c *InstancesGetShieldedInstanceIdentityCall) Do(opts ...googleapi.CallOpti
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ShieldedInstanceIdentity{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -39897,32 +39484,37 @@ func (c *InstancesGetShieldedInstanceIdentityCall) Do(opts ...googleapi.CallOpti
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getShieldedInstanceIdentity", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InstancesInsertCall struct {
- s *Service
- project string
- zone string
- instance *Instance
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.addNetworkInterface", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// Insert: Creates an instance resource in the specified project using the
-// data
-// included in the request.
+type InstancesAddResourcePoliciesCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancesaddresourcepoliciesrequest *InstancesAddResourcePoliciesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AddResourcePolicies: Adds existing resource policies to an instance. You can
+// only add one
+// policy right now which will be applied to this instance for scheduling
+// live
+// migrations.
//
+// - instance: The instance name for this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) Insert(project string, zone string, instance *Instance) *InstancesInsertCall {
- c := &InstancesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) AddResourcePolicies(project string, zone string, instance string, instancesaddresourcepoliciesrequest *InstancesAddResourcePoliciesRequest) *InstancesAddResourcePoliciesCall {
+ c := &InstancesAddResourcePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
+ c.instancesaddresourcepoliciesrequest = instancesaddresourcepoliciesrequest
return c
}
@@ -39943,77 +39535,43 @@ func (r *InstancesService) Insert(project string, zone string, instance *Instanc
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesInsertCall) RequestId(requestId string) *InstancesInsertCall {
+func (c *InstancesAddResourcePoliciesCall) RequestId(requestId string) *InstancesAddResourcePoliciesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// SourceInstanceTemplate sets the optional parameter "sourceInstanceTemplate":
-// Specifies instance template to create the instance.
-//
-// This field is optional. It can be a full or partial URL. For example,
-// the
-// following are all valid URLs to an instance template:
-//
-// -
-//
-// https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate
-// - projects/project/global/instanceTemplates/instanceTemplate
-// - global/instanceTemplates/instanceTemplate
-func (c *InstancesInsertCall) SourceInstanceTemplate(sourceInstanceTemplate string) *InstancesInsertCall {
- c.urlParams_.Set("sourceInstanceTemplate", sourceInstanceTemplate)
- return c
-}
-
-// SourceMachineImage sets the optional parameter "sourceMachineImage":
-// Specifies the machine image to use to create the instance.
-//
-// This field is optional. It can be a full or partial URL. For example,
-// the
-// following are all valid URLs to a machine image:
-//
-// -
-//
-// https://www.googleapis.com/compute/v1/projects/project/global/global/machineImages/machineImage
-// - projects/project/global/global/machineImages/machineImage
-// - global/machineImages/machineImage
-func (c *InstancesInsertCall) SourceMachineImage(sourceMachineImage string) *InstancesInsertCall {
- c.urlParams_.Set("sourceMachineImage", sourceMachineImage)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesInsertCall) Fields(s ...googleapi.Field) *InstancesInsertCall {
+func (c *InstancesAddResourcePoliciesCall) Fields(s ...googleapi.Field) *InstancesAddResourcePoliciesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesInsertCall) Context(ctx context.Context) *InstancesInsertCall {
+func (c *InstancesAddResourcePoliciesCall) Context(ctx context.Context) *InstancesAddResourcePoliciesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesInsertCall) Header() http.Header {
+func (c *InstancesAddResourcePoliciesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instance)
+func (c *InstancesAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesaddresourcepoliciesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -40021,19 +39579,20 @@ func (c *InstancesInsertCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.addResourcePolicies", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.insert" call.
+// Do executes the "compute.instances.addResourcePolicies" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesAddResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -40063,29 +39622,35 @@ func (c *InstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.addResourcePolicies", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesListCall struct {
+type InstancesAggregatedListCall struct {
s *Service
project string
- zone string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of instances contained within
-// the specified zone.
+// AggregatedList: Retrieves an aggregated list of all of the instances in your
+// project
+// across all regions and zones.
+//
+// The performance of this method degrades when a filter is specified on
+// a
+// project that has a very large number of instances.
+//
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) List(project string, zone string) *InstancesListCall {
- c := &InstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) AggregatedList(project string) *InstancesAggregatedListCall {
+ c := &InstancesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
return c
}
@@ -40156,11 +39721,29 @@ func (r *InstancesService) List(project string, zone string) *InstancesListCall
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InstancesListCall) Filter(filter string) *InstancesListCall {
+func (c *InstancesAggregatedListCall) Filter(filter string) *InstancesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *InstancesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstancesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -40168,7 +39751,7 @@ func (c *InstancesListCall) Filter(filter string) *InstancesListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
+func (c *InstancesAggregatedListCall) MaxResults(maxResults int64) *InstancesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -40188,7 +39771,7 @@ func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InstancesListCall) OrderBy(orderBy string) *InstancesListCall {
+func (c *InstancesAggregatedListCall) OrderBy(orderBy string) *InstancesAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -40197,30 +39780,23 @@ func (c *InstancesListCall) OrderBy(orderBy string) *InstancesListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InstancesListCall) PageToken(pageToken string) *InstancesListCall {
+func (c *InstancesAggregatedListCall) PageToken(pageToken string) *InstancesAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstancesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstancesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *InstancesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstancesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesListCall) Fields(s ...googleapi.Field) *InstancesListCall {
+func (c *InstancesAggregatedListCall) Fields(s ...googleapi.Field) *InstancesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -40228,34 +39804,34 @@ func (c *InstancesListCall) Fields(s ...googleapi.Field) *InstancesListCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InstancesListCall) IfNoneMatch(entityTag string) *InstancesListCall {
+func (c *InstancesAggregatedListCall) IfNoneMatch(entityTag string) *InstancesAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesListCall) Context(ctx context.Context) *InstancesListCall {
+func (c *InstancesAggregatedListCall) Context(ctx context.Context) *InstancesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesListCall) Header() http.Header {
+func (c *InstancesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instances")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -40264,18 +39840,18 @@ func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.list" call.
+// Do executes the "compute.instances.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceList.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesListCall) Do(opts ...googleapi.CallOption) (*InstanceList, error) {
+// *InstanceAggregatedList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstanceAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -40294,7 +39870,7 @@ func (c *InstancesListCall) Do(opts ...googleapi.CallOption) (*InstanceList, err
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceList{
+ ret := &InstanceAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -40305,14 +39881,14 @@ func (c *InstancesListCall) Do(opts ...googleapi.CallOption) (*InstanceList, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InstancesListCall) Pages(ctx context.Context, f func(*InstanceList) error) error {
+func (c *InstancesAggregatedListCall) Pages(ctx context.Context, f func(*InstanceAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -40330,209 +39906,101 @@ func (c *InstancesListCall) Pages(ctx context.Context, f func(*InstanceList) err
}
}
-type InstancesListReferrersCall struct {
+type InstancesAttachDiskCall struct {
s *Service
project string
zone string
instance string
+ attacheddisk *AttachedDisk
urlParams_ gensupport.URLParams
- ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// ListReferrers: Retrieves a list of resources that refer to the VM instance
-// specified in
-// the request. For example, if the VM instance is part of a managed
-// or
-// unmanaged instance group, the referrers list includes the instance
-// group.
-// For more information, readViewing
-// referrers to VM instances.
-//
-// - instance: Name of the target instance scoping this request, or '-' if
-// the
+// AttachDisk: Attaches an existing Disk resource to an instance. You must
+// first
+// create the disk before you can attach it. It is not possible to create
+// and attach a disk at the same time. For more information, readAdding
+// a
+// persistent disk to your instance.
//
-// request should span over all instances in the container.
+// - instance: The instance name for this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) ListReferrers(project string, zone string, instance string) *InstancesListReferrersCall {
- c := &InstancesListReferrersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) AttachDisk(project string, zone string, instance string, attacheddisk *AttachedDisk) *InstancesAttachDiskCall {
+ c := &InstancesAttachDiskCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
+ c.attacheddisk = attacheddisk
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstancesListReferrersCall) Filter(filter string) *InstancesListReferrersCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstancesListReferrersCall) MaxResults(maxResults int64) *InstancesListReferrersCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// ForceAttach sets the optional parameter "forceAttach": Whether to force
+// attach the regional disk even if it's currently attached
+// to another instance. If you try to force attach a zonal disk to an
+// instance, you will receive an error.
+func (c *InstancesAttachDiskCall) ForceAttach(forceAttach bool) *InstancesAttachDiskCall {
+ c.urlParams_.Set("forceAttach", fmt.Sprint(forceAttach))
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstancesListReferrersCall) OrderBy(orderBy string) *InstancesListReferrersCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstancesListReferrersCall) PageToken(pageToken string) *InstancesListReferrersCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstancesListReferrersCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstancesListReferrersCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesAttachDiskCall) RequestId(requestId string) *InstancesAttachDiskCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesListReferrersCall) Fields(s ...googleapi.Field) *InstancesListReferrersCall {
+func (c *InstancesAttachDiskCall) Fields(s ...googleapi.Field) *InstancesAttachDiskCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstancesListReferrersCall) IfNoneMatch(entityTag string) *InstancesListReferrersCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstancesListReferrersCall) Context(ctx context.Context) *InstancesListReferrersCall {
+func (c *InstancesAttachDiskCall) Context(ctx context.Context) *InstancesAttachDiskCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesListReferrersCall) Header() http.Header {
+func (c *InstancesAttachDiskCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesListReferrersCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstancesAttachDiskCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.attacheddisk)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/referrers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/attachDisk")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -40542,17 +40010,16 @@ func (c *InstancesListReferrersCall) doRequest(alt string) (*http.Response, erro
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.listReferrers", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.attachDisk", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.listReferrers" call.
+// Do executes the "compute.instances.attachDisk" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceListReferrers.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstancesListReferrersCall) Do(opts ...googleapi.CallOption) (*InstanceListReferrers, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesAttachDiskCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -40571,7 +40038,7 @@ func (c *InstancesListReferrersCall) Do(opts ...googleapi.CallOption) (*Instance
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceListReferrers{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -40582,51 +40049,32 @@ func (c *InstancesListReferrersCall) Do(opts ...googleapi.CallOption) (*Instance
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.listReferrers", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.attachDisk", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstancesListReferrersCall) Pages(ctx context.Context, f func(*InstanceListReferrers) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InstancesPerformMaintenanceCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesBulkInsertCall struct {
+ s *Service
+ project string
+ zone string
+ bulkinsertinstanceresource *BulkInsertInstanceResource
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// PerformMaintenance: Perform a manual maintenance on the instance.
+// BulkInsert: Creates multiple instances. Count specifies the number of
+// instances to
+// create. For more information, seeAbout bulk
+// creation of VMs.
//
-// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) PerformMaintenance(project string, zone string, instance string) *InstancesPerformMaintenanceCall {
- c := &InstancesPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) BulkInsert(project string, zone string, bulkinsertinstanceresource *BulkInsertInstanceResource) *InstancesBulkInsertCall {
+ c := &InstancesBulkInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instance = instance
+ c.bulkinsertinstanceresource = bulkinsertinstanceresource
return c
}
@@ -40647,7 +40095,7 @@ func (r *InstancesService) PerformMaintenance(project string, zone string, insta
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesPerformMaintenanceCall) RequestId(requestId string) *InstancesPerformMaintenanceCall {
+func (c *InstancesBulkInsertCall) RequestId(requestId string) *InstancesBulkInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -40655,52 +40103,55 @@ func (c *InstancesPerformMaintenanceCall) RequestId(requestId string) *Instances
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesPerformMaintenanceCall) Fields(s ...googleapi.Field) *InstancesPerformMaintenanceCall {
+func (c *InstancesBulkInsertCall) Fields(s ...googleapi.Field) *InstancesBulkInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesPerformMaintenanceCall) Context(ctx context.Context) *InstancesPerformMaintenanceCall {
+func (c *InstancesBulkInsertCall) Context(ctx context.Context) *InstancesBulkInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesPerformMaintenanceCall) Header() http.Header {
+func (c *InstancesBulkInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesBulkInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.bulkinsertinstanceresource)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/bulkInsert")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.performMaintenance", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.bulkInsert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.performMaintenance" call.
+// Do executes the "compute.instances.bulkInsert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -40730,32 +40181,39 @@ func (c *InstancesPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.performMaintenance", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.bulkInsert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesRemoveResourcePoliciesCall struct {
- s *Service
- project string
- zone string
- instance string
- instancesremoveresourcepoliciesrequest *InstancesRemoveResourcePoliciesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesDeleteCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RemoveResourcePolicies: Removes resource policies from an instance.
+// Delete: Deletes the specified Instance resource. For more information,
+// seeDeleting
+// an instance.
//
-// - instance: The instance name for this request.
+// - instance: Name of the instance resource to delete.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) RemoveResourcePolicies(project string, zone string, instance string, instancesremoveresourcepoliciesrequest *InstancesRemoveResourcePoliciesRequest) *InstancesRemoveResourcePoliciesCall {
- c := &InstancesRemoveResourcePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) Delete(project string, zone string, instance string) *InstancesDeleteCall {
+ c := &InstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instancesremoveresourcepoliciesrequest = instancesremoveresourcepoliciesrequest
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": If set
+// to true, Graceful Shutdown is skipped.
+func (c *InstancesDeleteCall) NoGracefulShutdown(noGracefulShutdown bool) *InstancesDeleteCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
return c
}
@@ -40776,7 +40234,7 @@ func (r *InstancesService) RemoveResourcePolicies(project string, zone string, i
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesRemoveResourcePoliciesCall) RequestId(requestId string) *InstancesRemoveResourcePoliciesCall {
+func (c *InstancesDeleteCall) RequestId(requestId string) *InstancesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -40784,37 +40242,33 @@ func (c *InstancesRemoveResourcePoliciesCall) RequestId(requestId string) *Insta
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesRemoveResourcePoliciesCall) Fields(s ...googleapi.Field) *InstancesRemoveResourcePoliciesCall {
+func (c *InstancesDeleteCall) Fields(s ...googleapi.Field) *InstancesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesRemoveResourcePoliciesCall) Context(ctx context.Context) *InstancesRemoveResourcePoliciesCall {
+func (c *InstancesDeleteCall) Context(ctx context.Context) *InstancesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesRemoveResourcePoliciesCall) Header() http.Header {
+func (c *InstancesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesremoveresourcepoliciesrequest)
- if err != nil {
- return nil, err
- }
+func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
@@ -40824,16 +40278,16 @@ func (c *InstancesRemoveResourcePoliciesCall) doRequest(alt string) (*http.Respo
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.removeResourcePolicies", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.removeResourcePolicies" call.
+// Do executes the "compute.instances.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesRemoveResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -40863,33 +40317,35 @@ func (c *InstancesRemoveResourcePoliciesCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.removeResourcePolicies", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesReportHostAsFaultyCall struct {
- s *Service
- project string
- zone string
- instance string
- instancesreporthostasfaultyrequest *InstancesReportHostAsFaultyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesDeleteAccessConfigCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ReportHostAsFaulty: Mark the host as faulty and try to restart the instance
-// on a new host.
+// DeleteAccessConfig: Deletes an access config from an instance's network
+// interface.
//
-// - instance: Name of the instance scoping this request.
+// - accessConfig: The name of the access config to delete.
+// - instance: The instance name for this request.
+// - networkInterface: The name of the network interface.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) ReportHostAsFaulty(project string, zone string, instance string, instancesreporthostasfaultyrequest *InstancesReportHostAsFaultyRequest) *InstancesReportHostAsFaultyCall {
- c := &InstancesReportHostAsFaultyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) DeleteAccessConfig(project string, zone string, instance string, accessConfig string, networkInterface string) *InstancesDeleteAccessConfigCall {
+ c := &InstancesDeleteAccessConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instancesreporthostasfaultyrequest = instancesreporthostasfaultyrequest
+ c.urlParams_.Set("accessConfig", accessConfig)
+ c.urlParams_.Set("networkInterface", networkInterface)
return c
}
@@ -40910,7 +40366,7 @@ func (r *InstancesService) ReportHostAsFaulty(project string, zone string, insta
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesReportHostAsFaultyCall) RequestId(requestId string) *InstancesReportHostAsFaultyCall {
+func (c *InstancesDeleteAccessConfigCall) RequestId(requestId string) *InstancesDeleteAccessConfigCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -40918,37 +40374,33 @@ func (c *InstancesReportHostAsFaultyCall) RequestId(requestId string) *Instances
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesReportHostAsFaultyCall) Fields(s ...googleapi.Field) *InstancesReportHostAsFaultyCall {
+func (c *InstancesDeleteAccessConfigCall) Fields(s ...googleapi.Field) *InstancesDeleteAccessConfigCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesReportHostAsFaultyCall) Context(ctx context.Context) *InstancesReportHostAsFaultyCall {
+func (c *InstancesDeleteAccessConfigCall) Context(ctx context.Context) *InstancesDeleteAccessConfigCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesReportHostAsFaultyCall) Header() http.Header {
+func (c *InstancesDeleteAccessConfigCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesReportHostAsFaultyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesreporthostasfaultyrequest)
- if err != nil {
- return nil, err
- }
+func (c *InstancesDeleteAccessConfigCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -40958,16 +40410,16 @@ func (c *InstancesReportHostAsFaultyCall) doRequest(alt string) (*http.Response,
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.reportHostAsFaulty", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.deleteAccessConfig", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.reportHostAsFaulty" call.
+// Do executes the "compute.instances.deleteAccessConfig" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesReportHostAsFaultyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesDeleteAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -40997,11 +40449,11 @@ func (c *InstancesReportHostAsFaultyCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.reportHostAsFaulty", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.deleteAccessConfig", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesResetCall struct {
+type InstancesDeleteNetworkInterfaceCall struct {
s *Service
project string
zone string
@@ -41011,18 +40463,26 @@ type InstancesResetCall struct {
header_ http.Header
}
-// Reset: Performs a reset on the instance. This is a hard reset. The VM
-// does not do a graceful shutdown. For more information, seeResetting
-// an instance.
+// DeleteNetworkInterface: Deletes one dynamic network interface from an active
+// instance.
+// InstancesDeleteNetworkInterfaceRequest indicates:
+// - instance from which to delete, using project+zone+resource_id fields;
+// - dynamic network interface to be deleted, using
+// network_interface_name
+// field;
//
-// - instance: Name of the instance scoping this request.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) Reset(project string, zone string, instance string) *InstancesResetCall {
- c := &InstancesResetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instance: The instance name for this request stored as resource_id.
+// Name should conform to RFC1035 or be an unsigned long integer.
+// - networkInterfaceName: The name of the dynamic network interface to be
+// deleted from the instance.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) DeleteNetworkInterface(project string, zone string, instance string, networkInterfaceName string) *InstancesDeleteNetworkInterfaceCall {
+ c := &InstancesDeleteNetworkInterfaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
+ c.urlParams_.Set("networkInterfaceName", networkInterfaceName)
return c
}
@@ -41043,7 +40503,7 @@ func (r *InstancesService) Reset(project string, zone string, instance string) *
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesResetCall) RequestId(requestId string) *InstancesResetCall {
+func (c *InstancesDeleteNetworkInterfaceCall) RequestId(requestId string) *InstancesDeleteNetworkInterfaceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -41051,31 +40511,31 @@ func (c *InstancesResetCall) RequestId(requestId string) *InstancesResetCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesResetCall) Fields(s ...googleapi.Field) *InstancesResetCall {
+func (c *InstancesDeleteNetworkInterfaceCall) Fields(s ...googleapi.Field) *InstancesDeleteNetworkInterfaceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesResetCall) Context(ctx context.Context) *InstancesResetCall {
+func (c *InstancesDeleteNetworkInterfaceCall) Context(ctx context.Context) *InstancesDeleteNetworkInterfaceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesResetCall) Header() http.Header {
+func (c *InstancesDeleteNetworkInterfaceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesDeleteNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/reset")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, nil)
if err != nil {
@@ -41087,16 +40547,16 @@ func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.reset", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.deleteNetworkInterface", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.reset" call.
+// Do executes the "compute.instances.deleteNetworkInterface" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesDeleteNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -41126,11 +40586,11 @@ func (c *InstancesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.reset", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.deleteNetworkInterface", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesResumeCall struct {
+type InstancesDetachDiskCall struct {
s *Service
project string
zone string
@@ -41140,18 +40600,21 @@ type InstancesResumeCall struct {
header_ http.Header
}
-// Resume: Resumes an instance that was suspended using
-// theinstances().suspend
-// method.
+// DetachDisk: Detaches a disk from an instance.
//
-// - instance: Name of the instance resource to resume.
+// - deviceName: The device name of the disk to detach. Make a get() request
+// on
+//
+// the instance to view currently attached disks and device names.
+// - instance: Instance name for this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) Resume(project string, zone string, instance string) *InstancesResumeCall {
- c := &InstancesResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) DetachDisk(project string, zone string, instance string, deviceName string) *InstancesDetachDiskCall {
+ c := &InstancesDetachDiskCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
+ c.urlParams_.Set("deviceName", deviceName)
return c
}
@@ -41172,7 +40635,7 @@ func (r *InstancesService) Resume(project string, zone string, instance string)
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesResumeCall) RequestId(requestId string) *InstancesResumeCall {
+func (c *InstancesDetachDiskCall) RequestId(requestId string) *InstancesDetachDiskCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -41180,31 +40643,31 @@ func (c *InstancesResumeCall) RequestId(requestId string) *InstancesResumeCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesResumeCall) Fields(s ...googleapi.Field) *InstancesResumeCall {
+func (c *InstancesDetachDiskCall) Fields(s ...googleapi.Field) *InstancesDetachDiskCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesResumeCall) Context(ctx context.Context) *InstancesResumeCall {
+func (c *InstancesDetachDiskCall) Context(ctx context.Context) *InstancesDetachDiskCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesResumeCall) Header() http.Header {
+func (c *InstancesDetachDiskCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesResumeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesDetachDiskCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/resume")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/detachDisk")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, nil)
if err != nil {
@@ -41216,16 +40679,16 @@ func (c *InstancesResumeCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.resume", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.detachDisk", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.resume" call.
+// Do executes the "compute.instances.detachDisk" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesResumeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesDetachDiskCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -41255,27 +40718,28 @@ func (c *InstancesResumeCall) Do(opts ...googleapi.CallOption) (*Operation, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.resume", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.detachDisk", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSendDiagnosticInterruptCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesGetCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SendDiagnosticInterrupt: Sends diagnostic interrupt to the instance.
+// Get: Returns the specified Instance resource.
//
-// - instance: Name of the instance scoping this request.
+// - instance: Name of the instance resource to return.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SendDiagnosticInterrupt(project string, zone string, instance string) *InstancesSendDiagnosticInterruptCall {
- c := &InstancesSendDiagnosticInterruptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) Get(project string, zone string, instance string) *InstancesGetCall {
+ c := &InstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
@@ -41285,33 +40749,44 @@ func (r *InstancesService) SendDiagnosticInterrupt(project string, zone string,
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSendDiagnosticInterruptCall) Fields(s ...googleapi.Field) *InstancesSendDiagnosticInterruptCall {
+func (c *InstancesGetCall) Fields(s ...googleapi.Field) *InstancesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesGetCall) IfNoneMatch(entityTag string) *InstancesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSendDiagnosticInterruptCall) Context(ctx context.Context) *InstancesSendDiagnosticInterruptCall {
+func (c *InstancesGetCall) Context(ctx context.Context) *InstancesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSendDiagnosticInterruptCall) Header() http.Header {
+func (c *InstancesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSendDiagnosticInterruptCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -41321,107 +40796,118 @@ func (c *InstancesSendDiagnosticInterruptCall) doRequest(alt string) (*http.Resp
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.sendDiagnosticInterrupt", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.sendDiagnosticInterrupt" call.
-func (c *InstancesSendDiagnosticInterruptCall) Do(opts ...googleapi.CallOption) error {
+// Do executes the "compute.instances.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Instance.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
if err != nil {
- return err
+ return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
- return gensupport.WrapError(err)
+ return nil, gensupport.WrapError(err)
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.sendDiagnosticInterrupt", "response", internallog.HTTPResponse(res, nil))
- return nil
+ ret := &Instance{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-type InstancesSetDeletionProtectionCall struct {
- s *Service
- project string
- zone string
- resource string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesGetEffectiveFirewallsCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetDeletionProtection: Sets deletion protection on the instance.
+// GetEffectiveFirewalls: Returns effective firewalls applied to an interface
+// of the instance.
//
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) SetDeletionProtection(project string, zone string, resource string) *InstancesSetDeletionProtectionCall {
- c := &InstancesSetDeletionProtectionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instance: Name of the instance scoping this request.
+// - networkInterface: The name of the network interface to get the effective
+// firewalls.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) GetEffectiveFirewalls(project string, zone string, instance string, networkInterface string) *InstancesGetEffectiveFirewallsCall {
+ c := &InstancesGetEffectiveFirewallsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- return c
-}
-
-// DeletionProtection sets the optional parameter "deletionProtection": Whether
-// the resource should be protected against deletion.
-func (c *InstancesSetDeletionProtectionCall) DeletionProtection(deletionProtection bool) *InstancesSetDeletionProtectionCall {
- c.urlParams_.Set("deletionProtection", fmt.Sprint(deletionProtection))
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetDeletionProtectionCall) RequestId(requestId string) *InstancesSetDeletionProtectionCall {
- c.urlParams_.Set("requestId", requestId)
+ c.instance = instance
+ c.urlParams_.Set("networkInterface", networkInterface)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetDeletionProtectionCall) Fields(s ...googleapi.Field) *InstancesSetDeletionProtectionCall {
+func (c *InstancesGetEffectiveFirewallsCall) Fields(s ...googleapi.Field) *InstancesGetEffectiveFirewallsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesGetEffectiveFirewallsCall) IfNoneMatch(entityTag string) *InstancesGetEffectiveFirewallsCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetDeletionProtectionCall) Context(ctx context.Context) *InstancesSetDeletionProtectionCall {
+func (c *InstancesGetEffectiveFirewallsCall) Context(ctx context.Context) *InstancesGetEffectiveFirewallsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetDeletionProtectionCall) Header() http.Header {
+func (c *InstancesGetEffectiveFirewallsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetDeletionProtectionCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -41429,18 +40915,19 @@ func (c *InstancesSetDeletionProtectionCall) doRequest(alt string) (*http.Respon
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "resource": c.resource,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setDeletionProtection", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getEffectiveFirewalls", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setDeletionProtection" call.
+// Do executes the "compute.instances.getEffectiveFirewalls" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetDeletionProtectionCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstancesGetEffectiveFirewallsResponse.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstancesGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*InstancesGetEffectiveFirewallsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -41459,7 +40946,7 @@ func (c *InstancesSetDeletionProtectionCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstancesGetEffectiveFirewallsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -41470,91 +40957,89 @@ func (c *InstancesSetDeletionProtectionCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setDeletionProtection", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getEffectiveFirewalls", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetDiskAutoDeleteCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesGetGuestAttributesCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetDiskAutoDelete: Sets the auto-delete flag for a disk attached to an
-// instance.
+// GetGuestAttributes: Returns the specified guest attributes entry.
//
-// - autoDelete: Whether to auto-delete the disk when the instance is deleted.
-// - deviceName: The device name of the disk to modify. Make a get() request
-// on the instance to view currently attached disks and device names.
-// - instance: The instance name for this request.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) SetDiskAutoDelete(project string, zone string, instance string, autoDelete bool, deviceName string) *InstancesSetDiskAutoDeleteCall {
- c := &InstancesSetDiskAutoDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instance: Name of the instance scoping this request.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) GetGuestAttributes(project string, zone string, instance string) *InstancesGetGuestAttributesCall {
+ c := &InstancesGetGuestAttributesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.urlParams_.Set("autoDelete", fmt.Sprint(autoDelete))
- c.urlParams_.Set("deviceName", deviceName)
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetDiskAutoDeleteCall) RequestId(requestId string) *InstancesSetDiskAutoDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+// QueryPath sets the optional parameter "queryPath": Specifies the guest
+// attributes path to be queried.
+func (c *InstancesGetGuestAttributesCall) QueryPath(queryPath string) *InstancesGetGuestAttributesCall {
+ c.urlParams_.Set("queryPath", queryPath)
+ return c
+}
+
+// VariableKey sets the optional parameter "variableKey": Specifies the key for
+// the guest attributes entry.
+func (c *InstancesGetGuestAttributesCall) VariableKey(variableKey string) *InstancesGetGuestAttributesCall {
+ c.urlParams_.Set("variableKey", variableKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetDiskAutoDeleteCall) Fields(s ...googleapi.Field) *InstancesSetDiskAutoDeleteCall {
+func (c *InstancesGetGuestAttributesCall) Fields(s ...googleapi.Field) *InstancesGetGuestAttributesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesGetGuestAttributesCall) IfNoneMatch(entityTag string) *InstancesGetGuestAttributesCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetDiskAutoDeleteCall) Context(ctx context.Context) *InstancesSetDiskAutoDeleteCall {
+func (c *InstancesGetGuestAttributesCall) Context(ctx context.Context) *InstancesGetGuestAttributesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetDiskAutoDeleteCall) Header() http.Header {
+func (c *InstancesGetGuestAttributesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesGetGuestAttributesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -41564,16 +41049,17 @@ func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response,
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setDiskAutoDelete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getGuestAttributes", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setDiskAutoDelete" call.
+// Do executes the "compute.instances.getGuestAttributes" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetDiskAutoDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *GuestAttributes.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstancesGetGuestAttributesCall) Do(opts ...googleapi.CallOption) (*GuestAttributes, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -41592,7 +41078,7 @@ func (c *InstancesSetDiskAutoDeleteCall) Do(opts ...googleapi.CallOption) (*Oper
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &GuestAttributes{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -41603,71 +41089,84 @@ func (c *InstancesSetDiskAutoDeleteCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setDiskAutoDelete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getGuestAttributes", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetIamPolicyCall struct {
- s *Service
- project string
- zone string
- resource string
- zonesetpolicyrequest *ZoneSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesGetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *InstancesSetIamPolicyCall {
- c := &InstancesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) GetIamPolicy(project string, zone string, resource string) *InstancesGetIamPolicyCall {
+ c := &InstancesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.resource = resource
- c.zonesetpolicyrequest = zonesetpolicyrequest
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *InstancesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InstancesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetIamPolicyCall) Fields(s ...googleapi.Field) *InstancesSetIamPolicyCall {
+func (c *InstancesGetIamPolicyCall) Fields(s ...googleapi.Field) *InstancesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesGetIamPolicyCall) IfNoneMatch(entityTag string) *InstancesGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetIamPolicyCall) Context(ctx context.Context) *InstancesSetIamPolicyCall {
+func (c *InstancesGetIamPolicyCall) Context(ctx context.Context) *InstancesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetIamPolicyCall) Header() http.Header {
+func (c *InstancesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
- if err != nil {
- return nil, err
+func (c *InstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -41677,16 +41176,16 @@ func (c *InstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error
"zone": c.zone,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setIamPolicy" call.
+// Do executes the "compute.instances.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstancesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -41716,93 +41215,75 @@ func (c *InstancesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetLabelsCall struct {
- s *Service
- project string
- zone string
- instance string
- instancessetlabelsrequest *InstancesSetLabelsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesGetScreenshotCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetLabels: Sets labels on an instance. To learn more about labels, read
-// theLabeling
-// Resources documentation.
+// GetScreenshot: Returns the screenshot from the specified instance.
//
// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetLabels(project string, zone string, instance string, instancessetlabelsrequest *InstancesSetLabelsRequest) *InstancesSetLabelsCall {
- c := &InstancesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) GetScreenshot(project string, zone string, instance string) *InstancesGetScreenshotCall {
+ c := &InstancesGetScreenshotCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instancessetlabelsrequest = instancessetlabelsrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetLabelsCall) RequestId(requestId string) *InstancesSetLabelsCall {
- c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetLabelsCall) Fields(s ...googleapi.Field) *InstancesSetLabelsCall {
+func (c *InstancesGetScreenshotCall) Fields(s ...googleapi.Field) *InstancesGetScreenshotCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesGetScreenshotCall) IfNoneMatch(entityTag string) *InstancesGetScreenshotCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetLabelsCall) Context(ctx context.Context) *InstancesSetLabelsCall {
+func (c *InstancesGetScreenshotCall) Context(ctx context.Context) *InstancesGetScreenshotCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetLabelsCall) Header() http.Header {
+func (c *InstancesGetScreenshotCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetlabelsrequest)
- if err != nil {
- return nil, err
+func (c *InstancesGetScreenshotCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/screenshot")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -41812,16 +41293,16 @@ func (c *InstancesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getScreenshot", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setLabels" call.
+// Do executes the "compute.instances.getScreenshot" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Screenshot.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesGetScreenshotCall) Do(opts ...googleapi.CallOption) (*Screenshot, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -41840,7 +41321,7 @@ func (c *InstancesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Screenshot{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -41851,93 +41332,113 @@ func (c *InstancesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getScreenshot", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetMachineResourcesCall struct {
- s *Service
- project string
- zone string
- instance string
- instancessetmachineresourcesrequest *InstancesSetMachineResourcesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesGetSerialPortOutputCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetMachineResources: Changes the number and/or type of accelerator for a
-// stopped instance to the
-// values specified in the request.
+// GetSerialPortOutput: Returns the last 1 MB of serial port output from the
+// specified instance.
//
-// - instance: Name of the instance scoping this request.
+// - instance: Name of the instance for this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetMachineResources(project string, zone string, instance string, instancessetmachineresourcesrequest *InstancesSetMachineResourcesRequest) *InstancesSetMachineResourcesCall {
- c := &InstancesSetMachineResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) GetSerialPortOutput(project string, zone string, instance string) *InstancesGetSerialPortOutputCall {
+ c := &InstancesGetSerialPortOutputCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instancessetmachineresourcesrequest = instancessetmachineresourcesrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Port sets the optional parameter "port": Specifies which COM or serial port
+// to retrieve data from.
+func (c *InstancesGetSerialPortOutputCall) Port(port int64) *InstancesGetSerialPortOutputCall {
+ c.urlParams_.Set("port", fmt.Sprint(port))
+ return c
+}
+
+// Start sets the optional parameter "start": Specifies the starting byte
+// position of the output to return. To start with
+// the first byte of output to the specified port, omit this field or set it
+// to `0`.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If the output for that byte position is available, this field matches
+// the
+// `start` parameter sent with the request. If the amount of serial
+// console
+// output exceeds the size of the buffer (1 MB), the oldest output is
+// discarded and is no longer available. If the requested start position
+// refers to discarded output, the start position is adjusted to the
+// oldest
+// output still available, and the adjusted start position is returned as
+// the
+// `start` property value.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetMachineResourcesCall) RequestId(requestId string) *InstancesSetMachineResourcesCall {
- c.urlParams_.Set("requestId", requestId)
+// You can also provide a negative start position, which translates to the
+// most recent number of bytes written to the serial port. For example, -3
+// is
+// interpreted as the most recent 3 bytes written to the serial console.
+// Note
+// that the negative start is bounded by the retained buffer size, and
+// the
+// returned serial console output will not exceed the max buffer size.
+func (c *InstancesGetSerialPortOutputCall) Start(start int64) *InstancesGetSerialPortOutputCall {
+ c.urlParams_.Set("start", fmt.Sprint(start))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetMachineResourcesCall) Fields(s ...googleapi.Field) *InstancesSetMachineResourcesCall {
+func (c *InstancesGetSerialPortOutputCall) Fields(s ...googleapi.Field) *InstancesGetSerialPortOutputCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesGetSerialPortOutputCall) IfNoneMatch(entityTag string) *InstancesGetSerialPortOutputCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetMachineResourcesCall) Context(ctx context.Context) *InstancesSetMachineResourcesCall {
+func (c *InstancesGetSerialPortOutputCall) Context(ctx context.Context) *InstancesGetSerialPortOutputCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetMachineResourcesCall) Header() http.Header {
+func (c *InstancesGetSerialPortOutputCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetMachineResourcesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetmachineresourcesrequest)
- if err != nil {
- return nil, err
+func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/serialPort")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -41947,16 +41448,17 @@ func (c *InstancesSetMachineResourcesCall) doRequest(alt string) (*http.Response
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setMachineResources", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getSerialPortOutput", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setMachineResources" call.
+// Do executes the "compute.instances.getSerialPortOutput" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetMachineResourcesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *SerialPortOutput.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstancesGetSerialPortOutputCall) Do(opts ...googleapi.CallOption) (*SerialPortOutput, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -41975,7 +41477,7 @@ func (c *InstancesSetMachineResourcesCall) Do(opts ...googleapi.CallOption) (*Op
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &SerialPortOutput{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -41986,93 +41488,76 @@ func (c *InstancesSetMachineResourcesCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setMachineResources", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getSerialPortOutput", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetMachineTypeCall struct {
- s *Service
- project string
- zone string
- instance string
- instancessetmachinetyperequest *InstancesSetMachineTypeRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesGetShieldedInstanceIdentityCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetMachineType: Changes the machine type for a stopped instance to the
-// machine
-// type specified in the request.
+// GetShieldedInstanceIdentity: Returns the Shielded Instance Identity of an
+// instance
//
-// - instance: Name of the instance scoping this request.
+// - instance: Name or id of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetMachineType(project string, zone string, instance string, instancessetmachinetyperequest *InstancesSetMachineTypeRequest) *InstancesSetMachineTypeCall {
- c := &InstancesSetMachineTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) GetShieldedInstanceIdentity(project string, zone string, instance string) *InstancesGetShieldedInstanceIdentityCall {
+ c := &InstancesGetShieldedInstanceIdentityCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instancessetmachinetyperequest = instancessetmachinetyperequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetMachineTypeCall) RequestId(requestId string) *InstancesSetMachineTypeCall {
- c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetMachineTypeCall) Fields(s ...googleapi.Field) *InstancesSetMachineTypeCall {
+func (c *InstancesGetShieldedInstanceIdentityCall) Fields(s ...googleapi.Field) *InstancesGetShieldedInstanceIdentityCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesGetShieldedInstanceIdentityCall) IfNoneMatch(entityTag string) *InstancesGetShieldedInstanceIdentityCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetMachineTypeCall) Context(ctx context.Context) *InstancesSetMachineTypeCall {
+func (c *InstancesGetShieldedInstanceIdentityCall) Context(ctx context.Context) *InstancesGetShieldedInstanceIdentityCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetMachineTypeCall) Header() http.Header {
+func (c *InstancesGetShieldedInstanceIdentityCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetMachineTypeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetmachinetyperequest)
- if err != nil {
- return nil, err
+func (c *InstancesGetShieldedInstanceIdentityCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setMachineType")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -42082,16 +41567,17 @@ func (c *InstancesSetMachineTypeCall) doRequest(alt string) (*http.Response, err
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setMachineType", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.getShieldedInstanceIdentity", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setMachineType" call.
+// Do executes the "compute.instances.getShieldedInstanceIdentity" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetMachineTypeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *ShieldedInstanceIdentity.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstancesGetShieldedInstanceIdentityCall) Do(opts ...googleapi.CallOption) (*ShieldedInstanceIdentity, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -42110,7 +41596,7 @@ func (c *InstancesSetMachineTypeCall) Do(opts ...googleapi.CallOption) (*Operati
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &ShieldedInstanceIdentity{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -42121,34 +41607,31 @@ func (c *InstancesSetMachineTypeCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setMachineType", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.getShieldedInstanceIdentity", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetMetadataCall struct {
+type InstancesInsertCall struct {
s *Service
project string
zone string
- instance string
- metadata *Metadata
+ instance *Instance
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// SetMetadata: Sets metadata for the specified instance to the data
-// included
-// in the request.
+// Insert: Creates an instance resource in the specified project using the
+// data
+// included in the request.
//
-// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetMetadata(project string, zone string, instance string, metadata *Metadata) *InstancesSetMetadataCall {
- c := &InstancesSetMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) Insert(project string, zone string, instance *Instance) *InstancesInsertCall {
+ c := &InstancesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.metadata = metadata
return c
}
@@ -42169,43 +41652,77 @@ func (r *InstancesService) SetMetadata(project string, zone string, instance str
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetMetadataCall) RequestId(requestId string) *InstancesSetMetadataCall {
+func (c *InstancesInsertCall) RequestId(requestId string) *InstancesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// SourceInstanceTemplate sets the optional parameter "sourceInstanceTemplate":
+// Specifies instance template to create the instance.
+//
+// This field is optional. It can be a full or partial URL. For example,
+// the
+// following are all valid URLs to an instance template:
+//
+// -
+//
+// https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate
+// - projects/project/global/instanceTemplates/instanceTemplate
+// - global/instanceTemplates/instanceTemplate
+func (c *InstancesInsertCall) SourceInstanceTemplate(sourceInstanceTemplate string) *InstancesInsertCall {
+ c.urlParams_.Set("sourceInstanceTemplate", sourceInstanceTemplate)
+ return c
+}
+
+// SourceMachineImage sets the optional parameter "sourceMachineImage":
+// Specifies the machine image to use to create the instance.
+//
+// This field is optional. It can be a full or partial URL. For example,
+// the
+// following are all valid URLs to a machine image:
+//
+// -
+//
+// https://www.googleapis.com/compute/v1/projects/project/global/global/machineImages/machineImage
+// - projects/project/global/global/machineImages/machineImage
+// - global/machineImages/machineImage
+func (c *InstancesInsertCall) SourceMachineImage(sourceMachineImage string) *InstancesInsertCall {
+ c.urlParams_.Set("sourceMachineImage", sourceMachineImage)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetMetadataCall) Fields(s ...googleapi.Field) *InstancesSetMetadataCall {
+func (c *InstancesInsertCall) Fields(s ...googleapi.Field) *InstancesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetMetadataCall) Context(ctx context.Context) *InstancesSetMetadataCall {
+func (c *InstancesInsertCall) Context(ctx context.Context) *InstancesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetMetadataCall) Header() http.Header {
+func (c *InstancesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetMetadataCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.metadata)
+func (c *InstancesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instance)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setMetadata")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -42213,20 +41730,19 @@ func (c *InstancesSetMetadataCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setMetadata", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setMetadata" call.
+// Do executes the "compute.instances.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetMetadataCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -42256,115 +41772,204 @@ func (c *InstancesSetMetadataCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setMetadata", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetMinCpuPlatformCall struct {
- s *Service
- project string
- zone string
- instance string
- instancessetmincpuplatformrequest *InstancesSetMinCpuPlatformRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesListCall struct {
+ s *Service
+ project string
+ zone string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetMinCpuPlatform: Changes the minimum CPU platform that this instance
-// should use.
-// This method can only
-// be called on a stopped instance. For more information, readSpecifying
-// a
-// Minimum CPU Platform.
+// List: Retrieves the list of instances contained within
+// the specified zone.
//
-// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetMinCpuPlatform(project string, zone string, instance string, instancessetmincpuplatformrequest *InstancesSetMinCpuPlatformRequest) *InstancesSetMinCpuPlatformCall {
- c := &InstancesSetMinCpuPlatformCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) List(project string, zone string) *InstancesListCall {
+ c := &InstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instance = instance
- c.instancessetmincpuplatformrequest = instancessetmincpuplatformrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetMinCpuPlatformCall) RequestId(requestId string) *InstancesSetMinCpuPlatformCall {
- c.urlParams_.Set("requestId", requestId)
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InstancesListCall) Filter(filter string) *InstancesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InstancesListCall) OrderBy(orderBy string) *InstancesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InstancesListCall) PageToken(pageToken string) *InstancesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetMinCpuPlatformCall) Fields(s ...googleapi.Field) *InstancesSetMinCpuPlatformCall {
+func (c *InstancesListCall) Fields(s ...googleapi.Field) *InstancesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesListCall) IfNoneMatch(entityTag string) *InstancesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetMinCpuPlatformCall) Context(ctx context.Context) *InstancesSetMinCpuPlatformCall {
+func (c *InstancesListCall) Context(ctx context.Context) *InstancesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetMinCpuPlatformCall) Header() http.Header {
+func (c *InstancesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetMinCpuPlatformCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetmincpuplatformrequest)
- if err != nil {
- return nil, err
+func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instance": c.instance,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setMinCpuPlatform", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setMinCpuPlatform" call.
+// Do executes the "compute.instances.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *InstanceList.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetMinCpuPlatformCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesListCall) Do(opts ...googleapi.CallOption) (*InstanceList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -42383,7 +41988,7 @@ func (c *InstancesSetMinCpuPlatformCall) Do(opts ...googleapi.CallOption) (*Oper
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -42394,91 +41999,219 @@ func (c *InstancesSetMinCpuPlatformCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setMinCpuPlatform", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetNameCall struct {
- s *Service
- project string
- zone string
- instance string
- instancessetnamerequest *InstancesSetNameRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstancesListCall) Pages(ctx context.Context, f func(*InstanceList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// SetName: Sets name of an instance.
+type InstancesListReferrersCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListReferrers: Retrieves a list of resources that refer to the VM instance
+// specified in
+// the request. For example, if the VM instance is part of a managed
+// or
+// unmanaged instance group, the referrers list includes the instance
+// group.
+// For more information, readViewing
+// referrers to VM instances.
//
-// - instance: The instance name for this request.
+// - instance: Name of the target instance scoping this request, or '-' if
+// the
+//
+// request should span over all instances in the container.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetName(project string, zone string, instance string, instancessetnamerequest *InstancesSetNameRequest) *InstancesSetNameCall {
- c := &InstancesSetNameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) ListReferrers(project string, zone string, instance string) *InstancesListReferrersCall {
+ c := &InstancesListReferrersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instancessetnamerequest = instancessetnamerequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetNameCall) RequestId(requestId string) *InstancesSetNameCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InstancesListReferrersCall) Filter(filter string) *InstancesListReferrersCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InstancesListReferrersCall) MaxResults(maxResults int64) *InstancesListReferrersCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InstancesListReferrersCall) OrderBy(orderBy string) *InstancesListReferrersCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InstancesListReferrersCall) PageToken(pageToken string) *InstancesListReferrersCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetNameCall) Fields(s ...googleapi.Field) *InstancesSetNameCall {
+func (c *InstancesListReferrersCall) Fields(s ...googleapi.Field) *InstancesListReferrersCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstancesListReferrersCall) IfNoneMatch(entityTag string) *InstancesListReferrersCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetNameCall) Context(ctx context.Context) *InstancesSetNameCall {
+func (c *InstancesListReferrersCall) Context(ctx context.Context) *InstancesListReferrersCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetNameCall) Header() http.Header {
+func (c *InstancesListReferrersCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetNameCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetnamerequest)
- if err != nil {
- return nil, err
+func (c *InstancesListReferrersCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setName")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/referrers")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -42488,16 +42221,17 @@ func (c *InstancesSetNameCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setName", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.listReferrers", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setName" call.
+// Do executes the "compute.instances.listReferrers" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetNameCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceListReferrers.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstancesListReferrersCall) Do(opts ...googleapi.CallOption) (*InstanceListReferrers, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -42516,7 +42250,7 @@ func (c *InstancesSetNameCall) Do(opts ...googleapi.CallOption) (*Operation, err
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceListReferrers{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -42527,38 +42261,51 @@ func (c *InstancesSetNameCall) Do(opts ...googleapi.CallOption) (*Operation, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setName", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.listReferrers", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetSchedulingCall struct {
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstancesListReferrersCall) Pages(ctx context.Context, f func(*InstanceListReferrers) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type InstancesPerformMaintenanceCall struct {
s *Service
project string
zone string
instance string
- scheduling *Scheduling
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// SetScheduling: Sets an instance's scheduling options. You can only call this
-// method on astopped instance,
-// that is, a VM instance that is in a `TERMINATED` state. SeeInstance
-// Life
-// Cycle for more information on the possible instance states.
-// For more information about setting scheduling options for a VM, seeSet
-// VM host maintenance policy.
+// PerformMaintenance: Perform a manual maintenance on the instance.
//
-// - instance: Instance name for this request.
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetScheduling(project string, zone string, instance string, scheduling *Scheduling) *InstancesSetSchedulingCall {
- c := &InstancesSetSchedulingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) PerformMaintenance(project string, zone string, instance string) *InstancesPerformMaintenanceCall {
+ c := &InstancesPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.scheduling = scheduling
return c
}
@@ -42579,7 +42326,7 @@ func (r *InstancesService) SetScheduling(project string, zone string, instance s
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetSchedulingCall) RequestId(requestId string) *InstancesSetSchedulingCall {
+func (c *InstancesPerformMaintenanceCall) RequestId(requestId string) *InstancesPerformMaintenanceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -42587,37 +42334,33 @@ func (c *InstancesSetSchedulingCall) RequestId(requestId string) *InstancesSetSc
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetSchedulingCall) Fields(s ...googleapi.Field) *InstancesSetSchedulingCall {
+func (c *InstancesPerformMaintenanceCall) Fields(s ...googleapi.Field) *InstancesPerformMaintenanceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetSchedulingCall) Context(ctx context.Context) *InstancesSetSchedulingCall {
+func (c *InstancesPerformMaintenanceCall) Context(ctx context.Context) *InstancesPerformMaintenanceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetSchedulingCall) Header() http.Header {
+func (c *InstancesPerformMaintenanceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetSchedulingCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.scheduling)
- if err != nil {
- return nil, err
- }
+func (c *InstancesPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setScheduling")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -42627,16 +42370,16 @@ func (c *InstancesSetSchedulingCall) doRequest(alt string) (*http.Response, erro
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setScheduling", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.performMaintenance", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setScheduling" call.
+// Do executes the "compute.instances.performMaintenance" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetSchedulingCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -42666,38 +42409,32 @@ func (c *InstancesSetSchedulingCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setScheduling", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.performMaintenance", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetSecurityPolicyCall struct {
- s *Service
- project string
- zone string
- instance string
- instancessetsecuritypolicyrequest *InstancesSetSecurityPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesRemoveResourcePoliciesCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancesremoveresourcepoliciesrequest *InstancesRemoveResourcePoliciesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetSecurityPolicy: Sets the Google Cloud Armor security policy for the
-// specified instance.
-// For more information, seeGoogle
-// Cloud Armor Overview
-//
-// - instance: Name of the Instance resource to which the security policy
-// should be
+// RemoveResourcePolicies: Removes resource policies from an instance.
//
-// set. The name should conform to RFC1035.
+// - instance: The instance name for this request.
// - project: Project ID for this request.
-// - zone: Name of the zone scoping this request.
-func (r *InstancesService) SetSecurityPolicy(project string, zone string, instance string, instancessetsecuritypolicyrequest *InstancesSetSecurityPolicyRequest) *InstancesSetSecurityPolicyCall {
- c := &InstancesSetSecurityPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *InstancesService) RemoveResourcePolicies(project string, zone string, instance string, instancesremoveresourcepoliciesrequest *InstancesRemoveResourcePoliciesRequest) *InstancesRemoveResourcePoliciesCall {
+ c := &InstancesRemoveResourcePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instancessetsecuritypolicyrequest = instancessetsecuritypolicyrequest
+ c.instancesremoveresourcepoliciesrequest = instancesremoveresourcepoliciesrequest
return c
}
@@ -42718,7 +42455,7 @@ func (r *InstancesService) SetSecurityPolicy(project string, zone string, instan
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetSecurityPolicyCall) RequestId(requestId string) *InstancesSetSecurityPolicyCall {
+func (c *InstancesRemoveResourcePoliciesCall) RequestId(requestId string) *InstancesRemoveResourcePoliciesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -42726,35 +42463,35 @@ func (c *InstancesSetSecurityPolicyCall) RequestId(requestId string) *InstancesS
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetSecurityPolicyCall) Fields(s ...googleapi.Field) *InstancesSetSecurityPolicyCall {
+func (c *InstancesRemoveResourcePoliciesCall) Fields(s ...googleapi.Field) *InstancesRemoveResourcePoliciesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetSecurityPolicyCall) Context(ctx context.Context) *InstancesSetSecurityPolicyCall {
+func (c *InstancesRemoveResourcePoliciesCall) Context(ctx context.Context) *InstancesRemoveResourcePoliciesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetSecurityPolicyCall) Header() http.Header {
+func (c *InstancesRemoveResourcePoliciesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetsecuritypolicyrequest)
+func (c *InstancesRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesremoveresourcepoliciesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -42766,16 +42503,16 @@ func (c *InstancesSetSecurityPolicyCall) doRequest(alt string) (*http.Response,
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setSecurityPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.removeResourcePolicies", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setSecurityPolicy" call.
+// Do executes the "compute.instances.removeResourcePolicies" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetSecurityPolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesRemoveResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -42805,35 +42542,33 @@ func (c *InstancesSetSecurityPolicyCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setSecurityPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.removeResourcePolicies", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetServiceAccountCall struct {
- s *Service
- project string
- zone string
- instance string
- instancessetserviceaccountrequest *InstancesSetServiceAccountRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesReportHostAsFaultyCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancesreporthostasfaultyrequest *InstancesReportHostAsFaultyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetServiceAccount: Sets the service account on the instance. For more
-// information,
-// readChanging
-// the service account and access scopes for an instance.
+// ReportHostAsFaulty: Mark the host as faulty and try to restart the instance
+// on a new host.
//
-// - instance: Name of the instance resource to start.
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetServiceAccount(project string, zone string, instance string, instancessetserviceaccountrequest *InstancesSetServiceAccountRequest) *InstancesSetServiceAccountCall {
- c := &InstancesSetServiceAccountCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) ReportHostAsFaulty(project string, zone string, instance string, instancesreporthostasfaultyrequest *InstancesReportHostAsFaultyRequest) *InstancesReportHostAsFaultyCall {
+ c := &InstancesReportHostAsFaultyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instancessetserviceaccountrequest = instancessetserviceaccountrequest
+ c.instancesreporthostasfaultyrequest = instancesreporthostasfaultyrequest
return c
}
@@ -42854,7 +42589,7 @@ func (r *InstancesService) SetServiceAccount(project string, zone string, instan
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetServiceAccountCall) RequestId(requestId string) *InstancesSetServiceAccountCall {
+func (c *InstancesReportHostAsFaultyCall) RequestId(requestId string) *InstancesReportHostAsFaultyCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -42862,35 +42597,35 @@ func (c *InstancesSetServiceAccountCall) RequestId(requestId string) *InstancesS
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetServiceAccountCall) Fields(s ...googleapi.Field) *InstancesSetServiceAccountCall {
+func (c *InstancesReportHostAsFaultyCall) Fields(s ...googleapi.Field) *InstancesReportHostAsFaultyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetServiceAccountCall) Context(ctx context.Context) *InstancesSetServiceAccountCall {
+func (c *InstancesReportHostAsFaultyCall) Context(ctx context.Context) *InstancesReportHostAsFaultyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetServiceAccountCall) Header() http.Header {
+func (c *InstancesReportHostAsFaultyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetServiceAccountCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetserviceaccountrequest)
+func (c *InstancesReportHostAsFaultyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesreporthostasfaultyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -42902,16 +42637,16 @@ func (c *InstancesSetServiceAccountCall) doRequest(alt string) (*http.Response,
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setServiceAccount", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.reportHostAsFaulty", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setServiceAccount" call.
+// Do executes the "compute.instances.reportHostAsFaulty" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetServiceAccountCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesReportHostAsFaultyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -42941,36 +42676,32 @@ func (c *InstancesSetServiceAccountCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setServiceAccount", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.reportHostAsFaulty", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetShieldedInstanceIntegrityPolicyCall struct {
- s *Service
- project string
- zone string
- instance string
- shieldedinstanceintegritypolicy *ShieldedInstanceIntegrityPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesResetCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetShieldedInstanceIntegrityPolicy: Sets the Shielded Instance integrity
-// policy for an instance. You can
-// only use this method on a running instance. This method
-// supports PATCH semantics and uses the JSON merge
-// patch format and processing rules.
+// Reset: Performs a reset on the instance. This is a hard reset. The VM
+// does not do a graceful shutdown. For more information, seeResetting
+// an instance.
//
-// - instance: Name or id of the instance scoping this request.
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetShieldedInstanceIntegrityPolicy(project string, zone string, instance string, shieldedinstanceintegritypolicy *ShieldedInstanceIntegrityPolicy) *InstancesSetShieldedInstanceIntegrityPolicyCall {
- c := &InstancesSetShieldedInstanceIntegrityPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) Reset(project string, zone string, instance string) *InstancesResetCall {
+ c := &InstancesResetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.shieldedinstanceintegritypolicy = shieldedinstanceintegritypolicy
return c
}
@@ -42991,7 +42722,7 @@ func (r *InstancesService) SetShieldedInstanceIntegrityPolicy(project string, zo
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) RequestId(requestId string) *InstancesSetShieldedInstanceIntegrityPolicyCall {
+func (c *InstancesResetCall) RequestId(requestId string) *InstancesResetCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -42999,37 +42730,33 @@ func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) RequestId(requestId st
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Fields(s ...googleapi.Field) *InstancesSetShieldedInstanceIntegrityPolicyCall {
+func (c *InstancesResetCall) Fields(s ...googleapi.Field) *InstancesResetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Context(ctx context.Context) *InstancesSetShieldedInstanceIntegrityPolicyCall {
+func (c *InstancesResetCall) Context(ctx context.Context) *InstancesResetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Header() http.Header {
+func (c *InstancesResetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.shieldedinstanceintegritypolicy)
- if err != nil {
- return nil, err
- }
+func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/reset")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -43039,16 +42766,16 @@ func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) doRequest(alt string)
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setShieldedInstanceIntegrityPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.reset", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setShieldedInstanceIntegrityPolicy" call.
+// Do executes the "compute.instances.reset" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -43078,33 +42805,32 @@ func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setShieldedInstanceIntegrityPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.reset", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSetTagsCall struct {
+type InstancesResumeCall struct {
s *Service
project string
zone string
instance string
- tags *Tags
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// SetTags: Sets network tags
-// for the specified instance to the data included in the request.
+// Resume: Resumes an instance that was suspended using
+// theinstances().suspend
+// method.
//
-// - instance: Name of the instance scoping this request.
+// - instance: Name of the instance resource to resume.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SetTags(project string, zone string, instance string, tags *Tags) *InstancesSetTagsCall {
- c := &InstancesSetTagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) Resume(project string, zone string, instance string) *InstancesResumeCall {
+ c := &InstancesResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.tags = tags
return c
}
@@ -43125,7 +42851,7 @@ func (r *InstancesService) SetTags(project string, zone string, instance string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSetTagsCall) RequestId(requestId string) *InstancesSetTagsCall {
+func (c *InstancesResumeCall) RequestId(requestId string) *InstancesResumeCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -43133,37 +42859,33 @@ func (c *InstancesSetTagsCall) RequestId(requestId string) *InstancesSetTagsCall
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSetTagsCall) Fields(s ...googleapi.Field) *InstancesSetTagsCall {
+func (c *InstancesResumeCall) Fields(s ...googleapi.Field) *InstancesResumeCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSetTagsCall) Context(ctx context.Context) *InstancesSetTagsCall {
+func (c *InstancesResumeCall) Context(ctx context.Context) *InstancesResumeCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSetTagsCall) Header() http.Header {
+func (c *InstancesResumeCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSetTagsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.tags)
- if err != nil {
- return nil, err
- }
+func (c *InstancesResumeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setTags")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/resume")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -43173,16 +42895,16 @@ func (c *InstancesSetTagsCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setTags", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.resume", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.setTags" call.
+// Do executes the "compute.instances.resume" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSetTagsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesResumeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -43212,11 +42934,11 @@ func (c *InstancesSetTagsCall) Do(opts ...googleapi.CallOption) (*Operation, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setTags", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.resume", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSimulateMaintenanceEventCall struct {
+type InstancesSendDiagnosticInterruptCall struct {
s *Service
project string
zone string
@@ -43226,21 +42948,107 @@ type InstancesSimulateMaintenanceEventCall struct {
header_ http.Header
}
-// SimulateMaintenanceEvent: Simulates a host maintenance event on a VM. For
-// more information, see
-// Simulate a host maintenance event.
+// SendDiagnosticInterrupt: Sends diagnostic interrupt to the instance.
//
// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) SimulateMaintenanceEvent(project string, zone string, instance string) *InstancesSimulateMaintenanceEventCall {
- c := &InstancesSimulateMaintenanceEventCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SendDiagnosticInterrupt(project string, zone string, instance string) *InstancesSendDiagnosticInterruptCall {
+ c := &InstancesSendDiagnosticInterruptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
return c
}
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InstancesSendDiagnosticInterruptCall) Fields(s ...googleapi.Field) *InstancesSendDiagnosticInterruptCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *InstancesSendDiagnosticInterruptCall) Context(ctx context.Context) *InstancesSendDiagnosticInterruptCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InstancesSendDiagnosticInterruptCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstancesSendDiagnosticInterruptCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.sendDiagnosticInterrupt", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instances.sendDiagnosticInterrupt" call.
+func (c *InstancesSendDiagnosticInterruptCall) Do(opts ...googleapi.CallOption) error {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if err != nil {
+ return err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return gensupport.WrapError(err)
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.sendDiagnosticInterrupt", "response", internallog.HTTPResponse(res, nil))
+ return nil
+}
+
+type InstancesSetDeletionProtectionCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetDeletionProtection: Sets deletion protection on the instance.
+//
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) SetDeletionProtection(project string, zone string, resource string) *InstancesSetDeletionProtectionCall {
+ c := &InstancesSetDeletionProtectionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.resource = resource
+ return c
+}
+
+// DeletionProtection sets the optional parameter "deletionProtection": Whether
+// the resource should be protected against deletion.
+func (c *InstancesSetDeletionProtectionCall) DeletionProtection(deletionProtection bool) *InstancesSetDeletionProtectionCall {
+ c.urlParams_.Set("deletionProtection", fmt.Sprint(deletionProtection))
+ return c
+}
+
// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore
@@ -43258,48 +43066,39 @@ func (r *InstancesService) SimulateMaintenanceEvent(project string, zone string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSimulateMaintenanceEventCall) RequestId(requestId string) *InstancesSimulateMaintenanceEventCall {
+func (c *InstancesSetDeletionProtectionCall) RequestId(requestId string) *InstancesSetDeletionProtectionCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// WithExtendedNotifications sets the optional parameter
-// "withExtendedNotifications": Determines whether the customers receive
-// notifications before migration.
-// Only applicable to SF vms.
-func (c *InstancesSimulateMaintenanceEventCall) WithExtendedNotifications(withExtendedNotifications bool) *InstancesSimulateMaintenanceEventCall {
- c.urlParams_.Set("withExtendedNotifications", fmt.Sprint(withExtendedNotifications))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSimulateMaintenanceEventCall) Fields(s ...googleapi.Field) *InstancesSimulateMaintenanceEventCall {
+func (c *InstancesSetDeletionProtectionCall) Fields(s ...googleapi.Field) *InstancesSetDeletionProtectionCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSimulateMaintenanceEventCall) Context(ctx context.Context) *InstancesSimulateMaintenanceEventCall {
+func (c *InstancesSetDeletionProtectionCall) Context(ctx context.Context) *InstancesSetDeletionProtectionCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSimulateMaintenanceEventCall) Header() http.Header {
+func (c *InstancesSetDeletionProtectionCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSimulateMaintenanceEventCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesSetDeletionProtectionCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, nil)
if err != nil {
@@ -43309,18 +43108,18 @@ func (c *InstancesSimulateMaintenanceEventCall) doRequest(alt string) (*http.Res
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "instance": c.instance,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.simulateMaintenanceEvent", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setDeletionProtection", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.simulateMaintenanceEvent" call.
+// Do executes the "compute.instances.setDeletionProtection" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSimulateMaintenanceEventCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetDeletionProtectionCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -43350,11 +43149,11 @@ func (c *InstancesSimulateMaintenanceEventCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.simulateMaintenanceEvent", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setDeletionProtection", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesStartCall struct {
+type InstancesSetDiskAutoDeleteCall struct {
s *Service
project string
zone string
@@ -43364,18 +43163,22 @@ type InstancesStartCall struct {
header_ http.Header
}
-// Start: Starts an instance that was stopped using theinstances().stop
-// method. For more information, seeRestart an
+// SetDiskAutoDelete: Sets the auto-delete flag for a disk attached to an
// instance.
//
-// - instance: Name of the instance resource to start.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) Start(project string, zone string, instance string) *InstancesStartCall {
- c := &InstancesStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - autoDelete: Whether to auto-delete the disk when the instance is deleted.
+// - deviceName: The device name of the disk to modify. Make a get() request
+// on the instance to view currently attached disks and device names.
+// - instance: The instance name for this request.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) SetDiskAutoDelete(project string, zone string, instance string, autoDelete bool, deviceName string) *InstancesSetDiskAutoDeleteCall {
+ c := &InstancesSetDiskAutoDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
+ c.urlParams_.Set("autoDelete", fmt.Sprint(autoDelete))
+ c.urlParams_.Set("deviceName", deviceName)
return c
}
@@ -43396,7 +43199,7 @@ func (r *InstancesService) Start(project string, zone string, instance string) *
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesStartCall) RequestId(requestId string) *InstancesStartCall {
+func (c *InstancesSetDiskAutoDeleteCall) RequestId(requestId string) *InstancesSetDiskAutoDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -43404,31 +43207,31 @@ func (c *InstancesStartCall) RequestId(requestId string) *InstancesStartCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesStartCall) Fields(s ...googleapi.Field) *InstancesStartCall {
+func (c *InstancesSetDiskAutoDeleteCall) Fields(s ...googleapi.Field) *InstancesSetDiskAutoDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesStartCall) Context(ctx context.Context) *InstancesStartCall {
+func (c *InstancesSetDiskAutoDeleteCall) Context(ctx context.Context) *InstancesSetDiskAutoDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesStartCall) Header() http.Header {
+func (c *InstancesSetDiskAutoDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/start")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, nil)
if err != nil {
@@ -43440,16 +43243,16 @@ func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.start", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setDiskAutoDelete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.start" call.
+// Do executes the "compute.instances.setDiskAutoDelete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetDiskAutoDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -43479,92 +43282,69 @@ func (c *InstancesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.start", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setDiskAutoDelete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesStartWithEncryptionKeyCall struct {
- s *Service
- project string
- zone string
- instance string
- instancesstartwithencryptionkeyrequest *InstancesStartWithEncryptionKeyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ zonesetpolicyrequest *ZoneSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// StartWithEncryptionKey: Starts an instance that was stopped using
-// theinstances().stop
-// method. For more information, seeRestart an
-// instance.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - instance: Name of the instance resource to start.
// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) StartWithEncryptionKey(project string, zone string, instance string, instancesstartwithencryptionkeyrequest *InstancesStartWithEncryptionKeyRequest) *InstancesStartWithEncryptionKeyCall {
- c := &InstancesStartWithEncryptionKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *InstancesSetIamPolicyCall {
+ c := &InstancesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instance = instance
- c.instancesstartwithencryptionkeyrequest = instancesstartwithencryptionkeyrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesStartWithEncryptionKeyCall) RequestId(requestId string) *InstancesStartWithEncryptionKeyCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.zonesetpolicyrequest = zonesetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesStartWithEncryptionKeyCall) Fields(s ...googleapi.Field) *InstancesStartWithEncryptionKeyCall {
+func (c *InstancesSetIamPolicyCall) Fields(s ...googleapi.Field) *InstancesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesStartWithEncryptionKeyCall) Context(ctx context.Context) *InstancesStartWithEncryptionKeyCall {
+func (c *InstancesSetIamPolicyCall) Context(ctx context.Context) *InstancesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesStartWithEncryptionKeyCall) Header() http.Header {
+func (c *InstancesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesStartWithEncryptionKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesstartwithencryptionkeyrequest)
+func (c *InstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -43574,18 +43354,18 @@ func (c *InstancesStartWithEncryptionKeyCall) doRequest(alt string) (*http.Respo
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "instance": c.instance,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.startWithEncryptionKey", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.startWithEncryptionKey" call.
+// Do executes the "compute.instances.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesStartWithEncryptionKeyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -43604,7 +43384,7 @@ func (c *InstancesStartWithEncryptionKeyCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -43615,47 +43395,34 @@ func (c *InstancesStartWithEncryptionKeyCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.startWithEncryptionKey", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesStopCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetLabelsCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetlabelsrequest *InstancesSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Stop: Stops a running instance, shutting it down cleanly, and allows
-// you to restart the instance at a later time. Stopped instances do not
-// incur
-// VM usage charges while they are stopped. However, resources that the VM
-// is
-// using, such as persistent disks and static IP addresses, will continue to
-// be charged until they are deleted. For more information, seeStopping
-// an instance.
+// SetLabels: Sets labels on an instance. To learn more about labels, read
+// theLabeling
+// Resources documentation.
//
-// - instance: Name of the instance resource to stop.
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) Stop(project string, zone string, instance string) *InstancesStopCall {
- c := &InstancesStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetLabels(project string, zone string, instance string, instancessetlabelsrequest *InstancesSetLabelsRequest) *InstancesSetLabelsCall {
+ c := &InstancesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- return c
-}
-
-// DiscardLocalSsd sets the optional parameter "discardLocalSsd": This property
-// is required if the instance has any attached Local SSD disks.
-// If false, Local SSD data will be preserved when the instance is
-// suspended.
-// If true, the contents of any attached Local SSD disks will be discarded.
-func (c *InstancesStopCall) DiscardLocalSsd(discardLocalSsd bool) *InstancesStopCall {
- c.urlParams_.Set("discardLocalSsd", fmt.Sprint(discardLocalSsd))
+ c.instancessetlabelsrequest = instancessetlabelsrequest
return c
}
@@ -43676,7 +43443,7 @@ func (c *InstancesStopCall) DiscardLocalSsd(discardLocalSsd bool) *InstancesStop
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesStopCall) RequestId(requestId string) *InstancesStopCall {
+func (c *InstancesSetLabelsCall) RequestId(requestId string) *InstancesSetLabelsCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -43684,33 +43451,37 @@ func (c *InstancesStopCall) RequestId(requestId string) *InstancesStopCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesStopCall) Fields(s ...googleapi.Field) *InstancesStopCall {
+func (c *InstancesSetLabelsCall) Fields(s ...googleapi.Field) *InstancesSetLabelsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesStopCall) Context(ctx context.Context) *InstancesStopCall {
+func (c *InstancesSetLabelsCall) Context(ctx context.Context) *InstancesSetLabelsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesStopCall) Header() http.Header {
+func (c *InstancesSetLabelsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetlabelsrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/stop")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setLabels")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -43720,16 +43491,16 @@ func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.stop", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.stop" call.
+// Do executes the "compute.instances.setLabels" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -43759,51 +43530,34 @@ func (c *InstancesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.stop", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setLabels", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesSuspendCall struct {
- s *Service
- project string
- zone string
- instance string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetMachineResourcesCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetmachineresourcesrequest *InstancesSetMachineResourcesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Suspend: This method suspends a running instance, saving its state to
-// persistent
-// storage, and allows you to resume the instance at a later time.
-// Suspended
-// instances have no compute costs (cores or RAM), and incur only
-// storage
-// charges for the saved VM memory and localSSD data. Any charged resources
-// the virtual machine was using, such as persistent disks and static
-// IP
-// addresses, will continue to be charged while the instance is suspended.
-// For more information, see
-// Suspending and resuming an instance.
+// SetMachineResources: Changes the number and/or type of accelerator for a
+// stopped instance to the
+// values specified in the request.
//
-// - instance: Name of the instance resource to suspend.
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) Suspend(project string, zone string, instance string) *InstancesSuspendCall {
- c := &InstancesSuspendCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetMachineResources(project string, zone string, instance string, instancessetmachineresourcesrequest *InstancesSetMachineResourcesRequest) *InstancesSetMachineResourcesCall {
+ c := &InstancesSetMachineResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- return c
-}
-
-// DiscardLocalSsd sets the optional parameter "discardLocalSsd": This property
-// is required if the instance has any attached Local SSD disks.
-// If false, Local SSD data will be preserved when the instance is
-// suspended.
-// If true, the contents of any attached Local SSD disks will be discarded.
-func (c *InstancesSuspendCall) DiscardLocalSsd(discardLocalSsd bool) *InstancesSuspendCall {
- c.urlParams_.Set("discardLocalSsd", fmt.Sprint(discardLocalSsd))
+ c.instancessetmachineresourcesrequest = instancessetmachineresourcesrequest
return c
}
@@ -43824,7 +43578,7 @@ func (c *InstancesSuspendCall) DiscardLocalSsd(discardLocalSsd bool) *InstancesS
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesSuspendCall) RequestId(requestId string) *InstancesSuspendCall {
+func (c *InstancesSetMachineResourcesCall) RequestId(requestId string) *InstancesSetMachineResourcesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -43832,33 +43586,37 @@ func (c *InstancesSuspendCall) RequestId(requestId string) *InstancesSuspendCall
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesSuspendCall) Fields(s ...googleapi.Field) *InstancesSuspendCall {
+func (c *InstancesSetMachineResourcesCall) Fields(s ...googleapi.Field) *InstancesSetMachineResourcesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesSuspendCall) Context(ctx context.Context) *InstancesSuspendCall {
+func (c *InstancesSetMachineResourcesCall) Context(ctx context.Context) *InstancesSetMachineResourcesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesSuspendCall) Header() http.Header {
+func (c *InstancesSetMachineResourcesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesSuspendCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesSetMachineResourcesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetmachineresourcesrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/suspend")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -43868,16 +43626,16 @@ func (c *InstancesSuspendCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.suspend", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setMachineResources", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.suspend" call.
+// Do executes the "compute.instances.setMachineResources" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesSuspendCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetMachineResourcesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -43907,68 +43665,91 @@ func (c *InstancesSuspendCall) Do(opts ...googleapi.CallOption) (*Operation, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.suspend", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setMachineResources", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesTestIamPermissionsCall struct {
- s *Service
- project string
- zone string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetMachineTypeCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetmachinetyperequest *InstancesSetMachineTypeRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// SetMachineType: Changes the machine type for a stopped instance to the
+// machine
+// type specified in the request.
//
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstancesTestIamPermissionsCall {
- c := &InstancesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetMachineType(project string, zone string, instance string, instancessetmachinetyperequest *InstancesSetMachineTypeRequest) *InstancesSetMachineTypeCall {
+ c := &InstancesSetMachineTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.instance = instance
+ c.instancessetmachinetyperequest = instancessetmachinetyperequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesSetMachineTypeCall) RequestId(requestId string) *InstancesSetMachineTypeCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstancesTestIamPermissionsCall {
+func (c *InstancesSetMachineTypeCall) Fields(s ...googleapi.Field) *InstancesSetMachineTypeCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesTestIamPermissionsCall) Context(ctx context.Context) *InstancesTestIamPermissionsCall {
+func (c *InstancesSetMachineTypeCall) Context(ctx context.Context) *InstancesSetMachineTypeCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesTestIamPermissionsCall) Header() http.Header {
+func (c *InstancesSetMachineTypeCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *InstancesSetMachineTypeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetmachinetyperequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setMachineType")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -43978,19 +43759,18 @@ func (c *InstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response,
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "resource": c.resource,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setMachineType", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.testIamPermissions" call.
+// Do executes the "compute.instances.setMachineType" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesSetMachineTypeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -44009,7 +43789,7 @@ func (c *InstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Tes
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -44020,80 +43800,34 @@ func (c *InstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Tes
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setMachineType", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesUpdateCall struct {
+type InstancesSetMetadataCall struct {
s *Service
project string
zone string
instance string
- instance2 *Instance
+ metadata *Metadata
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// Update: Updates an instance only if the necessary resources are available.
-// This
-// method can update only a specific set of instance properties. See
-// Updating a running instance for a list of updatable instance
-// properties.
+// SetMetadata: Sets metadata for the specified instance to the data
+// included
+// in the request.
//
-// - instance: Name of the instance resource to update.
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) Update(project string, zone string, instance string, instance2 *Instance) *InstancesUpdateCall {
- c := &InstancesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetMetadata(project string, zone string, instance string, metadata *Metadata) *InstancesSetMetadataCall {
+ c := &InstancesSetMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.instance2 = instance2
- return c
-}
-
-// DiscardLocalSsd sets the optional parameter "discardLocalSsd": Whether to
-// discard local SSDs from the instance during restart
-// default value is false.
-func (c *InstancesUpdateCall) DiscardLocalSsd(discardLocalSsd bool) *InstancesUpdateCall {
- c.urlParams_.Set("discardLocalSsd", fmt.Sprint(discardLocalSsd))
- return c
-}
-
-// MinimalAction sets the optional parameter "minimalAction": Specifies the
-// action to take when updating an instance even if the
-// updated properties do not require it. If not specified, then
-// Compute Engine acts based on the minimum action that the updated
-// properties require.
-//
-// Possible values:
-//
-// "INVALID"
-// "NO_EFFECT" - No changes can be made to the instance.
-// "REFRESH" - The instance will not restart.
-// "RESTART" - The instance will restart, potentially on a different host.
-func (c *InstancesUpdateCall) MinimalAction(minimalAction string) *InstancesUpdateCall {
- c.urlParams_.Set("minimalAction", minimalAction)
- return c
-}
-
-// MostDisruptiveAllowedAction sets the optional parameter
-// "mostDisruptiveAllowedAction": Specifies the most disruptive action that can
-// be taken on the instance
-// as part of the update. Compute Engine returns an error if the
-// instance properties require a more disruptive action as part of the
-// instance update. Valid options from lowest to highest are
-// NO_EFFECT, REFRESH, and RESTART.
-//
-// Possible values:
-//
-// "INVALID"
-// "NO_EFFECT" - No changes can be made to the instance.
-// "REFRESH" - The instance will not restart.
-// "RESTART" - The instance will restart, potentially on a different host.
-func (c *InstancesUpdateCall) MostDisruptiveAllowedAction(mostDisruptiveAllowedAction string) *InstancesUpdateCall {
- c.urlParams_.Set("mostDisruptiveAllowedAction", mostDisruptiveAllowedAction)
+ c.metadata = metadata
return c
}
@@ -44114,7 +43848,7 @@ func (c *InstancesUpdateCall) MostDisruptiveAllowedAction(mostDisruptiveAllowedA
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesUpdateCall) RequestId(requestId string) *InstancesUpdateCall {
+func (c *InstancesSetMetadataCall) RequestId(requestId string) *InstancesSetMetadataCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -44122,37 +43856,37 @@ func (c *InstancesUpdateCall) RequestId(requestId string) *InstancesUpdateCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesUpdateCall) Fields(s ...googleapi.Field) *InstancesUpdateCall {
+func (c *InstancesSetMetadataCall) Fields(s ...googleapi.Field) *InstancesSetMetadataCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesUpdateCall) Context(ctx context.Context) *InstancesUpdateCall {
+func (c *InstancesSetMetadataCall) Context(ctx context.Context) *InstancesSetMetadataCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesUpdateCall) Header() http.Header {
+func (c *InstancesSetMetadataCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instance2)
+func (c *InstancesSetMetadataCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.metadata)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setMetadata")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PUT", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -44162,16 +43896,16 @@ func (c *InstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setMetadata", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.update" call.
+// Do executes the "compute.instances.setMetadata" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetMetadataCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -44201,39 +43935,37 @@ func (c *InstancesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setMetadata", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesUpdateAccessConfigCall struct {
- s *Service
- project string
- zone string
- instance string
- accessconfig *AccessConfig
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetMinCpuPlatformCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetmincpuplatformrequest *InstancesSetMinCpuPlatformRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// UpdateAccessConfig: Updates the specified access config from an instance's
-// network interface
-// with the data included in the request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// SetMinCpuPlatform: Changes the minimum CPU platform that this instance
+// should use.
+// This method can only
+// be called on a stopped instance. For more information, readSpecifying
+// a
+// Minimum CPU Platform.
//
-// - instance: The instance name for this request.
-// - networkInterface: The name of the network interface where the access
-// config is attached.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) UpdateAccessConfig(project string, zone string, instance string, networkInterface string, accessconfig *AccessConfig) *InstancesUpdateAccessConfigCall {
- c := &InstancesUpdateAccessConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instance: Name of the instance scoping this request.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) SetMinCpuPlatform(project string, zone string, instance string, instancessetmincpuplatformrequest *InstancesSetMinCpuPlatformRequest) *InstancesSetMinCpuPlatformCall {
+ c := &InstancesSetMinCpuPlatformCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.urlParams_.Set("networkInterface", networkInterface)
- c.accessconfig = accessconfig
+ c.instancessetmincpuplatformrequest = instancessetmincpuplatformrequest
return c
}
@@ -44254,7 +43986,7 @@ func (r *InstancesService) UpdateAccessConfig(project string, zone string, insta
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesUpdateAccessConfigCall) RequestId(requestId string) *InstancesUpdateAccessConfigCall {
+func (c *InstancesSetMinCpuPlatformCall) RequestId(requestId string) *InstancesSetMinCpuPlatformCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -44262,35 +43994,35 @@ func (c *InstancesUpdateAccessConfigCall) RequestId(requestId string) *Instances
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesUpdateAccessConfigCall) Fields(s ...googleapi.Field) *InstancesUpdateAccessConfigCall {
+func (c *InstancesSetMinCpuPlatformCall) Fields(s ...googleapi.Field) *InstancesSetMinCpuPlatformCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesUpdateAccessConfigCall) Context(ctx context.Context) *InstancesUpdateAccessConfigCall {
+func (c *InstancesSetMinCpuPlatformCall) Context(ctx context.Context) *InstancesSetMinCpuPlatformCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesUpdateAccessConfigCall) Header() http.Header {
+func (c *InstancesSetMinCpuPlatformCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesUpdateAccessConfigCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.accessconfig)
+func (c *InstancesSetMinCpuPlatformCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetmincpuplatformrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -44302,16 +44034,16 @@ func (c *InstancesUpdateAccessConfigCall) doRequest(alt string) (*http.Response,
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.updateAccessConfig", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setMinCpuPlatform", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.updateAccessConfig" call.
+// Do executes the "compute.instances.setMinCpuPlatform" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesUpdateAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetMinCpuPlatformCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -44341,37 +44073,32 @@ func (c *InstancesUpdateAccessConfigCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.updateAccessConfig", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setMinCpuPlatform", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesUpdateDisplayDeviceCall struct {
- s *Service
- project string
- zone string
- instance string
- displaydevice *DisplayDevice
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetNameCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetnamerequest *InstancesSetNameRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// UpdateDisplayDevice: Updates the Display config for a VM instance. You
-// can
-// only use this method on a stopped VM instance. This method
-// supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// SetName: Sets name of an instance.
//
-// - instance: Name of the instance scoping this request.
+// - instance: The instance name for this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) UpdateDisplayDevice(project string, zone string, instance string, displaydevice *DisplayDevice) *InstancesUpdateDisplayDeviceCall {
- c := &InstancesUpdateDisplayDeviceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetName(project string, zone string, instance string, instancessetnamerequest *InstancesSetNameRequest) *InstancesSetNameCall {
+ c := &InstancesSetNameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.displaydevice = displaydevice
+ c.instancessetnamerequest = instancessetnamerequest
return c
}
@@ -44392,7 +44119,7 @@ func (r *InstancesService) UpdateDisplayDevice(project string, zone string, inst
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesUpdateDisplayDeviceCall) RequestId(requestId string) *InstancesUpdateDisplayDeviceCall {
+func (c *InstancesSetNameCall) RequestId(requestId string) *InstancesSetNameCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -44400,37 +44127,37 @@ func (c *InstancesUpdateDisplayDeviceCall) RequestId(requestId string) *Instance
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesUpdateDisplayDeviceCall) Fields(s ...googleapi.Field) *InstancesUpdateDisplayDeviceCall {
+func (c *InstancesSetNameCall) Fields(s ...googleapi.Field) *InstancesSetNameCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesUpdateDisplayDeviceCall) Context(ctx context.Context) *InstancesUpdateDisplayDeviceCall {
+func (c *InstancesSetNameCall) Context(ctx context.Context) *InstancesSetNameCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesUpdateDisplayDeviceCall) Header() http.Header {
+func (c *InstancesSetNameCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesUpdateDisplayDeviceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.displaydevice)
+func (c *InstancesSetNameCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetnamerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setName")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -44440,16 +44167,16 @@ func (c *InstancesUpdateDisplayDeviceCall) doRequest(alt string) (*http.Response
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.updateDisplayDevice", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setName", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.updateDisplayDevice" call.
+// Do executes the "compute.instances.setName" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesUpdateDisplayDeviceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetNameCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -44479,40 +44206,38 @@ func (c *InstancesUpdateDisplayDeviceCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.updateDisplayDevice", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setName", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesUpdateNetworkInterfaceCall struct {
- s *Service
- project string
- zone string
- instance string
- networkinterface *NetworkInterface
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetSchedulingCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ scheduling *Scheduling
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// UpdateNetworkInterface: Updates an instance's network interface. This method
-// can only update an
-// interface's alias IP range and attached network. See Modifying
-// alias IP ranges for an existing instance for instructions on
-// changing alias IP ranges. See Migrating
-// a VM between networks for instructions on migrating an interface.
-// This method follows PATCH semantics.
+// SetScheduling: Sets an instance's scheduling options. You can only call this
+// method on astopped instance,
+// that is, a VM instance that is in a `TERMINATED` state. SeeInstance
+// Life
+// Cycle for more information on the possible instance states.
+// For more information about setting scheduling options for a VM, seeSet
+// VM host maintenance policy.
//
-// - instance: The instance name for this request.
-// - networkInterface: The name of the network interface to update.
+// - instance: Instance name for this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstancesService) UpdateNetworkInterface(project string, zone string, instance string, networkInterface string, networkinterface *NetworkInterface) *InstancesUpdateNetworkInterfaceCall {
- c := &InstancesUpdateNetworkInterfaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetScheduling(project string, zone string, instance string, scheduling *Scheduling) *InstancesSetSchedulingCall {
+ c := &InstancesSetSchedulingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.urlParams_.Set("networkInterface", networkInterface)
- c.networkinterface = networkinterface
+ c.scheduling = scheduling
return c
}
@@ -44533,7 +44258,7 @@ func (r *InstancesService) UpdateNetworkInterface(project string, zone string, i
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesUpdateNetworkInterfaceCall) RequestId(requestId string) *InstancesUpdateNetworkInterfaceCall {
+func (c *InstancesSetSchedulingCall) RequestId(requestId string) *InstancesSetSchedulingCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -44541,37 +44266,37 @@ func (c *InstancesUpdateNetworkInterfaceCall) RequestId(requestId string) *Insta
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesUpdateNetworkInterfaceCall) Fields(s ...googleapi.Field) *InstancesUpdateNetworkInterfaceCall {
+func (c *InstancesSetSchedulingCall) Fields(s ...googleapi.Field) *InstancesSetSchedulingCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesUpdateNetworkInterfaceCall) Context(ctx context.Context) *InstancesUpdateNetworkInterfaceCall {
+func (c *InstancesSetSchedulingCall) Context(ctx context.Context) *InstancesSetSchedulingCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesUpdateNetworkInterfaceCall) Header() http.Header {
+func (c *InstancesSetSchedulingCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesUpdateNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkinterface)
+func (c *InstancesSetSchedulingCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.scheduling)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setScheduling")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -44581,16 +44306,16 @@ func (c *InstancesUpdateNetworkInterfaceCall) doRequest(alt string) (*http.Respo
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.updateNetworkInterface", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setScheduling", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.updateNetworkInterface" call.
+// Do executes the "compute.instances.setScheduling" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesUpdateNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetSchedulingCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -44620,37 +44345,38 @@ func (c *InstancesUpdateNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.updateNetworkInterface", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setScheduling", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstancesUpdateShieldedInstanceConfigCall struct {
- s *Service
- project string
- zone string
- instance string
- shieldedinstanceconfig *ShieldedInstanceConfig
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetSecurityPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetsecuritypolicyrequest *InstancesSetSecurityPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// UpdateShieldedInstanceConfig: Updates the Shielded Instance config for an
-// instance. You can
-// only use this method on a stopped instance. This method
-// supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// SetSecurityPolicy: Sets the Google Cloud Armor security policy for the
+// specified instance.
+// For more information, seeGoogle
+// Cloud Armor Overview
//
-// - instance: Name or id of the instance scoping this request.
+// - instance: Name of the Instance resource to which the security policy
+// should be
+//
+// set. The name should conform to RFC1035.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstancesService) UpdateShieldedInstanceConfig(project string, zone string, instance string, shieldedinstanceconfig *ShieldedInstanceConfig) *InstancesUpdateShieldedInstanceConfigCall {
- c := &InstancesUpdateShieldedInstanceConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: Name of the zone scoping this request.
+func (r *InstancesService) SetSecurityPolicy(project string, zone string, instance string, instancessetsecuritypolicyrequest *InstancesSetSecurityPolicyRequest) *InstancesSetSecurityPolicyCall {
+ c := &InstancesSetSecurityPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.instance = instance
- c.shieldedinstanceconfig = shieldedinstanceconfig
+ c.instancessetsecuritypolicyrequest = instancessetsecuritypolicyrequest
return c
}
@@ -44671,7 +44397,7 @@ func (r *InstancesService) UpdateShieldedInstanceConfig(project string, zone str
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstancesUpdateShieldedInstanceConfigCall) RequestId(requestId string) *InstancesUpdateShieldedInstanceConfigCall {
+func (c *InstancesSetSecurityPolicyCall) RequestId(requestId string) *InstancesSetSecurityPolicyCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -44679,37 +44405,37 @@ func (c *InstancesUpdateShieldedInstanceConfigCall) RequestId(requestId string)
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstancesUpdateShieldedInstanceConfigCall) Fields(s ...googleapi.Field) *InstancesUpdateShieldedInstanceConfigCall {
+func (c *InstancesSetSecurityPolicyCall) Fields(s ...googleapi.Field) *InstancesSetSecurityPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstancesUpdateShieldedInstanceConfigCall) Context(ctx context.Context) *InstancesUpdateShieldedInstanceConfigCall {
+func (c *InstancesSetSecurityPolicyCall) Context(ctx context.Context) *InstancesSetSecurityPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstancesUpdateShieldedInstanceConfigCall) Header() http.Header {
+func (c *InstancesSetSecurityPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstancesUpdateShieldedInstanceConfigCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.shieldedinstanceconfig)
+func (c *InstancesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetsecuritypolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -44719,16 +44445,16 @@ func (c *InstancesUpdateShieldedInstanceConfigCall) doRequest(alt string) (*http
"zone": c.zone,
"instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.updateShieldedInstanceConfig", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setSecurityPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instances.updateShieldedInstanceConfig" call.
+// Do executes the "compute.instances.setSecurityPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstancesUpdateShieldedInstanceConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetSecurityPolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -44758,30 +44484,35 @@ func (c *InstancesUpdateShieldedInstanceConfigCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.updateShieldedInstanceConfig", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setSecurityPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotGroupsDeleteCall struct {
- s *Service
- project string
- zone string
- instantSnapshotGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSetServiceAccountCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetserviceaccountrequest *InstancesSetServiceAccountRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: deletes a Zonal InstantSnapshotGroup resource
+// SetServiceAccount: Sets the service account on the instance. For more
+// information,
+// readChanging
+// the service account and access scopes for an instance.
//
-// - instantSnapshotGroup: Name of the InstantSnapshot resource to delete.
+// - instance: Name of the instance resource to start.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotGroupsService) Delete(project string, zone string, instantSnapshotGroup string) *InstantSnapshotGroupsDeleteCall {
- c := &InstantSnapshotGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetServiceAccount(project string, zone string, instance string, instancessetserviceaccountrequest *InstancesSetServiceAccountRequest) *InstancesSetServiceAccountCall {
+ c := &InstancesSetServiceAccountCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instantSnapshotGroup = instantSnapshotGroup
+ c.instance = instance
+ c.instancessetserviceaccountrequest = instancessetserviceaccountrequest
return c
}
@@ -44802,7 +44533,7 @@ func (r *InstantSnapshotGroupsService) Delete(project string, zone string, insta
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstantSnapshotGroupsDeleteCall) RequestId(requestId string) *InstantSnapshotGroupsDeleteCall {
+func (c *InstancesSetServiceAccountCall) RequestId(requestId string) *InstancesSetServiceAccountCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -44810,52 +44541,56 @@ func (c *InstantSnapshotGroupsDeleteCall) RequestId(requestId string) *InstantSn
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotGroupsDeleteCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsDeleteCall {
+func (c *InstancesSetServiceAccountCall) Fields(s ...googleapi.Field) *InstancesSetServiceAccountCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotGroupsDeleteCall) Context(ctx context.Context) *InstantSnapshotGroupsDeleteCall {
+func (c *InstancesSetServiceAccountCall) Context(ctx context.Context) *InstancesSetServiceAccountCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotGroupsDeleteCall) Header() http.Header {
+func (c *InstancesSetServiceAccountCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesSetServiceAccountCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancessetserviceaccountrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instantSnapshotGroup": c.instantSnapshotGroup,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setServiceAccount", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshotGroups.delete" call.
+// Do executes the "compute.instances.setServiceAccount" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSetServiceAccountCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -44885,96 +44620,114 @@ func (c *InstantSnapshotGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setServiceAccount", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotGroupsGetCall struct {
- s *Service
- project string
- zone string
- instantSnapshotGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstancesSetShieldedInstanceIntegrityPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ shieldedinstanceintegritypolicy *ShieldedInstanceIntegrityPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: returns the specified InstantSnapshotGroup resource in the specified
-// zone.
+// SetShieldedInstanceIntegrityPolicy: Sets the Shielded Instance integrity
+// policy for an instance. You can
+// only use this method on a running instance. This method
+// supports PATCH semantics and uses the JSON merge
+// patch format and processing rules.
//
-// - instantSnapshotGroup: Name of the InstantSnapshotGroup resource to return.
+// - instance: Name or id of the instance scoping this request.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotGroupsService) Get(project string, zone string, instantSnapshotGroup string) *InstantSnapshotGroupsGetCall {
- c := &InstantSnapshotGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetShieldedInstanceIntegrityPolicy(project string, zone string, instance string, shieldedinstanceintegritypolicy *ShieldedInstanceIntegrityPolicy) *InstancesSetShieldedInstanceIntegrityPolicyCall {
+ c := &InstancesSetShieldedInstanceIntegrityPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instantSnapshotGroup = instantSnapshotGroup
+ c.instance = instance
+ c.shieldedinstanceintegritypolicy = shieldedinstanceintegritypolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) RequestId(requestId string) *InstancesSetShieldedInstanceIntegrityPolicyCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotGroupsGetCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsGetCall {
+func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Fields(s ...googleapi.Field) *InstancesSetShieldedInstanceIntegrityPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstantSnapshotGroupsGetCall) IfNoneMatch(entityTag string) *InstantSnapshotGroupsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotGroupsGetCall) Context(ctx context.Context) *InstantSnapshotGroupsGetCall {
+func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Context(ctx context.Context) *InstancesSetShieldedInstanceIntegrityPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotGroupsGetCall) Header() http.Header {
+func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.shieldedinstanceintegritypolicy)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instantSnapshotGroup": c.instantSnapshotGroup,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setShieldedInstanceIntegrityPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshotGroups.get" call.
+// Do executes the "compute.instances.setShieldedInstanceIntegrityPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstantSnapshotGroup.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstantSnapshotGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotGroup, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -44993,7 +44746,7 @@ func (c *InstantSnapshotGroupsGetCall) Do(opts ...googleapi.CallOption) (*Instan
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstantSnapshotGroup{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -45004,84 +44757,92 @@ func (c *InstantSnapshotGroupsGetCall) Do(opts ...googleapi.CallOption) (*Instan
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setShieldedInstanceIntegrityPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotGroupsGetIamPolicyCall struct {
- s *Service
- project string
- zone string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstancesSetTagsCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ tags *Tags
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// SetTags: Sets network tags
+// for the specified instance to the data included in the request.
//
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotGroupsService) GetIamPolicy(project string, zone string, resource string) *InstantSnapshotGroupsGetIamPolicyCall {
- c := &InstantSnapshotGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) SetTags(project string, zone string, instance string, tags *Tags) *InstancesSetTagsCall {
+ c := &InstancesSetTagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
+ c.instance = instance
+ c.tags = tags
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *InstantSnapshotGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InstantSnapshotGroupsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesSetTagsCall) RequestId(requestId string) *InstancesSetTagsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsGetIamPolicyCall {
+func (c *InstancesSetTagsCall) Fields(s ...googleapi.Field) *InstancesSetTagsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstantSnapshotGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *InstantSnapshotGroupsGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotGroupsGetIamPolicyCall) Context(ctx context.Context) *InstantSnapshotGroupsGetIamPolicyCall {
+func (c *InstancesSetTagsCall) Context(ctx context.Context) *InstancesSetTagsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotGroupsGetIamPolicyCall) Header() http.Header {
+func (c *InstancesSetTagsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstancesSetTagsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.tags)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/setTags")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -45089,18 +44850,18 @@ func (c *InstantSnapshotGroupsGetIamPolicyCall) doRequest(alt string) (*http.Res
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "resource": c.resource,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.setTags", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshotGroups.getIamPolicy" call.
+// Do executes the "compute.instances.setTags" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstancesSetTagsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -45119,7 +44880,7 @@ func (c *InstantSnapshotGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -45130,29 +44891,32 @@ func (c *InstantSnapshotGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.setTags", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotGroupsInsertCall struct {
- s *Service
- project string
- zone string
- instantsnapshotgroup *InstantSnapshotGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesSimulateMaintenanceEventCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: inserts a Zonal InstantSnapshotGroup resource
+// SimulateMaintenanceEvent: Simulates a host maintenance event on a VM. For
+// more information, see
+// Simulate a host maintenance event.
//
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
-// - zone: Name of the zone for this request.
-func (r *InstantSnapshotGroupsService) Insert(project string, zone string, instantsnapshotgroup *InstantSnapshotGroup) *InstantSnapshotGroupsInsertCall {
- c := &InstantSnapshotGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *InstancesService) SimulateMaintenanceEvent(project string, zone string, instance string) *InstancesSimulateMaintenanceEventCall {
+ c := &InstancesSimulateMaintenanceEventCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instantsnapshotgroup = instantsnapshotgroup
+ c.instance = instance
return c
}
@@ -45173,70 +44937,69 @@ func (r *InstantSnapshotGroupsService) Insert(project string, zone string, insta
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstantSnapshotGroupsInsertCall) RequestId(requestId string) *InstantSnapshotGroupsInsertCall {
+func (c *InstancesSimulateMaintenanceEventCall) RequestId(requestId string) *InstancesSimulateMaintenanceEventCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// SourceConsistencyGroup sets the optional parameter "sourceConsistencyGroup":
-// begin_interface: MixerMutationRequestBuilder
-func (c *InstantSnapshotGroupsInsertCall) SourceConsistencyGroup(sourceConsistencyGroup string) *InstantSnapshotGroupsInsertCall {
- c.urlParams_.Set("sourceConsistencyGroup", sourceConsistencyGroup)
+// WithExtendedNotifications sets the optional parameter
+// "withExtendedNotifications": Determines whether the customers receive
+// notifications before migration.
+// Only applicable to SF vms.
+func (c *InstancesSimulateMaintenanceEventCall) WithExtendedNotifications(withExtendedNotifications bool) *InstancesSimulateMaintenanceEventCall {
+ c.urlParams_.Set("withExtendedNotifications", fmt.Sprint(withExtendedNotifications))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotGroupsInsertCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsInsertCall {
+func (c *InstancesSimulateMaintenanceEventCall) Fields(s ...googleapi.Field) *InstancesSimulateMaintenanceEventCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotGroupsInsertCall) Context(ctx context.Context) *InstantSnapshotGroupsInsertCall {
+func (c *InstancesSimulateMaintenanceEventCall) Context(ctx context.Context) *InstancesSimulateMaintenanceEventCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotGroupsInsertCall) Header() http.Header {
+func (c *InstancesSimulateMaintenanceEventCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instantsnapshotgroup)
- if err != nil {
- return nil, err
- }
+func (c *InstancesSimulateMaintenanceEventCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.simulateMaintenanceEvent", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshotGroups.insert" call.
+// Do executes the "compute.instances.simulateMaintenanceEvent" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesSimulateMaintenanceEventCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -45266,221 +45029,106 @@ func (c *InstantSnapshotGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.simulateMaintenanceEvent", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotGroupsListCall struct {
- s *Service
- project string
- zone string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstancesStartCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: retrieves the list of InstantSnapshotGroup resources contained
-// within
-// the specified zone.
+// Start: Starts an instance that was stopped using theinstances().stop
+// method. For more information, seeRestart an
+// instance.
//
+// - instance: Name of the instance resource to start.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotGroupsService) List(project string, zone string) *InstantSnapshotGroupsListCall {
- c := &InstantSnapshotGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) Start(project string, zone string, instance string) *InstancesStartCall {
+ c := &InstancesStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
+ c.instance = instance
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstantSnapshotGroupsListCall) Filter(filter string) *InstantSnapshotGroupsListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstantSnapshotGroupsListCall) MaxResults(maxResults int64) *InstantSnapshotGroupsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstantSnapshotGroupsListCall) OrderBy(orderBy string) *InstantSnapshotGroupsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstantSnapshotGroupsListCall) PageToken(pageToken string) *InstantSnapshotGroupsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstantSnapshotGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstantSnapshotGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesStartCall) RequestId(requestId string) *InstancesStartCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotGroupsListCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsListCall {
+func (c *InstancesStartCall) Fields(s ...googleapi.Field) *InstancesStartCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstantSnapshotGroupsListCall) IfNoneMatch(entityTag string) *InstantSnapshotGroupsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotGroupsListCall) Context(ctx context.Context) *InstantSnapshotGroupsListCall {
+func (c *InstancesStartCall) Context(ctx context.Context) *InstancesStartCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotGroupsListCall) Header() http.Header {
+func (c *InstancesStartCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/start")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.start", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshotGroups.list" call.
+// Do executes the "compute.instances.start" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ListInstantSnapshotGroups.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstantSnapshotGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInstantSnapshotGroups, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -45499,7 +45147,7 @@ func (c *InstantSnapshotGroupsListCall) Do(opts ...googleapi.CallOption) (*ListI
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ListInstantSnapshotGroups{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -45510,90 +45158,92 @@ func (c *InstantSnapshotGroupsListCall) Do(opts ...googleapi.CallOption) (*ListI
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.start", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstantSnapshotGroupsListCall) Pages(ctx context.Context, f func(*ListInstantSnapshotGroups) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InstantSnapshotGroupsSetIamPolicyCall struct {
- s *Service
- project string
- zone string
- resource string
- zonesetpolicyrequest *ZoneSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesStartWithEncryptionKeyCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancesstartwithencryptionkeyrequest *InstancesStartWithEncryptionKeyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// StartWithEncryptionKey: Starts an instance that was stopped using
+// theinstances().stop
+// method. For more information, seeRestart an
+// instance.
//
+// - instance: Name of the instance resource to start.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotGroupsService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *InstantSnapshotGroupsSetIamPolicyCall {
- c := &InstantSnapshotGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) StartWithEncryptionKey(project string, zone string, instance string, instancesstartwithencryptionkeyrequest *InstancesStartWithEncryptionKeyRequest) *InstancesStartWithEncryptionKeyCall {
+ c := &InstancesStartWithEncryptionKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- c.zonesetpolicyrequest = zonesetpolicyrequest
+ c.instance = instance
+ c.instancesstartwithencryptionkeyrequest = instancesstartwithencryptionkeyrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesStartWithEncryptionKeyCall) RequestId(requestId string) *InstancesStartWithEncryptionKeyCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsSetIamPolicyCall {
+func (c *InstancesStartWithEncryptionKeyCall) Fields(s ...googleapi.Field) *InstancesStartWithEncryptionKeyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotGroupsSetIamPolicyCall) Context(ctx context.Context) *InstantSnapshotGroupsSetIamPolicyCall {
+func (c *InstancesStartWithEncryptionKeyCall) Context(ctx context.Context) *InstancesStartWithEncryptionKeyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotGroupsSetIamPolicyCall) Header() http.Header {
+func (c *InstancesStartWithEncryptionKeyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
+func (c *InstancesStartWithEncryptionKeyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancesstartwithencryptionkeyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -45603,18 +45253,18 @@ func (c *InstantSnapshotGroupsSetIamPolicyCall) doRequest(alt string) (*http.Res
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "resource": c.resource,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.startWithEncryptionKey", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshotGroups.setIamPolicy" call.
+// Do executes the "compute.instances.startWithEncryptionKey" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstancesStartWithEncryptionKeyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -45633,7 +45283,7 @@ func (c *InstantSnapshotGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -45644,70 +45294,109 @@ func (c *InstantSnapshotGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.startWithEncryptionKey", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-
-type InstantSnapshotGroupsTestIamPermissionsCall struct {
- s *Service
- project string
- zone string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+
+type InstancesStopCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Stop: Stops a running instance, shutting it down cleanly, and allows
+// you to restart the instance at a later time. Stopped instances do not
+// incur
+// VM usage charges while they are stopped. However, resources that the VM
+// is
+// using, such as persistent disks and static IP addresses, will continue to
+// be charged until they are deleted. For more information, seeStopping
+// an instance.
//
+// - instance: Name of the instance resource to stop.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstantSnapshotGroupsTestIamPermissionsCall {
- c := &InstantSnapshotGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) Stop(project string, zone string, instance string) *InstancesStopCall {
+ c := &InstancesStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.instance = instance
+ return c
+}
+
+// DiscardLocalSsd sets the optional parameter "discardLocalSsd": This property
+// is required if the instance has any attached Local SSD disks.
+// If false, Local SSD data will be preserved when the instance is
+// suspended.
+// If true, the contents of any attached Local SSD disks will be discarded.
+func (c *InstancesStopCall) DiscardLocalSsd(discardLocalSsd bool) *InstancesStopCall {
+ c.urlParams_.Set("discardLocalSsd", fmt.Sprint(discardLocalSsd))
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": If set
+// to true, Graceful Shutdown is skipped.
+func (c *InstancesStopCall) NoGracefulShutdown(noGracefulShutdown bool) *InstancesStopCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesStopCall) RequestId(requestId string) *InstancesStopCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsTestIamPermissionsCall {
+func (c *InstancesStopCall) Fields(s ...googleapi.Field) *InstancesStopCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotGroupsTestIamPermissionsCall) Context(ctx context.Context) *InstantSnapshotGroupsTestIamPermissionsCall {
+func (c *InstancesStopCall) Context(ctx context.Context) *InstancesStopCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotGroupsTestIamPermissionsCall) Header() http.Header {
+func (c *InstancesStopCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
+func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/stop")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -45715,19 +45404,18 @@ func (c *InstantSnapshotGroupsTestIamPermissionsCall) doRequest(alt string) (*ht
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "resource": c.resource,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.stop", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshotGroups.testIamPermissions" call.
+// Do executes the "compute.instances.stop" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstantSnapshotGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -45746,7 +45434,7 @@ func (c *InstantSnapshotGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallO
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -45757,245 +45445,125 @@ func (c *InstantSnapshotGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallO
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.stop", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotsAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstancesSuspendCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of instantSnapshots.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// Suspend: This method suspends a running instance, saving its state to
+// persistent
+// storage, and allows you to resume the instance at a later time.
+// Suspended
+// instances have no compute costs (cores or RAM), and incur only
+// storage
+// charges for the saved VM memory and localSSD data. Any charged resources
+// the virtual machine was using, such as persistent disks and static
+// IP
+// addresses, will continue to be charged while the instance is suspended.
+// For more information, see
+// Suspending and resuming an instance.
//
+// - instance: Name of the instance resource to suspend.
// - project: Project ID for this request.
-func (r *InstantSnapshotsService) AggregatedList(project string) *InstantSnapshotsAggregatedListCall {
- c := &InstantSnapshotsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *InstancesService) Suspend(project string, zone string, instance string) *InstancesSuspendCall {
+ c := &InstancesSuspendCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
+ c.instance = instance
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstantSnapshotsAggregatedListCall) Filter(filter string) *InstantSnapshotsAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *InstantSnapshotsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstantSnapshotsAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstantSnapshotsAggregatedListCall) MaxResults(maxResults int64) *InstantSnapshotsAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// DiscardLocalSsd sets the optional parameter "discardLocalSsd": This property
+// is required if the instance has any attached Local SSD disks.
+// If false, Local SSD data will be preserved when the instance is
+// suspended.
+// If true, the contents of any attached Local SSD disks will be discarded.
+func (c *InstancesSuspendCall) DiscardLocalSsd(discardLocalSsd bool) *InstancesSuspendCall {
+ c.urlParams_.Set("discardLocalSsd", fmt.Sprint(discardLocalSsd))
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstantSnapshotsAggregatedListCall) OrderBy(orderBy string) *InstantSnapshotsAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstantSnapshotsAggregatedListCall) PageToken(pageToken string) *InstantSnapshotsAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstantSnapshotsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstantSnapshotsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *InstantSnapshotsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstantSnapshotsAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesSuspendCall) RequestId(requestId string) *InstancesSuspendCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsAggregatedListCall) Fields(s ...googleapi.Field) *InstantSnapshotsAggregatedListCall {
+func (c *InstancesSuspendCall) Fields(s ...googleapi.Field) *InstancesSuspendCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstantSnapshotsAggregatedListCall) IfNoneMatch(entityTag string) *InstantSnapshotsAggregatedListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsAggregatedListCall) Context(ctx context.Context) *InstantSnapshotsAggregatedListCall {
+func (c *InstancesSuspendCall) Context(ctx context.Context) *InstancesSuspendCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsAggregatedListCall) Header() http.Header {
+func (c *InstancesSuspendCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *InstancesSuspendCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instantSnapshots")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/suspend")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.suspend", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.aggregatedList" call.
+// Do executes the "compute.instances.suspend" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstantSnapshotAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstantSnapshotsAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotAggregatedList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesSuspendCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -46014,7 +45582,7 @@ func (c *InstantSnapshotsAggregatedListCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstantSnapshotAggregatedList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -46025,136 +45593,90 @@ func (c *InstantSnapshotsAggregatedListCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.suspend", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstantSnapshotsAggregatedListCall) Pages(ctx context.Context, f func(*InstantSnapshotAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InstantSnapshotsDeleteCall struct {
- s *Service
- project string
- zone string
- instantSnapshot string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified InstantSnapshot resource. Keep in mind that
-// deleting
-// a single instantSnapshot might not necessarily delete all the data on
-// that
-// instantSnapshot. If any data on the instantSnapshot that is marked
-// for
-// deletion is needed for subsequent instantSnapshots, the data will be
-// moved
-// to the next corresponding instantSnapshot.
-//
-// For more information, seeDeleting
-// instantSnapshots.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - instantSnapshot: Name of the InstantSnapshot resource to delete.
// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotsService) Delete(project string, zone string, instantSnapshot string) *InstantSnapshotsDeleteCall {
- c := &InstantSnapshotsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstancesTestIamPermissionsCall {
+ c := &InstancesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instantSnapshot = instantSnapshot
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InstantSnapshotsDeleteCall) RequestId(requestId string) *InstantSnapshotsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsDeleteCall) Fields(s ...googleapi.Field) *InstantSnapshotsDeleteCall {
+func (c *InstancesTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstancesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsDeleteCall) Context(ctx context.Context) *InstantSnapshotsDeleteCall {
+func (c *InstancesTestIamPermissionsCall) Context(ctx context.Context) *InstancesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsDeleteCall) Header() http.Header {
+func (c *InstancesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instantSnapshot": c.instantSnapshot,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.delete" call.
+// Do executes the "compute.instances.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -46173,7 +45695,7 @@ func (c *InstantSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -46184,95 +45706,158 @@ func (c *InstantSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotsGetCall struct {
- s *Service
- project string
- zone string
- instantSnapshot string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstancesUpdateCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instance2 *Instance
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates an instance only if the necessary resources are available.
+// This
+// method can update only a specific set of instance properties. See
+// Updating a running instance for a list of updatable instance
+// properties.
+//
+// - instance: Name of the instance resource to update.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) Update(project string, zone string, instance string, instance2 *Instance) *InstancesUpdateCall {
+ c := &InstancesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instance = instance
+ c.instance2 = instance2
+ return c
+}
+
+// DiscardLocalSsd sets the optional parameter "discardLocalSsd": Whether to
+// discard local SSDs from the instance during restart
+// default value is false.
+func (c *InstancesUpdateCall) DiscardLocalSsd(discardLocalSsd bool) *InstancesUpdateCall {
+ c.urlParams_.Set("discardLocalSsd", fmt.Sprint(discardLocalSsd))
+ return c
+}
+
+// MinimalAction sets the optional parameter "minimalAction": Specifies the
+// action to take when updating an instance even if the
+// updated properties do not require it. If not specified, then
+// Compute Engine acts based on the minimum action that the updated
+// properties require.
+//
+// Possible values:
+//
+// "INVALID"
+// "NO_EFFECT" - No changes can be made to the instance.
+// "REFRESH" - The instance will not restart.
+// "RESTART" - The instance will restart, potentially on a different host.
+func (c *InstancesUpdateCall) MinimalAction(minimalAction string) *InstancesUpdateCall {
+ c.urlParams_.Set("minimalAction", minimalAction)
+ return c
+}
+
+// MostDisruptiveAllowedAction sets the optional parameter
+// "mostDisruptiveAllowedAction": Specifies the most disruptive action that can
+// be taken on the instance
+// as part of the update. Compute Engine returns an error if the
+// instance properties require a more disruptive action as part of the
+// instance update. Valid options from lowest to highest are
+// NO_EFFECT, REFRESH, and RESTART.
+//
+// Possible values:
+//
+// "INVALID"
+// "NO_EFFECT" - No changes can be made to the instance.
+// "REFRESH" - The instance will not restart.
+// "RESTART" - The instance will restart, potentially on a different host.
+func (c *InstancesUpdateCall) MostDisruptiveAllowedAction(mostDisruptiveAllowedAction string) *InstancesUpdateCall {
+ c.urlParams_.Set("mostDisruptiveAllowedAction", mostDisruptiveAllowedAction)
+ return c
}
-// Get: Returns the specified InstantSnapshot resource in the specified zone.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// - instantSnapshot: Name of the InstantSnapshot resource to return.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *InstantSnapshotsService) Get(project string, zone string, instantSnapshot string) *InstantSnapshotsGetCall {
- c := &InstantSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.instantSnapshot = instantSnapshot
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesUpdateCall) RequestId(requestId string) *InstancesUpdateCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsGetCall) Fields(s ...googleapi.Field) *InstantSnapshotsGetCall {
+func (c *InstancesUpdateCall) Fields(s ...googleapi.Field) *InstancesUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstantSnapshotsGetCall) IfNoneMatch(entityTag string) *InstantSnapshotsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsGetCall) Context(ctx context.Context) *InstantSnapshotsGetCall {
+func (c *InstancesUpdateCall) Context(ctx context.Context) *InstancesUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsGetCall) Header() http.Header {
+func (c *InstancesUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instance2)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PUT", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "instantSnapshot": c.instantSnapshot,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.get" call.
+// Do executes the "compute.instances.update" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstantSnapshot.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstantSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnapshot, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -46291,7 +45876,7 @@ func (c *InstantSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnap
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstantSnapshot{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -46302,84 +45887,98 @@ func (c *InstantSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnap
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotsGetIamPolicyCall struct {
+type InstancesUpdateAccessConfigCall struct {
s *Service
project string
zone string
- resource string
+ instance string
+ accessconfig *AccessConfig
urlParams_ gensupport.URLParams
- ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// UpdateAccessConfig: Updates the specified access config from an instance's
+// network interface
+// with the data included in the request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *InstantSnapshotsService) GetIamPolicy(project string, zone string, resource string) *InstantSnapshotsGetIamPolicyCall {
- c := &InstantSnapshotsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instance: The instance name for this request.
+// - networkInterface: The name of the network interface where the access
+// config is attached.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstancesService) UpdateAccessConfig(project string, zone string, instance string, networkInterface string, accessconfig *AccessConfig) *InstancesUpdateAccessConfigCall {
+ c := &InstancesUpdateAccessConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
+ c.instance = instance
+ c.urlParams_.Set("networkInterface", networkInterface)
+ c.accessconfig = accessconfig
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *InstantSnapshotsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InstantSnapshotsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesUpdateAccessConfigCall) RequestId(requestId string) *InstancesUpdateAccessConfigCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsGetIamPolicyCall) Fields(s ...googleapi.Field) *InstantSnapshotsGetIamPolicyCall {
+func (c *InstancesUpdateAccessConfigCall) Fields(s ...googleapi.Field) *InstancesUpdateAccessConfigCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstantSnapshotsGetIamPolicyCall) IfNoneMatch(entityTag string) *InstantSnapshotsGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsGetIamPolicyCall) Context(ctx context.Context) *InstantSnapshotsGetIamPolicyCall {
+func (c *InstancesUpdateAccessConfigCall) Context(ctx context.Context) *InstancesUpdateAccessConfigCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsGetIamPolicyCall) Header() http.Header {
+func (c *InstancesUpdateAccessConfigCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstancesUpdateAccessConfigCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.accessconfig)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -46387,18 +45986,18 @@ func (c *InstantSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "resource": c.resource,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.updateAccessConfig", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.getIamPolicy" call.
+// Do executes the "compute.instances.updateAccessConfig" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstancesUpdateAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -46417,7 +46016,7 @@ func (c *InstantSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Po
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -46428,29 +46027,37 @@ func (c *InstantSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Po
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.updateAccessConfig", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotsInsertCall struct {
- s *Service
- project string
- zone string
- instantsnapshot *InstantSnapshot
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesUpdateDisplayDeviceCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ displaydevice *DisplayDevice
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates an instant snapshot in the specified zone.
+// UpdateDisplayDevice: Updates the Display config for a VM instance. You
+// can
+// only use this method on a stopped VM instance. This method
+// supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
+// - instance: Name of the instance scoping this request.
// - project: Project ID for this request.
-// - zone: Name of the zone for this request.
-func (r *InstantSnapshotsService) Insert(project string, zone string, instantsnapshot *InstantSnapshot) *InstantSnapshotsInsertCall {
- c := &InstantSnapshotsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *InstancesService) UpdateDisplayDevice(project string, zone string, instance string, displaydevice *DisplayDevice) *InstancesUpdateDisplayDeviceCall {
+ c := &InstancesUpdateDisplayDeviceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.instantsnapshot = instantsnapshot
+ c.instance = instance
+ c.displaydevice = displaydevice
return c
}
@@ -46471,7 +46078,7 @@ func (r *InstantSnapshotsService) Insert(project string, zone string, instantsna
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstantSnapshotsInsertCall) RequestId(requestId string) *InstantSnapshotsInsertCall {
+func (c *InstancesUpdateDisplayDeviceCall) RequestId(requestId string) *InstancesUpdateDisplayDeviceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -46479,55 +46086,56 @@ func (c *InstantSnapshotsInsertCall) RequestId(requestId string) *InstantSnapsho
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsInsertCall) Fields(s ...googleapi.Field) *InstantSnapshotsInsertCall {
+func (c *InstancesUpdateDisplayDeviceCall) Fields(s ...googleapi.Field) *InstancesUpdateDisplayDeviceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsInsertCall) Context(ctx context.Context) *InstantSnapshotsInsertCall {
+func (c *InstancesUpdateDisplayDeviceCall) Context(ctx context.Context) *InstancesUpdateDisplayDeviceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsInsertCall) Header() http.Header {
+func (c *InstancesUpdateDisplayDeviceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instantsnapshot)
+func (c *InstancesUpdateDisplayDeviceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.displaydevice)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.updateDisplayDevice", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.insert" call.
+// Do executes the "compute.instances.updateDisplayDevice" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstancesUpdateDisplayDeviceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -46557,220 +46165,118 @@ func (c *InstantSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.updateDisplayDevice", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotsListCall struct {
- s *Service
- project string
- zone string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstancesUpdateNetworkInterfaceCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ networkinterface *NetworkInterface
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves the list of InstantSnapshot resources contained within
-// the specified zone.
+// UpdateNetworkInterface: Updates an instance's network interface. This method
+// can only update an
+// interface's alias IP range and attached network. See Modifying
+// alias IP ranges for an existing instance for instructions on
+// changing alias IP ranges. See Migrating
+// a VM between networks for instructions on migrating an interface.
+// This method follows PATCH semantics.
//
+// - instance: The instance name for this request.
+// - networkInterface: The name of the network interface to update.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotsService) List(project string, zone string) *InstantSnapshotsListCall {
- c := &InstantSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) UpdateNetworkInterface(project string, zone string, instance string, networkInterface string, networkinterface *NetworkInterface) *InstancesUpdateNetworkInterfaceCall {
+ c := &InstancesUpdateNetworkInterfaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
+ c.instance = instance
+ c.urlParams_.Set("networkInterface", networkInterface)
+ c.networkinterface = networkinterface
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InstantSnapshotsListCall) Filter(filter string) *InstantSnapshotsListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InstantSnapshotsListCall) MaxResults(maxResults int64) *InstantSnapshotsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InstantSnapshotsListCall) OrderBy(orderBy string) *InstantSnapshotsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InstantSnapshotsListCall) PageToken(pageToken string) *InstantSnapshotsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InstantSnapshotsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InstantSnapshotsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesUpdateNetworkInterfaceCall) RequestId(requestId string) *InstancesUpdateNetworkInterfaceCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsListCall) Fields(s ...googleapi.Field) *InstantSnapshotsListCall {
+func (c *InstancesUpdateNetworkInterfaceCall) Fields(s ...googleapi.Field) *InstancesUpdateNetworkInterfaceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InstantSnapshotsListCall) IfNoneMatch(entityTag string) *InstantSnapshotsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsListCall) Context(ctx context.Context) *InstantSnapshotsListCall {
+func (c *InstancesUpdateNetworkInterfaceCall) Context(ctx context.Context) *InstancesUpdateNetworkInterfaceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsListCall) Header() http.Header {
+func (c *InstancesUpdateNetworkInterfaceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstancesUpdateNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkinterface)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.updateNetworkInterface", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.list" call.
+// Do executes the "compute.instances.updateNetworkInterface" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstantSnapshotList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InstantSnapshotsListCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstancesUpdateNetworkInterfaceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -46782,110 +46288,114 @@ func (c *InstantSnapshotsListCall) Do(opts ...googleapi.CallOption) (*InstantSna
Header: res.Header,
})
}
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &InstantSnapshotList{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.list", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InstantSnapshotsListCall) Pages(ctx context.Context, f func(*InstantSnapshotList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
}
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.updateNetworkInterface", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-type InstantSnapshotsSetIamPolicyCall struct {
- s *Service
- project string
- zone string
- resource string
- zonesetpolicyrequest *ZoneSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstancesUpdateShieldedInstanceConfigCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ shieldedinstanceconfig *ShieldedInstanceConfig
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// UpdateShieldedInstanceConfig: Updates the Shielded Instance config for an
+// instance. You can
+// only use this method on a stopped instance. This method
+// supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
+// - instance: Name or id of the instance scoping this request.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotsService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *InstantSnapshotsSetIamPolicyCall {
- c := &InstantSnapshotsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstancesService) UpdateShieldedInstanceConfig(project string, zone string, instance string, shieldedinstanceconfig *ShieldedInstanceConfig) *InstancesUpdateShieldedInstanceConfigCall {
+ c := &InstancesUpdateShieldedInstanceConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- c.zonesetpolicyrequest = zonesetpolicyrequest
+ c.instance = instance
+ c.shieldedinstanceconfig = shieldedinstanceconfig
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstancesUpdateShieldedInstanceConfigCall) RequestId(requestId string) *InstancesUpdateShieldedInstanceConfigCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsSetIamPolicyCall) Fields(s ...googleapi.Field) *InstantSnapshotsSetIamPolicyCall {
+func (c *InstancesUpdateShieldedInstanceConfigCall) Fields(s ...googleapi.Field) *InstancesUpdateShieldedInstanceConfigCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsSetIamPolicyCall) Context(ctx context.Context) *InstantSnapshotsSetIamPolicyCall {
+func (c *InstancesUpdateShieldedInstanceConfigCall) Context(ctx context.Context) *InstancesUpdateShieldedInstanceConfigCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsSetIamPolicyCall) Header() http.Header {
+func (c *InstancesUpdateShieldedInstanceConfigCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
+func (c *InstancesUpdateShieldedInstanceConfigCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.shieldedinstanceconfig)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
@@ -46893,18 +46403,18 @@ func (c *InstantSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
- "resource": c.resource,
+ "instance": c.instance,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instances.updateShieldedInstanceConfig", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.setIamPolicy" call.
+// Do executes the "compute.instances.updateShieldedInstanceConfig" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstancesUpdateShieldedInstanceConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -46923,7 +46433,7 @@ func (c *InstantSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Po
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -46934,35 +46444,30 @@ func (c *InstantSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Po
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instances.updateShieldedInstanceConfig", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotsSetLabelsCall struct {
+type InstantSnapshotGroupsDeleteCall struct {
s *Service
project string
zone string
- resource string
- zonesetlabelsrequest *ZoneSetLabelsRequest
+ instantSnapshotGroup string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// SetLabels: Sets the labels on a instantSnapshot in the given zone. To learn
-// more about
-// labels, read the Labeling
-// Resources documentation.
+// Delete: deletes a Zonal InstantSnapshotGroup resource
//
+// - instantSnapshotGroup: Name of the InstantSnapshot resource to delete.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotsService) SetLabels(project string, zone string, resource string, zonesetlabelsrequest *ZoneSetLabelsRequest) *InstantSnapshotsSetLabelsCall {
- c := &InstantSnapshotsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstantSnapshotGroupsService) Delete(project string, zone string, instantSnapshotGroup string) *InstantSnapshotGroupsDeleteCall {
+ c := &InstantSnapshotGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- c.zonesetlabelsrequest = zonesetlabelsrequest
+ c.instantSnapshotGroup = instantSnapshotGroup
return c
}
@@ -46983,7 +46488,7 @@ func (r *InstantSnapshotsService) SetLabels(project string, zone string, resourc
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InstantSnapshotsSetLabelsCall) RequestId(requestId string) *InstantSnapshotsSetLabelsCall {
+func (c *InstantSnapshotGroupsDeleteCall) RequestId(requestId string) *InstantSnapshotGroupsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -46991,56 +46496,52 @@ func (c *InstantSnapshotsSetLabelsCall) RequestId(requestId string) *InstantSnap
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsSetLabelsCall) Fields(s ...googleapi.Field) *InstantSnapshotsSetLabelsCall {
+func (c *InstantSnapshotGroupsDeleteCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsSetLabelsCall) Context(ctx context.Context) *InstantSnapshotsSetLabelsCall {
+func (c *InstantSnapshotGroupsDeleteCall) Context(ctx context.Context) *InstantSnapshotGroupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsSetLabelsCall) Header() http.Header {
+func (c *InstantSnapshotGroupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetlabelsrequest)
- if err != nil {
- return nil, err
- }
+func (c *InstantSnapshotGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "instantSnapshotGroup": c.instantSnapshotGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.setLabels" call.
+// Do executes the "compute.instantSnapshotGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InstantSnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstantSnapshotGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -47070,90 +46571,96 @@ func (c *InstantSnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Opera
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InstantSnapshotsTestIamPermissionsCall struct {
- s *Service
- project string
- zone string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotGroupsGetCall struct {
+ s *Service
+ project string
+ zone string
+ instantSnapshotGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Get: returns the specified InstantSnapshotGroup resource in the specified
+// zone.
//
+// - instantSnapshotGroup: Name of the InstantSnapshotGroup resource to return.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *InstantSnapshotsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstantSnapshotsTestIamPermissionsCall {
- c := &InstantSnapshotsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstantSnapshotGroupsService) Get(project string, zone string, instantSnapshotGroup string) *InstantSnapshotGroupsGetCall {
+ c := &InstantSnapshotGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.instantSnapshotGroup = instantSnapshotGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InstantSnapshotsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstantSnapshotsTestIamPermissionsCall {
+func (c *InstantSnapshotGroupsGetCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstantSnapshotGroupsGetCall) IfNoneMatch(entityTag string) *InstantSnapshotGroupsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InstantSnapshotsTestIamPermissionsCall) Context(ctx context.Context) *InstantSnapshotsTestIamPermissionsCall {
+func (c *InstantSnapshotGroupsGetCall) Context(ctx context.Context) *InstantSnapshotGroupsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InstantSnapshotsTestIamPermissionsCall) Header() http.Header {
+func (c *InstantSnapshotGroupsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InstantSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *InstantSnapshotGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "instantSnapshotGroup": c.instantSnapshotGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.instantSnapshots.testIamPermissions" call.
+// Do executes the "compute.instantSnapshotGroups.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *InstantSnapshotGroup.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstantSnapshotGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotGroup, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -47172,7 +46679,7 @@ func (c *InstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &InstantSnapshotGroup{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -47183,102 +46690,103 @@ func (c *InstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentGroupsDeleteCall struct {
- s *Service
- project string
- interconnectAttachmentGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotGroupsGetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified InterconnectAttachmentGroup in the given scope
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - interconnectAttachmentGroup: Name of the InterconnectAttachmentGroup
-// resource to delete.
-// - project: Project ID for this request.
-func (r *InterconnectAttachmentGroupsService) Delete(project string, interconnectAttachmentGroup string) *InterconnectAttachmentGroupsDeleteCall {
- c := &InterconnectAttachmentGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotGroupsService) GetIamPolicy(project string, zone string, resource string) *InstantSnapshotGroupsGetIamPolicyCall {
+ c := &InstantSnapshotGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectAttachmentGroup = interconnectAttachmentGroup
+ c.zone = zone
+ c.resource = resource
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *InterconnectAttachmentGroupsDeleteCall) RequestId(requestId string) *InterconnectAttachmentGroupsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *InstantSnapshotGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InstantSnapshotGroupsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsDeleteCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsDeleteCall {
+func (c *InstantSnapshotGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstantSnapshotGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *InstantSnapshotGroupsGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsDeleteCall) Context(ctx context.Context) *InterconnectAttachmentGroupsDeleteCall {
+func (c *InstantSnapshotGroupsGetIamPolicyCall) Context(ctx context.Context) *InstantSnapshotGroupsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsDeleteCall) Header() http.Header {
+func (c *InstantSnapshotGroupsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstantSnapshotGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectAttachmentGroup": c.interconnectAttachmentGroup,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.delete" call.
+// Do executes the "compute.instantSnapshotGroups.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstantSnapshotGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -47297,7 +46805,7 @@ func (c *InterconnectAttachmentGroupsDeleteCall) Do(opts ...googleapi.CallOption
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -47308,94 +46816,113 @@ func (c *InterconnectAttachmentGroupsDeleteCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentGroupsGetCall struct {
- s *Service
- project string
- interconnectAttachmentGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotGroupsInsertCall struct {
+ s *Service
+ project string
+ zone string
+ instantsnapshotgroup *InstantSnapshotGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified InterconnectAttachmentGroup resource in the
-// given
-// scope.
+// Insert: inserts a Zonal InstantSnapshotGroup resource
//
-// - interconnectAttachmentGroup: Name of the InterconnectAttachmentGroup
-// resource to return.
-// - project: Project ID for this request.
-func (r *InterconnectAttachmentGroupsService) Get(project string, interconnectAttachmentGroup string) *InterconnectAttachmentGroupsGetCall {
- c := &InterconnectAttachmentGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - zone: Name of the zone for this request.
+func (r *InstantSnapshotGroupsService) Insert(project string, zone string, instantsnapshotgroup *InstantSnapshotGroup) *InstantSnapshotGroupsInsertCall {
+ c := &InstantSnapshotGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectAttachmentGroup = interconnectAttachmentGroup
+ c.zone = zone
+ c.instantsnapshotgroup = instantsnapshotgroup
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstantSnapshotGroupsInsertCall) RequestId(requestId string) *InstantSnapshotGroupsInsertCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// SourceConsistencyGroup sets the optional parameter "sourceConsistencyGroup":
+// begin_interface: MixerMutationRequestBuilder
+func (c *InstantSnapshotGroupsInsertCall) SourceConsistencyGroup(sourceConsistencyGroup string) *InstantSnapshotGroupsInsertCall {
+ c.urlParams_.Set("sourceConsistencyGroup", sourceConsistencyGroup)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsGetCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsGetCall {
+func (c *InstantSnapshotGroupsInsertCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectAttachmentGroupsGetCall) IfNoneMatch(entityTag string) *InterconnectAttachmentGroupsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsGetCall) Context(ctx context.Context) *InterconnectAttachmentGroupsGetCall {
+func (c *InstantSnapshotGroupsInsertCall) Context(ctx context.Context) *InstantSnapshotGroupsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsGetCall) Header() http.Header {
+func (c *InstantSnapshotGroupsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstantSnapshotGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instantsnapshotgroup)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectAttachmentGroup": c.interconnectAttachmentGroup,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.get" call.
+// Do executes the "compute.instantSnapshotGroups.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectAttachmentGroup.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentGroup, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstantSnapshotGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -47414,7 +46941,7 @@ func (c *InterconnectAttachmentGroupsGetCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectAttachmentGroup{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -47425,44 +46952,150 @@ func (c *InterconnectAttachmentGroupsGetCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentGroupsGetIamPolicyCall struct {
- s *Service
- project string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotGroupsListCall struct {
+ s *Service
+ project string
+ zone string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: retrieves the list of InstantSnapshotGroup resources contained
+// within
+// the specified zone.
+//
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotGroupsService) List(project string, zone string) *InstantSnapshotGroupsListCall {
+ c := &InstantSnapshotGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InstantSnapshotGroupsListCall) Filter(filter string) *InstantSnapshotGroupsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InstantSnapshotGroupsListCall) MaxResults(maxResults int64) *InstantSnapshotGroupsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InterconnectAttachmentGroupsService) GetIamPolicy(project string, resource string) *InterconnectAttachmentGroupsGetIamPolicyCall {
- c := &InterconnectAttachmentGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.resource = resource
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InstantSnapshotGroupsListCall) OrderBy(orderBy string) *InstantSnapshotGroupsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *InterconnectAttachmentGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InterconnectAttachmentGroupsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InstantSnapshotGroupsListCall) PageToken(pageToken string) *InstantSnapshotGroupsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsGetIamPolicyCall {
+func (c *InstantSnapshotGroupsListCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -47470,34 +47103,34 @@ func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Fields(s ...googleapi.Fie
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectAttachmentGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *InterconnectAttachmentGroupsGetIamPolicyCall {
+func (c *InstantSnapshotGroupsListCall) IfNoneMatch(entityTag string) *InstantSnapshotGroupsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Context(ctx context.Context) *InterconnectAttachmentGroupsGetIamPolicyCall {
+func (c *InstantSnapshotGroupsListCall) Context(ctx context.Context) *InstantSnapshotGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Header() http.Header {
+func (c *InstantSnapshotGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstantSnapshotGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -47505,19 +47138,20 @@ func (c *InterconnectAttachmentGroupsGetIamPolicyCall) doRequest(alt string) (*h
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.getIamPolicy" call.
+// Do executes the "compute.instantSnapshotGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *ListInstantSnapshotGroups.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstantSnapshotGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInstantSnapshotGroups, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -47536,7 +47170,7 @@ func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Do(opts ...googleapi.Call
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &ListInstantSnapshotGroups{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -47547,94 +47181,111 @@ func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentGroupsGetOperationalStatusCall struct {
- s *Service
- project string
- interconnectAttachmentGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstantSnapshotGroupsListCall) Pages(ctx context.Context, f func(*ListInstantSnapshotGroups) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// GetOperationalStatus: Returns the InterconnectAttachmentStatuses for the
-// specified
-// InterconnectAttachmentGroup resource.
+type InstantSnapshotGroupsSetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ zonesetpolicyrequest *ZoneSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - interconnectAttachmentGroup: Name of the interconnectAttachmentGroup
-// resource to query.
-// - project: Project ID for this request.
-func (r *InterconnectAttachmentGroupsService) GetOperationalStatus(project string, interconnectAttachmentGroup string) *InterconnectAttachmentGroupsGetOperationalStatusCall {
- c := &InterconnectAttachmentGroupsGetOperationalStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotGroupsService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *InstantSnapshotGroupsSetIamPolicyCall {
+ c := &InstantSnapshotGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectAttachmentGroup = interconnectAttachmentGroup
+ c.zone = zone
+ c.resource = resource
+ c.zonesetpolicyrequest = zonesetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsGetOperationalStatusCall {
+func (c *InstantSnapshotGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) IfNoneMatch(entityTag string) *InterconnectAttachmentGroupsGetOperationalStatusCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Context(ctx context.Context) *InterconnectAttachmentGroupsGetOperationalStatusCall {
+func (c *InstantSnapshotGroupsSetIamPolicyCall) Context(ctx context.Context) *InstantSnapshotGroupsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Header() http.Header {
+func (c *InstantSnapshotGroupsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstantSnapshotGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectAttachmentGroup": c.interconnectAttachmentGroup,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.getOperationalStatus", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.getOperationalStatus" call.
+// Do executes the "compute.instantSnapshotGroups.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectAttachmentGroupsGetOperationalStatusResponse.ServerResponse.Head
-// er or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentGroupsGetOperationalStatusResponse, error) {
+func (c *InstantSnapshotGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -47653,7 +47304,7 @@ func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Do(opts ...google
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectAttachmentGroupsGetOperationalStatusResponse{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -47664,86 +47315,68 @@ func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Do(opts ...google
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.getOperationalStatus", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentGroupsInsertCall struct {
- s *Service
- project string
- interconnectattachmentgroup *InterconnectAttachmentGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotGroupsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a InterconnectAttachmentGroup in the specified project in
-// the given
-// scope using the parameters that are included in the request.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
// - project: Project ID for this request.
-func (r *InterconnectAttachmentGroupsService) Insert(project string, interconnectattachmentgroup *InterconnectAttachmentGroup) *InterconnectAttachmentGroupsInsertCall {
- c := &InterconnectAttachmentGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstantSnapshotGroupsTestIamPermissionsCall {
+ c := &InstantSnapshotGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectattachmentgroup = interconnectattachmentgroup
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *InterconnectAttachmentGroupsInsertCall) RequestId(requestId string) *InterconnectAttachmentGroupsInsertCall {
- c.urlParams_.Set("requestId", requestId)
+ c.zone = zone
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsInsertCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsInsertCall {
+func (c *InstantSnapshotGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstantSnapshotGroupsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsInsertCall) Context(ctx context.Context) *InterconnectAttachmentGroupsInsertCall {
+func (c *InstantSnapshotGroupsTestIamPermissionsCall) Context(ctx context.Context) *InstantSnapshotGroupsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsInsertCall) Header() http.Header {
+func (c *InstantSnapshotGroupsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectattachmentgroup)
+func (c *InstantSnapshotGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -47751,18 +47384,21 @@ func (c *InterconnectAttachmentGroupsInsertCall) doRequest(alt string) (*http.Re
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.insert" call.
+// Do executes the "compute.instantSnapshotGroups.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstantSnapshotGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -47781,7 +47417,7 @@ func (c *InterconnectAttachmentGroupsInsertCall) Do(opts ...googleapi.CallOption
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -47792,11 +47428,11 @@ func (c *InterconnectAttachmentGroupsInsertCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshotGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentGroupsListCall struct {
+type InstantSnapshotsAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -47805,12 +47441,15 @@ type InterconnectAttachmentGroupsListCall struct {
header_ http.Header
}
-// List: Lists the InterconnectAttachmentGroups for a project in the given
-// scope.
+// AggregatedList: Retrieves an aggregated list of instantSnapshots.
+//
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-func (r *InterconnectAttachmentGroupsService) List(project string) *InterconnectAttachmentGroupsListCall {
- c := &InterconnectAttachmentGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InstantSnapshotsService) AggregatedList(project string) *InstantSnapshotsAggregatedListCall {
+ c := &InstantSnapshotsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -47882,11 +47521,29 @@ func (r *InterconnectAttachmentGroupsService) List(project string) *Interconnect
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InterconnectAttachmentGroupsListCall) Filter(filter string) *InterconnectAttachmentGroupsListCall {
+func (c *InstantSnapshotsAggregatedListCall) Filter(filter string) *InstantSnapshotsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *InstantSnapshotsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InstantSnapshotsAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -47894,7 +47551,7 @@ func (c *InterconnectAttachmentGroupsListCall) Filter(filter string) *Interconne
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InterconnectAttachmentGroupsListCall) MaxResults(maxResults int64) *InterconnectAttachmentGroupsListCall {
+func (c *InstantSnapshotsAggregatedListCall) MaxResults(maxResults int64) *InstantSnapshotsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -47914,7 +47571,7 @@ func (c *InterconnectAttachmentGroupsListCall) MaxResults(maxResults int64) *Int
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InterconnectAttachmentGroupsListCall) OrderBy(orderBy string) *InterconnectAttachmentGroupsListCall {
+func (c *InstantSnapshotsAggregatedListCall) OrderBy(orderBy string) *InstantSnapshotsAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -47923,30 +47580,23 @@ func (c *InterconnectAttachmentGroupsListCall) OrderBy(orderBy string) *Intercon
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InterconnectAttachmentGroupsListCall) PageToken(pageToken string) *InterconnectAttachmentGroupsListCall {
+func (c *InstantSnapshotsAggregatedListCall) PageToken(pageToken string) *InstantSnapshotsAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InterconnectAttachmentGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InterconnectAttachmentGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *InstantSnapshotsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InstantSnapshotsAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsListCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsListCall {
+func (c *InstantSnapshotsAggregatedListCall) Fields(s ...googleapi.Field) *InstantSnapshotsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -47954,34 +47604,34 @@ func (c *InterconnectAttachmentGroupsListCall) Fields(s ...googleapi.Field) *Int
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectAttachmentGroupsListCall) IfNoneMatch(entityTag string) *InterconnectAttachmentGroupsListCall {
+func (c *InstantSnapshotsAggregatedListCall) IfNoneMatch(entityTag string) *InstantSnapshotsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsListCall) Context(ctx context.Context) *InterconnectAttachmentGroupsListCall {
+func (c *InstantSnapshotsAggregatedListCall) Context(ctx context.Context) *InstantSnapshotsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsListCall) Header() http.Header {
+func (c *InstantSnapshotsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstantSnapshotsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/instantSnapshots")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -47991,17 +47641,17 @@ func (c *InterconnectAttachmentGroupsListCall) doRequest(alt string) (*http.Resp
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.list" call.
+// Do executes the "compute.instantSnapshots.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectAttachmentGroupsListResponse.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
+// *InstantSnapshotAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsListCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentGroupsListResponse, error) {
+func (c *InstantSnapshotsAggregatedListCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -48020,7 +47670,7 @@ func (c *InterconnectAttachmentGroupsListCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectAttachmentGroupsListResponse{
+ ret := &InstantSnapshotAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -48031,14 +47681,14 @@ func (c *InterconnectAttachmentGroupsListCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InterconnectAttachmentGroupsListCall) Pages(ctx context.Context, f func(*InterconnectAttachmentGroupsListResponse) error) error {
+func (c *InstantSnapshotsAggregatedListCall) Pages(ctx context.Context, f func(*InstantSnapshotAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -48056,30 +47706,37 @@ func (c *InterconnectAttachmentGroupsListCall) Pages(ctx context.Context, f func
}
}
-type InterconnectAttachmentGroupsPatchCall struct {
- s *Service
- project string
- interconnectAttachmentGroup string
- interconnectattachmentgroup *InterconnectAttachmentGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotsDeleteCall struct {
+ s *Service
+ project string
+ zone string
+ instantSnapshot string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified InterconnectAttachmentGroup resource with the
-// data
-// included in the request. This method supports PATCH
-// semantics and usesJSON merge
-// patch format and processing rules.
+// Delete: Deletes the specified InstantSnapshot resource. Keep in mind that
+// deleting
+// a single instantSnapshot might not necessarily delete all the data on
+// that
+// instantSnapshot. If any data on the instantSnapshot that is marked
+// for
+// deletion is needed for subsequent instantSnapshots, the data will be
+// moved
+// to the next corresponding instantSnapshot.
//
-// - interconnectAttachmentGroup: Name of the InterconnectAttachmentGroup
-// resource to patch.
-// - project: Project ID for this request.
-func (r *InterconnectAttachmentGroupsService) Patch(project string, interconnectAttachmentGroup string, interconnectattachmentgroup *InterconnectAttachmentGroup) *InterconnectAttachmentGroupsPatchCall {
- c := &InterconnectAttachmentGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// For more information, seeDeleting
+// instantSnapshots.
+//
+// - instantSnapshot: Name of the InstantSnapshot resource to delete.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotsService) Delete(project string, zone string, instantSnapshot string) *InstantSnapshotsDeleteCall {
+ c := &InstantSnapshotsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectAttachmentGroup = interconnectAttachmentGroup
- c.interconnectattachmentgroup = interconnectattachmentgroup
+ c.zone = zone
+ c.instantSnapshot = instantSnapshot
return c
}
@@ -48100,71 +47757,178 @@ func (r *InterconnectAttachmentGroupsService) Patch(project string, interconnect
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *InterconnectAttachmentGroupsPatchCall) RequestId(requestId string) *InterconnectAttachmentGroupsPatchCall {
+func (c *InstantSnapshotsDeleteCall) RequestId(requestId string) *InstantSnapshotsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// UpdateMask sets the optional parameter "updateMask": The list of fields to
-// update.
-func (c *InterconnectAttachmentGroupsPatchCall) UpdateMask(updateMask string) *InterconnectAttachmentGroupsPatchCall {
- c.urlParams_.Set("updateMask", updateMask)
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InstantSnapshotsDeleteCall) Fields(s ...googleapi.Field) *InstantSnapshotsDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *InstantSnapshotsDeleteCall) Context(ctx context.Context) *InstantSnapshotsDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InstantSnapshotsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstantSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("DELETE", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instantSnapshot": c.instantSnapshot,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.delete", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instantSnapshots.delete" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstantSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.delete", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type InstantSnapshotsGetCall struct {
+ s *Service
+ project string
+ zone string
+ instantSnapshot string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified InstantSnapshot resource in the specified zone.
+//
+// - instantSnapshot: Name of the InstantSnapshot resource to return.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotsService) Get(project string, zone string, instantSnapshot string) *InstantSnapshotsGetCall {
+ c := &InstantSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instantSnapshot = instantSnapshot
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsPatchCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsPatchCall {
+func (c *InstantSnapshotsGetCall) Fields(s ...googleapi.Field) *InstantSnapshotsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstantSnapshotsGetCall) IfNoneMatch(entityTag string) *InstantSnapshotsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsPatchCall) Context(ctx context.Context) *InterconnectAttachmentGroupsPatchCall {
+func (c *InstantSnapshotsGetCall) Context(ctx context.Context) *InstantSnapshotsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsPatchCall) Header() http.Header {
+func (c *InstantSnapshotsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectattachmentgroup)
- if err != nil {
- return nil, err
+func (c *InstantSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectAttachmentGroup": c.interconnectAttachmentGroup,
+ "project": c.project,
+ "zone": c.zone,
+ "instantSnapshot": c.instantSnapshot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.patch" call.
+// Do executes the "compute.instantSnapshots.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstantSnapshot.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstantSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnapshot, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -48183,7 +47947,7 @@ func (c *InterconnectAttachmentGroupsPatchCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstantSnapshot{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -48194,86 +47958,103 @@ func (c *InterconnectAttachmentGroupsPatchCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentGroupsSetIamPolicyCall struct {
- s *Service
- project string
- resource string
- globalsetpolicyrequest *GlobalSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotsGetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
-func (r *InterconnectAttachmentGroupsService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *InterconnectAttachmentGroupsSetIamPolicyCall {
- c := &InterconnectAttachmentGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotsService) GetIamPolicy(project string, zone string, resource string) *InstantSnapshotsGetIamPolicyCall {
+ c := &InstantSnapshotsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
c.resource = resource
- c.globalsetpolicyrequest = globalsetpolicyrequest
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *InstantSnapshotsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InstantSnapshotsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsSetIamPolicyCall {
+func (c *InstantSnapshotsGetIamPolicyCall) Fields(s ...googleapi.Field) *InstantSnapshotsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InstantSnapshotsGetIamPolicyCall) IfNoneMatch(entityTag string) *InstantSnapshotsGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Context(ctx context.Context) *InterconnectAttachmentGroupsSetIamPolicyCall {
+func (c *InstantSnapshotsGetIamPolicyCall) Context(ctx context.Context) *InstantSnapshotsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Header() http.Header {
+func (c *InstantSnapshotsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
- if err != nil {
- return nil, err
+func (c *InstantSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "zone": c.zone,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.setIamPolicy" call.
+// Do executes the "compute.instantSnapshots.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InstantSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -48303,65 +48084,86 @@ func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentGroupsTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotsInsertCall struct {
+ s *Service
+ project string
+ zone string
+ instantsnapshot *InstantSnapshot
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Insert: Creates an instant snapshot in the specified zone.
//
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InterconnectAttachmentGroupsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *InterconnectAttachmentGroupsTestIamPermissionsCall {
- c := &InterconnectAttachmentGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: Name of the zone for this request.
+func (r *InstantSnapshotsService) Insert(project string, zone string, instantsnapshot *InstantSnapshot) *InstantSnapshotsInsertCall {
+ c := &InstantSnapshotsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.zone = zone
+ c.instantsnapshot = instantsnapshot
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InstantSnapshotsInsertCall) RequestId(requestId string) *InstantSnapshotsInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsTestIamPermissionsCall {
+func (c *InstantSnapshotsInsertCall) Fields(s ...googleapi.Field) *InstantSnapshotsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Context(ctx context.Context) *InterconnectAttachmentGroupsTestIamPermissionsCall {
+func (c *InstantSnapshotsInsertCall) Context(ctx context.Context) *InstantSnapshotsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Header() http.Header {
+func (c *InstantSnapshotsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *InstantSnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instantsnapshot)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -48369,20 +48171,19 @@ func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) doRequest(alt strin
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachmentGroups.testIamPermissions" call.
+// Do executes the "compute.instantSnapshots.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstantSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -48401,7 +48202,7 @@ func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Do(opts ...googleap
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -48412,30 +48213,29 @@ func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Do(opts ...googleap
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentsAggregatedListCall struct {
+type InstantSnapshotsListCall struct {
s *Service
project string
+ zone string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of interconnect
-// attachments.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// List: Retrieves the list of InstantSnapshot resources contained within
+// the specified zone.
//
// - project: Project ID for this request.
-func (r *InterconnectAttachmentsService) AggregatedList(project string) *InterconnectAttachmentsAggregatedListCall {
- c := &InterconnectAttachmentsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotsService) List(project string, zone string) *InstantSnapshotsListCall {
+ c := &InstantSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
return c
}
@@ -48506,29 +48306,11 @@ func (r *InterconnectAttachmentsService) AggregatedList(project string) *Interco
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InterconnectAttachmentsAggregatedListCall) Filter(filter string) *InterconnectAttachmentsAggregatedListCall {
+func (c *InstantSnapshotsListCall) Filter(filter string) *InstantSnapshotsListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *InterconnectAttachmentsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InterconnectAttachmentsAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -48536,7 +48318,7 @@ func (c *InterconnectAttachmentsAggregatedListCall) IncludeAllScopes(includeAllS
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InterconnectAttachmentsAggregatedListCall) MaxResults(maxResults int64) *InterconnectAttachmentsAggregatedListCall {
+func (c *InstantSnapshotsListCall) MaxResults(maxResults int64) *InstantSnapshotsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -48556,7 +48338,7 @@ func (c *InterconnectAttachmentsAggregatedListCall) MaxResults(maxResults int64)
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InterconnectAttachmentsAggregatedListCall) OrderBy(orderBy string) *InterconnectAttachmentsAggregatedListCall {
+func (c *InstantSnapshotsListCall) OrderBy(orderBy string) *InstantSnapshotsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -48565,38 +48347,15 @@ func (c *InterconnectAttachmentsAggregatedListCall) OrderBy(orderBy string) *Int
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InterconnectAttachmentsAggregatedListCall) PageToken(pageToken string) *InterconnectAttachmentsAggregatedListCall {
+func (c *InstantSnapshotsListCall) PageToken(pageToken string) *InstantSnapshotsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InterconnectAttachmentsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InterconnectAttachmentsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *InterconnectAttachmentsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InterconnectAttachmentsAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentsAggregatedListCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsAggregatedListCall {
+func (c *InstantSnapshotsListCall) Fields(s ...googleapi.Field) *InstantSnapshotsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -48604,34 +48363,34 @@ func (c *InterconnectAttachmentsAggregatedListCall) Fields(s ...googleapi.Field)
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectAttachmentsAggregatedListCall) IfNoneMatch(entityTag string) *InterconnectAttachmentsAggregatedListCall {
+func (c *InstantSnapshotsListCall) IfNoneMatch(entityTag string) *InstantSnapshotsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentsAggregatedListCall) Context(ctx context.Context) *InterconnectAttachmentsAggregatedListCall {
+func (c *InstantSnapshotsListCall) Context(ctx context.Context) *InstantSnapshotsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentsAggregatedListCall) Header() http.Header {
+func (c *InstantSnapshotsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InstantSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/interconnectAttachments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -48640,18 +48399,19 @@ func (c *InterconnectAttachmentsAggregatedListCall) doRequest(alt string) (*http
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachments.aggregatedList" call.
+// Do executes the "compute.instantSnapshots.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectAttachmentAggregatedList.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InterconnectAttachmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentAggregatedList, error) {
+// *InstantSnapshotList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InstantSnapshotsListCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -48670,7 +48430,7 @@ func (c *InterconnectAttachmentsAggregatedListCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectAttachmentAggregatedList{
+ ret := &InstantSnapshotList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -48681,14 +48441,14 @@ func (c *InterconnectAttachmentsAggregatedListCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InterconnectAttachmentsAggregatedListCall) Pages(ctx context.Context, f func(*InterconnectAttachmentAggregatedList) error) error {
+func (c *InstantSnapshotsListCall) Pages(ctx context.Context, f func(*InstantSnapshotList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -48706,218 +48466,86 @@ func (c *InterconnectAttachmentsAggregatedListCall) Pages(ctx context.Context, f
}
}
-type InterconnectAttachmentsDeleteCall struct {
- s *Service
- project string
- region string
- interconnectAttachment string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotsSetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ zonesetpolicyrequest *ZoneSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified interconnect attachment.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - interconnectAttachment: Name of the interconnect attachment to delete.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *InterconnectAttachmentsService) Delete(project string, region string, interconnectAttachment string) *InterconnectAttachmentsDeleteCall {
- c := &InterconnectAttachmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotsService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *InstantSnapshotsSetIamPolicyCall {
+ c := &InstantSnapshotsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.interconnectAttachment = interconnectAttachment
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InterconnectAttachmentsDeleteCall) RequestId(requestId string) *InterconnectAttachmentsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.zone = zone
+ c.resource = resource
+ c.zonesetpolicyrequest = zonesetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentsDeleteCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsDeleteCall {
+func (c *InstantSnapshotsSetIamPolicyCall) Fields(s ...googleapi.Field) *InstantSnapshotsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentsDeleteCall) Context(ctx context.Context) *InterconnectAttachmentsDeleteCall {
+func (c *InstantSnapshotsSetIamPolicyCall) Context(ctx context.Context) *InstantSnapshotsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentsDeleteCall) Header() http.Header {
+func (c *InstantSnapshotsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "interconnectAttachment": c.interconnectAttachment,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.delete", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.interconnectAttachments.delete" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
+func (c *InstantSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.delete", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InterconnectAttachmentsGetCall struct {
- s *Service
- project string
- region string
- interconnectAttachment string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// Get: Returns the specified interconnect attachment.
-//
-// - interconnectAttachment: Name of the interconnect attachment to return.
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *InterconnectAttachmentsService) Get(project string, region string, interconnectAttachment string) *InterconnectAttachmentsGetCall {
- c := &InterconnectAttachmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.interconnectAttachment = interconnectAttachment
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InterconnectAttachmentsGetCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectAttachmentsGetCall) IfNoneMatch(entityTag string) *InterconnectAttachmentsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentsGetCall) Context(ctx context.Context) *InterconnectAttachmentsGetCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InterconnectAttachmentsGetCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InterconnectAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "interconnectAttachment": c.interconnectAttachment,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachments.get" call.
+// Do executes the "compute.instantSnapshots.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectAttachment.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InterconnectAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachment, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InstantSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -48936,7 +48564,7 @@ func (c *InterconnectAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*Inte
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectAttachment{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -48947,31 +48575,35 @@ func (c *InterconnectAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*Inte
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentsInsertCall struct {
- s *Service
- project string
- region string
- interconnectattachment *InterconnectAttachment
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotsSetLabelsCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ zonesetlabelsrequest *ZoneSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates an InterconnectAttachment in the specified project using the
-// data
-// included in the request.
+// SetLabels: Sets the labels on a instantSnapshot in the given zone. To learn
+// more about
+// labels, read the Labeling
+// Resources documentation.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *InterconnectAttachmentsService) Insert(project string, region string, interconnectattachment *InterconnectAttachment) *InterconnectAttachmentsInsertCall {
- c := &InterconnectAttachmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotsService) SetLabels(project string, zone string, resource string, zonesetlabelsrequest *ZoneSetLabelsRequest) *InstantSnapshotsSetLabelsCall {
+ c := &InstantSnapshotsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.interconnectattachment = interconnectattachment
+ c.zone = zone
+ c.resource = resource
+ c.zonesetlabelsrequest = zonesetlabelsrequest
return c
}
@@ -48992,50 +48624,43 @@ func (r *InterconnectAttachmentsService) Insert(project string, region string, i
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InterconnectAttachmentsInsertCall) RequestId(requestId string) *InterconnectAttachmentsInsertCall {
+func (c *InstantSnapshotsSetLabelsCall) RequestId(requestId string) *InstantSnapshotsSetLabelsCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// ValidateOnly sets the optional parameter "validateOnly": If true, the
-// request will not be committed.
-func (c *InterconnectAttachmentsInsertCall) ValidateOnly(validateOnly bool) *InterconnectAttachmentsInsertCall {
- c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentsInsertCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsInsertCall {
+func (c *InstantSnapshotsSetLabelsCall) Fields(s ...googleapi.Field) *InstantSnapshotsSetLabelsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentsInsertCall) Context(ctx context.Context) *InterconnectAttachmentsInsertCall {
+func (c *InstantSnapshotsSetLabelsCall) Context(ctx context.Context) *InstantSnapshotsSetLabelsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentsInsertCall) Header() http.Header {
+func (c *InstantSnapshotsSetLabelsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectattachment)
+func (c *InstantSnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetlabelsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -49043,19 +48668,20 @@ func (c *InterconnectAttachmentsInsertCall) doRequest(alt string) (*http.Respons
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachments.insert" call.
+// Do executes the "compute.instantSnapshots.setLabels" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InstantSnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -49085,220 +48711,90 @@ func (c *InterconnectAttachmentsInsertCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.setLabels", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentsListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InstantSnapshotsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves the list of interconnect attachments contained within
-// the specified region.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *InterconnectAttachmentsService) List(project string, region string) *InterconnectAttachmentsListCall {
- c := &InterconnectAttachmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *InstantSnapshotsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *InstantSnapshotsTestIamPermissionsCall {
+ c := &InstantSnapshotsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InterconnectAttachmentsListCall) Filter(filter string) *InterconnectAttachmentsListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InterconnectAttachmentsListCall) MaxResults(maxResults int64) *InterconnectAttachmentsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InterconnectAttachmentsListCall) OrderBy(orderBy string) *InterconnectAttachmentsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InterconnectAttachmentsListCall) PageToken(pageToken string) *InterconnectAttachmentsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InterconnectAttachmentsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InterconnectAttachmentsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+ c.zone = zone
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentsListCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsListCall {
+func (c *InstantSnapshotsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InstantSnapshotsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectAttachmentsListCall) IfNoneMatch(entityTag string) *InterconnectAttachmentsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentsListCall) Context(ctx context.Context) *InterconnectAttachmentsListCall {
+func (c *InstantSnapshotsTestIamPermissionsCall) Context(ctx context.Context) *InstantSnapshotsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentsListCall) Header() http.Header {
+func (c *InstantSnapshotsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InstantSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instantSnapshots.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachments.list" call.
+// Do executes the "compute.instantSnapshots.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectAttachmentList.ServerResponse.Header or (if a response was
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *InterconnectAttachmentsListCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentList, error) {
+func (c *InstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -49317,7 +48813,7 @@ func (c *InterconnectAttachmentsListCall) Do(opts ...googleapi.CallOption) (*Int
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectAttachmentList{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -49328,57 +48824,28 @@ func (c *InterconnectAttachmentsListCall) Do(opts ...googleapi.CallOption) (*Int
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instantSnapshots.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InterconnectAttachmentsListCall) Pages(ctx context.Context, f func(*InterconnectAttachmentList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type InterconnectAttachmentsPatchCall struct {
- s *Service
- project string
- region string
- interconnectAttachment string
- interconnectattachment *InterconnectAttachment
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentGroupsDeleteCall struct {
+ s *Service
+ project string
+ interconnectAttachmentGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the specified interconnect attachment with the data included
-// in the
-// request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// Delete: Deletes the specified InterconnectAttachmentGroup in the given scope
//
-// - interconnectAttachment: Name of the interconnect attachment to patch.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *InterconnectAttachmentsService) Patch(project string, region string, interconnectAttachment string, interconnectattachment *InterconnectAttachment) *InterconnectAttachmentsPatchCall {
- c := &InterconnectAttachmentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - interconnectAttachmentGroup: Name of the InterconnectAttachmentGroup
+// resource to delete.
+// - project: Project ID for this request.
+func (r *InterconnectAttachmentGroupsService) Delete(project string, interconnectAttachmentGroup string) *InterconnectAttachmentGroupsDeleteCall {
+ c := &InterconnectAttachmentGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.interconnectAttachment = interconnectAttachment
- c.interconnectattachment = interconnectattachment
+ c.interconnectAttachmentGroup = interconnectAttachmentGroup
return c
}
@@ -49399,7 +48866,8 @@ func (r *InterconnectAttachmentsService) Patch(project string, region string, in
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InterconnectAttachmentsPatchCall) RequestId(requestId string) *InterconnectAttachmentsPatchCall {
+// end_interface: MixerMutationRequestBuilder
+func (c *InterconnectAttachmentGroupsDeleteCall) RequestId(requestId string) *InterconnectAttachmentGroupsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -49407,56 +48875,51 @@ func (c *InterconnectAttachmentsPatchCall) RequestId(requestId string) *Intercon
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentsPatchCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsPatchCall {
+func (c *InterconnectAttachmentGroupsDeleteCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentsPatchCall) Context(ctx context.Context) *InterconnectAttachmentsPatchCall {
+func (c *InterconnectAttachmentGroupsDeleteCall) Context(ctx context.Context) *InterconnectAttachmentGroupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentsPatchCall) Header() http.Header {
+func (c *InterconnectAttachmentGroupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectattachment)
- if err != nil {
- return nil, err
- }
+func (c *InterconnectAttachmentGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "interconnectAttachment": c.interconnectAttachment,
+ "project": c.project,
+ "interconnectAttachmentGroup": c.interconnectAttachmentGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachments.patch" call.
+// Do executes the "compute.interconnectAttachmentGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectAttachmentGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -49486,113 +48949,216 @@ func (c *InterconnectAttachmentsPatchCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectAttachmentsSetLabelsCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetlabelsrequest *RegionSetLabelsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentGroupsGetCall struct {
+ s *Service
+ project string
+ interconnectAttachmentGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetLabels: Sets the labels on an InterconnectAttachment. To learn more about
-// labels,
-// read the Labeling
-// Resources documentation.
+// Get: Returns the specified InterconnectAttachmentGroup resource in the
+// given
+// scope.
//
-// - project: Project ID for this request.
-// - region: The region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InterconnectAttachmentsService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *InterconnectAttachmentsSetLabelsCall {
- c := &InterconnectAttachmentsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - interconnectAttachmentGroup: Name of the InterconnectAttachmentGroup
+// resource to return.
+// - project: Project ID for this request.
+func (r *InterconnectAttachmentGroupsService) Get(project string, interconnectAttachmentGroup string) *InterconnectAttachmentGroupsGetCall {
+ c := &InterconnectAttachmentGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resource = resource
- c.regionsetlabelsrequest = regionsetlabelsrequest
+ c.interconnectAttachmentGroup = interconnectAttachmentGroup
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *InterconnectAttachmentsSetLabelsCall) RequestId(requestId string) *InterconnectAttachmentsSetLabelsCall {
- c.urlParams_.Set("requestId", requestId)
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InterconnectAttachmentGroupsGetCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectAttachmentGroupsGetCall) IfNoneMatch(entityTag string) *InterconnectAttachmentGroupsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *InterconnectAttachmentGroupsGetCall) Context(ctx context.Context) *InterconnectAttachmentGroupsGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InterconnectAttachmentGroupsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InterconnectAttachmentGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "interconnectAttachmentGroup": c.interconnectAttachmentGroup,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.interconnectAttachmentGroups.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *InterconnectAttachmentGroup.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectAttachmentGroupsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentGroup, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &InterconnectAttachmentGroup{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type InterconnectAttachmentGroupsGetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
+//
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+func (r *InterconnectAttachmentGroupsService) GetIamPolicy(project string, resource string) *InterconnectAttachmentGroupsGetIamPolicyCall {
+ c := &InterconnectAttachmentGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *InterconnectAttachmentGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InterconnectAttachmentGroupsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectAttachmentsSetLabelsCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsSetLabelsCall {
+func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectAttachmentGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *InterconnectAttachmentGroupsGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectAttachmentsSetLabelsCall) Context(ctx context.Context) *InterconnectAttachmentsSetLabelsCall {
+func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Context(ctx context.Context) *InterconnectAttachmentGroupsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectAttachmentsSetLabelsCall) Header() http.Header {
+func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectAttachmentsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
- if err != nil {
- return nil, err
+func (c *InterconnectAttachmentGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectAttachments.setLabels" call.
+// Do executes the "compute.interconnectAttachmentGroups.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectAttachmentsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectAttachmentGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -49611,7 +49177,7 @@ func (c *InterconnectAttachmentsSetLabelsCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -49622,86 +49188,94 @@ func (c *InterconnectAttachmentsSetLabelsCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsCreateMembersCall struct {
- s *Service
- project string
- interconnectGroup string
- interconnectgroupscreatemembersrequest *InterconnectGroupsCreateMembersRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentGroupsGetOperationalStatusCall struct {
+ s *Service
+ project string
+ interconnectAttachmentGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// CreateMembers: Create Interconnects with redundancy by creating them in a
+// GetOperationalStatus: Returns the InterconnectAttachmentStatuses for the
// specified
-// interconnect group.
+// InterconnectAttachmentGroup resource.
//
-// - interconnectGroup: Name of the group resource to create members for.
-// - project: Project ID for this request.
-func (r *InterconnectGroupsService) CreateMembers(project string, interconnectGroup string, interconnectgroupscreatemembersrequest *InterconnectGroupsCreateMembersRequest) *InterconnectGroupsCreateMembersCall {
- c := &InterconnectGroupsCreateMembersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - interconnectAttachmentGroup: Name of the interconnectAttachmentGroup
+// resource to query.
+// - project: Project ID for this request.
+func (r *InterconnectAttachmentGroupsService) GetOperationalStatus(project string, interconnectAttachmentGroup string) *InterconnectAttachmentGroupsGetOperationalStatusCall {
+ c := &InterconnectAttachmentGroupsGetOperationalStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectGroup = interconnectGroup
- c.interconnectgroupscreatemembersrequest = interconnectgroupscreatemembersrequest
+ c.interconnectAttachmentGroup = interconnectAttachmentGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsCreateMembersCall) Fields(s ...googleapi.Field) *InterconnectGroupsCreateMembersCall {
+func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsGetOperationalStatusCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) IfNoneMatch(entityTag string) *InterconnectAttachmentGroupsGetOperationalStatusCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsCreateMembersCall) Context(ctx context.Context) *InterconnectGroupsCreateMembersCall {
+func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Context(ctx context.Context) *InterconnectAttachmentGroupsGetOperationalStatusCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsCreateMembersCall) Header() http.Header {
+func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsCreateMembersCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectgroupscreatemembersrequest)
- if err != nil {
- return nil, err
+func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectGroup": c.interconnectGroup,
+ "project": c.project,
+ "interconnectAttachmentGroup": c.interconnectAttachmentGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.createMembers", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.getOperationalStatus", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.createMembers" call.
+// Do executes the "compute.interconnectAttachmentGroups.getOperationalStatus" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *InterconnectAttachmentGroupsGetOperationalStatusResponse.ServerResponse.Head
+// er or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectGroupsCreateMembersCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectAttachmentGroupsGetOperationalStatusCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentGroupsGetOperationalStatusResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -49720,7 +49294,7 @@ func (c *InterconnectGroupsCreateMembersCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InterconnectAttachmentGroupsGetOperationalStatusResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -49731,27 +49305,28 @@ func (c *InterconnectGroupsCreateMembersCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.createMembers", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.getOperationalStatus", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsDeleteCall struct {
- s *Service
- project string
- interconnectGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentGroupsInsertCall struct {
+ s *Service
+ project string
+ interconnectattachmentgroup *InterconnectAttachmentGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified InterconnectGroup in the given scope
+// Insert: Creates a InterconnectAttachmentGroup in the specified project in
+// the given
+// scope using the parameters that are included in the request.
//
-// - interconnectGroup: Name of the InterconnectGroup resource to delete.
// - project: Project ID for this request.
-func (r *InterconnectGroupsService) Delete(project string, interconnectGroup string) *InterconnectGroupsDeleteCall {
- c := &InterconnectGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectAttachmentGroupsService) Insert(project string, interconnectattachmentgroup *InterconnectAttachmentGroup) *InterconnectAttachmentGroupsInsertCall {
+ c := &InterconnectAttachmentGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectGroup = interconnectGroup
+ c.interconnectattachmentgroup = interconnectattachmentgroup
return c
}
@@ -49773,7 +49348,7 @@ func (r *InterconnectGroupsService) Delete(project string, interconnectGroup str
// supported
// (00000000-0000-0000-0000-000000000000).
// end_interface: MixerMutationRequestBuilder
-func (c *InterconnectGroupsDeleteCall) RequestId(requestId string) *InterconnectGroupsDeleteCall {
+func (c *InterconnectAttachmentGroupsInsertCall) RequestId(requestId string) *InterconnectAttachmentGroupsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -49781,51 +49356,54 @@ func (c *InterconnectGroupsDeleteCall) RequestId(requestId string) *Interconnect
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsDeleteCall) Fields(s ...googleapi.Field) *InterconnectGroupsDeleteCall {
+func (c *InterconnectAttachmentGroupsInsertCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsDeleteCall) Context(ctx context.Context) *InterconnectGroupsDeleteCall {
+func (c *InterconnectAttachmentGroupsInsertCall) Context(ctx context.Context) *InterconnectAttachmentGroupsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsDeleteCall) Header() http.Header {
+func (c *InterconnectAttachmentGroupsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectAttachmentGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectattachmentgroup)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectGroup": c.interconnectGroup,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.delete" call.
+// Do executes the "compute.interconnectAttachmentGroups.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectAttachmentGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -49855,35 +49433,146 @@ func (c *InterconnectGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsGetCall struct {
- s *Service
- project string
- interconnectGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentGroupsListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified InterconnectGroup resource in the given scope.
+// List: Lists the InterconnectAttachmentGroups for a project in the given
+// scope.
//
-// - interconnectGroup: Name of the InterconnectGroup resource to return.
// - project: Project ID for this request.
-func (r *InterconnectGroupsService) Get(project string, interconnectGroup string) *InterconnectGroupsGetCall {
- c := &InterconnectGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectAttachmentGroupsService) List(project string) *InterconnectAttachmentGroupsListCall {
+ c := &InterconnectAttachmentGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectGroup = interconnectGroup
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InterconnectAttachmentGroupsListCall) Filter(filter string) *InterconnectAttachmentGroupsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InterconnectAttachmentGroupsListCall) MaxResults(maxResults int64) *InterconnectAttachmentGroupsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InterconnectAttachmentGroupsListCall) OrderBy(orderBy string) *InterconnectAttachmentGroupsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InterconnectAttachmentGroupsListCall) PageToken(pageToken string) *InterconnectAttachmentGroupsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsGetCall) Fields(s ...googleapi.Field) *InterconnectGroupsGetCall {
+func (c *InterconnectAttachmentGroupsListCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -49891,34 +49580,34 @@ func (c *InterconnectGroupsGetCall) Fields(s ...googleapi.Field) *InterconnectGr
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectGroupsGetCall) IfNoneMatch(entityTag string) *InterconnectGroupsGetCall {
+func (c *InterconnectAttachmentGroupsListCall) IfNoneMatch(entityTag string) *InterconnectAttachmentGroupsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsGetCall) Context(ctx context.Context) *InterconnectGroupsGetCall {
+func (c *InterconnectAttachmentGroupsListCall) Context(ctx context.Context) *InterconnectAttachmentGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsGetCall) Header() http.Header {
+func (c *InterconnectAttachmentGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectAttachmentGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -49926,20 +49615,19 @@ func (c *InterconnectGroupsGetCall) doRequest(alt string) (*http.Response, error
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectGroup": c.interconnectGroup,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.get" call.
+// Do executes the "compute.interconnectAttachmentGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectGroup.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InterconnectGroupsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectGroup, error) {
+// *InterconnectAttachmentGroupsListResponse.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectAttachmentGroupsListCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentGroupsListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -49958,7 +49646,7 @@ func (c *InterconnectGroupsGetCall) Do(opts ...googleapi.CallOption) (*Interconn
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectGroup{
+ ret := &InterconnectAttachmentGroupsListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -49969,99 +49657,140 @@ func (c *InterconnectGroupsGetCall) Do(opts ...googleapi.CallOption) (*Interconn
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsGetIamPolicyCall struct {
- s *Service
- project string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InterconnectAttachmentGroupsListCall) Pages(ctx context.Context, f func(*InterconnectAttachmentGroupsListResponse) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+type InterconnectAttachmentGroupsPatchCall struct {
+ s *Service
+ project string
+ interconnectAttachmentGroup string
+ interconnectattachmentgroup *InterconnectAttachmentGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Patches the specified InterconnectAttachmentGroup resource with the
+// data
+// included in the request. This method supports PATCH
+// semantics and usesJSON merge
+// patch format and processing rules.
//
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InterconnectGroupsService) GetIamPolicy(project string, resource string) *InterconnectGroupsGetIamPolicyCall {
- c := &InterconnectGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - interconnectAttachmentGroup: Name of the InterconnectAttachmentGroup
+// resource to patch.
+// - project: Project ID for this request.
+func (r *InterconnectAttachmentGroupsService) Patch(project string, interconnectAttachmentGroup string, interconnectattachmentgroup *InterconnectAttachmentGroup) *InterconnectAttachmentGroupsPatchCall {
+ c := &InterconnectAttachmentGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
+ c.interconnectAttachmentGroup = interconnectAttachmentGroup
+ c.interconnectattachmentgroup = interconnectattachmentgroup
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *InterconnectGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InterconnectGroupsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+// end_interface: MixerMutationRequestBuilder
+func (c *InterconnectAttachmentGroupsPatchCall) RequestId(requestId string) *InterconnectAttachmentGroupsPatchCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// UpdateMask sets the optional parameter "updateMask": The list of fields to
+// update.
+func (c *InterconnectAttachmentGroupsPatchCall) UpdateMask(updateMask string) *InterconnectAttachmentGroupsPatchCall {
+ c.urlParams_.Set("updateMask", updateMask)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectGroupsGetIamPolicyCall {
+func (c *InterconnectAttachmentGroupsPatchCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *InterconnectGroupsGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsGetIamPolicyCall) Context(ctx context.Context) *InterconnectGroupsGetIamPolicyCall {
+func (c *InterconnectAttachmentGroupsPatchCall) Context(ctx context.Context) *InterconnectAttachmentGroupsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsGetIamPolicyCall) Header() http.Header {
+func (c *InterconnectAttachmentGroupsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InterconnectAttachmentGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectattachmentgroup)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "interconnectAttachmentGroup": c.interconnectAttachmentGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.getIamPolicy" call.
+// Do executes the "compute.interconnectAttachmentGroups.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InterconnectAttachmentGroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -50080,7 +49809,7 @@ func (c *InterconnectGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -50091,93 +49820,86 @@ func (c *InterconnectGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsGetOperationalStatusCall struct {
- s *Service
- project string
- interconnectGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentGroupsSetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetpolicyrequest *GlobalSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetOperationalStatus: Returns the interconnectStatuses for the
-// specified
-// InterconnectGroup.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - interconnectGroup: Name of the interconnectGroup resource to query.
// - project: Project ID for this request.
-func (r *InterconnectGroupsService) GetOperationalStatus(project string, interconnectGroup string) *InterconnectGroupsGetOperationalStatusCall {
- c := &InterconnectGroupsGetOperationalStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *InterconnectAttachmentGroupsService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *InterconnectAttachmentGroupsSetIamPolicyCall {
+ c := &InterconnectAttachmentGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectGroup = interconnectGroup
+ c.resource = resource
+ c.globalsetpolicyrequest = globalsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsGetOperationalStatusCall) Fields(s ...googleapi.Field) *InterconnectGroupsGetOperationalStatusCall {
+func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectGroupsGetOperationalStatusCall) IfNoneMatch(entityTag string) *InterconnectGroupsGetOperationalStatusCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsGetOperationalStatusCall) Context(ctx context.Context) *InterconnectGroupsGetOperationalStatusCall {
+func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Context(ctx context.Context) *InterconnectAttachmentGroupsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsGetOperationalStatusCall) Header() http.Header {
+func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsGetOperationalStatusCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InterconnectAttachmentGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectGroup": c.interconnectGroup,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.getOperationalStatus", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.getOperationalStatus" call.
+// Do executes the "compute.interconnectAttachmentGroups.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectGroupsGetOperationalStatusResponse.ServerResponse.Header or (if
-// a response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InterconnectGroupsGetOperationalStatusCall) Do(opts ...googleapi.CallOption) (*InterconnectGroupsGetOperationalStatusResponse, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InterconnectAttachmentGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -50196,7 +49918,7 @@ func (c *InterconnectGroupsGetOperationalStatusCall) Do(opts ...googleapi.CallOp
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectGroupsGetOperationalStatusResponse{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -50207,86 +49929,65 @@ func (c *InterconnectGroupsGetOperationalStatusCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.getOperationalStatus", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsInsertCall struct {
- s *Service
- project string
- interconnectgroup *InterconnectGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentGroupsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a InterconnectGroup in the specified project in the given
-// scope
-// using the parameters that are included in the request.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
// - project: Project ID for this request.
-func (r *InterconnectGroupsService) Insert(project string, interconnectgroup *InterconnectGroup) *InterconnectGroupsInsertCall {
- c := &InterconnectGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *InterconnectAttachmentGroupsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *InterconnectAttachmentGroupsTestIamPermissionsCall {
+ c := &InterconnectAttachmentGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectgroup = interconnectgroup
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *InterconnectGroupsInsertCall) RequestId(requestId string) *InterconnectGroupsInsertCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsInsertCall) Fields(s ...googleapi.Field) *InterconnectGroupsInsertCall {
+func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InterconnectAttachmentGroupsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsInsertCall) Context(ctx context.Context) *InterconnectGroupsInsertCall {
+func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Context(ctx context.Context) *InterconnectAttachmentGroupsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsInsertCall) Header() http.Header {
+func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectgroup)
+func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -50294,18 +49995,20 @@ func (c *InterconnectGroupsInsertCall) doRequest(alt string) (*http.Response, er
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.insert" call.
+// Do executes the "compute.interconnectAttachmentGroups.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectAttachmentGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -50324,7 +50027,7 @@ func (c *InterconnectGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operat
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -50335,11 +50038,11 @@ func (c *InterconnectGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachmentGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsListCall struct {
+type InterconnectAttachmentsAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -50348,11 +50051,16 @@ type InterconnectGroupsListCall struct {
header_ http.Header
}
-// List: Lists the InterconnectGroups for a project in the given scope.
+// AggregatedList: Retrieves an aggregated list of interconnect
+// attachments.
+//
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-func (r *InterconnectGroupsService) List(project string) *InterconnectGroupsListCall {
- c := &InterconnectGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectAttachmentsService) AggregatedList(project string) *InterconnectAttachmentsAggregatedListCall {
+ c := &InterconnectAttachmentsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -50424,11 +50132,29 @@ func (r *InterconnectGroupsService) List(project string) *InterconnectGroupsList
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InterconnectGroupsListCall) Filter(filter string) *InterconnectGroupsListCall {
+func (c *InterconnectAttachmentsAggregatedListCall) Filter(filter string) *InterconnectAttachmentsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *InterconnectAttachmentsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *InterconnectAttachmentsAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -50436,7 +50162,7 @@ func (c *InterconnectGroupsListCall) Filter(filter string) *InterconnectGroupsLi
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InterconnectGroupsListCall) MaxResults(maxResults int64) *InterconnectGroupsListCall {
+func (c *InterconnectAttachmentsAggregatedListCall) MaxResults(maxResults int64) *InterconnectAttachmentsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -50456,7 +50182,7 @@ func (c *InterconnectGroupsListCall) MaxResults(maxResults int64) *InterconnectG
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InterconnectGroupsListCall) OrderBy(orderBy string) *InterconnectGroupsListCall {
+func (c *InterconnectAttachmentsAggregatedListCall) OrderBy(orderBy string) *InterconnectAttachmentsAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -50465,30 +50191,23 @@ func (c *InterconnectGroupsListCall) OrderBy(orderBy string) *InterconnectGroups
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InterconnectGroupsListCall) PageToken(pageToken string) *InterconnectGroupsListCall {
+func (c *InterconnectAttachmentsAggregatedListCall) PageToken(pageToken string) *InterconnectAttachmentsAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InterconnectGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InterconnectGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *InterconnectAttachmentsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *InterconnectAttachmentsAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsListCall) Fields(s ...googleapi.Field) *InterconnectGroupsListCall {
+func (c *InterconnectAttachmentsAggregatedListCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -50496,34 +50215,34 @@ func (c *InterconnectGroupsListCall) Fields(s ...googleapi.Field) *InterconnectG
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectGroupsListCall) IfNoneMatch(entityTag string) *InterconnectGroupsListCall {
+func (c *InterconnectAttachmentsAggregatedListCall) IfNoneMatch(entityTag string) *InterconnectAttachmentsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsListCall) Context(ctx context.Context) *InterconnectGroupsListCall {
+func (c *InterconnectAttachmentsAggregatedListCall) Context(ctx context.Context) *InterconnectAttachmentsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsListCall) Header() http.Header {
+func (c *InterconnectAttachmentsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectAttachmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/interconnectAttachments")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -50533,17 +50252,17 @@ func (c *InterconnectGroupsListCall) doRequest(alt string) (*http.Response, erro
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.list" call.
+// Do executes the "compute.interconnectAttachments.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectGroupsListResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
+// *InterconnectAttachmentAggregatedList.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *InterconnectGroupsListCall) Do(opts ...googleapi.CallOption) (*InterconnectGroupsListResponse, error) {
+func (c *InterconnectAttachmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -50562,7 +50281,7 @@ func (c *InterconnectGroupsListCall) Do(opts ...googleapi.CallOption) (*Intercon
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectGroupsListResponse{
+ ret := &InterconnectAttachmentAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -50573,14 +50292,14 @@ func (c *InterconnectGroupsListCall) Do(opts ...googleapi.CallOption) (*Intercon
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InterconnectGroupsListCall) Pages(ctx context.Context, f func(*InterconnectGroupsListResponse) error) error {
+func (c *InterconnectAttachmentsAggregatedListCall) Pages(ctx context.Context, f func(*InterconnectAttachmentAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -50598,29 +50317,26 @@ func (c *InterconnectGroupsListCall) Pages(ctx context.Context, f func(*Intercon
}
}
-type InterconnectGroupsPatchCall struct {
- s *Service
- project string
- interconnectGroup string
- interconnectgroup *InterconnectGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ interconnectAttachment string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified InterconnectGroup resource with the data
-// included in
-// the request. This method supports PATCH
-// semantics and usesJSON merge
-// patch format and processing rules.
+// Delete: Deletes the specified interconnect attachment.
//
-// - interconnectGroup: Name of the InterconnectGroup resource to patch.
+// - interconnectAttachment: Name of the interconnect attachment to delete.
// - project: Project ID for this request.
-func (r *InterconnectGroupsService) Patch(project string, interconnectGroup string, interconnectgroup *InterconnectGroup) *InterconnectGroupsPatchCall {
- c := &InterconnectGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *InterconnectAttachmentsService) Delete(project string, region string, interconnectAttachment string) *InterconnectAttachmentsDeleteCall {
+ c := &InterconnectAttachmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectGroup = interconnectGroup
- c.interconnectgroup = interconnectgroup
+ c.region = region
+ c.interconnectAttachment = interconnectAttachment
return c
}
@@ -50641,71 +50357,60 @@ func (r *InterconnectGroupsService) Patch(project string, interconnectGroup stri
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *InterconnectGroupsPatchCall) RequestId(requestId string) *InterconnectGroupsPatchCall {
+func (c *InterconnectAttachmentsDeleteCall) RequestId(requestId string) *InterconnectAttachmentsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// UpdateMask sets the optional parameter "updateMask": The list of fields to
-// update.
-func (c *InterconnectGroupsPatchCall) UpdateMask(updateMask string) *InterconnectGroupsPatchCall {
- c.urlParams_.Set("updateMask", updateMask)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsPatchCall) Fields(s ...googleapi.Field) *InterconnectGroupsPatchCall {
+func (c *InterconnectAttachmentsDeleteCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsPatchCall) Context(ctx context.Context) *InterconnectGroupsPatchCall {
+func (c *InterconnectAttachmentsDeleteCall) Context(ctx context.Context) *InterconnectAttachmentsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsPatchCall) Header() http.Header {
+func (c *InterconnectAttachmentsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectgroup)
- if err != nil {
- return nil, err
- }
+func (c *InterconnectAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectGroup": c.interconnectGroup,
+ "project": c.project,
+ "region": c.region,
+ "interconnectAttachment": c.interconnectAttachment,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.patch" call.
+// Do executes the "compute.interconnectAttachments.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectGroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectAttachmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -50735,86 +50440,95 @@ func (c *InterconnectGroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsSetIamPolicyCall struct {
+type InterconnectAttachmentsGetCall struct {
s *Service
project string
- resource string
- globalsetpolicyrequest *GlobalSetPolicyRequest
+ region string
+ interconnectAttachment string
urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// Get: Returns the specified interconnect attachment.
//
+// - interconnectAttachment: Name of the interconnect attachment to return.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InterconnectGroupsService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *InterconnectGroupsSetIamPolicyCall {
- c := &InterconnectGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *InterconnectAttachmentsService) Get(project string, region string, interconnectAttachment string) *InterconnectAttachmentsGetCall {
+ c := &InterconnectAttachmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.globalsetpolicyrequest = globalsetpolicyrequest
+ c.region = region
+ c.interconnectAttachment = interconnectAttachment
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectGroupsSetIamPolicyCall {
+func (c *InterconnectAttachmentsGetCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectAttachmentsGetCall) IfNoneMatch(entityTag string) *InterconnectAttachmentsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsSetIamPolicyCall) Context(ctx context.Context) *InterconnectGroupsSetIamPolicyCall {
+func (c *InterconnectAttachmentsGetCall) Context(ctx context.Context) *InterconnectAttachmentsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectGroupsSetIamPolicyCall) Header() http.Header {
+func (c *InterconnectAttachmentsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
- if err != nil {
- return nil, err
+func (c *InterconnectAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "interconnectAttachment": c.interconnectAttachment,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectGroups.setIamPolicy" call.
+// Do executes the "compute.interconnectAttachments.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *InterconnectAttachment.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InterconnectAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachment, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -50833,7 +50547,7 @@ func (c *InterconnectGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &InterconnectAttachment{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -50844,202 +50558,115 @@ func (c *InterconnectGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectGroupsTestIamPermissionsCall struct {
+type InterconnectAttachmentsInsertCall struct {
s *Service
project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
+ region string
+ interconnectattachment *InterconnectAttachment
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Insert: Creates an InterconnectAttachment in the specified project using the
+// data
+// included in the request.
//
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *InterconnectGroupsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *InterconnectGroupsTestIamPermissionsCall {
- c := &InterconnectGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *InterconnectAttachmentsService) Insert(project string, region string, interconnectattachment *InterconnectAttachment) *InterconnectAttachmentsInsertCall {
+ c := &InterconnectAttachmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *InterconnectGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InterconnectGroupsTestIamPermissionsCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ c.region = region
+ c.interconnectattachment = interconnectattachment
return c
}
-// Context sets the context to be used in this call's Do method.
-func (c *InterconnectGroupsTestIamPermissionsCall) Context(ctx context.Context) *InterconnectGroupsTestIamPermissionsCall {
- c.ctx_ = ctx
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InterconnectAttachmentsInsertCall) RequestId(requestId string) *InterconnectAttachmentsInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *InterconnectGroupsTestIamPermissionsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *InterconnectGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.interconnectGroups.testIamPermissions" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InterconnectGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &TestPermissionsResponse{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type InterconnectLocationsGetCall struct {
- s *Service
- project string
- interconnectLocation string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// Get: Returns the details for the specified interconnect location. Gets a
-// list of
-// available interconnect locations by making a list() request.
-//
-// - interconnectLocation: Name of the interconnect location to return.
-// - project: Project ID for this request.
-func (r *InterconnectLocationsService) Get(project string, interconnectLocation string) *InterconnectLocationsGetCall {
- c := &InterconnectLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.interconnectLocation = interconnectLocation
+// ValidateOnly sets the optional parameter "validateOnly": If true, the
+// request will not be committed.
+func (c *InterconnectAttachmentsInsertCall) ValidateOnly(validateOnly bool) *InterconnectAttachmentsInsertCall {
+ c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectLocationsGetCall) Fields(s ...googleapi.Field) *InterconnectLocationsGetCall {
+func (c *InterconnectAttachmentsInsertCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectLocationsGetCall) IfNoneMatch(entityTag string) *InterconnectLocationsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectLocationsGetCall) Context(ctx context.Context) *InterconnectLocationsGetCall {
+func (c *InterconnectAttachmentsInsertCall) Context(ctx context.Context) *InterconnectAttachmentsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectLocationsGetCall) Header() http.Header {
+func (c *InterconnectAttachmentsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
-}
-
-func (c *InterconnectLocationsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+}
+
+func (c *InterconnectAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectattachment)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectLocations/{interconnectLocation}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectLocation": c.interconnectLocation,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectLocations.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectLocations.get" call.
+// Do executes the "compute.interconnectAttachments.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectLocation.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InterconnectLocationsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectLocation, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InterconnectAttachmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -51058,7 +50685,7 @@ func (c *InterconnectLocationsGetCall) Do(opts ...googleapi.CallOption) (*Interc
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectLocation{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -51069,27 +50696,29 @@ func (c *InterconnectLocationsGetCall) Do(opts ...googleapi.CallOption) (*Interc
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectLocations.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectLocationsListCall struct {
+type InterconnectAttachmentsListCall struct {
s *Service
project string
+ region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of interconnect locations available to the
-// specified
-// project.
+// List: Retrieves the list of interconnect attachments contained within
+// the specified region.
//
// - project: Project ID for this request.
-func (r *InterconnectLocationsService) List(project string) *InterconnectLocationsListCall {
- c := &InterconnectLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *InterconnectAttachmentsService) List(project string, region string) *InterconnectAttachmentsListCall {
+ c := &InterconnectAttachmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.region = region
return c
}
@@ -51160,7 +50789,7 @@ func (r *InterconnectLocationsService) List(project string) *InterconnectLocatio
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InterconnectLocationsListCall) Filter(filter string) *InterconnectLocationsListCall {
+func (c *InterconnectAttachmentsListCall) Filter(filter string) *InterconnectAttachmentsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -51172,7 +50801,7 @@ func (c *InterconnectLocationsListCall) Filter(filter string) *InterconnectLocat
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InterconnectLocationsListCall) MaxResults(maxResults int64) *InterconnectLocationsListCall {
+func (c *InterconnectAttachmentsListCall) MaxResults(maxResults int64) *InterconnectAttachmentsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -51192,7 +50821,7 @@ func (c *InterconnectLocationsListCall) MaxResults(maxResults int64) *Interconne
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InterconnectLocationsListCall) OrderBy(orderBy string) *InterconnectLocationsListCall {
+func (c *InterconnectAttachmentsListCall) OrderBy(orderBy string) *InterconnectAttachmentsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -51201,30 +50830,15 @@ func (c *InterconnectLocationsListCall) OrderBy(orderBy string) *InterconnectLoc
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InterconnectLocationsListCall) PageToken(pageToken string) *InterconnectLocationsListCall {
+func (c *InterconnectAttachmentsListCall) PageToken(pageToken string) *InterconnectAttachmentsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InterconnectLocationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InterconnectLocationsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectLocationsListCall) Fields(s ...googleapi.Field) *InterconnectLocationsListCall {
+func (c *InterconnectAttachmentsListCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -51232,34 +50846,34 @@ func (c *InterconnectLocationsListCall) Fields(s ...googleapi.Field) *Interconne
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectLocationsListCall) IfNoneMatch(entityTag string) *InterconnectLocationsListCall {
+func (c *InterconnectAttachmentsListCall) IfNoneMatch(entityTag string) *InterconnectAttachmentsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectLocationsListCall) Context(ctx context.Context) *InterconnectLocationsListCall {
+func (c *InterconnectAttachmentsListCall) Context(ctx context.Context) *InterconnectAttachmentsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectLocationsListCall) Header() http.Header {
+func (c *InterconnectAttachmentsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectLocationsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectLocations")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -51268,18 +50882,19 @@ func (c *InterconnectLocationsListCall) doRequest(alt string) (*http.Response, e
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectLocations.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectLocations.list" call.
+// Do executes the "compute.interconnectAttachments.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectLocationList.ServerResponse.Header or (if a response was
+// *InterconnectAttachmentList.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *InterconnectLocationsListCall) Do(opts ...googleapi.CallOption) (*InterconnectLocationList, error) {
+func (c *InterconnectAttachmentsListCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -51298,7 +50913,7 @@ func (c *InterconnectLocationsListCall) Do(opts ...googleapi.CallOption) (*Inter
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectLocationList{
+ ret := &InterconnectAttachmentList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -51309,14 +50924,14 @@ func (c *InterconnectLocationsListCall) Do(opts ...googleapi.CallOption) (*Inter
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectLocations.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InterconnectLocationsListCall) Pages(ctx context.Context, f func(*InterconnectLocationList) error) error {
+func (c *InterconnectAttachmentsListCall) Pages(ctx context.Context, f func(*InterconnectAttachmentList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -51334,90 +50949,110 @@ func (c *InterconnectLocationsListCall) Pages(ctx context.Context, f func(*Inter
}
}
-type InterconnectRemoteLocationsGetCall struct {
- s *Service
- project string
- interconnectRemoteLocation string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentsPatchCall struct {
+ s *Service
+ project string
+ region string
+ interconnectAttachment string
+ interconnectattachment *InterconnectAttachment
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the details for the specified interconnect remote location.
-// Gets a
-// list of available interconnect remote locations by making alist() request.
+// Patch: Updates the specified interconnect attachment with the data included
+// in the
+// request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// - interconnectRemoteLocation: Name of the interconnect remote location to
-// return.
-// - project: Project ID for this request.
-func (r *InterconnectRemoteLocationsService) Get(project string, interconnectRemoteLocation string) *InterconnectRemoteLocationsGetCall {
- c := &InterconnectRemoteLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - interconnectAttachment: Name of the interconnect attachment to patch.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *InterconnectAttachmentsService) Patch(project string, region string, interconnectAttachment string, interconnectattachment *InterconnectAttachment) *InterconnectAttachmentsPatchCall {
+ c := &InterconnectAttachmentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnectRemoteLocation = interconnectRemoteLocation
+ c.region = region
+ c.interconnectAttachment = interconnectAttachment
+ c.interconnectattachment = interconnectattachment
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InterconnectAttachmentsPatchCall) RequestId(requestId string) *InterconnectAttachmentsPatchCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectRemoteLocationsGetCall) Fields(s ...googleapi.Field) *InterconnectRemoteLocationsGetCall {
+func (c *InterconnectAttachmentsPatchCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectRemoteLocationsGetCall) IfNoneMatch(entityTag string) *InterconnectRemoteLocationsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectRemoteLocationsGetCall) Context(ctx context.Context) *InterconnectRemoteLocationsGetCall {
+func (c *InterconnectAttachmentsPatchCall) Context(ctx context.Context) *InterconnectAttachmentsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectRemoteLocationsGetCall) Header() http.Header {
+func (c *InterconnectAttachmentsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectRemoteLocationsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InterconnectAttachmentsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectattachment)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnectRemoteLocation": c.interconnectRemoteLocation,
+ "project": c.project,
+ "region": c.region,
+ "interconnectAttachment": c.interconnectAttachment,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectRemoteLocations.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectRemoteLocations.get" call.
+// Do executes the "compute.interconnectAttachments.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectRemoteLocation.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InterconnectRemoteLocationsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectRemoteLocation, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InterconnectAttachmentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -51436,7 +51071,7 @@ func (c *InterconnectRemoteLocationsGetCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectRemoteLocation{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -51447,217 +51082,222 @@ func (c *InterconnectRemoteLocationsGetCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectRemoteLocations.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectRemoteLocationsListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectAttachmentsSetLabelsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetlabelsrequest *RegionSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves the list of interconnect remote locations available to
-// the
-// specified project.
+// SetLabels: Sets the labels on an InterconnectAttachment. To learn more about
+// labels,
+// read the Labeling
+// Resources documentation.
//
// - project: Project ID for this request.
-func (r *InterconnectRemoteLocationsService) List(project string) *InterconnectRemoteLocationsListCall {
- c := &InterconnectRemoteLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *InterconnectAttachmentsService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *InterconnectAttachmentsSetLabelsCall {
+ c := &InterconnectAttachmentsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.region = region
+ c.resource = resource
+ c.regionsetlabelsrequest = regionsetlabelsrequest
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *InterconnectRemoteLocationsListCall) Filter(filter string) *InterconnectRemoteLocationsListCall {
- c.urlParams_.Set("filter", filter)
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InterconnectAttachmentsSetLabelsCall) RequestId(requestId string) *InterconnectAttachmentsSetLabelsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *InterconnectRemoteLocationsListCall) MaxResults(maxResults int64) *InterconnectRemoteLocationsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InterconnectAttachmentsSetLabelsCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsSetLabelsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *InterconnectRemoteLocationsListCall) OrderBy(orderBy string) *InterconnectRemoteLocationsListCall {
- c.urlParams_.Set("orderBy", orderBy)
+// Context sets the context to be used in this call's Do method.
+func (c *InterconnectAttachmentsSetLabelsCall) Context(ctx context.Context) *InterconnectAttachmentsSetLabelsCall {
+ c.ctx_ = ctx
return c
}
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *InterconnectRemoteLocationsListCall) PageToken(pageToken string) *InterconnectRemoteLocationsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InterconnectAttachmentsSetLabelsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InterconnectAttachmentsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.interconnectAttachments.setLabels" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InterconnectAttachmentsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectAttachments.setLabels", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type InterconnectGroupsCreateMembersCall struct {
+ s *Service
+ project string
+ interconnectGroup string
+ interconnectgroupscreatemembersrequest *InterconnectGroupsCreateMembersRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// CreateMembers: Create Interconnects with redundancy by creating them in a
+// specified
+// interconnect group.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InterconnectRemoteLocationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InterconnectRemoteLocationsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// - interconnectGroup: Name of the group resource to create members for.
+// - project: Project ID for this request.
+func (r *InterconnectGroupsService) CreateMembers(project string, interconnectGroup string, interconnectgroupscreatemembersrequest *InterconnectGroupsCreateMembersRequest) *InterconnectGroupsCreateMembersCall {
+ c := &InterconnectGroupsCreateMembersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.interconnectGroup = interconnectGroup
+ c.interconnectgroupscreatemembersrequest = interconnectgroupscreatemembersrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectRemoteLocationsListCall) Fields(s ...googleapi.Field) *InterconnectRemoteLocationsListCall {
+func (c *InterconnectGroupsCreateMembersCall) Fields(s ...googleapi.Field) *InterconnectGroupsCreateMembersCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *InterconnectRemoteLocationsListCall) IfNoneMatch(entityTag string) *InterconnectRemoteLocationsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectRemoteLocationsListCall) Context(ctx context.Context) *InterconnectRemoteLocationsListCall {
+func (c *InterconnectGroupsCreateMembersCall) Context(ctx context.Context) *InterconnectGroupsCreateMembersCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectRemoteLocationsListCall) Header() http.Header {
+func (c *InterconnectGroupsCreateMembersCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectRemoteLocationsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InterconnectGroupsCreateMembersCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectgroupscreatemembersrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectRemoteLocations")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "interconnectGroup": c.interconnectGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectRemoteLocations.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.createMembers", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnectRemoteLocations.list" call.
+// Do executes the "compute.interconnectGroups.createMembers" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectRemoteLocationList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InterconnectRemoteLocationsListCall) Do(opts ...googleapi.CallOption) (*InterconnectRemoteLocationList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InterconnectGroupsCreateMembersCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -51676,59 +51316,38 @@ func (c *InterconnectRemoteLocationsListCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectRemoteLocationList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectRemoteLocations.list", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *InterconnectRemoteLocationsListCall) Pages(ctx context.Context, f func(*InterconnectRemoteLocationList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
}
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.createMembers", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-type InterconnectsDeleteCall struct {
- s *Service
- project string
- interconnect string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectGroupsDeleteCall struct {
+ s *Service
+ project string
+ interconnectGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified Interconnect.
+// Delete: Deletes the specified InterconnectGroup in the given scope
//
-// - interconnect: Name of the interconnect to delete.
+// - interconnectGroup: Name of the InterconnectGroup resource to delete.
// - project: Project ID for this request.
-func (r *InterconnectsService) Delete(project string, interconnect string) *InterconnectsDeleteCall {
- c := &InterconnectsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectGroupsService) Delete(project string, interconnectGroup string) *InterconnectGroupsDeleteCall {
+ c := &InterconnectGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnect = interconnect
+ c.interconnectGroup = interconnectGroup
return c
}
@@ -51749,7 +51368,8 @@ func (r *InterconnectsService) Delete(project string, interconnect string) *Inte
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InterconnectsDeleteCall) RequestId(requestId string) *InterconnectsDeleteCall {
+// end_interface: MixerMutationRequestBuilder
+func (c *InterconnectGroupsDeleteCall) RequestId(requestId string) *InterconnectGroupsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -51757,31 +51377,31 @@ func (c *InterconnectsDeleteCall) RequestId(requestId string) *InterconnectsDele
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectsDeleteCall) Fields(s ...googleapi.Field) *InterconnectsDeleteCall {
+func (c *InterconnectGroupsDeleteCall) Fields(s ...googleapi.Field) *InterconnectGroupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectsDeleteCall) Context(ctx context.Context) *InterconnectsDeleteCall {
+func (c *InterconnectGroupsDeleteCall) Context(ctx context.Context) *InterconnectGroupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectsDeleteCall) Header() http.Header {
+func (c *InterconnectGroupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -51789,19 +51409,19 @@ func (c *InterconnectsDeleteCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnect": c.interconnect,
+ "project": c.project,
+ "interconnectGroup": c.interconnectGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnects.delete" call.
+// Do executes the "compute.interconnectGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -51831,37 +51451,35 @@ func (c *InterconnectsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectsGetCall struct {
- s *Service
- project string
- interconnect string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectGroupsGetCall struct {
+ s *Service
+ project string
+ interconnectGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified Interconnect. Get a list of available
-// Interconnects
-// by making a list() request.
+// Get: Returns the specified InterconnectGroup resource in the given scope.
//
-// - interconnect: Name of the interconnect to return.
+// - interconnectGroup: Name of the InterconnectGroup resource to return.
// - project: Project ID for this request.
-func (r *InterconnectsService) Get(project string, interconnect string) *InterconnectsGetCall {
- c := &InterconnectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectGroupsService) Get(project string, interconnectGroup string) *InterconnectGroupsGetCall {
+ c := &InterconnectGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnect = interconnect
+ c.interconnectGroup = interconnectGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectsGetCall) Fields(s ...googleapi.Field) *InterconnectsGetCall {
+func (c *InterconnectGroupsGetCall) Fields(s ...googleapi.Field) *InterconnectGroupsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -51869,34 +51487,34 @@ func (c *InterconnectsGetCall) Fields(s ...googleapi.Field) *InterconnectsGetCal
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectsGetCall) IfNoneMatch(entityTag string) *InterconnectsGetCall {
+func (c *InterconnectGroupsGetCall) IfNoneMatch(entityTag string) *InterconnectGroupsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectsGetCall) Context(ctx context.Context) *InterconnectsGetCall {
+func (c *InterconnectGroupsGetCall) Context(ctx context.Context) *InterconnectGroupsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectsGetCall) Header() http.Header {
+func (c *InterconnectGroupsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -51904,19 +51522,20 @@ func (c *InterconnectsGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnect": c.interconnect,
+ "project": c.project,
+ "interconnectGroup": c.interconnectGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnects.get" call.
+// Do executes the "compute.interconnectGroups.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Interconnect.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectsGetCall) Do(opts ...googleapi.CallOption) (*Interconnect, error) {
+// *InterconnectGroup.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InterconnectGroupsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectGroup, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -51935,7 +51554,7 @@ func (c *InterconnectsGetCall) Do(opts ...googleapi.CallOption) (*Interconnect,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Interconnect{
+ ret := &InterconnectGroup{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -51946,45 +51565,44 @@ func (c *InterconnectsGetCall) Do(opts ...googleapi.CallOption) (*Interconnect,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectsGetDiagnosticsCall struct {
+type InterconnectGroupsGetIamPolicyCall struct {
s *Service
project string
- interconnect string
+ resource string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// GetDiagnostics: Returns the interconnectDiagnostics for the
-// specified
-// Interconnect.
-//
-// In the event of a
-// global outage, do not use this API to make decisions about where to
-// redirect your network traffic.
-//
-// Unlike a VLAN attachment, which is regional, a Cloud Interconnect
-// connection is a global resource. A global outage can prevent this
-// API from functioning properly.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - interconnect: Name of the interconnect resource to query.
// - project: Project ID for this request.
-func (r *InterconnectsService) GetDiagnostics(project string, interconnect string) *InterconnectsGetDiagnosticsCall {
- c := &InterconnectsGetDiagnosticsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *InterconnectGroupsService) GetIamPolicy(project string, resource string) *InterconnectGroupsGetIamPolicyCall {
+ c := &InterconnectGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnect = interconnect
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *InterconnectGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *InterconnectGroupsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectsGetDiagnosticsCall) Fields(s ...googleapi.Field) *InterconnectsGetDiagnosticsCall {
+func (c *InterconnectGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectGroupsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -51992,34 +51610,34 @@ func (c *InterconnectsGetDiagnosticsCall) Fields(s ...googleapi.Field) *Intercon
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectsGetDiagnosticsCall) IfNoneMatch(entityTag string) *InterconnectsGetDiagnosticsCall {
+func (c *InterconnectGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *InterconnectGroupsGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectsGetDiagnosticsCall) Context(ctx context.Context) *InterconnectsGetDiagnosticsCall {
+func (c *InterconnectGroupsGetIamPolicyCall) Context(ctx context.Context) *InterconnectGroupsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectsGetDiagnosticsCall) Header() http.Header {
+func (c *InterconnectGroupsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectsGetDiagnosticsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}/getDiagnostics")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -52027,20 +51645,19 @@ func (c *InterconnectsGetDiagnosticsCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnect": c.interconnect,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.getDiagnostics", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnects.getDiagnostics" call.
+// Do executes the "compute.interconnectGroups.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectsGetDiagnosticsResponse.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *InterconnectsGetDiagnosticsCall) Do(opts ...googleapi.CallOption) (*InterconnectsGetDiagnosticsResponse, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InterconnectGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -52059,7 +51676,7 @@ func (c *InterconnectsGetDiagnosticsCall) Do(opts ...googleapi.CallOption) (*Int
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectsGetDiagnosticsResponse{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -52070,37 +51687,37 @@ func (c *InterconnectsGetDiagnosticsCall) Do(opts ...googleapi.CallOption) (*Int
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.getDiagnostics", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectsGetMacsecConfigCall struct {
- s *Service
- project string
- interconnect string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectGroupsGetOperationalStatusCall struct {
+ s *Service
+ project string
+ interconnectGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// GetMacsecConfig: Returns the interconnectMacsecConfig for the
+// GetOperationalStatus: Returns the interconnectStatuses for the
// specified
-// Interconnect.
+// InterconnectGroup.
//
-// - interconnect: Name of the interconnect resource to query.
+// - interconnectGroup: Name of the interconnectGroup resource to query.
// - project: Project ID for this request.
-func (r *InterconnectsService) GetMacsecConfig(project string, interconnect string) *InterconnectsGetMacsecConfigCall {
- c := &InterconnectsGetMacsecConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectGroupsService) GetOperationalStatus(project string, interconnectGroup string) *InterconnectGroupsGetOperationalStatusCall {
+ c := &InterconnectGroupsGetOperationalStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnect = interconnect
+ c.interconnectGroup = interconnectGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectsGetMacsecConfigCall) Fields(s ...googleapi.Field) *InterconnectsGetMacsecConfigCall {
+func (c *InterconnectGroupsGetOperationalStatusCall) Fields(s ...googleapi.Field) *InterconnectGroupsGetOperationalStatusCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -52108,34 +51725,34 @@ func (c *InterconnectsGetMacsecConfigCall) Fields(s ...googleapi.Field) *Interco
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectsGetMacsecConfigCall) IfNoneMatch(entityTag string) *InterconnectsGetMacsecConfigCall {
+func (c *InterconnectGroupsGetOperationalStatusCall) IfNoneMatch(entityTag string) *InterconnectGroupsGetOperationalStatusCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectsGetMacsecConfigCall) Context(ctx context.Context) *InterconnectsGetMacsecConfigCall {
+func (c *InterconnectGroupsGetOperationalStatusCall) Context(ctx context.Context) *InterconnectGroupsGetOperationalStatusCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectsGetMacsecConfigCall) Header() http.Header {
+func (c *InterconnectGroupsGetOperationalStatusCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectsGetMacsecConfigCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectGroupsGetOperationalStatusCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -52143,20 +51760,20 @@ func (c *InterconnectsGetMacsecConfigCall) doRequest(alt string) (*http.Response
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnect": c.interconnect,
+ "project": c.project,
+ "interconnectGroup": c.interconnectGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.getMacsecConfig", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.getOperationalStatus", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnects.getMacsecConfig" call.
+// Do executes the "compute.interconnectGroups.getOperationalStatus" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectsGetMacsecConfigResponse.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
+// *InterconnectGroupsGetOperationalStatusResponse.ServerResponse.Header or (if
+// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *InterconnectsGetMacsecConfigCall) Do(opts ...googleapi.CallOption) (*InterconnectsGetMacsecConfigResponse, error) {
+func (c *InterconnectGroupsGetOperationalStatusCall) Do(opts ...googleapi.CallOption) (*InterconnectGroupsGetOperationalStatusResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -52175,7 +51792,7 @@ func (c *InterconnectsGetMacsecConfigCall) Do(opts ...googleapi.CallOption) (*In
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectsGetMacsecConfigResponse{
+ ret := &InterconnectGroupsGetOperationalStatusResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -52186,27 +51803,28 @@ func (c *InterconnectsGetMacsecConfigCall) Do(opts ...googleapi.CallOption) (*In
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.getMacsecConfig", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.getOperationalStatus", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectsInsertCall struct {
- s *Service
- project string
- interconnect *Interconnect
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectGroupsInsertCall struct {
+ s *Service
+ project string
+ interconnectgroup *InterconnectGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates an Interconnect in the specified project using
-// the data included in the request.
+// Insert: Creates a InterconnectGroup in the specified project in the given
+// scope
+// using the parameters that are included in the request.
//
// - project: Project ID for this request.
-func (r *InterconnectsService) Insert(project string, interconnect *Interconnect) *InterconnectsInsertCall {
- c := &InterconnectsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectGroupsService) Insert(project string, interconnectgroup *InterconnectGroup) *InterconnectGroupsInsertCall {
+ c := &InterconnectGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnect = interconnect
+ c.interconnectgroup = interconnectgroup
return c
}
@@ -52227,7 +51845,8 @@ func (r *InterconnectsService) Insert(project string, interconnect *Interconnect
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InterconnectsInsertCall) RequestId(requestId string) *InterconnectsInsertCall {
+// end_interface: MixerMutationRequestBuilder
+func (c *InterconnectGroupsInsertCall) RequestId(requestId string) *InterconnectGroupsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -52235,35 +51854,35 @@ func (c *InterconnectsInsertCall) RequestId(requestId string) *InterconnectsInse
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectsInsertCall) Fields(s ...googleapi.Field) *InterconnectsInsertCall {
+func (c *InterconnectGroupsInsertCall) Fields(s ...googleapi.Field) *InterconnectGroupsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectsInsertCall) Context(ctx context.Context) *InterconnectsInsertCall {
+func (c *InterconnectGroupsInsertCall) Context(ctx context.Context) *InterconnectGroupsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectsInsertCall) Header() http.Header {
+func (c *InterconnectGroupsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnect)
+func (c *InterconnectGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectgroup)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -52273,16 +51892,16 @@ func (c *InterconnectsInsertCall) doRequest(alt string) (*http.Response, error)
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnects.insert" call.
+// Do executes the "compute.interconnectGroups.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -52312,11 +51931,11 @@ func (c *InterconnectsInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectsListCall struct {
+type InterconnectGroupsListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -52325,12 +51944,11 @@ type InterconnectsListCall struct {
header_ http.Header
}
-// List: Retrieves the list of Interconnects available to the specified
-// project.
+// List: Lists the InterconnectGroups for a project in the given scope.
//
// - project: Project ID for this request.
-func (r *InterconnectsService) List(project string) *InterconnectsListCall {
- c := &InterconnectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectGroupsService) List(project string) *InterconnectGroupsListCall {
+ c := &InterconnectGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -52402,7 +52020,7 @@ func (r *InterconnectsService) List(project string) *InterconnectsListCall {
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *InterconnectsListCall) Filter(filter string) *InterconnectsListCall {
+func (c *InterconnectGroupsListCall) Filter(filter string) *InterconnectGroupsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -52414,7 +52032,7 @@ func (c *InterconnectsListCall) Filter(filter string) *InterconnectsListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *InterconnectsListCall) MaxResults(maxResults int64) *InterconnectsListCall {
+func (c *InterconnectGroupsListCall) MaxResults(maxResults int64) *InterconnectGroupsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -52434,7 +52052,7 @@ func (c *InterconnectsListCall) MaxResults(maxResults int64) *InterconnectsListC
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *InterconnectsListCall) OrderBy(orderBy string) *InterconnectsListCall {
+func (c *InterconnectGroupsListCall) OrderBy(orderBy string) *InterconnectGroupsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -52443,30 +52061,15 @@ func (c *InterconnectsListCall) OrderBy(orderBy string) *InterconnectsListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *InterconnectsListCall) PageToken(pageToken string) *InterconnectsListCall {
+func (c *InterconnectGroupsListCall) PageToken(pageToken string) *InterconnectGroupsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *InterconnectsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *InterconnectsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectsListCall) Fields(s ...googleapi.Field) *InterconnectsListCall {
+func (c *InterconnectGroupsListCall) Fields(s ...googleapi.Field) *InterconnectGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -52474,34 +52077,34 @@ func (c *InterconnectsListCall) Fields(s ...googleapi.Field) *InterconnectsListC
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *InterconnectsListCall) IfNoneMatch(entityTag string) *InterconnectsListCall {
+func (c *InterconnectGroupsListCall) IfNoneMatch(entityTag string) *InterconnectGroupsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectsListCall) Context(ctx context.Context) *InterconnectsListCall {
+func (c *InterconnectGroupsListCall) Context(ctx context.Context) *InterconnectGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectsListCall) Header() http.Header {
+func (c *InterconnectGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -52511,17 +52114,17 @@ func (c *InterconnectsListCall) doRequest(alt string) (*http.Response, error) {
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnects.list" call.
+// Do executes the "compute.interconnectGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InterconnectList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *InterconnectsListCall) Do(opts ...googleapi.CallOption) (*InterconnectList, error) {
+// *InterconnectGroupsListResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectGroupsListCall) Do(opts ...googleapi.CallOption) (*InterconnectGroupsListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -52540,7 +52143,7 @@ func (c *InterconnectsListCall) Do(opts ...googleapi.CallOption) (*InterconnectL
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InterconnectList{
+ ret := &InterconnectGroupsListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -52551,14 +52154,14 @@ func (c *InterconnectsListCall) Do(opts ...googleapi.CallOption) (*InterconnectL
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *InterconnectsListCall) Pages(ctx context.Context, f func(*InterconnectList) error) error {
+func (c *InterconnectGroupsListCall) Pages(ctx context.Context, f func(*InterconnectGroupsListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -52576,29 +52179,29 @@ func (c *InterconnectsListCall) Pages(ctx context.Context, f func(*InterconnectL
}
}
-type InterconnectsPatchCall struct {
- s *Service
- project string
- interconnect string
- interconnect2 *Interconnect
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectGroupsPatchCall struct {
+ s *Service
+ project string
+ interconnectGroup string
+ interconnectgroup *InterconnectGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the specified Interconnect with the data included in the
-// request.
-// This method supportsPATCH
-// semantics and uses theJSON merge
+// Patch: Patches the specified InterconnectGroup resource with the data
+// included in
+// the request. This method supports PATCH
+// semantics and usesJSON merge
// patch format and processing rules.
//
-// - interconnect: Name of the interconnect to update.
+// - interconnectGroup: Name of the InterconnectGroup resource to patch.
// - project: Project ID for this request.
-func (r *InterconnectsService) Patch(project string, interconnect string, interconnect2 *Interconnect) *InterconnectsPatchCall {
- c := &InterconnectsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectGroupsService) Patch(project string, interconnectGroup string, interconnectgroup *InterconnectGroup) *InterconnectGroupsPatchCall {
+ c := &InterconnectGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.interconnect = interconnect
- c.interconnect2 = interconnect2
+ c.interconnectGroup = interconnectGroup
+ c.interconnectgroup = interconnectgroup
return c
}
@@ -52619,43 +52222,51 @@ func (r *InterconnectsService) Patch(project string, interconnect string, interc
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *InterconnectsPatchCall) RequestId(requestId string) *InterconnectsPatchCall {
+// end_interface: MixerMutationRequestBuilder
+func (c *InterconnectGroupsPatchCall) RequestId(requestId string) *InterconnectGroupsPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// UpdateMask sets the optional parameter "updateMask": The list of fields to
+// update.
+func (c *InterconnectGroupsPatchCall) UpdateMask(updateMask string) *InterconnectGroupsPatchCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectsPatchCall) Fields(s ...googleapi.Field) *InterconnectsPatchCall {
+func (c *InterconnectGroupsPatchCall) Fields(s ...googleapi.Field) *InterconnectGroupsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectsPatchCall) Context(ctx context.Context) *InterconnectsPatchCall {
+func (c *InterconnectGroupsPatchCall) Context(ctx context.Context) *InterconnectGroupsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectsPatchCall) Header() http.Header {
+func (c *InterconnectGroupsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnect2)
+func (c *InterconnectGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectgroup)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{interconnectGroup}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
@@ -52663,19 +52274,128 @@ func (c *InterconnectsPatchCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "interconnect": c.interconnect,
+ "project": c.project,
+ "interconnectGroup": c.interconnectGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.interconnectGroups.patch" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InterconnectGroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.patch", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type InterconnectGroupsSetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetpolicyrequest *GlobalSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
+//
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+func (r *InterconnectGroupsService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *InterconnectGroupsSetIamPolicyCall {
+ c := &InterconnectGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.resource = resource
+ c.globalsetpolicyrequest = globalsetpolicyrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *InterconnectGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectGroupsSetIamPolicyCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *InterconnectGroupsSetIamPolicyCall) Context(ctx context.Context) *InterconnectGroupsSetIamPolicyCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *InterconnectGroupsSetIamPolicyCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InterconnectGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnects.patch" call.
+// Do executes the "compute.interconnectGroups.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -52694,7 +52414,7 @@ func (c *InterconnectsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -52705,67 +52425,65 @@ func (c *InterconnectsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type InterconnectsSetLabelsCall struct {
+type InterconnectGroupsTestIamPermissionsCall struct {
s *Service
project string
resource string
- globalsetlabelsrequest *GlobalSetLabelsRequest
+ testpermissionsrequest *TestPermissionsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// SetLabels: Sets the labels on an Interconnect. To learn more about
-// labels,
-// read the Labeling
-// Resources documentation.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
-func (r *InterconnectsService) SetLabels(project string, resource string, globalsetlabelsrequest *GlobalSetLabelsRequest) *InterconnectsSetLabelsCall {
- c := &InterconnectsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectGroupsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *InterconnectGroupsTestIamPermissionsCall {
+ c := &InterconnectGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.resource = resource
- c.globalsetlabelsrequest = globalsetlabelsrequest
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *InterconnectsSetLabelsCall) Fields(s ...googleapi.Field) *InterconnectsSetLabelsCall {
+func (c *InterconnectGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InterconnectGroupsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *InterconnectsSetLabelsCall) Context(ctx context.Context) *InterconnectsSetLabelsCall {
+func (c *InterconnectGroupsTestIamPermissionsCall) Context(ctx context.Context) *InterconnectGroupsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *InterconnectsSetLabelsCall) Header() http.Header {
+func (c *InterconnectGroupsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *InterconnectsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
+func (c *InterconnectGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{resource}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -52776,16 +52494,17 @@ func (c *InterconnectsSetLabelsCall) doRequest(alt string) (*http.Response, erro
"project": c.project,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.interconnects.setLabels" call.
+// Do executes the "compute.interconnectGroups.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *InterconnectsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -52804,7 +52523,7 @@ func (c *InterconnectsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operatio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -52815,42 +52534,37 @@ func (c *InterconnectsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicenseCodesGetCall struct {
- s *Service
- project string
- licenseCode string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectLocationsGetCall struct {
+ s *Service
+ project string
+ interconnectLocation string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Return a specified license code. License codes are mirrored across
-// all projects that have permissions to read the License Code.
-//
-// *Caution* This resource is intended
-//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+// Get: Returns the details for the specified interconnect location. Gets a
+// list of
+// available interconnect locations by making a list() request.
//
-// - licenseCode: Number corresponding to the License code resource to return.
+// - interconnectLocation: Name of the interconnect location to return.
// - project: Project ID for this request.
-func (r *LicenseCodesService) Get(project string, licenseCode string) *LicenseCodesGetCall {
- c := &LicenseCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectLocationsService) Get(project string, interconnectLocation string) *InterconnectLocationsGetCall {
+ c := &InterconnectLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.licenseCode = licenseCode
+ c.interconnectLocation = interconnectLocation
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicenseCodesGetCall) Fields(s ...googleapi.Field) *LicenseCodesGetCall {
+func (c *InterconnectLocationsGetCall) Fields(s ...googleapi.Field) *InterconnectLocationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -52858,34 +52572,34 @@ func (c *LicenseCodesGetCall) Fields(s ...googleapi.Field) *LicenseCodesGetCall
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *LicenseCodesGetCall) IfNoneMatch(entityTag string) *LicenseCodesGetCall {
+func (c *InterconnectLocationsGetCall) IfNoneMatch(entityTag string) *InterconnectLocationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *LicenseCodesGetCall) Context(ctx context.Context) *LicenseCodesGetCall {
+func (c *InterconnectLocationsGetCall) Context(ctx context.Context) *InterconnectLocationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicenseCodesGetCall) Header() http.Header {
+func (c *InterconnectLocationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicenseCodesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectLocationsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenseCodes/{licenseCode}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectLocations/{interconnectLocation}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -52893,19 +52607,20 @@ func (c *LicenseCodesGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "licenseCode": c.licenseCode,
+ "project": c.project,
+ "interconnectLocation": c.interconnectLocation,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenseCodes.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectLocations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenseCodes.get" call.
+// Do executes the "compute.interconnectLocations.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *LicenseCode.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *LicenseCodesGetCall) Do(opts ...googleapi.CallOption) (*LicenseCode, error) {
+// *InterconnectLocation.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InterconnectLocationsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectLocation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -52924,7 +52639,7 @@ func (c *LicenseCodesGetCall) Do(opts ...googleapi.CallOption) (*LicenseCode, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &LicenseCode{
+ ret := &InterconnectLocation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -52935,92 +52650,202 @@ func (c *LicenseCodesGetCall) Do(opts ...googleapi.CallOption) (*LicenseCode, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenseCodes.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectLocations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicenseCodesTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectLocationsListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
-//
-// *Caution* This resource is intended
-//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+// List: Retrieves the list of interconnect locations available to the
+// specified
+// project.
//
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *LicenseCodesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *LicenseCodesTestIamPermissionsCall {
- c := &LicenseCodesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectLocationsService) List(project string) *InterconnectLocationsListCall {
+ c := &InterconnectLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InterconnectLocationsListCall) Filter(filter string) *InterconnectLocationsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InterconnectLocationsListCall) MaxResults(maxResults int64) *InterconnectLocationsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InterconnectLocationsListCall) OrderBy(orderBy string) *InterconnectLocationsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InterconnectLocationsListCall) PageToken(pageToken string) *InterconnectLocationsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicenseCodesTestIamPermissionsCall) Fields(s ...googleapi.Field) *LicenseCodesTestIamPermissionsCall {
+func (c *InterconnectLocationsListCall) Fields(s ...googleapi.Field) *InterconnectLocationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectLocationsListCall) IfNoneMatch(entityTag string) *InterconnectLocationsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *LicenseCodesTestIamPermissionsCall) Context(ctx context.Context) *LicenseCodesTestIamPermissionsCall {
+func (c *InterconnectLocationsListCall) Context(ctx context.Context) *InterconnectLocationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicenseCodesTestIamPermissionsCall) Header() http.Header {
+func (c *InterconnectLocationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicenseCodesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *InterconnectLocationsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenseCodes/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectLocations")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenseCodes.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectLocations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenseCodes.testIamPermissions" call.
+// Do executes the "compute.interconnectLocations.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// *InterconnectLocationList.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *LicenseCodesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *InterconnectLocationsListCall) Do(opts ...googleapi.CallOption) (*InterconnectLocationList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -53039,7 +52864,7 @@ func (c *LicenseCodesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &InterconnectLocationList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -53050,106 +52875,115 @@ func (c *LicenseCodesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenseCodes.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectLocations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicensesDeleteCall struct {
- s *Service
- project string
- license string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InterconnectLocationsListCall) Pages(ctx context.Context, f func(*InterconnectLocationList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Delete: Deletes the specified license.
-//
-// *Caution* This resource is intended
-//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
-//
-// - license: Name of the license resource to delete.
-// - project: Project ID for this request.
-func (r *LicensesService) Delete(project string, license string) *LicensesDeleteCall {
- c := &LicensesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.license = license
- return c
+type InterconnectRemoteLocationsGetCall struct {
+ s *Service
+ project string
+ interconnectRemoteLocation string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// Get: Returns the details for the specified interconnect remote location.
+// Gets a
+// list of available interconnect remote locations by making alist() request.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *LicensesDeleteCall) RequestId(requestId string) *LicensesDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+// - interconnectRemoteLocation: Name of the interconnect remote location to
+// return.
+// - project: Project ID for this request.
+func (r *InterconnectRemoteLocationsService) Get(project string, interconnectRemoteLocation string) *InterconnectRemoteLocationsGetCall {
+ c := &InterconnectRemoteLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.interconnectRemoteLocation = interconnectRemoteLocation
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicensesDeleteCall) Fields(s ...googleapi.Field) *LicensesDeleteCall {
+func (c *InterconnectRemoteLocationsGetCall) Fields(s ...googleapi.Field) *InterconnectRemoteLocationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectRemoteLocationsGetCall) IfNoneMatch(entityTag string) *InterconnectRemoteLocationsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *LicensesDeleteCall) Context(ctx context.Context) *LicensesDeleteCall {
+func (c *InterconnectRemoteLocationsGetCall) Context(ctx context.Context) *InterconnectRemoteLocationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicensesDeleteCall) Header() http.Header {
+func (c *InterconnectRemoteLocationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicensesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectRemoteLocationsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{license}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "license": c.license,
+ "project": c.project,
+ "interconnectRemoteLocation": c.interconnectRemoteLocation,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectRemoteLocations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenses.delete" call.
+// Do executes the "compute.interconnectRemoteLocations.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *LicensesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InterconnectRemoteLocation.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectRemoteLocationsGetCall) Do(opts ...googleapi.CallOption) (*InterconnectRemoteLocation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -53168,7 +53002,7 @@ func (c *LicensesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InterconnectRemoteLocation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -53179,41 +53013,147 @@ func (c *LicensesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectRemoteLocations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicensesGetCall struct {
- s *Service
- project string
- license string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectRemoteLocationsListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of interconnect remote locations available to
+// the
+// specified project.
+//
+// - project: Project ID for this request.
+func (r *InterconnectRemoteLocationsService) List(project string) *InterconnectRemoteLocationsListCall {
+ c := &InterconnectRemoteLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InterconnectRemoteLocationsListCall) Filter(filter string) *InterconnectRemoteLocationsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InterconnectRemoteLocationsListCall) MaxResults(maxResults int64) *InterconnectRemoteLocationsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
}
-// Get: Returns the specified License resource.
-//
-// *Caution* This resource is intended
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// - license: Name of the License resource to return.
-// - project: Project ID for this request.
-func (r *LicensesService) Get(project string, license string) *LicensesGetCall {
- c := &LicensesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.license = license
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InterconnectRemoteLocationsListCall) OrderBy(orderBy string) *InterconnectRemoteLocationsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InterconnectRemoteLocationsListCall) PageToken(pageToken string) *InterconnectRemoteLocationsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicensesGetCall) Fields(s ...googleapi.Field) *LicensesGetCall {
+func (c *InterconnectRemoteLocationsListCall) Fields(s ...googleapi.Field) *InterconnectRemoteLocationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -53221,34 +53161,34 @@ func (c *LicensesGetCall) Fields(s ...googleapi.Field) *LicensesGetCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *LicensesGetCall) IfNoneMatch(entityTag string) *LicensesGetCall {
+func (c *InterconnectRemoteLocationsListCall) IfNoneMatch(entityTag string) *InterconnectRemoteLocationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *LicensesGetCall) Context(ctx context.Context) *LicensesGetCall {
+func (c *InterconnectRemoteLocationsListCall) Context(ctx context.Context) *InterconnectRemoteLocationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicensesGetCall) Header() http.Header {
+func (c *InterconnectRemoteLocationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectRemoteLocationsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{license}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnectRemoteLocations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -53257,18 +53197,18 @@ func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "license": c.license,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnectRemoteLocations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenses.get" call.
+// Do executes the "compute.interconnectRemoteLocations.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *License.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *LicensesGetCall) Do(opts ...googleapi.CallOption) (*License, error) {
+// *InterconnectRemoteLocationList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectRemoteLocationsListCall) Do(opts ...googleapi.CallOption) (*InterconnectRemoteLocationList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -53287,7 +53227,7 @@ func (c *LicensesGetCall) Do(opts ...googleapi.CallOption) (*License, error) {
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &License{
+ ret := &InterconnectRemoteLocationList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -53298,105 +53238,121 @@ func (c *LicensesGetCall) Do(opts ...googleapi.CallOption) (*License, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnectRemoteLocations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicensesGetIamPolicyCall struct {
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InterconnectRemoteLocationsListCall) Pages(ctx context.Context, f func(*InterconnectRemoteLocationList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type InterconnectsDeleteCall struct {
s *Service
project string
- resource string
+ interconnect string
urlParams_ gensupport.URLParams
- ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
-//
-// *Caution* This resource is intended
-//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+// Delete: Deletes the specified Interconnect.
//
+// - interconnect: Name of the interconnect to delete.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *LicensesService) GetIamPolicy(project string, resource string) *LicensesGetIamPolicyCall {
- c := &LicensesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectsService) Delete(project string, interconnect string) *InterconnectsDeleteCall {
+ c := &InterconnectsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
+ c.interconnect = interconnect
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *LicensesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *LicensesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InterconnectsDeleteCall) RequestId(requestId string) *InterconnectsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicensesGetIamPolicyCall) Fields(s ...googleapi.Field) *LicensesGetIamPolicyCall {
+func (c *InterconnectsDeleteCall) Fields(s ...googleapi.Field) *InterconnectsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *LicensesGetIamPolicyCall) IfNoneMatch(entityTag string) *LicensesGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *LicensesGetIamPolicyCall) Context(ctx context.Context) *LicensesGetIamPolicyCall {
+func (c *InterconnectsDeleteCall) Context(ctx context.Context) *InterconnectsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicensesGetIamPolicyCall) Header() http.Header {
+func (c *InterconnectsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicensesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *InterconnectsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "interconnect": c.interconnect,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenses.getIamPolicy" call.
+// Do executes the "compute.interconnects.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *LicensesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InterconnectsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -53415,7 +53371,7 @@ func (c *LicensesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -53426,108 +53382,92 @@ func (c *LicensesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicensesInsertCall struct {
- s *Service
- project string
- license *License
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectsGetCall struct {
+ s *Service
+ project string
+ interconnect string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Create a License resource in the specified project.
-//
-// *Caution* This resource is intended
-//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+// Get: Returns the specified Interconnect. Get a list of available
+// Interconnects
+// by making a list() request.
//
+// - interconnect: Name of the interconnect to return.
// - project: Project ID for this request.
-func (r *LicensesService) Insert(project string, license *License) *LicensesInsertCall {
- c := &LicensesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectsService) Get(project string, interconnect string) *InterconnectsGetCall {
+ c := &InterconnectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.license = license
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *LicensesInsertCall) RequestId(requestId string) *LicensesInsertCall {
- c.urlParams_.Set("requestId", requestId)
+ c.interconnect = interconnect
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicensesInsertCall) Fields(s ...googleapi.Field) *LicensesInsertCall {
+func (c *InterconnectsGetCall) Fields(s ...googleapi.Field) *InterconnectsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectsGetCall) IfNoneMatch(entityTag string) *InterconnectsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *LicensesInsertCall) Context(ctx context.Context) *LicensesInsertCall {
+func (c *InterconnectsGetCall) Context(ctx context.Context) *InterconnectsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicensesInsertCall) Header() http.Header {
+func (c *InterconnectsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicensesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.license)
- if err != nil {
- return nil, err
+func (c *InterconnectsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "interconnect": c.interconnect,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenses.insert" call.
+// Do executes the "compute.interconnects.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Interconnect.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *LicensesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectsGetCall) Do(opts ...googleapi.CallOption) (*Interconnect, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -53546,7 +53486,7 @@ func (c *LicensesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Interconnect{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -53557,174 +53497,45 @@ func (c *LicensesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicensesListCall struct {
+type InterconnectsGetDiagnosticsCall struct {
s *Service
project string
+ interconnect string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of licenses
-// available in the specified project. This method does not
-// get any licenses that belong to other projects, including licenses
-// attached
-// to publicly-available images, like Debian 9. If you want to get a list
-// of
-// publicly-available licenses, use this method to make a request to
-// the
-// respective image project, such as debian-cloud orwindows-cloud.
+// GetDiagnostics: Returns the interconnectDiagnostics for the
+// specified
+// Interconnect.
//
-// *Caution* This resource is intended
+// In the event of a
+// global outage, do not use this API to make decisions about where to
+// redirect your network traffic.
//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+// Unlike a VLAN attachment, which is regional, a Cloud Interconnect
+// connection is a global resource. A global outage can prevent this
+// API from functioning properly.
//
+// - interconnect: Name of the interconnect resource to query.
// - project: Project ID for this request.
-func (r *LicensesService) List(project string) *LicensesListCall {
- c := &LicensesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectsService) GetDiagnostics(project string, interconnect string) *InterconnectsGetDiagnosticsCall {
+ c := &InterconnectsGetDiagnosticsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *LicensesListCall) Filter(filter string) *LicensesListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *LicensesListCall) MaxResults(maxResults int64) *LicensesListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *LicensesListCall) OrderBy(orderBy string) *LicensesListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *LicensesListCall) PageToken(pageToken string) *LicensesListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *LicensesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *LicensesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+ c.interconnect = interconnect
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicensesListCall) Fields(s ...googleapi.Field) *LicensesListCall {
+func (c *InterconnectsGetDiagnosticsCall) Fields(s ...googleapi.Field) *InterconnectsGetDiagnosticsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -53732,34 +53543,34 @@ func (c *LicensesListCall) Fields(s ...googleapi.Field) *LicensesListCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *LicensesListCall) IfNoneMatch(entityTag string) *LicensesListCall {
+func (c *InterconnectsGetDiagnosticsCall) IfNoneMatch(entityTag string) *InterconnectsGetDiagnosticsCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *LicensesListCall) Context(ctx context.Context) *LicensesListCall {
+func (c *InterconnectsGetDiagnosticsCall) Context(ctx context.Context) *InterconnectsGetDiagnosticsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicensesListCall) Header() http.Header {
+func (c *InterconnectsGetDiagnosticsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicensesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectsGetDiagnosticsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}/getDiagnostics")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -53767,19 +53578,20 @@ func (c *LicensesListCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "interconnect": c.interconnect,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.getDiagnostics", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenses.list" call.
+// Do executes the "compute.interconnects.getDiagnostics" call.
// Any non-2xx status code is an error. Response headers are in either
-// *LicensesListResponse.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *LicensesListCall) Do(opts ...googleapi.CallOption) (*LicensesListResponse, error) {
+// *InterconnectsGetDiagnosticsResponse.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectsGetDiagnosticsCall) Do(opts ...googleapi.CallOption) (*InterconnectsGetDiagnosticsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -53798,7 +53610,7 @@ func (c *LicensesListCall) Do(opts ...googleapi.CallOption) (*LicensesListRespon
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &LicensesListResponse{
+ ret := &InterconnectsGetDiagnosticsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -53809,113 +53621,93 @@ func (c *LicensesListCall) Do(opts ...googleapi.CallOption) (*LicensesListRespon
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.list", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *LicensesListCall) Pages(ctx context.Context, f func(*LicensesListResponse) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type LicensesSetIamPolicyCall struct {
- s *Service
- project string
- resource string
- globalsetpolicyrequest *GlobalSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.getDiagnostics", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
-//
-// *Caution* This resource is intended
-//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+type InterconnectsGetMacsecConfigCall struct {
+ s *Service
+ project string
+ interconnect string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetMacsecConfig: Returns the interconnectMacsecConfig for the
+// specified
+// Interconnect.
//
+// - interconnect: Name of the interconnect resource to query.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *LicensesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *LicensesSetIamPolicyCall {
- c := &LicensesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectsService) GetMacsecConfig(project string, interconnect string) *InterconnectsGetMacsecConfigCall {
+ c := &InterconnectsGetMacsecConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.globalsetpolicyrequest = globalsetpolicyrequest
+ c.interconnect = interconnect
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicensesSetIamPolicyCall) Fields(s ...googleapi.Field) *LicensesSetIamPolicyCall {
+func (c *InterconnectsGetMacsecConfigCall) Fields(s ...googleapi.Field) *InterconnectsGetMacsecConfigCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectsGetMacsecConfigCall) IfNoneMatch(entityTag string) *InterconnectsGetMacsecConfigCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *LicensesSetIamPolicyCall) Context(ctx context.Context) *LicensesSetIamPolicyCall {
+func (c *InterconnectsGetMacsecConfigCall) Context(ctx context.Context) *InterconnectsGetMacsecConfigCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicensesSetIamPolicyCall) Header() http.Header {
+func (c *InterconnectsGetMacsecConfigCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicensesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
- if err != nil {
- return nil, err
+func (c *InterconnectsGetMacsecConfigCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "interconnect": c.interconnect,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.getMacsecConfig", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenses.setIamPolicy" call.
+// Do executes the "compute.interconnects.getMacsecConfig" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *LicensesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *InterconnectsGetMacsecConfigResponse.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InterconnectsGetMacsecConfigCall) Do(opts ...googleapi.CallOption) (*InterconnectsGetMacsecConfigResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -53934,7 +53726,7 @@ func (c *LicensesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &InterconnectsGetMacsecConfigResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -53945,71 +53737,84 @@ func (c *LicensesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.getMacsecConfig", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicensesTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectsInsertCall struct {
+ s *Service
+ project string
+ interconnect *Interconnect
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
-//
-// *Caution* This resource is intended
-//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+// Insert: Creates an Interconnect in the specified project using
+// the data included in the request.
//
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *LicensesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *LicensesTestIamPermissionsCall {
- c := &LicensesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectsService) Insert(project string, interconnect *Interconnect) *InterconnectsInsertCall {
+ c := &InterconnectsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.interconnect = interconnect
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InterconnectsInsertCall) RequestId(requestId string) *InterconnectsInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicensesTestIamPermissionsCall) Fields(s ...googleapi.Field) *LicensesTestIamPermissionsCall {
+func (c *InterconnectsInsertCall) Fields(s ...googleapi.Field) *InterconnectsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *LicensesTestIamPermissionsCall) Context(ctx context.Context) *LicensesTestIamPermissionsCall {
+func (c *InterconnectsInsertCall) Context(ctx context.Context) *InterconnectsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicensesTestIamPermissionsCall) Header() http.Header {
+func (c *InterconnectsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicensesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *InterconnectsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnect)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -54017,20 +53822,18 @@ func (c *LicensesTestIamPermissionsCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenses.testIamPermissions" call.
+// Do executes the "compute.interconnects.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *LicensesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *InterconnectsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -54049,7 +53852,7 @@ func (c *LicensesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Test
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -54060,119 +53863,201 @@ func (c *LicensesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Test
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type LicensesUpdateCall struct {
- s *Service
- project string
- license string
- license2 *License
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type InterconnectsListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates a License resource in the specified project.
-//
-// *Caution* This resource is intended
-//
-// for use only by third-party partners who are creatingCloud
-// Marketplace
-// images.
+// List: Retrieves the list of Interconnects available to the specified
+// project.
//
-// - license: The license name for this request.
// - project: Project ID for this request.
-func (r *LicensesService) Update(project string, license string, license2 *License) *LicensesUpdateCall {
- c := &LicensesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectsService) List(project string) *InterconnectsListCall {
+ c := &InterconnectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.license = license
- c.license2 = license2
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *LicensesUpdateCall) RequestId(requestId string) *LicensesUpdateCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *InterconnectsListCall) Filter(filter string) *InterconnectsListCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// UpdateMask sets the optional parameter "updateMask": update_mask indicates
-// fields to be updated as part of this request.
-func (c *LicensesUpdateCall) UpdateMask(updateMask string) *LicensesUpdateCall {
- c.urlParams_.Set("updateMask", updateMask)
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *InterconnectsListCall) MaxResults(maxResults int64) *InterconnectsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *InterconnectsListCall) OrderBy(orderBy string) *InterconnectsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *InterconnectsListCall) PageToken(pageToken string) *InterconnectsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *LicensesUpdateCall) Fields(s ...googleapi.Field) *LicensesUpdateCall {
+func (c *InterconnectsListCall) Fields(s ...googleapi.Field) *InterconnectsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *InterconnectsListCall) IfNoneMatch(entityTag string) *InterconnectsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *LicensesUpdateCall) Context(ctx context.Context) *LicensesUpdateCall {
+func (c *InterconnectsListCall) Context(ctx context.Context) *InterconnectsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *LicensesUpdateCall) Header() http.Header {
+func (c *InterconnectsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *LicensesUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.license2)
- if err != nil {
- return nil, err
+func (c *InterconnectsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{license}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "license": c.license,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.licenses.update" call.
+// Do executes the "compute.interconnects.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *LicensesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InterconnectList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *InterconnectsListCall) Do(opts ...googleapi.CallOption) (*InterconnectList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -54191,7 +54076,7 @@ func (c *LicensesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InterconnectList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -54202,29 +54087,54 @@ func (c *LicensesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineImagesDeleteCall struct {
- s *Service
- project string
- machineImage string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InterconnectsListCall) Pages(ctx context.Context, f func(*InterconnectList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Delete: Deletes the specified machine image. Deleting a machine image is
-// permanent
-// and cannot be undone.
+type InterconnectsPatchCall struct {
+ s *Service
+ project string
+ interconnect string
+ interconnect2 *Interconnect
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates the specified Interconnect with the data included in the
+// request.
+// This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// - machineImage: The name of the machine image to delete.
+// - interconnect: Name of the interconnect to update.
// - project: Project ID for this request.
-func (r *MachineImagesService) Delete(project string, machineImage string) *MachineImagesDeleteCall {
- c := &MachineImagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectsService) Patch(project string, interconnect string, interconnect2 *Interconnect) *InterconnectsPatchCall {
+ c := &InterconnectsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.machineImage = machineImage
+ c.interconnect = interconnect
+ c.interconnect2 = interconnect2
return c
}
@@ -54245,7 +54155,7 @@ func (r *MachineImagesService) Delete(project string, machineImage string) *Mach
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *MachineImagesDeleteCall) RequestId(requestId string) *MachineImagesDeleteCall {
+func (c *InterconnectsPatchCall) RequestId(requestId string) *InterconnectsPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -54253,51 +54163,55 @@ func (c *MachineImagesDeleteCall) RequestId(requestId string) *MachineImagesDele
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineImagesDeleteCall) Fields(s ...googleapi.Field) *MachineImagesDeleteCall {
+func (c *InterconnectsPatchCall) Fields(s ...googleapi.Field) *InterconnectsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *MachineImagesDeleteCall) Context(ctx context.Context) *MachineImagesDeleteCall {
+func (c *InterconnectsPatchCall) Context(ctx context.Context) *InterconnectsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineImagesDeleteCall) Header() http.Header {
+func (c *InterconnectsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *InterconnectsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnect2)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{machineImage}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "machineImage": c.machineImage,
+ "interconnect": c.interconnect,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineImages.delete" call.
+// Do executes the "compute.interconnects.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *MachineImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *InterconnectsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -54327,90 +54241,87 @@ func (c *MachineImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineImagesGetCall struct {
- s *Service
- project string
- machineImage string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectsSetLabelsCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetlabelsrequest *GlobalSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified machine image.
+// SetLabels: Sets the labels on an Interconnect. To learn more about
+// labels,
+// read the Labeling
+// Resources documentation.
//
-// - machineImage: The name of the machine image.
// - project: Project ID for this request.
-func (r *MachineImagesService) Get(project string, machineImage string) *MachineImagesGetCall {
- c := &MachineImagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *InterconnectsService) SetLabels(project string, resource string, globalsetlabelsrequest *GlobalSetLabelsRequest) *InterconnectsSetLabelsCall {
+ c := &InterconnectsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.machineImage = machineImage
+ c.resource = resource
+ c.globalsetlabelsrequest = globalsetlabelsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineImagesGetCall) Fields(s ...googleapi.Field) *MachineImagesGetCall {
+func (c *InterconnectsSetLabelsCall) Fields(s ...googleapi.Field) *InterconnectsSetLabelsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *MachineImagesGetCall) IfNoneMatch(entityTag string) *MachineImagesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *MachineImagesGetCall) Context(ctx context.Context) *MachineImagesGetCall {
+func (c *InterconnectsSetLabelsCall) Context(ctx context.Context) *InterconnectsSetLabelsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineImagesGetCall) Header() http.Header {
+func (c *InterconnectsSetLabelsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineImagesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InterconnectsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{machineImage}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{resource}/setLabels")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "machineImage": c.machineImage,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineImages.get" call.
+// Do executes the "compute.interconnects.setLabels" call.
// Any non-2xx status code is an error. Response headers are in either
-// *MachineImage.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *MachineImagesGetCall) Do(opts ...googleapi.CallOption) (*MachineImage, error) {
+func (c *InterconnectsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -54429,7 +54340,7 @@ func (c *MachineImagesGetCall) Do(opts ...googleapi.CallOption) (*MachineImage,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &MachineImage{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -54440,99 +54351,105 @@ func (c *MachineImagesGetCall) Do(opts ...googleapi.CallOption) (*MachineImage,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.setLabels", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineImagesGetIamPolicyCall struct {
- s *Service
- project string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type InterconnectsSetNameCall struct {
+ s *Service
+ project string
+ interconnect string
+ interconnectssetnamerequest *InterconnectsSetNameRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// SetName: Sets name of an interconnect.
//
+// - interconnect: Name of the interconnect to update.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *MachineImagesService) GetIamPolicy(project string, resource string) *MachineImagesGetIamPolicyCall {
- c := &MachineImagesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *InterconnectsService) SetName(project string, interconnect string, interconnectssetnamerequest *InterconnectsSetNameRequest) *InterconnectsSetNameCall {
+ c := &InterconnectsSetNameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
+ c.interconnect = interconnect
+ c.interconnectssetnamerequest = interconnectssetnamerequest
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *MachineImagesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *MachineImagesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID
+// so that if you must retry your request, the server will know to ignore
+// the request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *InterconnectsSetNameCall) RequestId(requestId string) *InterconnectsSetNameCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineImagesGetIamPolicyCall) Fields(s ...googleapi.Field) *MachineImagesGetIamPolicyCall {
+func (c *InterconnectsSetNameCall) Fields(s ...googleapi.Field) *InterconnectsSetNameCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *MachineImagesGetIamPolicyCall) IfNoneMatch(entityTag string) *MachineImagesGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *MachineImagesGetIamPolicyCall) Context(ctx context.Context) *MachineImagesGetIamPolicyCall {
+func (c *InterconnectsSetNameCall) Context(ctx context.Context) *InterconnectsSetNameCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineImagesGetIamPolicyCall) Header() http.Header {
+func (c *InterconnectsSetNameCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *InterconnectsSetNameCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.interconnectssetnamerequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/interconnects/{interconnect}/setName")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "interconnect": c.interconnect,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.interconnects.setName", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineImages.getIamPolicy" call.
+// Do executes the "compute.interconnects.setName" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *MachineImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *InterconnectsSetNameCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -54551,7 +54468,7 @@ func (c *MachineImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Polic
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -54562,116 +54479,97 @@ func (c *MachineImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Polic
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.interconnects.setName", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineImagesInsertCall struct {
+type LicenseCodesGetCall struct {
s *Service
project string
- machineimage *MachineImage
+ licenseCode string
urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Insert: Creates a machine image in the specified project using the
-// data that is included in the request. If you are creating a new
-// machine
-// image to update an existing instance, your new machine image should use
-// the
-// same network or, if applicable, the same subnetwork as the
-// original
-// instance.
+// Get: Return a specified license code. License codes are mirrored across
+// all projects that have permissions to read the License Code.
//
-// - project: Project ID for this request.
-func (r *MachineImagesService) Insert(project string, machineimage *MachineImage) *MachineImagesInsertCall {
- c := &MachineImagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.machineimage = machineimage
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// *Caution* This resource is intended
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *MachineImagesInsertCall) RequestId(requestId string) *MachineImagesInsertCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// SourceInstance sets the optional parameter "sourceInstance": Required.
-// Source instance that is used to create the machine image from.
-func (c *MachineImagesInsertCall) SourceInstance(sourceInstance string) *MachineImagesInsertCall {
- c.urlParams_.Set("sourceInstance", sourceInstance)
+// - licenseCode: Number corresponding to the License code resource to return.
+// - project: Project ID for this request.
+func (r *LicenseCodesService) Get(project string, licenseCode string) *LicenseCodesGetCall {
+ c := &LicenseCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.licenseCode = licenseCode
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineImagesInsertCall) Fields(s ...googleapi.Field) *MachineImagesInsertCall {
+func (c *LicenseCodesGetCall) Fields(s ...googleapi.Field) *LicenseCodesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *LicenseCodesGetCall) IfNoneMatch(entityTag string) *LicenseCodesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *MachineImagesInsertCall) Context(ctx context.Context) *MachineImagesInsertCall {
+func (c *LicenseCodesGetCall) Context(ctx context.Context) *LicenseCodesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineImagesInsertCall) Header() http.Header {
+func (c *LicenseCodesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineImagesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.machineimage)
- if err != nil {
- return nil, err
+func (c *LicenseCodesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenseCodes/{licenseCode}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "licenseCode": c.licenseCode,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenseCodes.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineImages.insert" call.
+// Do executes the "compute.licenseCodes.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *LicenseCode.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *MachineImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *LicenseCodesGetCall) Do(opts ...googleapi.CallOption) (*LicenseCode, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -54690,7 +54588,7 @@ func (c *MachineImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &LicenseCode{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -54701,161 +54599,50 @@ func (c *MachineImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenseCodes.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineImagesListCall struct {
+type LicenseCodesGetIamPolicyCall struct {
s *Service
project string
+ resource string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves a list of machine images that are contained within
-// the specified project.
-//
-// - project: Project ID for this request.
-func (r *MachineImagesService) List(project string) *MachineImagesListCall {
- c := &MachineImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *MachineImagesListCall) Filter(filter string) *MachineImagesListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *MachineImagesListCall) MaxResults(maxResults int64) *MachineImagesListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
+// *Caution* This resource is intended
//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *MachineImagesListCall) OrderBy(orderBy string) *MachineImagesListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *MachineImagesListCall) PageToken(pageToken string) *MachineImagesListCall {
- c.urlParams_.Set("pageToken", pageToken)
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+func (r *LicenseCodesService) GetIamPolicy(project string, resource string) *LicenseCodesGetIamPolicyCall {
+ c := &LicenseCodesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.resource = resource
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *MachineImagesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *MachineImagesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *LicenseCodesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *LicenseCodesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineImagesListCall) Fields(s ...googleapi.Field) *MachineImagesListCall {
+func (c *LicenseCodesGetIamPolicyCall) Fields(s ...googleapi.Field) *LicenseCodesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -54863,34 +54650,34 @@ func (c *MachineImagesListCall) Fields(s ...googleapi.Field) *MachineImagesListC
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *MachineImagesListCall) IfNoneMatch(entityTag string) *MachineImagesListCall {
+func (c *LicenseCodesGetIamPolicyCall) IfNoneMatch(entityTag string) *LicenseCodesGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *MachineImagesListCall) Context(ctx context.Context) *MachineImagesListCall {
+func (c *LicenseCodesGetIamPolicyCall) Context(ctx context.Context) *LicenseCodesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineImagesListCall) Header() http.Header {
+func (c *LicenseCodesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineImagesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *LicenseCodesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenseCodes/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -54898,19 +54685,19 @@ func (c *MachineImagesListCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenseCodes.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineImages.list" call.
+// Do executes the "compute.licenseCodes.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *MachineImageList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *MachineImagesListCall) Do(opts ...googleapi.CallOption) (*MachineImageList, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *LicenseCodesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -54929,7 +54716,7 @@ func (c *MachineImagesListCall) Do(opts ...googleapi.CallOption) (*MachineImageL
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &MachineImageList{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -54940,32 +54727,11 @@ func (c *MachineImagesListCall) Do(opts ...googleapi.CallOption) (*MachineImageL
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenseCodes.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *MachineImagesListCall) Pages(ctx context.Context, f func(*MachineImageList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type MachineImagesSetIamPolicyCall struct {
+type LicenseCodesSetIamPolicyCall struct {
s *Service
project string
resource string
@@ -54979,10 +54745,16 @@ type MachineImagesSetIamPolicyCall struct {
// resource.
// Replaces any existing policy.
//
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
+//
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
-func (r *MachineImagesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *MachineImagesSetIamPolicyCall {
- c := &MachineImagesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *LicenseCodesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *LicenseCodesSetIamPolicyCall {
+ c := &LicenseCodesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.resource = resource
c.globalsetpolicyrequest = globalsetpolicyrequest
@@ -54992,35 +54764,35 @@ func (r *MachineImagesService) SetIamPolicy(project string, resource string, glo
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineImagesSetIamPolicyCall) Fields(s ...googleapi.Field) *MachineImagesSetIamPolicyCall {
+func (c *LicenseCodesSetIamPolicyCall) Fields(s ...googleapi.Field) *LicenseCodesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *MachineImagesSetIamPolicyCall) Context(ctx context.Context) *MachineImagesSetIamPolicyCall {
+func (c *LicenseCodesSetIamPolicyCall) Context(ctx context.Context) *LicenseCodesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineImagesSetIamPolicyCall) Header() http.Header {
+func (c *LicenseCodesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *LicenseCodesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenseCodes/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -55031,16 +54803,16 @@ func (c *MachineImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, e
"project": c.project,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenseCodes.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineImages.setIamPolicy" call.
+// Do executes the "compute.licenseCodes.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *MachineImagesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *LicenseCodesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -55070,66 +54842,71 @@ func (c *MachineImagesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Polic
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenseCodes.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineImagesSetLabelsCall struct {
+type LicenseCodesTestIamPermissionsCall struct {
s *Service
project string
resource string
- globalsetlabelsrequest *GlobalSetLabelsRequest
+ testpermissionsrequest *TestPermissionsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// SetLabels: Sets the labels on a machine image. To learn more about labels,
-// read theLabeling
-// Resources documentation.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
+//
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
//
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
-func (r *MachineImagesService) SetLabels(project string, resource string, globalsetlabelsrequest *GlobalSetLabelsRequest) *MachineImagesSetLabelsCall {
- c := &MachineImagesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *LicenseCodesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *LicenseCodesTestIamPermissionsCall {
+ c := &LicenseCodesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.resource = resource
- c.globalsetlabelsrequest = globalsetlabelsrequest
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineImagesSetLabelsCall) Fields(s ...googleapi.Field) *MachineImagesSetLabelsCall {
+func (c *LicenseCodesTestIamPermissionsCall) Fields(s ...googleapi.Field) *LicenseCodesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *MachineImagesSetLabelsCall) Context(ctx context.Context) *MachineImagesSetLabelsCall {
+func (c *LicenseCodesTestIamPermissionsCall) Context(ctx context.Context) *LicenseCodesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineImagesSetLabelsCall) Header() http.Header {
+func (c *LicenseCodesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineImagesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
+func (c *LicenseCodesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{resource}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenseCodes/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -55140,16 +54917,17 @@ func (c *MachineImagesSetLabelsCall) doRequest(alt string) (*http.Response, erro
"project": c.project,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenseCodes.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineImages.setLabels" call.
+// Do executes the "compute.licenseCodes.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *MachineImagesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *LicenseCodesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -55168,7 +54946,7 @@ func (c *MachineImagesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operatio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -55179,86 +54957,106 @@ func (c *MachineImagesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenseCodes.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineImagesTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type LicensesDeleteCall struct {
+ s *Service
+ project string
+ license string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Delete: Deletes the specified license.
//
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
+//
+// - license: Name of the license resource to delete.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *MachineImagesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *MachineImagesTestIamPermissionsCall {
- c := &MachineImagesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *LicensesService) Delete(project string, license string) *LicensesDeleteCall {
+ c := &LicensesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.license = license
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *LicensesDeleteCall) RequestId(requestId string) *LicensesDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineImagesTestIamPermissionsCall) Fields(s ...googleapi.Field) *MachineImagesTestIamPermissionsCall {
+func (c *LicensesDeleteCall) Fields(s ...googleapi.Field) *LicensesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *MachineImagesTestIamPermissionsCall) Context(ctx context.Context) *MachineImagesTestIamPermissionsCall {
+func (c *LicensesDeleteCall) Context(ctx context.Context) *LicensesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineImagesTestIamPermissionsCall) Header() http.Header {
+func (c *LicensesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
+func (c *LicensesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{license}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "license": c.license,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineImages.testIamPermissions" call.
+// Do executes the "compute.licenses.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *MachineImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *LicensesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -55277,7 +55075,7 @@ func (c *MachineImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -55288,190 +55086,41 @@ func (c *MachineImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineTypesAggregatedListCall struct {
+type LicensesGetCall struct {
s *Service
project string
+ license string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of machine types.
+// Get: Returns the specified License resource.
//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
//
+// - license: Name of the License resource to return.
// - project: Project ID for this request.
-func (r *MachineTypesService) AggregatedList(project string) *MachineTypesAggregatedListCall {
- c := &MachineTypesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *LicensesService) Get(project string, license string) *LicensesGetCall {
+ c := &LicensesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *MachineTypesAggregatedListCall) Filter(filter string) *MachineTypesAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *MachineTypesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *MachineTypesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *MachineTypesAggregatedListCall) MaxResults(maxResults int64) *MachineTypesAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *MachineTypesAggregatedListCall) OrderBy(orderBy string) *MachineTypesAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *MachineTypesAggregatedListCall) PageToken(pageToken string) *MachineTypesAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *MachineTypesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *MachineTypesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *MachineTypesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *MachineTypesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+ c.license = license
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineTypesAggregatedListCall) Fields(s ...googleapi.Field) *MachineTypesAggregatedListCall {
+func (c *LicensesGetCall) Fields(s ...googleapi.Field) *LicensesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -55479,34 +55128,34 @@ func (c *MachineTypesAggregatedListCall) Fields(s ...googleapi.Field) *MachineTy
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *MachineTypesAggregatedListCall) IfNoneMatch(entityTag string) *MachineTypesAggregatedListCall {
+func (c *LicensesGetCall) IfNoneMatch(entityTag string) *LicensesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *MachineTypesAggregatedListCall) Context(ctx context.Context) *MachineTypesAggregatedListCall {
+func (c *LicensesGetCall) Context(ctx context.Context) *LicensesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineTypesAggregatedListCall) Header() http.Header {
+func (c *LicensesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/machineTypes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{license}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -55515,18 +55164,18 @@ func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response,
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "license": c.license,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineTypes.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineTypes.aggregatedList" call.
+// Do executes the "compute.licenses.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *MachineTypeAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *MachineTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*MachineTypeAggregatedList, error) {
+// *License.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *LicensesGetCall) Do(opts ...googleapi.CallOption) (*License, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -55545,7 +55194,7 @@ func (c *MachineTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Mach
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &MachineTypeAggregatedList{
+ ret := &License{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -55556,59 +55205,50 @@ func (c *MachineTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Mach
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineTypes.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *MachineTypesAggregatedListCall) Pages(ctx context.Context, f func(*MachineTypeAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type MachineTypesGetCall struct {
+type LicensesGetIamPolicyCall struct {
s *Service
project string
- zone string
- machineType string
+ resource string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the specified machine type.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
+//
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
//
-// - machineType: Name of the machine type to return.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *MachineTypesService) Get(project string, zone string, machineType string) *MachineTypesGetCall {
- c := &MachineTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *LicensesService) GetIamPolicy(project string, resource string) *LicensesGetIamPolicyCall {
+ c := &LicensesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.machineType = machineType
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *LicensesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *LicensesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineTypesGetCall) Fields(s ...googleapi.Field) *MachineTypesGetCall {
+func (c *LicensesGetIamPolicyCall) Fields(s ...googleapi.Field) *LicensesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -55616,34 +55256,34 @@ func (c *MachineTypesGetCall) Fields(s ...googleapi.Field) *MachineTypesGetCall
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *MachineTypesGetCall) IfNoneMatch(entityTag string) *MachineTypesGetCall {
+func (c *LicensesGetIamPolicyCall) IfNoneMatch(entityTag string) *LicensesGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *MachineTypesGetCall) Context(ctx context.Context) *MachineTypesGetCall {
+func (c *LicensesGetIamPolicyCall) Context(ctx context.Context) *LicensesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineTypesGetCall) Header() http.Header {
+func (c *LicensesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *LicensesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/machineTypes/{machineType}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -55651,20 +55291,19 @@ func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "machineType": c.machineType,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineTypes.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineTypes.get" call.
+// Do executes the "compute.licenses.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *MachineType.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *MachineTypesGetCall) Do(opts ...googleapi.CallOption) (*MachineType, error) {
+func (c *LicensesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -55683,7 +55322,7 @@ func (c *MachineTypesGetCall) Do(opts ...googleapi.CallOption) (*MachineType, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &MachineType{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -55694,220 +55333,108 @@ func (c *MachineTypesGetCall) Do(opts ...googleapi.CallOption) (*MachineType, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineTypes.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type MachineTypesListCall struct {
- s *Service
- project string
- zone string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// List: Retrieves a list of machine types available to the specified
-// project.
-//
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *MachineTypesService) List(project string, zone string) *MachineTypesListCall {
- c := &MachineTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- return c
+type LicensesInsertCall struct {
+ s *Service
+ project string
+ license *License
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+// Insert: Create a License resource in the specified project.
//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
+// *Caution* This resource is intended
//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *MachineTypesListCall) Filter(filter string) *MachineTypesListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *MachineTypesListCall) MaxResults(maxResults int64) *MachineTypesListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// - project: Project ID for this request.
+func (r *LicensesService) Insert(project string, license *License) *LicensesInsertCall {
+ c := &LicensesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.license = license
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *MachineTypesListCall) OrderBy(orderBy string) *MachineTypesListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *MachineTypesListCall) PageToken(pageToken string) *MachineTypesListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *MachineTypesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *MachineTypesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *LicensesInsertCall) RequestId(requestId string) *LicensesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *MachineTypesListCall) Fields(s ...googleapi.Field) *MachineTypesListCall {
+func (c *LicensesInsertCall) Fields(s ...googleapi.Field) *LicensesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *MachineTypesListCall) IfNoneMatch(entityTag string) *MachineTypesListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *MachineTypesListCall) Context(ctx context.Context) *MachineTypesListCall {
+func (c *LicensesInsertCall) Context(ctx context.Context) *LicensesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *MachineTypesListCall) Header() http.Header {
+func (c *LicensesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *MachineTypesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *LicensesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.license)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/machineTypes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineTypes.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.machineTypes.list" call.
+// Do executes the "compute.licenses.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *MachineTypeList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *MachineTypesListCall) Do(opts ...googleapi.CallOption) (*MachineTypeList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *LicensesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -55926,7 +55453,7 @@ func (c *MachineTypesListCall) Do(opts ...googleapi.CallOption) (*MachineTypeLis
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &MachineTypeList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -55937,32 +55464,11 @@ func (c *MachineTypesListCall) Do(opts ...googleapi.CallOption) (*MachineTypeLis
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineTypes.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *MachineTypesListCall) Pages(ctx context.Context, f func(*MachineTypeList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type NetworkAttachmentsAggregatedListCall struct {
+type LicensesListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -55971,17 +55477,25 @@ type NetworkAttachmentsAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves the list of all NetworkAttachment
-// resources,
-// regional and global, available to the specified project.
-//
-// To prevent failure, Google recommends that you set
+// List: Retrieves the list of licenses
+// available in the specified project. This method does not
+// get any licenses that belong to other projects, including licenses
+// attached
+// to publicly-available images, like Debian 9. If you want to get a list
+// of
+// publicly-available licenses, use this method to make a request to
// the
-// `returnPartialSuccess` parameter to `true`.
+// respective image project, such as debian-cloud orwindows-cloud.
+//
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
//
// - project: Project ID for this request.
-func (r *NetworkAttachmentsService) AggregatedList(project string) *NetworkAttachmentsAggregatedListCall {
- c := &NetworkAttachmentsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *LicensesService) List(project string) *LicensesListCall {
+ c := &LicensesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -56053,29 +55567,11 @@ func (r *NetworkAttachmentsService) AggregatedList(project string) *NetworkAttac
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NetworkAttachmentsAggregatedListCall) Filter(filter string) *NetworkAttachmentsAggregatedListCall {
+func (c *LicensesListCall) Filter(filter string) *LicensesListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *NetworkAttachmentsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NetworkAttachmentsAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -56083,7 +55579,7 @@ func (c *NetworkAttachmentsAggregatedListCall) IncludeAllScopes(includeAllScopes
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkAttachmentsAggregatedListCall) MaxResults(maxResults int64) *NetworkAttachmentsAggregatedListCall {
+func (c *LicensesListCall) MaxResults(maxResults int64) *LicensesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -56103,7 +55599,7 @@ func (c *NetworkAttachmentsAggregatedListCall) MaxResults(maxResults int64) *Net
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NetworkAttachmentsAggregatedListCall) OrderBy(orderBy string) *NetworkAttachmentsAggregatedListCall {
+func (c *LicensesListCall) OrderBy(orderBy string) *LicensesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -56112,38 +55608,15 @@ func (c *NetworkAttachmentsAggregatedListCall) OrderBy(orderBy string) *NetworkA
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NetworkAttachmentsAggregatedListCall) PageToken(pageToken string) *NetworkAttachmentsAggregatedListCall {
+func (c *LicensesListCall) PageToken(pageToken string) *LicensesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkAttachmentsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkAttachmentsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *NetworkAttachmentsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NetworkAttachmentsAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsAggregatedListCall) Fields(s ...googleapi.Field) *NetworkAttachmentsAggregatedListCall {
+func (c *LicensesListCall) Fields(s ...googleapi.Field) *LicensesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -56151,34 +55624,34 @@ func (c *NetworkAttachmentsAggregatedListCall) Fields(s ...googleapi.Field) *Net
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkAttachmentsAggregatedListCall) IfNoneMatch(entityTag string) *NetworkAttachmentsAggregatedListCall {
+func (c *LicensesListCall) IfNoneMatch(entityTag string) *LicensesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsAggregatedListCall) Context(ctx context.Context) *NetworkAttachmentsAggregatedListCall {
+func (c *LicensesListCall) Context(ctx context.Context) *LicensesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsAggregatedListCall) Header() http.Header {
+func (c *LicensesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *LicensesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/networkAttachments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -56188,17 +55661,17 @@ func (c *NetworkAttachmentsAggregatedListCall) doRequest(alt string) (*http.Resp
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.aggregatedList" call.
+// Do executes the "compute.licenses.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkAttachmentAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworkAttachmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NetworkAttachmentAggregatedList, error) {
+// *LicensesListResponse.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *LicensesListCall) Do(opts ...googleapi.CallOption) (*LicensesListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -56217,7 +55690,7 @@ func (c *NetworkAttachmentsAggregatedListCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkAttachmentAggregatedList{
+ ret := &LicensesListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -56228,14 +55701,14 @@ func (c *NetworkAttachmentsAggregatedListCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NetworkAttachmentsAggregatedListCall) Pages(ctx context.Context, f func(*NetworkAttachmentAggregatedList) error) error {
+func (c *LicensesListCall) Pages(ctx context.Context, f func(*LicensesListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -56253,26 +55726,261 @@ func (c *NetworkAttachmentsAggregatedListCall) Pages(ctx context.Context, f func
}
}
-type NetworkAttachmentsDeleteCall struct {
- s *Service
- project string
- region string
- networkAttachment string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type LicensesSetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetpolicyrequest *GlobalSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified NetworkAttachment in the given scope
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
+//
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
//
-// - networkAttachment: Name of the NetworkAttachment resource to delete.
// - project: Project ID for this request.
-// - region: Name of the region of this request.
-func (r *NetworkAttachmentsService) Delete(project string, region string, networkAttachment string) *NetworkAttachmentsDeleteCall {
- c := &NetworkAttachmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *LicensesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *LicensesSetIamPolicyCall {
+ c := &LicensesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.networkAttachment = networkAttachment
+ c.resource = resource
+ c.globalsetpolicyrequest = globalsetpolicyrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *LicensesSetIamPolicyCall) Fields(s ...googleapi.Field) *LicensesSetIamPolicyCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *LicensesSetIamPolicyCall) Context(ctx context.Context) *LicensesSetIamPolicyCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *LicensesSetIamPolicyCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *LicensesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{resource}/setIamPolicy")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.licenses.setIamPolicy" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *LicensesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Policy{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type LicensesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
+//
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
+//
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+func (r *LicensesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *LicensesTestIamPermissionsCall {
+ c := &LicensesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *LicensesTestIamPermissionsCall) Fields(s ...googleapi.Field) *LicensesTestIamPermissionsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *LicensesTestIamPermissionsCall) Context(ctx context.Context) *LicensesTestIamPermissionsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *LicensesTestIamPermissionsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *LicensesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{resource}/testIamPermissions")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.licenses.testIamPermissions" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *LicensesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &TestPermissionsResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type LicensesUpdateCall struct {
+ s *Service
+ project string
+ license string
+ license2 *License
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates a License resource in the specified project.
+//
+// *Caution* This resource is intended
+//
+// for use only by third-party partners who are creatingCloud
+// Marketplace
+// images.
+//
+// - license: The license name for this request.
+// - project: Project ID for this request.
+func (r *LicensesService) Update(project string, license string, license2 *License) *LicensesUpdateCall {
+ c := &LicensesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.license = license
+ c.license2 = license2
return c
}
@@ -56293,40 +56001,175 @@ func (r *NetworkAttachmentsService) Delete(project string, region string, networ
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *NetworkAttachmentsDeleteCall) RequestId(requestId string) *NetworkAttachmentsDeleteCall {
+func (c *LicensesUpdateCall) RequestId(requestId string) *LicensesUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// UpdateMask sets the optional parameter "updateMask": update_mask indicates
+// fields to be updated as part of this request.
+func (c *LicensesUpdateCall) UpdateMask(updateMask string) *LicensesUpdateCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsDeleteCall) Fields(s ...googleapi.Field) *NetworkAttachmentsDeleteCall {
+func (c *LicensesUpdateCall) Fields(s ...googleapi.Field) *LicensesUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsDeleteCall) Context(ctx context.Context) *NetworkAttachmentsDeleteCall {
+func (c *LicensesUpdateCall) Context(ctx context.Context) *LicensesUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsDeleteCall) Header() http.Header {
+func (c *LicensesUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *LicensesUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.license2)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/licenses/{license}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("PATCH", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "license": c.license,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.licenses.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.licenses.update" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *LicensesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.licenses.update", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type MachineImagesDeleteCall struct {
+ s *Service
+ project string
+ machineImage string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified machine image. Deleting a machine image is
+// permanent
+// and cannot be undone.
+//
+// - machineImage: The name of the machine image to delete.
+// - project: Project ID for this request.
+func (r *MachineImagesService) Delete(project string, machineImage string) *MachineImagesDeleteCall {
+ c := &MachineImagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.machineImage = machineImage
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *MachineImagesDeleteCall) RequestId(requestId string) *MachineImagesDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *MachineImagesDeleteCall) Fields(s ...googleapi.Field) *MachineImagesDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *MachineImagesDeleteCall) Context(ctx context.Context) *MachineImagesDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *MachineImagesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *MachineImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{machineImage}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -56334,20 +56177,19 @@ func (c *NetworkAttachmentsDeleteCall) doRequest(alt string) (*http.Response, er
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkAttachment": c.networkAttachment,
+ "project": c.project,
+ "machineImage": c.machineImage,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.delete" call.
+// Do executes the "compute.machineImages.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkAttachmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *MachineImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -56377,38 +56219,35 @@ func (c *NetworkAttachmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkAttachmentsGetCall struct {
- s *Service
- project string
- region string
- networkAttachment string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type MachineImagesGetCall struct {
+ s *Service
+ project string
+ machineImage string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified NetworkAttachment resource in the given scope.
+// Get: Returns the specified machine image.
//
-// - networkAttachment: Name of the NetworkAttachment resource to return.
+// - machineImage: The name of the machine image.
// - project: Project ID for this request.
-// - region: Name of the region of this request.
-func (r *NetworkAttachmentsService) Get(project string, region string, networkAttachment string) *NetworkAttachmentsGetCall {
- c := &NetworkAttachmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *MachineImagesService) Get(project string, machineImage string) *MachineImagesGetCall {
+ c := &MachineImagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.networkAttachment = networkAttachment
+ c.machineImage = machineImage
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsGetCall) Fields(s ...googleapi.Field) *NetworkAttachmentsGetCall {
+func (c *MachineImagesGetCall) Fields(s ...googleapi.Field) *MachineImagesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -56416,34 +56255,34 @@ func (c *NetworkAttachmentsGetCall) Fields(s ...googleapi.Field) *NetworkAttachm
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkAttachmentsGetCall) IfNoneMatch(entityTag string) *NetworkAttachmentsGetCall {
+func (c *MachineImagesGetCall) IfNoneMatch(entityTag string) *MachineImagesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsGetCall) Context(ctx context.Context) *NetworkAttachmentsGetCall {
+func (c *MachineImagesGetCall) Context(ctx context.Context) *MachineImagesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsGetCall) Header() http.Header {
+func (c *MachineImagesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *MachineImagesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{machineImage}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -56451,21 +56290,19 @@ func (c *NetworkAttachmentsGetCall) doRequest(alt string) (*http.Response, error
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkAttachment": c.networkAttachment,
+ "project": c.project,
+ "machineImage": c.machineImage,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.get" call.
+// Do executes the "compute.machineImages.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkAttachment.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *NetworkAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*NetworkAttachment, error) {
+// *MachineImage.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *MachineImagesGetCall) Do(opts ...googleapi.CallOption) (*MachineImage, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -56484,7 +56321,7 @@ func (c *NetworkAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*NetworkAt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkAttachment{
+ ret := &MachineImage{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -56495,14 +56332,13 @@ func (c *NetworkAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*NetworkAt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkAttachmentsGetIamPolicyCall struct {
+type MachineImagesGetIamPolicyCall struct {
s *Service
project string
- region string
resource string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
@@ -56515,19 +56351,17 @@ type NetworkAttachmentsGetIamPolicyCall struct {
// policy or resource exists.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *NetworkAttachmentsService) GetIamPolicy(project string, region string, resource string) *NetworkAttachmentsGetIamPolicyCall {
- c := &NetworkAttachmentsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *MachineImagesService) GetIamPolicy(project string, resource string) *MachineImagesGetIamPolicyCall {
+ c := &MachineImagesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
c.resource = resource
return c
}
// OptionsRequestedPolicyVersion sets the optional parameter
// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *NetworkAttachmentsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *NetworkAttachmentsGetIamPolicyCall {
+func (c *MachineImagesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *MachineImagesGetIamPolicyCall {
c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
@@ -56535,7 +56369,7 @@ func (c *NetworkAttachmentsGetIamPolicyCall) OptionsRequestedPolicyVersion(optio
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsGetIamPolicyCall) Fields(s ...googleapi.Field) *NetworkAttachmentsGetIamPolicyCall {
+func (c *MachineImagesGetIamPolicyCall) Fields(s ...googleapi.Field) *MachineImagesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -56543,34 +56377,34 @@ func (c *NetworkAttachmentsGetIamPolicyCall) Fields(s ...googleapi.Field) *Netwo
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkAttachmentsGetIamPolicyCall) IfNoneMatch(entityTag string) *NetworkAttachmentsGetIamPolicyCall {
+func (c *MachineImagesGetIamPolicyCall) IfNoneMatch(entityTag string) *MachineImagesGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsGetIamPolicyCall) Context(ctx context.Context) *NetworkAttachmentsGetIamPolicyCall {
+func (c *MachineImagesGetIamPolicyCall) Context(ctx context.Context) *MachineImagesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsGetIamPolicyCall) Header() http.Header {
+func (c *MachineImagesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *MachineImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -56579,19 +56413,18 @@ func (c *NetworkAttachmentsGetIamPolicyCall) doRequest(alt string) (*http.Respon
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.getIamPolicy" call.
+// Do executes the "compute.machineImages.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkAttachmentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *MachineImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -56621,31 +56454,33 @@ func (c *NetworkAttachmentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkAttachmentsInsertCall struct {
- s *Service
- project string
- region string
- networkattachment *NetworkAttachment
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type MachineImagesInsertCall struct {
+ s *Service
+ project string
+ machineimage *MachineImage
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a NetworkAttachment in the specified project in the given
-// scope
-// using the parameters that are included in the request.
+// Insert: Creates a machine image in the specified project using the
+// data that is included in the request. If you are creating a new
+// machine
+// image to update an existing instance, your new machine image should use
+// the
+// same network or, if applicable, the same subnetwork as the
+// original
+// instance.
//
// - project: Project ID for this request.
-// - region: Name of the region of this request.
-func (r *NetworkAttachmentsService) Insert(project string, region string, networkattachment *NetworkAttachment) *NetworkAttachmentsInsertCall {
- c := &NetworkAttachmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *MachineImagesService) Insert(project string, machineimage *MachineImage) *MachineImagesInsertCall {
+ c := &MachineImagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.networkattachment = networkattachment
+ c.machineimage = machineimage
return c
}
@@ -56666,44 +56501,50 @@ func (r *NetworkAttachmentsService) Insert(project string, region string, networ
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *NetworkAttachmentsInsertCall) RequestId(requestId string) *NetworkAttachmentsInsertCall {
+func (c *MachineImagesInsertCall) RequestId(requestId string) *MachineImagesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// SourceInstance sets the optional parameter "sourceInstance": Required.
+// Source instance that is used to create the machine image from.
+func (c *MachineImagesInsertCall) SourceInstance(sourceInstance string) *MachineImagesInsertCall {
+ c.urlParams_.Set("sourceInstance", sourceInstance)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsInsertCall) Fields(s ...googleapi.Field) *NetworkAttachmentsInsertCall {
+func (c *MachineImagesInsertCall) Fields(s ...googleapi.Field) *MachineImagesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsInsertCall) Context(ctx context.Context) *NetworkAttachmentsInsertCall {
+func (c *MachineImagesInsertCall) Context(ctx context.Context) *MachineImagesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsInsertCall) Header() http.Header {
+func (c *MachineImagesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkattachment)
+func (c *MachineImagesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.machineimage)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -56712,18 +56553,17 @@ func (c *NetworkAttachmentsInsertCall) doRequest(alt string) (*http.Response, er
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.insert" call.
+// Do executes the "compute.machineImages.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkAttachmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *MachineImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -56753,28 +56593,26 @@ func (c *NetworkAttachmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkAttachmentsListCall struct {
+type MachineImagesListCall struct {
s *Service
project string
- region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Lists the NetworkAttachments for a project in the given scope.
+// List: Retrieves a list of machine images that are contained within
+// the specified project.
//
// - project: Project ID for this request.
-// - region: Name of the region of this request.
-func (r *NetworkAttachmentsService) List(project string, region string) *NetworkAttachmentsListCall {
- c := &NetworkAttachmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *MachineImagesService) List(project string) *MachineImagesListCall {
+ c := &MachineImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
return c
}
@@ -56845,7 +56683,7 @@ func (r *NetworkAttachmentsService) List(project string, region string) *Network
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NetworkAttachmentsListCall) Filter(filter string) *NetworkAttachmentsListCall {
+func (c *MachineImagesListCall) Filter(filter string) *MachineImagesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -56857,7 +56695,7 @@ func (c *NetworkAttachmentsListCall) Filter(filter string) *NetworkAttachmentsLi
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkAttachmentsListCall) MaxResults(maxResults int64) *NetworkAttachmentsListCall {
+func (c *MachineImagesListCall) MaxResults(maxResults int64) *MachineImagesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -56877,7 +56715,7 @@ func (c *NetworkAttachmentsListCall) MaxResults(maxResults int64) *NetworkAttach
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NetworkAttachmentsListCall) OrderBy(orderBy string) *NetworkAttachmentsListCall {
+func (c *MachineImagesListCall) OrderBy(orderBy string) *MachineImagesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -56886,30 +56724,15 @@ func (c *NetworkAttachmentsListCall) OrderBy(orderBy string) *NetworkAttachments
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NetworkAttachmentsListCall) PageToken(pageToken string) *NetworkAttachmentsListCall {
+func (c *MachineImagesListCall) PageToken(pageToken string) *MachineImagesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkAttachmentsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkAttachmentsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsListCall) Fields(s ...googleapi.Field) *NetworkAttachmentsListCall {
+func (c *MachineImagesListCall) Fields(s ...googleapi.Field) *MachineImagesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -56917,34 +56740,34 @@ func (c *NetworkAttachmentsListCall) Fields(s ...googleapi.Field) *NetworkAttach
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkAttachmentsListCall) IfNoneMatch(entityTag string) *NetworkAttachmentsListCall {
+func (c *MachineImagesListCall) IfNoneMatch(entityTag string) *MachineImagesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsListCall) Context(ctx context.Context) *NetworkAttachmentsListCall {
+func (c *MachineImagesListCall) Context(ctx context.Context) *MachineImagesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsListCall) Header() http.Header {
+func (c *MachineImagesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *MachineImagesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -56953,19 +56776,18 @@ func (c *NetworkAttachmentsListCall) doRequest(alt string) (*http.Response, erro
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.list" call.
+// Do executes the "compute.machineImages.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkAttachmentList.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *MachineImageList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *NetworkAttachmentsListCall) Do(opts ...googleapi.CallOption) (*NetworkAttachmentList, error) {
+func (c *MachineImagesListCall) Do(opts ...googleapi.CallOption) (*MachineImageList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -56984,7 +56806,7 @@ func (c *NetworkAttachmentsListCall) Do(opts ...googleapi.CallOption) (*NetworkA
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkAttachmentList{
+ ret := &MachineImageList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -56995,14 +56817,14 @@ func (c *NetworkAttachmentsListCall) Do(opts ...googleapi.CallOption) (*NetworkA
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NetworkAttachmentsListCall) Pages(ctx context.Context, f func(*NetworkAttachmentList) error) error {
+func (c *MachineImagesListCall) Pages(ctx context.Context, f func(*MachineImageList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -57020,111 +56842,82 @@ func (c *NetworkAttachmentsListCall) Pages(ctx context.Context, f func(*NetworkA
}
}
-type NetworkAttachmentsPatchCall struct {
- s *Service
- project string
- region string
- networkAttachment string
- networkattachment *NetworkAttachment
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type MachineImagesSetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetpolicyrequest *GlobalSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified NetworkAttachment resource with the data
-// included in
-// the request. This method supports PATCH
-// semantics and usesJSON merge
-// patch format and processing rules.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - networkAttachment: Name of the NetworkAttachment resource to patch.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *NetworkAttachmentsService) Patch(project string, region string, networkAttachment string, networkattachment *NetworkAttachment) *NetworkAttachmentsPatchCall {
- c := &NetworkAttachmentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *MachineImagesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *MachineImagesSetIamPolicyCall {
+ c := &MachineImagesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.networkAttachment = networkAttachment
- c.networkattachment = networkattachment
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *NetworkAttachmentsPatchCall) RequestId(requestId string) *NetworkAttachmentsPatchCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.globalsetpolicyrequest = globalsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsPatchCall) Fields(s ...googleapi.Field) *NetworkAttachmentsPatchCall {
+func (c *MachineImagesSetIamPolicyCall) Fields(s ...googleapi.Field) *MachineImagesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsPatchCall) Context(ctx context.Context) *NetworkAttachmentsPatchCall {
+func (c *MachineImagesSetIamPolicyCall) Context(ctx context.Context) *MachineImagesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsPatchCall) Header() http.Header {
+func (c *MachineImagesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkattachment)
+func (c *MachineImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkAttachment": c.networkAttachment,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.patch" call.
+// Do executes the "compute.machineImages.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkAttachmentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *MachineImagesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -57143,7 +56936,7 @@ func (c *NetworkAttachmentsPatchCall) Do(opts ...googleapi.CallOption) (*Operati
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -57154,69 +56947,66 @@ func (c *NetworkAttachmentsPatchCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkAttachmentsSetIamPolicyCall struct {
+type MachineImagesSetLabelsCall struct {
s *Service
project string
- region string
resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
+ globalsetlabelsrequest *GlobalSetLabelsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// SetLabels: Sets the labels on a machine image. To learn more about labels,
+// read theLabeling
+// Resources documentation.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *NetworkAttachmentsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *NetworkAttachmentsSetIamPolicyCall {
- c := &NetworkAttachmentsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *MachineImagesService) SetLabels(project string, resource string, globalsetlabelsrequest *GlobalSetLabelsRequest) *MachineImagesSetLabelsCall {
+ c := &MachineImagesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
+ c.globalsetlabelsrequest = globalsetlabelsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsSetIamPolicyCall) Fields(s ...googleapi.Field) *NetworkAttachmentsSetIamPolicyCall {
+func (c *MachineImagesSetLabelsCall) Fields(s ...googleapi.Field) *MachineImagesSetLabelsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsSetIamPolicyCall) Context(ctx context.Context) *NetworkAttachmentsSetIamPolicyCall {
+func (c *MachineImagesSetLabelsCall) Context(ctx context.Context) *MachineImagesSetLabelsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsSetIamPolicyCall) Header() http.Header {
+func (c *MachineImagesSetLabelsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+func (c *MachineImagesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{resource}/setLabels")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -57225,19 +57015,18 @@ func (c *NetworkAttachmentsSetIamPolicyCall) doRequest(alt string) (*http.Respon
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.setIamPolicy" call.
+// Do executes the "compute.machineImages.setLabels" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkAttachmentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *MachineImagesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -57256,7 +57045,7 @@ func (c *NetworkAttachmentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -57267,14 +57056,13 @@ func (c *NetworkAttachmentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.setLabels", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkAttachmentsTestIamPermissionsCall struct {
+type MachineImagesTestIamPermissionsCall struct {
s *Service
project string
- region string
resource string
testpermissionsrequest *TestPermissionsRequest
urlParams_ gensupport.URLParams
@@ -57286,12 +57074,10 @@ type NetworkAttachmentsTestIamPermissionsCall struct {
// resource.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *NetworkAttachmentsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *NetworkAttachmentsTestIamPermissionsCall {
- c := &NetworkAttachmentsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *MachineImagesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *MachineImagesTestIamPermissionsCall {
+ c := &MachineImagesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
c.resource = resource
c.testpermissionsrequest = testpermissionsrequest
return c
@@ -57300,35 +57086,35 @@ func (r *NetworkAttachmentsService) TestIamPermissions(project string, region st
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkAttachmentsTestIamPermissionsCall) Fields(s ...googleapi.Field) *NetworkAttachmentsTestIamPermissionsCall {
+func (c *MachineImagesTestIamPermissionsCall) Fields(s ...googleapi.Field) *MachineImagesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkAttachmentsTestIamPermissionsCall) Context(ctx context.Context) *NetworkAttachmentsTestIamPermissionsCall {
+func (c *MachineImagesTestIamPermissionsCall) Context(ctx context.Context) *MachineImagesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkAttachmentsTestIamPermissionsCall) Header() http.Header {
+func (c *MachineImagesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkAttachmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *MachineImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/machineImages/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -57337,20 +57123,19 @@ func (c *NetworkAttachmentsTestIamPermissionsCall) doRequest(alt string) (*http.
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineImages.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkAttachments.testIamPermissions" call.
+// Do executes the "compute.machineImages.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *NetworkAttachmentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *MachineImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -57380,11 +57165,11 @@ func (c *NetworkAttachmentsTestIamPermissionsCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineImages.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEdgeSecurityServicesAggregatedListCall struct {
+type MachineTypesAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -57393,17 +57178,15 @@ type NetworkEdgeSecurityServicesAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves the list of all NetworkEdgeSecurityService
-// resources available to
-// the specified project.
+// AggregatedList: Retrieves an aggregated list of machine types.
//
// To prevent failure, Google recommends that you set
// the
// `returnPartialSuccess` parameter to `true`.
//
-// - project: Name of the project scoping this request.
-func (r *NetworkEdgeSecurityServicesService) AggregatedList(project string) *NetworkEdgeSecurityServicesAggregatedListCall {
- c := &NetworkEdgeSecurityServicesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *MachineTypesService) AggregatedList(project string) *MachineTypesAggregatedListCall {
+ c := &MachineTypesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -57475,7 +57258,7 @@ func (r *NetworkEdgeSecurityServicesService) AggregatedList(project string) *Net
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) Filter(filter string) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) Filter(filter string) *MachineTypesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -57493,7 +57276,7 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) Filter(filter string) *N
// scopes of the scope types where the resource type is expected to be
// found
// will be included.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *MachineTypesAggregatedListCall {
c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
return c
}
@@ -57505,7 +57288,7 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) IncludeAllScopes(include
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) MaxResults(maxResults int64) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) MaxResults(maxResults int64) *MachineTypesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -57525,7 +57308,7 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) MaxResults(maxResults in
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) OrderBy(orderBy string) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) OrderBy(orderBy string) *MachineTypesAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -57534,30 +57317,15 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) OrderBy(orderBy string)
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) PageToken(pageToken string) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) PageToken(pageToken string) *MachineTypesAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkEdgeSecurityServicesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *MachineTypesAggregatedListCall {
c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
@@ -57565,7 +57333,7 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) ServiceProjectNumber(ser
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) Fields(s ...googleapi.Field) *MachineTypesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -57573,34 +57341,34 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) Fields(s ...googleapi.Fi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) IfNoneMatch(entityTag string) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) IfNoneMatch(entityTag string) *MachineTypesAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesAggregatedListCall {
+func (c *MachineTypesAggregatedListCall) Context(ctx context.Context) *MachineTypesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) Header() http.Header {
+func (c *MachineTypesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/networkEdgeSecurityServices")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/machineTypes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -57610,17 +57378,17 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) doRequest(alt string) (*
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineTypes.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEdgeSecurityServices.aggregatedList" call.
+// Do executes the "compute.machineTypes.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEdgeSecurityServiceAggregatedList.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
+// *MachineTypeAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NetworkEdgeSecurityServiceAggregatedList, error) {
+func (c *MachineTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*MachineTypeAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -57639,7 +57407,7 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEdgeSecurityServiceAggregatedList{
+ ret := &MachineTypeAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -57650,14 +57418,14 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineTypes.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NetworkEdgeSecurityServicesAggregatedListCall) Pages(ctx context.Context, f func(*NetworkEdgeSecurityServiceAggregatedList) error) error {
+func (c *MachineTypesAggregatedListCall) Pages(ctx context.Context, f func(*MachineTypeAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -57675,101 +57443,90 @@ func (c *NetworkEdgeSecurityServicesAggregatedListCall) Pages(ctx context.Contex
}
}
-type NetworkEdgeSecurityServicesDeleteCall struct {
- s *Service
- project string
- region string
- networkEdgeSecurityService string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type MachineTypesGetCall struct {
+ s *Service
+ project string
+ zone string
+ machineType string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified service.
+// Get: Returns the specified machine type.
//
-// - networkEdgeSecurityService: Name of the network edge security service to
-// delete.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *NetworkEdgeSecurityServicesService) Delete(project string, region string, networkEdgeSecurityService string) *NetworkEdgeSecurityServicesDeleteCall {
- c := &NetworkEdgeSecurityServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - machineType: Name of the machine type to return.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *MachineTypesService) Get(project string, zone string, machineType string) *MachineTypesGetCall {
+ c := &MachineTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.networkEdgeSecurityService = networkEdgeSecurityService
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkEdgeSecurityServicesDeleteCall) RequestId(requestId string) *NetworkEdgeSecurityServicesDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.zone = zone
+ c.machineType = machineType
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEdgeSecurityServicesDeleteCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesDeleteCall {
+func (c *MachineTypesGetCall) Fields(s ...googleapi.Field) *MachineTypesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *MachineTypesGetCall) IfNoneMatch(entityTag string) *MachineTypesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEdgeSecurityServicesDeleteCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesDeleteCall {
+func (c *MachineTypesGetCall) Context(ctx context.Context) *MachineTypesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEdgeSecurityServicesDeleteCall) Header() http.Header {
+func (c *MachineTypesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEdgeSecurityServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/machineTypes/{machineType}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkEdgeSecurityService": c.networkEdgeSecurityService,
+ "project": c.project,
+ "zone": c.zone,
+ "machineType": c.machineType,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineTypes.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEdgeSecurityServices.delete" call.
+// Do executes the "compute.machineTypes.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *MachineType.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkEdgeSecurityServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *MachineTypesGetCall) Do(opts ...googleapi.CallOption) (*MachineType, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -57788,7 +57545,7 @@ func (c *NetworkEdgeSecurityServicesDeleteCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &MachineType{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -57799,39 +57556,149 @@ func (c *NetworkEdgeSecurityServicesDeleteCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineTypes.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEdgeSecurityServicesGetCall struct {
- s *Service
- project string
- region string
- networkEdgeSecurityService string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type MachineTypesListCall struct {
+ s *Service
+ project string
+ zone string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Gets a specified NetworkEdgeSecurityService.
+// List: Retrieves a list of machine types available to the specified
+// project.
//
-// - networkEdgeSecurityService: Name of the network edge security service to
-// get.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *NetworkEdgeSecurityServicesService) Get(project string, region string, networkEdgeSecurityService string) *NetworkEdgeSecurityServicesGetCall {
- c := &NetworkEdgeSecurityServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *MachineTypesService) List(project string, zone string) *MachineTypesListCall {
+ c := &MachineTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.networkEdgeSecurityService = networkEdgeSecurityService
+ c.zone = zone
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *MachineTypesListCall) Filter(filter string) *MachineTypesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *MachineTypesListCall) MaxResults(maxResults int64) *MachineTypesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *MachineTypesListCall) OrderBy(orderBy string) *MachineTypesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *MachineTypesListCall) PageToken(pageToken string) *MachineTypesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEdgeSecurityServicesGetCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesGetCall {
+func (c *MachineTypesListCall) Fields(s ...googleapi.Field) *MachineTypesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -57839,34 +57706,34 @@ func (c *NetworkEdgeSecurityServicesGetCall) Fields(s ...googleapi.Field) *Netwo
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkEdgeSecurityServicesGetCall) IfNoneMatch(entityTag string) *NetworkEdgeSecurityServicesGetCall {
+func (c *MachineTypesListCall) IfNoneMatch(entityTag string) *MachineTypesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEdgeSecurityServicesGetCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesGetCall {
+func (c *MachineTypesListCall) Context(ctx context.Context) *MachineTypesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEdgeSecurityServicesGetCall) Header() http.Header {
+func (c *MachineTypesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEdgeSecurityServicesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *MachineTypesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/machineTypes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -57874,21 +57741,20 @@ func (c *NetworkEdgeSecurityServicesGetCall) doRequest(alt string) (*http.Respon
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkEdgeSecurityService": c.networkEdgeSecurityService,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.machineTypes.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEdgeSecurityServices.get" call.
+// Do executes the "compute.machineTypes.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEdgeSecurityService.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworkEdgeSecurityServicesGetCall) Do(opts ...googleapi.CallOption) (*NetworkEdgeSecurityService, error) {
+// *MachineTypeList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *MachineTypesListCall) Do(opts ...googleapi.CallOption) (*MachineTypeList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -57907,7 +57773,7 @@ func (c *NetworkEdgeSecurityServicesGetCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEdgeSecurityService{
+ ret := &MachineTypeList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -57918,115 +57784,111 @@ func (c *NetworkEdgeSecurityServicesGetCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.machineTypes.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEdgeSecurityServicesInsertCall struct {
- s *Service
- project string
- region string
- networkedgesecurityservice *NetworkEdgeSecurityService
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Insert: Creates a new service in the specified project using the data
-// included in
-// the request.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *NetworkEdgeSecurityServicesService) Insert(project string, region string, networkedgesecurityservice *NetworkEdgeSecurityService) *NetworkEdgeSecurityServicesInsertCall {
- c := &NetworkEdgeSecurityServicesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.networkedgesecurityservice = networkedgesecurityservice
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkEdgeSecurityServicesInsertCall) RequestId(requestId string) *NetworkEdgeSecurityServicesInsertCall {
- c.urlParams_.Set("requestId", requestId)
- return c
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *MachineTypesListCall) Pages(ctx context.Context, f func(*MachineTypeList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// ValidateOnly sets the optional parameter "validateOnly": If true, the
-// request will not be committed.
-func (c *NetworkEdgeSecurityServicesInsertCall) ValidateOnly(validateOnly bool) *NetworkEdgeSecurityServicesInsertCall {
- c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
+type ManagedRulesetsGetCall struct {
+ s *Service
+ project string
+ managedRuleset string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Gets the details for the specified managed ruleset name.
+//
+// - managedRuleset: Name of the managed ruleset to return.
+// - project: Project ID for this request.
+func (r *ManagedRulesetsService) Get(project string, managedRuleset string) *ManagedRulesetsGetCall {
+ c := &ManagedRulesetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.managedRuleset = managedRuleset
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEdgeSecurityServicesInsertCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesInsertCall {
+func (c *ManagedRulesetsGetCall) Fields(s ...googleapi.Field) *ManagedRulesetsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ManagedRulesetsGetCall) IfNoneMatch(entityTag string) *ManagedRulesetsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEdgeSecurityServicesInsertCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesInsertCall {
+func (c *ManagedRulesetsGetCall) Context(ctx context.Context) *ManagedRulesetsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEdgeSecurityServicesInsertCall) Header() http.Header {
+func (c *ManagedRulesetsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEdgeSecurityServicesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkedgesecurityservice)
- if err != nil {
- return nil, err
+func (c *ManagedRulesetsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEdgeSecurityServices")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/managedRulesets/{managedRuleset}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "managedRuleset": c.managedRuleset,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.managedRulesets.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEdgeSecurityServices.insert" call.
+// Do executes the "compute.managedRulesets.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *ManagedRuleset.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkEdgeSecurityServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ManagedRulesetsGetCall) Do(opts ...googleapi.CallOption) (*ManagedRuleset, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -58045,7 +57907,7 @@ func (c *NetworkEdgeSecurityServicesInsertCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &ManagedRuleset{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -58056,124 +57918,200 @@ func (c *NetworkEdgeSecurityServicesInsertCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.managedRulesets.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEdgeSecurityServicesPatchCall struct {
- s *Service
- project string
- region string
- networkEdgeSecurityService string
- networkedgesecurityservice *NetworkEdgeSecurityService
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ManagedRulesetsListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified policy with the data included in the request.
+// List: Retrieves the list of all the managed rulesets available.
//
-// - networkEdgeSecurityService: Name of the network edge security service to
-// update.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *NetworkEdgeSecurityServicesService) Patch(project string, region string, networkEdgeSecurityService string, networkedgesecurityservice *NetworkEdgeSecurityService) *NetworkEdgeSecurityServicesPatchCall {
- c := &NetworkEdgeSecurityServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *ManagedRulesetsService) List(project string) *ManagedRulesetsListCall {
+ c := &ManagedRulesetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.networkEdgeSecurityService = networkEdgeSecurityService
- c.networkedgesecurityservice = networkedgesecurityservice
return c
}
-// Paths sets the optional parameter "paths":
-func (c *NetworkEdgeSecurityServicesPatchCall) Paths(paths ...string) *NetworkEdgeSecurityServicesPatchCall {
- c.urlParams_.SetMulti("paths", append([]string{}, paths...))
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *ManagedRulesetsListCall) Filter(filter string) *ManagedRulesetsListCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *ManagedRulesetsListCall) MaxResults(maxResults int64) *ManagedRulesetsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkEdgeSecurityServicesPatchCall) RequestId(requestId string) *NetworkEdgeSecurityServicesPatchCall {
- c.urlParams_.Set("requestId", requestId)
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *ManagedRulesetsListCall) OrderBy(orderBy string) *ManagedRulesetsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
return c
}
-// UpdateMask sets the optional parameter "updateMask": Indicates fields to be
-// updated as part of this request.
-func (c *NetworkEdgeSecurityServicesPatchCall) UpdateMask(updateMask string) *NetworkEdgeSecurityServicesPatchCall {
- c.urlParams_.Set("updateMask", updateMask)
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *ManagedRulesetsListCall) PageToken(pageToken string) *ManagedRulesetsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEdgeSecurityServicesPatchCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesPatchCall {
+func (c *ManagedRulesetsListCall) Fields(s ...googleapi.Field) *ManagedRulesetsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ManagedRulesetsListCall) IfNoneMatch(entityTag string) *ManagedRulesetsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEdgeSecurityServicesPatchCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesPatchCall {
+func (c *ManagedRulesetsListCall) Context(ctx context.Context) *ManagedRulesetsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEdgeSecurityServicesPatchCall) Header() http.Header {
+func (c *ManagedRulesetsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEdgeSecurityServicesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkedgesecurityservice)
- if err != nil {
- return nil, err
+func (c *ManagedRulesetsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/managedRulesets")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkEdgeSecurityService": c.networkEdgeSecurityService,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.managedRulesets.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEdgeSecurityServices.patch" call.
+// Do executes the "compute.managedRulesets.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkEdgeSecurityServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *ManagedRulesetList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *ManagedRulesetsListCall) Do(opts ...googleapi.CallOption) (*ManagedRulesetList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -58192,7 +58130,7 @@ func (c *NetworkEdgeSecurityServicesPatchCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &ManagedRulesetList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -58203,11 +58141,32 @@ func (c *NetworkEdgeSecurityServicesPatchCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.managedRulesets.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEndpointGroupsAggregatedListCall struct {
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ManagedRulesetsListCall) Pages(ctx context.Context, f func(*ManagedRulesetList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type NetworkAttachmentsAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -58216,16 +58175,17 @@ type NetworkEndpointGroupsAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves the list of network endpoint groups and sorts them
-// by zone.
+// AggregatedList: Retrieves the list of all NetworkAttachment
+// resources,
+// regional and global, available to the specified project.
//
// To prevent failure, Google recommends that you set
// the
// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-func (r *NetworkEndpointGroupsService) AggregatedList(project string) *NetworkEndpointGroupsAggregatedListCall {
- c := &NetworkEndpointGroupsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkAttachmentsService) AggregatedList(project string) *NetworkAttachmentsAggregatedListCall {
+ c := &NetworkAttachmentsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -58297,7 +58257,7 @@ func (r *NetworkEndpointGroupsService) AggregatedList(project string) *NetworkEn
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NetworkEndpointGroupsAggregatedListCall) Filter(filter string) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) Filter(filter string) *NetworkAttachmentsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -58315,7 +58275,7 @@ func (c *NetworkEndpointGroupsAggregatedListCall) Filter(filter string) *Network
// scopes of the scope types where the resource type is expected to be
// found
// will be included.
-func (c *NetworkEndpointGroupsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NetworkAttachmentsAggregatedListCall {
c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
return c
}
@@ -58327,7 +58287,7 @@ func (c *NetworkEndpointGroupsAggregatedListCall) IncludeAllScopes(includeAllSco
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkEndpointGroupsAggregatedListCall) MaxResults(maxResults int64) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) MaxResults(maxResults int64) *NetworkAttachmentsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -58347,7 +58307,7 @@ func (c *NetworkEndpointGroupsAggregatedListCall) MaxResults(maxResults int64) *
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NetworkEndpointGroupsAggregatedListCall) OrderBy(orderBy string) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) OrderBy(orderBy string) *NetworkAttachmentsAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -58356,30 +58316,15 @@ func (c *NetworkEndpointGroupsAggregatedListCall) OrderBy(orderBy string) *Netwo
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NetworkEndpointGroupsAggregatedListCall) PageToken(pageToken string) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) PageToken(pageToken string) *NetworkAttachmentsAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkEndpointGroupsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkEndpointGroupsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
-func (c *NetworkEndpointGroupsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NetworkAttachmentsAggregatedListCall {
c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
@@ -58387,7 +58332,7 @@ func (c *NetworkEndpointGroupsAggregatedListCall) ServiceProjectNumber(servicePr
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEndpointGroupsAggregatedListCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) Fields(s ...googleapi.Field) *NetworkAttachmentsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -58395,34 +58340,34 @@ func (c *NetworkEndpointGroupsAggregatedListCall) Fields(s ...googleapi.Field) *
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkEndpointGroupsAggregatedListCall) IfNoneMatch(entityTag string) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) IfNoneMatch(entityTag string) *NetworkAttachmentsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsAggregatedListCall) Context(ctx context.Context) *NetworkEndpointGroupsAggregatedListCall {
+func (c *NetworkAttachmentsAggregatedListCall) Context(ctx context.Context) *NetworkAttachmentsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEndpointGroupsAggregatedListCall) Header() http.Header {
+func (c *NetworkAttachmentsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEndpointGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkAttachmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/networkEndpointGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/networkAttachments")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -58432,17 +58377,17 @@ func (c *NetworkEndpointGroupsAggregatedListCall) doRequest(alt string) (*http.R
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEndpointGroups.aggregatedList" call.
+// Do executes the "compute.networkAttachments.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEndpointGroupAggregatedList.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
+// *NetworkAttachmentAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *NetworkEndpointGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupAggregatedList, error) {
+func (c *NetworkAttachmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NetworkAttachmentAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -58461,7 +58406,7 @@ func (c *NetworkEndpointGroupsAggregatedListCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEndpointGroupAggregatedList{
+ ret := &NetworkAttachmentAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -58472,14 +58417,14 @@ func (c *NetworkEndpointGroupsAggregatedListCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NetworkEndpointGroupsAggregatedListCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupAggregatedList) error) error {
+func (c *NetworkAttachmentsAggregatedListCall) Pages(ctx context.Context, f func(*NetworkAttachmentAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -58497,174 +58442,26 @@ func (c *NetworkEndpointGroupsAggregatedListCall) Pages(ctx context.Context, f f
}
}
-type NetworkEndpointGroupsAttachNetworkEndpointsCall struct {
- s *Service
- project string
- zone string
- networkEndpointGroup string
- networkendpointgroupsattachendpointsrequest *NetworkEndpointGroupsAttachEndpointsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// AttachNetworkEndpoints: Attach a list of network endpoints to the specified
-// network endpoint group.
-//
-// - networkEndpointGroup: The name of the network endpoint group where you are
-// attaching network
-//
-// endpoints to. It should comply with RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of the zone where
-// the network endpoint group is located. It should comply with RFC1035.
-func (r *NetworkEndpointGroupsService) AttachNetworkEndpoints(project string, zone string, networkEndpointGroup string, networkendpointgroupsattachendpointsrequest *NetworkEndpointGroupsAttachEndpointsRequest) *NetworkEndpointGroupsAttachNetworkEndpointsCall {
- c := &NetworkEndpointGroupsAttachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.networkEndpointGroup = networkEndpointGroup
- c.networkendpointgroupsattachendpointsrequest = networkendpointgroupsattachendpointsrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) RequestId(requestId string) *NetworkEndpointGroupsAttachNetworkEndpointsCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsAttachNetworkEndpointsCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsAttachNetworkEndpointsCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroupsattachendpointsrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "networkEndpointGroup": c.networkEndpointGroup,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.attachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.networkEndpointGroups.attachNetworkEndpoints" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.attachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type NetworkEndpointGroupsDeleteCall struct {
- s *Service
- project string
- zone string
- networkEndpointGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkAttachmentsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ networkAttachment string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified network endpoint group. The network endpoints
-// in the
-// NEG and the VM instances they belong to are not terminated when the NEG
-// is
-// deleted. Note that the NEG cannot be deleted if there are backend
-// services
-// referencing it.
-//
-// - networkEndpointGroup: The name of the network endpoint group to delete. It
-// should comply with
+// Delete: Deletes the specified NetworkAttachment in the given scope
//
-// RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of the zone where
-// the network endpoint group is located. It should comply with RFC1035.
-func (r *NetworkEndpointGroupsService) Delete(project string, zone string, networkEndpointGroup string) *NetworkEndpointGroupsDeleteCall {
- c := &NetworkEndpointGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkAttachment: Name of the NetworkAttachment resource to delete.
+// - project: Project ID for this request.
+// - region: Name of the region of this request.
+func (r *NetworkAttachmentsService) Delete(project string, region string, networkAttachment string) *NetworkAttachmentsDeleteCall {
+ c := &NetworkAttachmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.networkEndpointGroup = networkEndpointGroup
+ c.region = region
+ c.networkAttachment = networkAttachment
return c
}
@@ -58685,7 +58482,8 @@ func (r *NetworkEndpointGroupsService) Delete(project string, zone string, netwo
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkEndpointGroupsDeleteCall) RequestId(requestId string) *NetworkEndpointGroupsDeleteCall {
+// end_interface: MixerMutationRequestBuilder
+func (c *NetworkAttachmentsDeleteCall) RequestId(requestId string) *NetworkAttachmentsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -58693,31 +58491,31 @@ func (c *NetworkEndpointGroupsDeleteCall) RequestId(requestId string) *NetworkEn
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEndpointGroupsDeleteCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsDeleteCall {
+func (c *NetworkAttachmentsDeleteCall) Fields(s ...googleapi.Field) *NetworkAttachmentsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsDeleteCall) Context(ctx context.Context) *NetworkEndpointGroupsDeleteCall {
+func (c *NetworkAttachmentsDeleteCall) Context(ctx context.Context) *NetworkAttachmentsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEndpointGroupsDeleteCall) Header() http.Header {
+func (c *NetworkAttachmentsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -58725,20 +58523,20 @@ func (c *NetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
+ "networkAttachment": c.networkAttachment,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEndpointGroups.delete" call.
+// Do executes the "compute.networkAttachments.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkAttachmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -58768,116 +58566,95 @@ func (c *NetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEndpointGroupsDetachNetworkEndpointsCall struct {
- s *Service
- project string
- zone string
- networkEndpointGroup string
- networkendpointgroupsdetachendpointsrequest *NetworkEndpointGroupsDetachEndpointsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// DetachNetworkEndpoints: Detach a list of network endpoints from the
-// specified network endpoint
-// group.
-//
-// - networkEndpointGroup: The name of the network endpoint group where you are
-// removing network
-//
-// endpoints. It should comply with RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of the zone where
-// the network endpoint group is located. It should comply with RFC1035.
-func (r *NetworkEndpointGroupsService) DetachNetworkEndpoints(project string, zone string, networkEndpointGroup string, networkendpointgroupsdetachendpointsrequest *NetworkEndpointGroupsDetachEndpointsRequest) *NetworkEndpointGroupsDetachNetworkEndpointsCall {
- c := &NetworkEndpointGroupsDetachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.networkEndpointGroup = networkEndpointGroup
- c.networkendpointgroupsdetachendpointsrequest = networkendpointgroupsdetachendpointsrequest
- return c
+type NetworkAttachmentsGetCall struct {
+ s *Service
+ project string
+ region string
+ networkAttachment string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// Get: Returns the specified NetworkAttachment resource in the given scope.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) RequestId(requestId string) *NetworkEndpointGroupsDetachNetworkEndpointsCall {
- c.urlParams_.Set("requestId", requestId)
+// - networkAttachment: Name of the NetworkAttachment resource to return.
+// - project: Project ID for this request.
+// - region: Name of the region of this request.
+func (r *NetworkAttachmentsService) Get(project string, region string, networkAttachment string) *NetworkAttachmentsGetCall {
+ c := &NetworkAttachmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.networkAttachment = networkAttachment
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsDetachNetworkEndpointsCall {
+func (c *NetworkAttachmentsGetCall) Fields(s ...googleapi.Field) *NetworkAttachmentsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NetworkAttachmentsGetCall) IfNoneMatch(entityTag string) *NetworkAttachmentsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsDetachNetworkEndpointsCall {
+func (c *NetworkAttachmentsGetCall) Context(ctx context.Context) *NetworkAttachmentsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Header() http.Header {
+func (c *NetworkAttachmentsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroupsdetachendpointsrequest)
- if err != nil {
- return nil, err
+func (c *NetworkAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
+ "networkAttachment": c.networkAttachment,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.detachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEndpointGroups.detachNetworkEndpoints" call.
+// Do executes the "compute.networkAttachments.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *NetworkAttachment.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *NetworkAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*NetworkAttachment, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -58896,7 +58673,7 @@ func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.C
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &NetworkAttachment{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -58907,40 +58684,47 @@ func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.detachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEndpointGroupsGetCall struct {
- s *Service
- project string
- zone string
- networkEndpointGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkAttachmentsGetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified network endpoint group.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - networkEndpointGroup: The name of the network endpoint group. It should
-// comply with RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of the zone where
-// the network endpoint group is located. It should comply with RFC1035.
-func (r *NetworkEndpointGroupsService) Get(project string, zone string, networkEndpointGroup string) *NetworkEndpointGroupsGetCall {
- c := &NetworkEndpointGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *NetworkAttachmentsService) GetIamPolicy(project string, region string, resource string) *NetworkAttachmentsGetIamPolicyCall {
+ c := &NetworkAttachmentsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.networkEndpointGroup = networkEndpointGroup
+ c.region = region
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *NetworkAttachmentsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *NetworkAttachmentsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEndpointGroupsGetCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsGetCall {
+func (c *NetworkAttachmentsGetIamPolicyCall) Fields(s ...googleapi.Field) *NetworkAttachmentsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -58948,34 +58732,34 @@ func (c *NetworkEndpointGroupsGetCall) Fields(s ...googleapi.Field) *NetworkEndp
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkEndpointGroupsGetCall) IfNoneMatch(entityTag string) *NetworkEndpointGroupsGetCall {
+func (c *NetworkAttachmentsGetIamPolicyCall) IfNoneMatch(entityTag string) *NetworkAttachmentsGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsGetCall) Context(ctx context.Context) *NetworkEndpointGroupsGetCall {
+func (c *NetworkAttachmentsGetIamPolicyCall) Context(ctx context.Context) *NetworkAttachmentsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEndpointGroupsGetCall) Header() http.Header {
+func (c *NetworkAttachmentsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkAttachmentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -58983,21 +58767,20 @@ func (c *NetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, er
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEndpointGroups.get" call.
+// Do executes the "compute.networkAttachments.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEndpointGroup.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *NetworkEndpointGroupsGetCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroup, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkAttachmentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -59016,7 +58799,7 @@ func (c *NetworkEndpointGroupsGetCall) Do(opts ...googleapi.CallOption) (*Networ
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEndpointGroup{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -59027,49 +58810,31 @@ func (c *NetworkEndpointGroupsGetCall) Do(opts ...googleapi.CallOption) (*Networ
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEndpointGroupsInsertCall struct {
- s *Service
- project string
- zone string
- networkendpointgroup *NetworkEndpointGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkAttachmentsInsertCall struct {
+ s *Service
+ project string
+ region string
+ networkattachment *NetworkAttachment
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a network endpoint group in the specified project using
-// the
-// parameters that are included in the request.
-//
-// Note: Use the following APIs to manage network endpoint groups:
-//
-// -
-// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity
-// NEGs): zonal
-// API
-// -
-// To manage NEGs with regional scope (such as regional internet NEGs,
-// serverless NEGs, Private Service Connect NEGs): regional
-// API
-// -
-// To manage NEGs with global scope (such as global internet NEGs):global
-// API
-//
-// - project: Project ID for this request.
-// - zone: The name of the zone where
-// you want to create the network endpoint group. It should comply
-// with
+// Insert: Creates a NetworkAttachment in the specified project in the given
+// scope
+// using the parameters that are included in the request.
//
-// RFC1035.
-func (r *NetworkEndpointGroupsService) Insert(project string, zone string, networkendpointgroup *NetworkEndpointGroup) *NetworkEndpointGroupsInsertCall {
- c := &NetworkEndpointGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region of this request.
+func (r *NetworkAttachmentsService) Insert(project string, region string, networkattachment *NetworkAttachment) *NetworkAttachmentsInsertCall {
+ c := &NetworkAttachmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.networkendpointgroup = networkendpointgroup
+ c.region = region
+ c.networkattachment = networkattachment
return c
}
@@ -59090,7 +58855,8 @@ func (r *NetworkEndpointGroupsService) Insert(project string, zone string, netwo
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkEndpointGroupsInsertCall) RequestId(requestId string) *NetworkEndpointGroupsInsertCall {
+// end_interface: MixerMutationRequestBuilder
+func (c *NetworkAttachmentsInsertCall) RequestId(requestId string) *NetworkAttachmentsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -59098,35 +58864,35 @@ func (c *NetworkEndpointGroupsInsertCall) RequestId(requestId string) *NetworkEn
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEndpointGroupsInsertCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsInsertCall {
+func (c *NetworkAttachmentsInsertCall) Fields(s ...googleapi.Field) *NetworkAttachmentsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsInsertCall) Context(ctx context.Context) *NetworkEndpointGroupsInsertCall {
+func (c *NetworkAttachmentsInsertCall) Context(ctx context.Context) *NetworkAttachmentsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEndpointGroupsInsertCall) Header() http.Header {
+func (c *NetworkAttachmentsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroup)
+func (c *NetworkAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkattachment)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -59135,18 +58901,18 @@ func (c *NetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response,
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEndpointGroups.insert" call.
+// Do executes the "compute.networkAttachments.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkEndpointGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkAttachmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -59176,32 +58942,28 @@ func (c *NetworkEndpointGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkEndpointGroupsListCall struct {
+type NetworkAttachmentsListCall struct {
s *Service
project string
- zone string
+ region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of network endpoint groups that are located in
-// the
-// specified project and zone.
+// List: Lists the NetworkAttachments for a project in the given scope.
//
-// - project: Project ID for this request.
-// - zone: The name of thezone
-// where the network endpoint group is located. It should comply with
-// RFC1035.
-func (r *NetworkEndpointGroupsService) List(project string, zone string) *NetworkEndpointGroupsListCall {
- c := &NetworkEndpointGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region of this request.
+func (r *NetworkAttachmentsService) List(project string, region string) *NetworkAttachmentsListCall {
+ c := &NetworkAttachmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
+ c.region = region
return c
}
@@ -59272,7 +59034,7 @@ func (r *NetworkEndpointGroupsService) List(project string, zone string) *Networ
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NetworkEndpointGroupsListCall) Filter(filter string) *NetworkEndpointGroupsListCall {
+func (c *NetworkAttachmentsListCall) Filter(filter string) *NetworkAttachmentsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -59284,7 +59046,7 @@ func (c *NetworkEndpointGroupsListCall) Filter(filter string) *NetworkEndpointGr
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkEndpointGroupsListCall) MaxResults(maxResults int64) *NetworkEndpointGroupsListCall {
+func (c *NetworkAttachmentsListCall) MaxResults(maxResults int64) *NetworkAttachmentsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -59304,7 +59066,7 @@ func (c *NetworkEndpointGroupsListCall) MaxResults(maxResults int64) *NetworkEnd
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NetworkEndpointGroupsListCall) OrderBy(orderBy string) *NetworkEndpointGroupsListCall {
+func (c *NetworkAttachmentsListCall) OrderBy(orderBy string) *NetworkAttachmentsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -59313,30 +59075,15 @@ func (c *NetworkEndpointGroupsListCall) OrderBy(orderBy string) *NetworkEndpoint
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NetworkEndpointGroupsListCall) PageToken(pageToken string) *NetworkEndpointGroupsListCall {
+func (c *NetworkAttachmentsListCall) PageToken(pageToken string) *NetworkAttachmentsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkEndpointGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkEndpointGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEndpointGroupsListCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsListCall {
+func (c *NetworkAttachmentsListCall) Fields(s ...googleapi.Field) *NetworkAttachmentsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -59344,34 +59091,34 @@ func (c *NetworkEndpointGroupsListCall) Fields(s ...googleapi.Field) *NetworkEnd
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkEndpointGroupsListCall) IfNoneMatch(entityTag string) *NetworkEndpointGroupsListCall {
+func (c *NetworkAttachmentsListCall) IfNoneMatch(entityTag string) *NetworkAttachmentsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsListCall) Context(ctx context.Context) *NetworkEndpointGroupsListCall {
+func (c *NetworkAttachmentsListCall) Context(ctx context.Context) *NetworkAttachmentsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEndpointGroupsListCall) Header() http.Header {
+func (c *NetworkAttachmentsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -59380,19 +59127,19 @@ func (c *NetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, e
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEndpointGroups.list" call.
+// Do executes the "compute.networkAttachments.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEndpointGroupList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworkEndpointGroupsListCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupList, error) {
+// *NetworkAttachmentList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *NetworkAttachmentsListCall) Do(opts ...googleapi.CallOption) (*NetworkAttachmentList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -59411,7 +59158,7 @@ func (c *NetworkEndpointGroupsListCall) Do(opts ...googleapi.CallOption) (*Netwo
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEndpointGroupList{
+ ret := &NetworkAttachmentList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -59422,14 +59169,14 @@ func (c *NetworkEndpointGroupsListCall) Do(opts ...googleapi.CallOption) (*Netwo
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NetworkEndpointGroupsListCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupList) error) error {
+func (c *NetworkAttachmentsListCall) Pages(ctx context.Context, f func(*NetworkAttachmentList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -59447,217 +59194,111 @@ func (c *NetworkEndpointGroupsListCall) Pages(ctx context.Context, f func(*Netwo
}
}
-type NetworkEndpointGroupsListNetworkEndpointsCall struct {
- s *Service
- project string
- zone string
- networkEndpointGroup string
- networkendpointgroupslistendpointsrequest *NetworkEndpointGroupsListEndpointsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkAttachmentsPatchCall struct {
+ s *Service
+ project string
+ region string
+ networkAttachment string
+ networkattachment *NetworkAttachment
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListNetworkEndpoints: Lists the network endpoints in the specified network
-// endpoint group.
+// Patch: Patches the specified NetworkAttachment resource with the data
+// included in
+// the request. This method supports PATCH
+// semantics and usesJSON merge
+// patch format and processing rules.
//
-// - networkEndpointGroup: The name of the network endpoint group from which
-// you want to generate a
-// list of included network endpoints. It should comply with RFC1035.
-// - project: Project ID for this request.
-// - zone: The name of the zone where
-// the network endpoint group is located. It should comply with RFC1035.
-func (r *NetworkEndpointGroupsService) ListNetworkEndpoints(project string, zone string, networkEndpointGroup string, networkendpointgroupslistendpointsrequest *NetworkEndpointGroupsListEndpointsRequest) *NetworkEndpointGroupsListNetworkEndpointsCall {
- c := &NetworkEndpointGroupsListNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkAttachment: Name of the NetworkAttachment resource to patch.
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+func (r *NetworkAttachmentsService) Patch(project string, region string, networkAttachment string, networkattachment *NetworkAttachment) *NetworkAttachmentsPatchCall {
+ c := &NetworkAttachmentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.networkEndpointGroup = networkEndpointGroup
- c.networkendpointgroupslistendpointsrequest = networkendpointgroupslistendpointsrequest
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Filter(filter string) *NetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) MaxResults(maxResults int64) *NetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ c.region = region
+ c.networkAttachment = networkAttachment
+ c.networkattachment = networkattachment
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) OrderBy(orderBy string) *NetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) PageToken(pageToken string) *NetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+// end_interface: MixerMutationRequestBuilder
+func (c *NetworkAttachmentsPatchCall) RequestId(requestId string) *NetworkAttachmentsPatchCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsListNetworkEndpointsCall {
+func (c *NetworkAttachmentsPatchCall) Fields(s ...googleapi.Field) *NetworkAttachmentsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsListNetworkEndpointsCall {
+func (c *NetworkAttachmentsPatchCall) Context(ctx context.Context) *NetworkAttachmentsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Header() http.Header {
+func (c *NetworkAttachmentsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroupslistendpointsrequest)
+
+func (c *NetworkAttachmentsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkattachment)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
+ "networkAttachment": c.networkAttachment,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.listNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEndpointGroups.listNetworkEndpoints" call.
+// Do executes the "compute.networkAttachments.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEndpointGroupsListNetworkEndpoints.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupsListNetworkEndpoints, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkAttachmentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -59676,7 +59317,7 @@ func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEndpointGroupsListNetworkEndpoints{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -59687,89 +59328,69 @@ func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.listNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupsListNetworkEndpoints) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type NetworkEndpointGroupsTestIamPermissionsCall struct {
+type NetworkAttachmentsSetIamPolicyCall struct {
s *Service
project string
- zone string
+ region string
resource string
- testpermissionsrequest *TestPermissionsRequest
+ regionsetpolicyrequest *RegionSetPolicyRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
+// SetIamPolicy: Sets the access control policy on the specified
// resource.
+// Replaces any existing policy.
//
// - project: Project ID for this request.
+// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *NetworkEndpointGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *NetworkEndpointGroupsTestIamPermissionsCall {
- c := &NetworkEndpointGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkAttachmentsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *NetworkAttachmentsSetIamPolicyCall {
+ c := &NetworkAttachmentsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
+ c.region = region
c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkEndpointGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsTestIamPermissionsCall {
+func (c *NetworkAttachmentsSetIamPolicyCall) Fields(s ...googleapi.Field) *NetworkAttachmentsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkEndpointGroupsTestIamPermissionsCall) Context(ctx context.Context) *NetworkEndpointGroupsTestIamPermissionsCall {
+func (c *NetworkAttachmentsSetIamPolicyCall) Context(ctx context.Context) *NetworkAttachmentsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkEndpointGroupsTestIamPermissionsCall) Header() http.Header {
+func (c *NetworkAttachmentsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkEndpointGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *NetworkAttachmentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -59778,20 +59399,19 @@ func (c *NetworkEndpointGroupsTestIamPermissionsCall) doRequest(alt string) (*ht
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
+ "region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkEndpointGroups.testIamPermissions" call.
+// Do executes the "compute.networkAttachments.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworkEndpointGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkAttachmentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -59810,7 +59430,7 @@ func (c *NetworkEndpointGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallO
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -59821,97 +59441,68 @@ func (c *NetworkEndpointGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallO
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesAddAssociationCall struct {
- s *Service
- project string
- firewallPolicy string
- firewallpolicyassociation *FirewallPolicyAssociation
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkAttachmentsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AddAssociation: Inserts an association for the specified firewall policy.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) AddAssociation(project string, firewallPolicy string, firewallpolicyassociation *FirewallPolicyAssociation) *NetworkFirewallPoliciesAddAssociationCall {
- c := &NetworkFirewallPoliciesAddAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *NetworkAttachmentsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *NetworkAttachmentsTestIamPermissionsCall {
+ c := &NetworkAttachmentsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallPolicy = firewallPolicy
- c.firewallpolicyassociation = firewallpolicyassociation
- return c
-}
-
-// ReplaceExistingAssociation sets the optional parameter
-// "replaceExistingAssociation": Indicates whether or not to replace it if an
-// association of the attachment
-// already exists. This is false by default, in which case an error will
-// be
-// returned if an association already exists.
-func (c *NetworkFirewallPoliciesAddAssociationCall) ReplaceExistingAssociation(replaceExistingAssociation bool) *NetworkFirewallPoliciesAddAssociationCall {
- c.urlParams_.Set("replaceExistingAssociation", fmt.Sprint(replaceExistingAssociation))
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesAddAssociationCall) RequestId(requestId string) *NetworkFirewallPoliciesAddAssociationCall {
- c.urlParams_.Set("requestId", requestId)
+ c.region = region
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesAddAssociationCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesAddAssociationCall {
+func (c *NetworkAttachmentsTestIamPermissionsCall) Fields(s ...googleapi.Field) *NetworkAttachmentsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesAddAssociationCall) Context(ctx context.Context) *NetworkFirewallPoliciesAddAssociationCall {
+func (c *NetworkAttachmentsTestIamPermissionsCall) Context(ctx context.Context) *NetworkAttachmentsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesAddAssociationCall) Header() http.Header {
+func (c *NetworkAttachmentsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyassociation)
+func (c *NetworkAttachmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -59919,19 +59510,21 @@ func (c *NetworkFirewallPoliciesAddAssociationCall) doRequest(alt string) (*http
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addAssociation", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkAttachments.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.addAssociation" call.
+// Do executes the "compute.networkAttachments.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesAddAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkAttachmentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -59950,7 +59543,7 @@ func (c *NetworkFirewallPoliciesAddAssociationCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -59961,125 +59554,232 @@ func (c *NetworkFirewallPoliciesAddAssociationCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addAssociation", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkAttachments.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesAddPacketMirroringRuleCall struct {
- s *Service
- project string
- firewallPolicy string
- firewallpolicyrule *FirewallPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkEdgeSecurityServicesAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AddPacketMirroringRule: Inserts a packet mirroring rule into a firewall
-// policy.
+// AggregatedList: Retrieves the list of all NetworkEdgeSecurityService
+// resources available to
+// the specified project.
//
-// - firewallPolicy: Name of the firewall policy to update.
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) AddPacketMirroringRule(project string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
- c := &NetworkFirewallPoliciesAddPacketMirroringRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Name of the project scoping this request.
+func (r *NetworkEdgeSecurityServicesService) AggregatedList(project string) *NetworkEdgeSecurityServicesAggregatedListCall {
+ c := &NetworkEdgeSecurityServicesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallPolicy = firewallPolicy
- c.firewallpolicyrule = firewallpolicyrule
return c
}
-// MaxPriority sets the optional parameter "maxPriority": When rule.priority is
-// not specified, auto choose a unused priority betweenminPriority and
-// maxPriority>.
-// This field is exclusive with rule.priority.
-func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) MaxPriority(maxPriority int64) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
- c.urlParams_.Set("maxPriority", fmt.Sprint(maxPriority))
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) Filter(filter string) *NetworkEdgeSecurityServicesAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// MinPriority sets the optional parameter "minPriority": When rule.priority is
-// not specified, auto choose a unused priority betweenminPriority and
-// maxPriority>.
-// This field is exclusive with rule.priority.
-func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) MinPriority(minPriority int64) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
- c.urlParams_.Set("minPriority", fmt.Sprint(minPriority))
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NetworkEdgeSecurityServicesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) MaxResults(maxResults int64) *NetworkEdgeSecurityServicesAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
- c.urlParams_.Set("requestId", requestId)
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) OrderBy(orderBy string) *NetworkEdgeSecurityServicesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) PageToken(pageToken string) *NetworkEdgeSecurityServicesAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NetworkEdgeSecurityServicesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) IfNoneMatch(entityTag string) *NetworkEdgeSecurityServicesAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Header() http.Header {
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
- if err != nil {
- return nil, err
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/networkEdgeSecurityServices")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addPacketMirroringRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.addPacketMirroringRule" call.
+// Do executes the "compute.networkEdgeSecurityServices.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *NetworkEdgeSecurityServiceAggregatedList.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NetworkEdgeSecurityServiceAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -60098,7 +59798,7 @@ func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Do(opts ...googleapi
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &NetworkEdgeSecurityServiceAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -60109,47 +59809,52 @@ func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Do(opts ...googleapi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addPacketMirroringRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesAddRuleCall struct {
- s *Service
- project string
- firewallPolicy string
- firewallpolicyrule *FirewallPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// AddRule: Inserts a rule into a firewall policy.
-//
-// - firewallPolicy: Name of the firewall policy to update.
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) AddRule(project string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *NetworkFirewallPoliciesAddRuleCall {
- c := &NetworkFirewallPoliciesAddRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.firewallPolicy = firewallPolicy
- c.firewallpolicyrule = firewallpolicyrule
- return c
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NetworkEdgeSecurityServicesAggregatedListCall) Pages(ctx context.Context, f func(*NetworkEdgeSecurityServiceAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// MaxPriority sets the optional parameter "maxPriority": When rule.priority is
-// not specified, auto choose a unused priority betweenminPriority and
-// maxPriority>.
-// This field is exclusive with rule.priority.
-func (c *NetworkFirewallPoliciesAddRuleCall) MaxPriority(maxPriority int64) *NetworkFirewallPoliciesAddRuleCall {
- c.urlParams_.Set("maxPriority", fmt.Sprint(maxPriority))
- return c
+type NetworkEdgeSecurityServicesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ networkEdgeSecurityService string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// MinPriority sets the optional parameter "minPriority": When rule.priority is
-// not specified, auto choose a unused priority betweenminPriority and
-// maxPriority>.
-// This field is exclusive with rule.priority.
-func (c *NetworkFirewallPoliciesAddRuleCall) MinPriority(minPriority int64) *NetworkFirewallPoliciesAddRuleCall {
- c.urlParams_.Set("minPriority", fmt.Sprint(minPriority))
+// Delete: Deletes the specified service.
+//
+// - networkEdgeSecurityService: Name of the network edge security service to
+// delete.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *NetworkEdgeSecurityServicesService) Delete(project string, region string, networkEdgeSecurityService string) *NetworkEdgeSecurityServicesDeleteCall {
+ c := &NetworkEdgeSecurityServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.networkEdgeSecurityService = networkEdgeSecurityService
return c
}
@@ -60170,7 +59875,7 @@ func (c *NetworkFirewallPoliciesAddRuleCall) MinPriority(minPriority int64) *Net
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesAddRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesAddRuleCall {
+func (c *NetworkEdgeSecurityServicesDeleteCall) RequestId(requestId string) *NetworkEdgeSecurityServicesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -60178,55 +59883,52 @@ func (c *NetworkFirewallPoliciesAddRuleCall) RequestId(requestId string) *Networ
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesAddRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesAddRuleCall {
+func (c *NetworkEdgeSecurityServicesDeleteCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesAddRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesAddRuleCall {
+func (c *NetworkEdgeSecurityServicesDeleteCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesAddRuleCall) Header() http.Header {
+func (c *NetworkEdgeSecurityServicesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
- if err != nil {
- return nil, err
- }
+func (c *NetworkEdgeSecurityServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
+ "networkEdgeSecurityService": c.networkEdgeSecurityService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.addRule" call.
+// Do executes the "compute.networkEdgeSecurityServices.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkEdgeSecurityServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -60256,194 +59958,39 @@ func (c *NetworkFirewallPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkEdgeSecurityServicesGetCall struct {
+ s *Service
+ project string
+ region string
+ networkEdgeSecurityService string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of network firewall policies,
-// listing network
-// firewall policies from all applicable scopes (global and regional)
-// and
-// grouping the results per scope.
-//
-// To prevent failure, it is recommended that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// Get: Gets a specified NetworkEdgeSecurityService.
//
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) AggregatedList(project string) *NetworkFirewallPoliciesAggregatedListCall {
- c := &NetworkFirewallPoliciesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkEdgeSecurityService: Name of the network edge security service to
+// get.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *NetworkEdgeSecurityServicesService) Get(project string, region string, networkEdgeSecurityService string) *NetworkEdgeSecurityServicesGetCall {
+ c := &NetworkEdgeSecurityServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *NetworkFirewallPoliciesAggregatedListCall) Filter(filter string) *NetworkFirewallPoliciesAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *NetworkFirewallPoliciesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NetworkFirewallPoliciesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkFirewallPoliciesAggregatedListCall) MaxResults(maxResults int64) *NetworkFirewallPoliciesAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *NetworkFirewallPoliciesAggregatedListCall) OrderBy(orderBy string) *NetworkFirewallPoliciesAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *NetworkFirewallPoliciesAggregatedListCall) PageToken(pageToken string) *NetworkFirewallPoliciesAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkFirewallPoliciesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkFirewallPoliciesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *NetworkFirewallPoliciesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NetworkFirewallPoliciesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+ c.region = region
+ c.networkEdgeSecurityService = networkEdgeSecurityService
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesAggregatedListCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesAggregatedListCall {
+func (c *NetworkEdgeSecurityServicesGetCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -60451,34 +59998,34 @@ func (c *NetworkFirewallPoliciesAggregatedListCall) Fields(s ...googleapi.Field)
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkFirewallPoliciesAggregatedListCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesAggregatedListCall {
+func (c *NetworkEdgeSecurityServicesGetCall) IfNoneMatch(entityTag string) *NetworkEdgeSecurityServicesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesAggregatedListCall) Context(ctx context.Context) *NetworkFirewallPoliciesAggregatedListCall {
+func (c *NetworkEdgeSecurityServicesGetCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesAggregatedListCall) Header() http.Header {
+func (c *NetworkEdgeSecurityServicesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkEdgeSecurityServicesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/firewallPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -60486,19 +60033,21 @@ func (c *NetworkFirewallPoliciesAggregatedListCall) doRequest(alt string) (*http
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "region": c.region,
+ "networkEdgeSecurityService": c.networkEdgeSecurityService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.aggregatedList" call.
+// Do executes the "compute.networkEdgeSecurityServices.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkFirewallPolicyAggregatedList.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
+// *NetworkEdgeSecurityService.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NetworkFirewallPolicyAggregatedList, error) {
+func (c *NetworkEdgeSecurityServicesGetCall) Do(opts ...googleapi.CallOption) (*NetworkEdgeSecurityService, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -60517,7 +60066,7 @@ func (c *NetworkFirewallPoliciesAggregatedListCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkFirewallPolicyAggregatedList{
+ ret := &NetworkEdgeSecurityService{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -60528,48 +60077,31 @@ func (c *NetworkFirewallPoliciesAggregatedListCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *NetworkFirewallPoliciesAggregatedListCall) Pages(ctx context.Context, f func(*NetworkFirewallPolicyAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type NetworkFirewallPoliciesCloneRulesCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkEdgeSecurityServicesInsertCall struct {
+ s *Service
+ project string
+ region string
+ networkedgesecurityservice *NetworkEdgeSecurityService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// CloneRules: Copies rules to the specified firewall policy.
+// Insert: Creates a new service in the specified project using the data
+// included in
+// the request.
//
-// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) CloneRules(project string, firewallPolicy string) *NetworkFirewallPoliciesCloneRulesCall {
- c := &NetworkFirewallPoliciesCloneRulesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *NetworkEdgeSecurityServicesService) Insert(project string, region string, networkedgesecurityservice *NetworkEdgeSecurityService) *NetworkEdgeSecurityServicesInsertCall {
+ c := &NetworkEdgeSecurityServicesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallPolicy = firewallPolicy
+ c.region = region
+ c.networkedgesecurityservice = networkedgesecurityservice
return c
}
@@ -60590,66 +60122,70 @@ func (r *NetworkFirewallPoliciesService) CloneRules(project string, firewallPoli
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesCloneRulesCall) RequestId(requestId string) *NetworkFirewallPoliciesCloneRulesCall {
+func (c *NetworkEdgeSecurityServicesInsertCall) RequestId(requestId string) *NetworkEdgeSecurityServicesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// SourceFirewallPolicy sets the optional parameter "sourceFirewallPolicy": The
-// firewall policy from which to copy rules.
-func (c *NetworkFirewallPoliciesCloneRulesCall) SourceFirewallPolicy(sourceFirewallPolicy string) *NetworkFirewallPoliciesCloneRulesCall {
- c.urlParams_.Set("sourceFirewallPolicy", sourceFirewallPolicy)
+// ValidateOnly sets the optional parameter "validateOnly": If true, the
+// request will not be committed.
+func (c *NetworkEdgeSecurityServicesInsertCall) ValidateOnly(validateOnly bool) *NetworkEdgeSecurityServicesInsertCall {
+ c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesCloneRulesCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesCloneRulesCall {
+func (c *NetworkEdgeSecurityServicesInsertCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesCloneRulesCall) Context(ctx context.Context) *NetworkFirewallPoliciesCloneRulesCall {
+func (c *NetworkEdgeSecurityServicesInsertCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesCloneRulesCall) Header() http.Header {
+func (c *NetworkEdgeSecurityServicesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesCloneRulesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkEdgeSecurityServicesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkedgesecurityservice)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEdgeSecurityServices")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.cloneRules", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.cloneRules" call.
+// Do executes the "compute.networkEdgeSecurityServices.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesCloneRulesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkEdgeSecurityServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -60679,27 +60215,39 @@ func (c *NetworkFirewallPoliciesCloneRulesCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.cloneRules", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesDeleteCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkEdgeSecurityServicesPatchCall struct {
+ s *Service
+ project string
+ region string
+ networkEdgeSecurityService string
+ networkedgesecurityservice *NetworkEdgeSecurityService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified policy.
+// Patch: Patches the specified policy with the data included in the request.
//
-// - firewallPolicy: Name of the firewall policy to delete.
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) Delete(project string, firewallPolicy string) *NetworkFirewallPoliciesDeleteCall {
- c := &NetworkFirewallPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkEdgeSecurityService: Name of the network edge security service to
+// update.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *NetworkEdgeSecurityServicesService) Patch(project string, region string, networkEdgeSecurityService string, networkedgesecurityservice *NetworkEdgeSecurityService) *NetworkEdgeSecurityServicesPatchCall {
+ c := &NetworkEdgeSecurityServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallPolicy = firewallPolicy
+ c.region = region
+ c.networkEdgeSecurityService = networkEdgeSecurityService
+ c.networkedgesecurityservice = networkedgesecurityservice
+ return c
+}
+
+// Paths sets the optional parameter "paths":
+func (c *NetworkEdgeSecurityServicesPatchCall) Paths(paths ...string) *NetworkEdgeSecurityServicesPatchCall {
+ c.urlParams_.SetMulti("paths", append([]string{}, paths...))
return c
}
@@ -60720,59 +60268,71 @@ func (r *NetworkFirewallPoliciesService) Delete(project string, firewallPolicy s
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesDeleteCall) RequestId(requestId string) *NetworkFirewallPoliciesDeleteCall {
+func (c *NetworkEdgeSecurityServicesPatchCall) RequestId(requestId string) *NetworkEdgeSecurityServicesPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// UpdateMask sets the optional parameter "updateMask": Indicates fields to be
+// updated as part of this request.
+func (c *NetworkEdgeSecurityServicesPatchCall) UpdateMask(updateMask string) *NetworkEdgeSecurityServicesPatchCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesDeleteCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesDeleteCall {
+func (c *NetworkEdgeSecurityServicesPatchCall) Fields(s ...googleapi.Field) *NetworkEdgeSecurityServicesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesDeleteCall) Context(ctx context.Context) *NetworkFirewallPoliciesDeleteCall {
+func (c *NetworkEdgeSecurityServicesPatchCall) Context(ctx context.Context) *NetworkEdgeSecurityServicesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesDeleteCall) Header() http.Header {
+func (c *NetworkEdgeSecurityServicesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkEdgeSecurityServicesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkedgesecurityservice)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
+ "networkEdgeSecurityService": c.networkEdgeSecurityService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.delete" call.
+// Do executes the "compute.networkEdgeSecurityServices.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkEdgeSecurityServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -60802,35 +60362,176 @@ func (c *NetworkFirewallPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEdgeSecurityServices.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesGetCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkEndpointGroupsAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AggregatedList: Retrieves the list of network endpoint groups and sorts them
+// by zone.
+//
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Project ID for this request.
+func (r *NetworkEndpointGroupsService) AggregatedList(project string) *NetworkEndpointGroupsAggregatedListCall {
+ c := &NetworkEndpointGroupsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *NetworkEndpointGroupsAggregatedListCall) Filter(filter string) *NetworkEndpointGroupsAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *NetworkEndpointGroupsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NetworkEndpointGroupsAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *NetworkEndpointGroupsAggregatedListCall) MaxResults(maxResults int64) *NetworkEndpointGroupsAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
}
-// Get: Returns the specified network firewall policy.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// - firewallPolicy: Name of the firewall policy to get.
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) Get(project string, firewallPolicy string) *NetworkFirewallPoliciesGetCall {
- c := &NetworkFirewallPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.firewallPolicy = firewallPolicy
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *NetworkEndpointGroupsAggregatedListCall) OrderBy(orderBy string) *NetworkEndpointGroupsAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *NetworkEndpointGroupsAggregatedListCall) PageToken(pageToken string) *NetworkEndpointGroupsAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *NetworkEndpointGroupsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NetworkEndpointGroupsAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesGetCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetCall {
+func (c *NetworkEndpointGroupsAggregatedListCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -60838,34 +60539,34 @@ func (c *NetworkFirewallPoliciesGetCall) Fields(s ...googleapi.Field) *NetworkFi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkFirewallPoliciesGetCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetCall {
+func (c *NetworkEndpointGroupsAggregatedListCall) IfNoneMatch(entityTag string) *NetworkEndpointGroupsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesGetCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetCall {
+func (c *NetworkEndpointGroupsAggregatedListCall) Context(ctx context.Context) *NetworkEndpointGroupsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesGetCall) Header() http.Header {
+func (c *NetworkEndpointGroupsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkEndpointGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/networkEndpointGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -60873,19 +60574,19 @@ func (c *NetworkFirewallPoliciesGetCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.get" call.
+// Do executes the "compute.networkEndpointGroups.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicy.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesGetCall) Do(opts ...googleapi.CallOption) (*FirewallPolicy, error) {
+// *NetworkEndpointGroupAggregatedList.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkEndpointGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -60904,7 +60605,7 @@ func (c *NetworkFirewallPoliciesGetCall) Do(opts ...googleapi.CallOption) (*Fire
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicy{
+ ret := &NetworkEndpointGroupAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -60915,99 +60616,136 @@ func (c *NetworkFirewallPoliciesGetCall) Do(opts ...googleapi.CallOption) (*Fire
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesGetAssociationCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NetworkEndpointGroupsAggregatedListCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// GetAssociation: Gets an association with the specified name.
+type NetworkEndpointGroupsAttachNetworkEndpointsCall struct {
+ s *Service
+ project string
+ zone string
+ networkEndpointGroup string
+ networkendpointgroupsattachendpointsrequest *NetworkEndpointGroupsAttachEndpointsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AttachNetworkEndpoints: Attach a list of network endpoints to the specified
+// network endpoint group.
//
-// - firewallPolicy: Name of the firewall policy to which the queried
-// association belongs.
+// - networkEndpointGroup: The name of the network endpoint group where you are
+// attaching network
+//
+// endpoints to. It should comply with RFC1035.
// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) GetAssociation(project string, firewallPolicy string) *NetworkFirewallPoliciesGetAssociationCall {
- c := &NetworkFirewallPoliciesGetAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone where
+// the network endpoint group is located. It should comply with RFC1035.
+func (r *NetworkEndpointGroupsService) AttachNetworkEndpoints(project string, zone string, networkEndpointGroup string, networkendpointgroupsattachendpointsrequest *NetworkEndpointGroupsAttachEndpointsRequest) *NetworkEndpointGroupsAttachNetworkEndpointsCall {
+ c := &NetworkEndpointGroupsAttachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallPolicy = firewallPolicy
+ c.zone = zone
+ c.networkEndpointGroup = networkEndpointGroup
+ c.networkendpointgroupsattachendpointsrequest = networkendpointgroupsattachendpointsrequest
return c
}
-// Name sets the optional parameter "name": The name of the association to get
-// from the firewall policy.
-func (c *NetworkFirewallPoliciesGetAssociationCall) Name(name string) *NetworkFirewallPoliciesGetAssociationCall {
- c.urlParams_.Set("name", name)
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) RequestId(requestId string) *NetworkEndpointGroupsAttachNetworkEndpointsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesGetAssociationCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetAssociationCall {
+func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsAttachNetworkEndpointsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NetworkFirewallPoliciesGetAssociationCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetAssociationCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesGetAssociationCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetAssociationCall {
+func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsAttachNetworkEndpointsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesGetAssociationCall) Header() http.Header {
+func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroupsattachendpointsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getAssociation", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.attachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.getAssociation" call.
+// Do executes the "compute.networkEndpointGroups.attachNetworkEndpoints" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicyAssociation.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesGetAssociationCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyAssociation, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -61026,7 +60764,7 @@ func (c *NetworkFirewallPoliciesGetAssociationCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicyAssociation{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -61037,99 +60775,114 @@ func (c *NetworkFirewallPoliciesGetAssociationCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getAssociation", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.attachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesGetIamPolicyCall struct {
- s *Service
- project string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkEndpointGroupsDeleteCall struct {
+ s *Service
+ project string
+ zone string
+ networkEndpointGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// Delete: Deletes the specified network endpoint group. The network endpoints
+// in the
+// NEG and the VM instances they belong to are not terminated when the NEG
+// is
+// deleted. Note that the NEG cannot be deleted if there are backend
+// services
+// referencing it.
//
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *NetworkFirewallPoliciesService) GetIamPolicy(project string, resource string) *NetworkFirewallPoliciesGetIamPolicyCall {
- c := &NetworkFirewallPoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkEndpointGroup: The name of the network endpoint group to delete. It
+// should comply with
+//
+// RFC1035.
+// - project: Project ID for this request.
+// - zone: The name of the zone where
+// the network endpoint group is located. It should comply with RFC1035.
+func (r *NetworkEndpointGroupsService) Delete(project string, zone string, networkEndpointGroup string) *NetworkEndpointGroupsDeleteCall {
+ c := &NetworkEndpointGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
+ c.zone = zone
+ c.networkEndpointGroup = networkEndpointGroup
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *NetworkFirewallPoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *NetworkFirewallPoliciesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworkEndpointGroupsDeleteCall) RequestId(requestId string) *NetworkEndpointGroupsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetIamPolicyCall {
+func (c *NetworkEndpointGroupsDeleteCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NetworkFirewallPoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesGetIamPolicyCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetIamPolicyCall {
+func (c *NetworkEndpointGroupsDeleteCall) Context(ctx context.Context) *NetworkEndpointGroupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesGetIamPolicyCall) Header() http.Header {
+func (c *NetworkEndpointGroupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *NetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.getIamPolicy" call.
+// Do executes the "compute.networkEndpointGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *NetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -61148,7 +60901,7 @@ func (c *NetworkFirewallPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -61159,100 +60912,116 @@ func (c *NetworkFirewallPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesGetPacketMirroringRuleCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkEndpointGroupsDetachNetworkEndpointsCall struct {
+ s *Service
+ project string
+ zone string
+ networkEndpointGroup string
+ networkendpointgroupsdetachendpointsrequest *NetworkEndpointGroupsDetachEndpointsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetPacketMirroringRule: Gets a packet mirroring rule of the specified
-// priority.
+// DetachNetworkEndpoints: Detach a list of network endpoints from the
+// specified network endpoint
+// group.
//
-// - firewallPolicy: Name of the firewall policy to which the queried rule
-// belongs.
+// - networkEndpointGroup: The name of the network endpoint group where you are
+// removing network
+//
+// endpoints. It should comply with RFC1035.
// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) GetPacketMirroringRule(project string, firewallPolicy string) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
- c := &NetworkFirewallPoliciesGetPacketMirroringRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone where
+// the network endpoint group is located. It should comply with RFC1035.
+func (r *NetworkEndpointGroupsService) DetachNetworkEndpoints(project string, zone string, networkEndpointGroup string, networkendpointgroupsdetachendpointsrequest *NetworkEndpointGroupsDetachEndpointsRequest) *NetworkEndpointGroupsDetachNetworkEndpointsCall {
+ c := &NetworkEndpointGroupsDetachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallPolicy = firewallPolicy
+ c.zone = zone
+ c.networkEndpointGroup = networkEndpointGroup
+ c.networkendpointgroupsdetachendpointsrequest = networkendpointgroupsdetachendpointsrequest
return c
}
-// Priority sets the optional parameter "priority": The priority of the rule to
-// get from the firewall policy.
-func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Priority(priority int64) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) RequestId(requestId string) *NetworkEndpointGroupsDetachNetworkEndpointsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
+func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsDetachNetworkEndpointsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
+func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsDetachNetworkEndpointsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Header() http.Header {
+func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroupsdetachendpointsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getPacketMirroringRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.detachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.getPacketMirroringRule" call.
+// Do executes the "compute.networkEndpointGroups.detachNetworkEndpoints" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicyRule.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyRule, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -61271,7 +61040,7 @@ func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Do(opts ...googleapi
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicyRule{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -61282,43 +61051,40 @@ func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Do(opts ...googleapi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getPacketMirroringRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.detachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesGetRuleCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkEndpointGroupsGetCall struct {
+ s *Service
+ project string
+ zone string
+ networkEndpointGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// GetRule: Gets a rule of the specified priority.
+// Get: Returns the specified network endpoint group.
//
-// - firewallPolicy: Name of the firewall policy to which the queried rule
-// belongs.
+// - networkEndpointGroup: The name of the network endpoint group. It should
+// comply with RFC1035.
// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) GetRule(project string, firewallPolicy string) *NetworkFirewallPoliciesGetRuleCall {
- c := &NetworkFirewallPoliciesGetRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone where
+// the network endpoint group is located. It should comply with RFC1035.
+func (r *NetworkEndpointGroupsService) Get(project string, zone string, networkEndpointGroup string) *NetworkEndpointGroupsGetCall {
+ c := &NetworkEndpointGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallPolicy = firewallPolicy
- return c
-}
-
-// Priority sets the optional parameter "priority": The priority of the rule to
-// get from the firewall policy.
-func (c *NetworkFirewallPoliciesGetRuleCall) Priority(priority int64) *NetworkFirewallPoliciesGetRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+ c.zone = zone
+ c.networkEndpointGroup = networkEndpointGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesGetRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetRuleCall {
+func (c *NetworkEndpointGroupsGetCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -61326,34 +61092,34 @@ func (c *NetworkFirewallPoliciesGetRuleCall) Fields(s ...googleapi.Field) *Netwo
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkFirewallPoliciesGetRuleCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetRuleCall {
+func (c *NetworkEndpointGroupsGetCall) IfNoneMatch(entityTag string) *NetworkEndpointGroupsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesGetRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetRuleCall {
+func (c *NetworkEndpointGroupsGetCall) Context(ctx context.Context) *NetworkEndpointGroupsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesGetRuleCall) Header() http.Header {
+func (c *NetworkEndpointGroupsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -61361,20 +61127,21 @@ func (c *NetworkFirewallPoliciesGetRuleCall) doRequest(alt string) (*http.Respon
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.getRule" call.
+// Do executes the "compute.networkEndpointGroups.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicyRule.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *NetworkEndpointGroup.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *NetworkFirewallPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyRule, error) {
+func (c *NetworkEndpointGroupsGetCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroup, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -61393,7 +61160,7 @@ func (c *NetworkFirewallPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicyRule{
+ ret := &NetworkEndpointGroup{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -61404,28 +61171,49 @@ func (c *NetworkFirewallPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesInsertCall struct {
- s *Service
- project string
- firewallpolicy *FirewallPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkEndpointGroupsInsertCall struct {
+ s *Service
+ project string
+ zone string
+ networkendpointgroup *NetworkEndpointGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a new policy in the specified project using the data
-// included in
-// the request.
+// Insert: Creates a network endpoint group in the specified project using
+// the
+// parameters that are included in the request.
//
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) Insert(project string, firewallpolicy *FirewallPolicy) *NetworkFirewallPoliciesInsertCall {
- c := &NetworkFirewallPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// Note: Use the following APIs to manage network endpoint groups:
+//
+// -
+// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity
+// NEGs): zonal
+// API
+// -
+// To manage NEGs with regional scope (such as regional internet NEGs,
+// serverless NEGs, Private Service Connect NEGs): regional
+// API
+// -
+// To manage NEGs with global scope (such as global internet NEGs):global
+// API
+//
+// - project: Project ID for this request.
+// - zone: The name of the zone where
+// you want to create the network endpoint group. It should comply
+// with
+//
+// RFC1035.
+func (r *NetworkEndpointGroupsService) Insert(project string, zone string, networkendpointgroup *NetworkEndpointGroup) *NetworkEndpointGroupsInsertCall {
+ c := &NetworkEndpointGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallpolicy = firewallpolicy
+ c.zone = zone
+ c.networkendpointgroup = networkendpointgroup
return c
}
@@ -61446,7 +61234,7 @@ func (r *NetworkFirewallPoliciesService) Insert(project string, firewallpolicy *
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesInsertCall) RequestId(requestId string) *NetworkFirewallPoliciesInsertCall {
+func (c *NetworkEndpointGroupsInsertCall) RequestId(requestId string) *NetworkEndpointGroupsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -61454,35 +61242,35 @@ func (c *NetworkFirewallPoliciesInsertCall) RequestId(requestId string) *Network
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesInsertCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesInsertCall {
+func (c *NetworkEndpointGroupsInsertCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesInsertCall) Context(ctx context.Context) *NetworkFirewallPoliciesInsertCall {
+func (c *NetworkEndpointGroupsInsertCall) Context(ctx context.Context) *NetworkEndpointGroupsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesInsertCall) Header() http.Header {
+func (c *NetworkEndpointGroupsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
+func (c *NetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroup)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -61491,17 +61279,18 @@ func (c *NetworkFirewallPoliciesInsertCall) doRequest(alt string) (*http.Respons
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.insert" call.
+// Do executes the "compute.networkEndpointGroups.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkEndpointGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -61531,26 +61320,32 @@ func (c *NetworkFirewallPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesListCall struct {
+type NetworkEndpointGroupsListCall struct {
s *Service
project string
+ zone string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Lists all the policies that have been configured for the specified
-// project.
+// List: Retrieves the list of network endpoint groups that are located in
+// the
+// specified project and zone.
//
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) List(project string) *NetworkFirewallPoliciesListCall {
- c := &NetworkFirewallPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - zone: The name of thezone
+// where the network endpoint group is located. It should comply with
+// RFC1035.
+func (r *NetworkEndpointGroupsService) List(project string, zone string) *NetworkEndpointGroupsListCall {
+ c := &NetworkEndpointGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
return c
}
@@ -61621,7 +61416,7 @@ func (r *NetworkFirewallPoliciesService) List(project string) *NetworkFirewallPo
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NetworkFirewallPoliciesListCall) Filter(filter string) *NetworkFirewallPoliciesListCall {
+func (c *NetworkEndpointGroupsListCall) Filter(filter string) *NetworkEndpointGroupsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -61633,7 +61428,7 @@ func (c *NetworkFirewallPoliciesListCall) Filter(filter string) *NetworkFirewall
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkFirewallPoliciesListCall) MaxResults(maxResults int64) *NetworkFirewallPoliciesListCall {
+func (c *NetworkEndpointGroupsListCall) MaxResults(maxResults int64) *NetworkEndpointGroupsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -61653,7 +61448,7 @@ func (c *NetworkFirewallPoliciesListCall) MaxResults(maxResults int64) *NetworkF
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NetworkFirewallPoliciesListCall) OrderBy(orderBy string) *NetworkFirewallPoliciesListCall {
+func (c *NetworkEndpointGroupsListCall) OrderBy(orderBy string) *NetworkEndpointGroupsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -61662,30 +61457,15 @@ func (c *NetworkFirewallPoliciesListCall) OrderBy(orderBy string) *NetworkFirewa
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NetworkFirewallPoliciesListCall) PageToken(pageToken string) *NetworkFirewallPoliciesListCall {
+func (c *NetworkEndpointGroupsListCall) PageToken(pageToken string) *NetworkEndpointGroupsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkFirewallPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkFirewallPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesListCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesListCall {
+func (c *NetworkEndpointGroupsListCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -61693,34 +61473,34 @@ func (c *NetworkFirewallPoliciesListCall) Fields(s ...googleapi.Field) *NetworkF
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkFirewallPoliciesListCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesListCall {
+func (c *NetworkEndpointGroupsListCall) IfNoneMatch(entityTag string) *NetworkEndpointGroupsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesListCall) Context(ctx context.Context) *NetworkFirewallPoliciesListCall {
+func (c *NetworkEndpointGroupsListCall) Context(ctx context.Context) *NetworkEndpointGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesListCall) Header() http.Header {
+func (c *NetworkEndpointGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -61729,18 +61509,19 @@ func (c *NetworkFirewallPoliciesListCall) doRequest(alt string) (*http.Response,
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.list" call.
+// Do executes the "compute.networkEndpointGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicyList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *NetworkFirewallPoliciesListCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyList, error) {
+// *NetworkEndpointGroupList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkEndpointGroupsListCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -61759,7 +61540,7 @@ func (c *NetworkFirewallPoliciesListCall) Do(opts ...googleapi.CallOption) (*Fir
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicyList{
+ ret := &NetworkEndpointGroupList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -61770,14 +61551,14 @@ func (c *NetworkFirewallPoliciesListCall) Do(opts ...googleapi.CallOption) (*Fir
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NetworkFirewallPoliciesListCall) Pages(ctx context.Context, f func(*FirewallPolicyList) error) error {
+func (c *NetworkEndpointGroupsListCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -61795,219 +61576,180 @@ func (c *NetworkFirewallPoliciesListCall) Pages(ctx context.Context, f func(*Fir
}
}
-type NetworkFirewallPoliciesPatchCall struct {
- s *Service
- project string
- firewallPolicy string
- firewallpolicy *FirewallPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkEndpointGroupsListNetworkEndpointsCall struct {
+ s *Service
+ project string
+ zone string
+ networkEndpointGroup string
+ networkendpointgroupslistendpointsrequest *NetworkEndpointGroupsListEndpointsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified policy with the data included in the request.
+// ListNetworkEndpoints: Lists the network endpoints in the specified network
+// endpoint group.
//
-// - firewallPolicy: Name of the firewall policy to update.
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) Patch(project string, firewallPolicy string, firewallpolicy *FirewallPolicy) *NetworkFirewallPoliciesPatchCall {
- c := &NetworkFirewallPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkEndpointGroup: The name of the network endpoint group from which
+// you want to generate a
+// list of included network endpoints. It should comply with RFC1035.
+// - project: Project ID for this request.
+// - zone: The name of the zone where
+// the network endpoint group is located. It should comply with RFC1035.
+func (r *NetworkEndpointGroupsService) ListNetworkEndpoints(project string, zone string, networkEndpointGroup string, networkendpointgroupslistendpointsrequest *NetworkEndpointGroupsListEndpointsRequest) *NetworkEndpointGroupsListNetworkEndpointsCall {
+ c := &NetworkEndpointGroupsListNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.firewallPolicy = firewallPolicy
- c.firewallpolicy = firewallpolicy
+ c.zone = zone
+ c.networkEndpointGroup = networkEndpointGroup
+ c.networkendpointgroupslistendpointsrequest = networkendpointgroupslistendpointsrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesPatchCall) RequestId(requestId string) *NetworkFirewallPoliciesPatchCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *NetworkFirewallPoliciesPatchCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesPatchCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Filter(filter string) *NetworkEndpointGroupsListNetworkEndpointsCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesPatchCall) Context(ctx context.Context) *NetworkFirewallPoliciesPatchCall {
- c.ctx_ = ctx
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) MaxResults(maxResults int64) *NetworkEndpointGroupsListNetworkEndpointsCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *NetworkFirewallPoliciesPatchCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *NetworkFirewallPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.networkFirewallPolicies.patch" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patch", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type NetworkFirewallPoliciesPatchPacketMirroringRuleCall struct {
- s *Service
- project string
- firewallPolicy string
- firewallpolicyrule *FirewallPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// PatchPacketMirroringRule: Patches a packet mirroring rule of the specified
-// priority.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// - firewallPolicy: Name of the firewall policy to update.
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) PatchPacketMirroringRule(project string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
- c := &NetworkFirewallPoliciesPatchPacketMirroringRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.firewallPolicy = firewallPolicy
- c.firewallpolicyrule = firewallpolicyrule
- return c
-}
-
-// Priority sets the optional parameter "priority": The priority of the rule to
-// patch.
-func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Priority(priority int64) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) OrderBy(orderBy string) *NetworkEndpointGroupsListNetworkEndpointsCall {
+ c.urlParams_.Set("orderBy", orderBy)
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
- c.urlParams_.Set("requestId", requestId)
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) PageToken(pageToken string) *NetworkEndpointGroupsListNetworkEndpointsCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsListNetworkEndpointsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsListNetworkEndpointsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Header() http.Header {
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroupslistendpointsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -62015,19 +61757,21 @@ func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) doRequest(alt stri
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patchPacketMirroringRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.listNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.patchPacketMirroringRule" call.
+// Do executes the "compute.networkEndpointGroups.listNetworkEndpoints" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *NetworkEndpointGroupsListNetworkEndpoints.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupsListNetworkEndpoints, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -62046,7 +61790,7 @@ func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Do(opts ...googlea
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &NetworkEndpointGroupsListNetworkEndpoints{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -62057,93 +61801,89 @@ func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Do(opts ...googlea
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patchPacketMirroringRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.listNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesPatchRuleCall struct {
- s *Service
- project string
- firewallPolicy string
- firewallpolicyrule *FirewallPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// PatchRule: Patches a rule of the specified priority.
-//
-// - firewallPolicy: Name of the firewall policy to update.
-// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) PatchRule(project string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *NetworkFirewallPoliciesPatchRuleCall {
- c := &NetworkFirewallPoliciesPatchRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.firewallPolicy = firewallPolicy
- c.firewallpolicyrule = firewallpolicyrule
- return c
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupsListNetworkEndpoints) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Priority sets the optional parameter "priority": The priority of the rule to
-// patch.
-func (c *NetworkFirewallPoliciesPatchRuleCall) Priority(priority int64) *NetworkFirewallPoliciesPatchRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
- return c
+type NetworkEndpointGroupsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesPatchRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesPatchRuleCall {
- c.urlParams_.Set("requestId", requestId)
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *NetworkEndpointGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *NetworkEndpointGroupsTestIamPermissionsCall {
+ c := &NetworkEndpointGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesPatchRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesPatchRuleCall {
+func (c *NetworkEndpointGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesPatchRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesPatchRuleCall {
+func (c *NetworkEndpointGroupsTestIamPermissionsCall) Context(ctx context.Context) *NetworkEndpointGroupsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesPatchRuleCall) Header() http.Header {
+func (c *NetworkEndpointGroupsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
+func (c *NetworkEndpointGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -62151,19 +61891,21 @@ func (c *NetworkFirewallPoliciesPatchRuleCall) doRequest(alt string) (*http.Resp
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patchRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.patchRule" call.
+// Do executes the "compute.networkEndpointGroups.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkEndpointGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -62182,7 +61924,7 @@ func (c *NetworkFirewallPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -62193,34 +61935,40 @@ func (c *NetworkFirewallPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patchRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkEndpointGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesRemoveAssociationCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesAddAssociationCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ firewallpolicyassociation *FirewallPolicyAssociation
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RemoveAssociation: Removes an association for the specified firewall policy.
+// AddAssociation: Inserts an association for the specified firewall policy.
//
// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) RemoveAssociation(project string, firewallPolicy string) *NetworkFirewallPoliciesRemoveAssociationCall {
- c := &NetworkFirewallPoliciesRemoveAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) AddAssociation(project string, firewallPolicy string, firewallpolicyassociation *FirewallPolicyAssociation) *NetworkFirewallPoliciesAddAssociationCall {
+ c := &NetworkFirewallPoliciesAddAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.firewallPolicy = firewallPolicy
+ c.firewallpolicyassociation = firewallpolicyassociation
return c
}
-// Name sets the optional parameter "name": Name for the attachment that will
-// be removed.
-func (c *NetworkFirewallPoliciesRemoveAssociationCall) Name(name string) *NetworkFirewallPoliciesRemoveAssociationCall {
- c.urlParams_.Set("name", name)
+// ReplaceExistingAssociation sets the optional parameter
+// "replaceExistingAssociation": Indicates whether or not to replace it if an
+// association of the attachment
+// already exists. This is false by default, in which case an error will
+// be
+// returned if an association already exists.
+func (c *NetworkFirewallPoliciesAddAssociationCall) ReplaceExistingAssociation(replaceExistingAssociation bool) *NetworkFirewallPoliciesAddAssociationCall {
+ c.urlParams_.Set("replaceExistingAssociation", fmt.Sprint(replaceExistingAssociation))
return c
}
@@ -62241,7 +61989,7 @@ func (c *NetworkFirewallPoliciesRemoveAssociationCall) Name(name string) *Networ
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesRemoveAssociationCall) RequestId(requestId string) *NetworkFirewallPoliciesRemoveAssociationCall {
+func (c *NetworkFirewallPoliciesAddAssociationCall) RequestId(requestId string) *NetworkFirewallPoliciesAddAssociationCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -62249,33 +61997,37 @@ func (c *NetworkFirewallPoliciesRemoveAssociationCall) RequestId(requestId strin
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesRemoveAssociationCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesRemoveAssociationCall {
+func (c *NetworkFirewallPoliciesAddAssociationCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesAddAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesRemoveAssociationCall) Context(ctx context.Context) *NetworkFirewallPoliciesRemoveAssociationCall {
+func (c *NetworkFirewallPoliciesAddAssociationCall) Context(ctx context.Context) *NetworkFirewallPoliciesAddAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesRemoveAssociationCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesAddAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkFirewallPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyassociation)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -62284,16 +62036,16 @@ func (c *NetworkFirewallPoliciesRemoveAssociationCall) doRequest(alt string) (*h
"project": c.project,
"firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removeAssociation", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addAssociation", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.removeAssociation" call.
+// Do executes the "compute.networkFirewallPolicies.addAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesRemoveAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesAddAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -62323,35 +62075,48 @@ func (c *NetworkFirewallPoliciesRemoveAssociationCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removeAssociation", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesRemovePacketMirroringRuleCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesAddPacketMirroringRuleCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ firewallpolicyrule *FirewallPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RemovePacketMirroringRule: Deletes a packet mirroring rule of the specified
-// priority.
+// AddPacketMirroringRule: Inserts a packet mirroring rule into a firewall
+// policy.
//
// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) RemovePacketMirroringRule(project string, firewallPolicy string) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
- c := &NetworkFirewallPoliciesRemovePacketMirroringRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) AddPacketMirroringRule(project string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
+ c := &NetworkFirewallPoliciesAddPacketMirroringRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.firewallPolicy = firewallPolicy
+ c.firewallpolicyrule = firewallpolicyrule
return c
}
-// Priority sets the optional parameter "priority": The priority of the rule to
-// remove from the firewall policy.
-func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Priority(priority int64) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+// MaxPriority sets the optional parameter "maxPriority": When rule.priority is
+// not specified, auto choose a unused priority betweenminPriority and
+// maxPriority>.
+// This field is exclusive with rule.priority.
+func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) MaxPriority(maxPriority int64) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
+ c.urlParams_.Set("maxPriority", fmt.Sprint(maxPriority))
+ return c
+}
+
+// MinPriority sets the optional parameter "minPriority": When rule.priority is
+// not specified, auto choose a unused priority betweenminPriority and
+// maxPriority>.
+// This field is exclusive with rule.priority.
+func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) MinPriority(minPriority int64) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
+ c.urlParams_.Set("minPriority", fmt.Sprint(minPriority))
return c
}
@@ -62372,7 +62137,7 @@ func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Priority(priority
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
+func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -62380,33 +62145,37 @@ func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) RequestId(request
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
+func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
+func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesAddPacketMirroringRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -62415,16 +62184,16 @@ func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) doRequest(alt str
"project": c.project,
"firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removePacketMirroringRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addPacketMirroringRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.removePacketMirroringRule" call.
+// Do executes the "compute.networkFirewallPolicies.addPacketMirroringRule" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesAddPacketMirroringRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -62454,34 +62223,47 @@ func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Do(opts ...google
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removePacketMirroringRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addPacketMirroringRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesRemoveRuleCall struct {
- s *Service
- project string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesAddRuleCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ firewallpolicyrule *FirewallPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RemoveRule: Deletes a rule of the specified priority.
+// AddRule: Inserts a rule into a firewall policy.
//
// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworkFirewallPoliciesService) RemoveRule(project string, firewallPolicy string) *NetworkFirewallPoliciesRemoveRuleCall {
- c := &NetworkFirewallPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) AddRule(project string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *NetworkFirewallPoliciesAddRuleCall {
+ c := &NetworkFirewallPoliciesAddRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.firewallPolicy = firewallPolicy
+ c.firewallpolicyrule = firewallpolicyrule
return c
}
-// Priority sets the optional parameter "priority": The priority of the rule to
-// remove from the firewall policy.
-func (c *NetworkFirewallPoliciesRemoveRuleCall) Priority(priority int64) *NetworkFirewallPoliciesRemoveRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+// MaxPriority sets the optional parameter "maxPriority": When rule.priority is
+// not specified, auto choose a unused priority betweenminPriority and
+// maxPriority>.
+// This field is exclusive with rule.priority.
+func (c *NetworkFirewallPoliciesAddRuleCall) MaxPriority(maxPriority int64) *NetworkFirewallPoliciesAddRuleCall {
+ c.urlParams_.Set("maxPriority", fmt.Sprint(maxPriority))
+ return c
+}
+
+// MinPriority sets the optional parameter "minPriority": When rule.priority is
+// not specified, auto choose a unused priority betweenminPriority and
+// maxPriority>.
+// This field is exclusive with rule.priority.
+func (c *NetworkFirewallPoliciesAddRuleCall) MinPriority(minPriority int64) *NetworkFirewallPoliciesAddRuleCall {
+ c.urlParams_.Set("minPriority", fmt.Sprint(minPriority))
return c
}
@@ -62502,7 +62284,7 @@ func (c *NetworkFirewallPoliciesRemoveRuleCall) Priority(priority int64) *Networ
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworkFirewallPoliciesRemoveRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesRemoveRuleCall {
+func (c *NetworkFirewallPoliciesAddRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesAddRuleCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -62510,33 +62292,37 @@ func (c *NetworkFirewallPoliciesRemoveRuleCall) RequestId(requestId string) *Net
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesRemoveRuleCall {
+func (c *NetworkFirewallPoliciesAddRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesAddRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesRemoveRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesRemoveRuleCall {
+func (c *NetworkFirewallPoliciesAddRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesAddRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesRemoveRuleCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesAddRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkFirewallPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -62545,16 +62331,16 @@ func (c *NetworkFirewallPoliciesRemoveRuleCall) doRequest(alt string) (*http.Res
"project": c.project,
"firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removeRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.removeRule" call.
+// Do executes the "compute.networkFirewallPolicies.addRule" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -62584,86 +62370,234 @@ func (c *NetworkFirewallPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removeRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.addRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesSetIamPolicyCall struct {
- s *Service
- project string
- resource string
- globalsetpolicyrequest *GlobalSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// AggregatedList: Retrieves an aggregated list of network firewall policies,
+// listing network
+// firewall policies from all applicable scopes (global and regional)
+// and
+// grouping the results per scope.
+//
+// To prevent failure, it is recommended that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *NetworkFirewallPoliciesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *NetworkFirewallPoliciesSetIamPolicyCall {
- c := &NetworkFirewallPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) AggregatedList(project string) *NetworkFirewallPoliciesAggregatedListCall {
+ c := &NetworkFirewallPoliciesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.resource = resource
- c.globalsetpolicyrequest = globalsetpolicyrequest
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *NetworkFirewallPoliciesAggregatedListCall) Filter(filter string) *NetworkFirewallPoliciesAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *NetworkFirewallPoliciesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NetworkFirewallPoliciesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *NetworkFirewallPoliciesAggregatedListCall) MaxResults(maxResults int64) *NetworkFirewallPoliciesAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *NetworkFirewallPoliciesAggregatedListCall) OrderBy(orderBy string) *NetworkFirewallPoliciesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *NetworkFirewallPoliciesAggregatedListCall) PageToken(pageToken string) *NetworkFirewallPoliciesAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *NetworkFirewallPoliciesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NetworkFirewallPoliciesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesSetIamPolicyCall {
+func (c *NetworkFirewallPoliciesAggregatedListCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NetworkFirewallPoliciesAggregatedListCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesSetIamPolicyCall) Context(ctx context.Context) *NetworkFirewallPoliciesSetIamPolicyCall {
+func (c *NetworkFirewallPoliciesAggregatedListCall) Context(ctx context.Context) *NetworkFirewallPoliciesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesSetIamPolicyCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
- if err != nil {
- return nil, err
+func (c *NetworkFirewallPoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/firewallPolicies")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.setIamPolicy" call.
+// Do executes the "compute.networkFirewallPolicies.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *NetworkFirewallPolicyAggregatedList.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkFirewallPoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NetworkFirewallPolicyAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -62682,7 +62616,7 @@ func (c *NetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &NetworkFirewallPolicyAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -62693,86 +62627,128 @@ func (c *NetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkFirewallPoliciesTestIamPermissionsCall struct {
- s *Service
- project string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NetworkFirewallPoliciesAggregatedListCall) Pages(ctx context.Context, f func(*NetworkFirewallPolicyAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type NetworkFirewallPoliciesCloneRulesCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// CloneRules: Copies rules to the specified firewall policy.
+//
+// - firewallPolicy: Name of the firewall policy to update.
+// - project: Project ID for this request.
+func (r *NetworkFirewallPoliciesService) CloneRules(project string, firewallPolicy string) *NetworkFirewallPoliciesCloneRulesCall {
+ c := &NetworkFirewallPoliciesCloneRulesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworkFirewallPoliciesCloneRulesCall) RequestId(requestId string) *NetworkFirewallPoliciesCloneRulesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
-//
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-func (r *NetworkFirewallPoliciesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *NetworkFirewallPoliciesTestIamPermissionsCall {
- c := &NetworkFirewallPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+// SourceFirewallPolicy sets the optional parameter "sourceFirewallPolicy": The
+// firewall policy from which to copy rules.
+func (c *NetworkFirewallPoliciesCloneRulesCall) SourceFirewallPolicy(sourceFirewallPolicy string) *NetworkFirewallPoliciesCloneRulesCall {
+ c.urlParams_.Set("sourceFirewallPolicy", sourceFirewallPolicy)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesTestIamPermissionsCall {
+func (c *NetworkFirewallPoliciesCloneRulesCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesCloneRulesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Context(ctx context.Context) *NetworkFirewallPoliciesTestIamPermissionsCall {
+func (c *NetworkFirewallPoliciesCloneRulesCall) Context(ctx context.Context) *NetworkFirewallPoliciesCloneRulesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesCloneRulesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkFirewallPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
+func (c *NetworkFirewallPoliciesCloneRulesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "resource": c.resource,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.cloneRules", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkFirewallPolicies.testIamPermissions" call.
+// Do executes the "compute.networkFirewallPolicies.cloneRules" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkFirewallPoliciesCloneRulesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -62791,7 +62767,7 @@ func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -62802,90 +62778,100 @@ func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.cloneRules", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkProfilesGetCall struct {
+type NetworkFirewallPoliciesDeleteCall struct {
s *Service
project string
- networkProfile string
+ firewallPolicy string
urlParams_ gensupport.URLParams
- ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the specified network profile.
+// Delete: Deletes the specified policy.
//
-// - networkProfile: Name of the network profile to return.
+// - firewallPolicy: Name of the firewall policy to delete.
// - project: Project ID for this request.
-func (r *NetworkProfilesService) Get(project string, networkProfile string) *NetworkProfilesGetCall {
- c := &NetworkProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) Delete(project string, firewallPolicy string) *NetworkFirewallPoliciesDeleteCall {
+ c := &NetworkFirewallPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.networkProfile = networkProfile
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworkFirewallPoliciesDeleteCall) RequestId(requestId string) *NetworkFirewallPoliciesDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkProfilesGetCall) Fields(s ...googleapi.Field) *NetworkProfilesGetCall {
+func (c *NetworkFirewallPoliciesDeleteCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NetworkProfilesGetCall) IfNoneMatch(entityTag string) *NetworkProfilesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *NetworkProfilesGetCall) Context(ctx context.Context) *NetworkProfilesGetCall {
+func (c *NetworkFirewallPoliciesDeleteCall) Context(ctx context.Context) *NetworkFirewallPoliciesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkProfilesGetCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkProfilesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *NetworkFirewallPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkProfiles/{networkProfile}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "networkProfile": c.networkProfile,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkProfiles.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkProfiles.get" call.
+// Do executes the "compute.networkFirewallPolicies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkProfile.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworkProfilesGetCall) Do(opts ...googleapi.CallOption) (*NetworkProfile, error) {
+func (c *NetworkFirewallPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -62904,7 +62890,7 @@ func (c *NetworkProfilesGetCall) Do(opts ...googleapi.CallOption) (*NetworkProfi
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkProfile{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -62915,162 +62901,35 @@ func (c *NetworkProfilesGetCall) Do(opts ...googleapi.CallOption) (*NetworkProfi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkProfiles.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworkProfilesListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesGetCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves a list of network profiles available to the
-// specified
-// project.
+// Get: Returns the specified network firewall policy.
//
+// - firewallPolicy: Name of the firewall policy to get.
// - project: Project ID for this request.
-func (r *NetworkProfilesService) List(project string) *NetworkProfilesListCall {
- c := &NetworkProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) Get(project string, firewallPolicy string) *NetworkFirewallPoliciesGetCall {
+ c := &NetworkFirewallPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *NetworkProfilesListCall) Filter(filter string) *NetworkProfilesListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworkProfilesListCall) MaxResults(maxResults int64) *NetworkProfilesListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *NetworkProfilesListCall) OrderBy(orderBy string) *NetworkProfilesListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *NetworkProfilesListCall) PageToken(pageToken string) *NetworkProfilesListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworkProfilesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkProfilesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+ c.firewallPolicy = firewallPolicy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworkProfilesListCall) Fields(s ...googleapi.Field) *NetworkProfilesListCall {
+func (c *NetworkFirewallPoliciesGetCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -63078,34 +62937,34 @@ func (c *NetworkProfilesListCall) Fields(s ...googleapi.Field) *NetworkProfilesL
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworkProfilesListCall) IfNoneMatch(entityTag string) *NetworkProfilesListCall {
+func (c *NetworkFirewallPoliciesGetCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworkProfilesListCall) Context(ctx context.Context) *NetworkProfilesListCall {
+func (c *NetworkFirewallPoliciesGetCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworkProfilesListCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworkProfilesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkFirewallPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkProfiles")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -63113,19 +62972,19 @@ func (c *NetworkProfilesListCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkProfiles.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networkProfiles.list" call.
+// Do executes the "compute.networkFirewallPolicies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkProfilesListResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworkProfilesListCall) Do(opts ...googleapi.CallOption) (*NetworkProfilesListResponse, error) {
+// *FirewallPolicy.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkFirewallPoliciesGetCall) Do(opts ...googleapi.CallOption) (*FirewallPolicy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -63144,7 +63003,7 @@ func (c *NetworkProfilesListCall) Do(opts ...googleapi.CallOption) (*NetworkProf
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkProfilesListResponse{
+ ret := &FirewallPolicy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -63155,127 +63014,99 @@ func (c *NetworkProfilesListCall) Do(opts ...googleapi.CallOption) (*NetworkProf
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkProfiles.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *NetworkProfilesListCall) Pages(ctx context.Context, f func(*NetworkProfilesListResponse) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type NetworksAddPeeringCall struct {
- s *Service
- project string
- network string
- networksaddpeeringrequest *NetworksAddPeeringRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesGetAssociationCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AddPeering: Adds a peering to the specified network.
+// GetAssociation: Gets an association with the specified name.
//
-// - network: Name of the network resource to add peering to.
-// - project: Project ID for this request.
-func (r *NetworksService) AddPeering(project string, network string, networksaddpeeringrequest *NetworksAddPeeringRequest) *NetworksAddPeeringCall {
- c := &NetworksAddPeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - firewallPolicy: Name of the firewall policy to which the queried
+// association belongs.
+// - project: Project ID for this request.
+func (r *NetworkFirewallPoliciesService) GetAssociation(project string, firewallPolicy string) *NetworkFirewallPoliciesGetAssociationCall {
+ c := &NetworkFirewallPoliciesGetAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
- c.networksaddpeeringrequest = networksaddpeeringrequest
+ c.firewallPolicy = firewallPolicy
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworksAddPeeringCall) RequestId(requestId string) *NetworksAddPeeringCall {
- c.urlParams_.Set("requestId", requestId)
+// Name sets the optional parameter "name": The name of the association to get
+// from the firewall policy.
+func (c *NetworkFirewallPoliciesGetAssociationCall) Name(name string) *NetworkFirewallPoliciesGetAssociationCall {
+ c.urlParams_.Set("name", name)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksAddPeeringCall) Fields(s ...googleapi.Field) *NetworksAddPeeringCall {
+func (c *NetworkFirewallPoliciesGetAssociationCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NetworkFirewallPoliciesGetAssociationCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetAssociationCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NetworksAddPeeringCall) Context(ctx context.Context) *NetworksAddPeeringCall {
+func (c *NetworkFirewallPoliciesGetAssociationCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksAddPeeringCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesGetAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksAddPeeringCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksaddpeeringrequest)
- if err != nil {
- return nil, err
+func (c *NetworkFirewallPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/addPeering")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.addPeering", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getAssociation", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.addPeering" call.
+// Do executes the "compute.networkFirewallPolicies.getAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksAddPeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *FirewallPolicyAssociation.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkFirewallPoliciesGetAssociationCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyAssociation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -63294,7 +63125,7 @@ func (c *NetworksAddPeeringCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &FirewallPolicyAssociation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -63305,100 +63136,99 @@ func (c *NetworksAddPeeringCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.addPeering", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksDeleteCall struct {
- s *Service
- project string
- network string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesGetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified network.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - network: Name of the network to delete.
// - project: Project ID for this request.
-func (r *NetworksService) Delete(project string, network string) *NetworksDeleteCall {
- c := &NetworksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *NetworkFirewallPoliciesService) GetIamPolicy(project string, resource string) *NetworkFirewallPoliciesGetIamPolicyCall {
+ c := &NetworkFirewallPoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
+ c.resource = resource
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworksDeleteCall) RequestId(requestId string) *NetworksDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *NetworkFirewallPoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *NetworkFirewallPoliciesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksDeleteCall) Fields(s ...googleapi.Field) *NetworksDeleteCall {
+func (c *NetworkFirewallPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NetworkFirewallPoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NetworksDeleteCall) Context(ctx context.Context) *NetworksDeleteCall {
+func (c *NetworkFirewallPoliciesGetIamPolicyCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksDeleteCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkFirewallPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.delete" call.
+// Do executes the "compute.networkFirewallPolicies.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -63417,7 +63247,7 @@ func (c *NetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -63428,35 +63258,44 @@ func (c *NetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksGetCall struct {
- s *Service
- project string
- network string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesGetPacketMirroringRuleCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified network.
+// GetPacketMirroringRule: Gets a packet mirroring rule of the specified
+// priority.
//
-// - network: Name of the network to return.
-// - project: Project ID for this request.
-func (r *NetworksService) Get(project string, network string) *NetworksGetCall {
- c := &NetworksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - firewallPolicy: Name of the firewall policy to which the queried rule
+// belongs.
+// - project: Project ID for this request.
+func (r *NetworkFirewallPoliciesService) GetPacketMirroringRule(project string, firewallPolicy string) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
+ c := &NetworkFirewallPoliciesGetPacketMirroringRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// get from the firewall policy.
+func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Priority(priority int64) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksGetCall) Fields(s ...googleapi.Field) *NetworksGetCall {
+func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -63464,34 +63303,34 @@ func (c *NetworksGetCall) Fields(s ...googleapi.Field) *NetworksGetCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworksGetCall) IfNoneMatch(entityTag string) *NetworksGetCall {
+func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksGetCall) Context(ctx context.Context) *NetworksGetCall {
+func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetPacketMirroringRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksGetCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -63499,19 +63338,20 @@ func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getPacketMirroringRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.get" call.
+// Do executes the "compute.networkFirewallPolicies.getPacketMirroringRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Network.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksGetCall) Do(opts ...googleapi.CallOption) (*Network, error) {
+// *FirewallPolicyRule.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *NetworkFirewallPoliciesGetPacketMirroringRuleCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyRule, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -63530,7 +63370,7 @@ func (c *NetworksGetCall) Do(opts ...googleapi.CallOption) (*Network, error) {
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Network{
+ ret := &FirewallPolicyRule{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -63541,35 +63381,43 @@ func (c *NetworksGetCall) Do(opts ...googleapi.CallOption) (*Network, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getPacketMirroringRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksGetEffectiveFirewallsCall struct {
- s *Service
- project string
- network string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesGetRuleCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// GetEffectiveFirewalls: Returns the effective firewalls on a given network.
+// GetRule: Gets a rule of the specified priority.
//
-// - network: Name of the network for this request.
-// - project: Project ID for this request.
-func (r *NetworksService) GetEffectiveFirewalls(project string, network string) *NetworksGetEffectiveFirewallsCall {
- c := &NetworksGetEffectiveFirewallsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - firewallPolicy: Name of the firewall policy to which the queried rule
+// belongs.
+// - project: Project ID for this request.
+func (r *NetworkFirewallPoliciesService) GetRule(project string, firewallPolicy string) *NetworkFirewallPoliciesGetRuleCall {
+ c := &NetworkFirewallPoliciesGetRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// get from the firewall policy.
+func (c *NetworkFirewallPoliciesGetRuleCall) Priority(priority int64) *NetworkFirewallPoliciesGetRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksGetEffectiveFirewallsCall) Fields(s ...googleapi.Field) *NetworksGetEffectiveFirewallsCall {
+func (c *NetworkFirewallPoliciesGetRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesGetRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -63577,34 +63425,34 @@ func (c *NetworksGetEffectiveFirewallsCall) Fields(s ...googleapi.Field) *Networ
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworksGetEffectiveFirewallsCall) IfNoneMatch(entityTag string) *NetworksGetEffectiveFirewallsCall {
+func (c *NetworkFirewallPoliciesGetRuleCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesGetRuleCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksGetEffectiveFirewallsCall) Context(ctx context.Context) *NetworksGetEffectiveFirewallsCall {
+func (c *NetworkFirewallPoliciesGetRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesGetRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksGetEffectiveFirewallsCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesGetRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkFirewallPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/getEffectiveFirewalls")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -63612,20 +63460,20 @@ func (c *NetworksGetEffectiveFirewallsCall) doRequest(alt string) (*http.Respons
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.getEffectiveFirewalls", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.getEffectiveFirewalls" call.
+// Do executes the "compute.networkFirewallPolicies.getRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworksGetEffectiveFirewallsResponse.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworksGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*NetworksGetEffectiveFirewallsResponse, error) {
+// *FirewallPolicyRule.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *NetworkFirewallPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyRule, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -63644,7 +63492,7 @@ func (c *NetworksGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*N
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworksGetEffectiveFirewallsResponse{
+ ret := &FirewallPolicyRule{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -63655,28 +63503,28 @@ func (c *NetworksGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*N
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.getEffectiveFirewalls", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.getRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksInsertCall struct {
- s *Service
- project string
- network *Network
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesInsertCall struct {
+ s *Service
+ project string
+ firewallpolicy *FirewallPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a network in the specified project using the data
-// included
-// in the request.
+// Insert: Creates a new policy in the specified project using the data
+// included in
+// the request.
//
// - project: Project ID for this request.
-func (r *NetworksService) Insert(project string, network *Network) *NetworksInsertCall {
- c := &NetworksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) Insert(project string, firewallpolicy *FirewallPolicy) *NetworkFirewallPoliciesInsertCall {
+ c := &NetworkFirewallPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
+ c.firewallpolicy = firewallpolicy
return c
}
@@ -63697,7 +63545,7 @@ func (r *NetworksService) Insert(project string, network *Network) *NetworksInse
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworksInsertCall) RequestId(requestId string) *NetworksInsertCall {
+func (c *NetworkFirewallPoliciesInsertCall) RequestId(requestId string) *NetworkFirewallPoliciesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -63705,35 +63553,35 @@ func (c *NetworksInsertCall) RequestId(requestId string) *NetworksInsertCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksInsertCall) Fields(s ...googleapi.Field) *NetworksInsertCall {
+func (c *NetworkFirewallPoliciesInsertCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksInsertCall) Context(ctx context.Context) *NetworksInsertCall {
+func (c *NetworkFirewallPoliciesInsertCall) Context(ctx context.Context) *NetworkFirewallPoliciesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksInsertCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.network)
+func (c *NetworkFirewallPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -63743,16 +63591,16 @@ func (c *NetworksInsertCall) doRequest(alt string) (*http.Response, error) {
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.insert" call.
+// Do executes the "compute.networkFirewallPolicies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -63782,11 +63630,11 @@ func (c *NetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksListCall struct {
+type NetworkFirewallPoliciesListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -63795,11 +63643,12 @@ type NetworksListCall struct {
header_ http.Header
}
-// List: Retrieves the list of networks available to the specified project.
+// List: Lists all the policies that have been configured for the specified
+// project.
//
// - project: Project ID for this request.
-func (r *NetworksService) List(project string) *NetworksListCall {
- c := &NetworksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) List(project string) *NetworkFirewallPoliciesListCall {
+ c := &NetworkFirewallPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -63871,7 +63720,7 @@ func (r *NetworksService) List(project string) *NetworksListCall {
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NetworksListCall) Filter(filter string) *NetworksListCall {
+func (c *NetworkFirewallPoliciesListCall) Filter(filter string) *NetworkFirewallPoliciesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -63883,7 +63732,7 @@ func (c *NetworksListCall) Filter(filter string) *NetworksListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworksListCall) MaxResults(maxResults int64) *NetworksListCall {
+func (c *NetworkFirewallPoliciesListCall) MaxResults(maxResults int64) *NetworkFirewallPoliciesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -63903,7 +63752,7 @@ func (c *NetworksListCall) MaxResults(maxResults int64) *NetworksListCall {
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NetworksListCall) OrderBy(orderBy string) *NetworksListCall {
+func (c *NetworkFirewallPoliciesListCall) OrderBy(orderBy string) *NetworkFirewallPoliciesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -63912,30 +63761,15 @@ func (c *NetworksListCall) OrderBy(orderBy string) *NetworksListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NetworksListCall) PageToken(pageToken string) *NetworksListCall {
+func (c *NetworkFirewallPoliciesListCall) PageToken(pageToken string) *NetworkFirewallPoliciesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksListCall) Fields(s ...googleapi.Field) *NetworksListCall {
+func (c *NetworkFirewallPoliciesListCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -63943,53 +63777,341 @@ func (c *NetworksListCall) Fields(s ...googleapi.Field) *NetworksListCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NetworksListCall) IfNoneMatch(entityTag string) *NetworksListCall {
+func (c *NetworkFirewallPoliciesListCall) IfNoneMatch(entityTag string) *NetworkFirewallPoliciesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksListCall) Context(ctx context.Context) *NetworksListCall {
+func (c *NetworkFirewallPoliciesListCall) Context(ctx context.Context) *NetworkFirewallPoliciesListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *NetworkFirewallPoliciesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *NetworkFirewallPoliciesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.list", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.networkFirewallPolicies.list" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *FirewallPolicyList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *NetworkFirewallPoliciesListCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &FirewallPolicyList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.list", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NetworkFirewallPoliciesListCall) Pages(ctx context.Context, f func(*FirewallPolicyList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type NetworkFirewallPoliciesPatchCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ firewallpolicy *FirewallPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Patches the specified policy with the data included in the request.
+//
+// - firewallPolicy: Name of the firewall policy to update.
+// - project: Project ID for this request.
+func (r *NetworkFirewallPoliciesService) Patch(project string, firewallPolicy string, firewallpolicy *FirewallPolicy) *NetworkFirewallPoliciesPatchCall {
+ c := &NetworkFirewallPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.firewallPolicy = firewallPolicy
+ c.firewallpolicy = firewallpolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworkFirewallPoliciesPatchCall) RequestId(requestId string) *NetworkFirewallPoliciesPatchCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *NetworkFirewallPoliciesPatchCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *NetworkFirewallPoliciesPatchCall) Context(ctx context.Context) *NetworkFirewallPoliciesPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *NetworkFirewallPoliciesPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *NetworkFirewallPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("PATCH", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.networkFirewallPolicies.patch" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkFirewallPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patch", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type NetworkFirewallPoliciesPatchPacketMirroringRuleCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ firewallpolicyrule *FirewallPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// PatchPacketMirroringRule: Patches a packet mirroring rule of the specified
+// priority.
+//
+// - firewallPolicy: Name of the firewall policy to update.
+// - project: Project ID for this request.
+func (r *NetworkFirewallPoliciesService) PatchPacketMirroringRule(project string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
+ c := &NetworkFirewallPoliciesPatchPacketMirroringRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.firewallPolicy = firewallPolicy
+ c.firewallpolicyrule = firewallpolicyrule
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// patch.
+func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Priority(priority int64) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesPatchPacketMirroringRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksListCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patchPacketMirroringRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.list" call.
+// Do executes the "compute.networkFirewallPolicies.patchPacketMirroringRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkList.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, error) {
+func (c *NetworkFirewallPoliciesPatchPacketMirroringRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -64008,7 +64130,7 @@ func (c *NetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, error
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -64019,268 +64141,113 @@ func (c *NetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patchPacketMirroringRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *NetworksListCall) Pages(ctx context.Context, f func(*NetworkList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type NetworksListPeeringRoutesCall struct {
- s *Service
- project string
- network string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesPatchRuleCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ firewallpolicyrule *FirewallPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListPeeringRoutes: Lists the peering routes exchanged over peering
-// connection.
+// PatchRule: Patches a rule of the specified priority.
//
-// - network: Name of the network for this request.
+// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworksService) ListPeeringRoutes(project string, network string) *NetworksListPeeringRoutesCall {
- c := &NetworksListPeeringRoutesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) PatchRule(project string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *NetworkFirewallPoliciesPatchRuleCall {
+ c := &NetworkFirewallPoliciesPatchRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
- return c
-}
-
-// Direction sets the optional parameter "direction": The direction of the
-// exchanged routes.
-//
-// Possible values:
-//
-// "INCOMING" - For routes exported from peer network.
-// "OUTGOING" - For routes exported from local network.
-func (c *NetworksListPeeringRoutesCall) Direction(direction string) *NetworksListPeeringRoutesCall {
- c.urlParams_.Set("direction", direction)
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *NetworksListPeeringRoutesCall) Filter(filter string) *NetworksListPeeringRoutesCall {
- c.urlParams_.Set("filter", filter)
+ c.firewallPolicy = firewallPolicy
+ c.firewallpolicyrule = firewallpolicyrule
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *NetworksListPeeringRoutesCall) MaxResults(maxResults int64) *NetworksListPeeringRoutesCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// Priority sets the optional parameter "priority": The priority of the rule to
+// patch.
+func (c *NetworkFirewallPoliciesPatchRuleCall) Priority(priority int64) *NetworkFirewallPoliciesPatchRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *NetworksListPeeringRoutesCall) OrderBy(orderBy string) *NetworksListPeeringRoutesCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *NetworksListPeeringRoutesCall) PageToken(pageToken string) *NetworksListPeeringRoutesCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// PeeringName sets the optional parameter "peeringName": The response will
-// show routes exchanged over the given peering connection.
-func (c *NetworksListPeeringRoutesCall) PeeringName(peeringName string) *NetworksListPeeringRoutesCall {
- c.urlParams_.Set("peeringName", peeringName)
- return c
-}
-
-// Region sets the optional parameter "region": The region of the request. The
-// response will include all subnet routes,
-// static routes and dynamic routes in the region.
-func (c *NetworksListPeeringRoutesCall) Region(region string) *NetworksListPeeringRoutesCall {
- c.urlParams_.Set("region", region)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NetworksListPeeringRoutesCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworksListPeeringRoutesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworkFirewallPoliciesPatchRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesPatchRuleCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksListPeeringRoutesCall) Fields(s ...googleapi.Field) *NetworksListPeeringRoutesCall {
+func (c *NetworkFirewallPoliciesPatchRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesPatchRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NetworksListPeeringRoutesCall) IfNoneMatch(entityTag string) *NetworksListPeeringRoutesCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *NetworksListPeeringRoutesCall) Context(ctx context.Context) *NetworksListPeeringRoutesCall {
+func (c *NetworkFirewallPoliciesPatchRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesPatchRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksListPeeringRoutesCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesPatchRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksListPeeringRoutesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *NetworkFirewallPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/listPeeringRoutes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.listPeeringRoutes", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patchRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.listPeeringRoutes" call.
+// Do executes the "compute.networkFirewallPolicies.patchRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ExchangedPeeringRoutesList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NetworksListPeeringRoutesCall) Do(opts ...googleapi.CallOption) (*ExchangedPeeringRoutesList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworkFirewallPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -64299,7 +64266,7 @@ func (c *NetworksListPeeringRoutesCall) Do(opts ...googleapi.CallOption) (*Excha
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ExchangedPeeringRoutesList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -64310,52 +64277,34 @@ func (c *NetworksListPeeringRoutesCall) Do(opts ...googleapi.CallOption) (*Excha
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.listPeeringRoutes", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.patchRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *NetworksListPeeringRoutesCall) Pages(ctx context.Context, f func(*ExchangedPeeringRoutesList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type NetworksPatchCall struct {
- s *Service
- project string
- network string
- network2 *Network
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesRemoveAssociationCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified network with the data included in the
-// request.
-// Only routingConfig can be modified.
+// RemoveAssociation: Removes an association for the specified firewall policy.
//
-// - network: Name of the network to update.
+// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworksService) Patch(project string, network string, network2 *Network) *NetworksPatchCall {
- c := &NetworksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) RemoveAssociation(project string, firewallPolicy string) *NetworkFirewallPoliciesRemoveAssociationCall {
+ c := &NetworkFirewallPoliciesRemoveAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
- c.network2 = network2
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// Name sets the optional parameter "name": Name for the attachment that will
+// be removed.
+func (c *NetworkFirewallPoliciesRemoveAssociationCall) Name(name string) *NetworkFirewallPoliciesRemoveAssociationCall {
+ c.urlParams_.Set("name", name)
return c
}
@@ -64376,7 +64325,7 @@ func (r *NetworksService) Patch(project string, network string, network2 *Networ
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworksPatchCall) RequestId(requestId string) *NetworksPatchCall {
+func (c *NetworkFirewallPoliciesRemoveAssociationCall) RequestId(requestId string) *NetworkFirewallPoliciesRemoveAssociationCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -64384,55 +64333,51 @@ func (c *NetworksPatchCall) RequestId(requestId string) *NetworksPatchCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksPatchCall) Fields(s ...googleapi.Field) *NetworksPatchCall {
+func (c *NetworkFirewallPoliciesRemoveAssociationCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesRemoveAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksPatchCall) Context(ctx context.Context) *NetworksPatchCall {
+func (c *NetworkFirewallPoliciesRemoveAssociationCall) Context(ctx context.Context) *NetworkFirewallPoliciesRemoveAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksPatchCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesRemoveAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.network2)
- if err != nil {
- return nil, err
- }
+func (c *NetworkFirewallPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removeAssociation", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.patch" call.
+// Do executes the "compute.networkFirewallPolicies.removeAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesRemoveAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -64462,29 +64407,35 @@ func (c *NetworksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removeAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksRemovePeeringCall struct {
- s *Service
- project string
- network string
- networksremovepeeringrequest *NetworksRemovePeeringRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesRemovePacketMirroringRuleCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RemovePeering: Removes a peering from the specified network.
+// RemovePacketMirroringRule: Deletes a packet mirroring rule of the specified
+// priority.
//
-// - network: Name of the network resource to remove peering from.
+// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworksService) RemovePeering(project string, network string, networksremovepeeringrequest *NetworksRemovePeeringRequest) *NetworksRemovePeeringCall {
- c := &NetworksRemovePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) RemovePacketMirroringRule(project string, firewallPolicy string) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
+ c := &NetworkFirewallPoliciesRemovePacketMirroringRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
- c.networksremovepeeringrequest = networksremovepeeringrequest
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// remove from the firewall policy.
+func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Priority(priority int64) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
@@ -64505,7 +64456,7 @@ func (r *NetworksService) RemovePeering(project string, network string, networks
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworksRemovePeeringCall) RequestId(requestId string) *NetworksRemovePeeringCall {
+func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -64513,55 +64464,51 @@ func (c *NetworksRemovePeeringCall) RequestId(requestId string) *NetworksRemoveP
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksRemovePeeringCall) Fields(s ...googleapi.Field) *NetworksRemovePeeringCall {
+func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksRemovePeeringCall) Context(ctx context.Context) *NetworksRemovePeeringCall {
+func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesRemovePacketMirroringRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksRemovePeeringCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksremovepeeringrequest)
- if err != nil {
- return nil, err
- }
+func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/removePeering")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.removePeering", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removePacketMirroringRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.removePeering" call.
+// Do executes the "compute.networkFirewallPolicies.removePacketMirroringRule" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesRemovePacketMirroringRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -64591,31 +64538,34 @@ func (c *NetworksRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.removePeering", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removePacketMirroringRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksRequestRemovePeeringCall struct {
- s *Service
- project string
- network string
- networksrequestremovepeeringrequest *NetworksRequestRemovePeeringRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesRemoveRuleCall struct {
+ s *Service
+ project string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestRemovePeering: Requests to remove a peering from the specified
-// network. Applicable only
-// for PeeringConnection with update_strategy=CONSENSUS.
+// RemoveRule: Deletes a rule of the specified priority.
//
-// - network: Name of the network resource to remove peering from.
+// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-func (r *NetworksService) RequestRemovePeering(project string, network string, networksrequestremovepeeringrequest *NetworksRequestRemovePeeringRequest) *NetworksRequestRemovePeeringCall {
- c := &NetworksRequestRemovePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkFirewallPoliciesService) RemoveRule(project string, firewallPolicy string) *NetworkFirewallPoliciesRemoveRuleCall {
+ c := &NetworkFirewallPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
- c.networksrequestremovepeeringrequest = networksrequestremovepeeringrequest
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// remove from the firewall policy.
+func (c *NetworkFirewallPoliciesRemoveRuleCall) Priority(priority int64) *NetworkFirewallPoliciesRemoveRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
@@ -64636,7 +64586,7 @@ func (r *NetworksService) RequestRemovePeering(project string, network string, n
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NetworksRequestRemovePeeringCall) RequestId(requestId string) *NetworksRequestRemovePeeringCall {
+func (c *NetworkFirewallPoliciesRemoveRuleCall) RequestId(requestId string) *NetworkFirewallPoliciesRemoveRuleCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -64644,55 +64594,51 @@ func (c *NetworksRequestRemovePeeringCall) RequestId(requestId string) *Networks
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksRequestRemovePeeringCall) Fields(s ...googleapi.Field) *NetworksRequestRemovePeeringCall {
+func (c *NetworkFirewallPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesRemoveRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksRequestRemovePeeringCall) Context(ctx context.Context) *NetworksRequestRemovePeeringCall {
+func (c *NetworkFirewallPoliciesRemoveRuleCall) Context(ctx context.Context) *NetworkFirewallPoliciesRemoveRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksRequestRemovePeeringCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesRemoveRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksRequestRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksrequestremovepeeringrequest)
- if err != nil {
- return nil, err
- }
+func (c *NetworkFirewallPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/requestRemovePeering")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.requestRemovePeering", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removeRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.requestRemovePeering" call.
+// Do executes the "compute.networkFirewallPolicies.removeRule" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksRequestRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -64722,101 +64668,86 @@ func (c *NetworksRequestRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.requestRemovePeering", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.removeRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksSwitchToCustomModeCall struct {
- s *Service
- project string
- network string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesSetIamPolicyCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetpolicyrequest *GlobalSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SwitchToCustomMode: Switches the network mode from auto subnet mode to
-// custom subnet mode.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - network: Name of the network to be updated.
// - project: Project ID for this request.
-func (r *NetworksService) SwitchToCustomMode(project string, network string) *NetworksSwitchToCustomModeCall {
- c := &NetworksSwitchToCustomModeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *NetworkFirewallPoliciesService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *NetworkFirewallPoliciesSetIamPolicyCall {
+ c := &NetworkFirewallPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworksSwitchToCustomModeCall) RequestId(requestId string) *NetworksSwitchToCustomModeCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.globalsetpolicyrequest = globalsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksSwitchToCustomModeCall) Fields(s ...googleapi.Field) *NetworksSwitchToCustomModeCall {
+func (c *NetworkFirewallPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksSwitchToCustomModeCall) Context(ctx context.Context) *NetworksSwitchToCustomModeCall {
+func (c *NetworkFirewallPoliciesSetIamPolicyCall) Context(ctx context.Context) *NetworkFirewallPoliciesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksSwitchToCustomModeCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksSwitchToCustomModeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkFirewallPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/switchToCustomMode")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.switchToCustomMode", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.switchToCustomMode" call.
+// Do executes the "compute.networkFirewallPolicies.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksSwitchToCustomModeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -64835,7 +64766,7 @@ func (c *NetworksSwitchToCustomModeCall) Do(opts ...googleapi.CallOption) (*Oper
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -64846,111 +64777,86 @@ func (c *NetworksSwitchToCustomModeCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.switchToCustomMode", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NetworksUpdatePeeringCall struct {
- s *Service
- project string
- network string
- networksupdatepeeringrequest *NetworksUpdatePeeringRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkFirewallPoliciesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// UpdatePeering: Updates the specified network peering with the data included
-// in the
-// request. You can only modify the NetworkPeering.export_custom_routes
-// field
-// and the NetworkPeering.import_custom_routes field.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - network: Name of the network resource which the updated peering is
-// belonging to.
-// - project: Project ID for this request.
-func (r *NetworksService) UpdatePeering(project string, network string, networksupdatepeeringrequest *NetworksUpdatePeeringRequest) *NetworksUpdatePeeringCall {
- c := &NetworksUpdatePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+func (r *NetworkFirewallPoliciesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *NetworkFirewallPoliciesTestIamPermissionsCall {
+ c := &NetworkFirewallPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.network = network
- c.networksupdatepeeringrequest = networksupdatepeeringrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NetworksUpdatePeeringCall) RequestId(requestId string) *NetworksUpdatePeeringCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NetworksUpdatePeeringCall) Fields(s ...googleapi.Field) *NetworksUpdatePeeringCall {
+func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *NetworkFirewallPoliciesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NetworksUpdatePeeringCall) Context(ctx context.Context) *NetworksUpdatePeeringCall {
+func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Context(ctx context.Context) *NetworkFirewallPoliciesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NetworksUpdatePeeringCall) Header() http.Header {
+func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NetworksUpdatePeeringCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksupdatepeeringrequest)
+func (c *NetworkFirewallPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/updatePeering")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "network": c.network,
+ "project": c.project,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.updatePeering", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.networks.updatePeering" call.
+// Do executes the "compute.networkFirewallPolicies.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NetworksUpdatePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -64969,7 +64875,7 @@ func (c *NetworksUpdatePeeringCall) Do(opts ...googleapi.CallOption) (*Operation
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -64980,110 +64886,90 @@ func (c *NetworksUpdatePeeringCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.updatePeering", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkFirewallPolicies.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsAddNodesCall struct {
- s *Service
- project string
- zone string
- nodeGroup string
- nodegroupsaddnodesrequest *NodeGroupsAddNodesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworkProfilesGetCall struct {
+ s *Service
+ project string
+ networkProfile string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AddNodes: Adds specified number of nodes to the node group.
+// Get: Returns the specified network profile.
//
-// - nodeGroup: Name of the NodeGroup resource.
+// - networkProfile: Name of the network profile to return.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) AddNodes(project string, zone string, nodeGroup string, nodegroupsaddnodesrequest *NodeGroupsAddNodesRequest) *NodeGroupsAddNodesCall {
- c := &NodeGroupsAddNodesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkProfilesService) Get(project string, networkProfile string) *NetworkProfilesGetCall {
+ c := &NetworkProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
- c.nodegroupsaddnodesrequest = nodegroupsaddnodesrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NodeGroupsAddNodesCall) RequestId(requestId string) *NodeGroupsAddNodesCall {
- c.urlParams_.Set("requestId", requestId)
+ c.networkProfile = networkProfile
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsAddNodesCall) Fields(s ...googleapi.Field) *NodeGroupsAddNodesCall {
+func (c *NetworkProfilesGetCall) Fields(s ...googleapi.Field) *NetworkProfilesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NetworkProfilesGetCall) IfNoneMatch(entityTag string) *NetworkProfilesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsAddNodesCall) Context(ctx context.Context) *NodeGroupsAddNodesCall {
+func (c *NetworkProfilesGetCall) Context(ctx context.Context) *NetworkProfilesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsAddNodesCall) Header() http.Header {
+func (c *NetworkProfilesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsAddNodesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupsaddnodesrequest)
- if err != nil {
- return nil, err
+func (c *NetworkProfilesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkProfiles/{networkProfile}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "networkProfile": c.networkProfile,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.addNodes", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkProfiles.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.addNodes" call.
+// Do executes the "compute.networkProfiles.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *NetworkProfile.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsAddNodesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworkProfilesGetCall) Do(opts ...googleapi.CallOption) (*NetworkProfile, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -65102,7 +64988,7 @@ func (c *NodeGroupsAddNodesCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &NetworkProfile{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -65113,11 +64999,11 @@ func (c *NodeGroupsAddNodesCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.addNodes", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkProfiles.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsAggregatedListCall struct {
+type NetworkProfilesListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -65126,16 +65012,13 @@ type NodeGroupsAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of node groups.
-// Note: use nodeGroups.listNodes for more details about each group.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// List: Retrieves a list of network profiles available to the
+// specified
+// project.
//
// - project: Project ID for this request.
-func (r *NodeGroupsService) AggregatedList(project string) *NodeGroupsAggregatedListCall {
- c := &NodeGroupsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworkProfilesService) List(project string) *NetworkProfilesListCall {
+ c := &NetworkProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -65207,29 +65090,11 @@ func (r *NodeGroupsService) AggregatedList(project string) *NodeGroupsAggregated
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NodeGroupsAggregatedListCall) Filter(filter string) *NodeGroupsAggregatedListCall {
+func (c *NetworkProfilesListCall) Filter(filter string) *NetworkProfilesListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *NodeGroupsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NodeGroupsAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -65237,7 +65102,7 @@ func (c *NodeGroupsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NodeGroupsAggregatedListCall) MaxResults(maxResults int64) *NodeGroupsAggregatedListCall {
+func (c *NetworkProfilesListCall) MaxResults(maxResults int64) *NetworkProfilesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -65257,7 +65122,7 @@ func (c *NodeGroupsAggregatedListCall) MaxResults(maxResults int64) *NodeGroupsA
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NodeGroupsAggregatedListCall) OrderBy(orderBy string) *NodeGroupsAggregatedListCall {
+func (c *NetworkProfilesListCall) OrderBy(orderBy string) *NetworkProfilesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -65266,38 +65131,15 @@ func (c *NodeGroupsAggregatedListCall) OrderBy(orderBy string) *NodeGroupsAggreg
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NodeGroupsAggregatedListCall) PageToken(pageToken string) *NodeGroupsAggregatedListCall {
+func (c *NetworkProfilesListCall) PageToken(pageToken string) *NetworkProfilesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NodeGroupsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeGroupsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *NodeGroupsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NodeGroupsAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsAggregatedListCall) Fields(s ...googleapi.Field) *NodeGroupsAggregatedListCall {
+func (c *NetworkProfilesListCall) Fields(s ...googleapi.Field) *NetworkProfilesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -65305,34 +65147,34 @@ func (c *NodeGroupsAggregatedListCall) Fields(s ...googleapi.Field) *NodeGroupsA
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NodeGroupsAggregatedListCall) IfNoneMatch(entityTag string) *NodeGroupsAggregatedListCall {
+func (c *NetworkProfilesListCall) IfNoneMatch(entityTag string) *NetworkProfilesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsAggregatedListCall) Context(ctx context.Context) *NodeGroupsAggregatedListCall {
+func (c *NetworkProfilesListCall) Context(ctx context.Context) *NetworkProfilesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsAggregatedListCall) Header() http.Header {
+func (c *NetworkProfilesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworkProfilesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/nodeGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkProfiles")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -65342,17 +65184,17 @@ func (c *NodeGroupsAggregatedListCall) doRequest(alt string) (*http.Response, er
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networkProfiles.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.aggregatedList" call.
+// Do executes the "compute.networkProfiles.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NodeGroupAggregatedList.ServerResponse.Header or (if a response was
+// *NetworkProfilesListResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *NodeGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeGroupAggregatedList, error) {
+func (c *NetworkProfilesListCall) Do(opts ...googleapi.CallOption) (*NetworkProfilesListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -65371,7 +65213,7 @@ func (c *NodeGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeGr
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NodeGroupAggregatedList{
+ ret := &NetworkProfilesListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -65382,14 +65224,14 @@ func (c *NodeGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeGr
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networkProfiles.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NodeGroupsAggregatedListCall) Pages(ctx context.Context, f func(*NodeGroupAggregatedList) error) error {
+func (c *NetworkProfilesListCall) Pages(ctx context.Context, f func(*NetworkProfilesListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -65407,26 +65249,25 @@ func (c *NodeGroupsAggregatedListCall) Pages(ctx context.Context, f func(*NodeGr
}
}
-type NodeGroupsDeleteCall struct {
- s *Service
- project string
- zone string
- nodeGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworksAddPeeringCall struct {
+ s *Service
+ project string
+ network string
+ networksaddpeeringrequest *NetworksAddPeeringRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified NodeGroup resource.
+// AddPeering: Adds a peering to the specified network.
//
-// - nodeGroup: Name of the NodeGroup resource to delete.
+// - network: Name of the network resource to add peering to.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) Delete(project string, zone string, nodeGroup string) *NodeGroupsDeleteCall {
- c := &NodeGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) AddPeering(project string, network string, networksaddpeeringrequest *NetworksAddPeeringRequest) *NetworksAddPeeringCall {
+ c := &NetworksAddPeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
+ c.network = network
+ c.networksaddpeeringrequest = networksaddpeeringrequest
return c
}
@@ -65447,7 +65288,7 @@ func (r *NodeGroupsService) Delete(project string, zone string, nodeGroup string
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NodeGroupsDeleteCall) RequestId(requestId string) *NodeGroupsDeleteCall {
+func (c *NetworksAddPeeringCall) RequestId(requestId string) *NetworksAddPeeringCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -65455,52 +65296,188 @@ func (c *NodeGroupsDeleteCall) RequestId(requestId string) *NodeGroupsDeleteCall
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsDeleteCall) Fields(s ...googleapi.Field) *NodeGroupsDeleteCall {
+func (c *NetworksAddPeeringCall) Fields(s ...googleapi.Field) *NetworksAddPeeringCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsDeleteCall) Context(ctx context.Context) *NodeGroupsDeleteCall {
+func (c *NetworksAddPeeringCall) Context(ctx context.Context) *NetworksAddPeeringCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsDeleteCall) Header() http.Header {
+func (c *NetworksAddPeeringCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworksAddPeeringCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksaddpeeringrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/addPeering")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.addPeering", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.delete" call.
+// Do executes the "compute.networks.addPeering" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworksAddPeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.addPeering", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type NetworksCancelRequestRemovePeeringCall struct {
+ s *Service
+ project string
+ network string
+ networkscancelrequestremovepeeringrequest *NetworksCancelRequestRemovePeeringRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// CancelRequestRemovePeering: Cancel requests to remove a peering from the
+// specified network. Applicable
+// only for PeeringConnection with update_strategy=CONSENSUS. Cancels
+// a
+// request to remove a peering from the specified network.
+//
+// - network: Name of the network resource to remove peering from.
+// - project: Project ID for this request.
+func (r *NetworksService) CancelRequestRemovePeering(project string, network string, networkscancelrequestremovepeeringrequest *NetworksCancelRequestRemovePeeringRequest) *NetworksCancelRequestRemovePeeringCall {
+ c := &NetworksCancelRequestRemovePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.network = network
+ c.networkscancelrequestremovepeeringrequest = networkscancelrequestremovepeeringrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworksCancelRequestRemovePeeringCall) RequestId(requestId string) *NetworksCancelRequestRemovePeeringCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *NetworksCancelRequestRemovePeeringCall) Fields(s ...googleapi.Field) *NetworksCancelRequestRemovePeeringCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *NetworksCancelRequestRemovePeeringCall) Context(ctx context.Context) *NetworksCancelRequestRemovePeeringCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *NetworksCancelRequestRemovePeeringCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *NetworksCancelRequestRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkscancelrequestremovepeeringrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/cancelRequestRemovePeering")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "network": c.network,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.cancelRequestRemovePeering", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.networks.cancelRequestRemovePeering" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NetworksCancelRequestRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -65530,32 +65507,27 @@ func (c *NodeGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.cancelRequestRemovePeering", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsDeleteNodesCall struct {
- s *Service
- project string
- zone string
- nodeGroup string
- nodegroupsdeletenodesrequest *NodeGroupsDeleteNodesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworksDeleteCall struct {
+ s *Service
+ project string
+ network string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// DeleteNodes: Deletes specified nodes from the node group.
+// Delete: Deletes the specified network.
//
-// - nodeGroup: Name of the NodeGroup resource whose nodes will be deleted.
+// - network: Name of the network to delete.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) DeleteNodes(project string, zone string, nodeGroup string, nodegroupsdeletenodesrequest *NodeGroupsDeleteNodesRequest) *NodeGroupsDeleteNodesCall {
- c := &NodeGroupsDeleteNodesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) Delete(project string, network string) *NetworksDeleteCall {
+ c := &NetworksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
- c.nodegroupsdeletenodesrequest = nodegroupsdeletenodesrequest
+ c.network = network
return c
}
@@ -65576,7 +65548,7 @@ func (r *NodeGroupsService) DeleteNodes(project string, zone string, nodeGroup s
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NodeGroupsDeleteNodesCall) RequestId(requestId string) *NodeGroupsDeleteNodesCall {
+func (c *NetworksDeleteCall) RequestId(requestId string) *NetworksDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -65584,56 +65556,51 @@ func (c *NodeGroupsDeleteNodesCall) RequestId(requestId string) *NodeGroupsDelet
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsDeleteNodesCall) Fields(s ...googleapi.Field) *NodeGroupsDeleteNodesCall {
+func (c *NetworksDeleteCall) Fields(s ...googleapi.Field) *NetworksDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsDeleteNodesCall) Context(ctx context.Context) *NodeGroupsDeleteNodesCall {
+func (c *NetworksDeleteCall) Context(ctx context.Context) *NetworksDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsDeleteNodesCall) Header() http.Header {
+func (c *NetworksDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsDeleteNodesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupsdeletenodesrequest)
- if err != nil {
- return nil, err
- }
+func (c *NetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.deleteNodes", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.deleteNodes" call.
+// Do executes the "compute.networks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsDeleteNodesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -65663,42 +65630,35 @@ func (c *NodeGroupsDeleteNodesCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.deleteNodes", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsGetCall struct {
+type NetworksGetCall struct {
s *Service
project string
- zone string
- nodeGroup string
+ network string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the specified NodeGroup. Get a list of available NodeGroups
-// by making a list() request.
-// Note: the "nodes" field should not be used. Use
-// nodeGroups.listNodes
-// instead.
+// Get: Returns the specified network.
//
-// - nodeGroup: Name of the node group to return.
+// - network: Name of the network to return.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) Get(project string, zone string, nodeGroup string) *NodeGroupsGetCall {
- c := &NodeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) Get(project string, network string) *NetworksGetCall {
+ c := &NetworksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
+ c.network = network
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsGetCall) Fields(s ...googleapi.Field) *NodeGroupsGetCall {
+func (c *NetworksGetCall) Fields(s ...googleapi.Field) *NetworksGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -65706,34 +65666,34 @@ func (c *NodeGroupsGetCall) Fields(s ...googleapi.Field) *NodeGroupsGetCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NodeGroupsGetCall) IfNoneMatch(entityTag string) *NodeGroupsGetCall {
+func (c *NetworksGetCall) IfNoneMatch(entityTag string) *NetworksGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsGetCall) Context(ctx context.Context) *NodeGroupsGetCall {
+func (c *NetworksGetCall) Context(ctx context.Context) *NetworksGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsGetCall) Header() http.Header {
+func (c *NetworksGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -65741,20 +65701,19 @@ func (c *NodeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.get" call.
+// Do executes the "compute.networks.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NodeGroup.ServerResponse.Header or (if a response was returned at all) in
+// *Network.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsGetCall) Do(opts ...googleapi.CallOption) (*NodeGroup, error) {
+func (c *NetworksGetCall) Do(opts ...googleapi.CallOption) (*Network, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -65773,7 +65732,7 @@ func (c *NodeGroupsGetCall) Do(opts ...googleapi.CallOption) (*NodeGroup, error)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NodeGroup{
+ ret := &Network{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -65784,47 +65743,35 @@ func (c *NodeGroupsGetCall) Do(opts ...googleapi.CallOption) (*NodeGroup, error)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsGetIamPolicyCall struct {
+type NetworksGetEffectiveFirewallsCall struct {
s *Service
project string
- zone string
- resource string
+ network string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// GetEffectiveFirewalls: Returns the effective firewalls on a given network.
//
+// - network: Name of the network for this request.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) GetIamPolicy(project string, zone string, resource string) *NodeGroupsGetIamPolicyCall {
- c := &NodeGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) GetEffectiveFirewalls(project string, network string) *NetworksGetEffectiveFirewallsCall {
+ c := &NetworksGetEffectiveFirewallsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.resource = resource
- return c
-}
-
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *NodeGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *NodeGroupsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+ c.network = network
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *NodeGroupsGetIamPolicyCall {
+func (c *NetworksGetEffectiveFirewallsCall) Fields(s ...googleapi.Field) *NetworksGetEffectiveFirewallsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -65832,34 +65779,34 @@ func (c *NodeGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *NodeGroupsGet
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NodeGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *NodeGroupsGetIamPolicyCall {
+func (c *NetworksGetEffectiveFirewallsCall) IfNoneMatch(entityTag string) *NetworksGetEffectiveFirewallsCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsGetIamPolicyCall) Context(ctx context.Context) *NodeGroupsGetIamPolicyCall {
+func (c *NetworksGetEffectiveFirewallsCall) Context(ctx context.Context) *NetworksGetEffectiveFirewallsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsGetIamPolicyCall) Header() http.Header {
+func (c *NetworksGetEffectiveFirewallsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworksGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/getEffectiveFirewalls")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -65867,20 +65814,20 @@ func (c *NodeGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, erro
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "resource": c.resource,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.getEffectiveFirewalls", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.getIamPolicy" call.
+// Do executes the "compute.networks.getEffectiveFirewalls" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *NetworksGetEffectiveFirewallsResponse.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworksGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*NetworksGetEffectiveFirewallsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -65899,7 +65846,7 @@ func (c *NodeGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &NetworksGetEffectiveFirewallsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -65910,33 +65857,28 @@ func (c *NodeGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.getEffectiveFirewalls", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsInsertCall struct {
+type NetworksInsertCall struct {
s *Service
project string
- zone string
- nodegroup *NodeGroup
+ network *Network
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// Insert: Creates a NodeGroup resource in the specified project using the
-// data
-// included in the request.
+// Insert: Creates a network in the specified project using the data
+// included
+// in the request.
//
-// - initialNodeCount: Initial count of nodes in the node group.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) Insert(project string, zone string, initialNodeCount int64, nodegroup *NodeGroup) *NodeGroupsInsertCall {
- c := &NodeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) Insert(project string, network *Network) *NetworksInsertCall {
+ c := &NetworksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.urlParams_.Set("initialNodeCount", fmt.Sprint(initialNodeCount))
- c.nodegroup = nodegroup
+ c.network = network
return c
}
@@ -65957,7 +65899,7 @@ func (r *NodeGroupsService) Insert(project string, zone string, initialNodeCount
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NodeGroupsInsertCall) RequestId(requestId string) *NodeGroupsInsertCall {
+func (c *NetworksInsertCall) RequestId(requestId string) *NetworksInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -65965,35 +65907,35 @@ func (c *NodeGroupsInsertCall) RequestId(requestId string) *NodeGroupsInsertCall
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsInsertCall) Fields(s ...googleapi.Field) *NodeGroupsInsertCall {
+func (c *NetworksInsertCall) Fields(s ...googleapi.Field) *NetworksInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsInsertCall) Context(ctx context.Context) *NodeGroupsInsertCall {
+func (c *NetworksInsertCall) Context(ctx context.Context) *NetworksInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsInsertCall) Header() http.Header {
+func (c *NetworksInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroup)
+func (c *NetworksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.network)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -66002,18 +65944,17 @@ func (c *NodeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.insert" call.
+// Do executes the "compute.networks.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -66043,30 +65984,25 @@ func (c *NodeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsListCall struct {
+type NetworksListCall struct {
s *Service
project string
- zone string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves a list of node groups available to the specified
-// project.
-// Note: use nodeGroups.listNodes for more details about each group.
+// List: Retrieves the list of networks available to the specified project.
//
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) List(project string, zone string) *NodeGroupsListCall {
- c := &NodeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) List(project string) *NetworksListCall {
+ c := &NetworksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
return c
}
@@ -66137,7 +66073,7 @@ func (r *NodeGroupsService) List(project string, zone string) *NodeGroupsListCal
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NodeGroupsListCall) Filter(filter string) *NodeGroupsListCall {
+func (c *NetworksListCall) Filter(filter string) *NetworksListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -66149,7 +66085,7 @@ func (c *NodeGroupsListCall) Filter(filter string) *NodeGroupsListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NodeGroupsListCall) MaxResults(maxResults int64) *NodeGroupsListCall {
+func (c *NetworksListCall) MaxResults(maxResults int64) *NetworksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -66169,7 +66105,7 @@ func (c *NodeGroupsListCall) MaxResults(maxResults int64) *NodeGroupsListCall {
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NodeGroupsListCall) OrderBy(orderBy string) *NodeGroupsListCall {
+func (c *NetworksListCall) OrderBy(orderBy string) *NetworksListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -66178,30 +66114,15 @@ func (c *NodeGroupsListCall) OrderBy(orderBy string) *NodeGroupsListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NodeGroupsListCall) PageToken(pageToken string) *NodeGroupsListCall {
+func (c *NetworksListCall) PageToken(pageToken string) *NetworksListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NodeGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsListCall) Fields(s ...googleapi.Field) *NodeGroupsListCall {
+func (c *NetworksListCall) Fields(s ...googleapi.Field) *NetworksListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -66209,34 +66130,34 @@ func (c *NodeGroupsListCall) Fields(s ...googleapi.Field) *NodeGroupsListCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NodeGroupsListCall) IfNoneMatch(entityTag string) *NodeGroupsListCall {
+func (c *NetworksListCall) IfNoneMatch(entityTag string) *NetworksListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsListCall) Context(ctx context.Context) *NodeGroupsListCall {
+func (c *NetworksListCall) Context(ctx context.Context) *NetworksListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsListCall) Header() http.Header {
+func (c *NetworksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -66245,18 +66166,17 @@ func (c *NodeGroupsListCall) doRequest(alt string) (*http.Response, error) {
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.list" call.
+// Do executes the "compute.networks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NodeGroupList.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *NetworkList.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsListCall) Do(opts ...googleapi.CallOption) (*NodeGroupList, error) {
+func (c *NetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -66275,7 +66195,7 @@ func (c *NodeGroupsListCall) Do(opts ...googleapi.CallOption) (*NodeGroupList, e
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NodeGroupList{
+ ret := &NetworkList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -66286,14 +66206,14 @@ func (c *NodeGroupsListCall) Do(opts ...googleapi.CallOption) (*NodeGroupList, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NodeGroupsListCall) Pages(ctx context.Context, f func(*NodeGroupList) error) error {
+func (c *NetworksListCall) Pages(ctx context.Context, f func(*NetworkList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -66311,26 +66231,37 @@ func (c *NodeGroupsListCall) Pages(ctx context.Context, f func(*NodeGroupList) e
}
}
-type NodeGroupsListNodesCall struct {
- s *Service
- project string
- zone string
- nodeGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworksListPeeringRoutesCall struct {
+ s *Service
+ project string
+ network string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// ListNodes: Lists nodes in the node group.
+// ListPeeringRoutes: Lists the peering routes exchanged over peering
+// connection.
//
-// - nodeGroup: Name of the NodeGroup resource whose nodes you want to list.
+// - network: Name of the network for this request.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) ListNodes(project string, zone string, nodeGroup string) *NodeGroupsListNodesCall {
- c := &NodeGroupsListNodesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) ListPeeringRoutes(project string, network string) *NetworksListPeeringRoutesCall {
+ c := &NetworksListPeeringRoutesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
+ c.network = network
+ return c
+}
+
+// Direction sets the optional parameter "direction": The direction of the
+// exchanged routes.
+//
+// Possible values:
+//
+// "INCOMING" - For routes exported from peer network.
+// "OUTGOING" - For routes exported from local network.
+func (c *NetworksListPeeringRoutesCall) Direction(direction string) *NetworksListPeeringRoutesCall {
+ c.urlParams_.Set("direction", direction)
return c
}
@@ -66401,7 +66332,7 @@ func (r *NodeGroupsService) ListNodes(project string, zone string, nodeGroup str
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NodeGroupsListNodesCall) Filter(filter string) *NodeGroupsListNodesCall {
+func (c *NetworksListPeeringRoutesCall) Filter(filter string) *NetworksListPeeringRoutesCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -66413,7 +66344,7 @@ func (c *NodeGroupsListNodesCall) Filter(filter string) *NodeGroupsListNodesCall
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NodeGroupsListNodesCall) MaxResults(maxResults int64) *NodeGroupsListNodesCall {
+func (c *NetworksListPeeringRoutesCall) MaxResults(maxResults int64) *NetworksListPeeringRoutesCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -66433,7 +66364,7 @@ func (c *NodeGroupsListNodesCall) MaxResults(maxResults int64) *NodeGroupsListNo
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NodeGroupsListNodesCall) OrderBy(orderBy string) *NodeGroupsListNodesCall {
+func (c *NetworksListPeeringRoutesCall) OrderBy(orderBy string) *NetworksListPeeringRoutesCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -66442,76 +66373,86 @@ func (c *NodeGroupsListNodesCall) OrderBy(orderBy string) *NodeGroupsListNodesCa
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NodeGroupsListNodesCall) PageToken(pageToken string) *NodeGroupsListNodesCall {
+func (c *NetworksListPeeringRoutesCall) PageToken(pageToken string) *NetworksListPeeringRoutesCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NodeGroupsListNodesCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeGroupsListNodesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// PeeringName sets the optional parameter "peeringName": The response will
+// show routes exchanged over the given peering connection.
+func (c *NetworksListPeeringRoutesCall) PeeringName(peeringName string) *NetworksListPeeringRoutesCall {
+ c.urlParams_.Set("peeringName", peeringName)
+ return c
+}
+
+// Region sets the optional parameter "region": The region of the request. The
+// response will include all subnet routes,
+// static routes and dynamic routes in the region.
+func (c *NetworksListPeeringRoutesCall) Region(region string) *NetworksListPeeringRoutesCall {
+ c.urlParams_.Set("region", region)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsListNodesCall) Fields(s ...googleapi.Field) *NodeGroupsListNodesCall {
+func (c *NetworksListPeeringRoutesCall) Fields(s ...googleapi.Field) *NetworksListPeeringRoutesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NetworksListPeeringRoutesCall) IfNoneMatch(entityTag string) *NetworksListPeeringRoutesCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsListNodesCall) Context(ctx context.Context) *NodeGroupsListNodesCall {
+func (c *NetworksListPeeringRoutesCall) Context(ctx context.Context) *NetworksListPeeringRoutesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsListNodesCall) Header() http.Header {
+func (c *NetworksListPeeringRoutesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsListNodesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NetworksListPeeringRoutesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/listPeeringRoutes")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.listNodes", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.listPeeringRoutes", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.listNodes" call.
+// Do executes the "compute.networks.listPeeringRoutes" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NodeGroupsListNodes.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *NodeGroupsListNodesCall) Do(opts ...googleapi.CallOption) (*NodeGroupsListNodes, error) {
+// *ExchangedPeeringRoutesList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworksListPeeringRoutesCall) Do(opts ...googleapi.CallOption) (*ExchangedPeeringRoutesList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -66530,7 +66471,7 @@ func (c *NodeGroupsListNodesCall) Do(opts ...googleapi.CallOption) (*NodeGroupsL
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NodeGroupsListNodes{
+ ret := &ExchangedPeeringRoutesList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -66541,14 +66482,14 @@ func (c *NodeGroupsListNodesCall) Do(opts ...googleapi.CallOption) (*NodeGroupsL
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.listNodes", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.listPeeringRoutes", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NodeGroupsListNodesCall) Pages(ctx context.Context, f func(*NodeGroupsListNodes) error) error {
+func (c *NetworksListPeeringRoutesCall) Pages(ctx context.Context, f func(*ExchangedPeeringRoutesList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -66566,28 +66507,27 @@ func (c *NodeGroupsListNodesCall) Pages(ctx context.Context, f func(*NodeGroupsL
}
}
-type NodeGroupsPatchCall struct {
+type NetworksPatchCall struct {
s *Service
project string
- zone string
- nodeGroup string
- nodegroup *NodeGroup
+ network string
+ network2 *Network
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// Patch: Updates the specified node group.
+// Patch: Patches the specified network with the data included in the
+// request.
+// Only routingConfig can be modified.
//
-// - nodeGroup: Name of the NodeGroup resource to update.
+// - network: Name of the network to update.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) Patch(project string, zone string, nodeGroup string, nodegroup *NodeGroup) *NodeGroupsPatchCall {
- c := &NodeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) Patch(project string, network string, network2 *Network) *NetworksPatchCall {
+ c := &NetworksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
- c.nodegroup = nodegroup
+ c.network = network
+ c.network2 = network2
return c
}
@@ -66608,7 +66548,7 @@ func (r *NodeGroupsService) Patch(project string, zone string, nodeGroup string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NodeGroupsPatchCall) RequestId(requestId string) *NodeGroupsPatchCall {
+func (c *NetworksPatchCall) RequestId(requestId string) *NetworksPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -66616,35 +66556,35 @@ func (c *NodeGroupsPatchCall) RequestId(requestId string) *NodeGroupsPatchCall {
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsPatchCall) Fields(s ...googleapi.Field) *NodeGroupsPatchCall {
+func (c *NetworksPatchCall) Fields(s ...googleapi.Field) *NetworksPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsPatchCall) Context(ctx context.Context) *NodeGroupsPatchCall {
+func (c *NetworksPatchCall) Context(ctx context.Context) *NetworksPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsPatchCall) Header() http.Header {
+func (c *NetworksPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroup)
+func (c *NetworksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.network2)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
@@ -66652,20 +66592,19 @@ func (c *NodeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.patch" call.
+// Do executes the "compute.networks.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -66695,33 +66634,29 @@ func (c *NodeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, erro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsPerformMaintenanceCall struct {
- s *Service
- project string
- zone string
- nodeGroup string
- nodegroupsperformmaintenancerequest *NodeGroupsPerformMaintenanceRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworksRemovePeeringCall struct {
+ s *Service
+ project string
+ network string
+ networksremovepeeringrequest *NetworksRemovePeeringRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// PerformMaintenance: Perform maintenance on a subset of nodes in the node
-// group.
+// RemovePeering: Removes a peering from the specified network.
//
-// - nodeGroup: Name of the node group scoping this request.
+// - network: Name of the network resource to remove peering from.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) PerformMaintenance(project string, zone string, nodeGroup string, nodegroupsperformmaintenancerequest *NodeGroupsPerformMaintenanceRequest) *NodeGroupsPerformMaintenanceCall {
- c := &NodeGroupsPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) RemovePeering(project string, network string, networksremovepeeringrequest *NetworksRemovePeeringRequest) *NetworksRemovePeeringCall {
+ c := &NetworksRemovePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
- c.nodegroupsperformmaintenancerequest = nodegroupsperformmaintenancerequest
+ c.network = network
+ c.networksremovepeeringrequest = networksremovepeeringrequest
return c
}
@@ -66742,7 +66677,7 @@ func (r *NodeGroupsService) PerformMaintenance(project string, zone string, node
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NodeGroupsPerformMaintenanceCall) RequestId(requestId string) *NodeGroupsPerformMaintenanceCall {
+func (c *NetworksRemovePeeringCall) RequestId(requestId string) *NetworksRemovePeeringCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -66750,35 +66685,35 @@ func (c *NodeGroupsPerformMaintenanceCall) RequestId(requestId string) *NodeGrou
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsPerformMaintenanceCall) Fields(s ...googleapi.Field) *NodeGroupsPerformMaintenanceCall {
+func (c *NetworksRemovePeeringCall) Fields(s ...googleapi.Field) *NetworksRemovePeeringCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsPerformMaintenanceCall) Context(ctx context.Context) *NodeGroupsPerformMaintenanceCall {
+func (c *NetworksRemovePeeringCall) Context(ctx context.Context) *NetworksRemovePeeringCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsPerformMaintenanceCall) Header() http.Header {
+func (c *NetworksRemovePeeringCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupsperformmaintenancerequest)
+func (c *NetworksRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksremovepeeringrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/removePeering")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -66786,20 +66721,19 @@ func (c *NodeGroupsPerformMaintenanceCall) doRequest(alt string) (*http.Response
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.performMaintenance", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.removePeering", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.performMaintenance" call.
+// Do executes the "compute.networks.removePeering" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworksRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -66829,69 +66763,88 @@ func (c *NodeGroupsPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.performMaintenance", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.removePeering", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsSetIamPolicyCall struct {
- s *Service
- project string
- zone string
- resource string
- zonesetpolicyrequest *ZoneSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworksRequestRemovePeeringCall struct {
+ s *Service
+ project string
+ network string
+ networksrequestremovepeeringrequest *NetworksRequestRemovePeeringRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// RequestRemovePeering: Requests to remove a peering from the specified
+// network. Applicable only
+// for PeeringConnection with update_strategy=CONSENSUS.
//
+// - network: Name of the network resource to remove peering from.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *NodeGroupsSetIamPolicyCall {
- c := &NodeGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) RequestRemovePeering(project string, network string, networksrequestremovepeeringrequest *NetworksRequestRemovePeeringRequest) *NetworksRequestRemovePeeringCall {
+ c := &NetworksRequestRemovePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.resource = resource
- c.zonesetpolicyrequest = zonesetpolicyrequest
+ c.network = network
+ c.networksrequestremovepeeringrequest = networksrequestremovepeeringrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NetworksRequestRemovePeeringCall) RequestId(requestId string) *NetworksRequestRemovePeeringCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *NodeGroupsSetIamPolicyCall {
+func (c *NetworksRequestRemovePeeringCall) Fields(s ...googleapi.Field) *NetworksRequestRemovePeeringCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsSetIamPolicyCall) Context(ctx context.Context) *NodeGroupsSetIamPolicyCall {
+func (c *NetworksRequestRemovePeeringCall) Context(ctx context.Context) *NetworksRequestRemovePeeringCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsSetIamPolicyCall) Header() http.Header {
+func (c *NetworksRequestRemovePeeringCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
+func (c *NetworksRequestRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksrequestremovepeeringrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/requestRemovePeering")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -66899,20 +66852,19 @@ func (c *NodeGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, erro
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "resource": c.resource,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.requestRemovePeering", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.setIamPolicy" call.
+// Do executes the "compute.networks.requestRemovePeering" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *NetworksRequestRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -66931,7 +66883,7 @@ func (c *NodeGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -66942,32 +66894,28 @@ func (c *NodeGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.requestRemovePeering", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsSetNodeTemplateCall struct {
- s *Service
- project string
- zone string
- nodeGroup string
- nodegroupssetnodetemplaterequest *NodeGroupsSetNodeTemplateRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworksSwitchToCustomModeCall struct {
+ s *Service
+ project string
+ network string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetNodeTemplate: Updates the node template of the node group.
+// SwitchToCustomMode: Switches the network mode from auto subnet mode to
+// custom subnet mode.
//
-// - nodeGroup: Name of the NodeGroup resource to update.
+// - network: Name of the network to be updated.
// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) SetNodeTemplate(project string, zone string, nodeGroup string, nodegroupssetnodetemplaterequest *NodeGroupsSetNodeTemplateRequest) *NodeGroupsSetNodeTemplateCall {
- c := &NodeGroupsSetNodeTemplateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NetworksService) SwitchToCustomMode(project string, network string) *NetworksSwitchToCustomModeCall {
+ c := &NetworksSwitchToCustomModeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
- c.nodegroupssetnodetemplaterequest = nodegroupssetnodetemplaterequest
+ c.network = network
return c
}
@@ -66988,7 +66936,7 @@ func (r *NodeGroupsService) SetNodeTemplate(project string, zone string, nodeGro
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NodeGroupsSetNodeTemplateCall) RequestId(requestId string) *NodeGroupsSetNodeTemplateCall {
+func (c *NetworksSwitchToCustomModeCall) RequestId(requestId string) *NetworksSwitchToCustomModeCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -66996,56 +66944,51 @@ func (c *NodeGroupsSetNodeTemplateCall) RequestId(requestId string) *NodeGroupsS
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsSetNodeTemplateCall) Fields(s ...googleapi.Field) *NodeGroupsSetNodeTemplateCall {
+func (c *NetworksSwitchToCustomModeCall) Fields(s ...googleapi.Field) *NetworksSwitchToCustomModeCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsSetNodeTemplateCall) Context(ctx context.Context) *NodeGroupsSetNodeTemplateCall {
+func (c *NetworksSwitchToCustomModeCall) Context(ctx context.Context) *NetworksSwitchToCustomModeCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsSetNodeTemplateCall) Header() http.Header {
+func (c *NetworksSwitchToCustomModeCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsSetNodeTemplateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupssetnodetemplaterequest)
- if err != nil {
- return nil, err
- }
+func (c *NetworksSwitchToCustomModeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/switchToCustomMode")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.setNodeTemplate", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.switchToCustomMode", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.setNodeTemplate" call.
+// Do executes the "compute.networks.switchToCustomMode" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsSetNodeTemplateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworksSwitchToCustomModeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -67075,36 +67018,34 @@ func (c *NodeGroupsSetNodeTemplateCall) Do(opts ...googleapi.CallOption) (*Opera
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.setNodeTemplate", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.switchToCustomMode", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsSimulateMaintenanceEventCall struct {
- s *Service
- project string
- zone string
- nodeGroup string
- nodegroupssimulatemaintenanceeventrequest *NodeGroupsSimulateMaintenanceEventRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NetworksUpdatePeeringCall struct {
+ s *Service
+ project string
+ network string
+ networksupdatepeeringrequest *NetworksUpdatePeeringRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SimulateMaintenanceEvent: Simulates maintenance event on specified nodes
-// from the node group.
-//
-// - nodeGroup: Name of the NodeGroup resource whose nodes will go under
-// maintenance
+// UpdatePeering: Updates the specified network peering with the data included
+// in the
+// request. You can only modify the NetworkPeering.export_custom_routes
+// field
+// and the NetworkPeering.import_custom_routes field.
//
-// simulation.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) SimulateMaintenanceEvent(project string, zone string, nodeGroup string, nodegroupssimulatemaintenanceeventrequest *NodeGroupsSimulateMaintenanceEventRequest) *NodeGroupsSimulateMaintenanceEventCall {
- c := &NodeGroupsSimulateMaintenanceEventCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - network: Name of the network resource which the updated peering is
+// belonging to.
+// - project: Project ID for this request.
+func (r *NetworksService) UpdatePeering(project string, network string, networksupdatepeeringrequest *NetworksUpdatePeeringRequest) *NetworksUpdatePeeringCall {
+ c := &NetworksUpdatePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.nodeGroup = nodeGroup
- c.nodegroupssimulatemaintenanceeventrequest = nodegroupssimulatemaintenanceeventrequest
+ c.network = network
+ c.networksupdatepeeringrequest = networksupdatepeeringrequest
return c
}
@@ -67125,7 +67066,7 @@ func (r *NodeGroupsService) SimulateMaintenanceEvent(project string, zone string
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NodeGroupsSimulateMaintenanceEventCall) RequestId(requestId string) *NodeGroupsSimulateMaintenanceEventCall {
+func (c *NetworksUpdatePeeringCall) RequestId(requestId string) *NetworksUpdatePeeringCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -67133,56 +67074,55 @@ func (c *NodeGroupsSimulateMaintenanceEventCall) RequestId(requestId string) *No
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsSimulateMaintenanceEventCall) Fields(s ...googleapi.Field) *NodeGroupsSimulateMaintenanceEventCall {
+func (c *NetworksUpdatePeeringCall) Fields(s ...googleapi.Field) *NetworksUpdatePeeringCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsSimulateMaintenanceEventCall) Context(ctx context.Context) *NodeGroupsSimulateMaintenanceEventCall {
+func (c *NetworksUpdatePeeringCall) Context(ctx context.Context) *NetworksUpdatePeeringCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsSimulateMaintenanceEventCall) Header() http.Header {
+func (c *NetworksUpdatePeeringCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsSimulateMaintenanceEventCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupssimulatemaintenanceeventrequest)
+func (c *NetworksUpdatePeeringCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksupdatepeeringrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/updatePeering")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeGroup": c.nodeGroup,
+ "project": c.project,
+ "network": c.network,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.simulateMaintenanceEvent", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.updatePeering", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.simulateMaintenanceEvent" call.
+// Do executes the "compute.networks.updatePeering" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeGroupsSimulateMaintenanceEventCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NetworksUpdatePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -67212,68 +67152,89 @@ func (c *NodeGroupsSimulateMaintenanceEventCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.simulateMaintenanceEvent", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.updatePeering", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeGroupsTestIamPermissionsCall struct {
- s *Service
- project string
- zone string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsAddNodesCall struct {
+ s *Service
+ project string
+ zone string
+ nodeGroup string
+ nodegroupsaddnodesrequest *NodeGroupsAddNodesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// AddNodes: Adds specified number of nodes to the node group.
//
+// - nodeGroup: Name of the NodeGroup resource.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *NodeGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *NodeGroupsTestIamPermissionsCall {
- c := &NodeGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NodeGroupsService) AddNodes(project string, zone string, nodeGroup string, nodegroupsaddnodesrequest *NodeGroupsAddNodesRequest) *NodeGroupsAddNodesCall {
+ c := &NodeGroupsAddNodesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.nodeGroup = nodeGroup
+ c.nodegroupsaddnodesrequest = nodegroupsaddnodesrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NodeGroupsAddNodesCall) RequestId(requestId string) *NodeGroupsAddNodesCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *NodeGroupsTestIamPermissionsCall {
+func (c *NodeGroupsAddNodesCall) Fields(s ...googleapi.Field) *NodeGroupsAddNodesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeGroupsTestIamPermissionsCall) Context(ctx context.Context) *NodeGroupsTestIamPermissionsCall {
+func (c *NodeGroupsAddNodesCall) Context(ctx context.Context) *NodeGroupsAddNodesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeGroupsTestIamPermissionsCall) Header() http.Header {
+func (c *NodeGroupsAddNodesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *NodeGroupsAddNodesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupsaddnodesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -67281,21 +67242,20 @@ func (c *NodeGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.addNodes", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeGroups.testIamPermissions" call.
+// Do executes the "compute.nodeGroups.addNodes" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NodeGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeGroupsAddNodesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -67314,7 +67274,7 @@ func (c *NodeGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Te
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -67325,11 +67285,11 @@ func (c *NodeGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Te
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.addNodes", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeTemplatesAggregatedListCall struct {
+type NodeGroupsAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -67338,15 +67298,16 @@ type NodeTemplatesAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of node templates.
+// AggregatedList: Retrieves an aggregated list of node groups.
+// Note: use nodeGroups.listNodes for more details about each group.
//
// To prevent failure, Google recommends that you set
// the
// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-func (r *NodeTemplatesService) AggregatedList(project string) *NodeTemplatesAggregatedListCall {
- c := &NodeTemplatesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NodeGroupsService) AggregatedList(project string) *NodeGroupsAggregatedListCall {
+ c := &NodeGroupsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -67418,7 +67379,7 @@ func (r *NodeTemplatesService) AggregatedList(project string) *NodeTemplatesAggr
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NodeTemplatesAggregatedListCall) Filter(filter string) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) Filter(filter string) *NodeGroupsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -67436,7 +67397,7 @@ func (c *NodeTemplatesAggregatedListCall) Filter(filter string) *NodeTemplatesAg
// scopes of the scope types where the resource type is expected to be
// found
// will be included.
-func (c *NodeTemplatesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NodeGroupsAggregatedListCall {
c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
return c
}
@@ -67448,7 +67409,7 @@ func (c *NodeTemplatesAggregatedListCall) IncludeAllScopes(includeAllScopes bool
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NodeTemplatesAggregatedListCall) MaxResults(maxResults int64) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) MaxResults(maxResults int64) *NodeGroupsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -67468,7 +67429,7 @@ func (c *NodeTemplatesAggregatedListCall) MaxResults(maxResults int64) *NodeTemp
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NodeTemplatesAggregatedListCall) OrderBy(orderBy string) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) OrderBy(orderBy string) *NodeGroupsAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -67477,30 +67438,15 @@ func (c *NodeTemplatesAggregatedListCall) OrderBy(orderBy string) *NodeTemplates
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NodeTemplatesAggregatedListCall) PageToken(pageToken string) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) PageToken(pageToken string) *NodeGroupsAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NodeTemplatesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeTemplatesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
-func (c *NodeTemplatesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NodeGroupsAggregatedListCall {
c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
@@ -67508,7 +67454,7 @@ func (c *NodeTemplatesAggregatedListCall) ServiceProjectNumber(serviceProjectNum
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeTemplatesAggregatedListCall) Fields(s ...googleapi.Field) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) Fields(s ...googleapi.Field) *NodeGroupsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -67516,34 +67462,34 @@ func (c *NodeTemplatesAggregatedListCall) Fields(s ...googleapi.Field) *NodeTemp
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NodeTemplatesAggregatedListCall) IfNoneMatch(entityTag string) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) IfNoneMatch(entityTag string) *NodeGroupsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeTemplatesAggregatedListCall) Context(ctx context.Context) *NodeTemplatesAggregatedListCall {
+func (c *NodeGroupsAggregatedListCall) Context(ctx context.Context) *NodeGroupsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeTemplatesAggregatedListCall) Header() http.Header {
+func (c *NodeGroupsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeTemplatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/nodeTemplates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/nodeGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -67553,17 +67499,17 @@ func (c *NodeTemplatesAggregatedListCall) doRequest(alt string) (*http.Response,
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeTemplates.aggregatedList" call.
+// Do executes the "compute.nodeGroups.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NodeTemplateAggregatedList.ServerResponse.Header or (if a response was
+// *NodeGroupAggregatedList.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *NodeTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeTemplateAggregatedList, error) {
+func (c *NodeGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeGroupAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -67582,7 +67528,7 @@ func (c *NodeTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Nod
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NodeTemplateAggregatedList{
+ ret := &NodeGroupAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -67593,14 +67539,14 @@ func (c *NodeTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Nod
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NodeTemplatesAggregatedListCall) Pages(ctx context.Context, f func(*NodeTemplateAggregatedList) error) error {
+func (c *NodeGroupsAggregatedListCall) Pages(ctx context.Context, f func(*NodeGroupAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -67618,343 +67564,100 @@ func (c *NodeTemplatesAggregatedListCall) Pages(ctx context.Context, f func(*Nod
}
}
-type NodeTemplatesDeleteCall struct {
- s *Service
- project string
- region string
- nodeTemplate string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Delete: Deletes the specified NodeTemplate resource.
-//
-// - nodeTemplate: Name of the NodeTemplate resource to delete.
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *NodeTemplatesService) Delete(project string, region string, nodeTemplate string) *NodeTemplatesDeleteCall {
- c := &NodeTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.nodeTemplate = nodeTemplate
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *NodeTemplatesDeleteCall) RequestId(requestId string) *NodeTemplatesDeleteCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *NodeTemplatesDeleteCall) Fields(s ...googleapi.Field) *NodeTemplatesDeleteCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *NodeTemplatesDeleteCall) Context(ctx context.Context) *NodeTemplatesDeleteCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *NodeTemplatesDeleteCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *NodeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "nodeTemplate": c.nodeTemplate,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.delete", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.nodeTemplates.delete" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.delete", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type NodeTemplatesGetCall struct {
- s *Service
- project string
- region string
- nodeTemplate string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// Get: Returns the specified node template.
-//
-// - nodeTemplate: Name of the node template to return.
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *NodeTemplatesService) Get(project string, region string, nodeTemplate string) *NodeTemplatesGetCall {
- c := &NodeTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.nodeTemplate = nodeTemplate
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *NodeTemplatesGetCall) Fields(s ...googleapi.Field) *NodeTemplatesGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NodeTemplatesGetCall) IfNoneMatch(entityTag string) *NodeTemplatesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *NodeTemplatesGetCall) Context(ctx context.Context) *NodeTemplatesGetCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *NodeTemplatesGetCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *NodeTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "nodeTemplate": c.nodeTemplate,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.get", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.nodeTemplates.get" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *NodeTemplate.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeTemplatesGetCall) Do(opts ...googleapi.CallOption) (*NodeTemplate, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &NodeTemplate{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.get", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type NodeTemplatesGetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsDeleteCall struct {
+ s *Service
+ project string
+ zone string
+ nodeGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// Delete: Deletes the specified NodeGroup resource.
//
+// - nodeGroup: Name of the NodeGroup resource to delete.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *NodeTemplatesService) GetIamPolicy(project string, region string, resource string) *NodeTemplatesGetIamPolicyCall {
- c := &NodeTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) Delete(project string, zone string, nodeGroup string) *NodeGroupsDeleteCall {
+ c := &NodeGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resource = resource
+ c.zone = zone
+ c.nodeGroup = nodeGroup
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *NodeTemplatesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *NodeTemplatesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NodeGroupsDeleteCall) RequestId(requestId string) *NodeGroupsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *NodeTemplatesGetIamPolicyCall {
+func (c *NodeGroupsDeleteCall) Fields(s ...googleapi.Field) *NodeGroupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NodeTemplatesGetIamPolicyCall) IfNoneMatch(entityTag string) *NodeTemplatesGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *NodeTemplatesGetIamPolicyCall) Context(ctx context.Context) *NodeTemplatesGetIamPolicyCall {
+func (c *NodeGroupsDeleteCall) Context(ctx context.Context) *NodeGroupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeTemplatesGetIamPolicyCall) Header() http.Header {
+func (c *NodeGroupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *NodeGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeTemplates.getIamPolicy" call.
+// Do executes the "compute.nodeGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *NodeGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -67973,7 +67676,7 @@ func (c *NodeTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Polic
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -67984,31 +67687,32 @@ func (c *NodeTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Polic
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeTemplatesInsertCall struct {
- s *Service
- project string
- region string
- nodetemplate *NodeTemplate
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsDeleteNodesCall struct {
+ s *Service
+ project string
+ zone string
+ nodeGroup string
+ nodegroupsdeletenodesrequest *NodeGroupsDeleteNodesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a NodeTemplate resource in the specified project using the
-// data
-// included in the request.
+// DeleteNodes: Deletes specified nodes from the node group.
//
+// - nodeGroup: Name of the NodeGroup resource whose nodes will be deleted.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *NodeTemplatesService) Insert(project string, region string, nodetemplate *NodeTemplate) *NodeTemplatesInsertCall {
- c := &NodeTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) DeleteNodes(project string, zone string, nodeGroup string, nodegroupsdeletenodesrequest *NodeGroupsDeleteNodesRequest) *NodeGroupsDeleteNodesCall {
+ c := &NodeGroupsDeleteNodesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.nodetemplate = nodetemplate
+ c.zone = zone
+ c.nodeGroup = nodeGroup
+ c.nodegroupsdeletenodesrequest = nodegroupsdeletenodesrequest
return c
}
@@ -68029,7 +67733,7 @@ func (r *NodeTemplatesService) Insert(project string, region string, nodetemplat
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *NodeTemplatesInsertCall) RequestId(requestId string) *NodeTemplatesInsertCall {
+func (c *NodeGroupsDeleteNodesCall) RequestId(requestId string) *NodeGroupsDeleteNodesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -68037,35 +67741,35 @@ func (c *NodeTemplatesInsertCall) RequestId(requestId string) *NodeTemplatesInse
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeTemplatesInsertCall) Fields(s ...googleapi.Field) *NodeTemplatesInsertCall {
+func (c *NodeGroupsDeleteNodesCall) Fields(s ...googleapi.Field) *NodeGroupsDeleteNodesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeTemplatesInsertCall) Context(ctx context.Context) *NodeTemplatesInsertCall {
+func (c *NodeGroupsDeleteNodesCall) Context(ctx context.Context) *NodeGroupsDeleteNodesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeTemplatesInsertCall) Header() http.Header {
+func (c *NodeGroupsDeleteNodesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodetemplate)
+func (c *NodeGroupsDeleteNodesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupsdeletenodesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -68073,19 +67777,20 @@ func (c *NodeTemplatesInsertCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.deleteNodes", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeTemplates.insert" call.
+// Do executes the "compute.nodeGroups.deleteNodes" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NodeGroupsDeleteNodesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -68115,164 +67820,42 @@ func (c *NodeTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.deleteNodes", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeTemplatesListCall struct {
+type NodeGroupsGetCall struct {
s *Service
project string
- region string
+ zone string
+ nodeGroup string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves a list of node templates available to the specified
-// project.
+// Get: Returns the specified NodeGroup. Get a list of available NodeGroups
+// by making a list() request.
+// Note: the "nodes" field should not be used. Use
+// nodeGroups.listNodes
+// instead.
//
+// - nodeGroup: Name of the node group to return.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *NodeTemplatesService) List(project string, region string) *NodeTemplatesListCall {
- c := &NodeTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) Get(project string, zone string, nodeGroup string) *NodeGroupsGetCall {
+ c := &NodeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *NodeTemplatesListCall) Filter(filter string) *NodeTemplatesListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *NodeTemplatesListCall) MaxResults(maxResults int64) *NodeTemplatesListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *NodeTemplatesListCall) OrderBy(orderBy string) *NodeTemplatesListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *NodeTemplatesListCall) PageToken(pageToken string) *NodeTemplatesListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NodeTemplatesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeTemplatesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+ c.zone = zone
+ c.nodeGroup = nodeGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeTemplatesListCall) Fields(s ...googleapi.Field) *NodeTemplatesListCall {
+func (c *NodeGroupsGetCall) Fields(s ...googleapi.Field) *NodeGroupsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -68280,34 +67863,34 @@ func (c *NodeTemplatesListCall) Fields(s ...googleapi.Field) *NodeTemplatesListC
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NodeTemplatesListCall) IfNoneMatch(entityTag string) *NodeTemplatesListCall {
+func (c *NodeGroupsGetCall) IfNoneMatch(entityTag string) *NodeGroupsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeTemplatesListCall) Context(ctx context.Context) *NodeTemplatesListCall {
+func (c *NodeGroupsGetCall) Context(ctx context.Context) *NodeGroupsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeTemplatesListCall) Header() http.Header {
+func (c *NodeGroupsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeTemplatesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -68315,20 +67898,20 @@ func (c *NodeTemplatesListCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeTemplates.list" call.
+// Do executes the "compute.nodeGroups.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NodeTemplateList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *NodeTemplatesListCall) Do(opts ...googleapi.CallOption) (*NodeTemplateList, error) {
+// *NodeGroup.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeGroupsGetCall) Do(opts ...googleapi.CallOption) (*NodeGroup, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -68347,7 +67930,7 @@ func (c *NodeTemplatesListCall) Do(opts ...googleapi.CallOption) (*NodeTemplateL
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NodeTemplateList{
+ ret := &NodeGroup{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -68358,111 +67941,103 @@ func (c *NodeTemplatesListCall) Do(opts ...googleapi.CallOption) (*NodeTemplateL
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *NodeTemplatesListCall) Pages(ctx context.Context, f func(*NodeTemplateList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type NodeTemplatesSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsGetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *NodeTemplatesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *NodeTemplatesSetIamPolicyCall {
- c := &NodeTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) GetIamPolicy(project string, zone string, resource string) *NodeGroupsGetIamPolicyCall {
+ c := &NodeGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
+ c.zone = zone
c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *NodeGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *NodeGroupsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *NodeTemplatesSetIamPolicyCall {
+func (c *NodeGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *NodeGroupsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NodeGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *NodeGroupsGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *NodeTemplatesSetIamPolicyCall) Context(ctx context.Context) *NodeTemplatesSetIamPolicyCall {
+func (c *NodeGroupsGetIamPolicyCall) Context(ctx context.Context) *NodeGroupsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeTemplatesSetIamPolicyCall) Header() http.Header {
+func (c *NodeGroupsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
- if err != nil {
- return nil, err
+func (c *NodeGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
+ "zone": c.zone,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeTemplates.setIamPolicy" call.
+// Do executes the "compute.nodeGroups.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *NodeGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -68492,68 +68067,90 @@ func (c *NodeTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Polic
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeTemplatesTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsInsertCall struct {
+ s *Service
+ project string
+ zone string
+ nodegroup *NodeGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Insert: Creates a NodeGroup resource in the specified project using the
+// data
+// included in the request.
//
+// - initialNodeCount: Initial count of nodes in the node group.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *NodeTemplatesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *NodeTemplatesTestIamPermissionsCall {
- c := &NodeTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) Insert(project string, zone string, initialNodeCount int64, nodegroup *NodeGroup) *NodeGroupsInsertCall {
+ c := &NodeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.zone = zone
+ c.urlParams_.Set("initialNodeCount", fmt.Sprint(initialNodeCount))
+ c.nodegroup = nodegroup
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NodeGroupsInsertCall) RequestId(requestId string) *NodeGroupsInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *NodeTemplatesTestIamPermissionsCall {
+func (c *NodeGroupsInsertCall) Fields(s ...googleapi.Field) *NodeGroupsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeTemplatesTestIamPermissionsCall) Context(ctx context.Context) *NodeTemplatesTestIamPermissionsCall {
+func (c *NodeGroupsInsertCall) Context(ctx context.Context) *NodeGroupsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeTemplatesTestIamPermissionsCall) Header() http.Header {
+func (c *NodeGroupsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *NodeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroup)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -68561,21 +68158,19 @@ func (c *NodeTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Respo
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeTemplates.testIamPermissions" call.
+// Do executes the "compute.nodeGroups.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *NodeTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -68594,7 +68189,7 @@ func (c *NodeTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -68605,29 +68200,30 @@ func (c *NodeTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type NodeTypesAggregatedListCall struct {
+type NodeGroupsListCall struct {
s *Service
project string
+ zone string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of node types.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// List: Retrieves a list of node groups available to the specified
+// project.
+// Note: use nodeGroups.listNodes for more details about each group.
//
// - project: Project ID for this request.
-func (r *NodeTypesService) AggregatedList(project string) *NodeTypesAggregatedListCall {
- c := &NodeTypesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) List(project string, zone string) *NodeGroupsListCall {
+ c := &NodeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
return c
}
@@ -68698,29 +68294,11 @@ func (r *NodeTypesService) AggregatedList(project string) *NodeTypesAggregatedLi
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NodeTypesAggregatedListCall) Filter(filter string) *NodeTypesAggregatedListCall {
+func (c *NodeGroupsListCall) Filter(filter string) *NodeGroupsListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *NodeTypesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NodeTypesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -68728,7 +68306,7 @@ func (c *NodeTypesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *N
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NodeTypesAggregatedListCall) MaxResults(maxResults int64) *NodeTypesAggregatedListCall {
+func (c *NodeGroupsListCall) MaxResults(maxResults int64) *NodeGroupsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -68748,7 +68326,7 @@ func (c *NodeTypesAggregatedListCall) MaxResults(maxResults int64) *NodeTypesAgg
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NodeTypesAggregatedListCall) OrderBy(orderBy string) *NodeTypesAggregatedListCall {
+func (c *NodeGroupsListCall) OrderBy(orderBy string) *NodeGroupsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -68757,38 +68335,15 @@ func (c *NodeTypesAggregatedListCall) OrderBy(orderBy string) *NodeTypesAggregat
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NodeTypesAggregatedListCall) PageToken(pageToken string) *NodeTypesAggregatedListCall {
+func (c *NodeGroupsListCall) PageToken(pageToken string) *NodeGroupsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NodeTypesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeTypesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *NodeTypesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NodeTypesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeTypesAggregatedListCall) Fields(s ...googleapi.Field) *NodeTypesAggregatedListCall {
+func (c *NodeGroupsListCall) Fields(s ...googleapi.Field) *NodeGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -68796,34 +68351,34 @@ func (c *NodeTypesAggregatedListCall) Fields(s ...googleapi.Field) *NodeTypesAgg
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *NodeTypesAggregatedListCall) IfNoneMatch(entityTag string) *NodeTypesAggregatedListCall {
+func (c *NodeGroupsListCall) IfNoneMatch(entityTag string) *NodeGroupsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *NodeTypesAggregatedListCall) Context(ctx context.Context) *NodeTypesAggregatedListCall {
+func (c *NodeGroupsListCall) Context(ctx context.Context) *NodeGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeTypesAggregatedListCall) Header() http.Header {
+func (c *NodeGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/nodeTypes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -68832,18 +68387,18 @@ func (c *NodeTypesAggregatedListCall) doRequest(alt string) (*http.Response, err
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTypes.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeTypes.aggregatedList" call.
+// Do executes the "compute.nodeGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NodeTypeAggregatedList.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *NodeTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeTypeAggregatedList, error) {
+// *NodeGroupList.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeGroupsListCall) Do(opts ...googleapi.CallOption) (*NodeGroupList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -68862,7 +68417,7 @@ func (c *NodeTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeTyp
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NodeTypeAggregatedList{
+ ret := &NodeGroupList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -68873,14 +68428,14 @@ func (c *NodeTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeTyp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTypes.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NodeTypesAggregatedListCall) Pages(ctx context.Context, f func(*NodeTypeAggregatedList) error) error {
+func (c *NodeGroupsListCall) Pages(ctx context.Context, f func(*NodeGroupList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -68898,142 +68453,26 @@ func (c *NodeTypesAggregatedListCall) Pages(ctx context.Context, f func(*NodeTyp
}
}
-type NodeTypesGetCall struct {
- s *Service
- project string
- zone string
- nodeType string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// Get: Returns the specified node type.
-//
-// - nodeType: Name of the node type to return.
-// - project: Project ID for this request.
-// - zone: The name of the zone for this request.
-func (r *NodeTypesService) Get(project string, zone string, nodeType string) *NodeTypesGetCall {
- c := &NodeTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.nodeType = nodeType
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *NodeTypesGetCall) Fields(s ...googleapi.Field) *NodeTypesGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NodeTypesGetCall) IfNoneMatch(entityTag string) *NodeTypesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *NodeTypesGetCall) Context(ctx context.Context) *NodeTypesGetCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *NodeTypesGetCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *NodeTypesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeTypes/{nodeType}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "nodeType": c.nodeType,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTypes.get", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.nodeTypes.get" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *NodeType.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeTypesGetCall) Do(opts ...googleapi.CallOption) (*NodeType, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &NodeType{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTypes.get", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type NodeTypesListCall struct {
- s *Service
- project string
- zone string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsListNodesCall struct {
+ s *Service
+ project string
+ zone string
+ nodeGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves a list of node types available to the specified
-// project.
+// ListNodes: Lists nodes in the node group.
//
+// - nodeGroup: Name of the NodeGroup resource whose nodes you want to list.
// - project: Project ID for this request.
// - zone: The name of the zone for this request.
-func (r *NodeTypesService) List(project string, zone string) *NodeTypesListCall {
- c := &NodeTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *NodeGroupsService) ListNodes(project string, zone string, nodeGroup string) *NodeGroupsListNodesCall {
+ c := &NodeGroupsListNodesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
+ c.nodeGroup = nodeGroup
return c
}
@@ -69104,7 +68543,7 @@ func (r *NodeTypesService) List(project string, zone string) *NodeTypesListCall
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *NodeTypesListCall) Filter(filter string) *NodeTypesListCall {
+func (c *NodeGroupsListNodesCall) Filter(filter string) *NodeGroupsListNodesCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -69116,7 +68555,7 @@ func (c *NodeTypesListCall) Filter(filter string) *NodeTypesListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *NodeTypesListCall) MaxResults(maxResults int64) *NodeTypesListCall {
+func (c *NodeGroupsListNodesCall) MaxResults(maxResults int64) *NodeGroupsListNodesCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -69136,7 +68575,7 @@ func (c *NodeTypesListCall) MaxResults(maxResults int64) *NodeTypesListCall {
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *NodeTypesListCall) OrderBy(orderBy string) *NodeTypesListCall {
+func (c *NodeGroupsListNodesCall) OrderBy(orderBy string) *NodeGroupsListNodesCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -69145,85 +68584,61 @@ func (c *NodeTypesListCall) OrderBy(orderBy string) *NodeTypesListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *NodeTypesListCall) PageToken(pageToken string) *NodeTypesListCall {
+func (c *NodeGroupsListNodesCall) PageToken(pageToken string) *NodeGroupsListNodesCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *NodeTypesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeTypesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *NodeTypesListCall) Fields(s ...googleapi.Field) *NodeTypesListCall {
+func (c *NodeGroupsListNodesCall) Fields(s ...googleapi.Field) *NodeGroupsListNodesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *NodeTypesListCall) IfNoneMatch(entityTag string) *NodeTypesListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *NodeTypesListCall) Context(ctx context.Context) *NodeTypesListCall {
+func (c *NodeGroupsListNodesCall) Context(ctx context.Context) *NodeGroupsListNodesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *NodeTypesListCall) Header() http.Header {
+func (c *NodeGroupsListNodesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *NodeTypesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *NodeGroupsListNodesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeTypes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTypes.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.listNodes", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.nodeTypes.list" call.
+// Do executes the "compute.nodeGroups.listNodes" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NodeTypeList.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *NodeTypesListCall) Do(opts ...googleapi.CallOption) (*NodeTypeList, error) {
+// *NodeGroupsListNodes.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *NodeGroupsListNodesCall) Do(opts ...googleapi.CallOption) (*NodeGroupsListNodes, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -69242,7 +68657,7 @@ func (c *NodeTypesListCall) Do(opts ...googleapi.CallOption) (*NodeTypeList, err
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NodeTypeList{
+ ret := &NodeGroupsListNodes{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -69253,14 +68668,14 @@ func (c *NodeTypesListCall) Do(opts ...googleapi.CallOption) (*NodeTypeList, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTypes.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.listNodes", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *NodeTypesListCall) Pages(ctx context.Context, f func(*NodeTypeList) error) error {
+func (c *NodeGroupsListNodesCall) Pages(ctx context.Context, f func(*NodeGroupsListNodes) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -69278,48 +68693,28 @@ func (c *NodeTypesListCall) Pages(ctx context.Context, f func(*NodeTypeList) err
}
}
-type OrganizationSecurityPoliciesAddAssociationCall struct {
- s *Service
- securityPolicy string
- securitypolicyassociation *SecurityPolicyAssociation
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsPatchCall struct {
+ s *Service
+ project string
+ zone string
+ nodeGroup string
+ nodegroup *NodeGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AddAssociation: Inserts an association for the specified security
-// policy.
-//
-// This has billing implications. Projects in the hierarchy with
-// effective
-// hierarchical security policies will be automatically enrolled into
-// Cloud
-// Armor Enterprise if not already enrolled.
-//
-// Use this API to modify Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to modify firewall policies. This usage
-// is
-// now disabled for most organizations. Use
-// firewallPolicies.addAssociation
-// instead.
+// Patch: Updates the specified node group.
//
-// - securityPolicy: Name of the security policy to update.
-func (r *OrganizationSecurityPoliciesService) AddAssociation(securityPolicy string, securitypolicyassociation *SecurityPolicyAssociation) *OrganizationSecurityPoliciesAddAssociationCall {
- c := &OrganizationSecurityPoliciesAddAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
- c.securitypolicyassociation = securitypolicyassociation
- return c
-}
-
-// ReplaceExistingAssociation sets the optional parameter
-// "replaceExistingAssociation": Indicates whether or not to replace it if an
-// association of the attachment
-// already exists. This is false by default, in which case an error will
-// be
-// returned if an association already exists.
-func (c *OrganizationSecurityPoliciesAddAssociationCall) ReplaceExistingAssociation(replaceExistingAssociation bool) *OrganizationSecurityPoliciesAddAssociationCall {
- c.urlParams_.Set("replaceExistingAssociation", fmt.Sprint(replaceExistingAssociation))
+// - nodeGroup: Name of the NodeGroup resource to update.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) Patch(project string, zone string, nodeGroup string, nodegroup *NodeGroup) *NodeGroupsPatchCall {
+ c := &NodeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.nodeGroup = nodeGroup
+ c.nodegroup = nodegroup
return c
}
@@ -69340,7 +68735,7 @@ func (c *OrganizationSecurityPoliciesAddAssociationCall) ReplaceExistingAssociat
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesAddAssociationCall) RequestId(requestId string) *OrganizationSecurityPoliciesAddAssociationCall {
+func (c *NodeGroupsPatchCall) RequestId(requestId string) *NodeGroupsPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -69348,54 +68743,56 @@ func (c *OrganizationSecurityPoliciesAddAssociationCall) RequestId(requestId str
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesAddAssociationCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesAddAssociationCall {
+func (c *NodeGroupsPatchCall) Fields(s ...googleapi.Field) *NodeGroupsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesAddAssociationCall) Context(ctx context.Context) *OrganizationSecurityPoliciesAddAssociationCall {
+func (c *NodeGroupsPatchCall) Context(ctx context.Context) *NodeGroupsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesAddAssociationCall) Header() http.Header {
+func (c *NodeGroupsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyassociation)
+func (c *NodeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroup)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/addAssociation")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.addAssociation", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.addAssociation" call.
+// Do executes the "compute.nodeGroups.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesAddAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NodeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -69425,32 +68822,33 @@ func (c *OrganizationSecurityPoliciesAddAssociationCall) Do(opts ...googleapi.Ca
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.addAssociation", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesAddRuleCall struct {
- s *Service
- securityPolicy string
- securitypolicyrule *SecurityPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsPerformMaintenanceCall struct {
+ s *Service
+ project string
+ zone string
+ nodeGroup string
+ nodegroupsperformmaintenancerequest *NodeGroupsPerformMaintenanceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AddRule: Inserts a rule into a security policy.
-//
-// Use this API to modify Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to modify firewall policies. This usage
-// is
-// now disabled for most organizations. Use firewallPolicies.addRule instead.
+// PerformMaintenance: Perform maintenance on a subset of nodes in the node
+// group.
//
-// - securityPolicy: Name of the security policy to update.
-func (r *OrganizationSecurityPoliciesService) AddRule(securityPolicy string, securitypolicyrule *SecurityPolicyRule) *OrganizationSecurityPoliciesAddRuleCall {
- c := &OrganizationSecurityPoliciesAddRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
- c.securitypolicyrule = securitypolicyrule
+// - nodeGroup: Name of the node group scoping this request.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) PerformMaintenance(project string, zone string, nodeGroup string, nodegroupsperformmaintenancerequest *NodeGroupsPerformMaintenanceRequest) *NodeGroupsPerformMaintenanceCall {
+ c := &NodeGroupsPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.nodeGroup = nodeGroup
+ c.nodegroupsperformmaintenancerequest = nodegroupsperformmaintenancerequest
return c
}
@@ -69471,7 +68869,7 @@ func (r *OrganizationSecurityPoliciesService) AddRule(securityPolicy string, sec
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesAddRuleCall) RequestId(requestId string) *OrganizationSecurityPoliciesAddRuleCall {
+func (c *NodeGroupsPerformMaintenanceCall) RequestId(requestId string) *NodeGroupsPerformMaintenanceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -69479,35 +68877,148 @@ func (c *OrganizationSecurityPoliciesAddRuleCall) RequestId(requestId string) *O
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesAddRuleCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesAddRuleCall {
+func (c *NodeGroupsPerformMaintenanceCall) Fields(s ...googleapi.Field) *NodeGroupsPerformMaintenanceCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *NodeGroupsPerformMaintenanceCall) Context(ctx context.Context) *NodeGroupsPerformMaintenanceCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *NodeGroupsPerformMaintenanceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *NodeGroupsPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupsperformmaintenancerequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.performMaintenance", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.nodeGroups.performMaintenance" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeGroupsPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.performMaintenance", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type NodeGroupsSetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ zonesetpolicyrequest *ZoneSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
+//
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *NodeGroupsSetIamPolicyCall {
+ c := &NodeGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.resource = resource
+ c.zonesetpolicyrequest = zonesetpolicyrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *NodeGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *NodeGroupsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesAddRuleCall) Context(ctx context.Context) *OrganizationSecurityPoliciesAddRuleCall {
+func (c *NodeGroupsSetIamPolicyCall) Context(ctx context.Context) *NodeGroupsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesAddRuleCall) Header() http.Header {
+func (c *NodeGroupsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
+func (c *NodeGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/addRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -69515,18 +69026,20 @@ func (c *OrganizationSecurityPoliciesAddRuleCall) doRequest(alt string) (*http.R
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.addRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.addRule" call.
+// Do executes the "compute.nodeGroups.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NodeGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -69545,7 +69058,7 @@ func (c *OrganizationSecurityPoliciesAddRuleCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -69556,32 +69069,32 @@ func (c *OrganizationSecurityPoliciesAddRuleCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.addRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesCopyRulesCall struct {
- s *Service
- securityPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsSetNodeTemplateCall struct {
+ s *Service
+ project string
+ zone string
+ nodeGroup string
+ nodegroupssetnodetemplaterequest *NodeGroupsSetNodeTemplateRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// CopyRules: Copies rules to the specified security policy.
-//
-// Use this API to modify Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to modify firewall policies. This usage
-// is
-// now disabled for most organizations. Use
-// firewallPolicies.cloneRules
-// instead.
+// SetNodeTemplate: Updates the node template of the node group.
//
-// - securityPolicy: Name of the security policy to update.
-func (r *OrganizationSecurityPoliciesService) CopyRules(securityPolicy string) *OrganizationSecurityPoliciesCopyRulesCall {
- c := &OrganizationSecurityPoliciesCopyRulesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
+// - nodeGroup: Name of the NodeGroup resource to update.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) SetNodeTemplate(project string, zone string, nodeGroup string, nodegroupssetnodetemplaterequest *NodeGroupsSetNodeTemplateRequest) *NodeGroupsSetNodeTemplateCall {
+ c := &NodeGroupsSetNodeTemplateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.nodeGroup = nodeGroup
+ c.nodegroupssetnodetemplaterequest = nodegroupssetnodetemplaterequest
return c
}
@@ -69602,65 +69115,64 @@ func (r *OrganizationSecurityPoliciesService) CopyRules(securityPolicy string) *
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesCopyRulesCall) RequestId(requestId string) *OrganizationSecurityPoliciesCopyRulesCall {
+func (c *NodeGroupsSetNodeTemplateCall) RequestId(requestId string) *NodeGroupsSetNodeTemplateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// SourceSecurityPolicy sets the optional parameter "sourceSecurityPolicy": The
-// security policy from which to copy rules.
-func (c *OrganizationSecurityPoliciesCopyRulesCall) SourceSecurityPolicy(sourceSecurityPolicy string) *OrganizationSecurityPoliciesCopyRulesCall {
- c.urlParams_.Set("sourceSecurityPolicy", sourceSecurityPolicy)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesCopyRulesCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesCopyRulesCall {
+func (c *NodeGroupsSetNodeTemplateCall) Fields(s ...googleapi.Field) *NodeGroupsSetNodeTemplateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesCopyRulesCall) Context(ctx context.Context) *OrganizationSecurityPoliciesCopyRulesCall {
+func (c *NodeGroupsSetNodeTemplateCall) Context(ctx context.Context) *NodeGroupsSetNodeTemplateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesCopyRulesCall) Header() http.Header {
+func (c *NodeGroupsSetNodeTemplateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesCopyRulesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeGroupsSetNodeTemplateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupssetnodetemplaterequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/copyRules")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.copyRules", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.setNodeTemplate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.copyRules" call.
+// Do executes the "compute.nodeGroups.setNodeTemplate" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesCopyRulesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NodeGroupsSetNodeTemplateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -69690,30 +69202,36 @@ func (c *OrganizationSecurityPoliciesCopyRulesCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.copyRules", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.setNodeTemplate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesDeleteCall struct {
- s *Service
- securityPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsSimulateMaintenanceEventCall struct {
+ s *Service
+ project string
+ zone string
+ nodeGroup string
+ nodegroupssimulatemaintenanceeventrequest *NodeGroupsSimulateMaintenanceEventRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified policy.
+// SimulateMaintenanceEvent: Simulates maintenance event on specified nodes
+// from the node group.
//
-// Use this API to remove Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to remove firewall policies. This usage
-// is
-// now disabled for most organizations. Use firewallPolicies.delete instead.
+// - nodeGroup: Name of the NodeGroup resource whose nodes will go under
+// maintenance
//
-// - securityPolicy: Name of the security policy to delete.
-func (r *OrganizationSecurityPoliciesService) Delete(securityPolicy string) *OrganizationSecurityPoliciesDeleteCall {
- c := &OrganizationSecurityPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
+// simulation.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) SimulateMaintenanceEvent(project string, zone string, nodeGroup string, nodegroupssimulatemaintenanceeventrequest *NodeGroupsSimulateMaintenanceEventRequest) *NodeGroupsSimulateMaintenanceEventCall {
+ c := &NodeGroupsSimulateMaintenanceEventCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.nodeGroup = nodeGroup
+ c.nodegroupssimulatemaintenanceeventrequest = nodegroupssimulatemaintenanceeventrequest
return c
}
@@ -69734,7 +69252,7 @@ func (r *OrganizationSecurityPoliciesService) Delete(securityPolicy string) *Org
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesDeleteCall) RequestId(requestId string) *OrganizationSecurityPoliciesDeleteCall {
+func (c *NodeGroupsSimulateMaintenanceEventCall) RequestId(requestId string) *NodeGroupsSimulateMaintenanceEventCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -69742,50 +69260,56 @@ func (c *OrganizationSecurityPoliciesDeleteCall) RequestId(requestId string) *Or
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesDeleteCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesDeleteCall {
+func (c *NodeGroupsSimulateMaintenanceEventCall) Fields(s ...googleapi.Field) *NodeGroupsSimulateMaintenanceEventCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesDeleteCall) Context(ctx context.Context) *OrganizationSecurityPoliciesDeleteCall {
+func (c *NodeGroupsSimulateMaintenanceEventCall) Context(ctx context.Context) *NodeGroupsSimulateMaintenanceEventCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesDeleteCall) Header() http.Header {
+func (c *NodeGroupsSimulateMaintenanceEventCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeGroupsSimulateMaintenanceEventCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodegroupssimulatemaintenanceeventrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeGroup": c.nodeGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.simulateMaintenanceEvent", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.delete" call.
+// Do executes the "compute.nodeGroups.simulateMaintenanceEvent" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NodeGroupsSimulateMaintenanceEventCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -69815,93 +69339,90 @@ func (c *OrganizationSecurityPoliciesDeleteCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.simulateMaintenanceEvent", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesGetCall struct {
- s *Service
- securityPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NodeGroupsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: List all of the ordered rules present in a single specified
-// policy.
-//
-// Use this API to read Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to read firewall policies. This usage is
-// now
-// disabled for most organizations. Use firewallPolicies.get instead.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - securityPolicy: Name of the security policy to get.
-func (r *OrganizationSecurityPoliciesService) Get(securityPolicy string) *OrganizationSecurityPoliciesGetCall {
- c := &OrganizationSecurityPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *NodeGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *NodeGroupsTestIamPermissionsCall {
+ c := &NodeGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesGetCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesGetCall {
+func (c *NodeGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *NodeGroupsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *OrganizationSecurityPoliciesGetCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesGetCall) Context(ctx context.Context) *OrganizationSecurityPoliciesGetCall {
+func (c *NodeGroupsTestIamPermissionsCall) Context(ctx context.Context) *NodeGroupsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesGetCall) Header() http.Header {
+func (c *NodeGroupsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *NodeGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.get" call.
+// Do executes the "compute.nodeGroups.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SecurityPolicy.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SecurityPolicy, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NodeGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -69920,7 +69441,7 @@ func (c *OrganizationSecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SecurityPolicy{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -69931,171 +69452,175 @@ func (c *OrganizationSecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesGetAssociationCall struct {
- s *Service
- securityPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type NodeTemplatesAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// GetAssociation: Gets an association with the specified name.
+// AggregatedList: Retrieves an aggregated list of node templates.
//
-// Use this API to read Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to read firewall policies. This usage is
-// now disabled for most organizations. Use
-// firewallPolicies.getAssociation
-// instead.
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
-// - securityPolicy: Name of the security policy to which the queried rule
-// belongs.
-func (r *OrganizationSecurityPoliciesService) GetAssociation(securityPolicy string) *OrganizationSecurityPoliciesGetAssociationCall {
- c := &OrganizationSecurityPoliciesGetAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
- return c
-}
-
-// Name sets the optional parameter "name": The name of the association to get
-// from the security policy.
-func (c *OrganizationSecurityPoliciesGetAssociationCall) Name(name string) *OrganizationSecurityPoliciesGetAssociationCall {
- c.urlParams_.Set("name", name)
+// - project: Project ID for this request.
+func (r *NodeTemplatesService) AggregatedList(project string) *NodeTemplatesAggregatedListCall {
+ c := &NodeTemplatesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
return c
}
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *OrganizationSecurityPoliciesGetAssociationCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesGetAssociationCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *NodeTemplatesAggregatedListCall) Filter(filter string) *NodeTemplatesAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *OrganizationSecurityPoliciesGetAssociationCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesGetAssociationCall {
- c.ifNoneMatch_ = entityTag
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *NodeTemplatesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NodeTemplatesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
return c
}
-// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesGetAssociationCall) Context(ctx context.Context) *OrganizationSecurityPoliciesGetAssociationCall {
- c.ctx_ = ctx
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *NodeTemplatesAggregatedListCall) MaxResults(maxResults int64) *NodeTemplatesAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *OrganizationSecurityPoliciesGetAssociationCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *OrganizationSecurityPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/getAssociation")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.getAssociation", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.organizationSecurityPolicies.getAssociation" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *SecurityPolicyAssociation.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesGetAssociationCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyAssociation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &SecurityPolicyAssociation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.getAssociation", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type OrganizationSecurityPoliciesGetRuleCall struct {
- s *Service
- securityPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// GetRule: Gets a rule at the specified priority.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// Use this API to read Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to read firewall policies. This usage is
-// now
-// disabled for most organizations. Use firewallPolicies.getRule instead.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// - securityPolicy: Name of the security policy to which the queried rule
-// belongs.
-func (r *OrganizationSecurityPoliciesService) GetRule(securityPolicy string) *OrganizationSecurityPoliciesGetRuleCall {
- c := &OrganizationSecurityPoliciesGetRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *NodeTemplatesAggregatedListCall) OrderBy(orderBy string) *NodeTemplatesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
return c
}
-// Priority sets the optional parameter "priority": The priority of the rule to
-// get from the security policy.
-func (c *OrganizationSecurityPoliciesGetRuleCall) Priority(priority int64) *OrganizationSecurityPoliciesGetRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *NodeTemplatesAggregatedListCall) PageToken(pageToken string) *NodeTemplatesAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *NodeTemplatesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NodeTemplatesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesGetRuleCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesGetRuleCall {
+func (c *NodeTemplatesAggregatedListCall) Fields(s ...googleapi.Field) *NodeTemplatesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -70103,34 +69628,34 @@ func (c *OrganizationSecurityPoliciesGetRuleCall) Fields(s ...googleapi.Field) *
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *OrganizationSecurityPoliciesGetRuleCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesGetRuleCall {
+func (c *NodeTemplatesAggregatedListCall) IfNoneMatch(entityTag string) *NodeTemplatesAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesGetRuleCall) Context(ctx context.Context) *OrganizationSecurityPoliciesGetRuleCall {
+func (c *NodeTemplatesAggregatedListCall) Context(ctx context.Context) *NodeTemplatesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesGetRuleCall) Header() http.Header {
+func (c *NodeTemplatesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeTemplatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/getRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/nodeTemplates")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -70138,19 +69663,19 @@ func (c *OrganizationSecurityPoliciesGetRuleCall) doRequest(alt string) (*http.R
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.getRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.getRule" call.
+// Do executes the "compute.nodeTemplates.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SecurityPolicyRule.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *OrganizationSecurityPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyRule, error) {
+// *NodeTemplateAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NodeTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeTemplateAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -70169,7 +69694,7 @@ func (c *OrganizationSecurityPoliciesGetRuleCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SecurityPolicyRule{
+ ret := &NodeTemplateAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -70180,39 +69705,51 @@ func (c *OrganizationSecurityPoliciesGetRuleCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.getRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesInsertCall struct {
- s *Service
- securitypolicy *SecurityPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NodeTemplatesAggregatedListCall) Pages(ctx context.Context, f func(*NodeTemplateAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Insert: Creates a new policy in the specified organization using the data
-// included
-// in the request.
-//
-// Use this API to add Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to add firewall policies. This usage is
-// now
-// disabled for most organizations. Use firewallPolicies.insert instead.
-func (r *OrganizationSecurityPoliciesService) Insert(securitypolicy *SecurityPolicy) *OrganizationSecurityPoliciesInsertCall {
- c := &OrganizationSecurityPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securitypolicy = securitypolicy
- return c
+type NodeTemplatesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ nodeTemplate string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ParentId sets the optional parameter "parentId": Parent ID for this request.
-// The ID can be either be "folders/[FOLDER_ID]"
-// if the parent is a folder or "organizations/[ORGANIZATION_ID]" if the
-// parent is an organization.
-func (c *OrganizationSecurityPoliciesInsertCall) ParentId(parentId string) *OrganizationSecurityPoliciesInsertCall {
- c.urlParams_.Set("parentId", parentId)
+// Delete: Deletes the specified NodeTemplate resource.
+//
+// - nodeTemplate: Name of the NodeTemplate resource to delete.
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+func (r *NodeTemplatesService) Delete(project string, region string, nodeTemplate string) *NodeTemplatesDeleteCall {
+ c := &NodeTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.nodeTemplate = nodeTemplate
return c
}
@@ -70233,7 +69770,7 @@ func (c *OrganizationSecurityPoliciesInsertCall) ParentId(parentId string) *Orga
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesInsertCall) RequestId(requestId string) *OrganizationSecurityPoliciesInsertCall {
+func (c *NodeTemplatesDeleteCall) RequestId(requestId string) *NodeTemplatesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -70241,51 +69778,52 @@ func (c *OrganizationSecurityPoliciesInsertCall) RequestId(requestId string) *Or
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesInsertCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesInsertCall {
+func (c *NodeTemplatesDeleteCall) Fields(s ...googleapi.Field) *NodeTemplatesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesInsertCall) Context(ctx context.Context) *OrganizationSecurityPoliciesInsertCall {
+func (c *NodeTemplatesDeleteCall) Context(ctx context.Context) *NodeTemplatesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesInsertCall) Header() http.Header {
+func (c *NodeTemplatesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
- if err != nil {
- return nil, err
- }
+func (c *NodeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "nodeTemplate": c.nodeTemplate,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.insert" call.
+// Do executes the "compute.nodeTemplates.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NodeTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -70315,170 +69853,164 @@ func (c *OrganizationSecurityPoliciesInsertCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesListCall struct {
+type NodeTemplatesGetCall struct {
s *Service
+ project string
+ region string
+ nodeTemplate string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: List all the policies that have been configured for the
-// specified
-// organization.
+// Get: Returns the specified node template.
//
-// Use this API to read Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to read firewall policies. This usage is
-// now
-// disabled for most organizations. Use firewallPolicies.list instead.
-func (r *OrganizationSecurityPoliciesService) List() *OrganizationSecurityPoliciesListCall {
- c := &OrganizationSecurityPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - nodeTemplate: Name of the node template to return.
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+func (r *NodeTemplatesService) Get(project string, region string, nodeTemplate string) *NodeTemplatesGetCall {
+ c := &NodeTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.nodeTemplate = nodeTemplate
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *OrganizationSecurityPoliciesListCall) Filter(filter string) *OrganizationSecurityPoliciesListCall {
- c.urlParams_.Set("filter", filter)
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *NodeTemplatesGetCall) Fields(s ...googleapi.Field) *NodeTemplatesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *OrganizationSecurityPoliciesListCall) MaxResults(maxResults int64) *OrganizationSecurityPoliciesListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NodeTemplatesGetCall) IfNoneMatch(entityTag string) *NodeTemplatesGetCall {
+ c.ifNoneMatch_ = entityTag
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *OrganizationSecurityPoliciesListCall) OrderBy(orderBy string) *OrganizationSecurityPoliciesListCall {
- c.urlParams_.Set("orderBy", orderBy)
+// Context sets the context to be used in this call's Do method.
+func (c *NodeTemplatesGetCall) Context(ctx context.Context) *NodeTemplatesGetCall {
+ c.ctx_ = ctx
return c
}
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *OrganizationSecurityPoliciesListCall) PageToken(pageToken string) *OrganizationSecurityPoliciesListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *NodeTemplatesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
}
-// ParentId sets the optional parameter "parentId": Parent ID for this request.
-func (c *OrganizationSecurityPoliciesListCall) ParentId(parentId string) *OrganizationSecurityPoliciesListCall {
- c.urlParams_.Set("parentId", parentId)
- return c
+func (c *NodeTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "nodeTemplate": c.nodeTemplate,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.nodeTemplates.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *NodeTemplate.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeTemplatesGetCall) Do(opts ...googleapi.CallOption) (*NodeTemplate, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &NodeTemplate{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type NodeTemplatesGetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *OrganizationSecurityPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *OrganizationSecurityPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *NodeTemplatesService) GetIamPolicy(project string, region string, resource string) *NodeTemplatesGetIamPolicyCall {
+ c := &NodeTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *NodeTemplatesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *NodeTemplatesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesListCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesListCall {
+func (c *NodeTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *NodeTemplatesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -70486,51 +70018,55 @@ func (c *OrganizationSecurityPoliciesListCall) Fields(s ...googleapi.Field) *Org
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *OrganizationSecurityPoliciesListCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesListCall {
+func (c *NodeTemplatesGetIamPolicyCall) IfNoneMatch(entityTag string) *NodeTemplatesGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesListCall) Context(ctx context.Context) *OrganizationSecurityPoliciesListCall {
+func (c *NodeTemplatesGetIamPolicyCall) Context(ctx context.Context) *NodeTemplatesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesListCall) Header() http.Header {
+func (c *NodeTemplatesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.list", "request", internallog.HTTPRequest(req, nil))
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.list" call.
+// Do executes the "compute.nodeTemplates.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SecurityPolicyList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *OrganizationSecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyList, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -70549,7 +70085,7 @@ func (c *OrganizationSecurityPoliciesListCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SecurityPolicyList{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -70560,117 +70096,108 @@ func (c *OrganizationSecurityPoliciesListCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *OrganizationSecurityPoliciesListCall) Pages(ctx context.Context, f func(*SecurityPolicyList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type OrganizationSecurityPoliciesListAssociationsCall struct {
+type NodeTemplatesInsertCall struct {
s *Service
+ project string
+ region string
+ nodetemplate *NodeTemplate
urlParams_ gensupport.URLParams
- ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// ListAssociations: Lists associations of a specified target, i.e.,
-// organization or folder.
+// Insert: Creates a NodeTemplate resource in the specified project using the
+// data
+// included in the request.
//
-// Use this API to read Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to read firewall policies. This usage is
-// now disabled for most organizations. Use
-// firewallPolicies.listAssociations
-// instead.
-func (r *OrganizationSecurityPoliciesService) ListAssociations() *OrganizationSecurityPoliciesListAssociationsCall {
- c := &OrganizationSecurityPoliciesListAssociationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+func (r *NodeTemplatesService) Insert(project string, region string, nodetemplate *NodeTemplate) *NodeTemplatesInsertCall {
+ c := &NodeTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.nodetemplate = nodetemplate
return c
}
-// TargetResource sets the optional parameter "targetResource": The target
-// resource to list associations. It is an organization, or a
-// folder.
-func (c *OrganizationSecurityPoliciesListAssociationsCall) TargetResource(targetResource string) *OrganizationSecurityPoliciesListAssociationsCall {
- c.urlParams_.Set("targetResource", targetResource)
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *NodeTemplatesInsertCall) RequestId(requestId string) *NodeTemplatesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesListAssociationsCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesListAssociationsCall {
+func (c *NodeTemplatesInsertCall) Fields(s ...googleapi.Field) *NodeTemplatesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *OrganizationSecurityPoliciesListAssociationsCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesListAssociationsCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesListAssociationsCall) Context(ctx context.Context) *OrganizationSecurityPoliciesListAssociationsCall {
+func (c *NodeTemplatesInsertCall) Context(ctx context.Context) *NodeTemplatesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesListAssociationsCall) Header() http.Header {
+func (c *NodeTemplatesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesListAssociationsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *NodeTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.nodetemplate)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/listAssociations")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.listAssociations", "request", internallog.HTTPRequest(req, nil))
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.listAssociations" call.
+// Do executes the "compute.nodeTemplates.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *OrganizationSecurityPoliciesListAssociationsResponse.ServerResponse.Header
-// or (if a response was returned at all) in error.(*googleapi.Error).Header.
-// Use googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesListAssociationsCall) Do(opts ...googleapi.CallOption) (*OrganizationSecurityPoliciesListAssociationsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -70689,7 +70216,7 @@ func (c *OrganizationSecurityPoliciesListAssociationsCall) Do(opts ...googleapi.
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &OrganizationSecurityPoliciesListAssociationsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -70700,23 +70227,29 @@ func (c *OrganizationSecurityPoliciesListAssociationsCall) Do(opts ...googleapi.
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.listAssociations", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall struct {
+type NodeTemplatesListCall struct {
s *Service
+ project string
+ region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// ListPreconfiguredExpressionSets: Gets the current list of preconfigured Web
-// Application Firewall (WAF)
-// expressions.
-func (r *OrganizationSecurityPoliciesService) ListPreconfiguredExpressionSets() *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
- c := &OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// List: Retrieves a list of node templates available to the specified
+// project.
+//
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+func (r *NodeTemplatesService) List(project string, region string) *NodeTemplatesListCall {
+ c := &NodeTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
return c
}
@@ -70787,7 +70320,7 @@ func (r *OrganizationSecurityPoliciesService) ListPreconfiguredExpressionSets()
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Filter(filter string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+func (c *NodeTemplatesListCall) Filter(filter string) *NodeTemplatesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -70799,7 +70332,7 @@ func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Filter
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) MaxResults(maxResults int64) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+func (c *NodeTemplatesListCall) MaxResults(maxResults int64) *NodeTemplatesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -70819,7 +70352,7 @@ func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) MaxRes
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) OrderBy(orderBy string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+func (c *NodeTemplatesListCall) OrderBy(orderBy string) *NodeTemplatesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -70828,36 +70361,15 @@ func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) OrderB
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) PageToken(pageToken string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+func (c *NodeTemplatesListCall) PageToken(pageToken string) *NodeTemplatesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ParentId sets the optional parameter "parentId": Parent ID for this request.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) ParentId(parentId string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
- c.urlParams_.Set("parentId", parentId)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) ReturnPartialSuccess(returnPartialSuccess bool) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+func (c *NodeTemplatesListCall) Fields(s ...googleapi.Field) *NodeTemplatesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -70865,51 +70377,55 @@ func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Fields
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+func (c *NodeTemplatesListCall) IfNoneMatch(entityTag string) *NodeTemplatesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Context(ctx context.Context) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+func (c *NodeTemplatesListCall) Context(ctx context.Context) *NodeTemplatesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Header() http.Header {
+func (c *NodeTemplatesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeTemplatesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/listPreconfiguredExpressionSets")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets", "request", internallog.HTTPRequest(req, nil))
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets" call.
+// Do executes the "compute.nodeTemplates.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SecurityPoliciesListPreconfiguredExpressionSetsResponse.ServerResponse.Heade
-// r or (if a response was returned at all) in error.(*googleapi.Error).Header.
-// Use googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Do(opts ...googleapi.CallOption) (*SecurityPoliciesListPreconfiguredExpressionSetsResponse, error) {
+// *NodeTemplateList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *NodeTemplatesListCall) Do(opts ...googleapi.CallOption) (*NodeTemplateList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -70928,7 +70444,7 @@ func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Do(opt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SecurityPoliciesListPreconfiguredExpressionSetsResponse{
+ ret := &NodeTemplateList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -70939,109 +70455,111 @@ func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Do(opt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesMoveCall struct {
- s *Service
- securityPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Move: Moves the specified security policy.
-//
-// Use this API to modify Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to modify firewall policies. This usage
-// is
-// now disabled for most organizations. Use firewallPolicies.move instead.
-//
-// - securityPolicy: Name of the security policy to update.
-func (r *OrganizationSecurityPoliciesService) Move(securityPolicy string) *OrganizationSecurityPoliciesMoveCall {
- c := &OrganizationSecurityPoliciesMoveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
- return c
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NodeTemplatesListCall) Pages(ctx context.Context, f func(*NodeTemplateList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// ParentId sets the optional parameter "parentId": The new parent of the
-// security policy.
-func (c *OrganizationSecurityPoliciesMoveCall) ParentId(parentId string) *OrganizationSecurityPoliciesMoveCall {
- c.urlParams_.Set("parentId", parentId)
- return c
+type NodeTemplatesSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesMoveCall) RequestId(requestId string) *OrganizationSecurityPoliciesMoveCall {
- c.urlParams_.Set("requestId", requestId)
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *NodeTemplatesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *NodeTemplatesSetIamPolicyCall {
+ c := &NodeTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesMoveCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesMoveCall {
+func (c *NodeTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *NodeTemplatesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesMoveCall) Context(ctx context.Context) *OrganizationSecurityPoliciesMoveCall {
+func (c *NodeTemplatesSetIamPolicyCall) Context(ctx context.Context) *NodeTemplatesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesMoveCall) Header() http.Header {
+func (c *NodeTemplatesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesMoveCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/move")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.move", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.move" call.
+// Do executes the "compute.nodeTemplates.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesMoveCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NodeTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -71060,7 +70578,7 @@ func (c *OrganizationSecurityPoliciesMoveCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -71071,109 +70589,90 @@ func (c *OrganizationSecurityPoliciesMoveCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.move", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesPatchCall struct {
- s *Service
- securityPolicy string
- securitypolicy *SecurityPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Patch: Patches the specified policy with the data included in the
-// request.
-//
-// Use this API to modify Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to modify firewall policies. This usage
-// is
-// now disabled for most organizations. Use firewallPolicies.patch instead.
-//
-// - securityPolicy: Name of the security policy to update.
-func (r *OrganizationSecurityPoliciesService) Patch(securityPolicy string, securitypolicy *SecurityPolicy) *OrganizationSecurityPoliciesPatchCall {
- c := &OrganizationSecurityPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
- c.securitypolicy = securitypolicy
- return c
+type NodeTemplatesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesPatchCall) RequestId(requestId string) *OrganizationSecurityPoliciesPatchCall {
- c.urlParams_.Set("requestId", requestId)
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *NodeTemplatesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *NodeTemplatesTestIamPermissionsCall {
+ c := &NodeTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesPatchCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesPatchCall {
+func (c *NodeTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *NodeTemplatesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesPatchCall) Context(ctx context.Context) *OrganizationSecurityPoliciesPatchCall {
+func (c *NodeTemplatesTestIamPermissionsCall) Context(ctx context.Context) *NodeTemplatesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesPatchCall) Header() http.Header {
+func (c *NodeTemplatesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
+func (c *NodeTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTemplates.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.patch" call.
+// Do executes the "compute.nodeTemplates.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NodeTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -71192,7 +70691,7 @@ func (c *OrganizationSecurityPoliciesPatchCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -71203,251 +70702,230 @@ func (c *OrganizationSecurityPoliciesPatchCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTemplates.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesPatchRuleCall struct {
- s *Service
- securityPolicy string
- securitypolicyrule *SecurityPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type NodeTypesAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// PatchRule: Patches a rule at the specified priority.
+// AggregatedList: Retrieves an aggregated list of node types.
//
-// Use this API to modify Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to modify firewall policies. This usage
-// is
-// now disabled for most organizations. Use firewallPolicies.patchRule
-// instead.
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
-// - securityPolicy: Name of the security policy to update.
-func (r *OrganizationSecurityPoliciesService) PatchRule(securityPolicy string, securitypolicyrule *SecurityPolicyRule) *OrganizationSecurityPoliciesPatchRuleCall {
- c := &OrganizationSecurityPoliciesPatchRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
- c.securitypolicyrule = securitypolicyrule
- return c
-}
-
-// Priority sets the optional parameter "priority": The priority of the rule to
-// patch.
-func (c *OrganizationSecurityPoliciesPatchRuleCall) Priority(priority int64) *OrganizationSecurityPoliciesPatchRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+// - project: Project ID for this request.
+func (r *NodeTypesService) AggregatedList(project string) *NodeTypesAggregatedListCall {
+ c := &NodeTypesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesPatchRuleCall) RequestId(requestId string) *OrganizationSecurityPoliciesPatchRuleCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *OrganizationSecurityPoliciesPatchRuleCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesPatchRuleCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesPatchRuleCall) Context(ctx context.Context) *OrganizationSecurityPoliciesPatchRuleCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *OrganizationSecurityPoliciesPatchRuleCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *OrganizationSecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/patchRule")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.patchRule", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.organizationSecurityPolicies.patchRule" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.patchRule", "response", internallog.HTTPResponse(res, b))
- return ret, nil
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *NodeTypesAggregatedListCall) Filter(filter string) *NodeTypesAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
}
-type OrganizationSecurityPoliciesRemoveAssociationCall struct {
- s *Service
- securityPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *NodeTypesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NodeTypesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
}
-// RemoveAssociation: Removes an association for the specified security
-// policy.
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *NodeTypesAggregatedListCall) MaxResults(maxResults int64) *NodeTypesAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// Use this API to modify Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to modify firewall policies. This usage
-// is
-// now disabled for most organizations. Use
-// firewallPolicies.removeAssociation
-// instead.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// - securityPolicy: Name of the security policy to update.
-func (r *OrganizationSecurityPoliciesService) RemoveAssociation(securityPolicy string) *OrganizationSecurityPoliciesRemoveAssociationCall {
- c := &OrganizationSecurityPoliciesRemoveAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *NodeTypesAggregatedListCall) OrderBy(orderBy string) *NodeTypesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
return c
}
-// Name sets the optional parameter "name": Name for the attachment that will
-// be removed.
-func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Name(name string) *OrganizationSecurityPoliciesRemoveAssociationCall {
- c.urlParams_.Set("name", name)
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *NodeTypesAggregatedListCall) PageToken(pageToken string) *NodeTypesAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesRemoveAssociationCall) RequestId(requestId string) *OrganizationSecurityPoliciesRemoveAssociationCall {
- c.urlParams_.Set("requestId", requestId)
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *NodeTypesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *NodeTypesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesRemoveAssociationCall {
+func (c *NodeTypesAggregatedListCall) Fields(s ...googleapi.Field) *NodeTypesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NodeTypesAggregatedListCall) IfNoneMatch(entityTag string) *NodeTypesAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Context(ctx context.Context) *OrganizationSecurityPoliciesRemoveAssociationCall {
+func (c *NodeTypesAggregatedListCall) Context(ctx context.Context) *NodeTypesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Header() http.Header {
+func (c *NodeTypesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/removeAssociation")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/nodeTypes")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.removeAssociation", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTypes.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.removeAssociation" call.
+// Do executes the "compute.nodeTypes.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *NodeTypeAggregatedList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *NodeTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeTypeAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -71466,7 +70944,7 @@ func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Do(opts ...googleapi
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &NodeTypeAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -71477,111 +70955,115 @@ func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Do(opts ...googleapi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.removeAssociation", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTypes.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type OrganizationSecurityPoliciesRemoveRuleCall struct {
- s *Service
- securityPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// RemoveRule: Deletes a rule at the specified priority.
-//
-// Use this API to modify Cloud Armor policies. Previously, alpha and
-// beta
-// versions of this API were used to modify firewall policies. This usage
-// is
-// now disabled for most organizations. Use
-// firewallPolicies.removeRule
-// instead.
-//
-// - securityPolicy: Name of the security policy to update.
-func (r *OrganizationSecurityPoliciesService) RemoveRule(securityPolicy string) *OrganizationSecurityPoliciesRemoveRuleCall {
- c := &OrganizationSecurityPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.securityPolicy = securityPolicy
- return c
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NodeTypesAggregatedListCall) Pages(ctx context.Context, f func(*NodeTypeAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Priority sets the optional parameter "priority": The priority of the rule to
-// remove from the security policy.
-func (c *OrganizationSecurityPoliciesRemoveRuleCall) Priority(priority int64) *OrganizationSecurityPoliciesRemoveRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
- return c
+type NodeTypesGetCall struct {
+ s *Service
+ project string
+ zone string
+ nodeType string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// Get: Returns the specified node type.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *OrganizationSecurityPoliciesRemoveRuleCall) RequestId(requestId string) *OrganizationSecurityPoliciesRemoveRuleCall {
- c.urlParams_.Set("requestId", requestId)
+// - nodeType: Name of the node type to return.
+// - project: Project ID for this request.
+// - zone: The name of the zone for this request.
+func (r *NodeTypesService) Get(project string, zone string, nodeType string) *NodeTypesGetCall {
+ c := &NodeTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.nodeType = nodeType
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *OrganizationSecurityPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesRemoveRuleCall {
+func (c *NodeTypesGetCall) Fields(s ...googleapi.Field) *NodeTypesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *NodeTypesGetCall) IfNoneMatch(entityTag string) *NodeTypesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *OrganizationSecurityPoliciesRemoveRuleCall) Context(ctx context.Context) *OrganizationSecurityPoliciesRemoveRuleCall {
+func (c *NodeTypesGetCall) Context(ctx context.Context) *NodeTypesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *OrganizationSecurityPoliciesRemoveRuleCall) Header() http.Header {
+func (c *NodeTypesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *OrganizationSecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeTypesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/removeRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeTypes/{nodeType}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "zone": c.zone,
+ "nodeType": c.nodeType,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.removeRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTypes.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.organizationSecurityPolicies.removeRule" call.
+// Do executes the "compute.nodeTypes.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *NodeType.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *OrganizationSecurityPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *NodeTypesGetCall) Do(opts ...googleapi.CallOption) (*NodeType, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -71600,7 +71082,7 @@ func (c *OrganizationSecurityPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOp
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &NodeType{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -71611,29 +71093,29 @@ func (c *OrganizationSecurityPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.removeRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTypes.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PacketMirroringsAggregatedListCall struct {
+type NodeTypesListCall struct {
s *Service
project string
+ zone string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of packetMirrorings.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// List: Retrieves a list of node types available to the specified
+// project.
//
// - project: Project ID for this request.
-func (r *PacketMirroringsService) AggregatedList(project string) *PacketMirroringsAggregatedListCall {
- c := &PacketMirroringsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - zone: The name of the zone for this request.
+func (r *NodeTypesService) List(project string, zone string) *NodeTypesListCall {
+ c := &NodeTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
return c
}
@@ -71704,29 +71186,11 @@ func (r *PacketMirroringsService) AggregatedList(project string) *PacketMirrorin
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *PacketMirroringsAggregatedListCall) Filter(filter string) *PacketMirroringsAggregatedListCall {
+func (c *NodeTypesListCall) Filter(filter string) *NodeTypesListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *PacketMirroringsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *PacketMirroringsAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -71734,7 +71198,7 @@ func (c *PacketMirroringsAggregatedListCall) IncludeAllScopes(includeAllScopes b
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *PacketMirroringsAggregatedListCall) MaxResults(maxResults int64) *PacketMirroringsAggregatedListCall {
+func (c *NodeTypesListCall) MaxResults(maxResults int64) *NodeTypesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -71754,7 +71218,7 @@ func (c *PacketMirroringsAggregatedListCall) MaxResults(maxResults int64) *Packe
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *PacketMirroringsAggregatedListCall) OrderBy(orderBy string) *PacketMirroringsAggregatedListCall {
+func (c *NodeTypesListCall) OrderBy(orderBy string) *NodeTypesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -71763,38 +71227,15 @@ func (c *PacketMirroringsAggregatedListCall) OrderBy(orderBy string) *PacketMirr
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *PacketMirroringsAggregatedListCall) PageToken(pageToken string) *PacketMirroringsAggregatedListCall {
+func (c *NodeTypesListCall) PageToken(pageToken string) *NodeTypesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *PacketMirroringsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *PacketMirroringsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *PacketMirroringsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *PacketMirroringsAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PacketMirroringsAggregatedListCall) Fields(s ...googleapi.Field) *PacketMirroringsAggregatedListCall {
+func (c *NodeTypesListCall) Fields(s ...googleapi.Field) *NodeTypesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -71802,34 +71243,34 @@ func (c *PacketMirroringsAggregatedListCall) Fields(s ...googleapi.Field) *Packe
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *PacketMirroringsAggregatedListCall) IfNoneMatch(entityTag string) *PacketMirroringsAggregatedListCall {
+func (c *NodeTypesListCall) IfNoneMatch(entityTag string) *NodeTypesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PacketMirroringsAggregatedListCall) Context(ctx context.Context) *PacketMirroringsAggregatedListCall {
+func (c *NodeTypesListCall) Context(ctx context.Context) *NodeTypesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PacketMirroringsAggregatedListCall) Header() http.Header {
+func (c *NodeTypesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PacketMirroringsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *NodeTypesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/packetMirrorings")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeTypes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -71838,18 +71279,190 @@ func (c *PacketMirroringsAggregatedListCall) doRequest(alt string) (*http.Respon
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.nodeTypes.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.packetMirrorings.aggregatedList" call.
+// Do executes the "compute.nodeTypes.list" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *NodeTypeList.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *NodeTypesListCall) Do(opts ...googleapi.CallOption) (*NodeTypeList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &NodeTypeList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.nodeTypes.list", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *NodeTypesListCall) Pages(ctx context.Context, f func(*NodeTypeList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type OrganizationSecurityPoliciesAddAssociationCall struct {
+ s *Service
+ securityPolicy string
+ securitypolicyassociation *SecurityPolicyAssociation
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AddAssociation: Inserts an association for the specified security
+// policy.
+//
+// This has billing implications. Projects in the hierarchy with
+// effective
+// hierarchical security policies will be automatically enrolled into
+// Cloud
+// Armor Enterprise if not already enrolled.
+//
+// Use this API to modify Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to modify firewall policies. This usage
+// is
+// now disabled for most organizations. Use
+// firewallPolicies.addAssociation
+// instead.
+//
+// - securityPolicy: Name of the security policy to update.
+func (r *OrganizationSecurityPoliciesService) AddAssociation(securityPolicy string, securitypolicyassociation *SecurityPolicyAssociation) *OrganizationSecurityPoliciesAddAssociationCall {
+ c := &OrganizationSecurityPoliciesAddAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
+ c.securitypolicyassociation = securitypolicyassociation
+ return c
+}
+
+// ReplaceExistingAssociation sets the optional parameter
+// "replaceExistingAssociation": Indicates whether or not to replace it if an
+// association of the attachment
+// already exists. This is false by default, in which case an error will
+// be
+// returned if an association already exists.
+func (c *OrganizationSecurityPoliciesAddAssociationCall) ReplaceExistingAssociation(replaceExistingAssociation bool) *OrganizationSecurityPoliciesAddAssociationCall {
+ c.urlParams_.Set("replaceExistingAssociation", fmt.Sprint(replaceExistingAssociation))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *OrganizationSecurityPoliciesAddAssociationCall) RequestId(requestId string) *OrganizationSecurityPoliciesAddAssociationCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *OrganizationSecurityPoliciesAddAssociationCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesAddAssociationCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *OrganizationSecurityPoliciesAddAssociationCall) Context(ctx context.Context) *OrganizationSecurityPoliciesAddAssociationCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *OrganizationSecurityPoliciesAddAssociationCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *OrganizationSecurityPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyassociation)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/addAssociation")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "securityPolicy": c.securityPolicy,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.addAssociation", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.organizationSecurityPolicies.addAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PacketMirroringAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *PacketMirroringsAggregatedListCall) Do(opts ...googleapi.CallOption) (*PacketMirroringAggregatedList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *OrganizationSecurityPoliciesAddAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -71868,7 +71481,7 @@ func (c *PacketMirroringsAggregatedListCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PacketMirroringAggregatedList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -71879,51 +71492,32 @@ func (c *PacketMirroringsAggregatedListCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.addAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *PacketMirroringsAggregatedListCall) Pages(ctx context.Context, f func(*PacketMirroringAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type PacketMirroringsDeleteCall struct {
- s *Service
- project string
- region string
- packetMirroring string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesAddRuleCall struct {
+ s *Service
+ securityPolicy string
+ securitypolicyrule *SecurityPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified PacketMirroring resource.
+// AddRule: Inserts a rule into a security policy.
//
-// - packetMirroring: Name of the PacketMirroring resource to delete.
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *PacketMirroringsService) Delete(project string, region string, packetMirroring string) *PacketMirroringsDeleteCall {
- c := &PacketMirroringsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.packetMirroring = packetMirroring
+// Use this API to modify Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to modify firewall policies. This usage
+// is
+// now disabled for most organizations. Use firewallPolicies.addRule instead.
+//
+// - securityPolicy: Name of the security policy to update.
+func (r *OrganizationSecurityPoliciesService) AddRule(securityPolicy string, securitypolicyrule *SecurityPolicyRule) *OrganizationSecurityPoliciesAddRuleCall {
+ c := &OrganizationSecurityPoliciesAddRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
+ c.securitypolicyrule = securitypolicyrule
return c
}
@@ -71944,7 +71538,7 @@ func (r *PacketMirroringsService) Delete(project string, region string, packetMi
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *PacketMirroringsDeleteCall) RequestId(requestId string) *PacketMirroringsDeleteCall {
+func (c *OrganizationSecurityPoliciesAddRuleCall) RequestId(requestId string) *OrganizationSecurityPoliciesAddRuleCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -71952,52 +71546,54 @@ func (c *PacketMirroringsDeleteCall) RequestId(requestId string) *PacketMirrorin
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PacketMirroringsDeleteCall) Fields(s ...googleapi.Field) *PacketMirroringsDeleteCall {
+func (c *OrganizationSecurityPoliciesAddRuleCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesAddRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PacketMirroringsDeleteCall) Context(ctx context.Context) *PacketMirroringsDeleteCall {
+func (c *OrganizationSecurityPoliciesAddRuleCall) Context(ctx context.Context) *OrganizationSecurityPoliciesAddRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PacketMirroringsDeleteCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesAddRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PacketMirroringsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *OrganizationSecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/addRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "packetMirroring": c.packetMirroring,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.addRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.packetMirrorings.delete" call.
+// Do executes the "compute.organizationSecurityPolicies.addRule" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PacketMirroringsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *OrganizationSecurityPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -72027,95 +71623,111 @@ func (c *PacketMirroringsDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.addRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PacketMirroringsGetCall struct {
- s *Service
- project string
- region string
- packetMirroring string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesCopyRulesCall struct {
+ s *Service
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified PacketMirroring resource.
+// CopyRules: Copies rules to the specified security policy.
//
-// - packetMirroring: Name of the PacketMirroring resource to return.
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *PacketMirroringsService) Get(project string, region string, packetMirroring string) *PacketMirroringsGetCall {
- c := &PacketMirroringsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.packetMirroring = packetMirroring
+// Use this API to modify Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to modify firewall policies. This usage
+// is
+// now disabled for most organizations. Use
+// firewallPolicies.cloneRules
+// instead.
+//
+// - securityPolicy: Name of the security policy to update.
+func (r *OrganizationSecurityPoliciesService) CopyRules(securityPolicy string) *OrganizationSecurityPoliciesCopyRulesCall {
+ c := &OrganizationSecurityPoliciesCopyRulesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *OrganizationSecurityPoliciesCopyRulesCall) RequestId(requestId string) *OrganizationSecurityPoliciesCopyRulesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// SourceSecurityPolicy sets the optional parameter "sourceSecurityPolicy": The
+// security policy from which to copy rules.
+func (c *OrganizationSecurityPoliciesCopyRulesCall) SourceSecurityPolicy(sourceSecurityPolicy string) *OrganizationSecurityPoliciesCopyRulesCall {
+ c.urlParams_.Set("sourceSecurityPolicy", sourceSecurityPolicy)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PacketMirroringsGetCall) Fields(s ...googleapi.Field) *PacketMirroringsGetCall {
+func (c *OrganizationSecurityPoliciesCopyRulesCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesCopyRulesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *PacketMirroringsGetCall) IfNoneMatch(entityTag string) *PacketMirroringsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *PacketMirroringsGetCall) Context(ctx context.Context) *PacketMirroringsGetCall {
+func (c *OrganizationSecurityPoliciesCopyRulesCall) Context(ctx context.Context) *OrganizationSecurityPoliciesCopyRulesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PacketMirroringsGetCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesCopyRulesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PacketMirroringsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *OrganizationSecurityPoliciesCopyRulesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/copyRules")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "packetMirroring": c.packetMirroring,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.copyRules", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.packetMirrorings.get" call.
+// Do executes the "compute.organizationSecurityPolicies.copyRules" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PacketMirroring.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *PacketMirroringsGetCall) Do(opts ...googleapi.CallOption) (*PacketMirroring, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *OrganizationSecurityPoliciesCopyRulesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -72134,7 +71746,7 @@ func (c *PacketMirroringsGetCall) Do(opts ...googleapi.CallOption) (*PacketMirro
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PacketMirroring{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -72145,31 +71757,30 @@ func (c *PacketMirroringsGetCall) Do(opts ...googleapi.CallOption) (*PacketMirro
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.copyRules", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PacketMirroringsInsertCall struct {
- s *Service
- project string
- region string
- packetmirroring *PacketMirroring
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesDeleteCall struct {
+ s *Service
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a PacketMirroring resource in the specified project and
-// region
-// using the data included in the request.
+// Delete: Deletes the specified policy.
//
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *PacketMirroringsService) Insert(project string, region string, packetmirroring *PacketMirroring) *PacketMirroringsInsertCall {
- c := &PacketMirroringsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.packetmirroring = packetmirroring
+// Use this API to remove Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to remove firewall policies. This usage
+// is
+// now disabled for most organizations. Use firewallPolicies.delete instead.
+//
+// - securityPolicy: Name of the security policy to delete.
+func (r *OrganizationSecurityPoliciesService) Delete(securityPolicy string) *OrganizationSecurityPoliciesDeleteCall {
+ c := &OrganizationSecurityPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
return c
}
@@ -72190,7 +71801,7 @@ func (r *PacketMirroringsService) Insert(project string, region string, packetmi
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *PacketMirroringsInsertCall) RequestId(requestId string) *PacketMirroringsInsertCall {
+func (c *OrganizationSecurityPoliciesDeleteCall) RequestId(requestId string) *OrganizationSecurityPoliciesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -72198,55 +71809,50 @@ func (c *PacketMirroringsInsertCall) RequestId(requestId string) *PacketMirrorin
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PacketMirroringsInsertCall) Fields(s ...googleapi.Field) *PacketMirroringsInsertCall {
+func (c *OrganizationSecurityPoliciesDeleteCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PacketMirroringsInsertCall) Context(ctx context.Context) *PacketMirroringsInsertCall {
+func (c *OrganizationSecurityPoliciesDeleteCall) Context(ctx context.Context) *OrganizationSecurityPoliciesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PacketMirroringsInsertCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PacketMirroringsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.packetmirroring)
- if err != nil {
- return nil, err
- }
+func (c *OrganizationSecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.packetMirrorings.insert" call.
+// Do executes the "compute.organizationSecurityPolicies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PacketMirroringsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *OrganizationSecurityPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -72276,165 +71882,39 @@ func (c *PacketMirroringsInsertCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PacketMirroringsListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// List: Retrieves a list of PacketMirroring resources available to the
-// specified
-// project and region.
-//
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *PacketMirroringsService) List(project string, region string) *PacketMirroringsListCall {
- c := &PacketMirroringsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *PacketMirroringsListCall) Filter(filter string) *PacketMirroringsListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *PacketMirroringsListCall) MaxResults(maxResults int64) *PacketMirroringsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
+type OrganizationSecurityPoliciesGetCall struct {
+ s *Service
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// Get: List all of the ordered rules present in a single specified
+// policy.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *PacketMirroringsListCall) OrderBy(orderBy string) *PacketMirroringsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *PacketMirroringsListCall) PageToken(pageToken string) *PacketMirroringsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// Use this API to read Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to read firewall policies. This usage is
+// now
+// disabled for most organizations. Use firewallPolicies.get instead.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *PacketMirroringsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *PacketMirroringsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// - securityPolicy: Name of the security policy to get.
+func (r *OrganizationSecurityPoliciesService) Get(securityPolicy string) *OrganizationSecurityPoliciesGetCall {
+ c := &OrganizationSecurityPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PacketMirroringsListCall) Fields(s ...googleapi.Field) *PacketMirroringsListCall {
+func (c *OrganizationSecurityPoliciesGetCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -72442,34 +71922,34 @@ func (c *PacketMirroringsListCall) Fields(s ...googleapi.Field) *PacketMirroring
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *PacketMirroringsListCall) IfNoneMatch(entityTag string) *PacketMirroringsListCall {
+func (c *OrganizationSecurityPoliciesGetCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PacketMirroringsListCall) Context(ctx context.Context) *PacketMirroringsListCall {
+func (c *OrganizationSecurityPoliciesGetCall) Context(ctx context.Context) *OrganizationSecurityPoliciesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PacketMirroringsListCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PacketMirroringsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *OrganizationSecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -72477,20 +71957,18 @@ func (c *PacketMirroringsListCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.packetMirrorings.list" call.
+// Do executes the "compute.organizationSecurityPolicies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PacketMirroringList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *PacketMirroringsListCall) Do(opts ...googleapi.CallOption) (*PacketMirroringList, error) {
+// *SecurityPolicy.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *OrganizationSecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SecurityPolicy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -72509,7 +71987,7 @@ func (c *PacketMirroringsListCall) Do(opts ...googleapi.CallOption) (*PacketMirr
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PacketMirroringList{
+ ret := &SecurityPolicy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -72520,135 +71998,102 @@ func (c *PacketMirroringsListCall) Do(opts ...googleapi.CallOption) (*PacketMirr
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *PacketMirroringsListCall) Pages(ctx context.Context, f func(*PacketMirroringList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type PacketMirroringsPatchCall struct {
- s *Service
- project string
- region string
- packetMirroring string
- packetmirroring *PacketMirroring
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesGetAssociationCall struct {
+ s *Service
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified PacketMirroring resource with the data included
-// in
-// the request. This method supportsPATCH
-// semantics and usesJSON merge
-// patch format and processing rules.
+// GetAssociation: Gets an association with the specified name.
//
-// - packetMirroring: Name of the PacketMirroring resource to patch.
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *PacketMirroringsService) Patch(project string, region string, packetMirroring string, packetmirroring *PacketMirroring) *PacketMirroringsPatchCall {
- c := &PacketMirroringsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.packetMirroring = packetMirroring
- c.packetmirroring = packetmirroring
+// Use this API to read Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to read firewall policies. This usage is
+// now disabled for most organizations. Use
+// firewallPolicies.getAssociation
+// instead.
+//
+// - securityPolicy: Name of the security policy to which the queried rule
+// belongs.
+func (r *OrganizationSecurityPoliciesService) GetAssociation(securityPolicy string) *OrganizationSecurityPoliciesGetAssociationCall {
+ c := &OrganizationSecurityPoliciesGetAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *PacketMirroringsPatchCall) RequestId(requestId string) *PacketMirroringsPatchCall {
- c.urlParams_.Set("requestId", requestId)
+// Name sets the optional parameter "name": The name of the association to get
+// from the security policy.
+func (c *OrganizationSecurityPoliciesGetAssociationCall) Name(name string) *OrganizationSecurityPoliciesGetAssociationCall {
+ c.urlParams_.Set("name", name)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PacketMirroringsPatchCall) Fields(s ...googleapi.Field) *PacketMirroringsPatchCall {
+func (c *OrganizationSecurityPoliciesGetAssociationCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesGetAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *OrganizationSecurityPoliciesGetAssociationCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesGetAssociationCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *PacketMirroringsPatchCall) Context(ctx context.Context) *PacketMirroringsPatchCall {
+func (c *OrganizationSecurityPoliciesGetAssociationCall) Context(ctx context.Context) *OrganizationSecurityPoliciesGetAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PacketMirroringsPatchCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesGetAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PacketMirroringsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.packetmirroring)
- if err != nil {
- return nil, err
+func (c *OrganizationSecurityPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/getAssociation")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "packetMirroring": c.packetMirroring,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.getAssociation", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.packetMirrorings.patch" call.
+// Do executes the "compute.organizationSecurityPolicies.getAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *PacketMirroringsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *SecurityPolicyAssociation.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *OrganizationSecurityPoliciesGetAssociationCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyAssociation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -72667,7 +72112,7 @@ func (c *PacketMirroringsPatchCall) Do(opts ...googleapi.CallOption) (*Operation
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &SecurityPolicyAssociation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -72678,90 +72123,101 @@ func (c *PacketMirroringsPatchCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.getAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PacketMirroringsTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesGetRuleCall struct {
+ s *Service
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// GetRule: Gets a rule at the specified priority.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *PacketMirroringsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *PacketMirroringsTestIamPermissionsCall {
- c := &PacketMirroringsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+// Use this API to read Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to read firewall policies. This usage is
+// now
+// disabled for most organizations. Use firewallPolicies.getRule instead.
+//
+// - securityPolicy: Name of the security policy to which the queried rule
+// belongs.
+func (r *OrganizationSecurityPoliciesService) GetRule(securityPolicy string) *OrganizationSecurityPoliciesGetRuleCall {
+ c := &OrganizationSecurityPoliciesGetRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// get from the security policy.
+func (c *OrganizationSecurityPoliciesGetRuleCall) Priority(priority int64) *OrganizationSecurityPoliciesGetRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PacketMirroringsTestIamPermissionsCall) Fields(s ...googleapi.Field) *PacketMirroringsTestIamPermissionsCall {
+func (c *OrganizationSecurityPoliciesGetRuleCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesGetRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *OrganizationSecurityPoliciesGetRuleCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesGetRuleCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *PacketMirroringsTestIamPermissionsCall) Context(ctx context.Context) *PacketMirroringsTestIamPermissionsCall {
+func (c *OrganizationSecurityPoliciesGetRuleCall) Context(ctx context.Context) *OrganizationSecurityPoliciesGetRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PacketMirroringsTestIamPermissionsCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesGetRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PacketMirroringsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *OrganizationSecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/getRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.getRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.packetMirrorings.testIamPermissions" call.
+// Do executes the "compute.organizationSecurityPolicies.getRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *PacketMirroringsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *SecurityPolicyRule.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *OrganizationSecurityPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyRule, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -72780,7 +72236,7 @@ func (c *PacketMirroringsTestIamPermissionsCall) Do(opts ...googleapi.CallOption
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &SecurityPolicyRule{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -72791,90 +72247,112 @@ func (c *PacketMirroringsTestIamPermissionsCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.getRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PreviewFeaturesGetCall struct {
+type OrganizationSecurityPoliciesInsertCall struct {
s *Service
- project string
- previewFeature string
+ securitypolicy *SecurityPolicy
urlParams_ gensupport.URLParams
- ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the details of the given PreviewFeature.
+// Insert: Creates a new policy in the specified organization using the data
+// included
+// in the request.
//
-// - previewFeature: Name of the PreviewFeature for this request.
-// - project: Project ID for this request.
-func (r *PreviewFeaturesService) Get(project string, previewFeature string) *PreviewFeaturesGetCall {
- c := &PreviewFeaturesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.previewFeature = previewFeature
+// Use this API to add Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to add firewall policies. This usage is
+// now
+// disabled for most organizations. Use firewallPolicies.insert instead.
+func (r *OrganizationSecurityPoliciesService) Insert(securitypolicy *SecurityPolicy) *OrganizationSecurityPoliciesInsertCall {
+ c := &OrganizationSecurityPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securitypolicy = securitypolicy
+ return c
+}
+
+// ParentId sets the optional parameter "parentId": Parent ID for this request.
+// The ID can be either be "folders/[FOLDER_ID]"
+// if the parent is a folder or "organizations/[ORGANIZATION_ID]" if the
+// parent is an organization.
+func (c *OrganizationSecurityPoliciesInsertCall) ParentId(parentId string) *OrganizationSecurityPoliciesInsertCall {
+ c.urlParams_.Set("parentId", parentId)
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *OrganizationSecurityPoliciesInsertCall) RequestId(requestId string) *OrganizationSecurityPoliciesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PreviewFeaturesGetCall) Fields(s ...googleapi.Field) *PreviewFeaturesGetCall {
+func (c *OrganizationSecurityPoliciesInsertCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *PreviewFeaturesGetCall) IfNoneMatch(entityTag string) *PreviewFeaturesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *PreviewFeaturesGetCall) Context(ctx context.Context) *PreviewFeaturesGetCall {
+func (c *OrganizationSecurityPoliciesInsertCall) Context(ctx context.Context) *OrganizationSecurityPoliciesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PreviewFeaturesGetCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PreviewFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *OrganizationSecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/previewFeatures/{previewFeature}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "previewFeature": c.previewFeature,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.previewFeatures.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.previewFeatures.get" call.
+// Do executes the "compute.organizationSecurityPolicies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PreviewFeature.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PreviewFeaturesGetCall) Do(opts ...googleapi.CallOption) (*PreviewFeature, error) {
+func (c *OrganizationSecurityPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -72893,7 +72371,7 @@ func (c *PreviewFeaturesGetCall) Do(opts ...googleapi.CallOption) (*PreviewFeatu
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PreviewFeature{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -72904,25 +72382,29 @@ func (c *PreviewFeaturesGetCall) Do(opts ...googleapi.CallOption) (*PreviewFeatu
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.previewFeatures.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PreviewFeaturesListCall struct {
+type OrganizationSecurityPoliciesListCall struct {
s *Service
- project string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Returns the details of the given PreviewFeature.
+// List: List all the policies that have been configured for the
+// specified
+// organization.
//
-// - project: Project ID for this request.
-func (r *PreviewFeaturesService) List(project string) *PreviewFeaturesListCall {
- c := &PreviewFeaturesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
+// Use this API to read Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to read firewall policies. This usage is
+// now
+// disabled for most organizations. Use firewallPolicies.list instead.
+func (r *OrganizationSecurityPoliciesService) List() *OrganizationSecurityPoliciesListCall {
+ c := &OrganizationSecurityPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
return c
}
@@ -72993,7 +72475,7 @@ func (r *PreviewFeaturesService) List(project string) *PreviewFeaturesListCall {
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *PreviewFeaturesListCall) Filter(filter string) *PreviewFeaturesListCall {
+func (c *OrganizationSecurityPoliciesListCall) Filter(filter string) *OrganizationSecurityPoliciesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -73005,7 +72487,7 @@ func (c *PreviewFeaturesListCall) Filter(filter string) *PreviewFeaturesListCall
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *PreviewFeaturesListCall) MaxResults(maxResults int64) *PreviewFeaturesListCall {
+func (c *OrganizationSecurityPoliciesListCall) MaxResults(maxResults int64) *OrganizationSecurityPoliciesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -73025,7 +72507,7 @@ func (c *PreviewFeaturesListCall) MaxResults(maxResults int64) *PreviewFeaturesL
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *PreviewFeaturesListCall) OrderBy(orderBy string) *PreviewFeaturesListCall {
+func (c *OrganizationSecurityPoliciesListCall) OrderBy(orderBy string) *OrganizationSecurityPoliciesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -73034,30 +72516,21 @@ func (c *PreviewFeaturesListCall) OrderBy(orderBy string) *PreviewFeaturesListCa
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *PreviewFeaturesListCall) PageToken(pageToken string) *PreviewFeaturesListCall {
+func (c *OrganizationSecurityPoliciesListCall) PageToken(pageToken string) *OrganizationSecurityPoliciesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *PreviewFeaturesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *PreviewFeaturesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ParentId sets the optional parameter "parentId": Parent ID for this request.
+func (c *OrganizationSecurityPoliciesListCall) ParentId(parentId string) *OrganizationSecurityPoliciesListCall {
+ c.urlParams_.Set("parentId", parentId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PreviewFeaturesListCall) Fields(s ...googleapi.Field) *PreviewFeaturesListCall {
+func (c *OrganizationSecurityPoliciesListCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -73065,54 +72538,51 @@ func (c *PreviewFeaturesListCall) Fields(s ...googleapi.Field) *PreviewFeaturesL
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *PreviewFeaturesListCall) IfNoneMatch(entityTag string) *PreviewFeaturesListCall {
+func (c *OrganizationSecurityPoliciesListCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PreviewFeaturesListCall) Context(ctx context.Context) *PreviewFeaturesListCall {
+func (c *OrganizationSecurityPoliciesListCall) Context(ctx context.Context) *OrganizationSecurityPoliciesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PreviewFeaturesListCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PreviewFeaturesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *OrganizationSecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/previewFeatures")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.previewFeatures.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.previewFeatures.list" call.
+// Do executes the "compute.organizationSecurityPolicies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PreviewFeatureList.ServerResponse.Header or (if a response was returned at
+// *SecurityPolicyList.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *PreviewFeaturesListCall) Do(opts ...googleapi.CallOption) (*PreviewFeatureList, error) {
+func (c *OrganizationSecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -73131,7 +72601,7 @@ func (c *PreviewFeaturesListCall) Do(opts ...googleapi.CallOption) (*PreviewFeat
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PreviewFeatureList{
+ ret := &SecurityPolicyList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -73142,14 +72612,14 @@ func (c *PreviewFeaturesListCall) Do(opts ...googleapi.CallOption) (*PreviewFeat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.previewFeatures.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *PreviewFeaturesListCall) Pages(ctx context.Context, f func(*PreviewFeatureList) error) error {
+func (c *OrganizationSecurityPoliciesListCall) Pages(ctx context.Context, f func(*SecurityPolicyList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -73167,223 +72637,92 @@ func (c *PreviewFeaturesListCall) Pages(ctx context.Context, f func(*PreviewFeat
}
}
-type PreviewFeaturesUpdateCall struct {
- s *Service
- project string
- previewFeature string
- previewfeature *PreviewFeature
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Update: Patches the given PreviewFeature. This method is used to enable or
-// disable
-// a PreviewFeature.
-//
-// - previewFeature: Name of the PreviewFeature for this request.
-// - project: Project ID for this request.
-func (r *PreviewFeaturesService) Update(project string, previewFeature string, previewfeature *PreviewFeature) *PreviewFeaturesUpdateCall {
- c := &PreviewFeaturesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.previewFeature = previewFeature
- c.previewfeature = previewfeature
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *PreviewFeaturesUpdateCall) RequestId(requestId string) *PreviewFeaturesUpdateCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *PreviewFeaturesUpdateCall) Fields(s ...googleapi.Field) *PreviewFeaturesUpdateCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *PreviewFeaturesUpdateCall) Context(ctx context.Context) *PreviewFeaturesUpdateCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *PreviewFeaturesUpdateCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *PreviewFeaturesUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.previewfeature)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/previewFeatures/{previewFeature}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "previewFeature": c.previewFeature,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.previewFeatures.update", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.previewFeatures.update" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *PreviewFeaturesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.previewFeatures.update", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type ProjectsDisableXpnHostCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesListAssociationsCall struct {
+ s *Service
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// DisableXpnHost: Disable this project as a shared VPC host project.
+// ListAssociations: Lists associations of a specified target, i.e.,
+// organization or folder.
//
-// - project: Project ID for this request.
-func (r *ProjectsService) DisableXpnHost(project string) *ProjectsDisableXpnHostCall {
- c := &ProjectsDisableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
+// Use this API to read Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to read firewall policies. This usage is
+// now disabled for most organizations. Use
+// firewallPolicies.listAssociations
+// instead.
+func (r *OrganizationSecurityPoliciesService) ListAssociations() *OrganizationSecurityPoliciesListAssociationsCall {
+ c := &OrganizationSecurityPoliciesListAssociationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsDisableXpnHostCall) RequestId(requestId string) *ProjectsDisableXpnHostCall {
- c.urlParams_.Set("requestId", requestId)
+// TargetResource sets the optional parameter "targetResource": The target
+// resource to list associations. It is an organization, or a
+// folder.
+func (c *OrganizationSecurityPoliciesListAssociationsCall) TargetResource(targetResource string) *OrganizationSecurityPoliciesListAssociationsCall {
+ c.urlParams_.Set("targetResource", targetResource)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsDisableXpnHostCall) Fields(s ...googleapi.Field) *ProjectsDisableXpnHostCall {
+func (c *OrganizationSecurityPoliciesListAssociationsCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesListAssociationsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *OrganizationSecurityPoliciesListAssociationsCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesListAssociationsCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsDisableXpnHostCall) Context(ctx context.Context) *ProjectsDisableXpnHostCall {
+func (c *OrganizationSecurityPoliciesListAssociationsCall) Context(ctx context.Context) *OrganizationSecurityPoliciesListAssociationsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsDisableXpnHostCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesListAssociationsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsDisableXpnHostCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *OrganizationSecurityPoliciesListAssociationsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/disableXpnHost")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/listAssociations")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.disableXpnHost", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.listAssociations", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.disableXpnHost" call.
+// Do executes the "compute.organizationSecurityPolicies.listAssociations" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *OrganizationSecurityPoliciesListAssociationsResponse.ServerResponse.Header
+// or (if a response was returned at all) in error.(*googleapi.Error).Header.
+// Use googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *OrganizationSecurityPoliciesListAssociationsCall) Do(opts ...googleapi.CallOption) (*OrganizationSecurityPoliciesListAssociationsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -73402,7 +72741,7 @@ func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operatio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &OrganizationSecurityPoliciesListAssociationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -73413,104 +72752,201 @@ func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.disableXpnHost", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.listAssociations", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsDisableXpnResourceCall struct {
- s *Service
- project string
- projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall struct {
+ s *Service
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// DisableXpnResource: Disable a service resource (also known as service
-// project) associated with
-// this host project.
+// ListPreconfiguredExpressionSets: Gets the current list of preconfigured Web
+// Application Firewall (WAF)
+// expressions.
+func (r *OrganizationSecurityPoliciesService) ListPreconfiguredExpressionSets() *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+ c := &OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// - project: Project ID for this request.
-func (r *ProjectsService) DisableXpnResource(project string, projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest) *ProjectsDisableXpnResourceCall {
- c := &ProjectsDisableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.projectsdisablexpnresourcerequest = projectsdisablexpnresourcerequest
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Filter(filter string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) MaxResults(maxResults int64) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsDisableXpnResourceCall) RequestId(requestId string) *ProjectsDisableXpnResourceCall {
- c.urlParams_.Set("requestId", requestId)
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) OrderBy(orderBy string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) PageToken(pageToken string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ParentId sets the optional parameter "parentId": Parent ID for this request.
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) ParentId(parentId string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+ c.urlParams_.Set("parentId", parentId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsDisableXpnResourceCall) Fields(s ...googleapi.Field) *ProjectsDisableXpnResourceCall {
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) IfNoneMatch(entityTag string) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsDisableXpnResourceCall) Context(ctx context.Context) *ProjectsDisableXpnResourceCall {
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Context(ctx context.Context) *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsDisableXpnResourceCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsDisableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectsdisablexpnresourcerequest)
- if err != nil {
- return nil, err
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/disableXpnResource")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/listPreconfiguredExpressionSets")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.disableXpnResource", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.disableXpnResource" call.
+// Do executes the "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *SecurityPoliciesListPreconfiguredExpressionSetsResponse.ServerResponse.Heade
+// r or (if a response was returned at all) in error.(*googleapi.Error).Header.
+// Use googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *OrganizationSecurityPoliciesListPreconfiguredExpressionSetsCall) Do(opts ...googleapi.CallOption) (*SecurityPoliciesListPreconfiguredExpressionSetsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -73529,7 +72965,7 @@ func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Oper
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &SecurityPoliciesListPreconfiguredExpressionSetsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -73540,24 +72976,37 @@ func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.disableXpnResource", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsEnableXpnHostCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesMoveCall struct {
+ s *Service
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// EnableXpnHost: Enable this project as a shared VPC host project.
+// Move: Moves the specified security policy.
//
-// - project: Project ID for this request.
-func (r *ProjectsService) EnableXpnHost(project string) *ProjectsEnableXpnHostCall {
- c := &ProjectsEnableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
+// Use this API to modify Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to modify firewall policies. This usage
+// is
+// now disabled for most organizations. Use firewallPolicies.move instead.
+//
+// - securityPolicy: Name of the security policy to update.
+func (r *OrganizationSecurityPoliciesService) Move(securityPolicy string) *OrganizationSecurityPoliciesMoveCall {
+ c := &OrganizationSecurityPoliciesMoveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
+ return c
+}
+
+// ParentId sets the optional parameter "parentId": The new parent of the
+// security policy.
+func (c *OrganizationSecurityPoliciesMoveCall) ParentId(parentId string) *OrganizationSecurityPoliciesMoveCall {
+ c.urlParams_.Set("parentId", parentId)
return c
}
@@ -73578,7 +73027,7 @@ func (r *ProjectsService) EnableXpnHost(project string) *ProjectsEnableXpnHostCa
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsEnableXpnHostCall) RequestId(requestId string) *ProjectsEnableXpnHostCall {
+func (c *OrganizationSecurityPoliciesMoveCall) RequestId(requestId string) *OrganizationSecurityPoliciesMoveCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -73586,31 +73035,31 @@ func (c *ProjectsEnableXpnHostCall) RequestId(requestId string) *ProjectsEnableX
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsEnableXpnHostCall) Fields(s ...googleapi.Field) *ProjectsEnableXpnHostCall {
+func (c *OrganizationSecurityPoliciesMoveCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesMoveCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsEnableXpnHostCall) Context(ctx context.Context) *ProjectsEnableXpnHostCall {
+func (c *OrganizationSecurityPoliciesMoveCall) Context(ctx context.Context) *OrganizationSecurityPoliciesMoveCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsEnableXpnHostCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesMoveCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsEnableXpnHostCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *OrganizationSecurityPoliciesMoveCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/enableXpnHost")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/move")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, nil)
if err != nil {
@@ -73618,18 +73067,18 @@ func (c *ProjectsEnableXpnHostCall) doRequest(alt string) (*http.Response, error
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.enableXpnHost", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.move", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.enableXpnHost" call.
+// Do executes the "compute.organizationSecurityPolicies.move" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsEnableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *OrganizationSecurityPoliciesMoveCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -73659,29 +73108,33 @@ func (c *ProjectsEnableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.enableXpnHost", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.move", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsEnableXpnResourceCall struct {
- s *Service
- project string
- projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesPatchCall struct {
+ s *Service
+ securityPolicy string
+ securitypolicy *SecurityPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// EnableXpnResource: Enable service resource (a.k.a service project) for a
-// host project, so that
-// subnets in the host project can be used by instances in the service
-// project.
+// Patch: Patches the specified policy with the data included in the
+// request.
//
-// - project: Project ID for this request.
-func (r *ProjectsService) EnableXpnResource(project string, projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest) *ProjectsEnableXpnResourceCall {
- c := &ProjectsEnableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.projectsenablexpnresourcerequest = projectsenablexpnresourcerequest
+// Use this API to modify Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to modify firewall policies. This usage
+// is
+// now disabled for most organizations. Use firewallPolicies.patch instead.
+//
+// - securityPolicy: Name of the security policy to update.
+func (r *OrganizationSecurityPoliciesService) Patch(securityPolicy string, securitypolicy *SecurityPolicy) *OrganizationSecurityPoliciesPatchCall {
+ c := &OrganizationSecurityPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
+ c.securitypolicy = securitypolicy
return c
}
@@ -73702,7 +73155,7 @@ func (r *ProjectsService) EnableXpnResource(project string, projectsenablexpnres
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsEnableXpnResourceCall) RequestId(requestId string) *ProjectsEnableXpnResourceCall {
+func (c *OrganizationSecurityPoliciesPatchCall) RequestId(requestId string) *OrganizationSecurityPoliciesPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -73710,54 +73163,54 @@ func (c *ProjectsEnableXpnResourceCall) RequestId(requestId string) *ProjectsEna
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsEnableXpnResourceCall) Fields(s ...googleapi.Field) *ProjectsEnableXpnResourceCall {
+func (c *OrganizationSecurityPoliciesPatchCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsEnableXpnResourceCall) Context(ctx context.Context) *ProjectsEnableXpnResourceCall {
+func (c *OrganizationSecurityPoliciesPatchCall) Context(ctx context.Context) *OrganizationSecurityPoliciesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsEnableXpnResourceCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsEnableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectsenablexpnresourcerequest)
+func (c *OrganizationSecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/enableXpnResource")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.enableXpnResource", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.enableXpnResource" call.
+// Do executes the "compute.organizationSecurityPolicies.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsEnableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *OrganizationSecurityPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -73787,98 +73240,116 @@ func (c *ProjectsEnableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Opera
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.enableXpnResource", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsGetCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesPatchRuleCall struct {
+ s *Service
+ securityPolicy string
+ securitypolicyrule *SecurityPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified Project resource.
+// PatchRule: Patches a rule at the specified priority.
//
-// To decrease latency for this method, you can optionally omit any
-// unneeded
-// information from the response by using a field mask. This practice
+// Use this API to modify Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to modify firewall policies. This usage
// is
-// especially recommended for unused quota information (the `quotas` field).
-// To exclude one or more fields, set your request's `fields` query
-// parameter
-// to only include the fields you need. For example, to only include the
-// `id`
-// and `selfLink` fields, add the query parameter `?fields=id,selfLink` to
-// your request.
+// now disabled for most organizations. Use firewallPolicies.patchRule
+// instead.
//
-// - project: Project ID for this request.
-func (r *ProjectsService) Get(project string) *ProjectsGetCall {
- c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
+// - securityPolicy: Name of the security policy to update.
+func (r *OrganizationSecurityPoliciesService) PatchRule(securityPolicy string, securitypolicyrule *SecurityPolicyRule) *OrganizationSecurityPoliciesPatchRuleCall {
+ c := &OrganizationSecurityPoliciesPatchRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
+ c.securitypolicyrule = securitypolicyrule
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// patch.
+func (c *OrganizationSecurityPoliciesPatchRuleCall) Priority(priority int64) *OrganizationSecurityPoliciesPatchRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *OrganizationSecurityPoliciesPatchRuleCall) RequestId(requestId string) *OrganizationSecurityPoliciesPatchRuleCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
+func (c *OrganizationSecurityPoliciesPatchRuleCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesPatchRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
+func (c *OrganizationSecurityPoliciesPatchRuleCall) Context(ctx context.Context) *OrganizationSecurityPoliciesPatchRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsGetCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesPatchRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *OrganizationSecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/patchRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.patchRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.get" call.
+// Do executes the "compute.organizationSecurityPolicies.patchRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Project.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
+func (c *OrganizationSecurityPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -73897,7 +73368,7 @@ func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Project{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -73908,88 +73379,112 @@ func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.patchRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsGetXpnHostCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type OrganizationSecurityPoliciesRemoveAssociationCall struct {
+ s *Service
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetXpnHost: Gets the shared VPC host project that this project links to. May
-// be empty
-// if no link exists.
+// RemoveAssociation: Removes an association for the specified security
+// policy.
+//
+// Use this API to modify Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to modify firewall policies. This usage
+// is
+// now disabled for most organizations. Use
+// firewallPolicies.removeAssociation
+// instead.
+//
+// - securityPolicy: Name of the security policy to update.
+func (r *OrganizationSecurityPoliciesService) RemoveAssociation(securityPolicy string) *OrganizationSecurityPoliciesRemoveAssociationCall {
+ c := &OrganizationSecurityPoliciesRemoveAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
+ return c
+}
+
+// Name sets the optional parameter "name": Name for the attachment that will
+// be removed.
+func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Name(name string) *OrganizationSecurityPoliciesRemoveAssociationCall {
+ c.urlParams_.Set("name", name)
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// - project: Project ID for this request.
-func (r *ProjectsService) GetXpnHost(project string) *ProjectsGetXpnHostCall {
- c := &ProjectsGetXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *OrganizationSecurityPoliciesRemoveAssociationCall) RequestId(requestId string) *OrganizationSecurityPoliciesRemoveAssociationCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsGetXpnHostCall) Fields(s ...googleapi.Field) *ProjectsGetXpnHostCall {
+func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesRemoveAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ProjectsGetXpnHostCall) IfNoneMatch(entityTag string) *ProjectsGetXpnHostCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsGetXpnHostCall) Context(ctx context.Context) *ProjectsGetXpnHostCall {
+func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Context(ctx context.Context) *OrganizationSecurityPoliciesRemoveAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsGetXpnHostCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsGetXpnHostCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *OrganizationSecurityPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/getXpnHost")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/removeAssociation")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.getXpnHost", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.removeAssociation", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.getXpnHost" call.
+// Do executes the "compute.organizationSecurityPolicies.removeAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Project.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsGetXpnHostCall) Do(opts ...googleapi.CallOption) (*Project, error) {
+func (c *OrganizationSecurityPoliciesRemoveAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -74008,7 +73503,7 @@ func (c *ProjectsGetXpnHostCall) Do(opts ...googleapi.CallOption) (*Project, err
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Project{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -74019,217 +73514,111 @@ func (c *ProjectsGetXpnHostCall) Do(opts ...googleapi.CallOption) (*Project, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.getXpnHost", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.removeAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsGetXpnResourcesCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// GetXpnResources: Gets service resources (a.k.a service project) associated
-// with this host
-// project.
-//
-// - project: Project ID for this request.
-func (r *ProjectsService) GetXpnResources(project string) *ProjectsGetXpnResourcesCall {
- c := &ProjectsGetXpnResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- return c
+type OrganizationSecurityPoliciesRemoveRuleCall struct {
+ s *Service
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
+// RemoveRule: Deletes a rule at the specified priority.
//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
+// Use this API to modify Cloud Armor policies. Previously, alpha and
+// beta
+// versions of this API were used to modify firewall policies. This usage
+// is
+// now disabled for most organizations. Use
+// firewallPolicies.removeRule
+// instead.
//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *ProjectsGetXpnResourcesCall) Filter(filter string) *ProjectsGetXpnResourcesCall {
- c.urlParams_.Set("filter", filter)
+// - securityPolicy: Name of the security policy to update.
+func (r *OrganizationSecurityPoliciesService) RemoveRule(securityPolicy string) *OrganizationSecurityPoliciesRemoveRuleCall {
+ c := &OrganizationSecurityPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.securityPolicy = securityPolicy
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *ProjectsGetXpnResourcesCall) MaxResults(maxResults int64) *ProjectsGetXpnResourcesCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// Priority sets the optional parameter "priority": The priority of the rule to
+// remove from the security policy.
+func (c *OrganizationSecurityPoliciesRemoveRuleCall) Priority(priority int64) *OrganizationSecurityPoliciesRemoveRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *ProjectsGetXpnResourcesCall) OrderBy(orderBy string) *ProjectsGetXpnResourcesCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *ProjectsGetXpnResourcesCall) PageToken(pageToken string) *ProjectsGetXpnResourcesCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ProjectsGetXpnResourcesCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsGetXpnResourcesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *OrganizationSecurityPoliciesRemoveRuleCall) RequestId(requestId string) *OrganizationSecurityPoliciesRemoveRuleCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsGetXpnResourcesCall) Fields(s ...googleapi.Field) *ProjectsGetXpnResourcesCall {
+func (c *OrganizationSecurityPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *OrganizationSecurityPoliciesRemoveRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ProjectsGetXpnResourcesCall) IfNoneMatch(entityTag string) *ProjectsGetXpnResourcesCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsGetXpnResourcesCall) Context(ctx context.Context) *ProjectsGetXpnResourcesCall {
+func (c *OrganizationSecurityPoliciesRemoveRuleCall) Context(ctx context.Context) *OrganizationSecurityPoliciesRemoveRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsGetXpnResourcesCall) Header() http.Header {
+func (c *OrganizationSecurityPoliciesRemoveRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsGetXpnResourcesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *OrganizationSecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/getXpnResources")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "locations/global/securityPolicies/{securityPolicy}/removeRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.getXpnResources", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.removeRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.getXpnResources" call.
+// Do executes the "compute.organizationSecurityPolicies.removeRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ProjectsGetXpnResources.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ProjectsGetXpnResourcesCall) Do(opts ...googleapi.CallOption) (*ProjectsGetXpnResources, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *OrganizationSecurityPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -74248,7 +73637,7 @@ func (c *ProjectsGetXpnResourcesCall) Do(opts ...googleapi.CallOption) (*Project
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ProjectsGetXpnResources{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -74259,48 +73648,29 @@ func (c *ProjectsGetXpnResourcesCall) Do(opts ...googleapi.CallOption) (*Project
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.getXpnResources", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.organizationSecurityPolicies.removeRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *ProjectsGetXpnResourcesCall) Pages(ctx context.Context, f func(*ProjectsGetXpnResources) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type ProjectsListXpnHostsCall struct {
- s *Service
- project string
- projectslistxpnhostsrequest *ProjectsListXpnHostsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PacketMirroringsAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// ListXpnHosts: Lists all shared VPC host projects visible to the user in an
-// organization.
+// AggregatedList: Retrieves an aggregated list of packetMirrorings.
+//
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-func (r *ProjectsService) ListXpnHosts(project string, projectslistxpnhostsrequest *ProjectsListXpnHostsRequest) *ProjectsListXpnHostsCall {
- c := &ProjectsListXpnHostsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *PacketMirroringsService) AggregatedList(project string) *PacketMirroringsAggregatedListCall {
+ c := &PacketMirroringsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.projectslistxpnhostsrequest = projectslistxpnhostsrequest
return c
}
@@ -74371,265 +73741,119 @@ func (r *ProjectsService) ListXpnHosts(project string, projectslistxpnhostsreque
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ProjectsListXpnHostsCall) Filter(filter string) *ProjectsListXpnHostsCall {
+func (c *PacketMirroringsAggregatedListCall) Filter(filter string) *PacketMirroringsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *PacketMirroringsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *PacketMirroringsAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
// Compute Engine returns a `nextPageToken` that can be used to get
// the next page of results in subsequent list requests. Acceptable values
// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *ProjectsListXpnHostsCall) MaxResults(maxResults int64) *ProjectsListXpnHostsCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *ProjectsListXpnHostsCall) OrderBy(orderBy string) *ProjectsListXpnHostsCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *ProjectsListXpnHostsCall) PageToken(pageToken string) *ProjectsListXpnHostsCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ProjectsListXpnHostsCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsListXpnHostsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *ProjectsListXpnHostsCall) Fields(s ...googleapi.Field) *ProjectsListXpnHostsCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *ProjectsListXpnHostsCall) Context(ctx context.Context) *ProjectsListXpnHostsCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *ProjectsListXpnHostsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *ProjectsListXpnHostsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectslistxpnhostsrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/listXpnHosts")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.listXpnHosts", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.projects.listXpnHosts" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *XpnHostList.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsListXpnHostsCall) Do(opts ...googleapi.CallOption) (*XpnHostList, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &XpnHostList{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.listXpnHosts", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *ProjectsListXpnHostsCall) Pages(ctx context.Context, f func(*XpnHostList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type ProjectsMoveDiskCall struct {
- s *Service
- project string
- diskmoverequest *DiskMoveRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// MoveDisk: Moves a persistent disk from one zone to another.
-// *Note*: The moveDisk API will be deprecated on September 29, 2026.
-//
-// Starting September 29, 2025, you can't use the moveDisk API on new
-// projects. To move a disk to a different region or zone, follow the steps
-// in
-// Change the location of a
-// disk
-// (https://cloud.google.com/compute/docs/disks/migrate-to-hyperdisk#migrate-to-hd).
-//
-// Projects that already use the moveDisk API can continue usage
-// until
-// September 29, 2026.
-//
-// Starting November 1, 2025, API responses will include a warning message
-// in
-// the response body about the upcoming deprecation. You can skip the
-// message
-// to continue using the service without interruption.
-//
-// - project: Project ID for this request.
-func (r *ProjectsService) MoveDisk(project string, diskmoverequest *DiskMoveRequest) *ProjectsMoveDiskCall {
- c := &ProjectsMoveDiskCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.diskmoverequest = diskmoverequest
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *PacketMirroringsAggregatedListCall) MaxResults(maxResults int64) *PacketMirroringsAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsMoveDiskCall) RequestId(requestId string) *ProjectsMoveDiskCall {
- c.urlParams_.Set("requestId", requestId)
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *PacketMirroringsAggregatedListCall) OrderBy(orderBy string) *PacketMirroringsAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *PacketMirroringsAggregatedListCall) PageToken(pageToken string) *PacketMirroringsAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *PacketMirroringsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *PacketMirroringsAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsMoveDiskCall) Fields(s ...googleapi.Field) *ProjectsMoveDiskCall {
+func (c *PacketMirroringsAggregatedListCall) Fields(s ...googleapi.Field) *PacketMirroringsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *PacketMirroringsAggregatedListCall) IfNoneMatch(entityTag string) *PacketMirroringsAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsMoveDiskCall) Context(ctx context.Context) *ProjectsMoveDiskCall {
+func (c *PacketMirroringsAggregatedListCall) Context(ctx context.Context) *PacketMirroringsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsMoveDiskCall) Header() http.Header {
+func (c *PacketMirroringsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsMoveDiskCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.diskmoverequest)
- if err != nil {
- return nil, err
+func (c *PacketMirroringsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/moveDisk")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/packetMirrorings")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -74637,16 +73861,17 @@ func (c *ProjectsMoveDiskCall) doRequest(alt string) (*http.Response, error) {
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.moveDisk", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.moveDisk" call.
+// Do executes the "compute.packetMirrorings.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsMoveDiskCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *PacketMirroringAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *PacketMirroringsAggregatedListCall) Do(opts ...googleapi.CallOption) (*PacketMirroringAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -74665,7 +73890,7 @@ func (c *ProjectsMoveDiskCall) Do(opts ...googleapi.CallOption) (*Operation, err
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &PacketMirroringAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -74676,37 +73901,51 @@ func (c *ProjectsMoveDiskCall) Do(opts ...googleapi.CallOption) (*Operation, err
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.moveDisk", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsMoveInstanceCall struct {
- s *Service
- project string
- instancemoverequest *InstanceMoveRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *PacketMirroringsAggregatedListCall) Pages(ctx context.Context, f func(*PacketMirroringAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// MoveInstance: Moves an instance and its attached persistent disks from one
-// zone to
-// another.
-// *Note*: Moving VMs or disks by using this method might
-//
-// cause unexpected behavior. For more information, see the known
-// issue
-//
-// (/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_mov
-// einstance_api_or_the_causes_unexpected_behavior).
-// [Deprecated] This method is deprecated. See moving instance across
-// zones (/compute/docs/instances/moving-instance-across-zones) instead.
+type PacketMirroringsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ packetMirroring string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified PacketMirroring resource.
//
+// - packetMirroring: Name of the PacketMirroring resource to delete.
// - project: Project ID for this request.
-func (r *ProjectsService) MoveInstance(project string, instancemoverequest *InstanceMoveRequest) *ProjectsMoveInstanceCall {
- c := &ProjectsMoveInstanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *PacketMirroringsService) Delete(project string, region string, packetMirroring string) *PacketMirroringsDeleteCall {
+ c := &PacketMirroringsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.instancemoverequest = instancemoverequest
+ c.region = region
+ c.packetMirroring = packetMirroring
return c
}
@@ -74727,7 +73966,7 @@ func (r *ProjectsService) MoveInstance(project string, instancemoverequest *Inst
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsMoveInstanceCall) RequestId(requestId string) *ProjectsMoveInstanceCall {
+func (c *PacketMirroringsDeleteCall) RequestId(requestId string) *PacketMirroringsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -74735,54 +73974,52 @@ func (c *ProjectsMoveInstanceCall) RequestId(requestId string) *ProjectsMoveInst
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsMoveInstanceCall) Fields(s ...googleapi.Field) *ProjectsMoveInstanceCall {
+func (c *PacketMirroringsDeleteCall) Fields(s ...googleapi.Field) *PacketMirroringsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsMoveInstanceCall) Context(ctx context.Context) *ProjectsMoveInstanceCall {
+func (c *PacketMirroringsDeleteCall) Context(ctx context.Context) *PacketMirroringsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsMoveInstanceCall) Header() http.Header {
+func (c *PacketMirroringsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsMoveInstanceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancemoverequest)
- if err != nil {
- return nil, err
- }
+func (c *PacketMirroringsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/moveInstance")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "region": c.region,
+ "packetMirroring": c.packetMirroring,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.moveInstance", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.moveInstance" call.
+// Do executes the "compute.packetMirrorings.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsMoveInstanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PacketMirroringsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -74812,106 +74049,95 @@ func (c *ProjectsMoveInstanceCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.moveInstance", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsSetCloudArmorTierCall struct {
- s *Service
- project string
- projectssetcloudarmortierrequest *ProjectsSetCloudArmorTierRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PacketMirroringsGetCall struct {
+ s *Service
+ project string
+ region string
+ packetMirroring string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetCloudArmorTier: Sets the Cloud Armor tier of the project. To set
-// ENTERPRISE or above the
-// billing account of the project must be subscribed to Cloud Armor
-// Enterprise. See Subscribing
-// to Cloud Armor Enterprise for more information.
+// Get: Returns the specified PacketMirroring resource.
//
+// - packetMirroring: Name of the PacketMirroring resource to return.
// - project: Project ID for this request.
-func (r *ProjectsService) SetCloudArmorTier(project string, projectssetcloudarmortierrequest *ProjectsSetCloudArmorTierRequest) *ProjectsSetCloudArmorTierCall {
- c := &ProjectsSetCloudArmorTierCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *PacketMirroringsService) Get(project string, region string, packetMirroring string) *PacketMirroringsGetCall {
+ c := &PacketMirroringsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.projectssetcloudarmortierrequest = projectssetcloudarmortierrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsSetCloudArmorTierCall) RequestId(requestId string) *ProjectsSetCloudArmorTierCall {
- c.urlParams_.Set("requestId", requestId)
+ c.region = region
+ c.packetMirroring = packetMirroring
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsSetCloudArmorTierCall) Fields(s ...googleapi.Field) *ProjectsSetCloudArmorTierCall {
+func (c *PacketMirroringsGetCall) Fields(s ...googleapi.Field) *PacketMirroringsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *PacketMirroringsGetCall) IfNoneMatch(entityTag string) *PacketMirroringsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsSetCloudArmorTierCall) Context(ctx context.Context) *ProjectsSetCloudArmorTierCall {
+func (c *PacketMirroringsGetCall) Context(ctx context.Context) *PacketMirroringsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsSetCloudArmorTierCall) Header() http.Header {
+func (c *PacketMirroringsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsSetCloudArmorTierCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectssetcloudarmortierrequest)
- if err != nil {
- return nil, err
+func (c *PacketMirroringsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/setCloudArmorTier")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "region": c.region,
+ "packetMirroring": c.packetMirroring,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.setCloudArmorTier", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.setCloudArmorTier" call.
+// Do executes the "compute.packetMirrorings.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsSetCloudArmorTierCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *PacketMirroring.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *PacketMirroringsGetCall) Do(opts ...googleapi.CallOption) (*PacketMirroring, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -74930,7 +74156,7 @@ func (c *ProjectsSetCloudArmorTierCall) Do(opts ...googleapi.CallOption) (*Opera
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &PacketMirroring{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -74941,28 +74167,31 @@ func (c *ProjectsSetCloudArmorTierCall) Do(opts ...googleapi.CallOption) (*Opera
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.setCloudArmorTier", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsSetCommonInstanceMetadataCall struct {
- s *Service
- project string
- metadata *Metadata
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PacketMirroringsInsertCall struct {
+ s *Service
+ project string
+ region string
+ packetmirroring *PacketMirroring
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetCommonInstanceMetadata: Sets metadata common to all instances within the
-// specified project using
-// the data included in the request.
+// Insert: Creates a PacketMirroring resource in the specified project and
+// region
+// using the data included in the request.
//
// - project: Project ID for this request.
-func (r *ProjectsService) SetCommonInstanceMetadata(project string, metadata *Metadata) *ProjectsSetCommonInstanceMetadataCall {
- c := &ProjectsSetCommonInstanceMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *PacketMirroringsService) Insert(project string, region string, packetmirroring *PacketMirroring) *PacketMirroringsInsertCall {
+ c := &PacketMirroringsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.metadata = metadata
+ c.region = region
+ c.packetmirroring = packetmirroring
return c
}
@@ -74983,7 +74212,7 @@ func (r *ProjectsService) SetCommonInstanceMetadata(project string, metadata *Me
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsSetCommonInstanceMetadataCall) RequestId(requestId string) *ProjectsSetCommonInstanceMetadataCall {
+func (c *PacketMirroringsInsertCall) RequestId(requestId string) *PacketMirroringsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -74991,35 +74220,35 @@ func (c *ProjectsSetCommonInstanceMetadataCall) RequestId(requestId string) *Pro
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsSetCommonInstanceMetadataCall) Fields(s ...googleapi.Field) *ProjectsSetCommonInstanceMetadataCall {
+func (c *PacketMirroringsInsertCall) Fields(s ...googleapi.Field) *PacketMirroringsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsSetCommonInstanceMetadataCall) Context(ctx context.Context) *ProjectsSetCommonInstanceMetadataCall {
+func (c *PacketMirroringsInsertCall) Context(ctx context.Context) *PacketMirroringsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsSetCommonInstanceMetadataCall) Header() http.Header {
+func (c *PacketMirroringsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsSetCommonInstanceMetadataCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.metadata)
+func (c *PacketMirroringsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.packetmirroring)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/setCommonInstanceMetadata")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -75028,17 +74257,18 @@ func (c *ProjectsSetCommonInstanceMetadataCall) doRequest(alt string) (*http.Res
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.setCommonInstanceMetadata", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.setCommonInstanceMetadata" call.
+// Do executes the "compute.packetMirrorings.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsSetCommonInstanceMetadataCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PacketMirroringsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -75068,106 +74298,206 @@ func (c *ProjectsSetCommonInstanceMetadataCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.setCommonInstanceMetadata", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsSetDefaultNetworkTierCall struct {
- s *Service
- project string
- projectssetdefaultnetworktierrequest *ProjectsSetDefaultNetworkTierRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PacketMirroringsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetDefaultNetworkTier: Sets the default network tier of the project. The
-// default network tier is
-// used when an address/forwardingRule/instance is created without
-// specifying
-// the network tier field.
+// List: Retrieves a list of PacketMirroring resources available to the
+// specified
+// project and region.
//
// - project: Project ID for this request.
-func (r *ProjectsService) SetDefaultNetworkTier(project string, projectssetdefaultnetworktierrequest *ProjectsSetDefaultNetworkTierRequest) *ProjectsSetDefaultNetworkTierCall {
- c := &ProjectsSetDefaultNetworkTierCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *PacketMirroringsService) List(project string, region string) *PacketMirroringsListCall {
+ c := &PacketMirroringsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.projectssetdefaultnetworktierrequest = projectssetdefaultnetworktierrequest
+ c.region = region
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsSetDefaultNetworkTierCall) RequestId(requestId string) *ProjectsSetDefaultNetworkTierCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *PacketMirroringsListCall) Filter(filter string) *PacketMirroringsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *PacketMirroringsListCall) MaxResults(maxResults int64) *PacketMirroringsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *PacketMirroringsListCall) OrderBy(orderBy string) *PacketMirroringsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *PacketMirroringsListCall) PageToken(pageToken string) *PacketMirroringsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsSetDefaultNetworkTierCall) Fields(s ...googleapi.Field) *ProjectsSetDefaultNetworkTierCall {
+func (c *PacketMirroringsListCall) Fields(s ...googleapi.Field) *PacketMirroringsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *PacketMirroringsListCall) IfNoneMatch(entityTag string) *PacketMirroringsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsSetDefaultNetworkTierCall) Context(ctx context.Context) *ProjectsSetDefaultNetworkTierCall {
+func (c *PacketMirroringsListCall) Context(ctx context.Context) *PacketMirroringsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsSetDefaultNetworkTierCall) Header() http.Header {
+func (c *PacketMirroringsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsSetDefaultNetworkTierCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectssetdefaultnetworktierrequest)
- if err != nil {
- return nil, err
+func (c *PacketMirroringsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/setDefaultNetworkTier")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.setDefaultNetworkTier", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.setDefaultNetworkTier" call.
+// Do executes the "compute.packetMirrorings.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsSetDefaultNetworkTierCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *PacketMirroringList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *PacketMirroringsListCall) Do(opts ...googleapi.CallOption) (*PacketMirroringList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -75186,7 +74516,7 @@ func (c *ProjectsSetDefaultNetworkTierCall) Do(opts ...googleapi.CallOption) (*O
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &PacketMirroringList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -75197,30 +74527,57 @@ func (c *ProjectsSetDefaultNetworkTierCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.setDefaultNetworkTier", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ProjectsSetUsageExportBucketCall struct {
- s *Service
- project string
- usageexportlocation *UsageExportLocation
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *PacketMirroringsListCall) Pages(ctx context.Context, f func(*PacketMirroringList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// SetUsageExportBucket: Enables the usage export feature and sets theusage
-// export bucket
-// where reports are stored. If you provide an empty request body using
-// this
-// method, the usage export feature will be disabled.
+type PacketMirroringsPatchCall struct {
+ s *Service
+ project string
+ region string
+ packetMirroring string
+ packetmirroring *PacketMirroring
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Patches the specified PacketMirroring resource with the data included
+// in
+// the request. This method supportsPATCH
+// semantics and usesJSON merge
+// patch format and processing rules.
//
+// - packetMirroring: Name of the PacketMirroring resource to patch.
// - project: Project ID for this request.
-func (r *ProjectsService) SetUsageExportBucket(project string, usageexportlocation *UsageExportLocation) *ProjectsSetUsageExportBucketCall {
- c := &ProjectsSetUsageExportBucketCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *PacketMirroringsService) Patch(project string, region string, packetMirroring string, packetmirroring *PacketMirroring) *PacketMirroringsPatchCall {
+ c := &PacketMirroringsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.usageexportlocation = usageexportlocation
+ c.region = region
+ c.packetMirroring = packetMirroring
+ c.packetmirroring = packetmirroring
return c
}
@@ -75241,7 +74598,7 @@ func (r *ProjectsService) SetUsageExportBucket(project string, usageexportlocati
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ProjectsSetUsageExportBucketCall) RequestId(requestId string) *ProjectsSetUsageExportBucketCall {
+func (c *PacketMirroringsPatchCall) RequestId(requestId string) *PacketMirroringsPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -75249,54 +74606,56 @@ func (c *ProjectsSetUsageExportBucketCall) RequestId(requestId string) *Projects
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ProjectsSetUsageExportBucketCall) Fields(s ...googleapi.Field) *ProjectsSetUsageExportBucketCall {
+func (c *PacketMirroringsPatchCall) Fields(s ...googleapi.Field) *PacketMirroringsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ProjectsSetUsageExportBucketCall) Context(ctx context.Context) *ProjectsSetUsageExportBucketCall {
+func (c *PacketMirroringsPatchCall) Context(ctx context.Context) *PacketMirroringsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ProjectsSetUsageExportBucketCall) Header() http.Header {
+func (c *PacketMirroringsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ProjectsSetUsageExportBucketCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.usageexportlocation)
+func (c *PacketMirroringsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.packetmirroring)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/setUsageExportBucket")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "region": c.region,
+ "packetMirroring": c.packetMirroring,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.setUsageExportBucket", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.projects.setUsageExportBucket" call.
+// Do executes the "compute.packetMirrorings.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ProjectsSetUsageExportBucketCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PacketMirroringsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -75326,101 +74685,90 @@ func (c *ProjectsSetUsageExportBucketCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.setUsageExportBucket", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicAdvertisedPrefixesAnnounceCall struct {
+type PacketMirroringsTestIamPermissionsCall struct {
s *Service
project string
- publicAdvertisedPrefix string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// Announce: Announces the specified PublicAdvertisedPrefix
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - project: Project ID for this request.
-// - publicAdvertisedPrefix: The name of the public advertised prefix. It
-// should comply with RFC1035.
-func (r *PublicAdvertisedPrefixesService) Announce(project string, publicAdvertisedPrefix string) *PublicAdvertisedPrefixesAnnounceCall {
- c := &PublicAdvertisedPrefixesAnnounceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *PacketMirroringsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *PacketMirroringsTestIamPermissionsCall {
+ c := &PacketMirroringsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.publicAdvertisedPrefix = publicAdvertisedPrefix
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *PublicAdvertisedPrefixesAnnounceCall) RequestId(requestId string) *PublicAdvertisedPrefixesAnnounceCall {
- c.urlParams_.Set("requestId", requestId)
+ c.region = region
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicAdvertisedPrefixesAnnounceCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesAnnounceCall {
+func (c *PacketMirroringsTestIamPermissionsCall) Fields(s ...googleapi.Field) *PacketMirroringsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicAdvertisedPrefixesAnnounceCall) Context(ctx context.Context) *PublicAdvertisedPrefixesAnnounceCall {
+func (c *PacketMirroringsTestIamPermissionsCall) Context(ctx context.Context) *PacketMirroringsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicAdvertisedPrefixesAnnounceCall) Header() http.Header {
+func (c *PacketMirroringsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicAdvertisedPrefixesAnnounceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *PacketMirroringsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.announce", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.packetMirrorings.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicAdvertisedPrefixes.announce" call.
+// Do executes the "compute.packetMirrorings.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicAdvertisedPrefixesAnnounceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *PacketMirroringsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -75439,7 +74787,7 @@ func (c *PublicAdvertisedPrefixesAnnounceCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -75450,101 +74798,90 @@ func (c *PublicAdvertisedPrefixesAnnounceCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.announce", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.packetMirrorings.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicAdvertisedPrefixesDeleteCall struct {
- s *Service
- project string
- publicAdvertisedPrefix string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PreviewFeaturesGetCall struct {
+ s *Service
+ project string
+ previewFeature string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified PublicAdvertisedPrefix
+// Get: Returns the details of the given PreviewFeature.
//
-// - project: Project ID for this request.
-// - publicAdvertisedPrefix: Name of the PublicAdvertisedPrefix resource to
-// delete.
-func (r *PublicAdvertisedPrefixesService) Delete(project string, publicAdvertisedPrefix string) *PublicAdvertisedPrefixesDeleteCall {
- c := &PublicAdvertisedPrefixesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - previewFeature: Name of the PreviewFeature for this request.
+// - project: Project ID for this request.
+func (r *PreviewFeaturesService) Get(project string, previewFeature string) *PreviewFeaturesGetCall {
+ c := &PreviewFeaturesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.publicAdvertisedPrefix = publicAdvertisedPrefix
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *PublicAdvertisedPrefixesDeleteCall) RequestId(requestId string) *PublicAdvertisedPrefixesDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.previewFeature = previewFeature
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicAdvertisedPrefixesDeleteCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesDeleteCall {
+func (c *PreviewFeaturesGetCall) Fields(s ...googleapi.Field) *PreviewFeaturesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *PreviewFeaturesGetCall) IfNoneMatch(entityTag string) *PreviewFeaturesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *PublicAdvertisedPrefixesDeleteCall) Context(ctx context.Context) *PublicAdvertisedPrefixesDeleteCall {
+func (c *PreviewFeaturesGetCall) Context(ctx context.Context) *PreviewFeaturesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicAdvertisedPrefixesDeleteCall) Header() http.Header {
+func (c *PreviewFeaturesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicAdvertisedPrefixesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *PreviewFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/previewFeatures/{previewFeature}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
+ "project": c.project,
+ "previewFeature": c.previewFeature,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.previewFeatures.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicAdvertisedPrefixes.delete" call.
+// Do executes the "compute.previewFeatures.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *PreviewFeature.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicAdvertisedPrefixesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PreviewFeaturesGetCall) Do(opts ...googleapi.CallOption) (*PreviewFeature, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -75563,7 +74900,7 @@ func (c *PublicAdvertisedPrefixesDeleteCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &PreviewFeature{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -75574,36 +74911,145 @@ func (c *PublicAdvertisedPrefixesDeleteCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.previewFeatures.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicAdvertisedPrefixesGetCall struct {
- s *Service
- project string
- publicAdvertisedPrefix string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type PreviewFeaturesListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified PublicAdvertisedPrefix resource.
+// List: Returns the details of the given PreviewFeature.
//
-// - project: Project ID for this request.
-// - publicAdvertisedPrefix: Name of the PublicAdvertisedPrefix resource to
-// return.
-func (r *PublicAdvertisedPrefixesService) Get(project string, publicAdvertisedPrefix string) *PublicAdvertisedPrefixesGetCall {
- c := &PublicAdvertisedPrefixesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *PreviewFeaturesService) List(project string) *PreviewFeaturesListCall {
+ c := &PreviewFeaturesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.publicAdvertisedPrefix = publicAdvertisedPrefix
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *PreviewFeaturesListCall) Filter(filter string) *PreviewFeaturesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *PreviewFeaturesListCall) MaxResults(maxResults int64) *PreviewFeaturesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *PreviewFeaturesListCall) OrderBy(orderBy string) *PreviewFeaturesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *PreviewFeaturesListCall) PageToken(pageToken string) *PreviewFeaturesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicAdvertisedPrefixesGetCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesGetCall {
+func (c *PreviewFeaturesListCall) Fields(s ...googleapi.Field) *PreviewFeaturesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -75611,34 +75057,34 @@ func (c *PublicAdvertisedPrefixesGetCall) Fields(s ...googleapi.Field) *PublicAd
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *PublicAdvertisedPrefixesGetCall) IfNoneMatch(entityTag string) *PublicAdvertisedPrefixesGetCall {
+func (c *PreviewFeaturesListCall) IfNoneMatch(entityTag string) *PreviewFeaturesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicAdvertisedPrefixesGetCall) Context(ctx context.Context) *PublicAdvertisedPrefixesGetCall {
+func (c *PreviewFeaturesListCall) Context(ctx context.Context) *PreviewFeaturesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicAdvertisedPrefixesGetCall) Header() http.Header {
+func (c *PreviewFeaturesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicAdvertisedPrefixesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *PreviewFeaturesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/previewFeatures")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -75646,20 +75092,19 @@ func (c *PublicAdvertisedPrefixesGetCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.previewFeatures.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicAdvertisedPrefixes.get" call.
+// Do executes the "compute.previewFeatures.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PublicAdvertisedPrefix.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *PreviewFeatureList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *PublicAdvertisedPrefixesGetCall) Do(opts ...googleapi.CallOption) (*PublicAdvertisedPrefix, error) {
+func (c *PreviewFeaturesListCall) Do(opts ...googleapi.CallOption) (*PreviewFeatureList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -75678,7 +75123,7 @@ func (c *PublicAdvertisedPrefixesGetCall) Do(opts ...googleapi.CallOption) (*Pub
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PublicAdvertisedPrefix{
+ ret := &PreviewFeatureList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -75689,27 +75134,52 @@ func (c *PublicAdvertisedPrefixesGetCall) Do(opts ...googleapi.CallOption) (*Pub
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.previewFeatures.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicAdvertisedPrefixesInsertCall struct {
- s *Service
- project string
- publicadvertisedprefix *PublicAdvertisedPrefix
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *PreviewFeaturesListCall) Pages(ctx context.Context, f func(*PreviewFeatureList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Insert: Creates a PublicAdvertisedPrefix in the specified project
-// using the parameters that are included in the request.
+type PreviewFeaturesUpdateCall struct {
+ s *Service
+ project string
+ previewFeature string
+ previewfeature *PreviewFeature
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Patches the given PreviewFeature. This method is used to enable or
+// disable
+// a PreviewFeature.
//
+// - previewFeature: Name of the PreviewFeature for this request.
// - project: Project ID for this request.
-func (r *PublicAdvertisedPrefixesService) Insert(project string, publicadvertisedprefix *PublicAdvertisedPrefix) *PublicAdvertisedPrefixesInsertCall {
- c := &PublicAdvertisedPrefixesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *PreviewFeaturesService) Update(project string, previewFeature string, previewfeature *PreviewFeature) *PreviewFeaturesUpdateCall {
+ c := &PreviewFeaturesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.publicadvertisedprefix = publicadvertisedprefix
+ c.previewFeature = previewFeature
+ c.previewfeature = previewfeature
return c
}
@@ -75730,7 +75200,7 @@ func (r *PublicAdvertisedPrefixesService) Insert(project string, publicadvertise
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *PublicAdvertisedPrefixesInsertCall) RequestId(requestId string) *PublicAdvertisedPrefixesInsertCall {
+func (c *PreviewFeaturesUpdateCall) RequestId(requestId string) *PreviewFeaturesUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -75738,54 +75208,55 @@ func (c *PublicAdvertisedPrefixesInsertCall) RequestId(requestId string) *Public
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicAdvertisedPrefixesInsertCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesInsertCall {
+func (c *PreviewFeaturesUpdateCall) Fields(s ...googleapi.Field) *PreviewFeaturesUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicAdvertisedPrefixesInsertCall) Context(ctx context.Context) *PublicAdvertisedPrefixesInsertCall {
+func (c *PreviewFeaturesUpdateCall) Context(ctx context.Context) *PreviewFeaturesUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicAdvertisedPrefixesInsertCall) Header() http.Header {
+func (c *PreviewFeaturesUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicAdvertisedPrefixesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicadvertisedprefix)
+func (c *PreviewFeaturesUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.previewfeature)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/previewFeatures/{previewFeature}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "previewFeature": c.previewFeature,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.previewFeatures.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicAdvertisedPrefixes.insert" call.
+// Do executes the "compute.previewFeatures.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicAdvertisedPrefixesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PreviewFeaturesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -75815,160 +75286,46 @@ func (c *PublicAdvertisedPrefixesInsertCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.previewFeatures.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicAdvertisedPrefixesListCall struct {
+type ProjectViewsGetCall struct {
s *Service
project string
+ region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Lists the PublicAdvertisedPrefixes for a project.
-//
-// - project: Project ID for this request.
-func (r *PublicAdvertisedPrefixesService) List(project string) *PublicAdvertisedPrefixesListCall {
- c := &PublicAdvertisedPrefixesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// Get: Returns the specified global ProjectViews resource, with a
+// regional
+// context.
+// This regional API endpoint reads resource metadata from regional
+// read-only replicas. Because changes are copied to these regional
+// replicas
+// asynchronously, for real-time resource reads or any write
+// operations
+// (creating, updating, or deleting resources), use the global
+// projects.get
+// (https://cloud.google.com/compute/docs/reference/rest/v1/projects/get)
+// endpoint.
+//
+// - project: Project ID for this request. This is part of the URL path.
+// - region: Name of the region for this request. This is part of the URL path.
+func (r *ProjectViewsService) Get(project string, region string) *ProjectViewsGetCall {
+ c := &ProjectViewsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *PublicAdvertisedPrefixesListCall) Filter(filter string) *PublicAdvertisedPrefixesListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *PublicAdvertisedPrefixesListCall) MaxResults(maxResults int64) *PublicAdvertisedPrefixesListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *PublicAdvertisedPrefixesListCall) OrderBy(orderBy string) *PublicAdvertisedPrefixesListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *PublicAdvertisedPrefixesListCall) PageToken(pageToken string) *PublicAdvertisedPrefixesListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *PublicAdvertisedPrefixesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *PublicAdvertisedPrefixesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+ c.region = region
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicAdvertisedPrefixesListCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesListCall {
+func (c *ProjectViewsGetCall) Fields(s ...googleapi.Field) *ProjectViewsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -75976,34 +75333,34 @@ func (c *PublicAdvertisedPrefixesListCall) Fields(s ...googleapi.Field) *PublicA
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *PublicAdvertisedPrefixesListCall) IfNoneMatch(entityTag string) *PublicAdvertisedPrefixesListCall {
+func (c *ProjectViewsGetCall) IfNoneMatch(entityTag string) *ProjectViewsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicAdvertisedPrefixesListCall) Context(ctx context.Context) *PublicAdvertisedPrefixesListCall {
+func (c *ProjectViewsGetCall) Context(ctx context.Context) *ProjectViewsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicAdvertisedPrefixesListCall) Header() http.Header {
+func (c *ProjectViewsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicAdvertisedPrefixesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ProjectViewsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/projectViews")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -76012,18 +75369,18 @@ func (c *PublicAdvertisedPrefixesListCall) doRequest(alt string) (*http.Response
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projectViews.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicAdvertisedPrefixes.list" call.
+// Do executes the "compute.projectViews.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PublicAdvertisedPrefixList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *PublicAdvertisedPrefixesListCall) Do(opts ...googleapi.CallOption) (*PublicAdvertisedPrefixList, error) {
+// *ProjectView.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ProjectViewsGetCall) Do(opts ...googleapi.CallOption) (*ProjectView, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -76042,7 +75399,7 @@ func (c *PublicAdvertisedPrefixesListCall) Do(opts ...googleapi.CallOption) (*Pu
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PublicAdvertisedPrefixList{
+ ret := &ProjectView{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -76053,55 +75410,24 @@ func (c *PublicAdvertisedPrefixesListCall) Do(opts ...googleapi.CallOption) (*Pu
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projectViews.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *PublicAdvertisedPrefixesListCall) Pages(ctx context.Context, f func(*PublicAdvertisedPrefixList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type PublicAdvertisedPrefixesPatchCall struct {
- s *Service
- project string
- publicAdvertisedPrefix string
- publicadvertisedprefix *PublicAdvertisedPrefix
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ProjectsDisableXpnHostCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified Router resource with the data included in
-// the
-// request. This method supportsPATCH
-// semantics and usesJSON merge
-// patch format and processing rules.
+// DisableXpnHost: Disable this project as a shared VPC host project.
//
-// - project: Project ID for this request.
-// - publicAdvertisedPrefix: Name of the PublicAdvertisedPrefix resource to
-// patch.
-func (r *PublicAdvertisedPrefixesService) Patch(project string, publicAdvertisedPrefix string, publicadvertisedprefix *PublicAdvertisedPrefix) *PublicAdvertisedPrefixesPatchCall {
- c := &PublicAdvertisedPrefixesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *ProjectsService) DisableXpnHost(project string) *ProjectsDisableXpnHostCall {
+ c := &ProjectsDisableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.publicAdvertisedPrefix = publicAdvertisedPrefix
- c.publicadvertisedprefix = publicadvertisedprefix
return c
}
@@ -76122,7 +75448,7 @@ func (r *PublicAdvertisedPrefixesService) Patch(project string, publicAdvertised
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *PublicAdvertisedPrefixesPatchCall) RequestId(requestId string) *PublicAdvertisedPrefixesPatchCall {
+func (c *ProjectsDisableXpnHostCall) RequestId(requestId string) *ProjectsDisableXpnHostCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -76130,55 +75456,50 @@ func (c *PublicAdvertisedPrefixesPatchCall) RequestId(requestId string) *PublicA
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicAdvertisedPrefixesPatchCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesPatchCall {
+func (c *ProjectsDisableXpnHostCall) Fields(s ...googleapi.Field) *ProjectsDisableXpnHostCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicAdvertisedPrefixesPatchCall) Context(ctx context.Context) *PublicAdvertisedPrefixesPatchCall {
+func (c *ProjectsDisableXpnHostCall) Context(ctx context.Context) *ProjectsDisableXpnHostCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicAdvertisedPrefixesPatchCall) Header() http.Header {
+func (c *ProjectsDisableXpnHostCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicAdvertisedPrefixesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicadvertisedprefix)
- if err != nil {
- return nil, err
- }
+func (c *ProjectsDisableXpnHostCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/disableXpnHost")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.disableXpnHost", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicAdvertisedPrefixes.patch" call.
+// Do executes the "compute.projects.disableXpnHost" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicAdvertisedPrefixesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -76208,28 +75529,28 @@ func (c *PublicAdvertisedPrefixesPatchCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.disableXpnHost", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicAdvertisedPrefixesWithdrawCall struct {
- s *Service
- project string
- publicAdvertisedPrefix string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ProjectsDisableXpnResourceCall struct {
+ s *Service
+ project string
+ projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Withdraw: Withdraws the specified PublicAdvertisedPrefix
+// DisableXpnResource: Disable a service resource (also known as service
+// project) associated with
+// this host project.
//
-// - project: Project ID for this request.
-// - publicAdvertisedPrefix: The name of the public advertised prefix. It
-// should comply with RFC1035.
-func (r *PublicAdvertisedPrefixesService) Withdraw(project string, publicAdvertisedPrefix string) *PublicAdvertisedPrefixesWithdrawCall {
- c := &PublicAdvertisedPrefixesWithdrawCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *ProjectsService) DisableXpnResource(project string, projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest) *ProjectsDisableXpnResourceCall {
+ c := &ProjectsDisableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.publicAdvertisedPrefix = publicAdvertisedPrefix
+ c.projectsdisablexpnresourcerequest = projectsdisablexpnresourcerequest
return c
}
@@ -76250,7 +75571,7 @@ func (r *PublicAdvertisedPrefixesService) Withdraw(project string, publicAdverti
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *PublicAdvertisedPrefixesWithdrawCall) RequestId(requestId string) *PublicAdvertisedPrefixesWithdrawCall {
+func (c *ProjectsDisableXpnResourceCall) RequestId(requestId string) *ProjectsDisableXpnResourceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -76258,51 +75579,54 @@ func (c *PublicAdvertisedPrefixesWithdrawCall) RequestId(requestId string) *Publ
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicAdvertisedPrefixesWithdrawCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesWithdrawCall {
+func (c *ProjectsDisableXpnResourceCall) Fields(s ...googleapi.Field) *ProjectsDisableXpnResourceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicAdvertisedPrefixesWithdrawCall) Context(ctx context.Context) *PublicAdvertisedPrefixesWithdrawCall {
+func (c *ProjectsDisableXpnResourceCall) Context(ctx context.Context) *ProjectsDisableXpnResourceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicAdvertisedPrefixesWithdrawCall) Header() http.Header {
+func (c *ProjectsDisableXpnResourceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicAdvertisedPrefixesWithdrawCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ProjectsDisableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectsdisablexpnresourcerequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/disableXpnResource")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.withdraw", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.disableXpnResource", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicAdvertisedPrefixes.withdraw" call.
+// Do executes the "compute.projects.disableXpnResource" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicAdvertisedPrefixesWithdrawCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -76332,229 +75656,79 @@ func (c *PublicAdvertisedPrefixesWithdrawCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.withdraw", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.disableXpnResource", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicDelegatedPrefixesAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ProjectsEnableXpnHostCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AggregatedList: Lists all PublicDelegatedPrefix resources owned by the
-// specific project
-// across all scopes.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// EnableXpnHost: Enable this project as a shared VPC host project.
//
-// - project: Name of the project scoping this request.
-func (r *PublicDelegatedPrefixesService) AggregatedList(project string) *PublicDelegatedPrefixesAggregatedListCall {
- c := &PublicDelegatedPrefixesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *ProjectsService) EnableXpnHost(project string) *ProjectsEnableXpnHostCall {
+ c := &ProjectsEnableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *PublicDelegatedPrefixesAggregatedListCall) Filter(filter string) *PublicDelegatedPrefixesAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *PublicDelegatedPrefixesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *PublicDelegatedPrefixesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *PublicDelegatedPrefixesAggregatedListCall) MaxResults(maxResults int64) *PublicDelegatedPrefixesAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *PublicDelegatedPrefixesAggregatedListCall) OrderBy(orderBy string) *PublicDelegatedPrefixesAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *PublicDelegatedPrefixesAggregatedListCall) PageToken(pageToken string) *PublicDelegatedPrefixesAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *PublicDelegatedPrefixesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *PublicDelegatedPrefixesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *PublicDelegatedPrefixesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *PublicDelegatedPrefixesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ProjectsEnableXpnHostCall) RequestId(requestId string) *ProjectsEnableXpnHostCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicDelegatedPrefixesAggregatedListCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesAggregatedListCall {
+func (c *ProjectsEnableXpnHostCall) Fields(s ...googleapi.Field) *ProjectsEnableXpnHostCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *PublicDelegatedPrefixesAggregatedListCall) IfNoneMatch(entityTag string) *PublicDelegatedPrefixesAggregatedListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *PublicDelegatedPrefixesAggregatedListCall) Context(ctx context.Context) *PublicDelegatedPrefixesAggregatedListCall {
+func (c *ProjectsEnableXpnHostCall) Context(ctx context.Context) *ProjectsEnableXpnHostCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicDelegatedPrefixesAggregatedListCall) Header() http.Header {
+func (c *ProjectsEnableXpnHostCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicDelegatedPrefixesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *ProjectsEnableXpnHostCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/publicDelegatedPrefixes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/enableXpnHost")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -76562,17 +75736,16 @@ func (c *PublicDelegatedPrefixesAggregatedListCall) doRequest(alt string) (*http
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.enableXpnHost", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicDelegatedPrefixes.aggregatedList" call.
+// Do executes the "compute.projects.enableXpnHost" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PublicDelegatedPrefixAggregatedList.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *PublicDelegatedPrefixesAggregatedListCall) Do(opts ...googleapi.CallOption) (*PublicDelegatedPrefixAggregatedList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ProjectsEnableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -76591,7 +75764,7 @@ func (c *PublicDelegatedPrefixesAggregatedListCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PublicDelegatedPrefixAggregatedList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -76602,53 +75775,29 @@ func (c *PublicDelegatedPrefixesAggregatedListCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.enableXpnHost", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *PublicDelegatedPrefixesAggregatedListCall) Pages(ctx context.Context, f func(*PublicDelegatedPrefixAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type PublicDelegatedPrefixesAnnounceCall struct {
- s *Service
- project string
- region string
- publicDelegatedPrefix string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ProjectsEnableXpnResourceCall struct {
+ s *Service
+ project string
+ projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Announce: Announces the specified PublicDelegatedPrefix in the given region.
+// EnableXpnResource: Enable service resource (a.k.a service project) for a
+// host project, so that
+// subnets in the host project can be used by instances in the service
+// project.
//
-// - project: Project ID for this request.
-// - publicDelegatedPrefix: The name of the public delegated prefix. It should
-// comply with RFC1035.
-// - region: The name of theregion where
-// the public delegated prefix is located. It should comply with RFC1035.
-func (r *PublicDelegatedPrefixesService) Announce(project string, region string, publicDelegatedPrefix string) *PublicDelegatedPrefixesAnnounceCall {
- c := &PublicDelegatedPrefixesAnnounceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *ProjectsService) EnableXpnResource(project string, projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest) *ProjectsEnableXpnResourceCall {
+ c := &ProjectsEnableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.publicDelegatedPrefix = publicDelegatedPrefix
+ c.projectsenablexpnresourcerequest = projectsenablexpnresourcerequest
return c
}
@@ -76669,7 +75818,7 @@ func (r *PublicDelegatedPrefixesService) Announce(project string, region string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *PublicDelegatedPrefixesAnnounceCall) RequestId(requestId string) *PublicDelegatedPrefixesAnnounceCall {
+func (c *ProjectsEnableXpnResourceCall) RequestId(requestId string) *ProjectsEnableXpnResourceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -76677,52 +75826,54 @@ func (c *PublicDelegatedPrefixesAnnounceCall) RequestId(requestId string) *Publi
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicDelegatedPrefixesAnnounceCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesAnnounceCall {
+func (c *ProjectsEnableXpnResourceCall) Fields(s ...googleapi.Field) *ProjectsEnableXpnResourceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicDelegatedPrefixesAnnounceCall) Context(ctx context.Context) *PublicDelegatedPrefixesAnnounceCall {
+func (c *ProjectsEnableXpnResourceCall) Context(ctx context.Context) *ProjectsEnableXpnResourceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicDelegatedPrefixesAnnounceCall) Header() http.Header {
+func (c *ProjectsEnableXpnResourceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicDelegatedPrefixesAnnounceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ProjectsEnableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectsenablexpnresourcerequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/enableXpnResource")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "publicDelegatedPrefix": c.publicDelegatedPrefix,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.announce", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.enableXpnResource", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicDelegatedPrefixes.announce" call.
+// Do executes the "compute.projects.enableXpnResource" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicDelegatedPrefixesAnnounceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ProjectsEnableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -76752,105 +75903,98 @@ func (c *PublicDelegatedPrefixesAnnounceCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.announce", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.enableXpnResource", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicDelegatedPrefixesDeleteCall struct {
- s *Service
- project string
- region string
- publicDelegatedPrefix string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Delete: Deletes the specified PublicDelegatedPrefix in the given region.
-//
-// - project: Project ID for this request.
-// - publicDelegatedPrefix: Name of the PublicDelegatedPrefix resource to
-// delete.
-// - region: Name of the region of this request.
-func (r *PublicDelegatedPrefixesService) Delete(project string, region string, publicDelegatedPrefix string) *PublicDelegatedPrefixesDeleteCall {
- c := &PublicDelegatedPrefixesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.publicDelegatedPrefix = publicDelegatedPrefix
- return c
+type ProjectsGetCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Get: Returns the specified Project resource.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// To decrease latency for this method, you can optionally omit any
+// unneeded
+// information from the response by using a field mask. This practice
+// is
+// especially recommended for unused quota information (the `quotas` field).
+// To exclude one or more fields, set your request's `fields` query
+// parameter
+// to only include the fields you need. For example, to only include the
+// `id`
+// and `selfLink` fields, add the query parameter `?fields=id,selfLink` to
+// your request.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *PublicDelegatedPrefixesDeleteCall) RequestId(requestId string) *PublicDelegatedPrefixesDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+// - project: Project ID for this request.
+func (r *ProjectsService) Get(project string) *ProjectsGetCall {
+ c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicDelegatedPrefixesDeleteCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesDeleteCall {
+func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *PublicDelegatedPrefixesDeleteCall) Context(ctx context.Context) *PublicDelegatedPrefixesDeleteCall {
+func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicDelegatedPrefixesDeleteCall) Header() http.Header {
+func (c *ProjectsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicDelegatedPrefixesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "publicDelegatedPrefix": c.publicDelegatedPrefix,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicDelegatedPrefixes.delete" call.
+// Do executes the "compute.projects.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Project.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicDelegatedPrefixesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -76869,7 +76013,7 @@ func (c *PublicDelegatedPrefixesDeleteCall) Do(opts ...googleapi.CallOption) (*O
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Project{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -76880,40 +76024,34 @@ func (c *PublicDelegatedPrefixesDeleteCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicDelegatedPrefixesGetCall struct {
- s *Service
- project string
- region string
- publicDelegatedPrefix string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ProjectsGetXpnHostCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified PublicDelegatedPrefix resource in the given
-// region.
+// GetXpnHost: Gets the shared VPC host project that this project links to. May
+// be empty
+// if no link exists.
//
-// - project: Project ID for this request.
-// - publicDelegatedPrefix: Name of the PublicDelegatedPrefix resource to
-// return.
-// - region: Name of the region of this request.
-func (r *PublicDelegatedPrefixesService) Get(project string, region string, publicDelegatedPrefix string) *PublicDelegatedPrefixesGetCall {
- c := &PublicDelegatedPrefixesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+func (r *ProjectsService) GetXpnHost(project string) *ProjectsGetXpnHostCall {
+ c := &ProjectsGetXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.publicDelegatedPrefix = publicDelegatedPrefix
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicDelegatedPrefixesGetCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesGetCall {
+func (c *ProjectsGetXpnHostCall) Fields(s ...googleapi.Field) *ProjectsGetXpnHostCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -76921,34 +76059,34 @@ func (c *PublicDelegatedPrefixesGetCall) Fields(s ...googleapi.Field) *PublicDel
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *PublicDelegatedPrefixesGetCall) IfNoneMatch(entityTag string) *PublicDelegatedPrefixesGetCall {
+func (c *ProjectsGetXpnHostCall) IfNoneMatch(entityTag string) *ProjectsGetXpnHostCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicDelegatedPrefixesGetCall) Context(ctx context.Context) *PublicDelegatedPrefixesGetCall {
+func (c *ProjectsGetXpnHostCall) Context(ctx context.Context) *ProjectsGetXpnHostCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicDelegatedPrefixesGetCall) Header() http.Header {
+func (c *ProjectsGetXpnHostCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicDelegatedPrefixesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ProjectsGetXpnHostCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/getXpnHost")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -76956,21 +76094,18 @@ func (c *PublicDelegatedPrefixesGetCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "publicDelegatedPrefix": c.publicDelegatedPrefix,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.getXpnHost", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicDelegatedPrefixes.get" call.
+// Do executes the "compute.projects.getXpnHost" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PublicDelegatedPrefix.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *PublicDelegatedPrefixesGetCall) Do(opts ...googleapi.CallOption) (*PublicDelegatedPrefix, error) {
+// *Project.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ProjectsGetXpnHostCall) Do(opts ...googleapi.CallOption) (*Project, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -76989,7 +76124,7 @@ func (c *PublicDelegatedPrefixesGetCall) Do(opts ...googleapi.CallOption) (*Publ
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PublicDelegatedPrefix{
+ ret := &Project{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -77000,108 +76135,202 @@ func (c *PublicDelegatedPrefixesGetCall) Do(opts ...googleapi.CallOption) (*Publ
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.getXpnHost", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicDelegatedPrefixesInsertCall struct {
- s *Service
- project string
- region string
- publicdelegatedprefix *PublicDelegatedPrefix
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ProjectsGetXpnResourcesCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a PublicDelegatedPrefix in the specified project in the
-// given
-// region using the parameters that are included in the request.
+// GetXpnResources: Gets service resources (a.k.a service project) associated
+// with this host
+// project.
//
// - project: Project ID for this request.
-// - region: Name of the region of this request.
-func (r *PublicDelegatedPrefixesService) Insert(project string, region string, publicdelegatedprefix *PublicDelegatedPrefix) *PublicDelegatedPrefixesInsertCall {
- c := &PublicDelegatedPrefixesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ProjectsService) GetXpnResources(project string) *ProjectsGetXpnResourcesCall {
+ c := &ProjectsGetXpnResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.publicdelegatedprefix = publicdelegatedprefix
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *PublicDelegatedPrefixesInsertCall) RequestId(requestId string) *PublicDelegatedPrefixesInsertCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *ProjectsGetXpnResourcesCall) Filter(filter string) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *ProjectsGetXpnResourcesCall) MaxResults(maxResults int64) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *ProjectsGetXpnResourcesCall) OrderBy(orderBy string) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *ProjectsGetXpnResourcesCall) PageToken(pageToken string) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicDelegatedPrefixesInsertCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesInsertCall {
+func (c *ProjectsGetXpnResourcesCall) Fields(s ...googleapi.Field) *ProjectsGetXpnResourcesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ProjectsGetXpnResourcesCall) IfNoneMatch(entityTag string) *ProjectsGetXpnResourcesCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *PublicDelegatedPrefixesInsertCall) Context(ctx context.Context) *PublicDelegatedPrefixesInsertCall {
+func (c *ProjectsGetXpnResourcesCall) Context(ctx context.Context) *ProjectsGetXpnResourcesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicDelegatedPrefixesInsertCall) Header() http.Header {
+func (c *ProjectsGetXpnResourcesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicDelegatedPrefixesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicdelegatedprefix)
- if err != nil {
- return nil, err
+func (c *ProjectsGetXpnResourcesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/getXpnResources")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.getXpnResources", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicDelegatedPrefixes.insert" call.
+// Do executes the "compute.projects.getXpnResources" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicDelegatedPrefixesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *ProjectsGetXpnResources.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ProjectsGetXpnResourcesCall) Do(opts ...googleapi.CallOption) (*ProjectsGetXpnResources, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -77120,7 +76349,7 @@ func (c *PublicDelegatedPrefixesInsertCall) Do(opts ...googleapi.CallOption) (*O
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &ProjectsGetXpnResources{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -77131,28 +76360,48 @@ func (c *PublicDelegatedPrefixesInsertCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.getXpnResources", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicDelegatedPrefixesListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ProjectsGetXpnResourcesCall) Pages(ctx context.Context, f func(*ProjectsGetXpnResources) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// List: Lists the PublicDelegatedPrefixes for a project in the given region.
+type ProjectsListXpnHostsCall struct {
+ s *Service
+ project string
+ projectslistxpnhostsrequest *ProjectsListXpnHostsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListXpnHosts: Lists all shared VPC host projects visible to the user in an
+// organization.
//
// - project: Project ID for this request.
-// - region: Name of the region of this request.
-func (r *PublicDelegatedPrefixesService) List(project string, region string) *PublicDelegatedPrefixesListCall {
- c := &PublicDelegatedPrefixesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ProjectsService) ListXpnHosts(project string, projectslistxpnhostsrequest *ProjectsListXpnHostsRequest) *ProjectsListXpnHostsCall {
+ c := &ProjectsListXpnHostsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
+ c.projectslistxpnhostsrequest = projectslistxpnhostsrequest
return c
}
@@ -77223,7 +76472,7 @@ func (r *PublicDelegatedPrefixesService) List(project string, region string) *Pu
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *PublicDelegatedPrefixesListCall) Filter(filter string) *PublicDelegatedPrefixesListCall {
+func (c *ProjectsListXpnHostsCall) Filter(filter string) *ProjectsListXpnHostsCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -77235,7 +76484,7 @@ func (c *PublicDelegatedPrefixesListCall) Filter(filter string) *PublicDelegated
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *PublicDelegatedPrefixesListCall) MaxResults(maxResults int64) *PublicDelegatedPrefixesListCall {
+func (c *ProjectsListXpnHostsCall) MaxResults(maxResults int64) *ProjectsListXpnHostsCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -77255,7 +76504,7 @@ func (c *PublicDelegatedPrefixesListCall) MaxResults(maxResults int64) *PublicDe
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *PublicDelegatedPrefixesListCall) OrderBy(orderBy string) *PublicDelegatedPrefixesListCall {
+func (c *ProjectsListXpnHostsCall) OrderBy(orderBy string) *ProjectsListXpnHostsCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -77264,86 +76513,62 @@ func (c *PublicDelegatedPrefixesListCall) OrderBy(orderBy string) *PublicDelegat
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *PublicDelegatedPrefixesListCall) PageToken(pageToken string) *PublicDelegatedPrefixesListCall {
+func (c *ProjectsListXpnHostsCall) PageToken(pageToken string) *ProjectsListXpnHostsCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *PublicDelegatedPrefixesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *PublicDelegatedPrefixesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicDelegatedPrefixesListCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesListCall {
+func (c *ProjectsListXpnHostsCall) Fields(s ...googleapi.Field) *ProjectsListXpnHostsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *PublicDelegatedPrefixesListCall) IfNoneMatch(entityTag string) *PublicDelegatedPrefixesListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *PublicDelegatedPrefixesListCall) Context(ctx context.Context) *PublicDelegatedPrefixesListCall {
+func (c *ProjectsListXpnHostsCall) Context(ctx context.Context) *ProjectsListXpnHostsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicDelegatedPrefixesListCall) Header() http.Header {
+func (c *ProjectsListXpnHostsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicDelegatedPrefixesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *ProjectsListXpnHostsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectslistxpnhostsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/listXpnHosts")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.listXpnHosts", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicDelegatedPrefixes.list" call.
+// Do executes the "compute.projects.listXpnHosts" call.
// Any non-2xx status code is an error. Response headers are in either
-// *PublicDelegatedPrefixList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *PublicDelegatedPrefixesListCall) Do(opts ...googleapi.CallOption) (*PublicDelegatedPrefixList, error) {
+// *XpnHostList.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ProjectsListXpnHostsCall) Do(opts ...googleapi.CallOption) (*XpnHostList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -77362,7 +76587,7 @@ func (c *PublicDelegatedPrefixesListCall) Do(opts ...googleapi.CallOption) (*Pub
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &PublicDelegatedPrefixList{
+ ret := &XpnHostList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -77373,14 +76598,14 @@ func (c *PublicDelegatedPrefixesListCall) Do(opts ...googleapi.CallOption) (*Pub
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.listXpnHosts", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *PublicDelegatedPrefixesListCall) Pages(ctx context.Context, f func(*PublicDelegatedPrefixList) error) error {
+func (c *ProjectsListXpnHostsCall) Pages(ctx context.Context, f func(*XpnHostList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -77398,33 +76623,40 @@ func (c *PublicDelegatedPrefixesListCall) Pages(ctx context.Context, f func(*Pub
}
}
-type PublicDelegatedPrefixesPatchCall struct {
- s *Service
- project string
- region string
- publicDelegatedPrefix string
- publicdelegatedprefix *PublicDelegatedPrefix
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ProjectsMoveDiskCall struct {
+ s *Service
+ project string
+ diskmoverequest *DiskMoveRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified PublicDelegatedPrefix resource with the data
-// included
-// in the request. This method supportsPATCH
-// semantics and usesJSON merge
-// patch format and processing rules.
+// MoveDisk: Moves a persistent disk from one zone to another.
+// *Note*: The moveDisk API will be deprecated on September 29, 2026.
//
-// - project: Project ID for this request.
-// - publicDelegatedPrefix: Name of the PublicDelegatedPrefix resource to
-// patch.
-// - region: Name of the region for this request.
-func (r *PublicDelegatedPrefixesService) Patch(project string, region string, publicDelegatedPrefix string, publicdelegatedprefix *PublicDelegatedPrefix) *PublicDelegatedPrefixesPatchCall {
- c := &PublicDelegatedPrefixesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// Starting September 29, 2025, you can't use the moveDisk API on new
+// projects. To move a disk to a different region or zone, follow the steps
+// in
+// Change the location of a
+// disk
+// (https://cloud.google.com/compute/docs/disks/migrate-to-hyperdisk#migrate-to-hd).
+//
+// Projects that already use the moveDisk API can continue usage
+// until
+// September 29, 2026.
+//
+// Starting November 1, 2025, API responses will include a warning message
+// in
+// the response body about the upcoming deprecation. You can skip the
+// message
+// to continue using the service without interruption.
+//
+// - project: Project ID for this request.
+func (r *ProjectsService) MoveDisk(project string, diskmoverequest *DiskMoveRequest) *ProjectsMoveDiskCall {
+ c := &ProjectsMoveDiskCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.publicDelegatedPrefix = publicDelegatedPrefix
- c.publicdelegatedprefix = publicdelegatedprefix
+ c.diskmoverequest = diskmoverequest
return c
}
@@ -77445,7 +76677,7 @@ func (r *PublicDelegatedPrefixesService) Patch(project string, region string, pu
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *PublicDelegatedPrefixesPatchCall) RequestId(requestId string) *PublicDelegatedPrefixesPatchCall {
+func (c *ProjectsMoveDiskCall) RequestId(requestId string) *ProjectsMoveDiskCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -77453,56 +76685,54 @@ func (c *PublicDelegatedPrefixesPatchCall) RequestId(requestId string) *PublicDe
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicDelegatedPrefixesPatchCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesPatchCall {
+func (c *ProjectsMoveDiskCall) Fields(s ...googleapi.Field) *ProjectsMoveDiskCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicDelegatedPrefixesPatchCall) Context(ctx context.Context) *PublicDelegatedPrefixesPatchCall {
+func (c *ProjectsMoveDiskCall) Context(ctx context.Context) *ProjectsMoveDiskCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicDelegatedPrefixesPatchCall) Header() http.Header {
+func (c *ProjectsMoveDiskCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicDelegatedPrefixesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicdelegatedprefix)
+func (c *ProjectsMoveDiskCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.diskmoverequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/moveDisk")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "publicDelegatedPrefix": c.publicDelegatedPrefix,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.moveDisk", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicDelegatedPrefixes.patch" call.
+// Do executes the "compute.projects.moveDisk" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicDelegatedPrefixesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ProjectsMoveDiskCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -77532,32 +76762,37 @@ func (c *PublicDelegatedPrefixesPatchCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.moveDisk", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type PublicDelegatedPrefixesWithdrawCall struct {
- s *Service
- project string
- region string
- publicDelegatedPrefix string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ProjectsMoveInstanceCall struct {
+ s *Service
+ project string
+ instancemoverequest *InstanceMoveRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Withdraw: Withdraws the specified PublicDelegatedPrefix in the given region.
+// MoveInstance: Moves an instance and its attached persistent disks from one
+// zone to
+// another.
+// *Note*: Moving VMs or disks by using this method might
//
-// - project: Project ID for this request.
-// - publicDelegatedPrefix: The name of the public delegated prefix. It should
-// comply with RFC1035.
-// - region: The name of theregion where
-// the public delegated prefix is located. It should comply with RFC1035.
-func (r *PublicDelegatedPrefixesService) Withdraw(project string, region string, publicDelegatedPrefix string) *PublicDelegatedPrefixesWithdrawCall {
- c := &PublicDelegatedPrefixesWithdrawCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// cause unexpected behavior. For more information, see the known
+// issue
+//
+// (/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_mov
+// einstance_api_or_the_causes_unexpected_behavior).
+// [Deprecated] This method is deprecated. See moving instance across
+// zones (/compute/docs/instances/moving-instance-across-zones) instead.
+//
+// - project: Project ID for this request.
+func (r *ProjectsService) MoveInstance(project string, instancemoverequest *InstanceMoveRequest) *ProjectsMoveInstanceCall {
+ c := &ProjectsMoveInstanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.publicDelegatedPrefix = publicDelegatedPrefix
+ c.instancemoverequest = instancemoverequest
return c
}
@@ -77578,7 +76813,7 @@ func (r *PublicDelegatedPrefixesService) Withdraw(project string, region string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *PublicDelegatedPrefixesWithdrawCall) RequestId(requestId string) *PublicDelegatedPrefixesWithdrawCall {
+func (c *ProjectsMoveInstanceCall) RequestId(requestId string) *ProjectsMoveInstanceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -77586,52 +76821,54 @@ func (c *PublicDelegatedPrefixesWithdrawCall) RequestId(requestId string) *Publi
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *PublicDelegatedPrefixesWithdrawCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesWithdrawCall {
+func (c *ProjectsMoveInstanceCall) Fields(s ...googleapi.Field) *ProjectsMoveInstanceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *PublicDelegatedPrefixesWithdrawCall) Context(ctx context.Context) *PublicDelegatedPrefixesWithdrawCall {
+func (c *ProjectsMoveInstanceCall) Context(ctx context.Context) *ProjectsMoveInstanceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *PublicDelegatedPrefixesWithdrawCall) Header() http.Header {
+func (c *ProjectsMoveInstanceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *PublicDelegatedPrefixesWithdrawCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ProjectsMoveInstanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancemoverequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/moveInstance")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "publicDelegatedPrefix": c.publicDelegatedPrefix,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.withdraw", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.moveInstance", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.publicDelegatedPrefixes.withdraw" call.
+// Do executes the "compute.projects.moveInstance" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *PublicDelegatedPrefixesWithdrawCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ProjectsMoveInstanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -77661,30 +76898,30 @@ func (c *PublicDelegatedPrefixesWithdrawCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.withdraw", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.moveInstance", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionAutoscalersDeleteCall struct {
- s *Service
- project string
- region string
- autoscaler string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ProjectsSetCloudArmorTierCall struct {
+ s *Service
+ project string
+ projectssetcloudarmortierrequest *ProjectsSetCloudArmorTierRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified autoscaler.
+// SetCloudArmorTier: Sets the Cloud Armor tier of the project. To set
+// ENTERPRISE or above the
+// billing account of the project must be subscribed to Cloud Armor
+// Enterprise. See Subscribing
+// to Cloud Armor Enterprise for more information.
//
-// - autoscaler: Name of the autoscaler to delete.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionAutoscalersService) Delete(project string, region string, autoscaler string) *RegionAutoscalersDeleteCall {
- c := &RegionAutoscalersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ProjectsService) SetCloudArmorTier(project string, projectssetcloudarmortierrequest *ProjectsSetCloudArmorTierRequest) *ProjectsSetCloudArmorTierCall {
+ c := &ProjectsSetCloudArmorTierCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.autoscaler = autoscaler
+ c.projectssetcloudarmortierrequest = projectssetcloudarmortierrequest
return c
}
@@ -77705,7 +76942,7 @@ func (r *RegionAutoscalersService) Delete(project string, region string, autosca
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionAutoscalersDeleteCall) RequestId(requestId string) *RegionAutoscalersDeleteCall {
+func (c *ProjectsSetCloudArmorTierCall) RequestId(requestId string) *ProjectsSetCloudArmorTierCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -77713,169 +76950,54 @@ func (c *RegionAutoscalersDeleteCall) RequestId(requestId string) *RegionAutosca
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionAutoscalersDeleteCall) Fields(s ...googleapi.Field) *RegionAutoscalersDeleteCall {
+func (c *ProjectsSetCloudArmorTierCall) Fields(s ...googleapi.Field) *ProjectsSetCloudArmorTierCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionAutoscalersDeleteCall) Context(ctx context.Context) *RegionAutoscalersDeleteCall {
+func (c *ProjectsSetCloudArmorTierCall) Context(ctx context.Context) *ProjectsSetCloudArmorTierCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionAutoscalersDeleteCall) Header() http.Header {
+func (c *ProjectsSetCloudArmorTierCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionAutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers/{autoscaler}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "autoscaler": c.autoscaler,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.delete", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionAutoscalers.delete" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionAutoscalersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
+func (c *ProjectsSetCloudArmorTierCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectssetcloudarmortierrequest)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.delete", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionAutoscalersGetCall struct {
- s *Service
- project string
- region string
- autoscaler string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// Get: Returns the specified autoscaler.
-//
-// - autoscaler: Name of the autoscaler to return.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionAutoscalersService) Get(project string, region string, autoscaler string) *RegionAutoscalersGetCall {
- c := &RegionAutoscalersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.autoscaler = autoscaler
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionAutoscalersGetCall) Fields(s ...googleapi.Field) *RegionAutoscalersGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionAutoscalersGetCall) IfNoneMatch(entityTag string) *RegionAutoscalersGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionAutoscalersGetCall) Context(ctx context.Context) *RegionAutoscalersGetCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionAutoscalersGetCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionAutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers/{autoscaler}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/setCloudArmorTier")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "autoscaler": c.autoscaler,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.setCloudArmorTier", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionAutoscalers.get" call.
+// Do executes the "compute.projects.setCloudArmorTier" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Autoscaler.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionAutoscalersGetCall) Do(opts ...googleapi.CallOption) (*Autoscaler, error) {
+func (c *ProjectsSetCloudArmorTierCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -77894,7 +77016,7 @@ func (c *RegionAutoscalersGetCall) Do(opts ...googleapi.CallOption) (*Autoscaler
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Autoscaler{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -77905,30 +77027,28 @@ func (c *RegionAutoscalersGetCall) Do(opts ...googleapi.CallOption) (*Autoscaler
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.setCloudArmorTier", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionAutoscalersInsertCall struct {
+type ProjectsSetCommonInstanceMetadataCall struct {
s *Service
project string
- region string
- autoscaler *Autoscaler
+ metadata *Metadata
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// Insert: Creates an autoscaler in the specified project using
+// SetCommonInstanceMetadata: Sets metadata common to all instances within the
+// specified project using
// the data included in the request.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionAutoscalersService) Insert(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersInsertCall {
- c := &RegionAutoscalersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ProjectsService) SetCommonInstanceMetadata(project string, metadata *Metadata) *ProjectsSetCommonInstanceMetadataCall {
+ c := &ProjectsSetCommonInstanceMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.autoscaler = autoscaler
+ c.metadata = metadata
return c
}
@@ -77949,7 +77069,7 @@ func (r *RegionAutoscalersService) Insert(project string, region string, autosca
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionAutoscalersInsertCall) RequestId(requestId string) *RegionAutoscalersInsertCall {
+func (c *ProjectsSetCommonInstanceMetadataCall) RequestId(requestId string) *ProjectsSetCommonInstanceMetadataCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -77957,35 +77077,35 @@ func (c *RegionAutoscalersInsertCall) RequestId(requestId string) *RegionAutosca
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionAutoscalersInsertCall) Fields(s ...googleapi.Field) *RegionAutoscalersInsertCall {
+func (c *ProjectsSetCommonInstanceMetadataCall) Fields(s ...googleapi.Field) *ProjectsSetCommonInstanceMetadataCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionAutoscalersInsertCall) Context(ctx context.Context) *RegionAutoscalersInsertCall {
+func (c *ProjectsSetCommonInstanceMetadataCall) Context(ctx context.Context) *ProjectsSetCommonInstanceMetadataCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionAutoscalersInsertCall) Header() http.Header {
+func (c *ProjectsSetCommonInstanceMetadataCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionAutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
+func (c *ProjectsSetCommonInstanceMetadataCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.metadata)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/setCommonInstanceMetadata")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -77994,18 +77114,17 @@ func (c *RegionAutoscalersInsertCall) doRequest(alt string) (*http.Response, err
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.setCommonInstanceMetadata", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionAutoscalers.insert" call.
+// Do executes the "compute.projects.setCommonInstanceMetadata" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionAutoscalersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ProjectsSetCommonInstanceMetadataCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -78026,229 +77145,115 @@ func (c *RegionAutoscalersInsertCall) Do(opts ...googleapi.CallOption) (*Operati
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.insert", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionAutoscalersListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// List: Retrieves a list of autoscalers contained within
-// the specified region.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionAutoscalersService) List(project string, region string) *RegionAutoscalersListCall {
- c := &RegionAutoscalersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionAutoscalersListCall) Filter(filter string) *RegionAutoscalersListCall {
- c.urlParams_.Set("filter", filter)
- return c
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.setCommonInstanceMetadata", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionAutoscalersListCall) MaxResults(maxResults int64) *RegionAutoscalersListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
+type ProjectsSetDefaultNetworkTierCall struct {
+ s *Service
+ project string
+ projectssetdefaultnetworktierrequest *ProjectsSetDefaultNetworkTierRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// SetDefaultNetworkTier: Sets the default network tier of the project. The
+// default network tier is
+// used when an address/forwardingRule/instance is created without
+// specifying
+// the network tier field.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionAutoscalersListCall) OrderBy(orderBy string) *RegionAutoscalersListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionAutoscalersListCall) PageToken(pageToken string) *RegionAutoscalersListCall {
- c.urlParams_.Set("pageToken", pageToken)
+// - project: Project ID for this request.
+func (r *ProjectsService) SetDefaultNetworkTier(project string, projectssetdefaultnetworktierrequest *ProjectsSetDefaultNetworkTierRequest) *ProjectsSetDefaultNetworkTierCall {
+ c := &ProjectsSetDefaultNetworkTierCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.projectssetdefaultnetworktierrequest = projectssetdefaultnetworktierrequest
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionAutoscalersListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionAutoscalersListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ProjectsSetDefaultNetworkTierCall) RequestId(requestId string) *ProjectsSetDefaultNetworkTierCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionAutoscalersListCall) Fields(s ...googleapi.Field) *RegionAutoscalersListCall {
+func (c *ProjectsSetDefaultNetworkTierCall) Fields(s ...googleapi.Field) *ProjectsSetDefaultNetworkTierCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionAutoscalersListCall) IfNoneMatch(entityTag string) *RegionAutoscalersListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionAutoscalersListCall) Context(ctx context.Context) *RegionAutoscalersListCall {
+func (c *ProjectsSetDefaultNetworkTierCall) Context(ctx context.Context) *ProjectsSetDefaultNetworkTierCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionAutoscalersListCall) Header() http.Header {
+func (c *ProjectsSetDefaultNetworkTierCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionAutoscalersListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *ProjectsSetDefaultNetworkTierCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.projectssetdefaultnetworktierrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/setDefaultNetworkTier")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.setDefaultNetworkTier", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionAutoscalers.list" call.
+// Do executes the "compute.projects.setDefaultNetworkTier" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionAutoscalerList.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionAutoscalersListCall) Do(opts ...googleapi.CallOption) (*RegionAutoscalerList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ProjectsSetDefaultNetworkTierCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -78267,7 +77272,7 @@ func (c *RegionAutoscalersListCall) Do(opts ...googleapi.CallOption) (*RegionAut
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionAutoscalerList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -78278,60 +77283,30 @@ func (c *RegionAutoscalersListCall) Do(opts ...googleapi.CallOption) (*RegionAut
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.setDefaultNetworkTier", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionAutoscalersListCall) Pages(ctx context.Context, f func(*RegionAutoscalerList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionAutoscalersPatchCall struct {
- s *Service
- project string
- region string
- autoscaler *Autoscaler
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ProjectsSetUsageExportBucketCall struct {
+ s *Service
+ project string
+ usageexportlocation *UsageExportLocation
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates an autoscaler in the specified project using
-// the data included in the request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// SetUsageExportBucket: Enables the usage export feature and sets theusage
+// export bucket
+// where reports are stored. If you provide an empty request body using
+// this
+// method, the usage export feature will be disabled.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionAutoscalersService) Patch(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersPatchCall {
- c := &RegionAutoscalersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ProjectsService) SetUsageExportBucket(project string, usageexportlocation *UsageExportLocation) *ProjectsSetUsageExportBucketCall {
+ c := &ProjectsSetUsageExportBucketCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.autoscaler = autoscaler
- return c
-}
-
-// Autoscaler sets the optional parameter "autoscaler": Name of the autoscaler
-// to patch.
-func (c *RegionAutoscalersPatchCall) Autoscaler(autoscaler string) *RegionAutoscalersPatchCall {
- c.urlParams_.Set("autoscaler", autoscaler)
+ c.usageexportlocation = usageexportlocation
return c
}
@@ -78352,7 +77327,7 @@ func (c *RegionAutoscalersPatchCall) Autoscaler(autoscaler string) *RegionAutosc
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionAutoscalersPatchCall) RequestId(requestId string) *RegionAutoscalersPatchCall {
+func (c *ProjectsSetUsageExportBucketCall) RequestId(requestId string) *ProjectsSetUsageExportBucketCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -78360,55 +77335,54 @@ func (c *RegionAutoscalersPatchCall) RequestId(requestId string) *RegionAutoscal
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionAutoscalersPatchCall) Fields(s ...googleapi.Field) *RegionAutoscalersPatchCall {
+func (c *ProjectsSetUsageExportBucketCall) Fields(s ...googleapi.Field) *ProjectsSetUsageExportBucketCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionAutoscalersPatchCall) Context(ctx context.Context) *RegionAutoscalersPatchCall {
+func (c *ProjectsSetUsageExportBucketCall) Context(ctx context.Context) *ProjectsSetUsageExportBucketCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionAutoscalersPatchCall) Header() http.Header {
+func (c *ProjectsSetUsageExportBucketCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionAutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
+func (c *ProjectsSetUsageExportBucketCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.usageexportlocation)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/setUsageExportBucket")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.projects.setUsageExportBucket", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionAutoscalers.patch" call.
+// Do executes the "compute.projects.setUsageExportBucket" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ProjectsSetUsageExportBucketCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -78438,90 +77412,101 @@ func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.projects.setUsageExportBucket", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionAutoscalersTestIamPermissionsCall struct {
+type PublicAdvertisedPrefixesAnnounceCall struct {
s *Service
project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
+ publicAdvertisedPrefix string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Announce: Announces the specified PublicAdvertisedPrefix
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionAutoscalersService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionAutoscalersTestIamPermissionsCall {
- c := &RegionAutoscalersTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - publicAdvertisedPrefix: The name of the public advertised prefix. It
+// should comply with RFC1035.
+func (r *PublicAdvertisedPrefixesService) Announce(project string, publicAdvertisedPrefix string) *PublicAdvertisedPrefixesAnnounceCall {
+ c := &PublicAdvertisedPrefixesAnnounceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.publicAdvertisedPrefix = publicAdvertisedPrefix
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *PublicAdvertisedPrefixesAnnounceCall) RequestId(requestId string) *PublicAdvertisedPrefixesAnnounceCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionAutoscalersTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionAutoscalersTestIamPermissionsCall {
+func (c *PublicAdvertisedPrefixesAnnounceCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesAnnounceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionAutoscalersTestIamPermissionsCall) Context(ctx context.Context) *RegionAutoscalersTestIamPermissionsCall {
+func (c *PublicAdvertisedPrefixesAnnounceCall) Context(ctx context.Context) *PublicAdvertisedPrefixesAnnounceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionAutoscalersTestIamPermissionsCall) Header() http.Header {
+func (c *PublicAdvertisedPrefixesAnnounceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionAutoscalersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
+func (c *PublicAdvertisedPrefixesAnnounceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.announce", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionAutoscalers.testIamPermissions" call.
+// Do executes the "compute.publicAdvertisedPrefixes.announce" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionAutoscalersTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *PublicAdvertisedPrefixesAnnounceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -78540,7 +77525,7 @@ func (c *RegionAutoscalersTestIamPermissionsCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -78551,37 +77536,28 @@ func (c *RegionAutoscalersTestIamPermissionsCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.announce", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionAutoscalersUpdateCall struct {
- s *Service
- project string
- region string
- autoscaler *Autoscaler
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PublicAdvertisedPrefixesDeleteCall struct {
+ s *Service
+ project string
+ publicAdvertisedPrefix string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates an autoscaler in the specified project using
-// the data included in the request.
+// Delete: Deletes the specified PublicAdvertisedPrefix
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionAutoscalersService) Update(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersUpdateCall {
- c := &RegionAutoscalersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - publicAdvertisedPrefix: Name of the PublicAdvertisedPrefix resource to
+// delete.
+func (r *PublicAdvertisedPrefixesService) Delete(project string, publicAdvertisedPrefix string) *PublicAdvertisedPrefixesDeleteCall {
+ c := &PublicAdvertisedPrefixesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.autoscaler = autoscaler
- return c
-}
-
-// Autoscaler sets the optional parameter "autoscaler": Name of the autoscaler
-// to update.
-func (c *RegionAutoscalersUpdateCall) Autoscaler(autoscaler string) *RegionAutoscalersUpdateCall {
- c.urlParams_.Set("autoscaler", autoscaler)
+ c.publicAdvertisedPrefix = publicAdvertisedPrefix
return c
}
@@ -78602,7 +77578,7 @@ func (c *RegionAutoscalersUpdateCall) Autoscaler(autoscaler string) *RegionAutos
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionAutoscalersUpdateCall) RequestId(requestId string) *RegionAutoscalersUpdateCall {
+func (c *PublicAdvertisedPrefixesDeleteCall) RequestId(requestId string) *PublicAdvertisedPrefixesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -78610,55 +77586,51 @@ func (c *RegionAutoscalersUpdateCall) RequestId(requestId string) *RegionAutosca
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionAutoscalersUpdateCall) Fields(s ...googleapi.Field) *RegionAutoscalersUpdateCall {
+func (c *PublicAdvertisedPrefixesDeleteCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionAutoscalersUpdateCall) Context(ctx context.Context) *RegionAutoscalersUpdateCall {
+func (c *PublicAdvertisedPrefixesDeleteCall) Context(ctx context.Context) *PublicAdvertisedPrefixesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionAutoscalersUpdateCall) Header() http.Header {
+func (c *PublicAdvertisedPrefixesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionAutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
- if err != nil {
- return nil, err
- }
+func (c *PublicAdvertisedPrefixesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PUT", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionAutoscalers.update" call.
+// Do executes the "compute.publicAdvertisedPrefixes.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionAutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PublicAdvertisedPrefixesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -78688,30 +77660,142 @@ func (c *RegionAutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendBucketsDeleteCall struct {
- s *Service
- project string
- region string
- backendBucket string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PublicAdvertisedPrefixesGetCall struct {
+ s *Service
+ project string
+ publicAdvertisedPrefix string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified regional BackendBucket resource.
+// Get: Returns the specified PublicAdvertisedPrefix resource.
+//
+// - project: Project ID for this request.
+// - publicAdvertisedPrefix: Name of the PublicAdvertisedPrefix resource to
+// return.
+func (r *PublicAdvertisedPrefixesService) Get(project string, publicAdvertisedPrefix string) *PublicAdvertisedPrefixesGetCall {
+ c := &PublicAdvertisedPrefixesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.publicAdvertisedPrefix = publicAdvertisedPrefix
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *PublicAdvertisedPrefixesGetCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *PublicAdvertisedPrefixesGetCall) IfNoneMatch(entityTag string) *PublicAdvertisedPrefixesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *PublicAdvertisedPrefixesGetCall) Context(ctx context.Context) *PublicAdvertisedPrefixesGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *PublicAdvertisedPrefixesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *PublicAdvertisedPrefixesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.publicAdvertisedPrefixes.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *PublicAdvertisedPrefix.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *PublicAdvertisedPrefixesGetCall) Do(opts ...googleapi.CallOption) (*PublicAdvertisedPrefix, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &PublicAdvertisedPrefix{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type PublicAdvertisedPrefixesInsertCall struct {
+ s *Service
+ project string
+ publicadvertisedprefix *PublicAdvertisedPrefix
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a PublicAdvertisedPrefix in the specified project
+// using the parameters that are included in the request.
//
-// - backendBucket: Name of the BackendBucket resource to delete.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionBackendBucketsService) Delete(project string, region string, backendBucket string) *RegionBackendBucketsDeleteCall {
- c := &RegionBackendBucketsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *PublicAdvertisedPrefixesService) Insert(project string, publicadvertisedprefix *PublicAdvertisedPrefix) *PublicAdvertisedPrefixesInsertCall {
+ c := &PublicAdvertisedPrefixesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.backendBucket = backendBucket
+ c.publicadvertisedprefix = publicadvertisedprefix
return c
}
@@ -78732,8 +77816,7 @@ func (r *RegionBackendBucketsService) Delete(project string, region string, back
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *RegionBackendBucketsDeleteCall) RequestId(requestId string) *RegionBackendBucketsDeleteCall {
+func (c *PublicAdvertisedPrefixesInsertCall) RequestId(requestId string) *PublicAdvertisedPrefixesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -78741,52 +77824,54 @@ func (c *RegionBackendBucketsDeleteCall) RequestId(requestId string) *RegionBack
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsDeleteCall) Fields(s ...googleapi.Field) *RegionBackendBucketsDeleteCall {
+func (c *PublicAdvertisedPrefixesInsertCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsDeleteCall) Context(ctx context.Context) *RegionBackendBucketsDeleteCall {
+func (c *PublicAdvertisedPrefixesInsertCall) Context(ctx context.Context) *PublicAdvertisedPrefixesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsDeleteCall) Header() http.Header {
+func (c *PublicAdvertisedPrefixesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *PublicAdvertisedPrefixesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicadvertisedprefix)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{backendBucket}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendBucket": c.backendBucket,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.delete" call.
+// Do executes the "compute.publicAdvertisedPrefixes.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendBucketsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PublicAdvertisedPrefixesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -78816,38 +77901,145 @@ func (c *RegionBackendBucketsDeleteCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendBucketsGetCall struct {
- s *Service
- project string
- region string
- backendBucket string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type PublicAdvertisedPrefixesListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified regional BackendBucket resource.
+// List: Lists the PublicAdvertisedPrefixes for a project.
//
-// - backendBucket: Name of the BackendBucket resource to return.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionBackendBucketsService) Get(project string, region string, backendBucket string) *RegionBackendBucketsGetCall {
- c := &RegionBackendBucketsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *PublicAdvertisedPrefixesService) List(project string) *PublicAdvertisedPrefixesListCall {
+ c := &PublicAdvertisedPrefixesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.backendBucket = backendBucket
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *PublicAdvertisedPrefixesListCall) Filter(filter string) *PublicAdvertisedPrefixesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *PublicAdvertisedPrefixesListCall) MaxResults(maxResults int64) *PublicAdvertisedPrefixesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *PublicAdvertisedPrefixesListCall) OrderBy(orderBy string) *PublicAdvertisedPrefixesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *PublicAdvertisedPrefixesListCall) PageToken(pageToken string) *PublicAdvertisedPrefixesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsGetCall) Fields(s ...googleapi.Field) *RegionBackendBucketsGetCall {
+func (c *PublicAdvertisedPrefixesListCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -78855,34 +78047,34 @@ func (c *RegionBackendBucketsGetCall) Fields(s ...googleapi.Field) *RegionBacken
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionBackendBucketsGetCall) IfNoneMatch(entityTag string) *RegionBackendBucketsGetCall {
+func (c *PublicAdvertisedPrefixesListCall) IfNoneMatch(entityTag string) *PublicAdvertisedPrefixesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsGetCall) Context(ctx context.Context) *RegionBackendBucketsGetCall {
+func (c *PublicAdvertisedPrefixesListCall) Context(ctx context.Context) *PublicAdvertisedPrefixesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsGetCall) Header() http.Header {
+func (c *PublicAdvertisedPrefixesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *PublicAdvertisedPrefixesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{backendBucket}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -78890,20 +78082,19 @@ func (c *RegionBackendBucketsGetCall) doRequest(alt string) (*http.Response, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendBucket": c.backendBucket,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.get" call.
+// Do executes the "compute.publicAdvertisedPrefixes.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *BackendBucket.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendBucketsGetCall) Do(opts ...googleapi.CallOption) (*BackendBucket, error) {
+// *PublicAdvertisedPrefixList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *PublicAdvertisedPrefixesListCall) Do(opts ...googleapi.CallOption) (*PublicAdvertisedPrefixList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -78922,7 +78113,7 @@ func (c *RegionBackendBucketsGetCall) Do(opts ...googleapi.CallOption) (*Backend
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &BackendBucket{
+ ret := &PublicAdvertisedPrefixList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -78933,103 +78124,132 @@ func (c *RegionBackendBucketsGetCall) Do(opts ...googleapi.CallOption) (*Backend
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendBucketsGetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *PublicAdvertisedPrefixesListCall) Pages(ctx context.Context, f func(*PublicAdvertisedPrefixList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+type PublicAdvertisedPrefixesPatchCall struct {
+ s *Service
+ project string
+ publicAdvertisedPrefix string
+ publicadvertisedprefix *PublicAdvertisedPrefix
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Patches the specified Router resource with the data included in
+// the
+// request. This method supportsPATCH
+// semantics and usesJSON merge
+// patch format and processing rules.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionBackendBucketsService) GetIamPolicy(project string, region string, resource string) *RegionBackendBucketsGetIamPolicyCall {
- c := &RegionBackendBucketsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - publicAdvertisedPrefix: Name of the PublicAdvertisedPrefix resource to
+// patch.
+func (r *PublicAdvertisedPrefixesService) Patch(project string, publicAdvertisedPrefix string, publicadvertisedprefix *PublicAdvertisedPrefix) *PublicAdvertisedPrefixesPatchCall {
+ c := &PublicAdvertisedPrefixesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resource = resource
+ c.publicAdvertisedPrefix = publicAdvertisedPrefix
+ c.publicadvertisedprefix = publicadvertisedprefix
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *RegionBackendBucketsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionBackendBucketsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *PublicAdvertisedPrefixesPatchCall) RequestId(requestId string) *PublicAdvertisedPrefixesPatchCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionBackendBucketsGetIamPolicyCall {
+func (c *PublicAdvertisedPrefixesPatchCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionBackendBucketsGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionBackendBucketsGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsGetIamPolicyCall) Context(ctx context.Context) *RegionBackendBucketsGetIamPolicyCall {
+func (c *PublicAdvertisedPrefixesPatchCall) Context(ctx context.Context) *PublicAdvertisedPrefixesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsGetIamPolicyCall) Header() http.Header {
+func (c *PublicAdvertisedPrefixesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *PublicAdvertisedPrefixesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicadvertisedprefix)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.getIamPolicy" call.
+// Do executes the "compute.publicAdvertisedPrefixes.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendBucketsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *PublicAdvertisedPrefixesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -79048,7 +78268,7 @@ func (c *RegionBackendBucketsGetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -79059,31 +78279,28 @@ func (c *RegionBackendBucketsGetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendBucketsInsertCall struct {
- s *Service
- project string
- region string
- backendbucket *BackendBucket
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PublicAdvertisedPrefixesWithdrawCall struct {
+ s *Service
+ project string
+ publicAdvertisedPrefix string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a RegionBackendBucket in the specified project in the given
-// scope
-// using the parameters that are included in the request.
+// Withdraw: Withdraws the specified PublicAdvertisedPrefix
//
-// - project: Project ID for this request.
-// - region: Name of the region of this request.
-func (r *RegionBackendBucketsService) Insert(project string, region string, backendbucket *BackendBucket) *RegionBackendBucketsInsertCall {
- c := &RegionBackendBucketsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - publicAdvertisedPrefix: The name of the public advertised prefix. It
+// should comply with RFC1035.
+func (r *PublicAdvertisedPrefixesService) Withdraw(project string, publicAdvertisedPrefix string) *PublicAdvertisedPrefixesWithdrawCall {
+ c := &PublicAdvertisedPrefixesWithdrawCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.backendbucket = backendbucket
+ c.publicAdvertisedPrefix = publicAdvertisedPrefix
return c
}
@@ -79104,7 +78321,7 @@ func (r *RegionBackendBucketsService) Insert(project string, region string, back
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionBackendBucketsInsertCall) RequestId(requestId string) *RegionBackendBucketsInsertCall {
+func (c *PublicAdvertisedPrefixesWithdrawCall) RequestId(requestId string) *PublicAdvertisedPrefixesWithdrawCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -79112,55 +78329,51 @@ func (c *RegionBackendBucketsInsertCall) RequestId(requestId string) *RegionBack
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsInsertCall) Fields(s ...googleapi.Field) *RegionBackendBucketsInsertCall {
+func (c *PublicAdvertisedPrefixesWithdrawCall) Fields(s ...googleapi.Field) *PublicAdvertisedPrefixesWithdrawCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsInsertCall) Context(ctx context.Context) *RegionBackendBucketsInsertCall {
+func (c *PublicAdvertisedPrefixesWithdrawCall) Context(ctx context.Context) *PublicAdvertisedPrefixesWithdrawCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsInsertCall) Header() http.Header {
+func (c *PublicAdvertisedPrefixesWithdrawCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendbucket)
- if err != nil {
- return nil, err
- }
+func (c *PublicAdvertisedPrefixesWithdrawCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "publicAdvertisedPrefix": c.publicAdvertisedPrefix,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.withdraw", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.insert" call.
+// Do executes the "compute.publicAdvertisedPrefixes.withdraw" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendBucketsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PublicAdvertisedPrefixesWithdrawCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -79190,30 +78403,31 @@ func (c *RegionBackendBucketsInsertCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicAdvertisedPrefixes.withdraw", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendBucketsListCall struct {
+type PublicDelegatedPrefixesAggregatedListCall struct {
s *Service
project string
- region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of BackendBucket resources available to the
-// specified
-// project in the given region.
+// AggregatedList: Lists all PublicDelegatedPrefix resources owned by the
+// specific project
+// across all scopes.
//
-// - project: Project ID for this request.
-// - region: Name of the region of this request.
-func (r *RegionBackendBucketsService) List(project string, region string) *RegionBackendBucketsListCall {
- c := &RegionBackendBucketsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Name of the project scoping this request.
+func (r *PublicDelegatedPrefixesService) AggregatedList(project string) *PublicDelegatedPrefixesAggregatedListCall {
+ c := &PublicDelegatedPrefixesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
return c
}
@@ -79284,11 +78498,29 @@ func (r *RegionBackendBucketsService) List(project string, region string) *Regio
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionBackendBucketsListCall) Filter(filter string) *RegionBackendBucketsListCall {
+func (c *PublicDelegatedPrefixesAggregatedListCall) Filter(filter string) *PublicDelegatedPrefixesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *PublicDelegatedPrefixesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *PublicDelegatedPrefixesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -79296,7 +78528,7 @@ func (c *RegionBackendBucketsListCall) Filter(filter string) *RegionBackendBucke
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionBackendBucketsListCall) MaxResults(maxResults int64) *RegionBackendBucketsListCall {
+func (c *PublicDelegatedPrefixesAggregatedListCall) MaxResults(maxResults int64) *PublicDelegatedPrefixesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -79316,7 +78548,7 @@ func (c *RegionBackendBucketsListCall) MaxResults(maxResults int64) *RegionBacke
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionBackendBucketsListCall) OrderBy(orderBy string) *RegionBackendBucketsListCall {
+func (c *PublicDelegatedPrefixesAggregatedListCall) OrderBy(orderBy string) *PublicDelegatedPrefixesAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -79325,30 +78557,23 @@ func (c *RegionBackendBucketsListCall) OrderBy(orderBy string) *RegionBackendBuc
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionBackendBucketsListCall) PageToken(pageToken string) *RegionBackendBucketsListCall {
+func (c *PublicDelegatedPrefixesAggregatedListCall) PageToken(pageToken string) *PublicDelegatedPrefixesAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionBackendBucketsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionBackendBucketsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *PublicDelegatedPrefixesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *PublicDelegatedPrefixesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsListCall) Fields(s ...googleapi.Field) *RegionBackendBucketsListCall {
+func (c *PublicDelegatedPrefixesAggregatedListCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -79356,34 +78581,34 @@ func (c *RegionBackendBucketsListCall) Fields(s ...googleapi.Field) *RegionBacke
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionBackendBucketsListCall) IfNoneMatch(entityTag string) *RegionBackendBucketsListCall {
+func (c *PublicDelegatedPrefixesAggregatedListCall) IfNoneMatch(entityTag string) *PublicDelegatedPrefixesAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsListCall) Context(ctx context.Context) *RegionBackendBucketsListCall {
+func (c *PublicDelegatedPrefixesAggregatedListCall) Context(ctx context.Context) *PublicDelegatedPrefixesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsListCall) Header() http.Header {
+func (c *PublicDelegatedPrefixesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *PublicDelegatedPrefixesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/publicDelegatedPrefixes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -79392,19 +78617,18 @@ func (c *RegionBackendBucketsListCall) doRequest(alt string) (*http.Response, er
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.list" call.
+// Do executes the "compute.publicDelegatedPrefixes.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *BackendBucketList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionBackendBucketsListCall) Do(opts ...googleapi.CallOption) (*BackendBucketList, error) {
+// *PublicDelegatedPrefixAggregatedList.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *PublicDelegatedPrefixesAggregatedListCall) Do(opts ...googleapi.CallOption) (*PublicDelegatedPrefixAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -79423,7 +78647,7 @@ func (c *RegionBackendBucketsListCall) Do(opts ...googleapi.CallOption) (*Backen
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &BackendBucketList{
+ ret := &PublicDelegatedPrefixAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -79434,14 +78658,14 @@ func (c *RegionBackendBucketsListCall) Do(opts ...googleapi.CallOption) (*Backen
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionBackendBucketsListCall) Pages(ctx context.Context, f func(*BackendBucketList) error) error {
+func (c *PublicDelegatedPrefixesAggregatedListCall) Pages(ctx context.Context, f func(*PublicDelegatedPrefixAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -79451,226 +78675,110 @@ func (c *RegionBackendBucketsListCall) Pages(ctx context.Context, f func(*Backen
}
if err := f(x); err != nil {
return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionBackendBucketsListUsableCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// ListUsable: Retrieves a list of all usable backend buckets in the specified
-// project in
-// the given region.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// It must be a string that meets the requirements in RFC1035.
-func (r *RegionBackendBucketsService) ListUsable(project string, region string) *RegionBackendBucketsListUsableCall {
- c := &RegionBackendBucketsListUsableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionBackendBucketsListUsableCall) Filter(filter string) *RegionBackendBucketsListUsableCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionBackendBucketsListUsableCall) MaxResults(maxResults int64) *RegionBackendBucketsListUsableCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionBackendBucketsListUsableCall) OrderBy(orderBy string) *RegionBackendBucketsListUsableCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionBackendBucketsListUsableCall) PageToken(pageToken string) *RegionBackendBucketsListUsableCall {
- c.urlParams_.Set("pageToken", pageToken)
+type PublicDelegatedPrefixesAnnounceCall struct {
+ s *Service
+ project string
+ region string
+ publicDelegatedPrefix string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Announce: Announces the specified PublicDelegatedPrefix in the given region.
+//
+// - project: Project ID for this request.
+// - publicDelegatedPrefix: The name of the public delegated prefix. It should
+// comply with RFC1035.
+// - region: The name of theregion where
+// the public delegated prefix is located. It should comply with RFC1035.
+func (r *PublicDelegatedPrefixesService) Announce(project string, region string, publicDelegatedPrefix string) *PublicDelegatedPrefixesAnnounceCall {
+ c := &PublicDelegatedPrefixesAnnounceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.publicDelegatedPrefix = publicDelegatedPrefix
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionBackendBucketsListUsableCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionBackendBucketsListUsableCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *PublicDelegatedPrefixesAnnounceCall) RequestId(requestId string) *PublicDelegatedPrefixesAnnounceCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsListUsableCall) Fields(s ...googleapi.Field) *RegionBackendBucketsListUsableCall {
+func (c *PublicDelegatedPrefixesAnnounceCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesAnnounceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionBackendBucketsListUsableCall) IfNoneMatch(entityTag string) *RegionBackendBucketsListUsableCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsListUsableCall) Context(ctx context.Context) *RegionBackendBucketsListUsableCall {
+func (c *PublicDelegatedPrefixesAnnounceCall) Context(ctx context.Context) *PublicDelegatedPrefixesAnnounceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsListUsableCall) Header() http.Header {
+func (c *PublicDelegatedPrefixesAnnounceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsListUsableCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *PublicDelegatedPrefixesAnnounceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/listUsable")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "publicDelegatedPrefix": c.publicDelegatedPrefix,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.listUsable", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.announce", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.listUsable" call.
+// Do executes the "compute.publicDelegatedPrefixes.announce" call.
// Any non-2xx status code is an error. Response headers are in either
-// *BackendBucketListUsable.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionBackendBucketsListUsableCall) Do(opts ...googleapi.CallOption) (*BackendBucketListUsable, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *PublicDelegatedPrefixesAnnounceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -79689,7 +78797,7 @@ func (c *RegionBackendBucketsListUsableCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &BackendBucketListUsable{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -79700,57 +78808,31 @@ func (c *RegionBackendBucketsListUsableCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.listUsable", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.announce", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionBackendBucketsListUsableCall) Pages(ctx context.Context, f func(*BackendBucketListUsable) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionBackendBucketsPatchCall struct {
- s *Service
- project string
- region string
- backendBucket string
- backendbucket *BackendBucket
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PublicDelegatedPrefixesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ publicDelegatedPrefix string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the specified BackendBucket resource with the data included
-// in the
-// request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// Delete: Deletes the specified PublicDelegatedPrefix in the given region.
//
-// - backendBucket: Name of the BackendBucket resource to patch.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionBackendBucketsService) Patch(project string, region string, backendBucket string, backendbucket *BackendBucket) *RegionBackendBucketsPatchCall {
- c := &RegionBackendBucketsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - publicDelegatedPrefix: Name of the PublicDelegatedPrefix resource to
+// delete.
+// - region: Name of the region of this request.
+func (r *PublicDelegatedPrefixesService) Delete(project string, region string, publicDelegatedPrefix string) *PublicDelegatedPrefixesDeleteCall {
+ c := &PublicDelegatedPrefixesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.backendBucket = backendBucket
- c.backendbucket = backendbucket
+ c.publicDelegatedPrefix = publicDelegatedPrefix
return c
}
@@ -79771,8 +78853,7 @@ func (r *RegionBackendBucketsService) Patch(project string, region string, backe
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *RegionBackendBucketsPatchCall) RequestId(requestId string) *RegionBackendBucketsPatchCall {
+func (c *PublicDelegatedPrefixesDeleteCall) RequestId(requestId string) *PublicDelegatedPrefixesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -79780,56 +78861,52 @@ func (c *RegionBackendBucketsPatchCall) RequestId(requestId string) *RegionBacke
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsPatchCall) Fields(s ...googleapi.Field) *RegionBackendBucketsPatchCall {
+func (c *PublicDelegatedPrefixesDeleteCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsPatchCall) Context(ctx context.Context) *RegionBackendBucketsPatchCall {
+func (c *PublicDelegatedPrefixesDeleteCall) Context(ctx context.Context) *PublicDelegatedPrefixesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsPatchCall) Header() http.Header {
+func (c *PublicDelegatedPrefixesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendbucket)
- if err != nil {
- return nil, err
- }
+func (c *PublicDelegatedPrefixesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{backendBucket}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendBucket": c.backendBucket,
+ "project": c.project,
+ "region": c.region,
+ "publicDelegatedPrefix": c.publicDelegatedPrefix,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.patch" call.
+// Do executes the "compute.publicDelegatedPrefixes.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendBucketsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PublicDelegatedPrefixesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -79859,69 +78936,208 @@ func (c *RegionBackendBucketsPatchCall) Do(opts ...googleapi.CallOption) (*Opera
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendBucketsSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PublicDelegatedPrefixesGetCall struct {
+ s *Service
+ project string
+ region string
+ publicDelegatedPrefix string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// Get: Returns the specified PublicDelegatedPrefix resource in the given
+// region.
+//
+// - project: Project ID for this request.
+// - publicDelegatedPrefix: Name of the PublicDelegatedPrefix resource to
+// return.
+// - region: Name of the region of this request.
+func (r *PublicDelegatedPrefixesService) Get(project string, region string, publicDelegatedPrefix string) *PublicDelegatedPrefixesGetCall {
+ c := &PublicDelegatedPrefixesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.publicDelegatedPrefix = publicDelegatedPrefix
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *PublicDelegatedPrefixesGetCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *PublicDelegatedPrefixesGetCall) IfNoneMatch(entityTag string) *PublicDelegatedPrefixesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *PublicDelegatedPrefixesGetCall) Context(ctx context.Context) *PublicDelegatedPrefixesGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *PublicDelegatedPrefixesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *PublicDelegatedPrefixesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "publicDelegatedPrefix": c.publicDelegatedPrefix,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.publicDelegatedPrefixes.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *PublicDelegatedPrefix.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *PublicDelegatedPrefixesGetCall) Do(opts ...googleapi.CallOption) (*PublicDelegatedPrefix, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &PublicDelegatedPrefix{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type PublicDelegatedPrefixesInsertCall struct {
+ s *Service
+ project string
+ region string
+ publicdelegatedprefix *PublicDelegatedPrefix
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a PublicDelegatedPrefix in the specified project in the
+// given
+// region using the parameters that are included in the request.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionBackendBucketsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionBackendBucketsSetIamPolicyCall {
- c := &RegionBackendBucketsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region of this request.
+func (r *PublicDelegatedPrefixesService) Insert(project string, region string, publicdelegatedprefix *PublicDelegatedPrefix) *PublicDelegatedPrefixesInsertCall {
+ c := &PublicDelegatedPrefixesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
+ c.publicdelegatedprefix = publicdelegatedprefix
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *PublicDelegatedPrefixesInsertCall) RequestId(requestId string) *PublicDelegatedPrefixesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionBackendBucketsSetIamPolicyCall {
+func (c *PublicDelegatedPrefixesInsertCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsSetIamPolicyCall) Context(ctx context.Context) *RegionBackendBucketsSetIamPolicyCall {
+func (c *PublicDelegatedPrefixesInsertCall) Context(ctx context.Context) *PublicDelegatedPrefixesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsSetIamPolicyCall) Header() http.Header {
+func (c *PublicDelegatedPrefixesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+func (c *PublicDelegatedPrefixesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicdelegatedprefix)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -79929,20 +79145,19 @@ func (c *RegionBackendBucketsSetIamPolicyCall) doRequest(alt string) (*http.Resp
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.setIamPolicy" call.
+// Do executes the "compute.publicDelegatedPrefixes.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendBucketsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *PublicDelegatedPrefixesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -79961,7 +79176,7 @@ func (c *RegionBackendBucketsSetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -79972,90 +79187,204 @@ func (c *RegionBackendBucketsSetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendBucketsTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type PublicDelegatedPrefixesListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// List: Lists the PublicDelegatedPrefixes for a project in the given region.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionBackendBucketsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionBackendBucketsTestIamPermissionsCall {
- c := &RegionBackendBucketsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region of this request.
+func (r *PublicDelegatedPrefixesService) List(project string, region string) *PublicDelegatedPrefixesListCall {
+ c := &PublicDelegatedPrefixesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *PublicDelegatedPrefixesListCall) Filter(filter string) *PublicDelegatedPrefixesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *PublicDelegatedPrefixesListCall) MaxResults(maxResults int64) *PublicDelegatedPrefixesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *PublicDelegatedPrefixesListCall) OrderBy(orderBy string) *PublicDelegatedPrefixesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *PublicDelegatedPrefixesListCall) PageToken(pageToken string) *PublicDelegatedPrefixesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendBucketsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionBackendBucketsTestIamPermissionsCall {
+func (c *PublicDelegatedPrefixesListCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *PublicDelegatedPrefixesListCall) IfNoneMatch(entityTag string) *PublicDelegatedPrefixesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendBucketsTestIamPermissionsCall) Context(ctx context.Context) *RegionBackendBucketsTestIamPermissionsCall {
+func (c *PublicDelegatedPrefixesListCall) Context(ctx context.Context) *PublicDelegatedPrefixesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendBucketsTestIamPermissionsCall) Header() http.Header {
+func (c *PublicDelegatedPrefixesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendBucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *PublicDelegatedPrefixesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendBuckets.testIamPermissions" call.
+// Do executes the "compute.publicDelegatedPrefixes.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// *PublicDelegatedPrefixList.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionBackendBucketsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *PublicDelegatedPrefixesListCall) Do(opts ...googleapi.CallOption) (*PublicDelegatedPrefixList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -80074,7 +79403,7 @@ func (c *RegionBackendBucketsTestIamPermissionsCall) Do(opts ...googleapi.CallOp
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &PublicDelegatedPrefixList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -80085,30 +79414,58 @@ func (c *RegionBackendBucketsTestIamPermissionsCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendServicesDeleteCall struct {
- s *Service
- project string
- region string
- backendService string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *PublicDelegatedPrefixesListCall) Pages(ctx context.Context, f func(*PublicDelegatedPrefixList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type PublicDelegatedPrefixesPatchCall struct {
+ s *Service
+ project string
+ region string
+ publicDelegatedPrefix string
+ publicdelegatedprefix *PublicDelegatedPrefix
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified regional BackendService resource.
+// Patch: Patches the specified PublicDelegatedPrefix resource with the data
+// included
+// in the request. This method supportsPATCH
+// semantics and usesJSON merge
+// patch format and processing rules.
//
-// - backendService: Name of the BackendService resource to delete.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionBackendServicesService) Delete(project string, region string, backendService string) *RegionBackendServicesDeleteCall {
- c := &RegionBackendServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - publicDelegatedPrefix: Name of the PublicDelegatedPrefix resource to
+// patch.
+// - region: Name of the region for this request.
+func (r *PublicDelegatedPrefixesService) Patch(project string, region string, publicDelegatedPrefix string, publicdelegatedprefix *PublicDelegatedPrefix) *PublicDelegatedPrefixesPatchCall {
+ c := &PublicDelegatedPrefixesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.backendService = backendService
+ c.publicDelegatedPrefix = publicDelegatedPrefix
+ c.publicdelegatedprefix = publicdelegatedprefix
return c
}
@@ -80129,7 +79486,7 @@ func (r *RegionBackendServicesService) Delete(project string, region string, bac
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionBackendServicesDeleteCall) RequestId(requestId string) *RegionBackendServicesDeleteCall {
+func (c *PublicDelegatedPrefixesPatchCall) RequestId(requestId string) *PublicDelegatedPrefixesPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -80137,52 +79494,56 @@ func (c *RegionBackendServicesDeleteCall) RequestId(requestId string) *RegionBac
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesDeleteCall) Fields(s ...googleapi.Field) *RegionBackendServicesDeleteCall {
+func (c *PublicDelegatedPrefixesPatchCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesDeleteCall) Context(ctx context.Context) *RegionBackendServicesDeleteCall {
+func (c *PublicDelegatedPrefixesPatchCall) Context(ctx context.Context) *PublicDelegatedPrefixesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesDeleteCall) Header() http.Header {
+func (c *PublicDelegatedPrefixesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *PublicDelegatedPrefixesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.publicdelegatedprefix)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendService": c.backendService,
+ "project": c.project,
+ "region": c.region,
+ "publicDelegatedPrefix": c.publicDelegatedPrefix,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.delete" call.
+// Do executes the "compute.publicDelegatedPrefixes.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *PublicDelegatedPrefixesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -80212,94 +79573,106 @@ func (c *RegionBackendServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendServicesGetCall struct {
- s *Service
- project string
- region string
- backendService string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type PublicDelegatedPrefixesWithdrawCall struct {
+ s *Service
+ project string
+ region string
+ publicDelegatedPrefix string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified regional BackendService resource.
+// Withdraw: Withdraws the specified PublicDelegatedPrefix in the given region.
//
-// - backendService: Name of the BackendService resource to return.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionBackendServicesService) Get(project string, region string, backendService string) *RegionBackendServicesGetCall {
- c := &RegionBackendServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - publicDelegatedPrefix: The name of the public delegated prefix. It should
+// comply with RFC1035.
+// - region: The name of theregion where
+// the public delegated prefix is located. It should comply with RFC1035.
+func (r *PublicDelegatedPrefixesService) Withdraw(project string, region string, publicDelegatedPrefix string) *PublicDelegatedPrefixesWithdrawCall {
+ c := &PublicDelegatedPrefixesWithdrawCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.backendService = backendService
+ c.publicDelegatedPrefix = publicDelegatedPrefix
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *PublicDelegatedPrefixesWithdrawCall) RequestId(requestId string) *PublicDelegatedPrefixesWithdrawCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesGetCall) Fields(s ...googleapi.Field) *RegionBackendServicesGetCall {
+func (c *PublicDelegatedPrefixesWithdrawCall) Fields(s ...googleapi.Field) *PublicDelegatedPrefixesWithdrawCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionBackendServicesGetCall) IfNoneMatch(entityTag string) *RegionBackendServicesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesGetCall) Context(ctx context.Context) *RegionBackendServicesGetCall {
+func (c *PublicDelegatedPrefixesWithdrawCall) Context(ctx context.Context) *PublicDelegatedPrefixesWithdrawCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesGetCall) Header() http.Header {
+func (c *PublicDelegatedPrefixesWithdrawCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *PublicDelegatedPrefixesWithdrawCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendService": c.backendService,
+ "project": c.project,
+ "region": c.region,
+ "publicDelegatedPrefix": c.publicDelegatedPrefix,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.withdraw", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.get" call.
+// Do executes the "compute.publicDelegatedPrefixes.withdraw" call.
// Any non-2xx status code is an error. Response headers are in either
-// *BackendService.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendServicesGetCall) Do(opts ...googleapi.CallOption) (*BackendService, error) {
+func (c *PublicDelegatedPrefixesWithdrawCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -80318,7 +79691,7 @@ func (c *RegionBackendServicesGetCall) Do(opts ...googleapi.CallOption) (*Backen
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &BackendService{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -80329,91 +79702,104 @@ func (c *RegionBackendServicesGetCall) Do(opts ...googleapi.CallOption) (*Backen
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.publicDelegatedPrefixes.withdraw", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendServicesGetHealthCall struct {
- s *Service
- project string
- region string
- backendService string
- resourcegroupreference *ResourceGroupReference
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionAutoscalersDeleteCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetHealth: Gets the most recent health check results for this
-// regional BackendService.
+// Delete: Deletes the specified autoscaler.
//
-// - backendService: Name of the BackendService resource for which to get
-// health.
-// - project: .
-// - region: Name of the region scoping this request.
-func (r *RegionBackendServicesService) GetHealth(project string, region string, backendService string, resourcegroupreference *ResourceGroupReference) *RegionBackendServicesGetHealthCall {
- c := &RegionBackendServicesGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - autoscaler: Name of the autoscaler to delete.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionAutoscalersService) Delete(project string, region string, autoscaler string) *RegionAutoscalersDeleteCall {
+ c := &RegionAutoscalersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.backendService = backendService
- c.resourcegroupreference = resourcegroupreference
+ c.autoscaler = autoscaler
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionAutoscalersDeleteCall) RequestId(requestId string) *RegionAutoscalersDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesGetHealthCall) Fields(s ...googleapi.Field) *RegionBackendServicesGetHealthCall {
+func (c *RegionAutoscalersDeleteCall) Fields(s ...googleapi.Field) *RegionAutoscalersDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesGetHealthCall) Context(ctx context.Context) *RegionBackendServicesGetHealthCall {
+func (c *RegionAutoscalersDeleteCall) Context(ctx context.Context) *RegionAutoscalersDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesGetHealthCall) Header() http.Header {
+func (c *RegionAutoscalersDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.resourcegroupreference)
- if err != nil {
- return nil, err
- }
+func (c *RegionAutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers/{autoscaler}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendService": c.backendService,
+ "project": c.project,
+ "region": c.region,
+ "autoscaler": c.autoscaler,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.getHealth", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.getHealth" call.
+// Do executes the "compute.regionAutoscalers.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *BackendServiceGroupHealth.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionBackendServicesGetHealthCall) Do(opts ...googleapi.CallOption) (*BackendServiceGroupHealth, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionAutoscalersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -80432,7 +79818,7 @@ func (c *RegionBackendServicesGetHealthCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &BackendServiceGroupHealth{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -80443,47 +79829,38 @@ func (c *RegionBackendServicesGetHealthCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.getHealth", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendServicesGetIamPolicyCall struct {
+type RegionAutoscalersGetCall struct {
s *Service
project string
region string
- resource string
+ autoscaler string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// Get: Returns the specified autoscaler.
//
+// - autoscaler: Name of the autoscaler to return.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionBackendServicesService) GetIamPolicy(project string, region string, resource string) *RegionBackendServicesGetIamPolicyCall {
- c := &RegionBackendServicesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionAutoscalersService) Get(project string, region string, autoscaler string) *RegionAutoscalersGetCall {
+ c := &RegionAutoscalersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- return c
-}
-
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *RegionBackendServicesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionBackendServicesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+ c.autoscaler = autoscaler
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionBackendServicesGetIamPolicyCall {
+func (c *RegionAutoscalersGetCall) Fields(s ...googleapi.Field) *RegionAutoscalersGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -80491,34 +79868,34 @@ func (c *RegionBackendServicesGetIamPolicyCall) Fields(s ...googleapi.Field) *Re
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionBackendServicesGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionBackendServicesGetIamPolicyCall {
+func (c *RegionAutoscalersGetCall) IfNoneMatch(entityTag string) *RegionAutoscalersGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesGetIamPolicyCall) Context(ctx context.Context) *RegionBackendServicesGetIamPolicyCall {
+func (c *RegionAutoscalersGetCall) Context(ctx context.Context) *RegionAutoscalersGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesGetIamPolicyCall) Header() http.Header {
+func (c *RegionAutoscalersGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionAutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers/{autoscaler}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -80526,152 +79903,20 @@ func (c *RegionBackendServicesGetIamPolicyCall) doRequest(alt string) (*http.Res
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionBackendServices.getIamPolicy" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendServicesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Policy{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.getIamPolicy", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionBackendServicesInsertCall struct {
- s *Service
- project string
- region string
- backendservice *BackendService
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Insert: Creates a regional BackendService resource in the specified project
-// using
-// the data included in the request. For more information, see
-// Backend services overview.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionBackendServicesService) Insert(project string, region string, backendservice *BackendService) *RegionBackendServicesInsertCall {
- c := &RegionBackendServicesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.backendservice = backendservice
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionBackendServicesInsertCall) RequestId(requestId string) *RegionBackendServicesInsertCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionBackendServicesInsertCall) Fields(s ...googleapi.Field) *RegionBackendServicesInsertCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesInsertCall) Context(ctx context.Context) *RegionBackendServicesInsertCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionBackendServicesInsertCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionBackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "autoscaler": c.autoscaler,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.insert" call.
+// Do executes the "compute.regionAutoscalers.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Autoscaler.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionAutoscalersGetCall) Do(opts ...googleapi.CallOption) (*Autoscaler, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -80685,218 +79930,105 @@ func (c *RegionBackendServicesInsertCall) Do(opts ...googleapi.CallOption) (*Ope
}
if err != nil {
return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.insert", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionBackendServicesListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// List: Retrieves the list of regional BackendService resources available to
-// the
-// specified project in the given region.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionBackendServicesService) List(project string, region string) *RegionBackendServicesListCall {
- c := &RegionBackendServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionBackendServicesListCall) Filter(filter string) *RegionBackendServicesListCall {
- c.urlParams_.Set("filter", filter)
- return c
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Autoscaler{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionBackendServicesListCall) MaxResults(maxResults int64) *RegionBackendServicesListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
+type RegionAutoscalersInsertCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler *Autoscaler
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// Insert: Creates an autoscaler in the specified project using
+// the data included in the request.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionBackendServicesListCall) OrderBy(orderBy string) *RegionBackendServicesListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionBackendServicesListCall) PageToken(pageToken string) *RegionBackendServicesListCall {
- c.urlParams_.Set("pageToken", pageToken)
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionAutoscalersService) Insert(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersInsertCall {
+ c := &RegionAutoscalersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.autoscaler = autoscaler
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionBackendServicesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionBackendServicesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionAutoscalersInsertCall) RequestId(requestId string) *RegionAutoscalersInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesListCall) Fields(s ...googleapi.Field) *RegionBackendServicesListCall {
+func (c *RegionAutoscalersInsertCall) Fields(s ...googleapi.Field) *RegionAutoscalersInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionBackendServicesListCall) IfNoneMatch(entityTag string) *RegionBackendServicesListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesListCall) Context(ctx context.Context) *RegionBackendServicesListCall {
+func (c *RegionAutoscalersInsertCall) Context(ctx context.Context) *RegionAutoscalersInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesListCall) Header() http.Header {
+func (c *RegionAutoscalersInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionAutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -80905,17 +80037,16 @@ func (c *RegionBackendServicesListCall) doRequest(alt string) (*http.Response, e
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.list" call.
+// Do executes the "compute.regionAutoscalers.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *BackendServiceList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionBackendServicesListCall) Do(opts ...googleapi.CallOption) (*BackendServiceList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionAutoscalersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -80934,7 +80065,7 @@ func (c *RegionBackendServicesListCall) Do(opts ...googleapi.CallOption) (*Backe
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &BackendServiceList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -80945,32 +80076,11 @@ func (c *RegionBackendServicesListCall) Do(opts ...googleapi.CallOption) (*Backe
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionBackendServicesListCall) Pages(ctx context.Context, f func(*BackendServiceList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionBackendServicesListUsableCall struct {
+type RegionAutoscalersListCall struct {
s *Service
project string
region string
@@ -80980,15 +80090,13 @@ type RegionBackendServicesListUsableCall struct {
header_ http.Header
}
-// ListUsable: Retrieves a list of all usable backend services in the specified
-// project in
-// the given region.
+// List: Retrieves a list of autoscalers contained within
+// the specified region.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// It must be a string that meets the requirements in RFC1035.
-func (r *RegionBackendServicesService) ListUsable(project string, region string) *RegionBackendServicesListUsableCall {
- c := &RegionBackendServicesListUsableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionAutoscalersService) List(project string, region string) *RegionAutoscalersListCall {
+ c := &RegionAutoscalersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -81061,7 +80169,7 @@ func (r *RegionBackendServicesService) ListUsable(project string, region string)
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionBackendServicesListUsableCall) Filter(filter string) *RegionBackendServicesListUsableCall {
+func (c *RegionAutoscalersListCall) Filter(filter string) *RegionAutoscalersListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -81073,7 +80181,7 @@ func (c *RegionBackendServicesListUsableCall) Filter(filter string) *RegionBacke
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionBackendServicesListUsableCall) MaxResults(maxResults int64) *RegionBackendServicesListUsableCall {
+func (c *RegionAutoscalersListCall) MaxResults(maxResults int64) *RegionAutoscalersListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -81093,7 +80201,7 @@ func (c *RegionBackendServicesListUsableCall) MaxResults(maxResults int64) *Regi
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionBackendServicesListUsableCall) OrderBy(orderBy string) *RegionBackendServicesListUsableCall {
+func (c *RegionAutoscalersListCall) OrderBy(orderBy string) *RegionAutoscalersListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -81102,30 +80210,15 @@ func (c *RegionBackendServicesListUsableCall) OrderBy(orderBy string) *RegionBac
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionBackendServicesListUsableCall) PageToken(pageToken string) *RegionBackendServicesListUsableCall {
+func (c *RegionAutoscalersListCall) PageToken(pageToken string) *RegionAutoscalersListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionBackendServicesListUsableCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionBackendServicesListUsableCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesListUsableCall) Fields(s ...googleapi.Field) *RegionBackendServicesListUsableCall {
+func (c *RegionAutoscalersListCall) Fields(s ...googleapi.Field) *RegionAutoscalersListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -81133,34 +80226,34 @@ func (c *RegionBackendServicesListUsableCall) Fields(s ...googleapi.Field) *Regi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionBackendServicesListUsableCall) IfNoneMatch(entityTag string) *RegionBackendServicesListUsableCall {
+func (c *RegionAutoscalersListCall) IfNoneMatch(entityTag string) *RegionAutoscalersListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesListUsableCall) Context(ctx context.Context) *RegionBackendServicesListUsableCall {
+func (c *RegionAutoscalersListCall) Context(ctx context.Context) *RegionAutoscalersListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesListUsableCall) Header() http.Header {
+func (c *RegionAutoscalersListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesListUsableCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionAutoscalersListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/listUsable")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -81171,17 +80264,17 @@ func (c *RegionBackendServicesListUsableCall) doRequest(alt string) (*http.Respo
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.listUsable", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.listUsable" call.
+// Do executes the "compute.regionAutoscalers.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *BackendServiceListUsable.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionBackendServicesListUsableCall) Do(opts ...googleapi.CallOption) (*BackendServiceListUsable, error) {
+// *RegionAutoscalerList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionAutoscalersListCall) Do(opts ...googleapi.CallOption) (*RegionAutoscalerList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -81200,7 +80293,7 @@ func (c *RegionBackendServicesListUsableCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &BackendServiceListUsable{
+ ret := &RegionAutoscalerList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -81211,14 +80304,14 @@ func (c *RegionBackendServicesListUsableCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.listUsable", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionBackendServicesListUsableCall) Pages(ctx context.Context, f func(*BackendServiceListUsable) error) error {
+func (c *RegionAutoscalersListCall) Pages(ctx context.Context, f func(*RegionAutoscalerList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -81236,285 +80329,35 @@ func (c *RegionBackendServicesListUsableCall) Pages(ctx context.Context, f func(
}
}
-type RegionBackendServicesPatchCall struct {
- s *Service
- project string
- region string
- backendService string
- backendservice *BackendService
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionAutoscalersPatchCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler *Autoscaler
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the specified regional BackendService resource with the
-// data
-// included in the request. For more information, see
-// Understanding backend services This method
-// supports PATCH semantics and uses the JSON merge
+// Patch: Updates an autoscaler in the specified project using
+// the data included in the request. This method supportsPATCH
+// semantics and uses theJSON merge
// patch format and processing rules.
//
-// - backendService: Name of the BackendService resource to patch.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionBackendServicesService) Patch(project string, region string, backendService string, backendservice *BackendService) *RegionBackendServicesPatchCall {
- c := &RegionBackendServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.backendService = backendService
- c.backendservice = backendservice
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionBackendServicesPatchCall) RequestId(requestId string) *RegionBackendServicesPatchCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionBackendServicesPatchCall) Fields(s ...googleapi.Field) *RegionBackendServicesPatchCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesPatchCall) Context(ctx context.Context) *RegionBackendServicesPatchCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionBackendServicesPatchCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionBackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendService": c.backendService,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionBackendServices.patch" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.patch", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionBackendServicesSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
-//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionBackendServicesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionBackendServicesSetIamPolicyCall {
- c := &RegionBackendServicesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionAutoscalersService) Patch(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersPatchCall {
+ c := &RegionAutoscalersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionBackendServicesSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionBackendServicesSetIamPolicyCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesSetIamPolicyCall) Context(ctx context.Context) *RegionBackendServicesSetIamPolicyCall {
- c.ctx_ = ctx
+ c.autoscaler = autoscaler
return c
}
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionBackendServicesSetIamPolicyCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionBackendServicesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionBackendServices.setIamPolicy" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendServicesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Policy{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.setIamPolicy", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionBackendServicesSetSecurityPolicyCall struct {
- s *Service
- project string
- region string
- backendService string
- securitypolicyreference *SecurityPolicyReference
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// SetSecurityPolicy: Sets the Google Cloud Armor security policy for the
-// specified backend
-// service. For more information, seeGoogle
-// Cloud Armor Overview
-//
-// - backendService: Name of the BackendService resource to which the security
-// policy should be
-//
-// set. The name should conform to RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionBackendServicesService) SetSecurityPolicy(project string, region string, backendService string, securitypolicyreference *SecurityPolicyReference) *RegionBackendServicesSetSecurityPolicyCall {
- c := &RegionBackendServicesSetSecurityPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.backendService = backendService
- c.securitypolicyreference = securitypolicyreference
+// Autoscaler sets the optional parameter "autoscaler": Name of the autoscaler
+// to patch.
+func (c *RegionAutoscalersPatchCall) Autoscaler(autoscaler string) *RegionAutoscalersPatchCall {
+ c.urlParams_.Set("autoscaler", autoscaler)
return c
}
@@ -81535,7 +80378,7 @@ func (r *RegionBackendServicesService) SetSecurityPolicy(project string, region
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionBackendServicesSetSecurityPolicyCall) RequestId(requestId string) *RegionBackendServicesSetSecurityPolicyCall {
+func (c *RegionAutoscalersPatchCall) RequestId(requestId string) *RegionAutoscalersPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -81543,56 +80386,55 @@ func (c *RegionBackendServicesSetSecurityPolicyCall) RequestId(requestId string)
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesSetSecurityPolicyCall) Fields(s ...googleapi.Field) *RegionBackendServicesSetSecurityPolicyCall {
+func (c *RegionAutoscalersPatchCall) Fields(s ...googleapi.Field) *RegionAutoscalersPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesSetSecurityPolicyCall) Context(ctx context.Context) *RegionBackendServicesSetSecurityPolicyCall {
+func (c *RegionAutoscalersPatchCall) Context(ctx context.Context) *RegionAutoscalersPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesSetSecurityPolicyCall) Header() http.Header {
+func (c *RegionAutoscalersPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyreference)
+func (c *RegionAutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendService": c.backendService,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.setSecurityPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.setSecurityPolicy" call.
+// Do executes the "compute.regionAutoscalers.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendServicesSetSecurityPolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -81622,11 +80464,11 @@ func (c *RegionBackendServicesSetSecurityPolicyCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.setSecurityPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendServicesTestIamPermissionsCall struct {
+type RegionAutoscalersTestIamPermissionsCall struct {
s *Service
project string
region string
@@ -81643,8 +80485,8 @@ type RegionBackendServicesTestIamPermissionsCall struct {
// - project: Project ID for this request.
// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *RegionBackendServicesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionBackendServicesTestIamPermissionsCall {
- c := &RegionBackendServicesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionAutoscalersService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionAutoscalersTestIamPermissionsCall {
+ c := &RegionAutoscalersTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.resource = resource
@@ -81655,35 +80497,35 @@ func (r *RegionBackendServicesService) TestIamPermissions(project string, region
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionBackendServicesTestIamPermissionsCall {
+func (c *RegionAutoscalersTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionAutoscalersTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesTestIamPermissionsCall) Context(ctx context.Context) *RegionBackendServicesTestIamPermissionsCall {
+func (c *RegionAutoscalersTestIamPermissionsCall) Context(ctx context.Context) *RegionAutoscalersTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesTestIamPermissionsCall) Header() http.Header {
+func (c *RegionAutoscalersTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *RegionAutoscalersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -81695,17 +80537,17 @@ func (c *RegionBackendServicesTestIamPermissionsCall) doRequest(alt string) (*ht
"region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.testIamPermissions" call.
+// Do executes the "compute.regionAutoscalers.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionBackendServicesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *RegionAutoscalersTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -81735,36 +80577,37 @@ func (c *RegionBackendServicesTestIamPermissionsCall) Do(opts ...googleapi.CallO
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionBackendServicesUpdateCall struct {
- s *Service
- project string
- region string
- backendService string
- backendservice *BackendService
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionAutoscalersUpdateCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler *Autoscaler
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates the specified regional BackendService resource with the
-// data
-// included in the request. For more information,
-// see
-// Backend services overview.
+// Update: Updates an autoscaler in the specified project using
+// the data included in the request.
//
-// - backendService: Name of the BackendService resource to update.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionBackendServicesService) Update(project string, region string, backendService string, backendservice *BackendService) *RegionBackendServicesUpdateCall {
- c := &RegionBackendServicesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionAutoscalersService) Update(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersUpdateCall {
+ c := &RegionAutoscalersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.backendService = backendService
- c.backendservice = backendservice
+ c.autoscaler = autoscaler
+ return c
+}
+
+// Autoscaler sets the optional parameter "autoscaler": Name of the autoscaler
+// to update.
+func (c *RegionAutoscalersUpdateCall) Autoscaler(autoscaler string) *RegionAutoscalersUpdateCall {
+ c.urlParams_.Set("autoscaler", autoscaler)
return c
}
@@ -81785,7 +80628,7 @@ func (r *RegionBackendServicesService) Update(project string, region string, bac
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionBackendServicesUpdateCall) RequestId(requestId string) *RegionBackendServicesUpdateCall {
+func (c *RegionAutoscalersUpdateCall) RequestId(requestId string) *RegionAutoscalersUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -81793,35 +80636,35 @@ func (c *RegionBackendServicesUpdateCall) RequestId(requestId string) *RegionBac
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionBackendServicesUpdateCall) Fields(s ...googleapi.Field) *RegionBackendServicesUpdateCall {
+func (c *RegionAutoscalersUpdateCall) Fields(s ...googleapi.Field) *RegionAutoscalersUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionBackendServicesUpdateCall) Context(ctx context.Context) *RegionBackendServicesUpdateCall {
+func (c *RegionAutoscalersUpdateCall) Context(ctx context.Context) *RegionAutoscalersUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionBackendServicesUpdateCall) Header() http.Header {
+func (c *RegionAutoscalersUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionBackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
+func (c *RegionAutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autoscaler)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/autoscalers")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PUT", urls, body)
if err != nil {
@@ -81829,20 +80672,19 @@ func (c *RegionBackendServicesUpdateCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "backendService": c.backendService,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionBackendServices.update" call.
+// Do executes the "compute.regionAutoscalers.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionBackendServicesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionAutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -81872,6 +80714,6 @@ func (c *RegionBackendServicesUpdateCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionAutoscalers.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
diff --git a/vendor/google.golang.org/api/compute/v1/compute3-gen.go b/vendor/google.golang.org/api/compute/v1/compute3-gen.go
index 620fba5f0..26962b0dc 100644
--- a/vendor/google.golang.org/api/compute/v1/compute3-gen.go
+++ b/vendor/google.golang.org/api/compute/v1/compute3-gen.go
@@ -16,186 +16,162 @@ import (
gensupport "google.golang.org/api/internal/gensupport"
)
-type RegionCommitmentsAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionBackendBucketsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ backendBucket string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of commitments by region.
-//
-// To prevent failure, it is recommended that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// Delete: Deletes the specified regional BackendBucket resource.
//
+// - backendBucket: Name of the BackendBucket resource to delete.
// - project: Project ID for this request.
-func (r *RegionCommitmentsService) AggregatedList(project string) *RegionCommitmentsAggregatedListCall {
- c := &RegionCommitmentsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionBackendBucketsService) Delete(project string, region string, backendBucket string) *RegionBackendBucketsDeleteCall {
+ c := &RegionBackendBucketsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.region = region
+ c.backendBucket = backendBucket
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionCommitmentsAggregatedListCall) Filter(filter string) *RegionCommitmentsAggregatedListCall {
- c.urlParams_.Set("filter", filter)
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+// end_interface: MixerMutationRequestBuilder
+func (c *RegionBackendBucketsDeleteCall) RequestId(requestId string) *RegionBackendBucketsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *RegionCommitmentsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionCommitmentsAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionBackendBucketsDeleteCall) Fields(s ...googleapi.Field) *RegionBackendBucketsDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionCommitmentsAggregatedListCall) MaxResults(maxResults int64) *RegionCommitmentsAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// Context sets the context to be used in this call's Do method.
+func (c *RegionBackendBucketsDeleteCall) Context(ctx context.Context) *RegionBackendBucketsDeleteCall {
+ c.ctx_ = ctx
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionCommitmentsAggregatedListCall) OrderBy(orderBy string) *RegionCommitmentsAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionBackendBucketsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
}
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionCommitmentsAggregatedListCall) PageToken(pageToken string) *RegionCommitmentsAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
+func (c *RegionBackendBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{backendBucket}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("DELETE", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "backendBucket": c.backendBucket,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.delete", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionCommitmentsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionCommitmentsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
+// Do executes the "compute.regionBackendBuckets.delete" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionBackendBucketsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.delete", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *RegionCommitmentsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionCommitmentsAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+type RegionBackendBucketsGetCall struct {
+ s *Service
+ project string
+ region string
+ backendBucket string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified regional BackendBucket resource.
+//
+// - backendBucket: Name of the BackendBucket resource to return.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionBackendBucketsService) Get(project string, region string, backendBucket string) *RegionBackendBucketsGetCall {
+ c := &RegionBackendBucketsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.backendBucket = backendBucket
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCommitmentsAggregatedListCall) Fields(s ...googleapi.Field) *RegionCommitmentsAggregatedListCall {
+func (c *RegionBackendBucketsGetCall) Fields(s ...googleapi.Field) *RegionBackendBucketsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -203,34 +179,34 @@ func (c *RegionCommitmentsAggregatedListCall) Fields(s ...googleapi.Field) *Regi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionCommitmentsAggregatedListCall) IfNoneMatch(entityTag string) *RegionCommitmentsAggregatedListCall {
+func (c *RegionBackendBucketsGetCall) IfNoneMatch(entityTag string) *RegionBackendBucketsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCommitmentsAggregatedListCall) Context(ctx context.Context) *RegionCommitmentsAggregatedListCall {
+func (c *RegionBackendBucketsGetCall) Context(ctx context.Context) *RegionBackendBucketsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCommitmentsAggregatedListCall) Header() http.Header {
+func (c *RegionBackendBucketsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCommitmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionBackendBucketsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/commitments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{backendBucket}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -238,19 +214,20 @@ func (c *RegionCommitmentsAggregatedListCall) doRequest(alt string) (*http.Respo
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "region": c.region,
+ "backendBucket": c.backendBucket,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCommitments.aggregatedList" call.
+// Do executes the "compute.regionBackendBuckets.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *CommitmentAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionCommitmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (*CommitmentAggregatedList, error) {
+// *BackendBucket.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionBackendBucketsGetCall) Do(opts ...googleapi.CallOption) (*BackendBucket, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -269,7 +246,7 @@ func (c *RegionCommitmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &CommitmentAggregatedList{
+ ret := &BackendBucket{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -280,59 +257,47 @@ func (c *RegionCommitmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionCommitmentsAggregatedListCall) Pages(ctx context.Context, f func(*CommitmentAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionCommitmentsGetCall struct {
+type RegionBackendBucketsGetIamPolicyCall struct {
s *Service
project string
region string
- commitment string
+ resource string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the specified commitment resource.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - commitment: Name of the commitment to return.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionCommitmentsService) Get(project string, region string, commitment string) *RegionCommitmentsGetCall {
- c := &RegionCommitmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionBackendBucketsService) GetIamPolicy(project string, region string, resource string) *RegionBackendBucketsGetIamPolicyCall {
+ c := &RegionBackendBucketsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.commitment = commitment
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *RegionBackendBucketsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionBackendBucketsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCommitmentsGetCall) Fields(s ...googleapi.Field) *RegionCommitmentsGetCall {
+func (c *RegionBackendBucketsGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionBackendBucketsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -340,34 +305,34 @@ func (c *RegionCommitmentsGetCall) Fields(s ...googleapi.Field) *RegionCommitmen
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionCommitmentsGetCall) IfNoneMatch(entityTag string) *RegionCommitmentsGetCall {
+func (c *RegionBackendBucketsGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionBackendBucketsGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCommitmentsGetCall) Context(ctx context.Context) *RegionCommitmentsGetCall {
+func (c *RegionBackendBucketsGetIamPolicyCall) Context(ctx context.Context) *RegionBackendBucketsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCommitmentsGetCall) Header() http.Header {
+func (c *RegionBackendBucketsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCommitmentsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionBackendBucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/commitments/{commitment}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -375,20 +340,20 @@ func (c *RegionCommitmentsGetCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "commitment": c.commitment,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCommitments.get" call.
+// Do executes the "compute.regionBackendBuckets.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Commitment.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionCommitmentsGetCall) Do(opts ...googleapi.CallOption) (*Commitment, error) {
+func (c *RegionBackendBucketsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -407,7 +372,7 @@ func (c *RegionCommitmentsGetCall) Do(opts ...googleapi.CallOption) (*Commitment
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Commitment{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -418,31 +383,31 @@ func (c *RegionCommitmentsGetCall) Do(opts ...googleapi.CallOption) (*Commitment
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionCommitmentsInsertCall struct {
- s *Service
- project string
- region string
- commitment *Commitment
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendBucketsInsertCall struct {
+ s *Service
+ project string
+ region string
+ backendbucket *BackendBucket
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a commitment in the specified project using the
-// data
-// included in the request.
+// Insert: Creates a RegionBackendBucket in the specified project in the given
+// scope
+// using the parameters that are included in the request.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionCommitmentsService) Insert(project string, region string, commitment *Commitment) *RegionCommitmentsInsertCall {
- c := &RegionCommitmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region of this request.
+func (r *RegionBackendBucketsService) Insert(project string, region string, backendbucket *BackendBucket) *RegionBackendBucketsInsertCall {
+ c := &RegionBackendBucketsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.commitment = commitment
+ c.backendbucket = backendbucket
return c
}
@@ -463,7 +428,7 @@ func (r *RegionCommitmentsService) Insert(project string, region string, commitm
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionCommitmentsInsertCall) RequestId(requestId string) *RegionCommitmentsInsertCall {
+func (c *RegionBackendBucketsInsertCall) RequestId(requestId string) *RegionBackendBucketsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -471,35 +436,35 @@ func (c *RegionCommitmentsInsertCall) RequestId(requestId string) *RegionCommitm
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCommitmentsInsertCall) Fields(s ...googleapi.Field) *RegionCommitmentsInsertCall {
+func (c *RegionBackendBucketsInsertCall) Fields(s ...googleapi.Field) *RegionBackendBucketsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCommitmentsInsertCall) Context(ctx context.Context) *RegionCommitmentsInsertCall {
+func (c *RegionBackendBucketsInsertCall) Context(ctx context.Context) *RegionBackendBucketsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCommitmentsInsertCall) Header() http.Header {
+func (c *RegionBackendBucketsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCommitmentsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.commitment)
+func (c *RegionBackendBucketsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendbucket)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/commitments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -510,16 +475,16 @@ func (c *RegionCommitmentsInsertCall) doRequest(alt string) (*http.Response, err
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCommitments.insert" call.
+// Do executes the "compute.regionBackendBuckets.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionCommitmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionBackendBucketsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -549,11 +514,11 @@ func (c *RegionCommitmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionCommitmentsListCall struct {
+type RegionBackendBucketsListCall struct {
s *Service
project string
region string
@@ -563,13 +528,14 @@ type RegionCommitmentsListCall struct {
header_ http.Header
}
-// List: Retrieves a list of commitments contained within
-// the specified region.
+// List: Retrieves the list of BackendBucket resources available to the
+// specified
+// project in the given region.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionCommitmentsService) List(project string, region string) *RegionCommitmentsListCall {
- c := &RegionCommitmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region of this request.
+func (r *RegionBackendBucketsService) List(project string, region string) *RegionBackendBucketsListCall {
+ c := &RegionBackendBucketsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -642,7 +608,7 @@ func (r *RegionCommitmentsService) List(project string, region string) *RegionCo
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionCommitmentsListCall) Filter(filter string) *RegionCommitmentsListCall {
+func (c *RegionBackendBucketsListCall) Filter(filter string) *RegionBackendBucketsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -654,7 +620,7 @@ func (c *RegionCommitmentsListCall) Filter(filter string) *RegionCommitmentsList
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionCommitmentsListCall) MaxResults(maxResults int64) *RegionCommitmentsListCall {
+func (c *RegionBackendBucketsListCall) MaxResults(maxResults int64) *RegionBackendBucketsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -674,7 +640,7 @@ func (c *RegionCommitmentsListCall) MaxResults(maxResults int64) *RegionCommitme
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionCommitmentsListCall) OrderBy(orderBy string) *RegionCommitmentsListCall {
+func (c *RegionBackendBucketsListCall) OrderBy(orderBy string) *RegionBackendBucketsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -683,30 +649,15 @@ func (c *RegionCommitmentsListCall) OrderBy(orderBy string) *RegionCommitmentsLi
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionCommitmentsListCall) PageToken(pageToken string) *RegionCommitmentsListCall {
+func (c *RegionBackendBucketsListCall) PageToken(pageToken string) *RegionBackendBucketsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionCommitmentsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionCommitmentsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCommitmentsListCall) Fields(s ...googleapi.Field) *RegionCommitmentsListCall {
+func (c *RegionBackendBucketsListCall) Fields(s ...googleapi.Field) *RegionBackendBucketsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -714,34 +665,34 @@ func (c *RegionCommitmentsListCall) Fields(s ...googleapi.Field) *RegionCommitme
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionCommitmentsListCall) IfNoneMatch(entityTag string) *RegionCommitmentsListCall {
+func (c *RegionBackendBucketsListCall) IfNoneMatch(entityTag string) *RegionBackendBucketsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCommitmentsListCall) Context(ctx context.Context) *RegionCommitmentsListCall {
+func (c *RegionBackendBucketsListCall) Context(ctx context.Context) *RegionBackendBucketsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCommitmentsListCall) Header() http.Header {
+func (c *RegionBackendBucketsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCommitmentsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionBackendBucketsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/commitments")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -752,16 +703,17 @@ func (c *RegionCommitmentsListCall) doRequest(alt string) (*http.Response, error
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCommitments.list" call.
+// Do executes the "compute.regionBackendBuckets.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *CommitmentList.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionCommitmentsListCall) Do(opts ...googleapi.CallOption) (*CommitmentList, error) {
+// *BackendBucketList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionBackendBucketsListCall) Do(opts ...googleapi.CallOption) (*BackendBucketList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -780,7 +732,7 @@ func (c *RegionCommitmentsListCall) Do(opts ...googleapi.CallOption) (*Commitmen
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &CommitmentList{
+ ret := &BackendBucketList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -791,14 +743,14 @@ func (c *RegionCommitmentsListCall) Do(opts ...googleapi.CallOption) (*Commitmen
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionCommitmentsListCall) Pages(ctx context.Context, f func(*CommitmentList) error) error {
+func (c *RegionBackendBucketsListCall) Pages(ctx context.Context, f func(*BackendBucketList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -816,266 +768,99 @@ func (c *RegionCommitmentsListCall) Pages(ctx context.Context, f func(*Commitmen
}
}
-type RegionCommitmentsUpdateCall struct {
- s *Service
- project string
- region string
- commitment string
- commitment2 *Commitment
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendBucketsListUsableCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates the specified commitment with the data included in the
-// request.
-// Update is performed only on selected fields included as part of
-// update-mask. Only the following fields can be updated: auto_renew and plan.
+// ListUsable: Retrieves a list of all usable backend buckets in the specified
+// project in
+// the given region.
//
-// - commitment: Name of the commitment that you want to update.
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionCommitmentsService) Update(project string, region string, commitment string, commitment2 *Commitment) *RegionCommitmentsUpdateCall {
- c := &RegionCommitmentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// It must be a string that meets the requirements in RFC1035.
+func (r *RegionBackendBucketsService) ListUsable(project string, region string) *RegionBackendBucketsListUsableCall {
+ c := &RegionBackendBucketsListUsableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.commitment = commitment
- c.commitment2 = commitment2
- return c
-}
-
-// Paths sets the optional parameter "paths":
-func (c *RegionCommitmentsUpdateCall) Paths(paths ...string) *RegionCommitmentsUpdateCall {
- c.urlParams_.SetMulti("paths", append([]string{}, paths...))
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionCommitmentsUpdateCall) RequestId(requestId string) *RegionCommitmentsUpdateCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// UpdateMask sets the optional parameter "updateMask": update_mask indicates
-// fields to be updated as part of this request.
-func (c *RegionCommitmentsUpdateCall) UpdateMask(updateMask string) *RegionCommitmentsUpdateCall {
- c.urlParams_.Set("updateMask", updateMask)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionCommitmentsUpdateCall) Fields(s ...googleapi.Field) *RegionCommitmentsUpdateCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionCommitmentsUpdateCall) Context(ctx context.Context) *RegionCommitmentsUpdateCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionCommitmentsUpdateCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionCommitmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.commitment2)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/commitments/{commitment}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "commitment": c.commitment,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.update", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionCommitments.update" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionCommitmentsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.update", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionCompositeHealthChecksAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// AggregatedList: Retrieves the list of all CompositeHealthCheck resources
-// (all
-// regional) available to the specified project.
-//
-// To prevent failure, it is recommended that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
-//
-// - project: Name of the project scoping this request.
-func (r *RegionCompositeHealthChecksService) AggregatedList(project string) *RegionCompositeHealthChecksAggregatedListCall {
- c := &RegionCompositeHealthChecksAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionCompositeHealthChecksAggregatedListCall) Filter(filter string) *RegionCompositeHealthChecksAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *RegionCompositeHealthChecksAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionCompositeHealthChecksAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionBackendBucketsListUsableCall) Filter(filter string) *RegionBackendBucketsListUsableCall {
+ c.urlParams_.Set("filter", filter)
return c
}
@@ -1086,7 +871,7 @@ func (c *RegionCompositeHealthChecksAggregatedListCall) IncludeAllScopes(include
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionCompositeHealthChecksAggregatedListCall) MaxResults(maxResults int64) *RegionCompositeHealthChecksAggregatedListCall {
+func (c *RegionBackendBucketsListUsableCall) MaxResults(maxResults int64) *RegionBackendBucketsListUsableCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -1106,7 +891,7 @@ func (c *RegionCompositeHealthChecksAggregatedListCall) MaxResults(maxResults in
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionCompositeHealthChecksAggregatedListCall) OrderBy(orderBy string) *RegionCompositeHealthChecksAggregatedListCall {
+func (c *RegionBackendBucketsListUsableCall) OrderBy(orderBy string) *RegionBackendBucketsListUsableCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -1115,38 +900,15 @@ func (c *RegionCompositeHealthChecksAggregatedListCall) OrderBy(orderBy string)
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionCompositeHealthChecksAggregatedListCall) PageToken(pageToken string) *RegionCompositeHealthChecksAggregatedListCall {
+func (c *RegionBackendBucketsListUsableCall) PageToken(pageToken string) *RegionBackendBucketsListUsableCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionCompositeHealthChecksAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionCompositeHealthChecksAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *RegionCompositeHealthChecksAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionCompositeHealthChecksAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCompositeHealthChecksAggregatedListCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksAggregatedListCall {
+func (c *RegionBackendBucketsListUsableCall) Fields(s ...googleapi.Field) *RegionBackendBucketsListUsableCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -1154,34 +916,34 @@ func (c *RegionCompositeHealthChecksAggregatedListCall) Fields(s ...googleapi.Fi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionCompositeHealthChecksAggregatedListCall) IfNoneMatch(entityTag string) *RegionCompositeHealthChecksAggregatedListCall {
+func (c *RegionBackendBucketsListUsableCall) IfNoneMatch(entityTag string) *RegionBackendBucketsListUsableCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCompositeHealthChecksAggregatedListCall) Context(ctx context.Context) *RegionCompositeHealthChecksAggregatedListCall {
+func (c *RegionBackendBucketsListUsableCall) Context(ctx context.Context) *RegionBackendBucketsListUsableCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCompositeHealthChecksAggregatedListCall) Header() http.Header {
+func (c *RegionBackendBucketsListUsableCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCompositeHealthChecksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionBackendBucketsListUsableCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/compositeHealthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/listUsable")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -1190,18 +952,19 @@ func (c *RegionCompositeHealthChecksAggregatedListCall) doRequest(alt string) (*
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.listUsable", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCompositeHealthChecks.aggregatedList" call.
+// Do executes the "compute.regionBackendBuckets.listUsable" call.
// Any non-2xx status code is an error. Response headers are in either
-// *CompositeHealthCheckAggregatedList.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
+// *BackendBucketListUsable.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionCompositeHealthChecksAggregatedListCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheckAggregatedList, error) {
+func (c *RegionBackendBucketsListUsableCall) Do(opts ...googleapi.CallOption) (*BackendBucketListUsable, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -1220,7 +983,7 @@ func (c *RegionCompositeHealthChecksAggregatedListCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &CompositeHealthCheckAggregatedList{
+ ret := &BackendBucketListUsable{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -1231,14 +994,14 @@ func (c *RegionCompositeHealthChecksAggregatedListCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.listUsable", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionCompositeHealthChecksAggregatedListCall) Pages(ctx context.Context, f func(*CompositeHealthCheckAggregatedList) error) error {
+func (c *RegionBackendBucketsListUsableCall) Pages(ctx context.Context, f func(*BackendBucketListUsable) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -1256,26 +1019,32 @@ func (c *RegionCompositeHealthChecksAggregatedListCall) Pages(ctx context.Contex
}
}
-type RegionCompositeHealthChecksDeleteCall struct {
- s *Service
- project string
- region string
- compositeHealthCheck string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendBucketsPatchCall struct {
+ s *Service
+ project string
+ region string
+ backendBucket string
+ backendbucket *BackendBucket
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified CompositeHealthCheck in the given region
+// Patch: Updates the specified BackendBucket resource with the data included
+// in the
+// request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// - compositeHealthCheck: Name of the CompositeHealthCheck resource to delete.
+// - backendBucket: Name of the BackendBucket resource to patch.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionCompositeHealthChecksService) Delete(project string, region string, compositeHealthCheck string) *RegionCompositeHealthChecksDeleteCall {
- c := &RegionCompositeHealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionBackendBucketsService) Patch(project string, region string, backendBucket string, backendbucket *BackendBucket) *RegionBackendBucketsPatchCall {
+ c := &RegionBackendBucketsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.compositeHealthCheck = compositeHealthCheck
+ c.backendBucket = backendBucket
+ c.backendbucket = backendbucket
return c
}
@@ -1296,7 +1065,8 @@ func (r *RegionCompositeHealthChecksService) Delete(project string, region strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionCompositeHealthChecksDeleteCall) RequestId(requestId string) *RegionCompositeHealthChecksDeleteCall {
+// end_interface: MixerMutationRequestBuilder
+func (c *RegionBackendBucketsPatchCall) RequestId(requestId string) *RegionBackendBucketsPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -1304,52 +1074,56 @@ func (c *RegionCompositeHealthChecksDeleteCall) RequestId(requestId string) *Reg
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCompositeHealthChecksDeleteCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksDeleteCall {
+func (c *RegionBackendBucketsPatchCall) Fields(s ...googleapi.Field) *RegionBackendBucketsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCompositeHealthChecksDeleteCall) Context(ctx context.Context) *RegionCompositeHealthChecksDeleteCall {
+func (c *RegionBackendBucketsPatchCall) Context(ctx context.Context) *RegionBackendBucketsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCompositeHealthChecksDeleteCall) Header() http.Header {
+func (c *RegionBackendBucketsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCompositeHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionBackendBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendbucket)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{backendBucket}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "compositeHealthCheck": c.compositeHealthCheck,
+ "project": c.project,
+ "region": c.region,
+ "backendBucket": c.backendBucket,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCompositeHealthChecks.delete" call.
+// Do executes the "compute.regionBackendBuckets.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionCompositeHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionBackendBucketsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -1379,96 +1153,90 @@ func (c *RegionCompositeHealthChecksDeleteCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionCompositeHealthChecksGetCall struct {
- s *Service
- project string
- region string
- compositeHealthCheck string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionBackendBucketsSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified CompositeHealthCheck resource in the given
-// region.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - compositeHealthCheck: Name of the CompositeHealthCheck resource to return.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionCompositeHealthChecksService) Get(project string, region string, compositeHealthCheck string) *RegionCompositeHealthChecksGetCall {
- c := &RegionCompositeHealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionBackendBucketsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionBackendBucketsSetIamPolicyCall {
+ c := &RegionBackendBucketsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.compositeHealthCheck = compositeHealthCheck
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCompositeHealthChecksGetCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksGetCall {
+func (c *RegionBackendBucketsSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionBackendBucketsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionCompositeHealthChecksGetCall) IfNoneMatch(entityTag string) *RegionCompositeHealthChecksGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionCompositeHealthChecksGetCall) Context(ctx context.Context) *RegionCompositeHealthChecksGetCall {
+func (c *RegionBackendBucketsSetIamPolicyCall) Context(ctx context.Context) *RegionBackendBucketsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCompositeHealthChecksGetCall) Header() http.Header {
+func (c *RegionBackendBucketsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCompositeHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionBackendBucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "compositeHealthCheck": c.compositeHealthCheck,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCompositeHealthChecks.get" call.
+// Do executes the "compute.regionBackendBuckets.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *CompositeHealthCheck.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionCompositeHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheck, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionBackendBucketsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -1487,7 +1255,7 @@ func (c *RegionCompositeHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &CompositeHealthCheck{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -1498,97 +1266,90 @@ func (c *RegionCompositeHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionCompositeHealthChecksGetHealthCall struct {
- s *Service
- project string
- region string
- compositeHealthCheck string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionBackendBucketsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetHealth: Gets the most recent health check results for this
-// regional CompositeHealthCheck.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - compositeHealthCheck: Name of the CompositeHealthCheck resource to get
-// health for.
-// - project: Name of the project scoping this request.
-// - region: Name of the region scoping this request.
-func (r *RegionCompositeHealthChecksService) GetHealth(project string, region string, compositeHealthCheck string) *RegionCompositeHealthChecksGetHealthCall {
- c := &RegionCompositeHealthChecksGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionBackendBucketsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionBackendBucketsTestIamPermissionsCall {
+ c := &RegionBackendBucketsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.compositeHealthCheck = compositeHealthCheck
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCompositeHealthChecksGetHealthCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksGetHealthCall {
+func (c *RegionBackendBucketsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionBackendBucketsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionCompositeHealthChecksGetHealthCall) IfNoneMatch(entityTag string) *RegionCompositeHealthChecksGetHealthCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionCompositeHealthChecksGetHealthCall) Context(ctx context.Context) *RegionCompositeHealthChecksGetHealthCall {
+func (c *RegionBackendBucketsTestIamPermissionsCall) Context(ctx context.Context) *RegionBackendBucketsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCompositeHealthChecksGetHealthCall) Header() http.Header {
+func (c *RegionBackendBucketsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCompositeHealthChecksGetHealthCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionBackendBucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}/getHealth")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendBuckets/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "compositeHealthCheck": c.compositeHealthCheck,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.getHealth", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCompositeHealthChecks.getHealth" call.
+// Do executes the "compute.regionBackendBuckets.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *CompositeHealthCheckHealth.ServerResponse.Header or (if a response was
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionCompositeHealthChecksGetHealthCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheckHealth, error) {
+func (c *RegionBackendBucketsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -1607,7 +1368,7 @@ func (c *RegionCompositeHealthChecksGetHealthCall) Do(opts ...googleapi.CallOpti
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &CompositeHealthCheckHealth{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -1618,31 +1379,30 @@ func (c *RegionCompositeHealthChecksGetHealthCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.getHealth", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendBuckets.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionCompositeHealthChecksInsertCall struct {
- s *Service
- project string
- region string
- compositehealthcheck *CompositeHealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Create a CompositeHealthCheck in the specified project in the given
-// region
-// using the parameters that are included in the request.
+// Delete: Deletes the specified regional BackendService resource.
//
+// - backendService: Name of the BackendService resource to delete.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionCompositeHealthChecksService) Insert(project string, region string, compositehealthcheck *CompositeHealthCheck) *RegionCompositeHealthChecksInsertCall {
- c := &RegionCompositeHealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionBackendServicesService) Delete(project string, region string, backendService string) *RegionBackendServicesDeleteCall {
+ c := &RegionBackendServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.compositehealthcheck = compositehealthcheck
+ c.backendService = backendService
return c
}
@@ -1663,7 +1423,7 @@ func (r *RegionCompositeHealthChecksService) Insert(project string, region strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionCompositeHealthChecksInsertCall) RequestId(requestId string) *RegionCompositeHealthChecksInsertCall {
+func (c *RegionBackendServicesDeleteCall) RequestId(requestId string) *RegionBackendServicesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -1671,55 +1431,52 @@ func (c *RegionCompositeHealthChecksInsertCall) RequestId(requestId string) *Reg
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCompositeHealthChecksInsertCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksInsertCall {
+func (c *RegionBackendServicesDeleteCall) Fields(s ...googleapi.Field) *RegionBackendServicesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCompositeHealthChecksInsertCall) Context(ctx context.Context) *RegionCompositeHealthChecksInsertCall {
+func (c *RegionBackendServicesDeleteCall) Context(ctx context.Context) *RegionBackendServicesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCompositeHealthChecksInsertCall) Header() http.Header {
+func (c *RegionBackendServicesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCompositeHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.compositehealthcheck)
- if err != nil {
- return nil, err
- }
+func (c *RegionBackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCompositeHealthChecks.insert" call.
+// Do executes the "compute.regionBackendServices.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionCompositeHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionBackendServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -1749,163 +1506,38 @@ func (c *RegionCompositeHealthChecksInsertCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionCompositeHealthChecksListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesGetCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Lists the CompositeHealthChecks for a project in the given region.
+// Get: Returns the specified regional BackendService resource.
//
+// - backendService: Name of the BackendService resource to return.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionCompositeHealthChecksService) List(project string, region string) *RegionCompositeHealthChecksListCall {
- c := &RegionCompositeHealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionBackendServicesService) Get(project string, region string, backendService string) *RegionBackendServicesGetCall {
+ c := &RegionBackendServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionCompositeHealthChecksListCall) Filter(filter string) *RegionCompositeHealthChecksListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionCompositeHealthChecksListCall) MaxResults(maxResults int64) *RegionCompositeHealthChecksListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionCompositeHealthChecksListCall) OrderBy(orderBy string) *RegionCompositeHealthChecksListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionCompositeHealthChecksListCall) PageToken(pageToken string) *RegionCompositeHealthChecksListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionCompositeHealthChecksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionCompositeHealthChecksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+ c.backendService = backendService
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCompositeHealthChecksListCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksListCall {
+func (c *RegionBackendServicesGetCall) Fields(s ...googleapi.Field) *RegionBackendServicesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -1913,34 +1545,34 @@ func (c *RegionCompositeHealthChecksListCall) Fields(s ...googleapi.Field) *Regi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionCompositeHealthChecksListCall) IfNoneMatch(entityTag string) *RegionCompositeHealthChecksListCall {
+func (c *RegionBackendServicesGetCall) IfNoneMatch(entityTag string) *RegionBackendServicesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCompositeHealthChecksListCall) Context(ctx context.Context) *RegionCompositeHealthChecksListCall {
+func (c *RegionBackendServicesGetCall) Context(ctx context.Context) *RegionBackendServicesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCompositeHealthChecksListCall) Header() http.Header {
+func (c *RegionBackendServicesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCompositeHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionBackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -1948,20 +1580,20 @@ func (c *RegionCompositeHealthChecksListCall) doRequest(alt string) (*http.Respo
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCompositeHealthChecks.list" call.
+// Do executes the "compute.regionBackendServices.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *CompositeHealthCheckList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionCompositeHealthChecksListCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheckList, error) {
+// *BackendService.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionBackendServicesGetCall) Do(opts ...googleapi.CallOption) (*BackendService, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -1980,7 +1612,7 @@ func (c *RegionCompositeHealthChecksListCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &CompositeHealthCheckList{
+ ret := &BackendService{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -1991,137 +1623,91 @@ func (c *RegionCompositeHealthChecksListCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionCompositeHealthChecksListCall) Pages(ctx context.Context, f func(*CompositeHealthCheckList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionCompositeHealthChecksPatchCall struct {
- s *Service
- project string
- region string
- compositeHealthCheck string
- compositehealthcheck *CompositeHealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesGetHealthCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ resourcegroupreference *ResourceGroupReference
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the specified regional CompositeHealthCheck resource
-// with the data included in the request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
-//
-// - compositeHealthCheck: Name of the CompositeHealthCheck to update. The
-// name
+// GetHealth: Gets the most recent health check results for this
+// regional BackendService.
//
-// must be 1-63 characters long, and comply with RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionCompositeHealthChecksService) Patch(project string, region string, compositeHealthCheck string, compositehealthcheck *CompositeHealthCheck) *RegionCompositeHealthChecksPatchCall {
- c := &RegionCompositeHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - backendService: Name of the BackendService resource for which to get
+// health.
+// - project: .
+// - region: Name of the region scoping this request.
+func (r *RegionBackendServicesService) GetHealth(project string, region string, backendService string, resourcegroupreference *ResourceGroupReference) *RegionBackendServicesGetHealthCall {
+ c := &RegionBackendServicesGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.compositeHealthCheck = compositeHealthCheck
- c.compositehealthcheck = compositehealthcheck
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionCompositeHealthChecksPatchCall) RequestId(requestId string) *RegionCompositeHealthChecksPatchCall {
- c.urlParams_.Set("requestId", requestId)
+ c.backendService = backendService
+ c.resourcegroupreference = resourcegroupreference
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCompositeHealthChecksPatchCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksPatchCall {
+func (c *RegionBackendServicesGetHealthCall) Fields(s ...googleapi.Field) *RegionBackendServicesGetHealthCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionCompositeHealthChecksPatchCall) Context(ctx context.Context) *RegionCompositeHealthChecksPatchCall {
+func (c *RegionBackendServicesGetHealthCall) Context(ctx context.Context) *RegionBackendServicesGetHealthCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCompositeHealthChecksPatchCall) Header() http.Header {
+func (c *RegionBackendServicesGetHealthCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCompositeHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.compositehealthcheck)
+func (c *RegionBackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.resourcegroupreference)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "compositeHealthCheck": c.compositeHealthCheck,
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.getHealth", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCompositeHealthChecks.patch" call.
+// Do executes the "compute.regionBackendServices.getHealth" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionCompositeHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *BackendServiceGroupHealth.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionBackendServicesGetHealthCall) Do(opts ...googleapi.CallOption) (*BackendServiceGroupHealth, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -2140,7 +1726,7 @@ func (c *RegionCompositeHealthChecksPatchCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &BackendServiceGroupHealth{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -2151,70 +1737,84 @@ func (c *RegionCompositeHealthChecksPatchCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.getHealth", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionCompositeHealthChecksTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesGetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
// - project: Project ID for this request.
// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *RegionCompositeHealthChecksService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionCompositeHealthChecksTestIamPermissionsCall {
- c := &RegionCompositeHealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionBackendServicesService) GetIamPolicy(project string, region string, resource string) *RegionBackendServicesGetIamPolicyCall {
+ c := &RegionBackendServicesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *RegionBackendServicesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionBackendServicesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksTestIamPermissionsCall {
+func (c *RegionBackendServicesGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionBackendServicesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionBackendServicesGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionBackendServicesGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Context(ctx context.Context) *RegionCompositeHealthChecksTestIamPermissionsCall {
+func (c *RegionBackendServicesGetIamPolicyCall) Context(ctx context.Context) *RegionBackendServicesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Header() http.Header {
+func (c *RegionBackendServicesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionCompositeHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *RegionBackendServicesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -2224,17 +1824,16 @@ func (c *RegionCompositeHealthChecksTestIamPermissionsCall) doRequest(alt string
"region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionCompositeHealthChecks.testIamPermissions" call.
+// Do executes the "compute.regionBackendServices.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionBackendServicesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -2253,7 +1852,7 @@ func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Do(opts ...googleapi
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -2264,94 +1863,109 @@ func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Do(opts ...googleapi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDiskTypesGetCall struct {
- s *Service
- project string
- region string
- diskType string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesInsertCall struct {
+ s *Service
+ project string
+ region string
+ backendservice *BackendService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified regional disk type.
+// Insert: Creates a regional BackendService resource in the specified project
+// using
+// the data included in the request. For more information, see
+// Backend services overview.
//
-// - diskType: Name of the disk type to return.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDiskTypesService) Get(project string, region string, diskType string) *RegionDiskTypesGetCall {
- c := &RegionDiskTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionBackendServicesService) Insert(project string, region string, backendservice *BackendService) *RegionBackendServicesInsertCall {
+ c := &RegionBackendServicesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.diskType = diskType
+ c.backendservice = backendservice
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionBackendServicesInsertCall) RequestId(requestId string) *RegionBackendServicesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDiskTypesGetCall) Fields(s ...googleapi.Field) *RegionDiskTypesGetCall {
+func (c *RegionBackendServicesInsertCall) Fields(s ...googleapi.Field) *RegionBackendServicesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionDiskTypesGetCall) IfNoneMatch(entityTag string) *RegionDiskTypesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionDiskTypesGetCall) Context(ctx context.Context) *RegionDiskTypesGetCall {
+func (c *RegionBackendServicesInsertCall) Context(ctx context.Context) *RegionBackendServicesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDiskTypesGetCall) Header() http.Header {
+func (c *RegionBackendServicesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionBackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/diskTypes/{diskType}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "diskType": c.diskType,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDiskTypes.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDiskTypes.get" call.
+// Do executes the "compute.regionBackendServices.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *DiskType.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDiskTypesGetCall) Do(opts ...googleapi.CallOption) (*DiskType, error) {
+func (c *RegionBackendServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -2370,7 +1984,7 @@ func (c *RegionDiskTypesGetCall) Do(opts ...googleapi.CallOption) (*DiskType, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &DiskType{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -2381,11 +1995,11 @@ func (c *RegionDiskTypesGetCall) Do(opts ...googleapi.CallOption) (*DiskType, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDiskTypes.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDiskTypesListCall struct {
+type RegionBackendServicesListCall struct {
s *Service
project string
region string
@@ -2395,13 +2009,14 @@ type RegionDiskTypesListCall struct {
header_ http.Header
}
-// List: Retrieves a list of regional disk types available to the specified
-// project.
+// List: Retrieves the list of regional BackendService resources available to
+// the
+// specified project in the given region.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDiskTypesService) List(project string, region string) *RegionDiskTypesListCall {
- c := &RegionDiskTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionBackendServicesService) List(project string, region string) *RegionBackendServicesListCall {
+ c := &RegionBackendServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -2474,7 +2089,7 @@ func (r *RegionDiskTypesService) List(project string, region string) *RegionDisk
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionDiskTypesListCall) Filter(filter string) *RegionDiskTypesListCall {
+func (c *RegionBackendServicesListCall) Filter(filter string) *RegionBackendServicesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -2486,7 +2101,7 @@ func (c *RegionDiskTypesListCall) Filter(filter string) *RegionDiskTypesListCall
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionDiskTypesListCall) MaxResults(maxResults int64) *RegionDiskTypesListCall {
+func (c *RegionBackendServicesListCall) MaxResults(maxResults int64) *RegionBackendServicesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -2506,7 +2121,7 @@ func (c *RegionDiskTypesListCall) MaxResults(maxResults int64) *RegionDiskTypesL
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionDiskTypesListCall) OrderBy(orderBy string) *RegionDiskTypesListCall {
+func (c *RegionBackendServicesListCall) OrderBy(orderBy string) *RegionBackendServicesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -2515,30 +2130,15 @@ func (c *RegionDiskTypesListCall) OrderBy(orderBy string) *RegionDiskTypesListCa
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionDiskTypesListCall) PageToken(pageToken string) *RegionDiskTypesListCall {
+func (c *RegionBackendServicesListCall) PageToken(pageToken string) *RegionBackendServicesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionDiskTypesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionDiskTypesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDiskTypesListCall) Fields(s ...googleapi.Field) *RegionDiskTypesListCall {
+func (c *RegionBackendServicesListCall) Fields(s ...googleapi.Field) *RegionBackendServicesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -2546,34 +2146,34 @@ func (c *RegionDiskTypesListCall) Fields(s ...googleapi.Field) *RegionDiskTypesL
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionDiskTypesListCall) IfNoneMatch(entityTag string) *RegionDiskTypesListCall {
+func (c *RegionBackendServicesListCall) IfNoneMatch(entityTag string) *RegionBackendServicesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDiskTypesListCall) Context(ctx context.Context) *RegionDiskTypesListCall {
+func (c *RegionBackendServicesListCall) Context(ctx context.Context) *RegionBackendServicesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDiskTypesListCall) Header() http.Header {
+func (c *RegionBackendServicesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDiskTypesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionBackendServicesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/diskTypes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -2584,17 +2184,17 @@ func (c *RegionDiskTypesListCall) doRequest(alt string) (*http.Response, error)
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDiskTypes.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDiskTypes.list" call.
+// Do executes the "compute.regionBackendServices.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionDiskTypeList.ServerResponse.Header or (if a response was returned at
+// *BackendServiceList.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RegionDiskTypesListCall) Do(opts ...googleapi.CallOption) (*RegionDiskTypeList, error) {
+func (c *RegionBackendServicesListCall) Do(opts ...googleapi.CallOption) (*BackendServiceList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -2613,7 +2213,7 @@ func (c *RegionDiskTypesListCall) Do(opts ...googleapi.CallOption) (*RegionDiskT
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionDiskTypeList{
+ ret := &BackendServiceList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -2624,14 +2224,14 @@ func (c *RegionDiskTypesListCall) Do(opts ...googleapi.CallOption) (*RegionDiskT
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDiskTypes.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionDiskTypesListCall) Pages(ctx context.Context, f func(*RegionDiskTypeList) error) error {
+func (c *RegionBackendServicesListCall) Pages(ctx context.Context, f func(*BackendServiceList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -2649,220 +2249,187 @@ func (c *RegionDiskTypesListCall) Pages(ctx context.Context, f func(*RegionDiskT
}
}
-type RegionDisksAddResourcePoliciesCall struct {
- s *Service
- project string
- region string
- disk string
- regiondisksaddresourcepoliciesrequest *RegionDisksAddResourcePoliciesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesListUsableCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AddResourcePolicies: Adds existing resource policies to a regional disk. You
-// can only add one
-// policy which will be applied to this disk for scheduling snapshot
-// creation.
+// ListUsable: Retrieves a list of all usable backend services for Application
+// Load
+// Balancers and Proxy Network Load Balancers in the specified project in
+// the
+// given region. Backend services for external and internal passthrough
+// Network Load Balancers are not included in the response.
//
-// - disk: The disk name for this request.
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDisksService) AddResourcePolicies(project string, region string, disk string, regiondisksaddresourcepoliciesrequest *RegionDisksAddResourcePoliciesRequest) *RegionDisksAddResourcePoliciesCall {
- c := &RegionDisksAddResourcePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// It must be a string that meets the requirements in RFC1035.
+func (r *RegionBackendServicesService) ListUsable(project string, region string) *RegionBackendServicesListUsableCall {
+ c := &RegionBackendServicesListUsableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
- c.regiondisksaddresourcepoliciesrequest = regiondisksaddresourcepoliciesrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksAddResourcePoliciesCall) RequestId(requestId string) *RegionDisksAddResourcePoliciesCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionDisksAddResourcePoliciesCall) Fields(s ...googleapi.Field) *RegionDisksAddResourcePoliciesCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionBackendServicesListUsableCall) Filter(filter string) *RegionBackendServicesListUsableCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksAddResourcePoliciesCall) Context(ctx context.Context) *RegionDisksAddResourcePoliciesCall {
- c.ctx_ = ctx
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionBackendServicesListUsableCall) MaxResults(maxResults int64) *RegionBackendServicesListUsableCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionDisksAddResourcePoliciesCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionDisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondisksaddresourcepoliciesrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "disk": c.disk,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.addResourcePolicies", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionDisks.addResourcePolicies" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksAddResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.addResourcePolicies", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionDisksBulkInsertCall struct {
- s *Service
- project string
- region string
- bulkinsertdiskresource *BulkInsertDiskResource
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// BulkInsert: Bulk create a set of disks.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDisksService) BulkInsert(project string, region string, bulkinsertdiskresource *BulkInsertDiskResource) *RegionDisksBulkInsertCall {
- c := &RegionDisksBulkInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.bulkinsertdiskresource = bulkinsertdiskresource
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionBackendServicesListUsableCall) OrderBy(orderBy string) *RegionBackendServicesListUsableCall {
+ c.urlParams_.Set("orderBy", orderBy)
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksBulkInsertCall) RequestId(requestId string) *RegionDisksBulkInsertCall {
- c.urlParams_.Set("requestId", requestId)
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionBackendServicesListUsableCall) PageToken(pageToken string) *RegionBackendServicesListUsableCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksBulkInsertCall) Fields(s ...googleapi.Field) *RegionDisksBulkInsertCall {
+func (c *RegionBackendServicesListUsableCall) Fields(s ...googleapi.Field) *RegionBackendServicesListUsableCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionBackendServicesListUsableCall) IfNoneMatch(entityTag string) *RegionBackendServicesListUsableCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksBulkInsertCall) Context(ctx context.Context) *RegionDisksBulkInsertCall {
+func (c *RegionBackendServicesListUsableCall) Context(ctx context.Context) *RegionBackendServicesListUsableCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksBulkInsertCall) Header() http.Header {
+func (c *RegionBackendServicesListUsableCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksBulkInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.bulkinsertdiskresource)
- if err != nil {
- return nil, err
+func (c *RegionBackendServicesListUsableCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/bulkInsert")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/listUsable")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -2871,16 +2438,17 @@ func (c *RegionDisksBulkInsertCall) doRequest(alt string) (*http.Response, error
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.bulkInsert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.listUsable", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.bulkInsert" call.
+// Do executes the "compute.regionBackendServices.listUsable" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *BackendServiceListUsable.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionBackendServicesListUsableCall) Do(opts ...googleapi.CallOption) (*BackendServiceListUsable, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -2899,7 +2467,7 @@ func (c *RegionDisksBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &BackendServiceListUsable{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -2910,37 +2478,58 @@ func (c *RegionDisksBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.bulkInsert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.listUsable", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksCreateSnapshotCall struct {
- s *Service
- project string
- region string
- disk string
- snapshot *Snapshot
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionBackendServicesListUsableCall) Pages(ctx context.Context, f func(*BackendServiceListUsable) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// CreateSnapshot: Creates a snapshot of a specified persistent disk. For
-// regular snapshot
-// creation, consider using snapshots.insert
-// instead, as that method supports more features, such as creating
-// snapshots
-// in a project different from the source disk project.
+type RegionBackendServicesPatchCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ backendservice *BackendService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates the specified regional BackendService resource with the
+// data
+// included in the request. For more information, see
+// Understanding backend services This method
+// supports PATCH semantics and uses the JSON merge
+// patch format and processing rules.
//
-// - disk: Name of the regional persistent disk to snapshot.
+// - backendService: Name of the BackendService resource to patch.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionDisksService) CreateSnapshot(project string, region string, disk string, snapshot *Snapshot) *RegionDisksCreateSnapshotCall {
- c := &RegionDisksCreateSnapshotCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionBackendServicesService) Patch(project string, region string, backendService string, backendservice *BackendService) *RegionBackendServicesPatchCall {
+ c := &RegionBackendServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
- c.snapshot = snapshot
+ c.backendService = backendService
+ c.backendservice = backendservice
return c
}
@@ -2961,7 +2550,7 @@ func (r *RegionDisksService) CreateSnapshot(project string, region string, disk
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksCreateSnapshotCall) RequestId(requestId string) *RegionDisksCreateSnapshotCall {
+func (c *RegionBackendServicesPatchCall) RequestId(requestId string) *RegionBackendServicesPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -2969,56 +2558,56 @@ func (c *RegionDisksCreateSnapshotCall) RequestId(requestId string) *RegionDisks
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksCreateSnapshotCall) Fields(s ...googleapi.Field) *RegionDisksCreateSnapshotCall {
+func (c *RegionBackendServicesPatchCall) Fields(s ...googleapi.Field) *RegionBackendServicesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksCreateSnapshotCall) Context(ctx context.Context) *RegionDisksCreateSnapshotCall {
+func (c *RegionBackendServicesPatchCall) Context(ctx context.Context) *RegionBackendServicesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksCreateSnapshotCall) Header() http.Header {
+func (c *RegionBackendServicesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshot)
+func (c *RegionBackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/createSnapshot")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "disk": c.disk,
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.createSnapshot", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.createSnapshot" call.
+// Do executes the "compute.regionBackendServices.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksCreateSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionBackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -3048,110 +2637,90 @@ func (c *RegionDisksCreateSnapshotCall) Do(opts ...googleapi.CallOption) (*Opera
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.createSnapshot", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksDeleteCall struct {
- s *Service
- project string
- region string
- disk string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified regional persistent disk. Deleting a regional
-// disk
-// removes all the replicas of its data permanently and is
-// irreversible.
-// However, deleting a disk does not delete anysnapshots
-// previously made from the disk. You must separatelydelete
-// snapshots.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - disk: Name of the regional persistent disk to delete.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionDisksService) Delete(project string, region string, disk string) *RegionDisksDeleteCall {
- c := &RegionDisksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionBackendServicesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionBackendServicesSetIamPolicyCall {
+ c := &RegionBackendServicesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksDeleteCall) RequestId(requestId string) *RegionDisksDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksDeleteCall) Fields(s ...googleapi.Field) *RegionDisksDeleteCall {
+func (c *RegionBackendServicesSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionBackendServicesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksDeleteCall) Context(ctx context.Context) *RegionDisksDeleteCall {
+func (c *RegionBackendServicesSetIamPolicyCall) Context(ctx context.Context) *RegionBackendServicesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksDeleteCall) Header() http.Header {
+func (c *RegionBackendServicesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionBackendServicesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "disk": c.disk,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.delete" call.
+// Do executes the "compute.regionBackendServices.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionBackendServicesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -3170,7 +2739,7 @@ func (c *RegionDisksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -3181,94 +2750,116 @@ func (c *RegionDisksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksGetCall struct {
- s *Service
- project string
- region string
- disk string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesSetSecurityPolicyCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ securitypolicyreference *SecurityPolicyReference
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns a specified regional persistent disk.
+// SetSecurityPolicy: Sets the Google Cloud Armor security policy for the
+// specified backend
+// service. For more information, seeGoogle
+// Cloud Armor Overview
//
-// - disk: Name of the regional persistent disk to return.
+// - backendService: Name of the BackendService resource to which the security
+// policy should be
+//
+// set. The name should conform to RFC1035.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionDisksService) Get(project string, region string, disk string) *RegionDisksGetCall {
- c := &RegionDisksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionBackendServicesService) SetSecurityPolicy(project string, region string, backendService string, securitypolicyreference *SecurityPolicyReference) *RegionBackendServicesSetSecurityPolicyCall {
+ c := &RegionBackendServicesSetSecurityPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
+ c.backendService = backendService
+ c.securitypolicyreference = securitypolicyreference
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionBackendServicesSetSecurityPolicyCall) RequestId(requestId string) *RegionBackendServicesSetSecurityPolicyCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksGetCall) Fields(s ...googleapi.Field) *RegionDisksGetCall {
+func (c *RegionBackendServicesSetSecurityPolicyCall) Fields(s ...googleapi.Field) *RegionBackendServicesSetSecurityPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionDisksGetCall) IfNoneMatch(entityTag string) *RegionDisksGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksGetCall) Context(ctx context.Context) *RegionDisksGetCall {
+func (c *RegionBackendServicesSetSecurityPolicyCall) Context(ctx context.Context) *RegionBackendServicesSetSecurityPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksGetCall) Header() http.Header {
+func (c *RegionBackendServicesSetSecurityPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionBackendServicesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyreference)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "disk": c.disk,
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.setSecurityPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.get" call.
+// Do executes the "compute.regionBackendServices.setSecurityPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Disk.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksGetCall) Do(opts ...googleapi.CallOption) (*Disk, error) {
+func (c *RegionBackendServicesSetSecurityPolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -3287,7 +2878,7 @@ func (c *RegionDisksGetCall) Do(opts ...googleapi.CallOption) (*Disk, error) {
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Disk{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -3298,84 +2889,70 @@ func (c *RegionDisksGetCall) Do(opts ...googleapi.CallOption) (*Disk, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.setSecurityPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksGetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
// - project: Project ID for this request.
// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *RegionDisksService) GetIamPolicy(project string, region string, resource string) *RegionDisksGetIamPolicyCall {
- c := &RegionDisksGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionBackendServicesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionBackendServicesTestIamPermissionsCall {
+ c := &RegionBackendServicesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.resource = resource
- return c
-}
-
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *RegionDisksGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionDisksGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionDisksGetIamPolicyCall {
+func (c *RegionBackendServicesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionBackendServicesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionDisksGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionDisksGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksGetIamPolicyCall) Context(ctx context.Context) *RegionDisksGetIamPolicyCall {
+func (c *RegionBackendServicesTestIamPermissionsCall) Context(ctx context.Context) *RegionBackendServicesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksGetIamPolicyCall) Header() http.Header {
+func (c *RegionBackendServicesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionBackendServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -3385,16 +2962,17 @@ func (c *RegionDisksGetIamPolicyCall) doRequest(alt string) (*http.Response, err
"region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.getIamPolicy" call.
+// Do executes the "compute.regionBackendServices.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionBackendServicesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -3413,7 +2991,7 @@ func (c *RegionDisksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -3424,31 +3002,36 @@ func (c *RegionDisksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksInsertCall struct {
- s *Service
- project string
- region string
- disk *Disk
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionBackendServicesUpdateCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ backendservice *BackendService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a persistent regional disk in the specified project using
-// the data
-// included in the request.
+// Update: Updates the specified regional BackendService resource with the
+// data
+// included in the request. For more information,
+// see
+// Backend services overview.
//
+// - backendService: Name of the BackendService resource to update.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionDisksService) Insert(project string, region string, disk *Disk) *RegionDisksInsertCall {
- c := &RegionDisksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionBackendServicesService) Update(project string, region string, backendService string, backendservice *BackendService) *RegionBackendServicesUpdateCall {
+ c := &RegionBackendServicesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
+ c.backendService = backendService
+ c.backendservice = backendservice
return c
}
@@ -3469,70 +3052,64 @@ func (r *RegionDisksService) Insert(project string, region string, disk *Disk) *
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksInsertCall) RequestId(requestId string) *RegionDisksInsertCall {
+func (c *RegionBackendServicesUpdateCall) RequestId(requestId string) *RegionBackendServicesUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// SourceImage sets the optional parameter "sourceImage": Source image to
-// restore onto a disk. This field is optional.
-func (c *RegionDisksInsertCall) SourceImage(sourceImage string) *RegionDisksInsertCall {
- c.urlParams_.Set("sourceImage", sourceImage)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksInsertCall) Fields(s ...googleapi.Field) *RegionDisksInsertCall {
+func (c *RegionBackendServicesUpdateCall) Fields(s ...googleapi.Field) *RegionBackendServicesUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksInsertCall) Context(ctx context.Context) *RegionDisksInsertCall {
+func (c *RegionBackendServicesUpdateCall) Context(ctx context.Context) *RegionBackendServicesUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksInsertCall) Header() http.Header {
+func (c *RegionBackendServicesUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disk)
+func (c *RegionBackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.backendservice)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/backendServices/{backendService}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PUT", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionBackendServices.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.insert" call.
+// Do executes the "compute.regionBackendServices.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionBackendServicesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -3562,29 +3139,29 @@ func (c *RegionDisksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionBackendServices.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksListCall struct {
+type RegionCommitmentsAggregatedListCall struct {
s *Service
project string
- region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of persistent disks contained within
-// the specified region.
+// AggregatedList: Retrieves an aggregated list of commitments by region.
+//
+// To prevent failure, it is recommended that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionDisksService) List(project string, region string) *RegionDisksListCall {
- c := &RegionDisksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionCommitmentsService) AggregatedList(project string) *RegionCommitmentsAggregatedListCall {
+ c := &RegionCommitmentsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
return c
}
@@ -3655,19 +3232,37 @@ func (r *RegionDisksService) List(project string, region string) *RegionDisksLis
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionDisksListCall) Filter(filter string) *RegionDisksListCall {
+func (c *RegionCommitmentsAggregatedListCall) Filter(filter string) *RegionCommitmentsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *RegionCommitmentsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionCommitmentsAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
// Compute Engine returns a `nextPageToken` that can be used to get
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionDisksListCall) MaxResults(maxResults int64) *RegionDisksListCall {
+func (c *RegionCommitmentsAggregatedListCall) MaxResults(maxResults int64) *RegionCommitmentsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -3687,7 +3282,7 @@ func (c *RegionDisksListCall) MaxResults(maxResults int64) *RegionDisksListCall
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionDisksListCall) OrderBy(orderBy string) *RegionDisksListCall {
+func (c *RegionCommitmentsAggregatedListCall) OrderBy(orderBy string) *RegionCommitmentsAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -3696,30 +3291,23 @@ func (c *RegionDisksListCall) OrderBy(orderBy string) *RegionDisksListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionDisksListCall) PageToken(pageToken string) *RegionDisksListCall {
+func (c *RegionCommitmentsAggregatedListCall) PageToken(pageToken string) *RegionCommitmentsAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionDisksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionDisksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *RegionCommitmentsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionCommitmentsAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksListCall) Fields(s ...googleapi.Field) *RegionDisksListCall {
+func (c *RegionCommitmentsAggregatedListCall) Fields(s ...googleapi.Field) *RegionCommitmentsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -3727,34 +3315,34 @@ func (c *RegionDisksListCall) Fields(s ...googleapi.Field) *RegionDisksListCall
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionDisksListCall) IfNoneMatch(entityTag string) *RegionDisksListCall {
+func (c *RegionCommitmentsAggregatedListCall) IfNoneMatch(entityTag string) *RegionCommitmentsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksListCall) Context(ctx context.Context) *RegionDisksListCall {
+func (c *RegionCommitmentsAggregatedListCall) Context(ctx context.Context) *RegionCommitmentsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksListCall) Header() http.Header {
+func (c *RegionCommitmentsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionCommitmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/commitments")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -3763,18 +3351,18 @@ func (c *RegionDisksListCall) doRequest(alt string) (*http.Response, error) {
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.list" call.
+// Do executes the "compute.regionCommitments.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *DiskList.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksListCall) Do(opts ...googleapi.CallOption) (*DiskList, error) {
+// *CommitmentAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionCommitmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (*CommitmentAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -3793,7 +3381,7 @@ func (c *RegionDisksListCall) Do(opts ...googleapi.CallOption) (*DiskList, error
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &DiskList{
+ ret := &CommitmentAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -3804,14 +3392,14 @@ func (c *RegionDisksListCall) Do(opts ...googleapi.CallOption) (*DiskList, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionDisksListCall) Pages(ctx context.Context, f func(*DiskList) error) error {
+func (c *RegionCommitmentsAggregatedListCall) Pages(ctx context.Context, f func(*CommitmentAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -3829,106 +3417,90 @@ func (c *RegionDisksListCall) Pages(ctx context.Context, f func(*DiskList) error
}
}
-type RegionDisksRemoveResourcePoliciesCall struct {
- s *Service
- project string
- region string
- disk string
- regiondisksremoveresourcepoliciesrequest *RegionDisksRemoveResourcePoliciesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionCommitmentsGetCall struct {
+ s *Service
+ project string
+ region string
+ commitment string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// RemoveResourcePolicies: Removes resource policies from a regional disk.
+// Get: Returns the specified commitment resource.
//
-// - disk: The disk name for this request.
+// - commitment: Name of the commitment to return.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDisksService) RemoveResourcePolicies(project string, region string, disk string, regiondisksremoveresourcepoliciesrequest *RegionDisksRemoveResourcePoliciesRequest) *RegionDisksRemoveResourcePoliciesCall {
- c := &RegionDisksRemoveResourcePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionCommitmentsService) Get(project string, region string, commitment string) *RegionCommitmentsGetCall {
+ c := &RegionCommitmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
- c.regiondisksremoveresourcepoliciesrequest = regiondisksremoveresourcepoliciesrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksRemoveResourcePoliciesCall) RequestId(requestId string) *RegionDisksRemoveResourcePoliciesCall {
- c.urlParams_.Set("requestId", requestId)
+ c.commitment = commitment
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksRemoveResourcePoliciesCall) Fields(s ...googleapi.Field) *RegionDisksRemoveResourcePoliciesCall {
+func (c *RegionCommitmentsGetCall) Fields(s ...googleapi.Field) *RegionCommitmentsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionCommitmentsGetCall) IfNoneMatch(entityTag string) *RegionCommitmentsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksRemoveResourcePoliciesCall) Context(ctx context.Context) *RegionDisksRemoveResourcePoliciesCall {
+func (c *RegionCommitmentsGetCall) Context(ctx context.Context) *RegionCommitmentsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksRemoveResourcePoliciesCall) Header() http.Header {
+func (c *RegionCommitmentsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondisksremoveresourcepoliciesrequest)
- if err != nil {
- return nil, err
+func (c *RegionCommitmentsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/commitments/{commitment}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "disk": c.disk,
+ "project": c.project,
+ "region": c.region,
+ "commitment": c.commitment,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.removeResourcePolicies", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.removeResourcePolicies" call.
+// Do executes the "compute.regionCommitments.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Commitment.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksRemoveResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionCommitmentsGetCall) Do(opts ...googleapi.CallOption) (*Commitment, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -3947,7 +3519,7 @@ func (c *RegionDisksRemoveResourcePoliciesCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Commitment{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -3958,32 +3530,31 @@ func (c *RegionDisksRemoveResourcePoliciesCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.removeResourcePolicies", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksResizeCall struct {
- s *Service
- project string
- region string
- disk string
- regiondisksresizerequest *RegionDisksResizeRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionCommitmentsInsertCall struct {
+ s *Service
+ project string
+ region string
+ commitment *Commitment
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Resize: Resizes the specified regional persistent disk.
+// Insert: Creates a commitment in the specified project using the
+// data
+// included in the request.
//
-// - disk: Name of the regional persistent disk.
-// - project: The project ID for this request.
+// - project: Project ID for this request.
// - region: Name of the region for this request.
-func (r *RegionDisksService) Resize(project string, region string, disk string, regiondisksresizerequest *RegionDisksResizeRequest) *RegionDisksResizeCall {
- c := &RegionDisksResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionCommitmentsService) Insert(project string, region string, commitment *Commitment) *RegionCommitmentsInsertCall {
+ c := &RegionCommitmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
- c.regiondisksresizerequest = regiondisksresizerequest
+ c.commitment = commitment
return c
}
@@ -4004,7 +3575,7 @@ func (r *RegionDisksService) Resize(project string, region string, disk string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksResizeCall) RequestId(requestId string) *RegionDisksResizeCall {
+func (c *RegionCommitmentsInsertCall) RequestId(requestId string) *RegionCommitmentsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -4012,35 +3583,35 @@ func (c *RegionDisksResizeCall) RequestId(requestId string) *RegionDisksResizeCa
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksResizeCall) Fields(s ...googleapi.Field) *RegionDisksResizeCall {
+func (c *RegionCommitmentsInsertCall) Fields(s ...googleapi.Field) *RegionCommitmentsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksResizeCall) Context(ctx context.Context) *RegionDisksResizeCall {
+func (c *RegionCommitmentsInsertCall) Context(ctx context.Context) *RegionCommitmentsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksResizeCall) Header() http.Header {
+func (c *RegionCommitmentsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksResizeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondisksresizerequest)
+func (c *RegionCommitmentsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.commitment)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/resize")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/commitments")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -4050,18 +3621,17 @@ func (c *RegionDisksResizeCall) doRequest(alt string) (*http.Response, error) {
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
- "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.resize", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.resize" call.
+// Do executes the "compute.regionCommitments.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionCommitmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -4091,90 +3661,204 @@ func (c *RegionDisksResizeCall) Do(opts ...googleapi.CallOption) (*Operation, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.resize", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionCommitmentsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// List: Retrieves a list of commitments contained within
+// the specified region.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionDisksService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionDisksSetIamPolicyCall {
- c := &RegionDisksSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionCommitmentsService) List(project string, region string) *RegionCommitmentsListCall {
+ c := &RegionCommitmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionCommitmentsListCall) Filter(filter string) *RegionCommitmentsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionCommitmentsListCall) MaxResults(maxResults int64) *RegionCommitmentsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionCommitmentsListCall) OrderBy(orderBy string) *RegionCommitmentsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionCommitmentsListCall) PageToken(pageToken string) *RegionCommitmentsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionDisksSetIamPolicyCall {
+func (c *RegionCommitmentsListCall) Fields(s ...googleapi.Field) *RegionCommitmentsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionCommitmentsListCall) IfNoneMatch(entityTag string) *RegionCommitmentsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksSetIamPolicyCall) Context(ctx context.Context) *RegionDisksSetIamPolicyCall {
+func (c *RegionCommitmentsListCall) Context(ctx context.Context) *RegionCommitmentsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksSetIamPolicyCall) Header() http.Header {
+func (c *RegionCommitmentsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
- if err != nil {
- return nil, err
+func (c *RegionCommitmentsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/commitments")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.setIamPolicy" call.
+// Do executes the "compute.regionCommitments.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *CommitmentList.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *RegionCommitmentsListCall) Do(opts ...googleapi.CallOption) (*CommitmentList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -4193,7 +3877,7 @@ func (c *RegionDisksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &CommitmentList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -4204,32 +3888,62 @@ func (c *RegionDisksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksSetLabelsCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetlabelsrequest *RegionSetLabelsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionCommitmentsListCall) Pages(ctx context.Context, f func(*CommitmentList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// SetLabels: Sets the labels on the target regional disk.
+type RegionCommitmentsUpdateCall struct {
+ s *Service
+ project string
+ region string
+ commitment string
+ commitment2 *Commitment
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates the specified commitment with the data included in the
+// request.
+// Update is performed only on selected fields included as part of
+// update-mask. Only the following fields can be updated: auto_renew and plan.
//
+// - commitment: Name of the commitment that you want to update.
// - project: Project ID for this request.
-// - region: The region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionDisksService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *RegionDisksSetLabelsCall {
- c := &RegionDisksSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionCommitmentsService) Update(project string, region string, commitment string, commitment2 *Commitment) *RegionCommitmentsUpdateCall {
+ c := &RegionCommitmentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetlabelsrequest = regionsetlabelsrequest
+ c.commitment = commitment
+ c.commitment2 = commitment2
+ return c
+}
+
+// Paths sets the optional parameter "paths":
+func (c *RegionCommitmentsUpdateCall) Paths(paths ...string) *RegionCommitmentsUpdateCall {
+ c.urlParams_.SetMulti("paths", append([]string{}, paths...))
return c
}
@@ -4250,64 +3964,71 @@ func (r *RegionDisksService) SetLabels(project string, region string, resource s
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksSetLabelsCall) RequestId(requestId string) *RegionDisksSetLabelsCall {
+func (c *RegionCommitmentsUpdateCall) RequestId(requestId string) *RegionCommitmentsUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// UpdateMask sets the optional parameter "updateMask": update_mask indicates
+// fields to be updated as part of this request.
+func (c *RegionCommitmentsUpdateCall) UpdateMask(updateMask string) *RegionCommitmentsUpdateCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksSetLabelsCall) Fields(s ...googleapi.Field) *RegionDisksSetLabelsCall {
+func (c *RegionCommitmentsUpdateCall) Fields(s ...googleapi.Field) *RegionCommitmentsUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksSetLabelsCall) Context(ctx context.Context) *RegionDisksSetLabelsCall {
+func (c *RegionCommitmentsUpdateCall) Context(ctx context.Context) *RegionCommitmentsUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksSetLabelsCall) Header() http.Header {
+func (c *RegionCommitmentsUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
+func (c *RegionCommitmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.commitment2)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{resource}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/commitments/{commitment}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "commitment": c.commitment,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCommitments.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.setLabels" call.
+// Do executes the "compute.regionCommitments.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionCommitmentsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -4337,111 +4058,232 @@ func (c *RegionDisksSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCommitments.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksStartAsyncReplicationCall struct {
- s *Service
- project string
- region string
- disk string
- regiondisksstartasyncreplicationrequest *RegionDisksStartAsyncReplicationRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
+type RegionCompositeHealthChecksAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
-// StartAsyncReplication: Starts asynchronous replication.
-// Must be invoked on the primary disk.
+// AggregatedList: Retrieves the list of all CompositeHealthCheck resources
+// (all
+// regional) available to the specified project.
//
-// - disk: The name of the persistent disk.
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDisksService) StartAsyncReplication(project string, region string, disk string, regiondisksstartasyncreplicationrequest *RegionDisksStartAsyncReplicationRequest) *RegionDisksStartAsyncReplicationCall {
- c := &RegionDisksStartAsyncReplicationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// To prevent failure, it is recommended that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Name of the project scoping this request.
+func (r *RegionCompositeHealthChecksService) AggregatedList(project string) *RegionCompositeHealthChecksAggregatedListCall {
+ c := &RegionCompositeHealthChecksAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.disk = disk
- c.regiondisksstartasyncreplicationrequest = regiondisksstartasyncreplicationrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksStartAsyncReplicationCall) RequestId(requestId string) *RegionDisksStartAsyncReplicationCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionCompositeHealthChecksAggregatedListCall) Filter(filter string) *RegionCompositeHealthChecksAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *RegionCompositeHealthChecksAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionCompositeHealthChecksAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionCompositeHealthChecksAggregatedListCall) MaxResults(maxResults int64) *RegionCompositeHealthChecksAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionCompositeHealthChecksAggregatedListCall) OrderBy(orderBy string) *RegionCompositeHealthChecksAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionCompositeHealthChecksAggregatedListCall) PageToken(pageToken string) *RegionCompositeHealthChecksAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *RegionCompositeHealthChecksAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionCompositeHealthChecksAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksStartAsyncReplicationCall) Fields(s ...googleapi.Field) *RegionDisksStartAsyncReplicationCall {
+func (c *RegionCompositeHealthChecksAggregatedListCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionCompositeHealthChecksAggregatedListCall) IfNoneMatch(entityTag string) *RegionCompositeHealthChecksAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksStartAsyncReplicationCall) Context(ctx context.Context) *RegionDisksStartAsyncReplicationCall {
+func (c *RegionCompositeHealthChecksAggregatedListCall) Context(ctx context.Context) *RegionCompositeHealthChecksAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksStartAsyncReplicationCall) Header() http.Header {
+func (c *RegionCompositeHealthChecksAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksStartAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondisksstartasyncreplicationrequest)
- if err != nil {
- return nil, err
+func (c *RegionCompositeHealthChecksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/compositeHealthChecks")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
- "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.startAsyncReplication", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.startAsyncReplication" call.
+// Do executes the "compute.regionCompositeHealthChecks.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksStartAsyncReplicationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *CompositeHealthCheckAggregatedList.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionCompositeHealthChecksAggregatedListCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheckAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -4460,7 +4302,7 @@ func (c *RegionDisksStartAsyncReplicationCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &CompositeHealthCheckAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -4471,31 +4313,51 @@ func (c *RegionDisksStartAsyncReplicationCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.startAsyncReplication", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksStopAsyncReplicationCall struct {
- s *Service
- project string
- region string
- disk string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionCompositeHealthChecksAggregatedListCall) Pages(ctx context.Context, f func(*CompositeHealthCheckAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// StopAsyncReplication: Stops asynchronous replication.
-// Can be invoked either on the primary or on the secondary disk.
+type RegionCompositeHealthChecksDeleteCall struct {
+ s *Service
+ project string
+ region string
+ compositeHealthCheck string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified CompositeHealthCheck in the given region
//
-// - disk: The name of the persistent disk.
+// - compositeHealthCheck: Name of the CompositeHealthCheck resource to delete.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDisksService) StopAsyncReplication(project string, region string, disk string) *RegionDisksStopAsyncReplicationCall {
- c := &RegionDisksStopAsyncReplicationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionCompositeHealthChecksService) Delete(project string, region string, compositeHealthCheck string) *RegionCompositeHealthChecksDeleteCall {
+ c := &RegionCompositeHealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
+ c.compositeHealthCheck = compositeHealthCheck
return c
}
@@ -4516,7 +4378,7 @@ func (r *RegionDisksService) StopAsyncReplication(project string, region string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksStopAsyncReplicationCall) RequestId(requestId string) *RegionDisksStopAsyncReplicationCall {
+func (c *RegionCompositeHealthChecksDeleteCall) RequestId(requestId string) *RegionCompositeHealthChecksDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -4524,52 +4386,52 @@ func (c *RegionDisksStopAsyncReplicationCall) RequestId(requestId string) *Regio
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksStopAsyncReplicationCall) Fields(s ...googleapi.Field) *RegionDisksStopAsyncReplicationCall {
+func (c *RegionCompositeHealthChecksDeleteCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksStopAsyncReplicationCall) Context(ctx context.Context) *RegionDisksStopAsyncReplicationCall {
+func (c *RegionCompositeHealthChecksDeleteCall) Context(ctx context.Context) *RegionCompositeHealthChecksDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksStopAsyncReplicationCall) Header() http.Header {
+func (c *RegionCompositeHealthChecksDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksStopAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionCompositeHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "disk": c.disk,
+ "project": c.project,
+ "region": c.region,
+ "compositeHealthCheck": c.compositeHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.stopAsyncReplication", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.stopAsyncReplication" call.
+// Do executes the "compute.regionCompositeHealthChecks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksStopAsyncReplicationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionCompositeHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -4599,111 +4461,96 @@ func (c *RegionDisksStopAsyncReplicationCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.stopAsyncReplication", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksStopGroupAsyncReplicationCall struct {
- s *Service
- project string
- region string
- disksstopgroupasyncreplicationresource *DisksStopGroupAsyncReplicationResource
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionCompositeHealthChecksGetCall struct {
+ s *Service
+ project string
+ region string
+ compositeHealthCheck string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// StopGroupAsyncReplication: Stops asynchronous replication for a consistency
-// group of disks.
-// Can be invoked either in the primary or secondary scope.
-//
-// - project: Project ID for this request.
-// - region: The name of the region for this request. This must be the region
-// of the
+// Get: Returns the specified CompositeHealthCheck resource in the given
+// region.
//
-// primary or secondary disks in the consistency group.
-func (r *RegionDisksService) StopGroupAsyncReplication(project string, region string, disksstopgroupasyncreplicationresource *DisksStopGroupAsyncReplicationResource) *RegionDisksStopGroupAsyncReplicationCall {
- c := &RegionDisksStopGroupAsyncReplicationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - compositeHealthCheck: Name of the CompositeHealthCheck resource to return.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionCompositeHealthChecksService) Get(project string, region string, compositeHealthCheck string) *RegionCompositeHealthChecksGetCall {
+ c := &RegionCompositeHealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disksstopgroupasyncreplicationresource = disksstopgroupasyncreplicationresource
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksStopGroupAsyncReplicationCall) RequestId(requestId string) *RegionDisksStopGroupAsyncReplicationCall {
- c.urlParams_.Set("requestId", requestId)
+ c.compositeHealthCheck = compositeHealthCheck
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksStopGroupAsyncReplicationCall) Fields(s ...googleapi.Field) *RegionDisksStopGroupAsyncReplicationCall {
+func (c *RegionCompositeHealthChecksGetCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionCompositeHealthChecksGetCall) IfNoneMatch(entityTag string) *RegionCompositeHealthChecksGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksStopGroupAsyncReplicationCall) Context(ctx context.Context) *RegionDisksStopGroupAsyncReplicationCall {
+func (c *RegionCompositeHealthChecksGetCall) Context(ctx context.Context) *RegionCompositeHealthChecksGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksStopGroupAsyncReplicationCall) Header() http.Header {
+func (c *RegionCompositeHealthChecksGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksStopGroupAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disksstopgroupasyncreplicationresource)
- if err != nil {
- return nil, err
+func (c *RegionCompositeHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "compositeHealthCheck": c.compositeHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.stopGroupAsyncReplication", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.stopGroupAsyncReplication" call.
+// Do executes the "compute.regionCompositeHealthChecks.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksStopGroupAsyncReplicationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *CompositeHealthCheck.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionCompositeHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheck, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -4722,7 +4569,7 @@ func (c *RegionDisksStopGroupAsyncReplicationCall) Do(opts ...googleapi.CallOpti
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &CompositeHealthCheck{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -4733,90 +4580,97 @@ func (c *RegionDisksStopGroupAsyncReplicationCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.stopGroupAsyncReplication", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionCompositeHealthChecksGetHealthCall struct {
+ s *Service
+ project string
+ region string
+ compositeHealthCheck string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// GetHealth: Gets the most recent health check results for this
+// regional CompositeHealthCheck.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionDisksService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionDisksTestIamPermissionsCall {
- c := &RegionDisksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - compositeHealthCheck: Name of the CompositeHealthCheck resource to get
+// health for.
+// - project: Name of the project scoping this request.
+// - region: Name of the region scoping this request.
+func (r *RegionCompositeHealthChecksService) GetHealth(project string, region string, compositeHealthCheck string) *RegionCompositeHealthChecksGetHealthCall {
+ c := &RegionCompositeHealthChecksGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.compositeHealthCheck = compositeHealthCheck
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionDisksTestIamPermissionsCall {
+func (c *RegionCompositeHealthChecksGetHealthCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksGetHealthCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionCompositeHealthChecksGetHealthCall) IfNoneMatch(entityTag string) *RegionCompositeHealthChecksGetHealthCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksTestIamPermissionsCall) Context(ctx context.Context) *RegionDisksTestIamPermissionsCall {
+func (c *RegionCompositeHealthChecksGetHealthCall) Context(ctx context.Context) *RegionCompositeHealthChecksGetHealthCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksTestIamPermissionsCall) Header() http.Header {
+func (c *RegionCompositeHealthChecksGetHealthCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *RegionCompositeHealthChecksGetHealthCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}/getHealth")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "compositeHealthCheck": c.compositeHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.getHealth", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.testIamPermissions" call.
+// Do executes the "compute.regionCompositeHealthChecks.getHealth" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// *CompositeHealthCheckHealth.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionDisksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *RegionCompositeHealthChecksGetHealthCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheckHealth, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -4835,7 +4689,7 @@ func (c *RegionDisksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*T
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &CompositeHealthCheckHealth{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -4846,181 +4700,31 @@ func (c *RegionDisksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*T
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.getHealth", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionDisksUpdateCall struct {
- s *Service
- project string
- region string
- disk string
- disk2 *Disk
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionCompositeHealthChecksInsertCall struct {
+ s *Service
+ project string
+ region string
+ compositehealthcheck *CompositeHealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Update the specified disk with the data included in the request.
-// Update is
-// performed only on selected fields included as part of update-mask.
+// Insert: Create a CompositeHealthCheck in the specified project in the given
+// region
+// using the parameters that are included in the request.
//
-// - disk: The disk name for this request.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDisksService) Update(project string, region string, disk string, disk2 *Disk) *RegionDisksUpdateCall {
- c := &RegionDisksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.disk = disk
- c.disk2 = disk2
- return c
-}
-
-// Paths sets the optional parameter "paths":
-func (c *RegionDisksUpdateCall) Paths(paths ...string) *RegionDisksUpdateCall {
- c.urlParams_.SetMulti("paths", append([]string{}, paths...))
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksUpdateCall) RequestId(requestId string) *RegionDisksUpdateCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// UpdateMask sets the optional parameter "updateMask": update_mask indicates
-// fields to be updated as part of this request.
-func (c *RegionDisksUpdateCall) UpdateMask(updateMask string) *RegionDisksUpdateCall {
- c.urlParams_.Set("updateMask", updateMask)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionDisksUpdateCall) Fields(s ...googleapi.Field) *RegionDisksUpdateCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksUpdateCall) Context(ctx context.Context) *RegionDisksUpdateCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionDisksUpdateCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionDisksUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disk2)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "disk": c.disk,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionDisks.update" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.update", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionDisksUpdateKmsKeyCall struct {
- s *Service
- project string
- region string
- disk string
- regiondiskupdatekmskeyrequest *RegionDiskUpdateKmsKeyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// UpdateKmsKey: Rotates the customer-managed
-// encryption key to the latest version for the specified persistent disk.
-//
-// - disk: Name of the Disk resource, should conform to RFC1035.
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionDisksService) UpdateKmsKey(project string, region string, disk string, regiondiskupdatekmskeyrequest *RegionDiskUpdateKmsKeyRequest) *RegionDisksUpdateKmsKeyCall {
- c := &RegionDisksUpdateKmsKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionCompositeHealthChecksService) Insert(project string, region string, compositehealthcheck *CompositeHealthCheck) *RegionCompositeHealthChecksInsertCall {
+ c := &RegionCompositeHealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.disk = disk
- c.regiondiskupdatekmskeyrequest = regiondiskupdatekmskeyrequest
+ c.compositehealthcheck = compositehealthcheck
return c
}
@@ -5041,7 +4745,7 @@ func (r *RegionDisksService) UpdateKmsKey(project string, region string, disk st
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionDisksUpdateKmsKeyCall) RequestId(requestId string) *RegionDisksUpdateKmsKeyCall {
+func (c *RegionCompositeHealthChecksInsertCall) RequestId(requestId string) *RegionCompositeHealthChecksInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -5049,35 +4753,35 @@ func (c *RegionDisksUpdateKmsKeyCall) RequestId(requestId string) *RegionDisksUp
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionDisksUpdateKmsKeyCall) Fields(s ...googleapi.Field) *RegionDisksUpdateKmsKeyCall {
+func (c *RegionCompositeHealthChecksInsertCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionDisksUpdateKmsKeyCall) Context(ctx context.Context) *RegionDisksUpdateKmsKeyCall {
+func (c *RegionCompositeHealthChecksInsertCall) Context(ctx context.Context) *RegionCompositeHealthChecksInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionDisksUpdateKmsKeyCall) Header() http.Header {
+func (c *RegionCompositeHealthChecksInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionDisksUpdateKmsKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondiskupdatekmskeyrequest)
+func (c *RegionCompositeHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.compositehealthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/updateKmsKey")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -5087,18 +4791,17 @@ func (c *RegionDisksUpdateKmsKeyCall) doRequest(alt string) (*http.Response, err
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
- "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.updateKmsKey", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionDisks.updateKmsKey" call.
+// Do executes the "compute.regionCompositeHealthChecks.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionDisksUpdateKmsKeyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionCompositeHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -5128,31 +4831,28 @@ func (c *RegionDisksUpdateKmsKeyCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.updateKmsKey", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthAggregationPoliciesAggregatedListCall struct {
+type RegionCompositeHealthChecksListCall struct {
s *Service
project string
+ region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// AggregatedList: Retrieves the list of all HealthAggregationPolicy
-// resources,
-// regional and global, available to the specified project.
-//
-// To prevent failure, it is recommended that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// List: Lists the CompositeHealthChecks for a project in the given region.
//
-// - project: Name of the project scoping this request.
-func (r *RegionHealthAggregationPoliciesService) AggregatedList(project string) *RegionHealthAggregationPoliciesAggregatedListCall {
- c := &RegionHealthAggregationPoliciesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionCompositeHealthChecksService) List(project string, region string) *RegionCompositeHealthChecksListCall {
+ c := &RegionCompositeHealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.region = region
return c
}
@@ -5223,29 +4923,11 @@ func (r *RegionHealthAggregationPoliciesService) AggregatedList(project string)
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) Filter(filter string) *RegionHealthAggregationPoliciesAggregatedListCall {
+func (c *RegionCompositeHealthChecksListCall) Filter(filter string) *RegionCompositeHealthChecksListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionHealthAggregationPoliciesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -5253,7 +4935,7 @@ func (c *RegionHealthAggregationPoliciesAggregatedListCall) IncludeAllScopes(inc
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) MaxResults(maxResults int64) *RegionHealthAggregationPoliciesAggregatedListCall {
+func (c *RegionCompositeHealthChecksListCall) MaxResults(maxResults int64) *RegionCompositeHealthChecksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -5273,7 +4955,7 @@ func (c *RegionHealthAggregationPoliciesAggregatedListCall) MaxResults(maxResult
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) OrderBy(orderBy string) *RegionHealthAggregationPoliciesAggregatedListCall {
+func (c *RegionCompositeHealthChecksListCall) OrderBy(orderBy string) *RegionCompositeHealthChecksListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -5282,38 +4964,15 @@ func (c *RegionHealthAggregationPoliciesAggregatedListCall) OrderBy(orderBy stri
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) PageToken(pageToken string) *RegionHealthAggregationPoliciesAggregatedListCall {
+func (c *RegionCompositeHealthChecksListCall) PageToken(pageToken string) *RegionCompositeHealthChecksListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionHealthAggregationPoliciesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionHealthAggregationPoliciesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesAggregatedListCall {
+func (c *RegionCompositeHealthChecksListCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -5321,34 +4980,34 @@ func (c *RegionHealthAggregationPoliciesAggregatedListCall) Fields(s ...googleap
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) IfNoneMatch(entityTag string) *RegionHealthAggregationPoliciesAggregatedListCall {
+func (c *RegionCompositeHealthChecksListCall) IfNoneMatch(entityTag string) *RegionCompositeHealthChecksListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesAggregatedListCall {
+func (c *RegionCompositeHealthChecksListCall) Context(ctx context.Context) *RegionCompositeHealthChecksListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) Header() http.Header {
+func (c *RegionCompositeHealthChecksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionCompositeHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/healthAggregationPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -5357,18 +5016,19 @@ func (c *RegionHealthAggregationPoliciesAggregatedListCall) doRequest(alt string
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthAggregationPolicies.aggregatedList" call.
+// Do executes the "compute.regionCompositeHealthChecks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthAggregationPolicyAggregatedList.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
+// *CompositeHealthCheckList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*HealthAggregationPolicyAggregatedList, error) {
+func (c *RegionCompositeHealthChecksListCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheckList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -5387,7 +5047,7 @@ func (c *RegionHealthAggregationPoliciesAggregatedListCall) Do(opts ...googleapi
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthAggregationPolicyAggregatedList{
+ ret := &CompositeHealthCheckList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -5398,14 +5058,14 @@ func (c *RegionHealthAggregationPoliciesAggregatedListCall) Do(opts ...googleapi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionHealthAggregationPoliciesAggregatedListCall) Pages(ctx context.Context, f func(*HealthAggregationPolicyAggregatedList) error) error {
+func (c *RegionCompositeHealthChecksListCall) Pages(ctx context.Context, f func(*CompositeHealthCheckList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -5423,27 +5083,34 @@ func (c *RegionHealthAggregationPoliciesAggregatedListCall) Pages(ctx context.Co
}
}
-type RegionHealthAggregationPoliciesDeleteCall struct {
- s *Service
- project string
- region string
- healthAggregationPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionCompositeHealthChecksPatchCall struct {
+ s *Service
+ project string
+ region string
+ compositeHealthCheck string
+ compositehealthcheck *CompositeHealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified HealthAggregationPolicy in the given region.
+// Patch: Updates the specified regional CompositeHealthCheck resource
+// with the data included in the request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// - healthAggregationPolicy: Name of the HealthAggregationPolicy resource to
-// delete.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthAggregationPoliciesService) Delete(project string, region string, healthAggregationPolicy string) *RegionHealthAggregationPoliciesDeleteCall {
- c := &RegionHealthAggregationPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - compositeHealthCheck: Name of the CompositeHealthCheck to update. The
+// name
+//
+// must be 1-63 characters long, and comply with RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionCompositeHealthChecksService) Patch(project string, region string, compositeHealthCheck string, compositehealthcheck *CompositeHealthCheck) *RegionCompositeHealthChecksPatchCall {
+ c := &RegionCompositeHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthAggregationPolicy = healthAggregationPolicy
+ c.compositeHealthCheck = compositeHealthCheck
+ c.compositehealthcheck = compositehealthcheck
return c
}
@@ -5464,7 +5131,7 @@ func (r *RegionHealthAggregationPoliciesService) Delete(project string, region s
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthAggregationPoliciesDeleteCall) RequestId(requestId string) *RegionHealthAggregationPoliciesDeleteCall {
+func (c *RegionCompositeHealthChecksPatchCall) RequestId(requestId string) *RegionCompositeHealthChecksPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -5472,52 +5139,56 @@ func (c *RegionHealthAggregationPoliciesDeleteCall) RequestId(requestId string)
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthAggregationPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesDeleteCall {
+func (c *RegionCompositeHealthChecksPatchCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthAggregationPoliciesDeleteCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesDeleteCall {
+func (c *RegionCompositeHealthChecksPatchCall) Context(ctx context.Context) *RegionCompositeHealthChecksPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthAggregationPoliciesDeleteCall) Header() http.Header {
+func (c *RegionCompositeHealthChecksPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthAggregationPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionCompositeHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.compositehealthcheck)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthAggregationPolicy": c.healthAggregationPolicy,
+ "project": c.project,
+ "region": c.region,
+ "compositeHealthCheck": c.compositeHealthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthAggregationPolicies.delete" call.
+// Do executes the "compute.regionCompositeHealthChecks.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthAggregationPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionCompositeHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -5547,97 +5218,90 @@ func (c *RegionHealthAggregationPoliciesDeleteCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthAggregationPoliciesGetCall struct {
- s *Service
- project string
- region string
- healthAggregationPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionCompositeHealthChecksTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified HealthAggregationPolicy resource in the given
-// region.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - healthAggregationPolicy: Name of the HealthAggregationPolicy resource to
-// return.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthAggregationPoliciesService) Get(project string, region string, healthAggregationPolicy string) *RegionHealthAggregationPoliciesGetCall {
- c := &RegionHealthAggregationPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionCompositeHealthChecksService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionCompositeHealthChecksTestIamPermissionsCall {
+ c := &RegionCompositeHealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthAggregationPolicy = healthAggregationPolicy
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthAggregationPoliciesGetCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesGetCall {
+func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionCompositeHealthChecksTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionHealthAggregationPoliciesGetCall) IfNoneMatch(entityTag string) *RegionHealthAggregationPoliciesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthAggregationPoliciesGetCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesGetCall {
+func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Context(ctx context.Context) *RegionCompositeHealthChecksTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthAggregationPoliciesGetCall) Header() http.Header {
+func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthAggregationPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionCompositeHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/compositeHealthChecks/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthAggregationPolicy": c.healthAggregationPolicy,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthAggregationPolicies.get" call.
+// Do executes the "compute.regionCompositeHealthChecks.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthAggregationPolicy.ServerResponse.Header or (if a response was
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionHealthAggregationPoliciesGetCall) Do(opts ...googleapi.CallOption) (*HealthAggregationPolicy, error) {
+func (c *RegionCompositeHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -5656,7 +5320,7 @@ func (c *RegionHealthAggregationPoliciesGetCall) Do(opts ...googleapi.CallOption
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthAggregationPolicy{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -5667,108 +5331,94 @@ func (c *RegionHealthAggregationPoliciesGetCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionCompositeHealthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthAggregationPoliciesInsertCall struct {
- s *Service
- project string
- region string
- healthaggregationpolicy *HealthAggregationPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDiskTypesGetCall struct {
+ s *Service
+ project string
+ region string
+ diskType string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Create a HealthAggregationPolicy in the specified project in the
-// given
-// region using the parameters that are included in the request.
+// Get: Returns the specified regional disk type.
//
+// - diskType: Name of the disk type to return.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthAggregationPoliciesService) Insert(project string, region string, healthaggregationpolicy *HealthAggregationPolicy) *RegionHealthAggregationPoliciesInsertCall {
- c := &RegionHealthAggregationPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionDiskTypesService) Get(project string, region string, diskType string) *RegionDiskTypesGetCall {
+ c := &RegionDiskTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthaggregationpolicy = healthaggregationpolicy
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthAggregationPoliciesInsertCall) RequestId(requestId string) *RegionHealthAggregationPoliciesInsertCall {
- c.urlParams_.Set("requestId", requestId)
+ c.diskType = diskType
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthAggregationPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesInsertCall {
+func (c *RegionDiskTypesGetCall) Fields(s ...googleapi.Field) *RegionDiskTypesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionDiskTypesGetCall) IfNoneMatch(entityTag string) *RegionDiskTypesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthAggregationPoliciesInsertCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesInsertCall {
+func (c *RegionDiskTypesGetCall) Context(ctx context.Context) *RegionDiskTypesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthAggregationPoliciesInsertCall) Header() http.Header {
+func (c *RegionDiskTypesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthAggregationPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthaggregationpolicy)
- if err != nil {
- return nil, err
+func (c *RegionDiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/diskTypes/{diskType}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "diskType": c.diskType,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDiskTypes.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthAggregationPolicies.insert" call.
+// Do executes the "compute.regionDiskTypes.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *DiskType.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthAggregationPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDiskTypesGetCall) Do(opts ...googleapi.CallOption) (*DiskType, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -5787,7 +5437,7 @@ func (c *RegionHealthAggregationPoliciesInsertCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &DiskType{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -5798,11 +5448,11 @@ func (c *RegionHealthAggregationPoliciesInsertCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDiskTypes.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthAggregationPoliciesListCall struct {
+type RegionDiskTypesListCall struct {
s *Service
project string
region string
@@ -5812,12 +5462,13 @@ type RegionHealthAggregationPoliciesListCall struct {
header_ http.Header
}
-// List: Lists the HealthAggregationPolicies for a project in the given region.
+// List: Retrieves a list of regional disk types available to the specified
+// project.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthAggregationPoliciesService) List(project string, region string) *RegionHealthAggregationPoliciesListCall {
- c := &RegionHealthAggregationPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionDiskTypesService) List(project string, region string) *RegionDiskTypesListCall {
+ c := &RegionDiskTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -5890,7 +5541,7 @@ func (r *RegionHealthAggregationPoliciesService) List(project string, region str
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionHealthAggregationPoliciesListCall) Filter(filter string) *RegionHealthAggregationPoliciesListCall {
+func (c *RegionDiskTypesListCall) Filter(filter string) *RegionDiskTypesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -5902,7 +5553,7 @@ func (c *RegionHealthAggregationPoliciesListCall) Filter(filter string) *RegionH
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionHealthAggregationPoliciesListCall) MaxResults(maxResults int64) *RegionHealthAggregationPoliciesListCall {
+func (c *RegionDiskTypesListCall) MaxResults(maxResults int64) *RegionDiskTypesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -5922,7 +5573,7 @@ func (c *RegionHealthAggregationPoliciesListCall) MaxResults(maxResults int64) *
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionHealthAggregationPoliciesListCall) OrderBy(orderBy string) *RegionHealthAggregationPoliciesListCall {
+func (c *RegionDiskTypesListCall) OrderBy(orderBy string) *RegionDiskTypesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -5931,30 +5582,15 @@ func (c *RegionHealthAggregationPoliciesListCall) OrderBy(orderBy string) *Regio
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionHealthAggregationPoliciesListCall) PageToken(pageToken string) *RegionHealthAggregationPoliciesListCall {
+func (c *RegionDiskTypesListCall) PageToken(pageToken string) *RegionDiskTypesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionHealthAggregationPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionHealthAggregationPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthAggregationPoliciesListCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesListCall {
+func (c *RegionDiskTypesListCall) Fields(s ...googleapi.Field) *RegionDiskTypesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -5962,34 +5598,34 @@ func (c *RegionHealthAggregationPoliciesListCall) Fields(s ...googleapi.Field) *
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionHealthAggregationPoliciesListCall) IfNoneMatch(entityTag string) *RegionHealthAggregationPoliciesListCall {
+func (c *RegionDiskTypesListCall) IfNoneMatch(entityTag string) *RegionDiskTypesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthAggregationPoliciesListCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesListCall {
+func (c *RegionDiskTypesListCall) Context(ctx context.Context) *RegionDiskTypesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthAggregationPoliciesListCall) Header() http.Header {
+func (c *RegionDiskTypesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthAggregationPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionDiskTypesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/diskTypes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -6000,17 +5636,17 @@ func (c *RegionHealthAggregationPoliciesListCall) doRequest(alt string) (*http.R
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDiskTypes.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthAggregationPolicies.list" call.
+// Do executes the "compute.regionDiskTypes.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthAggregationPolicyList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionHealthAggregationPoliciesListCall) Do(opts ...googleapi.CallOption) (*HealthAggregationPolicyList, error) {
+// *RegionDiskTypeList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionDiskTypesListCall) Do(opts ...googleapi.CallOption) (*RegionDiskTypeList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -6029,7 +5665,7 @@ func (c *RegionHealthAggregationPoliciesListCall) Do(opts ...googleapi.CallOptio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthAggregationPolicyList{
+ ret := &RegionDiskTypeList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -6040,14 +5676,14 @@ func (c *RegionHealthAggregationPoliciesListCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDiskTypes.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionHealthAggregationPoliciesListCall) Pages(ctx context.Context, f func(*HealthAggregationPolicyList) error) error {
+func (c *RegionDiskTypesListCall) Pages(ctx context.Context, f func(*RegionDiskTypeList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -6065,35 +5701,31 @@ func (c *RegionHealthAggregationPoliciesListCall) Pages(ctx context.Context, f f
}
}
-type RegionHealthAggregationPoliciesPatchCall struct {
- s *Service
- project string
- region string
- healthAggregationPolicy string
- healthaggregationpolicy *HealthAggregationPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksAddResourcePoliciesCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ regiondisksaddresourcepoliciesrequest *RegionDisksAddResourcePoliciesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the specified regional HealthAggregationPolicy
-// resource with the data included in the request. This method
-// supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
-//
-// - healthAggregationPolicy: Name of the HealthAggregationPolicy to update.
-// The name
+// AddResourcePolicies: Adds existing resource policies to a regional disk. You
+// can only add one
+// policy which will be applied to this disk for scheduling snapshot
+// creation.
//
-// must be 1-63 characters long, and comply with RFC1035.
+// - disk: The disk name for this request.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthAggregationPoliciesService) Patch(project string, region string, healthAggregationPolicy string, healthaggregationpolicy *HealthAggregationPolicy) *RegionHealthAggregationPoliciesPatchCall {
- c := &RegionHealthAggregationPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionDisksService) AddResourcePolicies(project string, region string, disk string, regiondisksaddresourcepoliciesrequest *RegionDisksAddResourcePoliciesRequest) *RegionDisksAddResourcePoliciesCall {
+ c := &RegionDisksAddResourcePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthAggregationPolicy = healthAggregationPolicy
- c.healthaggregationpolicy = healthaggregationpolicy
+ c.disk = disk
+ c.regiondisksaddresourcepoliciesrequest = regiondisksaddresourcepoliciesrequest
return c
}
@@ -6114,7 +5746,7 @@ func (r *RegionHealthAggregationPoliciesService) Patch(project string, region st
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthAggregationPoliciesPatchCall) RequestId(requestId string) *RegionHealthAggregationPoliciesPatchCall {
+func (c *RegionDisksAddResourcePoliciesCall) RequestId(requestId string) *RegionDisksAddResourcePoliciesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -6122,56 +5754,56 @@ func (c *RegionHealthAggregationPoliciesPatchCall) RequestId(requestId string) *
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthAggregationPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesPatchCall {
+func (c *RegionDisksAddResourcePoliciesCall) Fields(s ...googleapi.Field) *RegionDisksAddResourcePoliciesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthAggregationPoliciesPatchCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesPatchCall {
+func (c *RegionDisksAddResourcePoliciesCall) Context(ctx context.Context) *RegionDisksAddResourcePoliciesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthAggregationPoliciesPatchCall) Header() http.Header {
+func (c *RegionDisksAddResourcePoliciesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthAggregationPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthaggregationpolicy)
+func (c *RegionDisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondisksaddresourcepoliciesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthAggregationPolicy": c.healthAggregationPolicy,
+ "project": c.project,
+ "region": c.region,
+ "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.addResourcePolicies", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthAggregationPolicies.patch" call.
+// Do executes the "compute.regionDisks.addResourcePolicies" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthAggregationPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDisksAddResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -6201,68 +5833,86 @@ func (c *RegionHealthAggregationPoliciesPatchCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.addResourcePolicies", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthAggregationPoliciesTestIamPermissionsCall struct {
+type RegionDisksBulkInsertCall struct {
s *Service
project string
region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
+ bulkinsertdiskresource *BulkInsertDiskResource
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// BulkInsert: Bulk create a set of disks.
//
// - project: Project ID for this request.
// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionHealthAggregationPoliciesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionHealthAggregationPoliciesTestIamPermissionsCall {
- c := &RegionHealthAggregationPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionDisksService) BulkInsert(project string, region string, bulkinsertdiskresource *BulkInsertDiskResource) *RegionDisksBulkInsertCall {
+ c := &RegionDisksBulkInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.bulkinsertdiskresource = bulkinsertdiskresource
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionDisksBulkInsertCall) RequestId(requestId string) *RegionDisksBulkInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesTestIamPermissionsCall {
+func (c *RegionDisksBulkInsertCall) Fields(s ...googleapi.Field) *RegionDisksBulkInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesTestIamPermissionsCall {
+func (c *RegionDisksBulkInsertCall) Context(ctx context.Context) *RegionDisksBulkInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Header() http.Header {
+func (c *RegionDisksBulkInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *RegionDisksBulkInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.bulkinsertdiskresource)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/bulkInsert")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -6270,21 +5920,19 @@ func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) doRequest(alt st
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.bulkInsert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthAggregationPolicies.testIamPermissions" call.
+// Do executes the "compute.regionDisks.bulkInsert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionDisksBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -6303,7 +5951,7 @@ func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Do(opts ...googl
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -6314,247 +5962,115 @@ func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Do(opts ...googl
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.bulkInsert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthCheckServicesAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionDisksCreateSnapshotCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ snapshot *Snapshot
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AggregatedList: Retrieves the list of all HealthCheckService
-// resources,
-// regional and global, available to the specified project.
-//
-// To prevent failure, it is recommended that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// CreateSnapshot: Creates a snapshot of a specified persistent disk. For
+// regular snapshot
+// creation, consider using snapshots.insert
+// instead, as that method supports more features, such as creating
+// snapshots
+// in a project different from the source disk project.
//
-// - project: Name of the project scoping this request.
-func (r *RegionHealthCheckServicesService) AggregatedList(project string) *RegionHealthCheckServicesAggregatedListCall {
- c := &RegionHealthCheckServicesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - disk: Name of the regional persistent disk to snapshot.
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+func (r *RegionDisksService) CreateSnapshot(project string, region string, disk string, snapshot *Snapshot) *RegionDisksCreateSnapshotCall {
+ c := &RegionDisksCreateSnapshotCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.region = region
+ c.disk = disk
+ c.snapshot = snapshot
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionHealthCheckServicesAggregatedListCall) Filter(filter string) *RegionHealthCheckServicesAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *RegionHealthCheckServicesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionHealthCheckServicesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionHealthCheckServicesAggregatedListCall) MaxResults(maxResults int64) *RegionHealthCheckServicesAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionHealthCheckServicesAggregatedListCall) OrderBy(orderBy string) *RegionHealthCheckServicesAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionHealthCheckServicesAggregatedListCall) PageToken(pageToken string) *RegionHealthCheckServicesAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionHealthCheckServicesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionHealthCheckServicesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *RegionHealthCheckServicesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionHealthCheckServicesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionDisksCreateSnapshotCall) RequestId(requestId string) *RegionDisksCreateSnapshotCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthCheckServicesAggregatedListCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesAggregatedListCall {
+func (c *RegionDisksCreateSnapshotCall) Fields(s ...googleapi.Field) *RegionDisksCreateSnapshotCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionHealthCheckServicesAggregatedListCall) IfNoneMatch(entityTag string) *RegionHealthCheckServicesAggregatedListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthCheckServicesAggregatedListCall) Context(ctx context.Context) *RegionHealthCheckServicesAggregatedListCall {
+func (c *RegionDisksCreateSnapshotCall) Context(ctx context.Context) *RegionDisksCreateSnapshotCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthCheckServicesAggregatedListCall) Header() http.Header {
+func (c *RegionDisksCreateSnapshotCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthCheckServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionDisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshot)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/healthCheckServices")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/createSnapshot")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
+ "region": c.region,
+ "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.createSnapshot", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthCheckServices.aggregatedList" call.
+// Do executes the "compute.regionDisks.createSnapshot" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthCheckServiceAggregatedList.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionHealthCheckServicesAggregatedListCall) Do(opts ...googleapi.CallOption) (*HealthCheckServiceAggregatedList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionDisksCreateSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -6573,7 +6089,7 @@ func (c *RegionHealthCheckServicesAggregatedListCall) Do(opts ...googleapi.CallO
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthCheckServiceAggregatedList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -6584,54 +6100,36 @@ func (c *RegionHealthCheckServicesAggregatedListCall) Do(opts ...googleapi.CallO
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.createSnapshot", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionHealthCheckServicesAggregatedListCall) Pages(ctx context.Context, f func(*HealthCheckServiceAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionHealthCheckServicesDeleteCall struct {
- s *Service
- project string
- region string
- healthCheckService string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksDeleteCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified regional HealthCheckService.
-//
-// - healthCheckService: Name of the HealthCheckService to delete. The
-// name
+// Delete: Deletes the specified regional persistent disk. Deleting a regional
+// disk
+// removes all the replicas of its data permanently and is
+// irreversible.
+// However, deleting a disk does not delete anysnapshots
+// previously made from the disk. You must separatelydelete
+// snapshots.
//
-// must be 1-63 characters long, and comply with RFC1035.
+// - disk: Name of the regional persistent disk to delete.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthCheckServicesService) Delete(project string, region string, healthCheckService string) *RegionHealthCheckServicesDeleteCall {
- c := &RegionHealthCheckServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionDisksService) Delete(project string, region string, disk string) *RegionDisksDeleteCall {
+ c := &RegionDisksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthCheckService = healthCheckService
+ c.disk = disk
return c
}
@@ -6652,7 +6150,7 @@ func (r *RegionHealthCheckServicesService) Delete(project string, region string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthCheckServicesDeleteCall) RequestId(requestId string) *RegionHealthCheckServicesDeleteCall {
+func (c *RegionDisksDeleteCall) RequestId(requestId string) *RegionDisksDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -6660,31 +6158,31 @@ func (c *RegionHealthCheckServicesDeleteCall) RequestId(requestId string) *Regio
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthCheckServicesDeleteCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesDeleteCall {
+func (c *RegionDisksDeleteCall) Fields(s ...googleapi.Field) *RegionDisksDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthCheckServicesDeleteCall) Context(ctx context.Context) *RegionHealthCheckServicesDeleteCall {
+func (c *RegionDisksDeleteCall) Context(ctx context.Context) *RegionDisksDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthCheckServicesDeleteCall) Header() http.Header {
+func (c *RegionDisksDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthCheckServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionDisksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -6692,20 +6190,20 @@ func (c *RegionHealthCheckServicesDeleteCall) doRequest(alt string) (*http.Respo
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthCheckService": c.healthCheckService,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.delete", "request", internallog.HTTPRequest(req, nil))
+ "project": c.project,
+ "region": c.region,
+ "disk": c.disk,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthCheckServices.delete" call.
+// Do executes the "compute.regionDisks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthCheckServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDisksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -6735,41 +6233,164 @@ func (c *RegionHealthCheckServicesDeleteCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthCheckServicesGetCall struct {
- s *Service
- project string
- region string
- healthCheckService string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionDisksGetCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified regional HealthCheckService resource.
+// Get: Returns a specified regional persistent disk.
//
-// - healthCheckService: Name of the HealthCheckService to update. The
-// name
+// - disk: Name of the regional persistent disk to return.
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+func (r *RegionDisksService) Get(project string, region string, disk string) *RegionDisksGetCall {
+ c := &RegionDisksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.disk = disk
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionDisksGetCall) Fields(s ...googleapi.Field) *RegionDisksGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionDisksGetCall) IfNoneMatch(entityTag string) *RegionDisksGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionDisksGetCall) Context(ctx context.Context) *RegionDisksGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionDisksGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionDisksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "disk": c.disk,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionDisks.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Disk.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionDisksGetCall) Do(opts ...googleapi.CallOption) (*Disk, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Disk{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionDisksGetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// must be 1-63 characters long, and comply with RFC1035.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthCheckServicesService) Get(project string, region string, healthCheckService string) *RegionHealthCheckServicesGetCall {
- c := &RegionHealthCheckServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionDisksService) GetIamPolicy(project string, region string, resource string) *RegionDisksGetIamPolicyCall {
+ c := &RegionDisksGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthCheckService = healthCheckService
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *RegionDisksGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionDisksGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthCheckServicesGetCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesGetCall {
+func (c *RegionDisksGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionDisksGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -6777,34 +6398,34 @@ func (c *RegionHealthCheckServicesGetCall) Fields(s ...googleapi.Field) *RegionH
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionHealthCheckServicesGetCall) IfNoneMatch(entityTag string) *RegionHealthCheckServicesGetCall {
+func (c *RegionDisksGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionDisksGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthCheckServicesGetCall) Context(ctx context.Context) *RegionHealthCheckServicesGetCall {
+func (c *RegionDisksGetIamPolicyCall) Context(ctx context.Context) *RegionDisksGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthCheckServicesGetCall) Header() http.Header {
+func (c *RegionDisksGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthCheckServicesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionDisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -6812,21 +6433,20 @@ func (c *RegionHealthCheckServicesGetCall) doRequest(alt string) (*http.Response
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthCheckService": c.healthCheckService,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthCheckServices.get" call.
+// Do executes the "compute.regionDisks.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthCheckService.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionHealthCheckServicesGetCall) Do(opts ...googleapi.CallOption) (*HealthCheckService, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionDisksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -6845,7 +6465,7 @@ func (c *RegionHealthCheckServicesGetCall) Do(opts ...googleapi.CallOption) (*He
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthCheckService{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -6856,30 +6476,31 @@ func (c *RegionHealthCheckServicesGetCall) Do(opts ...googleapi.CallOption) (*He
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthCheckServicesInsertCall struct {
- s *Service
- project string
- region string
- healthcheckservice *HealthCheckService
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksInsertCall struct {
+ s *Service
+ project string
+ region string
+ disk *Disk
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a regional HealthCheckService resource in the
-// specified project and region using the data included in the request.
+// Insert: Creates a persistent regional disk in the specified project using
+// the data
+// included in the request.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthCheckServicesService) Insert(project string, region string, healthcheckservice *HealthCheckService) *RegionHealthCheckServicesInsertCall {
- c := &RegionHealthCheckServicesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionDisksService) Insert(project string, region string, disk *Disk) *RegionDisksInsertCall {
+ c := &RegionDisksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthcheckservice = healthcheckservice
+ c.disk = disk
return c
}
@@ -6900,43 +6521,50 @@ func (r *RegionHealthCheckServicesService) Insert(project string, region string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthCheckServicesInsertCall) RequestId(requestId string) *RegionHealthCheckServicesInsertCall {
+func (c *RegionDisksInsertCall) RequestId(requestId string) *RegionDisksInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// SourceImage sets the optional parameter "sourceImage": Source image to
+// restore onto a disk. This field is optional.
+func (c *RegionDisksInsertCall) SourceImage(sourceImage string) *RegionDisksInsertCall {
+ c.urlParams_.Set("sourceImage", sourceImage)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthCheckServicesInsertCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesInsertCall {
+func (c *RegionDisksInsertCall) Fields(s ...googleapi.Field) *RegionDisksInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthCheckServicesInsertCall) Context(ctx context.Context) *RegionHealthCheckServicesInsertCall {
+func (c *RegionDisksInsertCall) Context(ctx context.Context) *RegionDisksInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthCheckServicesInsertCall) Header() http.Header {
+func (c *RegionDisksInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthCheckServicesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheckservice)
+func (c *RegionDisksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disk)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -6947,16 +6575,16 @@ func (c *RegionHealthCheckServicesInsertCall) doRequest(alt string) (*http.Respo
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthCheckServices.insert" call.
+// Do executes the "compute.regionDisks.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthCheckServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDisksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -6986,11 +6614,11 @@ func (c *RegionHealthCheckServicesInsertCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthCheckServicesListCall struct {
+type RegionDisksListCall struct {
s *Service
project string
region string
@@ -7000,13 +6628,13 @@ type RegionHealthCheckServicesListCall struct {
header_ http.Header
}
-// List: Lists all the HealthCheckService resources that have been
-// configured for the specified project in the given region.
+// List: Retrieves the list of persistent disks contained within
+// the specified region.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthCheckServicesService) List(project string, region string) *RegionHealthCheckServicesListCall {
- c := &RegionHealthCheckServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionDisksService) List(project string, region string) *RegionDisksListCall {
+ c := &RegionDisksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -7079,7 +6707,7 @@ func (r *RegionHealthCheckServicesService) List(project string, region string) *
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionHealthCheckServicesListCall) Filter(filter string) *RegionHealthCheckServicesListCall {
+func (c *RegionDisksListCall) Filter(filter string) *RegionDisksListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -7091,7 +6719,7 @@ func (c *RegionHealthCheckServicesListCall) Filter(filter string) *RegionHealthC
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionHealthCheckServicesListCall) MaxResults(maxResults int64) *RegionHealthCheckServicesListCall {
+func (c *RegionDisksListCall) MaxResults(maxResults int64) *RegionDisksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -7111,7 +6739,7 @@ func (c *RegionHealthCheckServicesListCall) MaxResults(maxResults int64) *Region
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionHealthCheckServicesListCall) OrderBy(orderBy string) *RegionHealthCheckServicesListCall {
+func (c *RegionDisksListCall) OrderBy(orderBy string) *RegionDisksListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -7120,30 +6748,15 @@ func (c *RegionHealthCheckServicesListCall) OrderBy(orderBy string) *RegionHealt
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionHealthCheckServicesListCall) PageToken(pageToken string) *RegionHealthCheckServicesListCall {
+func (c *RegionDisksListCall) PageToken(pageToken string) *RegionDisksListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionHealthCheckServicesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionHealthCheckServicesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthCheckServicesListCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesListCall {
+func (c *RegionDisksListCall) Fields(s ...googleapi.Field) *RegionDisksListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -7151,34 +6764,34 @@ func (c *RegionHealthCheckServicesListCall) Fields(s ...googleapi.Field) *Region
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionHealthCheckServicesListCall) IfNoneMatch(entityTag string) *RegionHealthCheckServicesListCall {
+func (c *RegionDisksListCall) IfNoneMatch(entityTag string) *RegionDisksListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthCheckServicesListCall) Context(ctx context.Context) *RegionHealthCheckServicesListCall {
+func (c *RegionDisksListCall) Context(ctx context.Context) *RegionDisksListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthCheckServicesListCall) Header() http.Header {
+func (c *RegionDisksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthCheckServicesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionDisksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -7189,17 +6802,16 @@ func (c *RegionHealthCheckServicesListCall) doRequest(alt string) (*http.Respons
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthCheckServices.list" call.
+// Do executes the "compute.regionDisks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthCheckServicesList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionHealthCheckServicesListCall) Do(opts ...googleapi.CallOption) (*HealthCheckServicesList, error) {
+// *DiskList.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionDisksListCall) Do(opts ...googleapi.CallOption) (*DiskList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -7218,7 +6830,7 @@ func (c *RegionHealthCheckServicesListCall) Do(opts ...googleapi.CallOption) (*H
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthCheckServicesList{
+ ret := &DiskList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -7229,14 +6841,14 @@ func (c *RegionHealthCheckServicesListCall) Do(opts ...googleapi.CallOption) (*H
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionHealthCheckServicesListCall) Pages(ctx context.Context, f func(*HealthCheckServicesList) error) error {
+func (c *RegionDisksListCall) Pages(ctx context.Context, f func(*DiskList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -7254,34 +6866,28 @@ func (c *RegionHealthCheckServicesListCall) Pages(ctx context.Context, f func(*H
}
}
-type RegionHealthCheckServicesPatchCall struct {
- s *Service
- project string
- region string
- healthCheckService string
- healthcheckservice *HealthCheckService
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksRemoveResourcePoliciesCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ regiondisksremoveresourcepoliciesrequest *RegionDisksRemoveResourcePoliciesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the specified regional HealthCheckService resource
-// with the data included in the request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
-//
-// - healthCheckService: Name of the HealthCheckService to update. The
-// name
+// RemoveResourcePolicies: Removes resource policies from a regional disk.
//
-// must be 1-63 characters long, and comply with RFC1035.
+// - disk: The disk name for this request.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthCheckServicesService) Patch(project string, region string, healthCheckService string, healthcheckservice *HealthCheckService) *RegionHealthCheckServicesPatchCall {
- c := &RegionHealthCheckServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionDisksService) RemoveResourcePolicies(project string, region string, disk string, regiondisksremoveresourcepoliciesrequest *RegionDisksRemoveResourcePoliciesRequest) *RegionDisksRemoveResourcePoliciesCall {
+ c := &RegionDisksRemoveResourcePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthCheckService = healthCheckService
- c.healthcheckservice = healthcheckservice
+ c.disk = disk
+ c.regiondisksremoveresourcepoliciesrequest = regiondisksremoveresourcepoliciesrequest
return c
}
@@ -7302,7 +6908,7 @@ func (r *RegionHealthCheckServicesService) Patch(project string, region string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthCheckServicesPatchCall) RequestId(requestId string) *RegionHealthCheckServicesPatchCall {
+func (c *RegionDisksRemoveResourcePoliciesCall) RequestId(requestId string) *RegionDisksRemoveResourcePoliciesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -7310,56 +6916,56 @@ func (c *RegionHealthCheckServicesPatchCall) RequestId(requestId string) *Region
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthCheckServicesPatchCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesPatchCall {
+func (c *RegionDisksRemoveResourcePoliciesCall) Fields(s ...googleapi.Field) *RegionDisksRemoveResourcePoliciesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthCheckServicesPatchCall) Context(ctx context.Context) *RegionHealthCheckServicesPatchCall {
+func (c *RegionDisksRemoveResourcePoliciesCall) Context(ctx context.Context) *RegionDisksRemoveResourcePoliciesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthCheckServicesPatchCall) Header() http.Header {
+func (c *RegionDisksRemoveResourcePoliciesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthCheckServicesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheckservice)
+func (c *RegionDisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondisksremoveresourcepoliciesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthCheckService": c.healthCheckService,
+ "project": c.project,
+ "region": c.region,
+ "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.removeResourcePolicies", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthCheckServices.patch" call.
+// Do executes the "compute.regionDisks.removeResourcePolicies" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthCheckServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDisksRemoveResourcePoliciesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -7389,68 +6995,89 @@ func (c *RegionHealthCheckServicesPatchCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.removeResourcePolicies", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthCheckServicesTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksResizeCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ regiondisksresizerequest *RegionDisksResizeRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Resize: Resizes the specified regional persistent disk.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionHealthCheckServicesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionHealthCheckServicesTestIamPermissionsCall {
- c := &RegionHealthCheckServicesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - disk: Name of the regional persistent disk.
+// - project: The project ID for this request.
+// - region: Name of the region for this request.
+func (r *RegionDisksService) Resize(project string, region string, disk string, regiondisksresizerequest *RegionDisksResizeRequest) *RegionDisksResizeCall {
+ c := &RegionDisksResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.disk = disk
+ c.regiondisksresizerequest = regiondisksresizerequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionDisksResizeCall) RequestId(requestId string) *RegionDisksResizeCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthCheckServicesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesTestIamPermissionsCall {
+func (c *RegionDisksResizeCall) Fields(s ...googleapi.Field) *RegionDisksResizeCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthCheckServicesTestIamPermissionsCall) Context(ctx context.Context) *RegionHealthCheckServicesTestIamPermissionsCall {
+func (c *RegionDisksResizeCall) Context(ctx context.Context) *RegionDisksResizeCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthCheckServicesTestIamPermissionsCall) Header() http.Header {
+func (c *RegionDisksResizeCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthCheckServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *RegionDisksResizeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondisksresizerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/resize")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -7458,21 +7085,20 @@ func (c *RegionHealthCheckServicesTestIamPermissionsCall) doRequest(alt string)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.resize", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthCheckServices.testIamPermissions" call.
+// Do executes the "compute.regionDisks.resize" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionHealthCheckServicesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionDisksResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -7491,7 +7117,7 @@ func (c *RegionHealthCheckServicesTestIamPermissionsCall) Do(opts ...googleapi.C
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -7502,104 +7128,90 @@ func (c *RegionHealthCheckServicesTestIamPermissionsCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.resize", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthChecksDeleteCall struct {
- s *Service
- project string
- region string
- healthCheck string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified HealthCheck resource.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - healthCheck: Name of the HealthCheck resource to delete.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthChecksService) Delete(project string, region string, healthCheck string) *RegionHealthChecksDeleteCall {
- c := &RegionHealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionDisksService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionDisksSetIamPolicyCall {
+ c := &RegionDisksSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthCheck = healthCheck
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthChecksDeleteCall) RequestId(requestId string) *RegionHealthChecksDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthChecksDeleteCall) Fields(s ...googleapi.Field) *RegionHealthChecksDeleteCall {
+func (c *RegionDisksSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionDisksSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthChecksDeleteCall) Context(ctx context.Context) *RegionHealthChecksDeleteCall {
+func (c *RegionDisksSetIamPolicyCall) Context(ctx context.Context) *RegionDisksSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthChecksDeleteCall) Header() http.Header {
+func (c *RegionDisksSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionDisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{healthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthCheck": c.healthCheck,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthChecks.delete" call.
+// Do executes the "compute.regionDisks.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDisksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -7618,7 +7230,7 @@ func (c *RegionHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operat
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -7629,94 +7241,110 @@ func (c *RegionHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthChecksGetCall struct {
- s *Service
- project string
- region string
- healthCheck string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionDisksSetLabelsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetlabelsrequest *RegionSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified HealthCheck resource.
+// SetLabels: Sets the labels on the target regional disk.
//
-// - healthCheck: Name of the HealthCheck resource to return.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthChecksService) Get(project string, region string, healthCheck string) *RegionHealthChecksGetCall {
- c := &RegionHealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionDisksService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *RegionDisksSetLabelsCall {
+ c := &RegionDisksSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthCheck = healthCheck
+ c.resource = resource
+ c.regionsetlabelsrequest = regionsetlabelsrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionDisksSetLabelsCall) RequestId(requestId string) *RegionDisksSetLabelsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthChecksGetCall) Fields(s ...googleapi.Field) *RegionHealthChecksGetCall {
+func (c *RegionDisksSetLabelsCall) Fields(s ...googleapi.Field) *RegionDisksSetLabelsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionHealthChecksGetCall) IfNoneMatch(entityTag string) *RegionHealthChecksGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthChecksGetCall) Context(ctx context.Context) *RegionHealthChecksGetCall {
+func (c *RegionDisksSetLabelsCall) Context(ctx context.Context) *RegionDisksSetLabelsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthChecksGetCall) Header() http.Header {
+func (c *RegionDisksSetLabelsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionDisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{healthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{resource}/setLabels")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthCheck": c.healthCheck,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthChecks.get" call.
+// Do executes the "compute.regionDisks.setLabels" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthCheck.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthCheck, error) {
+func (c *RegionDisksSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -7735,7 +7363,7 @@ func (c *RegionHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthChe
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthCheck{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -7746,31 +7374,33 @@ func (c *RegionHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthChe
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.setLabels", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthChecksInsertCall struct {
- s *Service
- project string
- region string
- healthcheck *HealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksStartAsyncReplicationCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ regiondisksstartasyncreplicationrequest *RegionDisksStartAsyncReplicationRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a HealthCheck resource in the specified project using the
-// data
-// included in the request.
+// StartAsyncReplication: Starts asynchronous replication.
+// Must be invoked on the primary disk.
//
+// - disk: The name of the persistent disk.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthChecksService) Insert(project string, region string, healthcheck *HealthCheck) *RegionHealthChecksInsertCall {
- c := &RegionHealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionDisksService) StartAsyncReplication(project string, region string, disk string, regiondisksstartasyncreplicationrequest *RegionDisksStartAsyncReplicationRequest) *RegionDisksStartAsyncReplicationCall {
+ c := &RegionDisksStartAsyncReplicationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthcheck = healthcheck
+ c.disk = disk
+ c.regiondisksstartasyncreplicationrequest = regiondisksstartasyncreplicationrequest
return c
}
@@ -7791,7 +7421,7 @@ func (r *RegionHealthChecksService) Insert(project string, region string, health
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthChecksInsertCall) RequestId(requestId string) *RegionHealthChecksInsertCall {
+func (c *RegionDisksStartAsyncReplicationCall) RequestId(requestId string) *RegionDisksStartAsyncReplicationCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -7799,35 +7429,35 @@ func (c *RegionHealthChecksInsertCall) RequestId(requestId string) *RegionHealth
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthChecksInsertCall) Fields(s ...googleapi.Field) *RegionHealthChecksInsertCall {
+func (c *RegionDisksStartAsyncReplicationCall) Fields(s ...googleapi.Field) *RegionDisksStartAsyncReplicationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthChecksInsertCall) Context(ctx context.Context) *RegionHealthChecksInsertCall {
+func (c *RegionDisksStartAsyncReplicationCall) Context(ctx context.Context) *RegionDisksStartAsyncReplicationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthChecksInsertCall) Header() http.Header {
+func (c *RegionDisksStartAsyncReplicationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
+func (c *RegionDisksStartAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondisksstartasyncreplicationrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -7837,17 +7467,18 @@ func (c *RegionHealthChecksInsertCall) doRequest(alt string) (*http.Response, er
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
+ "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.startAsyncReplication", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthChecks.insert" call.
+// Do executes the "compute.regionDisks.startAsyncReplication" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDisksStartAsyncReplicationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -7877,202 +7508,86 @@ func (c *RegionHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.startAsyncReplication", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthChecksListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionDisksStopAsyncReplicationCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves the list of HealthCheck resources available to the
-// specified
-// project.
+// StopAsyncReplication: Stops asynchronous replication.
+// Can be invoked either on the primary or on the secondary disk.
//
+// - disk: The name of the persistent disk.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthChecksService) List(project string, region string) *RegionHealthChecksListCall {
- c := &RegionHealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionDisksService) StopAsyncReplication(project string, region string, disk string) *RegionDisksStopAsyncReplicationCall {
+ c := &RegionDisksStopAsyncReplicationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
+ c.disk = disk
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionHealthChecksListCall) Filter(filter string) *RegionHealthChecksListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionHealthChecksListCall) MaxResults(maxResults int64) *RegionHealthChecksListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionHealthChecksListCall) OrderBy(orderBy string) *RegionHealthChecksListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionHealthChecksListCall) PageToken(pageToken string) *RegionHealthChecksListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionHealthChecksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionHealthChecksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionDisksStopAsyncReplicationCall) RequestId(requestId string) *RegionDisksStopAsyncReplicationCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthChecksListCall) Fields(s ...googleapi.Field) *RegionHealthChecksListCall {
+func (c *RegionDisksStopAsyncReplicationCall) Fields(s ...googleapi.Field) *RegionDisksStopAsyncReplicationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionHealthChecksListCall) IfNoneMatch(entityTag string) *RegionHealthChecksListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthChecksListCall) Context(ctx context.Context) *RegionHealthChecksListCall {
+func (c *RegionDisksStopAsyncReplicationCall) Context(ctx context.Context) *RegionDisksStopAsyncReplicationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthChecksListCall) Header() http.Header {
+func (c *RegionDisksStopAsyncReplicationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RegionDisksStopAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -8080,18 +7595,18 @@ func (c *RegionHealthChecksListCall) doRequest(alt string) (*http.Response, erro
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
+ "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.stopAsyncReplication", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthChecks.list" call.
+// Do executes the "compute.regionDisks.stopAsyncReplication" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthCheckList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCheckList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionDisksStopAsyncReplicationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -8110,7 +7625,7 @@ func (c *RegionHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCh
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthCheckList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -8121,57 +7636,34 @@ func (c *RegionHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCh
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.stopAsyncReplication", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionHealthChecksListCall) Pages(ctx context.Context, f func(*HealthCheckList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionHealthChecksPatchCall struct {
- s *Service
- project string
- region string
- healthCheck string
- healthcheck *HealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksStopGroupAsyncReplicationCall struct {
+ s *Service
+ project string
+ region string
+ disksstopgroupasyncreplicationresource *DisksStopGroupAsyncReplicationResource
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates a HealthCheck resource in the specified project using the
-// data
-// included in the request. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
+// StopGroupAsyncReplication: Stops asynchronous replication for a consistency
+// group of disks.
+// Can be invoked either in the primary or secondary scope.
//
-// - healthCheck: Name of the HealthCheck resource to patch.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthChecksService) Patch(project string, region string, healthCheck string, healthcheck *HealthCheck) *RegionHealthChecksPatchCall {
- c := &RegionHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request. This must be the region
+// of the
+//
+// primary or secondary disks in the consistency group.
+func (r *RegionDisksService) StopGroupAsyncReplication(project string, region string, disksstopgroupasyncreplicationresource *DisksStopGroupAsyncReplicationResource) *RegionDisksStopGroupAsyncReplicationCall {
+ c := &RegionDisksStopGroupAsyncReplicationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthCheck = healthCheck
- c.healthcheck = healthcheck
+ c.disksstopgroupasyncreplicationresource = disksstopgroupasyncreplicationresource
return c
}
@@ -8192,7 +7684,7 @@ func (r *RegionHealthChecksService) Patch(project string, region string, healthC
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthChecksPatchCall) RequestId(requestId string) *RegionHealthChecksPatchCall {
+func (c *RegionDisksStopGroupAsyncReplicationCall) RequestId(requestId string) *RegionDisksStopGroupAsyncReplicationCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -8200,56 +7692,55 @@ func (c *RegionHealthChecksPatchCall) RequestId(requestId string) *RegionHealthC
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthChecksPatchCall) Fields(s ...googleapi.Field) *RegionHealthChecksPatchCall {
+func (c *RegionDisksStopGroupAsyncReplicationCall) Fields(s ...googleapi.Field) *RegionDisksStopGroupAsyncReplicationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthChecksPatchCall) Context(ctx context.Context) *RegionHealthChecksPatchCall {
+func (c *RegionDisksStopGroupAsyncReplicationCall) Context(ctx context.Context) *RegionDisksStopGroupAsyncReplicationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthChecksPatchCall) Header() http.Header {
+func (c *RegionDisksStopGroupAsyncReplicationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
+func (c *RegionDisksStopGroupAsyncReplicationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disksstopgroupasyncreplicationresource)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{healthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthCheck": c.healthCheck,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.stopGroupAsyncReplication", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthChecks.patch" call.
+// Do executes the "compute.regionDisks.stopGroupAsyncReplication" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDisksStopGroupAsyncReplicationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -8279,11 +7770,11 @@ func (c *RegionHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.stopGroupAsyncReplication", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthChecksTestIamPermissionsCall struct {
+type RegionDisksTestIamPermissionsCall struct {
s *Service
project string
region string
@@ -8300,8 +7791,8 @@ type RegionHealthChecksTestIamPermissionsCall struct {
// - project: Project ID for this request.
// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *RegionHealthChecksService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionHealthChecksTestIamPermissionsCall {
- c := &RegionHealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionDisksService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionDisksTestIamPermissionsCall {
+ c := &RegionDisksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.resource = resource
@@ -8312,35 +7803,35 @@ func (r *RegionHealthChecksService) TestIamPermissions(project string, region st
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionHealthChecksTestIamPermissionsCall {
+func (c *RegionDisksTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionDisksTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthChecksTestIamPermissionsCall) Context(ctx context.Context) *RegionHealthChecksTestIamPermissionsCall {
+func (c *RegionDisksTestIamPermissionsCall) Context(ctx context.Context) *RegionDisksTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthChecksTestIamPermissionsCall) Header() http.Header {
+func (c *RegionDisksTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *RegionDisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -8352,17 +7843,17 @@ func (c *RegionHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.
"region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthChecks.testIamPermissions" call.
+// Do executes the "compute.regionDisks.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *RegionDisksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -8392,34 +7883,40 @@ func (c *RegionHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthChecksUpdateCall struct {
- s *Service
- project string
- region string
- healthCheck string
- healthcheck *HealthCheck
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionDisksUpdateCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ disk2 *Disk
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates a HealthCheck resource in the specified project using the
-// data
-// included in the request.
+// Update: Update the specified disk with the data included in the request.
+// Update is
+// performed only on selected fields included as part of update-mask.
//
-// - healthCheck: Name of the HealthCheck resource to update.
+// - disk: The disk name for this request.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthChecksService) Update(project string, region string, healthCheck string, healthcheck *HealthCheck) *RegionHealthChecksUpdateCall {
- c := &RegionHealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionDisksService) Update(project string, region string, disk string, disk2 *Disk) *RegionDisksUpdateCall {
+ c := &RegionDisksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthCheck = healthCheck
- c.healthcheck = healthcheck
+ c.disk = disk
+ c.disk2 = disk2
+ return c
+}
+
+// Paths sets the optional parameter "paths":
+func (c *RegionDisksUpdateCall) Paths(paths ...string) *RegionDisksUpdateCall {
+ c.urlParams_.SetMulti("paths", append([]string{}, paths...))
return c
}
@@ -8440,64 +7937,71 @@ func (r *RegionHealthChecksService) Update(project string, region string, health
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthChecksUpdateCall) RequestId(requestId string) *RegionHealthChecksUpdateCall {
+func (c *RegionDisksUpdateCall) RequestId(requestId string) *RegionDisksUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// UpdateMask sets the optional parameter "updateMask": update_mask indicates
+// fields to be updated as part of this request.
+func (c *RegionDisksUpdateCall) UpdateMask(updateMask string) *RegionDisksUpdateCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthChecksUpdateCall) Fields(s ...googleapi.Field) *RegionHealthChecksUpdateCall {
+func (c *RegionDisksUpdateCall) Fields(s ...googleapi.Field) *RegionDisksUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthChecksUpdateCall) Context(ctx context.Context) *RegionHealthChecksUpdateCall {
+func (c *RegionDisksUpdateCall) Context(ctx context.Context) *RegionDisksUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthChecksUpdateCall) Header() http.Header {
+func (c *RegionDisksUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
+func (c *RegionDisksUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disk2)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{healthCheck}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PUT", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthCheck": c.healthCheck,
+ "project": c.project,
+ "region": c.region,
+ "disk": c.disk,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthChecks.update" call.
+// Do executes the "compute.regionDisks.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionDisksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -8527,11 +8031,145 @@ func (c *RegionHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthSourcesAggregatedListCall struct {
+type RegionDisksUpdateKmsKeyCall struct {
+ s *Service
+ project string
+ region string
+ disk string
+ regiondiskupdatekmskeyrequest *RegionDiskUpdateKmsKeyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// UpdateKmsKey: Rotates the customer-managed
+// encryption key to the latest version for the specified persistent disk.
+//
+// - disk: Name of the Disk resource, should conform to RFC1035.
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+func (r *RegionDisksService) UpdateKmsKey(project string, region string, disk string, regiondiskupdatekmskeyrequest *RegionDiskUpdateKmsKeyRequest) *RegionDisksUpdateKmsKeyCall {
+ c := &RegionDisksUpdateKmsKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.disk = disk
+ c.regiondiskupdatekmskeyrequest = regiondiskupdatekmskeyrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionDisksUpdateKmsKeyCall) RequestId(requestId string) *RegionDisksUpdateKmsKeyCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionDisksUpdateKmsKeyCall) Fields(s ...googleapi.Field) *RegionDisksUpdateKmsKeyCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionDisksUpdateKmsKeyCall) Context(ctx context.Context) *RegionDisksUpdateKmsKeyCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionDisksUpdateKmsKeyCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionDisksUpdateKmsKeyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiondiskupdatekmskeyrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/disks/{disk}/updateKmsKey")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "disk": c.disk,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionDisks.updateKmsKey", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionDisks.updateKmsKey" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionDisksUpdateKmsKeyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionDisks.updateKmsKey", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionHealthAggregationPoliciesAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -8540,17 +8178,17 @@ type RegionHealthSourcesAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves the list of all HealthSource resources
-// (all
-// regional) available to the specified project.
+// AggregatedList: Retrieves the list of all HealthAggregationPolicy
+// resources,
+// regional and global, available to the specified project.
//
-// To prevent failure, Google recommends that you set
+// To prevent failure, it is recommended that you set
// the
// `returnPartialSuccess` parameter to `true`.
//
// - project: Name of the project scoping this request.
-func (r *RegionHealthSourcesService) AggregatedList(project string) *RegionHealthSourcesAggregatedListCall {
- c := &RegionHealthSourcesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthAggregationPoliciesService) AggregatedList(project string) *RegionHealthAggregationPoliciesAggregatedListCall {
+ c := &RegionHealthAggregationPoliciesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -8622,7 +8260,7 @@ func (r *RegionHealthSourcesService) AggregatedList(project string) *RegionHealt
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionHealthSourcesAggregatedListCall) Filter(filter string) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) Filter(filter string) *RegionHealthAggregationPoliciesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -8640,7 +8278,7 @@ func (c *RegionHealthSourcesAggregatedListCall) Filter(filter string) *RegionHea
// scopes of the scope types where the resource type is expected to be
// found
// will be included.
-func (c *RegionHealthSourcesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionHealthAggregationPoliciesAggregatedListCall {
c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
return c
}
@@ -8652,7 +8290,7 @@ func (c *RegionHealthSourcesAggregatedListCall) IncludeAllScopes(includeAllScope
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionHealthSourcesAggregatedListCall) MaxResults(maxResults int64) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) MaxResults(maxResults int64) *RegionHealthAggregationPoliciesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -8672,7 +8310,7 @@ func (c *RegionHealthSourcesAggregatedListCall) MaxResults(maxResults int64) *Re
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionHealthSourcesAggregatedListCall) OrderBy(orderBy string) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) OrderBy(orderBy string) *RegionHealthAggregationPoliciesAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -8681,30 +8319,15 @@ func (c *RegionHealthSourcesAggregatedListCall) OrderBy(orderBy string) *RegionH
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionHealthSourcesAggregatedListCall) PageToken(pageToken string) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) PageToken(pageToken string) *RegionHealthAggregationPoliciesAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionHealthSourcesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionHealthSourcesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
-func (c *RegionHealthSourcesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionHealthAggregationPoliciesAggregatedListCall {
c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
@@ -8712,7 +8335,7 @@ func (c *RegionHealthSourcesAggregatedListCall) ServiceProjectNumber(serviceProj
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthSourcesAggregatedListCall) Fields(s ...googleapi.Field) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -8720,34 +8343,34 @@ func (c *RegionHealthSourcesAggregatedListCall) Fields(s ...googleapi.Field) *Re
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionHealthSourcesAggregatedListCall) IfNoneMatch(entityTag string) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) IfNoneMatch(entityTag string) *RegionHealthAggregationPoliciesAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthSourcesAggregatedListCall) Context(ctx context.Context) *RegionHealthSourcesAggregatedListCall {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthSourcesAggregatedListCall) Header() http.Header {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthSourcesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/healthSources")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/healthAggregationPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -8757,17 +8380,17 @@ func (c *RegionHealthSourcesAggregatedListCall) doRequest(alt string) (*http.Res
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthSources.aggregatedList" call.
+// Do executes the "compute.regionHealthAggregationPolicies.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthSourceAggregatedList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
+// *HealthAggregationPolicyAggregatedList.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionHealthSourcesAggregatedListCall) Do(opts ...googleapi.CallOption) (*HealthSourceAggregatedList, error) {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*HealthAggregationPolicyAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -8786,7 +8409,7 @@ func (c *RegionHealthSourcesAggregatedListCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthSourceAggregatedList{
+ ret := &HealthAggregationPolicyAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -8797,14 +8420,14 @@ func (c *RegionHealthSourcesAggregatedListCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionHealthSourcesAggregatedListCall) Pages(ctx context.Context, f func(*HealthSourceAggregatedList) error) error {
+func (c *RegionHealthAggregationPoliciesAggregatedListCall) Pages(ctx context.Context, f func(*HealthAggregationPolicyAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -8822,26 +8445,27 @@ func (c *RegionHealthSourcesAggregatedListCall) Pages(ctx context.Context, f fun
}
}
-type RegionHealthSourcesDeleteCall struct {
- s *Service
- project string
- region string
- healthSource string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthAggregationPoliciesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ healthAggregationPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified HealthSource in the given region
+// Delete: Deletes the specified HealthAggregationPolicy in the given region.
//
-// - healthSource: Name of the HealthSource resource to delete.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthSourcesService) Delete(project string, region string, healthSource string) *RegionHealthSourcesDeleteCall {
- c := &RegionHealthSourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - healthAggregationPolicy: Name of the HealthAggregationPolicy resource to
+// delete.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthAggregationPoliciesService) Delete(project string, region string, healthAggregationPolicy string) *RegionHealthAggregationPoliciesDeleteCall {
+ c := &RegionHealthAggregationPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthSource = healthSource
+ c.healthAggregationPolicy = healthAggregationPolicy
return c
}
@@ -8862,7 +8486,7 @@ func (r *RegionHealthSourcesService) Delete(project string, region string, healt
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthSourcesDeleteCall) RequestId(requestId string) *RegionHealthSourcesDeleteCall {
+func (c *RegionHealthAggregationPoliciesDeleteCall) RequestId(requestId string) *RegionHealthAggregationPoliciesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -8870,31 +8494,31 @@ func (c *RegionHealthSourcesDeleteCall) RequestId(requestId string) *RegionHealt
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthSourcesDeleteCall) Fields(s ...googleapi.Field) *RegionHealthSourcesDeleteCall {
+func (c *RegionHealthAggregationPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthSourcesDeleteCall) Context(ctx context.Context) *RegionHealthSourcesDeleteCall {
+func (c *RegionHealthAggregationPoliciesDeleteCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthSourcesDeleteCall) Header() http.Header {
+func (c *RegionHealthAggregationPoliciesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthSourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthAggregationPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -8902,20 +8526,20 @@ func (c *RegionHealthSourcesDeleteCall) doRequest(alt string) (*http.Response, e
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthSource": c.healthSource,
+ "project": c.project,
+ "region": c.region,
+ "healthAggregationPolicy": c.healthAggregationPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthSources.delete" call.
+// Do executes the "compute.regionHealthAggregationPolicies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthSourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthAggregationPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -8945,38 +8569,40 @@ func (c *RegionHealthSourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Opera
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthSourcesGetCall struct {
- s *Service
- project string
- region string
- healthSource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionHealthAggregationPoliciesGetCall struct {
+ s *Service
+ project string
+ region string
+ healthAggregationPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified HealthSource resource in the given region.
+// Get: Returns the specified HealthAggregationPolicy resource in the given
+// region.
//
-// - healthSource: Name of the HealthSource resource to return.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthSourcesService) Get(project string, region string, healthSource string) *RegionHealthSourcesGetCall {
- c := &RegionHealthSourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - healthAggregationPolicy: Name of the HealthAggregationPolicy resource to
+// return.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthAggregationPoliciesService) Get(project string, region string, healthAggregationPolicy string) *RegionHealthAggregationPoliciesGetCall {
+ c := &RegionHealthAggregationPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthSource = healthSource
+ c.healthAggregationPolicy = healthAggregationPolicy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthSourcesGetCall) Fields(s ...googleapi.Field) *RegionHealthSourcesGetCall {
+func (c *RegionHealthAggregationPoliciesGetCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -8984,34 +8610,34 @@ func (c *RegionHealthSourcesGetCall) Fields(s ...googleapi.Field) *RegionHealthS
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionHealthSourcesGetCall) IfNoneMatch(entityTag string) *RegionHealthSourcesGetCall {
+func (c *RegionHealthAggregationPoliciesGetCall) IfNoneMatch(entityTag string) *RegionHealthAggregationPoliciesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthSourcesGetCall) Context(ctx context.Context) *RegionHealthSourcesGetCall {
+func (c *RegionHealthAggregationPoliciesGetCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthSourcesGetCall) Header() http.Header {
+func (c *RegionHealthAggregationPoliciesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthSourcesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthAggregationPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -9019,20 +8645,21 @@ func (c *RegionHealthSourcesGetCall) doRequest(alt string) (*http.Response, erro
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthSource": c.healthSource,
+ "project": c.project,
+ "region": c.region,
+ "healthAggregationPolicy": c.healthAggregationPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthSources.get" call.
+// Do executes the "compute.regionHealthAggregationPolicies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthSource.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthSourcesGetCall) Do(opts ...googleapi.CallOption) (*HealthSource, error) {
+// *HealthAggregationPolicy.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionHealthAggregationPoliciesGetCall) Do(opts ...googleapi.CallOption) (*HealthAggregationPolicy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -9051,7 +8678,7 @@ func (c *RegionHealthSourcesGetCall) Do(opts ...googleapi.CallOption) (*HealthSo
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthSource{
+ ret := &HealthAggregationPolicy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -9062,96 +8689,108 @@ func (c *RegionHealthSourcesGetCall) Do(opts ...googleapi.CallOption) (*HealthSo
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthSourcesGetHealthCall struct {
- s *Service
- project string
- region string
- healthSource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionHealthAggregationPoliciesInsertCall struct {
+ s *Service
+ project string
+ region string
+ healthaggregationpolicy *HealthAggregationPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetHealth: Gets the most recent health check results for this
-// regional HealthSource.
+// Insert: Create a HealthAggregationPolicy in the specified project in the
+// given
+// region using the parameters that are included in the request.
//
-// - healthSource: Name of the HealthSource resource to get health for.
-// - project: Name of the project scoping this request.
+// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionHealthSourcesService) GetHealth(project string, region string, healthSource string) *RegionHealthSourcesGetHealthCall {
- c := &RegionHealthSourcesGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthAggregationPoliciesService) Insert(project string, region string, healthaggregationpolicy *HealthAggregationPolicy) *RegionHealthAggregationPoliciesInsertCall {
+ c := &RegionHealthAggregationPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthSource = healthSource
+ c.healthaggregationpolicy = healthaggregationpolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionHealthAggregationPoliciesInsertCall) RequestId(requestId string) *RegionHealthAggregationPoliciesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthSourcesGetHealthCall) Fields(s ...googleapi.Field) *RegionHealthSourcesGetHealthCall {
+func (c *RegionHealthAggregationPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionHealthSourcesGetHealthCall) IfNoneMatch(entityTag string) *RegionHealthSourcesGetHealthCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthSourcesGetHealthCall) Context(ctx context.Context) *RegionHealthSourcesGetHealthCall {
+func (c *RegionHealthAggregationPoliciesInsertCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthSourcesGetHealthCall) Header() http.Header {
+func (c *RegionHealthAggregationPoliciesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthSourcesGetHealthCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionHealthAggregationPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthaggregationpolicy)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthSource": c.healthSource,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.getHealth", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthSources.getHealth" call.
+// Do executes the "compute.regionHealthAggregationPolicies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthSourceHealth.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionHealthSourcesGetHealthCall) Do(opts ...googleapi.CallOption) (*HealthSourceHealth, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionHealthAggregationPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -9170,7 +8809,7 @@ func (c *RegionHealthSourcesGetHealthCall) Do(opts ...googleapi.CallOption) (*He
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthSourceHealth{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -9181,157 +8820,26 @@ func (c *RegionHealthSourcesGetHealthCall) Do(opts ...googleapi.CallOption) (*He
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.getHealth", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthSourcesInsertCall struct {
+type RegionHealthAggregationPoliciesListCall struct {
s *Service
project string
region string
- healthsource *HealthSource
urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Insert: Create a HealthSource in the specified project in the given
-// region
-// using the parameters that are included in the request.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthSourcesService) Insert(project string, region string, healthsource *HealthSource) *RegionHealthSourcesInsertCall {
- c := &RegionHealthSourcesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.healthsource = healthsource
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthSourcesInsertCall) RequestId(requestId string) *RegionHealthSourcesInsertCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionHealthSourcesInsertCall) Fields(s ...googleapi.Field) *RegionHealthSourcesInsertCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthSourcesInsertCall) Context(ctx context.Context) *RegionHealthSourcesInsertCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionHealthSourcesInsertCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionHealthSourcesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthsource)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionHealthSources.insert" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthSourcesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.insert", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionHealthSourcesListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// List: Lists the HealthSources for a project in the given region.
+// List: Lists the HealthAggregationPolicies for a project in the given region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionHealthSourcesService) List(project string, region string) *RegionHealthSourcesListCall {
- c := &RegionHealthSourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthAggregationPoliciesService) List(project string, region string) *RegionHealthAggregationPoliciesListCall {
+ c := &RegionHealthAggregationPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -9404,7 +8912,7 @@ func (r *RegionHealthSourcesService) List(project string, region string) *Region
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionHealthSourcesListCall) Filter(filter string) *RegionHealthSourcesListCall {
+func (c *RegionHealthAggregationPoliciesListCall) Filter(filter string) *RegionHealthAggregationPoliciesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -9416,7 +8924,7 @@ func (c *RegionHealthSourcesListCall) Filter(filter string) *RegionHealthSources
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionHealthSourcesListCall) MaxResults(maxResults int64) *RegionHealthSourcesListCall {
+func (c *RegionHealthAggregationPoliciesListCall) MaxResults(maxResults int64) *RegionHealthAggregationPoliciesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -9436,7 +8944,7 @@ func (c *RegionHealthSourcesListCall) MaxResults(maxResults int64) *RegionHealth
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionHealthSourcesListCall) OrderBy(orderBy string) *RegionHealthSourcesListCall {
+func (c *RegionHealthAggregationPoliciesListCall) OrderBy(orderBy string) *RegionHealthAggregationPoliciesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -9445,30 +8953,15 @@ func (c *RegionHealthSourcesListCall) OrderBy(orderBy string) *RegionHealthSourc
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionHealthSourcesListCall) PageToken(pageToken string) *RegionHealthSourcesListCall {
+func (c *RegionHealthAggregationPoliciesListCall) PageToken(pageToken string) *RegionHealthAggregationPoliciesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionHealthSourcesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionHealthSourcesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthSourcesListCall) Fields(s ...googleapi.Field) *RegionHealthSourcesListCall {
+func (c *RegionHealthAggregationPoliciesListCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -9476,34 +8969,34 @@ func (c *RegionHealthSourcesListCall) Fields(s ...googleapi.Field) *RegionHealth
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionHealthSourcesListCall) IfNoneMatch(entityTag string) *RegionHealthSourcesListCall {
+func (c *RegionHealthAggregationPoliciesListCall) IfNoneMatch(entityTag string) *RegionHealthAggregationPoliciesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthSourcesListCall) Context(ctx context.Context) *RegionHealthSourcesListCall {
+func (c *RegionHealthAggregationPoliciesListCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthSourcesListCall) Header() http.Header {
+func (c *RegionHealthAggregationPoliciesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthSourcesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthAggregationPoliciesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -9514,17 +9007,17 @@ func (c *RegionHealthSourcesListCall) doRequest(alt string) (*http.Response, err
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthSources.list" call.
+// Do executes the "compute.regionHealthAggregationPolicies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *HealthSourceList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionHealthSourcesListCall) Do(opts ...googleapi.CallOption) (*HealthSourceList, error) {
+// *HealthAggregationPolicyList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionHealthAggregationPoliciesListCall) Do(opts ...googleapi.CallOption) (*HealthAggregationPolicyList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -9543,7 +9036,7 @@ func (c *RegionHealthSourcesListCall) Do(opts ...googleapi.CallOption) (*HealthS
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &HealthSourceList{
+ ret := &HealthAggregationPolicyList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -9554,14 +9047,14 @@ func (c *RegionHealthSourcesListCall) Do(opts ...googleapi.CallOption) (*HealthS
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionHealthSourcesListCall) Pages(ctx context.Context, f func(*HealthSourceList) error) error {
+func (c *RegionHealthAggregationPoliciesListCall) Pages(ctx context.Context, f func(*HealthAggregationPolicyList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -9579,32 +9072,35 @@ func (c *RegionHealthSourcesListCall) Pages(ctx context.Context, f func(*HealthS
}
}
-type RegionHealthSourcesPatchCall struct {
- s *Service
- project string
- region string
- healthSource string
- healthsource *HealthSource
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthAggregationPoliciesPatchCall struct {
+ s *Service
+ project string
+ region string
+ healthAggregationPolicy string
+ healthaggregationpolicy *HealthAggregationPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the specified regional HealthSource resource
-// with the data included in the request. This method supportsPATCH
+// Patch: Updates the specified regional HealthAggregationPolicy
+// resource with the data included in the request. This method
+// supportsPATCH
// semantics and uses theJSON merge
// patch format and processing rules.
//
-// - healthSource: Name of the HealthSource to update. The name
-// must be 1-63 characters long, and comply with RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionHealthSourcesService) Patch(project string, region string, healthSource string, healthsource *HealthSource) *RegionHealthSourcesPatchCall {
- c := &RegionHealthSourcesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - healthAggregationPolicy: Name of the HealthAggregationPolicy to update.
+// The name
+//
+// must be 1-63 characters long, and comply with RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthAggregationPoliciesService) Patch(project string, region string, healthAggregationPolicy string, healthaggregationpolicy *HealthAggregationPolicy) *RegionHealthAggregationPoliciesPatchCall {
+ c := &RegionHealthAggregationPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.healthSource = healthSource
- c.healthsource = healthsource
+ c.healthAggregationPolicy = healthAggregationPolicy
+ c.healthaggregationpolicy = healthaggregationpolicy
return c
}
@@ -9625,7 +9121,7 @@ func (r *RegionHealthSourcesService) Patch(project string, region string, health
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionHealthSourcesPatchCall) RequestId(requestId string) *RegionHealthSourcesPatchCall {
+func (c *RegionHealthAggregationPoliciesPatchCall) RequestId(requestId string) *RegionHealthAggregationPoliciesPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -9633,35 +9129,35 @@ func (c *RegionHealthSourcesPatchCall) RequestId(requestId string) *RegionHealth
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthSourcesPatchCall) Fields(s ...googleapi.Field) *RegionHealthSourcesPatchCall {
+func (c *RegionHealthAggregationPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthSourcesPatchCall) Context(ctx context.Context) *RegionHealthSourcesPatchCall {
+func (c *RegionHealthAggregationPoliciesPatchCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthSourcesPatchCall) Header() http.Header {
+func (c *RegionHealthAggregationPoliciesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthSourcesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthsource)
+func (c *RegionHealthAggregationPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthaggregationpolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
@@ -9669,20 +9165,20 @@ func (c *RegionHealthSourcesPatchCall) doRequest(alt string) (*http.Response, er
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "healthSource": c.healthSource,
+ "project": c.project,
+ "region": c.region,
+ "healthAggregationPolicy": c.healthAggregationPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthSources.patch" call.
+// Do executes the "compute.regionHealthAggregationPolicies.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionHealthSourcesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthAggregationPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -9712,11 +9208,11 @@ func (c *RegionHealthSourcesPatchCall) Do(opts ...googleapi.CallOption) (*Operat
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionHealthSourcesTestIamPermissionsCall struct {
+type RegionHealthAggregationPoliciesTestIamPermissionsCall struct {
s *Service
project string
region string
@@ -9733,8 +9229,8 @@ type RegionHealthSourcesTestIamPermissionsCall struct {
// - project: Project ID for this request.
// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *RegionHealthSourcesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionHealthSourcesTestIamPermissionsCall {
- c := &RegionHealthSourcesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthAggregationPoliciesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionHealthAggregationPoliciesTestIamPermissionsCall {
+ c := &RegionHealthAggregationPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.resource = resource
@@ -9745,35 +9241,35 @@ func (r *RegionHealthSourcesService) TestIamPermissions(project string, region s
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionHealthSourcesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionHealthSourcesTestIamPermissionsCall {
+func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionHealthAggregationPoliciesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionHealthSourcesTestIamPermissionsCall) Context(ctx context.Context) *RegionHealthSourcesTestIamPermissionsCall {
+func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Context(ctx context.Context) *RegionHealthAggregationPoliciesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionHealthSourcesTestIamPermissionsCall) Header() http.Header {
+func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionHealthSourcesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthAggregationPolicies/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -9785,17 +9281,17 @@ func (c *RegionHealthSourcesTestIamPermissionsCall) doRequest(alt string) (*http
"region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionHealthSources.testIamPermissions" call.
+// Do executes the "compute.regionHealthAggregationPolicies.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionHealthSourcesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *RegionHealthAggregationPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -9825,116 +9321,232 @@ func (c *RegionHealthSourcesTestIamPermissionsCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthAggregationPolicies.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagerResizeRequestsCancelCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- resizeRequest string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthCheckServicesAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Cancel: Cancels the specified resize request.
-// Cancelled resize request no longer waits for the resources to
-// be
-// provisioned. Cancel is only possible for requests that are in
-// accepted
-// state.
+// AggregatedList: Retrieves the list of all HealthCheckService
+// resources,
+// regional and global, available to the specified project.
//
-// - instanceGroupManager: The name of the managed instance group.
-// Name should conform to RFC1035 or be a resource ID.
-// - project: Project ID for this request.
-// - region: The name of the region
-// scoping this request. Name should conform to RFC1035.
-// - resizeRequest: The name of the resize request to cancel.
-// Name should conform to RFC1035 or be a resource ID.
-func (r *RegionInstanceGroupManagerResizeRequestsService) Cancel(project string, region string, instanceGroupManager string, resizeRequest string) *RegionInstanceGroupManagerResizeRequestsCancelCall {
- c := &RegionInstanceGroupManagerResizeRequestsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// To prevent failure, it is recommended that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Name of the project scoping this request.
+func (r *RegionHealthCheckServicesService) AggregatedList(project string) *RegionHealthCheckServicesAggregatedListCall {
+ c := &RegionHealthCheckServicesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.resizeRequest = resizeRequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) RequestId(requestId string) *RegionInstanceGroupManagerResizeRequestsCancelCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionHealthCheckServicesAggregatedListCall) Filter(filter string) *RegionHealthCheckServicesAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *RegionHealthCheckServicesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionHealthCheckServicesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionHealthCheckServicesAggregatedListCall) MaxResults(maxResults int64) *RegionHealthCheckServicesAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionHealthCheckServicesAggregatedListCall) OrderBy(orderBy string) *RegionHealthCheckServicesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionHealthCheckServicesAggregatedListCall) PageToken(pageToken string) *RegionHealthCheckServicesAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *RegionHealthCheckServicesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionHealthCheckServicesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsCancelCall {
+func (c *RegionHealthCheckServicesAggregatedListCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionHealthCheckServicesAggregatedListCall) IfNoneMatch(entityTag string) *RegionHealthCheckServicesAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsCancelCall {
+func (c *RegionHealthCheckServicesAggregatedListCall) Context(ctx context.Context) *RegionHealthCheckServicesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Header() http.Header {
+func (c *RegionHealthCheckServicesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthCheckServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/healthCheckServices")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
- "resizeRequest": c.resizeRequest,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.cancel", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagerResizeRequests.cancel" call.
+// Do executes the "compute.regionHealthCheckServices.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *HealthCheckServiceAggregatedList.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionHealthCheckServicesAggregatedListCall) Do(opts ...googleapi.CallOption) (*HealthCheckServiceAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -9953,7 +9565,7 @@ func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Do(opts ...googleap
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &HealthCheckServiceAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -9964,40 +9576,54 @@ func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Do(opts ...googleap
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.cancel", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagerResizeRequestsDeleteCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- resizeRequest string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionHealthCheckServicesAggregatedListCall) Pages(ctx context.Context, f func(*HealthCheckServiceAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Delete: Deletes the specified, inactive resize request. Requests that are
-// still
-// active cannot be deleted. Deleting request does not delete instances
-// that
-// were provisioned previously.
+type RegionHealthCheckServicesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ healthCheckService string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified regional HealthCheckService.
//
-// - instanceGroupManager: The name of the managed instance group.
-// Name should conform to RFC1035 or be a resource ID.
-// - project: Project ID for this request.
-// - region: The name of the region
-// scoping this request. Name should conform to RFC1035.
-// - resizeRequest: The name of the resize request to delete.
-// Name should conform to RFC1035 or be a resource ID.
-func (r *RegionInstanceGroupManagerResizeRequestsService) Delete(project string, region string, instanceGroupManager string, resizeRequest string) *RegionInstanceGroupManagerResizeRequestsDeleteCall {
- c := &RegionInstanceGroupManagerResizeRequestsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - healthCheckService: Name of the HealthCheckService to delete. The
+// name
+//
+// must be 1-63 characters long, and comply with RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthCheckServicesService) Delete(project string, region string, healthCheckService string) *RegionHealthCheckServicesDeleteCall {
+ c := &RegionHealthCheckServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.resizeRequest = resizeRequest
+ c.healthCheckService = healthCheckService
return c
}
@@ -10018,7 +9644,7 @@ func (r *RegionInstanceGroupManagerResizeRequestsService) Delete(project string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) RequestId(requestId string) *RegionInstanceGroupManagerResizeRequestsDeleteCall {
+func (c *RegionHealthCheckServicesDeleteCall) RequestId(requestId string) *RegionHealthCheckServicesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -10026,31 +9652,31 @@ func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) RequestId(requestId
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsDeleteCall {
+func (c *RegionHealthCheckServicesDeleteCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsDeleteCall {
+func (c *RegionHealthCheckServicesDeleteCall) Context(ctx context.Context) *RegionHealthCheckServicesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Header() http.Header {
+func (c *RegionHealthCheckServicesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthCheckServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -10058,21 +9684,20 @@ func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) doRequest(alt strin
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
- "resizeRequest": c.resizeRequest,
+ "project": c.project,
+ "region": c.region,
+ "healthCheckService": c.healthCheckService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagerResizeRequests.delete" call.
+// Do executes the "compute.regionHealthCheckServices.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthCheckServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -10102,44 +9727,41 @@ func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Do(opts ...googleap
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagerResizeRequestsGetCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- resizeRequest string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionHealthCheckServicesGetCall struct {
+ s *Service
+ project string
+ region string
+ healthCheckService string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns all of the details about the specified resize request.
+// Get: Returns the specified regional HealthCheckService resource.
//
-// - instanceGroupManager: The name of the managed instance group.
-// Name should conform to RFC1035 or be a resource ID.
-// - project: Project ID for this request.
-// - region: The name of the region
-// scoping this request. Name should conform to RFC1035.
-// - resizeRequest: The name of the resize request.
-// Name should conform to RFC1035 or be a resource ID.
-func (r *RegionInstanceGroupManagerResizeRequestsService) Get(project string, region string, instanceGroupManager string, resizeRequest string) *RegionInstanceGroupManagerResizeRequestsGetCall {
- c := &RegionInstanceGroupManagerResizeRequestsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - healthCheckService: Name of the HealthCheckService to update. The
+// name
+//
+// must be 1-63 characters long, and comply with RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthCheckServicesService) Get(project string, region string, healthCheckService string) *RegionHealthCheckServicesGetCall {
+ c := &RegionHealthCheckServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.resizeRequest = resizeRequest
+ c.healthCheckService = healthCheckService
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsGetCall {
+func (c *RegionHealthCheckServicesGetCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -10147,34 +9769,34 @@ func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Fields(s ...googleapi.
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionInstanceGroupManagerResizeRequestsGetCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagerResizeRequestsGetCall {
+func (c *RegionHealthCheckServicesGetCall) IfNoneMatch(entityTag string) *RegionHealthCheckServicesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsGetCall {
+func (c *RegionHealthCheckServicesGetCall) Context(ctx context.Context) *RegionHealthCheckServicesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Header() http.Header {
+func (c *RegionHealthCheckServicesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagerResizeRequestsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthCheckServicesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -10182,22 +9804,21 @@ func (c *RegionInstanceGroupManagerResizeRequestsGetCall) doRequest(alt string)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
- "resizeRequest": c.resizeRequest,
+ "project": c.project,
+ "region": c.region,
+ "healthCheckService": c.healthCheckService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagerResizeRequests.get" call.
+// Do executes the "compute.regionHealthCheckServices.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManagerResizeRequest.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerResizeRequest, error) {
+// *HealthCheckService.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionHealthCheckServicesGetCall) Do(opts ...googleapi.CallOption) (*HealthCheckService, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -10216,7 +9837,7 @@ func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Do(opts ...googleapi.C
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManagerResizeRequest{
+ ret := &HealthCheckService{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -10227,37 +9848,30 @@ func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagerResizeRequestsInsertCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- instancegroupmanagerresizerequest *InstanceGroupManagerResizeRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthCheckServicesInsertCall struct {
+ s *Service
+ project string
+ region string
+ healthcheckservice *HealthCheckService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a new Resize Request that starts provisioning VMs
-// immediately
-// or queues VM creation.
+// Insert: Creates a regional HealthCheckService resource in the
+// specified project and region using the data included in the request.
//
-// - instanceGroupManager: Name of the managed instance group to which the
-// resize request is scoped.
-// Name should conform to RFC1035 or be a resource ID.
-// - project: Project ID for this request.
-// - region: Name of the region
-// scoping this request. Name should conform to RFC1035.
-func (r *RegionInstanceGroupManagerResizeRequestsService) Insert(project string, region string, instanceGroupManager string, instancegroupmanagerresizerequest *InstanceGroupManagerResizeRequest) *RegionInstanceGroupManagerResizeRequestsInsertCall {
- c := &RegionInstanceGroupManagerResizeRequestsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthCheckServicesService) Insert(project string, region string, healthcheckservice *HealthCheckService) *RegionHealthCheckServicesInsertCall {
+ c := &RegionHealthCheckServicesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanagerresizerequest = instancegroupmanagerresizerequest
+ c.healthcheckservice = healthcheckservice
return c
}
@@ -10278,7 +9892,7 @@ func (r *RegionInstanceGroupManagerResizeRequestsService) Insert(project string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) RequestId(requestId string) *RegionInstanceGroupManagerResizeRequestsInsertCall {
+func (c *RegionHealthCheckServicesInsertCall) RequestId(requestId string) *RegionHealthCheckServicesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -10286,35 +9900,35 @@ func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) RequestId(requestId
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsInsertCall {
+func (c *RegionHealthCheckServicesInsertCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsInsertCall {
+func (c *RegionHealthCheckServicesInsertCall) Context(ctx context.Context) *RegionHealthCheckServicesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Header() http.Header {
+func (c *RegionHealthCheckServicesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerresizerequest)
+func (c *RegionHealthCheckServicesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheckservice)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -10322,20 +9936,19 @@ func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) doRequest(alt strin
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagerResizeRequests.insert" call.
+// Do executes the "compute.regionHealthCheckServices.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthCheckServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -10365,34 +9978,29 @@ func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Do(opts ...googleap
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagerResizeRequestsListCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionHealthCheckServicesListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves a list of Resize Requests that are contained in the
-// managed instance group.
+// List: Lists all the HealthCheckService resources that have been
+// configured for the specified project in the given region.
//
-// - instanceGroupManager: The name of the managed instance group. The name
-// should conform to RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region
-// scoping this request. Name should conform to RFC1035.
-func (r *RegionInstanceGroupManagerResizeRequestsService) List(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagerResizeRequestsListCall {
- c := &RegionInstanceGroupManagerResizeRequestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthCheckServicesService) List(project string, region string) *RegionHealthCheckServicesListCall {
+ c := &RegionHealthCheckServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
return c
}
@@ -10463,7 +10071,7 @@ func (r *RegionInstanceGroupManagerResizeRequestsService) List(project string, r
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) Filter(filter string) *RegionInstanceGroupManagerResizeRequestsListCall {
+func (c *RegionHealthCheckServicesListCall) Filter(filter string) *RegionHealthCheckServicesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -10475,7 +10083,7 @@ func (c *RegionInstanceGroupManagerResizeRequestsListCall) Filter(filter string)
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) MaxResults(maxResults int64) *RegionInstanceGroupManagerResizeRequestsListCall {
+func (c *RegionHealthCheckServicesListCall) MaxResults(maxResults int64) *RegionHealthCheckServicesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -10495,7 +10103,7 @@ func (c *RegionInstanceGroupManagerResizeRequestsListCall) MaxResults(maxResults
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) OrderBy(orderBy string) *RegionInstanceGroupManagerResizeRequestsListCall {
+func (c *RegionHealthCheckServicesListCall) OrderBy(orderBy string) *RegionHealthCheckServicesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -10504,30 +10112,15 @@ func (c *RegionInstanceGroupManagerResizeRequestsListCall) OrderBy(orderBy strin
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) PageToken(pageToken string) *RegionInstanceGroupManagerResizeRequestsListCall {
+func (c *RegionHealthCheckServicesListCall) PageToken(pageToken string) *RegionHealthCheckServicesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceGroupManagerResizeRequestsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsListCall {
+func (c *RegionHealthCheckServicesListCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -10535,34 +10128,34 @@ func (c *RegionInstanceGroupManagerResizeRequestsListCall) Fields(s ...googleapi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagerResizeRequestsListCall {
+func (c *RegionHealthCheckServicesListCall) IfNoneMatch(entityTag string) *RegionHealthCheckServicesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsListCall {
+func (c *RegionHealthCheckServicesListCall) Context(ctx context.Context) *RegionHealthCheckServicesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) Header() http.Header {
+func (c *RegionHealthCheckServicesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthCheckServicesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -10570,21 +10163,20 @@ func (c *RegionInstanceGroupManagerResizeRequestsListCall) doRequest(alt string)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagerResizeRequests.list" call.
+// Do executes the "compute.regionHealthCheckServices.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionInstanceGroupManagerResizeRequestsListResponse.ServerResponse.Header
-// or (if a response was returned at all) in error.(*googleapi.Error).Header.
-// Use googleapi.IsNotModified to check whether the returned error was because
+// *HealthCheckServicesList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagerResizeRequestsListResponse, error) {
+func (c *RegionHealthCheckServicesListCall) Do(opts ...googleapi.CallOption) (*HealthCheckServicesList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -10603,7 +10195,7 @@ func (c *RegionInstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionInstanceGroupManagerResizeRequestsListResponse{
+ ret := &HealthCheckServicesList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -10614,14 +10206,14 @@ func (c *RegionInstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstanceGroupManagerResizeRequestsListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagerResizeRequestsListResponse) error) error {
+func (c *RegionHealthCheckServicesListCall) Pages(ctx context.Context, f func(*HealthCheckServicesList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -10639,48 +10231,34 @@ func (c *RegionInstanceGroupManagerResizeRequestsListCall) Pages(ctx context.Con
}
}
-type RegionInstanceGroupManagersAbandonInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagersabandoninstancesrequest *RegionInstanceGroupManagersAbandonInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthCheckServicesPatchCall struct {
+ s *Service
+ project string
+ region string
+ healthCheckService string
+ healthcheckservice *HealthCheckService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AbandonInstances: Flags the specified instances to be immediately removed
-// from the managed
-// instance group. Abandoning an instance does not delete the
-// instance, but it does remove the instance from any target pools that
-// are
-// applied by the managed instance group. This method reduces thetargetSize of
-// the managed instance group by the
-// number of instances that you abandon. This operation is marked asDONE when
-// the action is scheduled even if the instances have
-// not yet been removed from the group. You must separately verify the
-// status of the abandoning action with thelistmanagedinstances
-// method.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is removed or
-// deleted.
+// Patch: Updates the specified regional HealthCheckService resource
+// with the data included in the request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// You can specify a maximum of 1000 instances with this method per request.
+// - healthCheckService: Name of the HealthCheckService to update. The
+// name
//
-// - instanceGroupManager: Name of the managed instance group.
+// must be 1-63 characters long, and comply with RFC1035.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) AbandonInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersabandoninstancesrequest *RegionInstanceGroupManagersAbandonInstancesRequest) *RegionInstanceGroupManagersAbandonInstancesCall {
- c := &RegionInstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthCheckServicesService) Patch(project string, region string, healthCheckService string, healthcheckservice *HealthCheckService) *RegionHealthCheckServicesPatchCall {
+ c := &RegionHealthCheckServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagersabandoninstancesrequest = regioninstancegroupmanagersabandoninstancesrequest
+ c.healthCheckService = healthCheckService
+ c.healthcheckservice = healthcheckservice
return c
}
@@ -10701,7 +10279,7 @@ func (r *RegionInstanceGroupManagersService) AbandonInstances(project string, re
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersAbandonInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersAbandonInstancesCall {
+func (c *RegionHealthCheckServicesPatchCall) RequestId(requestId string) *RegionHealthCheckServicesPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -10709,56 +10287,56 @@ func (c *RegionInstanceGroupManagersAbandonInstancesCall) RequestId(requestId st
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersAbandonInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersAbandonInstancesCall {
+func (c *RegionHealthCheckServicesPatchCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersAbandonInstancesCall {
+func (c *RegionHealthCheckServicesPatchCall) Context(ctx context.Context) *RegionHealthCheckServicesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersAbandonInstancesCall) Header() http.Header {
+func (c *RegionHealthCheckServicesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersabandoninstancesrequest)
+func (c *RegionHealthCheckServicesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheckservice)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "healthCheckService": c.healthCheckService,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.abandonInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.abandonInstances" call.
+// Do executes the "compute.regionHealthCheckServices.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthCheckServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -10788,70 +10366,68 @@ func (c *RegionInstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.abandonInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersApplyUpdatesToInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagersapplyupdatesrequest *RegionInstanceGroupManagersApplyUpdatesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthCheckServicesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ApplyUpdatesToInstances: Apply updates to selected instances the managed
-// instance group.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - instanceGroupManager: The name of the managed instance group, should
-// conform to RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request, should conform to
-// RFC1035.
-func (r *RegionInstanceGroupManagersService) ApplyUpdatesToInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersapplyupdatesrequest *RegionInstanceGroupManagersApplyUpdatesRequest) *RegionInstanceGroupManagersApplyUpdatesToInstancesCall {
- c := &RegionInstanceGroupManagersApplyUpdatesToInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionHealthCheckServicesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionHealthCheckServicesTestIamPermissionsCall {
+ c := &RegionHealthCheckServicesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagersapplyupdatesrequest = regioninstancegroupmanagersapplyupdatesrequest
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersApplyUpdatesToInstancesCall {
+func (c *RegionHealthCheckServicesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionHealthCheckServicesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersApplyUpdatesToInstancesCall {
+func (c *RegionHealthCheckServicesTestIamPermissionsCall) Context(ctx context.Context) *RegionHealthCheckServicesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Header() http.Header {
+func (c *RegionHealthCheckServicesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersapplyupdatesrequest)
+func (c *RegionHealthCheckServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -10859,20 +10435,21 @@ func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt s
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.applyUpdatesToInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.applyUpdatesToInstances" call.
+// Do executes the "compute.regionHealthCheckServices.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionHealthCheckServicesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -10891,7 +10468,7 @@ func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Do(opts ...goog
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -10902,44 +10479,30 @@ func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Do(opts ...goog
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.applyUpdatesToInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthCheckServices.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersCreateInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagerscreateinstancesrequest *RegionInstanceGroupManagersCreateInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthChecksDeleteCall struct {
+ s *Service
+ project string
+ region string
+ healthCheck string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// CreateInstances: Creates instances with per-instance configurations in this
-// regional managed
-// instance group. Instances are created using the current instance
-// template.
-// The create instances operation is marked DONE if
-// the createInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// thecreating or actions with the listmanagedinstances
-// method.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// It should conform to RFC1035.
-// - project: Project ID for this request.
-// - region: The name of theregion
-// where the managed instance group is located.
+// Delete: Deletes the specified HealthCheck resource.
//
-// It should conform to RFC1035.
-func (r *RegionInstanceGroupManagersService) CreateInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagerscreateinstancesrequest *RegionInstanceGroupManagersCreateInstancesRequest) *RegionInstanceGroupManagersCreateInstancesCall {
- c := &RegionInstanceGroupManagersCreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagerscreateinstancesrequest = regioninstancegroupmanagerscreateinstancesrequest
+// - healthCheck: Name of the HealthCheck resource to delete.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthChecksService) Delete(project string, region string, healthCheck string) *RegionHealthChecksDeleteCall {
+ c := &RegionHealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.healthCheck = healthCheck
return c
}
@@ -10953,12 +10516,14 @@ func (r *RegionInstanceGroupManagersService) CreateInstances(project string, reg
// the request times out. If you make the request again with the same
// request ID, the server can check if original operation with the same
// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
// The request ID must be
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersCreateInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersCreateInstancesCall {
+func (c *RegionHealthChecksDeleteCall) RequestId(requestId string) *RegionHealthChecksDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -10966,56 +10531,52 @@ func (c *RegionInstanceGroupManagersCreateInstancesCall) RequestId(requestId str
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersCreateInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersCreateInstancesCall {
+func (c *RegionHealthChecksDeleteCall) Fields(s ...googleapi.Field) *RegionHealthChecksDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersCreateInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersCreateInstancesCall {
+func (c *RegionHealthChecksDeleteCall) Context(ctx context.Context) *RegionHealthChecksDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersCreateInstancesCall) Header() http.Header {
+func (c *RegionHealthChecksDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerscreateinstancesrequest)
- if err != nil {
- return nil, err
- }
+func (c *RegionHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{healthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "healthCheck": c.healthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.createInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.createInstances" call.
+// Do executes the "compute.regionHealthChecks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersCreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -11045,106 +10606,94 @@ func (c *RegionInstanceGroupManagersCreateInstancesCall) Do(opts ...googleapi.Ca
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.createInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersDeleteCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthChecksGetCall struct {
+ s *Service
+ project string
+ region string
+ healthCheck string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified managed instance group and all of the
-// instances
-// in that group.
+// Get: Returns the specified HealthCheck resource.
//
-// - instanceGroupManager: Name of the managed instance group to delete.
+// - healthCheck: Name of the HealthCheck resource to return.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) Delete(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersDeleteCall {
- c := &RegionInstanceGroupManagersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthChecksService) Get(project string, region string, healthCheck string) *RegionHealthChecksGetCall {
+ c := &RegionHealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersDeleteCall) RequestId(requestId string) *RegionInstanceGroupManagersDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.healthCheck = healthCheck
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersDeleteCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeleteCall {
+func (c *RegionHealthChecksGetCall) Fields(s ...googleapi.Field) *RegionHealthChecksGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionHealthChecksGetCall) IfNoneMatch(entityTag string) *RegionHealthChecksGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersDeleteCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeleteCall {
+func (c *RegionHealthChecksGetCall) Context(ctx context.Context) *RegionHealthChecksGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersDeleteCall) Header() http.Header {
+func (c *RegionHealthChecksGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{healthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "healthCheck": c.healthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.delete" call.
+// Do executes the "compute.regionHealthChecks.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *HealthCheck.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthCheck, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -11163,7 +10712,7 @@ func (c *RegionInstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &HealthCheck{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -11174,51 +10723,31 @@ func (c *RegionInstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersDeleteInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagersdeleteinstancesrequest *RegionInstanceGroupManagersDeleteInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthChecksInsertCall struct {
+ s *Service
+ project string
+ region string
+ healthcheck *HealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// DeleteInstances: Flags the specified instances in the managed instance group
-// to be
-// immediately deleted. The instances are also removed from any target
-// pools of which they were a member. This method reduces thetargetSize of the
-// managed instance group by the number of
-// instances that you delete.
-// The deleteInstances operation is marked DONE if
-// the deleteInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// thedeleting action with thelistmanagedinstances
-// method.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is removed or
-// deleted.
-//
-// You can specify a maximum of 1000 instances with this method per request.
+// Insert: Creates a HealthCheck resource in the specified project using the
+// data
+// included in the request.
//
-// - instanceGroupManager: Name of the managed instance group.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) DeleteInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersdeleteinstancesrequest *RegionInstanceGroupManagersDeleteInstancesRequest) *RegionInstanceGroupManagersDeleteInstancesCall {
- c := &RegionInstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthChecksService) Insert(project string, region string, healthcheck *HealthCheck) *RegionHealthChecksInsertCall {
+ c := &RegionHealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagersdeleteinstancesrequest = regioninstancegroupmanagersdeleteinstancesrequest
+ c.healthcheck = healthcheck
return c
}
@@ -11239,7 +10768,7 @@ func (r *RegionInstanceGroupManagersService) DeleteInstances(project string, reg
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersDeleteInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersDeleteInstancesCall {
+func (c *RegionHealthChecksInsertCall) RequestId(requestId string) *RegionHealthChecksInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -11247,35 +10776,35 @@ func (c *RegionInstanceGroupManagersDeleteInstancesCall) RequestId(requestId str
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersDeleteInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeleteInstancesCall {
+func (c *RegionHealthChecksInsertCall) Fields(s ...googleapi.Field) *RegionHealthChecksInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeleteInstancesCall {
+func (c *RegionHealthChecksInsertCall) Context(ctx context.Context) *RegionHealthChecksInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersDeleteInstancesCall) Header() http.Header {
+func (c *RegionHealthChecksInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersdeleteinstancesrequest)
+func (c *RegionHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -11283,20 +10812,19 @@ func (c *RegionInstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.deleteInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.deleteInstances" call.
+// Do executes the "compute.regionHealthChecks.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -11326,92 +10854,206 @@ func (c *RegionInstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.Ca
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.deleteInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersDeletePerInstanceConfigsCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagerdeleteinstanceconfigreq *RegionInstanceGroupManagerDeleteInstanceConfigReq
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthChecksListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// DeletePerInstanceConfigs: Deletes selected per-instance configurations for
-// the managed instance
-// group.
+// List: Retrieves the list of HealthCheck resources available to the
+// specified
+// project.
//
-// - instanceGroupManager: The name of the managed instance group. It should
-// conform to RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request, should conform to
-// RFC1035.
-func (r *RegionInstanceGroupManagersService) DeletePerInstanceConfigs(project string, region string, instanceGroupManager string, regioninstancegroupmanagerdeleteinstanceconfigreq *RegionInstanceGroupManagerDeleteInstanceConfigReq) *RegionInstanceGroupManagersDeletePerInstanceConfigsCall {
- c := &RegionInstanceGroupManagersDeletePerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthChecksService) List(project string, region string) *RegionHealthChecksListCall {
+ c := &RegionHealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagerdeleteinstanceconfigreq = regioninstancegroupmanagerdeleteinstanceconfigreq
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionHealthChecksListCall) Filter(filter string) *RegionHealthChecksListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionHealthChecksListCall) MaxResults(maxResults int64) *RegionHealthChecksListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionHealthChecksListCall) OrderBy(orderBy string) *RegionHealthChecksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionHealthChecksListCall) PageToken(pageToken string) *RegionHealthChecksListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeletePerInstanceConfigsCall {
+func (c *RegionHealthChecksListCall) Fields(s ...googleapi.Field) *RegionHealthChecksListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionHealthChecksListCall) IfNoneMatch(entityTag string) *RegionHealthChecksListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeletePerInstanceConfigsCall {
+func (c *RegionHealthChecksListCall) Context(ctx context.Context) *RegionHealthChecksListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Header() http.Header {
+func (c *RegionHealthChecksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerdeleteinstanceconfigreq)
- if err != nil {
- return nil, err
+func (c *RegionHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.deletePerInstanceConfigs" call.
+// Do executes the "compute.regionHealthChecks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *HealthCheckList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCheckList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -11430,7 +11072,7 @@ func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Do(opts ...goo
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &HealthCheckList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -11441,95 +11083,135 @@ func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Do(opts ...goo
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersGetCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionHealthChecksListCall) Pages(ctx context.Context, f func(*HealthCheckList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Get: Returns all of the details about the specified managed instance group.
+type RegionHealthChecksPatchCall struct {
+ s *Service
+ project string
+ region string
+ healthCheck string
+ healthcheck *HealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates a HealthCheck resource in the specified project using the
+// data
+// included in the request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
//
-// - instanceGroupManager: Name of the managed instance group to return.
+// - healthCheck: Name of the HealthCheck resource to patch.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) Get(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersGetCall {
- c := &RegionInstanceGroupManagersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthChecksService) Patch(project string, region string, healthCheck string, healthcheck *HealthCheck) *RegionHealthChecksPatchCall {
+ c := &RegionHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
+ c.healthCheck = healthCheck
+ c.healthcheck = healthcheck
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionHealthChecksPatchCall) RequestId(requestId string) *RegionHealthChecksPatchCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersGetCall {
+func (c *RegionHealthChecksPatchCall) Fields(s ...googleapi.Field) *RegionHealthChecksPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionInstanceGroupManagersGetCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagersGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersGetCall) Context(ctx context.Context) *RegionInstanceGroupManagersGetCall {
+func (c *RegionHealthChecksPatchCall) Context(ctx context.Context) *RegionHealthChecksPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersGetCall) Header() http.Header {
+func (c *RegionHealthChecksPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{healthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "healthCheck": c.healthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.get" call.
+// Do executes the "compute.regionHealthChecks.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroupManager.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionInstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManager, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -11548,7 +11230,7 @@ func (c *RegionInstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroupManager{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -11559,41 +11241,147 @@ func (c *RegionInstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersInsertCall struct {
- s *Service
- project string
- region string
- instancegroupmanager *InstanceGroupManager
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionHealthChecksTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a managed instance group using the information that you
-// specify
-// in the request. After the group is created, instances in the group
-// are
-// created using the specified instance template.
-// This operation is marked as DONE when the group is created
-// even if the instances in the group have not yet been created. You
-// must
-// separately verify the status of the individual instances with
-// thelistmanagedinstances
-// method.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// A regional managed instance group can contain up to 2000 instances.
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionHealthChecksService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionHealthChecksTestIamPermissionsCall {
+ c := &RegionHealthChecksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionHealthChecksTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionHealthChecksTestIamPermissionsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionHealthChecksTestIamPermissionsCall) Context(ctx context.Context) *RegionHealthChecksTestIamPermissionsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionHealthChecksTestIamPermissionsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionHealthChecks.testIamPermissions" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &TestPermissionsResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionHealthChecksUpdateCall struct {
+ s *Service
+ project string
+ region string
+ healthCheck string
+ healthcheck *HealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates a HealthCheck resource in the specified project using the
+// data
+// included in the request.
//
+// - healthCheck: Name of the HealthCheck resource to update.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) Insert(project string, region string, instancegroupmanager *InstanceGroupManager) *RegionInstanceGroupManagersInsertCall {
- c := &RegionInstanceGroupManagersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionHealthChecksService) Update(project string, region string, healthCheck string, healthcheck *HealthCheck) *RegionHealthChecksUpdateCall {
+ c := &RegionHealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instancegroupmanager = instancegroupmanager
+ c.healthCheck = healthCheck
+ c.healthcheck = healthcheck
return c
}
@@ -11614,7 +11402,7 @@ func (r *RegionInstanceGroupManagersService) Insert(project string, region strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersInsertCall) RequestId(requestId string) *RegionInstanceGroupManagersInsertCall {
+func (c *RegionHealthChecksUpdateCall) RequestId(requestId string) *RegionHealthChecksUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -11622,55 +11410,56 @@ func (c *RegionInstanceGroupManagersInsertCall) RequestId(requestId string) *Reg
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersInsertCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersInsertCall {
+func (c *RegionHealthChecksUpdateCall) Fields(s ...googleapi.Field) *RegionHealthChecksUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersInsertCall) Context(ctx context.Context) *RegionInstanceGroupManagersInsertCall {
+func (c *RegionHealthChecksUpdateCall) Context(ctx context.Context) *RegionHealthChecksUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersInsertCall) Header() http.Header {
+func (c *RegionHealthChecksUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanager)
+func (c *RegionHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthcheck)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthChecks/{healthCheck}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PUT", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "healthCheck": c.healthCheck,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.insert" call.
+// Do executes the "compute.regionHealthChecks.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -11700,30 +11489,31 @@ func (c *RegionInstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthChecks.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersListCall struct {
+type RegionHealthSourcesAggregatedListCall struct {
s *Service
project string
- region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of managed instance groups that are
-// contained
-// within the specified region.
+// AggregatedList: Retrieves the list of all HealthSource resources
+// (all
+// regional) available to the specified project.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) List(project string, region string) *RegionInstanceGroupManagersListCall {
- c := &RegionInstanceGroupManagersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// To prevent failure, Google recommends that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Name of the project scoping this request.
+func (r *RegionHealthSourcesService) AggregatedList(project string) *RegionHealthSourcesAggregatedListCall {
+ c := &RegionHealthSourcesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
return c
}
@@ -11794,11 +11584,29 @@ func (r *RegionInstanceGroupManagersService) List(project string, region string)
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionInstanceGroupManagersListCall) Filter(filter string) *RegionInstanceGroupManagersListCall {
+func (c *RegionHealthSourcesAggregatedListCall) Filter(filter string) *RegionHealthSourcesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *RegionHealthSourcesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionHealthSourcesAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -11806,7 +11614,7 @@ func (c *RegionInstanceGroupManagersListCall) Filter(filter string) *RegionInsta
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstanceGroupManagersListCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListCall {
+func (c *RegionHealthSourcesAggregatedListCall) MaxResults(maxResults int64) *RegionHealthSourcesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -11826,7 +11634,7 @@ func (c *RegionInstanceGroupManagersListCall) MaxResults(maxResults int64) *Regi
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionInstanceGroupManagersListCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListCall {
+func (c *RegionHealthSourcesAggregatedListCall) OrderBy(orderBy string) *RegionHealthSourcesAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -11835,30 +11643,23 @@ func (c *RegionInstanceGroupManagersListCall) OrderBy(orderBy string) *RegionIns
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionInstanceGroupManagersListCall) PageToken(pageToken string) *RegionInstanceGroupManagersListCall {
+func (c *RegionHealthSourcesAggregatedListCall) PageToken(pageToken string) *RegionHealthSourcesAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstanceGroupManagersListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceGroupManagersListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *RegionHealthSourcesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionHealthSourcesAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListCall {
+func (c *RegionHealthSourcesAggregatedListCall) Fields(s ...googleapi.Field) *RegionHealthSourcesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -11866,34 +11667,34 @@ func (c *RegionInstanceGroupManagersListCall) Fields(s ...googleapi.Field) *Regi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionInstanceGroupManagersListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagersListCall {
+func (c *RegionHealthSourcesAggregatedListCall) IfNoneMatch(entityTag string) *RegionHealthSourcesAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersListCall) Context(ctx context.Context) *RegionInstanceGroupManagersListCall {
+func (c *RegionHealthSourcesAggregatedListCall) Context(ctx context.Context) *RegionHealthSourcesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersListCall) Header() http.Header {
+func (c *RegionHealthSourcesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionHealthSourcesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/healthSources")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -11902,19 +11703,18 @@ func (c *RegionInstanceGroupManagersListCall) doRequest(alt string) (*http.Respo
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.list" call.
+// Do executes the "compute.regionHealthSources.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionInstanceGroupManagerList.ServerResponse.Header or (if a response was
+// *HealthSourceAggregatedList.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagerList, error) {
+func (c *RegionHealthSourcesAggregatedListCall) Do(opts ...googleapi.CallOption) (*HealthSourceAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -11933,7 +11733,7 @@ func (c *RegionInstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionInstanceGroupManagerList{
+ ret := &HealthSourceAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -11944,14 +11744,14 @@ func (c *RegionInstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstanceGroupManagersListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagerList) error) error {
+func (c *RegionHealthSourcesAggregatedListCall) Pages(ctx context.Context, f func(*HealthSourceAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -11969,226 +11769,100 @@ func (c *RegionInstanceGroupManagersListCall) Pages(ctx context.Context, f func(
}
}
-type RegionInstanceGroupManagersListErrorsCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionHealthSourcesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ healthSource string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListErrors: Lists all errors thrown by actions on instances for a given
-// regional
-// managed instance group. The filter andorderBy query parameters are not
-// supported.
+// Delete: Deletes the specified HealthSource in the given region
//
-// - instanceGroupManager: The name of the managed instance group.
-// It must be a string that meets the requirements in RFC1035, or an
-// unsigned long integer: must match regexp pattern:
-// (?:a-z (?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// This should conform to RFC1035.
-func (r *RegionInstanceGroupManagersService) ListErrors(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersListErrorsCall {
- c := &RegionInstanceGroupManagersListErrorsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - healthSource: Name of the HealthSource resource to delete.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthSourcesService) Delete(project string, region string, healthSource string) *RegionHealthSourcesDeleteCall {
+ c := &RegionHealthSourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionInstanceGroupManagersListErrorsCall) Filter(filter string) *RegionInstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstanceGroupManagersListErrorsCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ c.healthSource = healthSource
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionInstanceGroupManagersListErrorsCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionInstanceGroupManagersListErrorsCall) PageToken(pageToken string) *RegionInstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstanceGroupManagersListErrorsCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceGroupManagersListErrorsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionHealthSourcesDeleteCall) RequestId(requestId string) *RegionHealthSourcesDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersListErrorsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListErrorsCall {
+func (c *RegionHealthSourcesDeleteCall) Fields(s ...googleapi.Field) *RegionHealthSourcesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionInstanceGroupManagersListErrorsCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagersListErrorsCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersListErrorsCall) Context(ctx context.Context) *RegionInstanceGroupManagersListErrorsCall {
+func (c *RegionHealthSourcesDeleteCall) Context(ctx context.Context) *RegionHealthSourcesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersListErrorsCall) Header() http.Header {
+func (c *RegionHealthSourcesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RegionHealthSourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "healthSource": c.healthSource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listErrors", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.listErrors" call.
+// Do executes the "compute.regionHealthSources.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionInstanceGroupManagersListErrorsResponse.ServerResponse.Header or (if
-// a response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersListErrorsCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagersListErrorsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionHealthSourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -12207,7 +11881,7 @@ func (c *RegionInstanceGroupManagersListErrorsCall) Do(opts ...googleapi.CallOpt
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionInstanceGroupManagersListErrorsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -12218,58 +11892,5544 @@ func (c *RegionInstanceGroupManagersListErrorsCall) Do(opts ...googleapi.CallOpt
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listErrors", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstanceGroupManagersListErrorsCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagersListErrorsResponse) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
+type RegionHealthSourcesGetCall struct {
+ s *Service
+ project string
+ region string
+ healthSource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified HealthSource resource in the given region.
+//
+// - healthSource: Name of the HealthSource resource to return.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthSourcesService) Get(project string, region string, healthSource string) *RegionHealthSourcesGetCall {
+ c := &RegionHealthSourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.healthSource = healthSource
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionHealthSourcesGetCall) Fields(s ...googleapi.Field) *RegionHealthSourcesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionHealthSourcesGetCall) IfNoneMatch(entityTag string) *RegionHealthSourcesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionHealthSourcesGetCall) Context(ctx context.Context) *RegionHealthSourcesGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionHealthSourcesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionHealthSourcesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "healthSource": c.healthSource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionHealthSources.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *HealthSource.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionHealthSourcesGetCall) Do(opts ...googleapi.CallOption) (*HealthSource, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &HealthSource{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionHealthSourcesGetHealthCall struct {
+ s *Service
+ project string
+ region string
+ healthSource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetHealth: Gets the most recent health check results for this
+// regional HealthSource.
+//
+// - healthSource: Name of the HealthSource resource to get health for.
+// - project: Name of the project scoping this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthSourcesService) GetHealth(project string, region string, healthSource string) *RegionHealthSourcesGetHealthCall {
+ c := &RegionHealthSourcesGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.healthSource = healthSource
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionHealthSourcesGetHealthCall) Fields(s ...googleapi.Field) *RegionHealthSourcesGetHealthCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionHealthSourcesGetHealthCall) IfNoneMatch(entityTag string) *RegionHealthSourcesGetHealthCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionHealthSourcesGetHealthCall) Context(ctx context.Context) *RegionHealthSourcesGetHealthCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionHealthSourcesGetHealthCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionHealthSourcesGetHealthCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "healthSource": c.healthSource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.getHealth", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionHealthSources.getHealth" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *HealthSourceHealth.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionHealthSourcesGetHealthCall) Do(opts ...googleapi.CallOption) (*HealthSourceHealth, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &HealthSourceHealth{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.getHealth", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionHealthSourcesInsertCall struct {
+ s *Service
+ project string
+ region string
+ healthsource *HealthSource
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Create a HealthSource in the specified project in the given
+// region
+// using the parameters that are included in the request.
+//
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthSourcesService) Insert(project string, region string, healthsource *HealthSource) *RegionHealthSourcesInsertCall {
+ c := &RegionHealthSourcesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.healthsource = healthsource
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionHealthSourcesInsertCall) RequestId(requestId string) *RegionHealthSourcesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionHealthSourcesInsertCall) Fields(s ...googleapi.Field) *RegionHealthSourcesInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionHealthSourcesInsertCall) Context(ctx context.Context) *RegionHealthSourcesInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionHealthSourcesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionHealthSourcesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthsource)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionHealthSources.insert" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionHealthSourcesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.insert", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionHealthSourcesListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Lists the HealthSources for a project in the given region.
+//
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthSourcesService) List(project string, region string) *RegionHealthSourcesListCall {
+ c := &RegionHealthSourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionHealthSourcesListCall) Filter(filter string) *RegionHealthSourcesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionHealthSourcesListCall) MaxResults(maxResults int64) *RegionHealthSourcesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionHealthSourcesListCall) OrderBy(orderBy string) *RegionHealthSourcesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionHealthSourcesListCall) PageToken(pageToken string) *RegionHealthSourcesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionHealthSourcesListCall) Fields(s ...googleapi.Field) *RegionHealthSourcesListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionHealthSourcesListCall) IfNoneMatch(entityTag string) *RegionHealthSourcesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionHealthSourcesListCall) Context(ctx context.Context) *RegionHealthSourcesListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionHealthSourcesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionHealthSourcesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.list", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionHealthSources.list" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *HealthSourceList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionHealthSourcesListCall) Do(opts ...googleapi.CallOption) (*HealthSourceList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &HealthSourceList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.list", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionHealthSourcesListCall) Pages(ctx context.Context, f func(*HealthSourceList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RegionHealthSourcesPatchCall struct {
+ s *Service
+ project string
+ region string
+ healthSource string
+ healthsource *HealthSource
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates the specified regional HealthSource resource
+// with the data included in the request. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
+//
+// - healthSource: Name of the HealthSource to update. The name
+// must be 1-63 characters long, and comply with RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionHealthSourcesService) Patch(project string, region string, healthSource string, healthsource *HealthSource) *RegionHealthSourcesPatchCall {
+ c := &RegionHealthSourcesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.healthSource = healthSource
+ c.healthsource = healthsource
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionHealthSourcesPatchCall) RequestId(requestId string) *RegionHealthSourcesPatchCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionHealthSourcesPatchCall) Fields(s ...googleapi.Field) *RegionHealthSourcesPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionHealthSourcesPatchCall) Context(ctx context.Context) *RegionHealthSourcesPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionHealthSourcesPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionHealthSourcesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.healthsource)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("PATCH", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "healthSource": c.healthSource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionHealthSources.patch" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionHealthSourcesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.patch", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionHealthSourcesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
+//
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionHealthSourcesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionHealthSourcesTestIamPermissionsCall {
+ c := &RegionHealthSourcesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionHealthSourcesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionHealthSourcesTestIamPermissionsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionHealthSourcesTestIamPermissionsCall) Context(ctx context.Context) *RegionHealthSourcesTestIamPermissionsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionHealthSourcesTestIamPermissionsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionHealthSourcesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{resource}/testIamPermissions")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionHealthSources.testIamPermissions" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionHealthSourcesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &TestPermissionsResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagerResizeRequestsCancelCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ resizeRequest string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Cancel: Cancels the specified resize request.
+// Cancelled resize request no longer waits for the resources to
+// be
+// provisioned. Cancel is only possible for requests that are in
+// accepted
+// state.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// Name should conform to RFC1035 or be a resource ID.
+// - project: Project ID for this request.
+// - region: The name of the region
+// scoping this request. Name should conform to RFC1035.
+// - resizeRequest: The name of the resize request to cancel.
+// Name should conform to RFC1035 or be a resource ID.
+func (r *RegionInstanceGroupManagerResizeRequestsService) Cancel(project string, region string, instanceGroupManager string, resizeRequest string) *RegionInstanceGroupManagerResizeRequestsCancelCall {
+ c := &RegionInstanceGroupManagerResizeRequestsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.resizeRequest = resizeRequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) RequestId(requestId string) *RegionInstanceGroupManagerResizeRequestsCancelCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsCancelCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsCancelCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ "resizeRequest": c.resizeRequest,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.cancel", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagerResizeRequests.cancel" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagerResizeRequestsCancelCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.cancel", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagerResizeRequestsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ resizeRequest string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified, inactive resize request. Requests that are
+// still
+// active cannot be deleted. Deleting request does not delete instances
+// that
+// were provisioned previously.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// Name should conform to RFC1035 or be a resource ID.
+// - project: Project ID for this request.
+// - region: The name of the region
+// scoping this request. Name should conform to RFC1035.
+// - resizeRequest: The name of the resize request to delete.
+// Name should conform to RFC1035 or be a resource ID.
+func (r *RegionInstanceGroupManagerResizeRequestsService) Delete(project string, region string, instanceGroupManager string, resizeRequest string) *RegionInstanceGroupManagerResizeRequestsDeleteCall {
+ c := &RegionInstanceGroupManagerResizeRequestsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.resizeRequest = resizeRequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) RequestId(requestId string) *RegionInstanceGroupManagerResizeRequestsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("DELETE", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ "resizeRequest": c.resizeRequest,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.delete", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagerResizeRequests.delete" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagerResizeRequestsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.delete", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagerResizeRequestsGetCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ resizeRequest string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns all of the details about the specified resize request.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// Name should conform to RFC1035 or be a resource ID.
+// - project: Project ID for this request.
+// - region: The name of the region
+// scoping this request. Name should conform to RFC1035.
+// - resizeRequest: The name of the resize request.
+// Name should conform to RFC1035 or be a resource ID.
+func (r *RegionInstanceGroupManagerResizeRequestsService) Get(project string, region string, instanceGroupManager string, resizeRequest string) *RegionInstanceGroupManagerResizeRequestsGetCall {
+ c := &RegionInstanceGroupManagerResizeRequestsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.resizeRequest = resizeRequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceGroupManagerResizeRequestsGetCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagerResizeRequestsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagerResizeRequestsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ "resizeRequest": c.resizeRequest,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagerResizeRequests.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *InstanceGroupManagerResizeRequest.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagerResizeRequestsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagerResizeRequest, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &InstanceGroupManagerResizeRequest{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagerResizeRequestsInsertCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ instancegroupmanagerresizerequest *InstanceGroupManagerResizeRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a new Resize Request that starts provisioning VMs
+// immediately
+// or queues VM creation.
+//
+// - instanceGroupManager: Name of the managed instance group to which the
+// resize request is scoped.
+// Name should conform to RFC1035 or be a resource ID.
+// - project: Project ID for this request.
+// - region: Name of the region
+// scoping this request. Name should conform to RFC1035.
+func (r *RegionInstanceGroupManagerResizeRequestsService) Insert(project string, region string, instanceGroupManager string, instancegroupmanagerresizerequest *InstanceGroupManagerResizeRequest) *RegionInstanceGroupManagerResizeRequestsInsertCall {
+ c := &RegionInstanceGroupManagerResizeRequestsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanagerresizerequest = instancegroupmanagerresizerequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) RequestId(requestId string) *RegionInstanceGroupManagerResizeRequestsInsertCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagerresizerequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagerResizeRequests.insert" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.insert", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagerResizeRequestsListCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves a list of Resize Requests that are contained in the
+// managed instance group.
+//
+// - instanceGroupManager: The name of the managed instance group. The name
+// should conform to RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region
+// scoping this request. Name should conform to RFC1035.
+func (r *RegionInstanceGroupManagerResizeRequestsService) List(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagerResizeRequestsListCall {
+ c := &RegionInstanceGroupManagerResizeRequestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) Filter(filter string) *RegionInstanceGroupManagerResizeRequestsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) MaxResults(maxResults int64) *RegionInstanceGroupManagerResizeRequestsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) OrderBy(orderBy string) *RegionInstanceGroupManagerResizeRequestsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) PageToken(pageToken string) *RegionInstanceGroupManagerResizeRequestsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagerResizeRequestsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.list", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagerResizeRequests.list" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *RegionInstanceGroupManagerResizeRequestsListResponse.ServerResponse.Header
+// or (if a response was returned at all) in error.(*googleapi.Error).Header.
+// Use googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagerResizeRequestsListResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &RegionInstanceGroupManagerResizeRequestsListResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagerResizeRequests.list", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupManagerResizeRequestsListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagerResizeRequestsListResponse) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RegionInstanceGroupManagersAbandonInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersabandoninstancesrequest *RegionInstanceGroupManagersAbandonInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AbandonInstances: Flags the specified instances to be immediately removed
+// from the managed
+// instance group. Abandoning an instance does not delete the
+// instance, but it does remove the instance from any target pools that
+// are
+// applied by the managed instance group. This method reduces thetargetSize of
+// the managed instance group by the
+// number of instances that you abandon. This operation is marked asDONE when
+// the action is scheduled even if the instances have
+// not yet been removed from the group. You must separately verify the
+// status of the abandoning action with thelistmanagedinstances
+// method.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: Name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) AbandonInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersabandoninstancesrequest *RegionInstanceGroupManagersAbandonInstancesRequest) *RegionInstanceGroupManagersAbandonInstancesCall {
+ c := &RegionInstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersabandoninstancesrequest = regioninstancegroupmanagersabandoninstancesrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersAbandonInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersAbandonInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersAbandonInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersabandoninstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.abandonInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.abandonInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.abandonInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersApplyUpdatesToInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersapplyupdatesrequest *RegionInstanceGroupManagersApplyUpdatesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ApplyUpdatesToInstances: Apply updates to selected instances the managed
+// instance group.
+//
+// - instanceGroupManager: The name of the managed instance group, should
+// conform to RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request, should conform to
+// RFC1035.
+func (r *RegionInstanceGroupManagersService) ApplyUpdatesToInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersapplyupdatesrequest *RegionInstanceGroupManagersApplyUpdatesRequest) *RegionInstanceGroupManagersApplyUpdatesToInstancesCall {
+ c := &RegionInstanceGroupManagersApplyUpdatesToInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersapplyupdatesrequest = regioninstancegroupmanagersapplyupdatesrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersApplyUpdatesToInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersApplyUpdatesToInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersapplyupdatesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.applyUpdatesToInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.applyUpdatesToInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.applyUpdatesToInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersCreateInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerscreateinstancesrequest *RegionInstanceGroupManagersCreateInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// CreateInstances: Creates instances with per-instance configurations in this
+// regional managed
+// instance group. Instances are created using the current instance
+// template.
+// The create instances operation is marked DONE if
+// the createInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// thecreating or actions with the listmanagedinstances
+// method.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// It should conform to RFC1035.
+// - project: Project ID for this request.
+// - region: The name of theregion
+// where the managed instance group is located.
+//
+// It should conform to RFC1035.
+func (r *RegionInstanceGroupManagersService) CreateInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagerscreateinstancesrequest *RegionInstanceGroupManagersCreateInstancesRequest) *RegionInstanceGroupManagersCreateInstancesCall {
+ c := &RegionInstanceGroupManagersCreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerscreateinstancesrequest = regioninstancegroupmanagerscreateinstancesrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersCreateInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersCreateInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersCreateInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersCreateInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersCreateInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersCreateInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersCreateInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerscreateinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.createInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.createInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersCreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.createInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersDeleteCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified managed instance group and all of the
+// instances
+// in that group.
+//
+// - instanceGroupManager: Name of the managed instance group to delete.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) Delete(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersDeleteCall {
+ c := &RegionInstanceGroupManagersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": When
+// set, graceful shutdown is skipped for instance deletion even if
+// it's
+// configured for the instances.
+func (c *RegionInstanceGroupManagersDeleteCall) NoGracefulShutdown(noGracefulShutdown bool) *RegionInstanceGroupManagersDeleteCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersDeleteCall) RequestId(requestId string) *RegionInstanceGroupManagersDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersDeleteCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersDeleteCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("DELETE", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.delete", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.delete" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.delete", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersDeleteInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersdeleteinstancesrequest *RegionInstanceGroupManagersDeleteInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// DeleteInstances: Flags the specified instances in the managed instance group
+// to be
+// immediately deleted. The instances are also removed from any target
+// pools of which they were a member. This method reduces thetargetSize of the
+// managed instance group by the number of
+// instances that you delete.
+// The deleteInstances operation is marked DONE if
+// the deleteInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// thedeleting action with thelistmanagedinstances
+// method.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: Name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) DeleteInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersdeleteinstancesrequest *RegionInstanceGroupManagersDeleteInstancesRequest) *RegionInstanceGroupManagersDeleteInstancesCall {
+ c := &RegionInstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersdeleteinstancesrequest = regioninstancegroupmanagersdeleteinstancesrequest
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": When
+// set, graceful shutdown is skipped for instance deletion even if
+// it's
+// configured for the instances.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) NoGracefulShutdown(noGracefulShutdown bool) *RegionInstanceGroupManagersDeleteInstancesCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersDeleteInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeleteInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeleteInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersdeleteinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.deleteInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.deleteInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.deleteInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersDeletePerInstanceConfigsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerdeleteinstanceconfigreq *RegionInstanceGroupManagerDeleteInstanceConfigReq
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// DeletePerInstanceConfigs: Deletes selected per-instance configurations for
+// the managed instance
+// group.
+//
+// - instanceGroupManager: The name of the managed instance group. It should
+// conform to RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request, should conform to
+// RFC1035.
+func (r *RegionInstanceGroupManagersService) DeletePerInstanceConfigs(project string, region string, instanceGroupManager string, regioninstancegroupmanagerdeleteinstanceconfigreq *RegionInstanceGroupManagerDeleteInstanceConfigReq) *RegionInstanceGroupManagersDeletePerInstanceConfigsCall {
+ c := &RegionInstanceGroupManagersDeletePerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerdeleteinstanceconfigreq = regioninstancegroupmanagerdeleteinstanceconfigreq
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeletePerInstanceConfigsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeletePerInstanceConfigsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerdeleteinstanceconfigreq)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.deletePerInstanceConfigs" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersGetCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns all of the details about the specified managed instance group.
+//
+// - instanceGroupManager: Name of the managed instance group to return.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) Get(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersGetCall {
+ c := &RegionInstanceGroupManagersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceGroupManagersGetCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagersGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersGetCall) Context(ctx context.Context) *RegionInstanceGroupManagersGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *InstanceGroupManager.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionInstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManager, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &InstanceGroupManager{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersInsertCall struct {
+ s *Service
+ project string
+ region string
+ instancegroupmanager *InstanceGroupManager
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a managed instance group using the information that you
+// specify
+// in the request. After the group is created, instances in the group
+// are
+// created using the specified instance template.
+// This operation is marked as DONE when the group is created
+// even if the instances in the group have not yet been created. You
+// must
+// separately verify the status of the individual instances with
+// thelistmanagedinstances
+// method.
+//
+// A regional managed instance group can contain up to 2000 instances.
+//
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) Insert(project string, region string, instancegroupmanager *InstanceGroupManager) *RegionInstanceGroupManagersInsertCall {
+ c := &RegionInstanceGroupManagersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instancegroupmanager = instancegroupmanager
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersInsertCall) RequestId(requestId string) *RegionInstanceGroupManagersInsertCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersInsertCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersInsertCall) Context(ctx context.Context) *RegionInstanceGroupManagersInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanager)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.insert" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.insert", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of managed instance groups that are
+// contained
+// within the specified region.
+//
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) List(project string, region string) *RegionInstanceGroupManagersListCall {
+ c := &RegionInstanceGroupManagersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionInstanceGroupManagersListCall) Filter(filter string) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionInstanceGroupManagersListCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionInstanceGroupManagersListCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionInstanceGroupManagersListCall) PageToken(pageToken string) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceGroupManagersListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagersListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersListCall) Context(ctx context.Context) *RegionInstanceGroupManagersListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.list", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.list" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *RegionInstanceGroupManagerList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagerList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &RegionInstanceGroupManagerList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.list", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupManagersListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagerList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RegionInstanceGroupManagersListErrorsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListErrors: Lists all errors thrown by actions on instances for a given
+// regional
+// managed instance group. The filter andorderBy query parameters are not
+// supported.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// It must be a string that meets the requirements in RFC1035, or an
+// unsigned long integer: must match regexp pattern:
+// (?:a-z (?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// This should conform to RFC1035.
+func (r *RegionInstanceGroupManagersService) ListErrors(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersListErrorsCall {
+ c := &RegionInstanceGroupManagersListErrorsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionInstanceGroupManagersListErrorsCall) Filter(filter string) *RegionInstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionInstanceGroupManagersListErrorsCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionInstanceGroupManagersListErrorsCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionInstanceGroupManagersListErrorsCall) PageToken(pageToken string) *RegionInstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersListErrorsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListErrorsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceGroupManagersListErrorsCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagersListErrorsCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersListErrorsCall) Context(ctx context.Context) *RegionInstanceGroupManagersListErrorsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersListErrorsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listErrors", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.listErrors" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *RegionInstanceGroupManagersListErrorsResponse.ServerResponse.Header or (if
+// a response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersListErrorsCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagersListErrorsResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &RegionInstanceGroupManagersListErrorsResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listErrors", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupManagersListErrorsCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagersListErrorsResponse) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RegionInstanceGroupManagersListManagedInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListManagedInstances: Lists the instances in the managed instance group and
+// instances that are
+// scheduled to be created. The list includes any current actions
+// that the group has scheduled for its instances. The orderBy
+// query parameter is not supported. The `pageToken` query parameter
+// is
+// supported only if the group's `listManagedInstancesResults` field is set
+// to `PAGINATED`.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) ListManagedInstances(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c := &RegionInstanceGroupManagersListManagedInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Filter(filter string) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) PageToken(pageToken string) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listManagedInstances", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.listManagedInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *RegionInstanceGroupManagersListInstancesResponse.ServerResponse.Header or
+// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagersListInstancesResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &RegionInstanceGroupManagersListInstancesResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listManagedInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagersListInstancesResponse) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RegionInstanceGroupManagersListPerInstanceConfigsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListPerInstanceConfigs: Lists all of the per-instance configurations defined
+// for the managed
+// instance group. The orderBy query parameter is not supported.
+//
+// - instanceGroupManager: The name of the managed instance group. It should
+// conform to RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request, should conform to
+// RFC1035.
+func (r *RegionInstanceGroupManagersService) ListPerInstanceConfigs(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+ c := &RegionInstanceGroupManagersListPerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Filter(filter string) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) PageToken(pageToken string) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Context(ctx context.Context) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listPerInstanceConfigs", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.listPerInstanceConfigs" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *RegionInstanceGroupManagersListInstanceConfigsResp.ServerResponse.Header or
+// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagersListInstanceConfigsResp, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &RegionInstanceGroupManagersListInstanceConfigsResp{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listPerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagersListInstanceConfigsResp) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RegionInstanceGroupManagersPatchCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ instancegroupmanager *InstanceGroupManager
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates a managed instance group using the information that you
+// specify
+// in the request.
+// This operation is marked as DONE when the group is patched
+// even if the instances in the group are still in the process of
+// being
+// patched. You must separately verify the status of the individual
+// instances
+// with the listmanagedinstances
+// method. This method supportsPATCH
+// semantics and uses theJSON merge
+// patch format and processing rules.
+//
+// If you update your group to specify a new template or
+// instance
+// configuration, it's possible that your intended specification for each VM
+// in the group is different from the current state of that VM. To learn how
+// to apply an updated configuration to the VMs in a MIG, seeUpdating instances
+// in
+// a MIG.
+//
+// - instanceGroupManager: The name of the instance group manager.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) Patch(project string, region string, instanceGroupManager string, instancegroupmanager *InstanceGroupManager) *RegionInstanceGroupManagersPatchCall {
+ c := &RegionInstanceGroupManagersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.instancegroupmanager = instancegroupmanager
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersPatchCall) RequestId(requestId string) *RegionInstanceGroupManagersPatchCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersPatchCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersPatchCall) Context(ctx context.Context) *RegionInstanceGroupManagersPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanager)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("PATCH", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.patch" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.patch", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersPatchPerInstanceConfigsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerpatchinstanceconfigreq *RegionInstanceGroupManagerPatchInstanceConfigReq
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// PatchPerInstanceConfigs: Inserts or patches per-instance configurations for
+// the managed instance
+// group. perInstanceConfig.name serves as a key used to
+// distinguish whether to perform insert or patch.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// It should conform to RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request, should conform to
+// RFC1035.
+func (r *RegionInstanceGroupManagersService) PatchPerInstanceConfigs(project string, region string, instanceGroupManager string, regioninstancegroupmanagerpatchinstanceconfigreq *RegionInstanceGroupManagerPatchInstanceConfigReq) *RegionInstanceGroupManagersPatchPerInstanceConfigsCall {
+ c := &RegionInstanceGroupManagersPatchPerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerpatchinstanceconfigreq = regioninstancegroupmanagerpatchinstanceconfigreq
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) RequestId(requestId string) *RegionInstanceGroupManagersPatchPerInstanceConfigsCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersPatchPerInstanceConfigsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Context(ctx context.Context) *RegionInstanceGroupManagersPatchPerInstanceConfigsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerpatchinstanceconfigreq)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.patchPerInstanceConfigs" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersRecreateInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersrecreaterequest *RegionInstanceGroupManagersRecreateRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// RecreateInstances: Flags the specified VM instances in the managed instance
+// group to be
+// immediately recreated. Each instance is recreated using the group's
+// current
+// configuration. This operation is marked as DONE when the flag
+// is set even if the instances have not yet been recreated. You
+// must
+// separately verify the status of each instance by checking itscurrentAction
+// field; for more information, see Checking
+// the status of managed instances.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: Name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) RecreateInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersrecreaterequest *RegionInstanceGroupManagersRecreateRequest) *RegionInstanceGroupManagersRecreateInstancesCall {
+ c := &RegionInstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersrecreaterequest = regioninstancegroupmanagersrecreaterequest
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": When
+// set, graceful shutdown is skipped for instance recreation even if
+// it's
+// configured for the instances.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) NoGracefulShutdown(noGracefulShutdown bool) *RegionInstanceGroupManagersRecreateInstancesCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersRecreateInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersRecreateInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersRecreateInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersrecreaterequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.recreateInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.recreateInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.recreateInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersResizeCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Resize: Changes the intended size of the managed instance group. If you
+// increase
+// the size, the group creates new instances using the current
+// instance
+// template. If you decrease the size, the group deletes one or
+// more
+// instances.
+//
+// The resize operation is marked DONE if theresize request is successful. The
+// underlying actions take
+// additional time. You must separately verify the status of thecreating or
+// deleting actions with thelistmanagedinstances
+// method.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is removed or deleted.
+//
+// - instanceGroupManager: Name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - size: Number of instances that should exist in this instance
+// group
+//
+// manager.
+func (r *RegionInstanceGroupManagersService) Resize(project string, region string, instanceGroupManager string, size int64) *RegionInstanceGroupManagersResizeCall {
+ c := &RegionInstanceGroupManagersResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.urlParams_.Set("size", fmt.Sprint(size))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersResizeCall) RequestId(requestId string) *RegionInstanceGroupManagersResizeCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersResizeCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersResizeCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersResizeCall) Context(ctx context.Context) *RegionInstanceGroupManagersResizeCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersResizeCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.resize", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.resize" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.resize", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersResumeInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersresumeinstancesrequest *RegionInstanceGroupManagersResumeInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ResumeInstances: Flags the specified instances in the managed instance group
+// to be
+// resumed. This method increases thetargetSize and decreases the
+// targetSuspendedSize
+// of the managed instance group by the number of instances that you
+// resume.
+// The resumeInstances operation is marked DONE if
+// the resumeInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// theRESUMING action with thelistmanagedinstances
+// method.
+//
+// In this request, you can only specify instances that are suspended.
+// For
+// example, if an instance was previously suspended using the
+// suspendInstances
+// method, it can be resumed using the resumeInstances method.
+//
+// If a health check is attached to the managed instance group, the
+// specified
+// instances will be verified as healthy after they are resumed.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: Name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) ResumeInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersresumeinstancesrequest *RegionInstanceGroupManagersResumeInstancesRequest) *RegionInstanceGroupManagersResumeInstancesCall {
+ c := &RegionInstanceGroupManagersResumeInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersresumeinstancesrequest = regioninstancegroupmanagersresumeinstancesrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersResumeInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersResumeInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersResumeInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersResumeInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersResumeInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersResumeInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersResumeInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersResumeInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersresumeinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.resumeInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.resumeInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersResumeInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.resumeInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersSetInstanceTemplateCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerssettemplaterequest *RegionInstanceGroupManagersSetTemplateRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetInstanceTemplate: Sets the instance template to use when creating new
+// instances or recreating
+// instances in this group. Existing instances are not affected.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) SetInstanceTemplate(project string, region string, instanceGroupManager string, regioninstancegroupmanagerssettemplaterequest *RegionInstanceGroupManagersSetTemplateRequest) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+ c := &RegionInstanceGroupManagersSetInstanceTemplateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerssettemplaterequest = regioninstancegroupmanagerssettemplaterequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) RequestId(requestId string) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Context) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerssettemplaterequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.setInstanceTemplate", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.setInstanceTemplate" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.setInstanceTemplate", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersSetTargetPoolsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerssettargetpoolsrequest *RegionInstanceGroupManagersSetTargetPoolsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetTargetPools: Modifies the target pools to which all new instances in this
+// group are
+// assigned. Existing instances in the group are not affected.
+//
+// - instanceGroupManager: Name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) SetTargetPools(project string, region string, instanceGroupManager string, regioninstancegroupmanagerssettargetpoolsrequest *RegionInstanceGroupManagersSetTargetPoolsRequest) *RegionInstanceGroupManagersSetTargetPoolsCall {
+ c := &RegionInstanceGroupManagersSetTargetPoolsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerssettargetpoolsrequest = regioninstancegroupmanagerssettargetpoolsrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) RequestId(requestId string) *RegionInstanceGroupManagersSetTargetPoolsCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersSetTargetPoolsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *RegionInstanceGroupManagersSetTargetPoolsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerssettargetpoolsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.setTargetPools", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.setTargetPools" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.setTargetPools", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersStartInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersstartinstancesrequest *RegionInstanceGroupManagersStartInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// StartInstances: Flags the specified instances in the managed instance group
+// to be
+// started. This method increases thetargetSize and decreases the
+// targetStoppedSize
+// of the managed instance group by the number of instances that you start.
+// The startInstances operation is marked DONE if
+// the startInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// theSTARTING action with thelistmanagedinstances
+// method.
+//
+// In this request, you can only specify instances that are stopped.
+// For
+// example, if an instance was previously stopped using the
+// stopInstances
+// method, it can be started using the startInstances method.
+//
+// If a health check is attached to the managed instance group, the
+// specified
+// instances will be verified as healthy after they are started.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: Name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) StartInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersstartinstancesrequest *RegionInstanceGroupManagersStartInstancesRequest) *RegionInstanceGroupManagersStartInstancesCall {
+ c := &RegionInstanceGroupManagersStartInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersstartinstancesrequest = regioninstancegroupmanagersstartinstancesrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersStartInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersStartInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersStartInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersStartInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersStartInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersStartInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersStartInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersStartInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersstartinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.startInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.startInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersStartInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.startInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersStopInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersstopinstancesrequest *RegionInstanceGroupManagersStopInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// StopInstances: Flags the specified instances in the managed instance group
+// to be
+// immediately stopped. You can only specify instances that are running in
+// this request. This method reduces thetargetSize and increases the
+// targetStoppedSize
+// of the managed instance group by the number of instances that you stop.
+// The stopInstances operation is marked DONE if
+// the stopInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// theSTOPPING action with thelistmanagedinstances
+// method.
+//
+// If the standbyPolicy.initialDelaySec field is set, the group
+// delays stopping the instances until initialDelaySec have
+// passed from instance.creationTimestamp (that is, when the
+// instance was created). This delay gives your application time to
+// set itself up and initialize on the instance. If more thaninitialDelaySec
+// seconds have passed sinceinstance.creationTimestamp when this method is
+// called, there
+// will be zero delay.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is stopped.
+//
+// Stopped instances can be started using the startInstances
+// method.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) StopInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersstopinstancesrequest *RegionInstanceGroupManagersStopInstancesRequest) *RegionInstanceGroupManagersStopInstancesCall {
+ c := &RegionInstanceGroupManagersStopInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersstopinstancesrequest = regioninstancegroupmanagersstopinstancesrequest
+ return c
+}
+
+// NoGracefulShutdown sets the optional parameter "noGracefulShutdown": When
+// set, graceful shutdown is skipped for instance stopping even if
+// it's
+// configured for the instances.
+func (c *RegionInstanceGroupManagersStopInstancesCall) NoGracefulShutdown(noGracefulShutdown bool) *RegionInstanceGroupManagersStopInstancesCall {
+ c.urlParams_.Set("noGracefulShutdown", fmt.Sprint(noGracefulShutdown))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersStopInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersStopInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersStopInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersStopInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersStopInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersStopInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersStopInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersStopInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersstopinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.stopInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.stopInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersStopInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.stopInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersSuspendInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerssuspendinstancesrequest *RegionInstanceGroupManagersSuspendInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SuspendInstances: Flags the specified instances in the managed instance
+// group to be
+// immediately suspended. You can only specify instances that are running
+// in
+// this request. This method reduces thetargetSize and increases the
+// targetSuspendedSize
+// of the managed instance group by the number of instances that you
+// suspend.
+// The suspendInstances operation is marked DONE if
+// the suspendInstances request is successful. The underlying
+// actions take additional time. You must separately verify the status of
+// theSUSPENDING action with thelistmanagedinstances
+// method.
+//
+// If the standbyPolicy.initialDelaySec field is set, the group
+// delays suspension of the instances until initialDelaySec have
+// passed from instance.creationTimestamp (that is, when the
+// instance was created). This delay gives your application time to
+// set itself up and initialize on the instance. If more thaninitialDelaySec
+// seconds have passed sinceinstance.creationTimestamp when this method is
+// called, there
+// will be zero delay.
+//
+// If the group is part of a backend
+// service that has enabled
+// connection draining, it can take up to 60 seconds after the
+// connection
+// draining duration has elapsed before the VM instance is
+// suspended.
+//
+// Suspended instances can be resumed using the resumeInstances
+// method.
+//
+// You can specify a maximum of 1000 instances with this method per request.
+//
+// - instanceGroupManager: Name of the managed instance group.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupManagersService) SuspendInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagerssuspendinstancesrequest *RegionInstanceGroupManagersSuspendInstancesRequest) *RegionInstanceGroupManagersSuspendInstancesCall {
+ c := &RegionInstanceGroupManagersSuspendInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerssuspendinstancesrequest = regioninstancegroupmanagerssuspendinstancesrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersSuspendInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersSuspendInstancesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersSuspendInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersSuspendInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersSuspendInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersSuspendInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersSuspendInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersSuspendInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerssuspendinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.suspendInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.suspendInstances" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersSuspendInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.suspendInstances", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupManagersUpdatePerInstanceConfigsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerupdateinstanceconfigreq *RegionInstanceGroupManagerUpdateInstanceConfigReq
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// UpdatePerInstanceConfigs: Inserts or updates per-instance configurations for
+// the managed instance
+// group. perInstanceConfig.name serves as a key used to
+// distinguish whether to perform insert or patch.
+//
+// - instanceGroupManager: The name of the managed instance group.
+// It should conform to RFC1035.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request, should conform to
+// RFC1035.
+func (r *RegionInstanceGroupManagersService) UpdatePerInstanceConfigs(project string, region string, instanceGroupManager string, regioninstancegroupmanagerupdateinstanceconfigreq *RegionInstanceGroupManagerUpdateInstanceConfigReq) *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall {
+ c := &RegionInstanceGroupManagersUpdatePerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerupdateinstanceconfigreq = regioninstancegroupmanagerupdateinstanceconfigreq
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) RequestId(requestId string) *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Context(ctx context.Context) *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerupdateinstanceconfigreq)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.updatePerInstanceConfigs" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstanceGroupsGetCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified instance group resource.
+//
+// - instanceGroup: Name of the instance group resource to return.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupsService) Get(project string, region string, instanceGroup string) *RegionInstanceGroupsGetCall {
+ c := &RegionInstanceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroup = instanceGroup
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstanceGroupsGetCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceGroupsGetCall) IfNoneMatch(entityTag string) *RegionInstanceGroupsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstanceGroupsGetCall) Context(ctx context.Context) *RegionInstanceGroupsGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstanceGroupsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
}
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroup": c.instanceGroup,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-type RegionInstanceGroupManagersListManagedInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Do executes the "compute.regionInstanceGroups.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *InstanceGroup.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroup, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &InstanceGroup{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// ListManagedInstances: Lists the instances in the managed instance group and
-// instances that are
-// scheduled to be created. The list includes any current actions
-// that the group has scheduled for its instances. The orderBy
-// query parameter is not supported. The `pageToken` query parameter
-// is
-// supported only if the group's `listManagedInstancesResults` field is set
-// to `PAGINATED`.
+type RegionInstanceGroupsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of instance group resources contained within
+// the specified region.
//
-// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) ListManagedInstances(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersListManagedInstancesCall {
- c := &RegionInstanceGroupManagersListManagedInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionInstanceGroupsService) List(project string, region string) *RegionInstanceGroupsListCall {
+ c := &RegionInstanceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
return c
}
@@ -12340,7 +17500,7 @@ func (r *RegionInstanceGroupManagersService) ListManagedInstances(project string
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) Filter(filter string) *RegionInstanceGroupManagersListManagedInstancesCall {
+func (c *RegionInstanceGroupsListCall) Filter(filter string) *RegionInstanceGroupsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -12352,7 +17512,7 @@ func (c *RegionInstanceGroupManagersListManagedInstancesCall) Filter(filter stri
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListManagedInstancesCall {
+func (c *RegionInstanceGroupsListCall) MaxResults(maxResults int64) *RegionInstanceGroupsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -12372,7 +17532,7 @@ func (c *RegionInstanceGroupManagersListManagedInstancesCall) MaxResults(maxResu
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListManagedInstancesCall {
+func (c *RegionInstanceGroupsListCall) OrderBy(orderBy string) *RegionInstanceGroupsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -12381,76 +17541,71 @@ func (c *RegionInstanceGroupManagersListManagedInstancesCall) OrderBy(orderBy st
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) PageToken(pageToken string) *RegionInstanceGroupManagersListManagedInstancesCall {
+func (c *RegionInstanceGroupsListCall) PageToken(pageToken string) *RegionInstanceGroupsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceGroupManagersListManagedInstancesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListManagedInstancesCall {
+func (c *RegionInstanceGroupsListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceGroupsListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersListManagedInstancesCall {
+func (c *RegionInstanceGroupsListCall) Context(ctx context.Context) *RegionInstanceGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) Header() http.Header {
+func (c *RegionInstanceGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionInstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listManagedInstances", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.listManagedInstances" call.
+// Do executes the "compute.regionInstanceGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionInstanceGroupManagersListInstancesResponse.ServerResponse.Header or
-// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
+// *RegionInstanceGroupList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagersListInstancesResponse, error) {
+func (c *RegionInstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -12469,7 +17624,7 @@ func (c *RegionInstanceGroupManagersListManagedInstancesCall) Do(opts ...googlea
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionInstanceGroupManagersListInstancesResponse{
+ ret := &RegionInstanceGroupList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -12480,14 +17635,14 @@ func (c *RegionInstanceGroupManagersListManagedInstancesCall) Do(opts ...googlea
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listManagedInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstanceGroupManagersListManagedInstancesCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagersListInstancesResponse) error) error {
+func (c *RegionInstanceGroupsListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -12505,30 +17660,36 @@ func (c *RegionInstanceGroupManagersListManagedInstancesCall) Pages(ctx context.
}
}
-type RegionInstanceGroupManagersListPerInstanceConfigsCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstanceGroupsListInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroup string
+ regioninstancegroupslistinstancesrequest *RegionInstanceGroupsListInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListPerInstanceConfigs: Lists all of the per-instance configurations defined
-// for the managed
-// instance group. The orderBy query parameter is not supported.
+// ListInstances: Lists the instances in the specified instance group and
+// displays
+// information about the named ports. Depending on the specified options,
+// this
+// method can list all instances or only the instances that are running.
+// The orderBy query parameter is not supported.
//
-// - instanceGroupManager: The name of the managed instance group. It should
-// conform to RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request, should conform to
-// RFC1035.
-func (r *RegionInstanceGroupManagersService) ListPerInstanceConfigs(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
- c := &RegionInstanceGroupManagersListPerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceGroup: Name of the regional instance group for which we want to
+// list the
+//
+// instances.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupsService) ListInstances(project string, region string, instanceGroup string, regioninstancegroupslistinstancesrequest *RegionInstanceGroupsListInstancesRequest) *RegionInstanceGroupsListInstancesCall {
+ c := &RegionInstanceGroupsListInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
+ c.instanceGroup = instanceGroup
+ c.regioninstancegroupslistinstancesrequest = regioninstancegroupslistinstancesrequest
return c
}
@@ -12599,7 +17760,7 @@ func (r *RegionInstanceGroupManagersService) ListPerInstanceConfigs(project stri
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Filter(filter string) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+func (c *RegionInstanceGroupsListInstancesCall) Filter(filter string) *RegionInstanceGroupsListInstancesCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -12611,7 +17772,7 @@ func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Filter(filter st
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
+func (c *RegionInstanceGroupsListInstancesCall) MaxResults(maxResults int64) *RegionInstanceGroupsListInstancesCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -12628,378 +17789,55 @@ func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) MaxResults(maxRe
// sort
// resources like operations so that the newest operation is returned
// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) PageToken(pageToken string) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Context(ctx context.Context) *RegionInstanceGroupManagersListPerInstanceConfigsCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listPerInstanceConfigs", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionInstanceGroupManagers.listPerInstanceConfigs" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *RegionInstanceGroupManagersListInstanceConfigsResp.ServerResponse.Header or
-// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagersListInstanceConfigsResp, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &RegionInstanceGroupManagersListInstanceConfigsResp{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.listPerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagersListInstanceConfigsResp) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionInstanceGroupManagersPatchCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- instancegroupmanager *InstanceGroupManager
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Patch: Updates a managed instance group using the information that you
-// specify
-// in the request.
-// This operation is marked as DONE when the group is patched
-// even if the instances in the group are still in the process of
-// being
-// patched. You must separately verify the status of the individual
-// instances
-// with the listmanagedinstances
-// method. This method supportsPATCH
-// semantics and uses theJSON merge
-// patch format and processing rules.
-//
-// If you update your group to specify a new template or
-// instance
-// configuration, it's possible that your intended specification for each VM
-// in the group is different from the current state of that VM. To learn how
-// to apply an updated configuration to the VMs in a MIG, seeUpdating instances
-// in
-// a MIG.
-//
-// - instanceGroupManager: The name of the instance group manager.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) Patch(project string, region string, instanceGroupManager string, instancegroupmanager *InstanceGroupManager) *RegionInstanceGroupManagersPatchCall {
- c := &RegionInstanceGroupManagersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.instancegroupmanager = instancegroupmanager
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersPatchCall) RequestId(requestId string) *RegionInstanceGroupManagersPatchCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionInstanceGroupManagersPatchCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersPatchCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersPatchCall) Context(ctx context.Context) *RegionInstanceGroupManagersPatchCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionInstanceGroupManagersPatchCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionInstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanager)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionInstanceGroupManagers.patch" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.patch", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionInstanceGroupManagersPatchPerInstanceConfigsCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagerpatchinstanceconfigreq *RegionInstanceGroupManagerPatchInstanceConfigReq
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// PatchPerInstanceConfigs: Inserts or patches per-instance configurations for
-// the managed instance
-// group. perInstanceConfig.name serves as a key used to
-// distinguish whether to perform insert or patch.
-//
-// - instanceGroupManager: The name of the managed instance group.
-// It should conform to RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request, should conform to
-// RFC1035.
-func (r *RegionInstanceGroupManagersService) PatchPerInstanceConfigs(project string, region string, instanceGroupManager string, regioninstancegroupmanagerpatchinstanceconfigreq *RegionInstanceGroupManagerPatchInstanceConfigReq) *RegionInstanceGroupManagersPatchPerInstanceConfigsCall {
- c := &RegionInstanceGroupManagersPatchPerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagerpatchinstanceconfigreq = regioninstancegroupmanagerpatchinstanceconfigreq
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) RequestId(requestId string) *RegionInstanceGroupManagersPatchPerInstanceConfigsCall {
- c.urlParams_.Set("requestId", requestId)
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionInstanceGroupsListInstancesCall) OrderBy(orderBy string) *RegionInstanceGroupsListInstancesCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionInstanceGroupsListInstancesCall) PageToken(pageToken string) *RegionInstanceGroupsListInstancesCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersPatchPerInstanceConfigsCall {
+func (c *RegionInstanceGroupsListInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsListInstancesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Context(ctx context.Context) *RegionInstanceGroupManagersPatchPerInstanceConfigsCall {
+func (c *RegionInstanceGroupsListInstancesCall) Context(ctx context.Context) *RegionInstanceGroupsListInstancesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Header() http.Header {
+func (c *RegionInstanceGroupsListInstancesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerpatchinstanceconfigreq)
+func (c *RegionInstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupslistinstancesrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -13007,20 +17845,21 @@ func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt s
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "instanceGroup": c.instanceGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.listInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.patchPerInstanceConfigs" call.
+// Do executes the "compute.regionInstanceGroups.listInstances" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *RegionInstanceGroupsListInstances.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupsListInstances, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -13039,7 +17878,7 @@ func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Do(opts ...goog
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &RegionInstanceGroupsListInstances{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -13050,50 +17889,55 @@ func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) Do(opts ...goog
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.listInstances", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersRecreateInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagersrecreaterequest *RegionInstanceGroupManagersRecreateRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupsListInstancesCall) Pages(ctx context.Context, f func(*RegionInstanceGroupsListInstances) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// RecreateInstances: Flags the specified VM instances in the managed instance
-// group to be
-// immediately recreated. Each instance is recreated using the group's
-// current
-// configuration. This operation is marked as DONE when the flag
-// is set even if the instances have not yet been recreated. You
-// must
-// separately verify the status of each instance by checking itscurrentAction
-// field; for more information, see Checking
-// the status of managed instances.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is removed or
-// deleted.
-//
-// You can specify a maximum of 1000 instances with this method per request.
+type RegionInstanceGroupsSetNamedPortsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroup string
+ regioninstancegroupssetnamedportsrequest *RegionInstanceGroupsSetNamedPortsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetNamedPorts: Sets the named ports for the specified regional instance
+// group.
//
-// - instanceGroupManager: Name of the managed instance group.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) RecreateInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersrecreaterequest *RegionInstanceGroupManagersRecreateRequest) *RegionInstanceGroupManagersRecreateInstancesCall {
- c := &RegionInstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instanceGroup: The name of the regional instance group where the named
+// ports are updated.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionInstanceGroupsService) SetNamedPorts(project string, region string, instanceGroup string, regioninstancegroupssetnamedportsrequest *RegionInstanceGroupsSetNamedPortsRequest) *RegionInstanceGroupsSetNamedPortsCall {
+ c := &RegionInstanceGroupsSetNamedPortsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagersrecreaterequest = regioninstancegroupmanagersrecreaterequest
+ c.instanceGroup = instanceGroup
+ c.regioninstancegroupssetnamedportsrequest = regioninstancegroupssetnamedportsrequest
return c
}
@@ -13114,7 +17958,7 @@ func (r *RegionInstanceGroupManagersService) RecreateInstances(project string, r
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersRecreateInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersRecreateInstancesCall {
+func (c *RegionInstanceGroupsSetNamedPortsCall) RequestId(requestId string) *RegionInstanceGroupsSetNamedPortsCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -13122,35 +17966,35 @@ func (c *RegionInstanceGroupManagersRecreateInstancesCall) RequestId(requestId s
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersRecreateInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersRecreateInstancesCall {
+func (c *RegionInstanceGroupsSetNamedPortsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsSetNamedPortsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersRecreateInstancesCall {
+func (c *RegionInstanceGroupsSetNamedPortsCall) Context(ctx context.Context) *RegionInstanceGroupsSetNamedPortsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersRecreateInstancesCall) Header() http.Header {
+func (c *RegionInstanceGroupsSetNamedPortsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersrecreaterequest)
+func (c *RegionInstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupssetnamedportsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -13158,20 +18002,20 @@ func (c *RegionInstanceGroupManagersRecreateInstancesCall) doRequest(alt string)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "instanceGroup": c.instanceGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.recreateInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.setNamedPorts", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.recreateInstances" call.
+// Do executes the "compute.regionInstanceGroups.setNamedPorts" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -13201,127 +18045,90 @@ func (c *RegionInstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.recreateInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.setNamedPorts", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersResizeCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstanceGroupsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Resize: Changes the intended size of the managed instance group. If you
-// increase
-// the size, the group creates new instances using the current
-// instance
-// template. If you decrease the size, the group deletes one or
-// more
-// instances.
-//
-// The resize operation is marked DONE if theresize request is successful. The
-// underlying actions take
-// additional time. You must separately verify the status of thecreating or
-// deleting actions with thelistmanagedinstances
-// method.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is removed or deleted.
-//
-// - instanceGroupManager: Name of the managed instance group.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - size: Number of instances that should exist in this instance
-// group
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// manager.
-func (r *RegionInstanceGroupManagersService) Resize(project string, region string, instanceGroupManager string, size int64) *RegionInstanceGroupManagersResizeCall {
- c := &RegionInstanceGroupManagersResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionInstanceGroupsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionInstanceGroupsTestIamPermissionsCall {
+ c := &RegionInstanceGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.urlParams_.Set("size", fmt.Sprint(size))
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersResizeCall) RequestId(requestId string) *RegionInstanceGroupManagersResizeCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersResizeCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersResizeCall {
+func (c *RegionInstanceGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersResizeCall) Context(ctx context.Context) *RegionInstanceGroupManagersResizeCall {
+func (c *RegionInstanceGroupsTestIamPermissionsCall) Context(ctx context.Context) *RegionInstanceGroupsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersResizeCall) Header() http.Header {
+func (c *RegionInstanceGroupsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionInstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.resize", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.resize" call.
+// Do executes the "compute.regionInstanceGroups.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -13340,7 +18147,7 @@ func (c *RegionInstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -13351,54 +18158,32 @@ func (c *RegionInstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.resize", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersResumeInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagersresumeinstancesrequest *RegionInstanceGroupManagersResumeInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstanceTemplatesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ instanceTemplate string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ResumeInstances: Flags the specified instances in the managed instance group
-// to be
-// resumed. This method increases thetargetSize and decreases the
-// targetSuspendedSize
-// of the managed instance group by the number of instances that you
-// resume.
-// The resumeInstances operation is marked DONE if
-// the resumeInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// theRESUMING action with thelistmanagedinstances
-// method.
-//
-// In this request, you can only specify instances that are suspended.
-// For
-// example, if an instance was previously suspended using the
-// suspendInstances
-// method, it can be resumed using the resumeInstances method.
-//
-// If a health check is attached to the managed instance group, the
-// specified
-// instances will be verified as healthy after they are resumed.
-//
-// You can specify a maximum of 1000 instances with this method per request.
+// Delete: Deletes the specified instance template. Deleting an instance
+// template is
+// permanent and cannot be undone.
//
-// - instanceGroupManager: Name of the managed instance group.
+// - instanceTemplate: The name of the instance template to delete.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) ResumeInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersresumeinstancesrequest *RegionInstanceGroupManagersResumeInstancesRequest) *RegionInstanceGroupManagersResumeInstancesCall {
- c := &RegionInstanceGroupManagersResumeInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionInstanceTemplatesService) Delete(project string, region string, instanceTemplate string) *RegionInstanceTemplatesDeleteCall {
+ c := &RegionInstanceTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagersresumeinstancesrequest = regioninstancegroupmanagersresumeinstancesrequest
+ c.instanceTemplate = instanceTemplate
return c
}
@@ -13419,7 +18204,7 @@ func (r *RegionInstanceGroupManagersService) ResumeInstances(project string, reg
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersResumeInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersResumeInstancesCall {
+func (c *RegionInstanceTemplatesDeleteCall) RequestId(requestId string) *RegionInstanceTemplatesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -13427,56 +18212,52 @@ func (c *RegionInstanceGroupManagersResumeInstancesCall) RequestId(requestId str
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersResumeInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersResumeInstancesCall {
+func (c *RegionInstanceTemplatesDeleteCall) Fields(s ...googleapi.Field) *RegionInstanceTemplatesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersResumeInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersResumeInstancesCall {
+func (c *RegionInstanceTemplatesDeleteCall) Context(ctx context.Context) *RegionInstanceTemplatesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersResumeInstancesCall) Header() http.Header {
+func (c *RegionInstanceTemplatesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersResumeInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersresumeinstancesrequest)
- if err != nil {
- return nil, err
- }
+func (c *RegionInstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "instanceTemplate": c.instanceTemplate,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.resumeInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.resumeInstances" call.
+// Do executes the "compute.regionInstanceTemplates.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersResumeInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -13506,112 +18287,95 @@ func (c *RegionInstanceGroupManagersResumeInstancesCall) Do(opts ...googleapi.Ca
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.resumeInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersSetInstanceTemplateCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagerssettemplaterequest *RegionInstanceGroupManagersSetTemplateRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstanceTemplatesGetCall struct {
+ s *Service
+ project string
+ region string
+ instanceTemplate string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// SetInstanceTemplate: Sets the instance template to use when creating new
-// instances or recreating
-// instances in this group. Existing instances are not affected.
+// Get: Returns the specified instance template.
//
-// - instanceGroupManager: The name of the managed instance group.
+// - instanceTemplate: The name of the instance template.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) SetInstanceTemplate(project string, region string, instanceGroupManager string, regioninstancegroupmanagerssettemplaterequest *RegionInstanceGroupManagersSetTemplateRequest) *RegionInstanceGroupManagersSetInstanceTemplateCall {
- c := &RegionInstanceGroupManagersSetInstanceTemplateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionInstanceTemplatesService) Get(project string, region string, instanceTemplate string) *RegionInstanceTemplatesGetCall {
+ c := &RegionInstanceTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagerssettemplaterequest = regioninstancegroupmanagerssettemplaterequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) RequestId(requestId string) *RegionInstanceGroupManagersSetInstanceTemplateCall {
- c.urlParams_.Set("requestId", requestId)
+ c.instanceTemplate = instanceTemplate
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+func (c *RegionInstanceTemplatesGetCall) Fields(s ...googleapi.Field) *RegionInstanceTemplatesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceTemplatesGetCall) IfNoneMatch(entityTag string) *RegionInstanceTemplatesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Context) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+func (c *RegionInstanceTemplatesGetCall) Context(ctx context.Context) *RegionInstanceTemplatesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Header() http.Header {
+func (c *RegionInstanceTemplatesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerssettemplaterequest)
- if err != nil {
- return nil, err
+func (c *RegionInstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
+ "instanceTemplate": c.instanceTemplate,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.setInstanceTemplate", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.setInstanceTemplate" call.
+// Do executes the "compute.regionInstanceTemplates.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceTemplate.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionInstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*InstanceTemplate, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -13630,7 +18394,7 @@ func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleap
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceTemplate{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -13641,34 +18405,31 @@ func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleap
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.setInstanceTemplate", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersSetTargetPoolsCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagerssettargetpoolsrequest *RegionInstanceGroupManagersSetTargetPoolsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstanceTemplatesInsertCall struct {
+ s *Service
+ project string
+ region string
+ instancetemplate *InstanceTemplate
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetTargetPools: Modifies the target pools to which all new instances in this
-// group are
-// assigned. Existing instances in the group are not affected.
+// Insert: Creates an instance template in the specified project and region
+// using the
+// global instance template whose URL is included in the request.
//
-// - instanceGroupManager: Name of the managed instance group.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) SetTargetPools(project string, region string, instanceGroupManager string, regioninstancegroupmanagerssettargetpoolsrequest *RegionInstanceGroupManagersSetTargetPoolsRequest) *RegionInstanceGroupManagersSetTargetPoolsCall {
- c := &RegionInstanceGroupManagersSetTargetPoolsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionInstanceTemplatesService) Insert(project string, region string, instancetemplate *InstanceTemplate) *RegionInstanceTemplatesInsertCall {
+ c := &RegionInstanceTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagerssettargetpoolsrequest = regioninstancegroupmanagerssettargetpoolsrequest
+ c.instancetemplate = instancetemplate
return c
}
@@ -13689,7 +18450,7 @@ func (r *RegionInstanceGroupManagersService) SetTargetPools(project string, regi
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersSetTargetPoolsCall) RequestId(requestId string) *RegionInstanceGroupManagersSetTargetPoolsCall {
+func (c *RegionInstanceTemplatesInsertCall) RequestId(requestId string) *RegionInstanceTemplatesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -13697,35 +18458,35 @@ func (c *RegionInstanceGroupManagersSetTargetPoolsCall) RequestId(requestId stri
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersSetTargetPoolsCall {
+func (c *RegionInstanceTemplatesInsertCall) Fields(s ...googleapi.Field) *RegionInstanceTemplatesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *RegionInstanceGroupManagersSetTargetPoolsCall {
+func (c *RegionInstanceTemplatesInsertCall) Context(ctx context.Context) *RegionInstanceTemplatesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Header() http.Header {
+func (c *RegionInstanceTemplatesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerssettargetpoolsrequest)
+func (c *RegionInstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancetemplate)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceTemplates")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -13733,20 +18494,19 @@ func (c *RegionInstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.setTargetPools", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.setTargetPools" call.
+// Do executes the "compute.regionInstanceTemplates.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -13776,131 +18536,206 @@ func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.setTargetPools", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersStartInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagersstartinstancesrequest *RegionInstanceGroupManagersStartInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstanceTemplatesListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// StartInstances: Flags the specified instances in the managed instance group
-// to be
-// started. This method increases thetargetSize and decreases the
-// targetStoppedSize
-// of the managed instance group by the number of instances that you start.
-// The startInstances operation is marked DONE if
-// the startInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// theSTARTING action with thelistmanagedinstances
-// method.
-//
-// In this request, you can only specify instances that are stopped.
-// For
-// example, if an instance was previously stopped using the
-// stopInstances
-// method, it can be started using the startInstances method.
-//
-// If a health check is attached to the managed instance group, the
-// specified
-// instances will be verified as healthy after they are started.
-//
-// You can specify a maximum of 1000 instances with this method per request.
+// List: Retrieves a list of instance templates that are contained within
+// the
+// specified project and region.
//
-// - instanceGroupManager: Name of the managed instance group.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) StartInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersstartinstancesrequest *RegionInstanceGroupManagersStartInstancesRequest) *RegionInstanceGroupManagersStartInstancesCall {
- c := &RegionInstanceGroupManagersStartInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the regions for this request.
+func (r *RegionInstanceTemplatesService) List(project string, region string) *RegionInstanceTemplatesListCall {
+ c := &RegionInstanceTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagersstartinstancesrequest = regioninstancegroupmanagersstartinstancesrequest
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersStartInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersStartInstancesCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionInstanceTemplatesListCall) Filter(filter string) *RegionInstanceTemplatesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionInstanceTemplatesListCall) MaxResults(maxResults int64) *RegionInstanceTemplatesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionInstanceTemplatesListCall) OrderBy(orderBy string) *RegionInstanceTemplatesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionInstanceTemplatesListCall) PageToken(pageToken string) *RegionInstanceTemplatesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersStartInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersStartInstancesCall {
+func (c *RegionInstanceTemplatesListCall) Fields(s ...googleapi.Field) *RegionInstanceTemplatesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstanceTemplatesListCall) IfNoneMatch(entityTag string) *RegionInstanceTemplatesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersStartInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersStartInstancesCall {
+func (c *RegionInstanceTemplatesListCall) Context(ctx context.Context) *RegionInstanceTemplatesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersStartInstancesCall) Header() http.Header {
+func (c *RegionInstanceTemplatesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersStartInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersstartinstancesrequest)
- if err != nil {
- return nil, err
+func (c *RegionInstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceTemplates")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.startInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.startInstances" call.
+// Do executes the "compute.regionInstanceTemplates.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersStartInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstanceTemplateList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionInstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceTemplateList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -13919,7 +18754,7 @@ func (c *RegionInstanceGroupManagersStartInstancesCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstanceTemplateList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -13930,62 +18765,52 @@ func (c *RegionInstanceGroupManagersStartInstancesCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.startInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersStopInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagersstopinstancesrequest *RegionInstanceGroupManagersStopInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceTemplatesListCall) Pages(ctx context.Context, f func(*InstanceTemplateList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// StopInstances: Flags the specified instances in the managed instance group
-// to be
-// immediately stopped. You can only specify instances that are running in
-// this request. This method reduces thetargetSize and increases the
-// targetStoppedSize
-// of the managed instance group by the number of instances that you stop.
-// The stopInstances operation is marked DONE if
-// the stopInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// theSTOPPING action with thelistmanagedinstances
-// method.
-//
-// If the standbyPolicy.initialDelaySec field is set, the group
-// delays stopping the instances until initialDelaySec have
-// passed from instance.creationTimestamp (that is, when the
-// instance was created). This delay gives your application time to
-// set itself up and initialize on the instance. If more thaninitialDelaySec
-// seconds have passed sinceinstance.creationTimestamp when this method is
-// called, there
-// will be zero delay.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is stopped.
-//
-// Stopped instances can be started using the startInstances
-// method.
-//
-// You can specify a maximum of 1000 instances with this method per request.
+type RegionInstancesBulkInsertCall struct {
+ s *Service
+ project string
+ region string
+ bulkinsertinstanceresource *BulkInsertInstanceResource
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// BulkInsert: Creates multiple instances in a given region. Count specifies
+// the number of
+// instances to create.
//
-// - instanceGroupManager: The name of the managed instance group.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) StopInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersstopinstancesrequest *RegionInstanceGroupManagersStopInstancesRequest) *RegionInstanceGroupManagersStopInstancesCall {
- c := &RegionInstanceGroupManagersStopInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionInstancesService) BulkInsert(project string, region string, bulkinsertinstanceresource *BulkInsertInstanceResource) *RegionInstancesBulkInsertCall {
+ c := &RegionInstancesBulkInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagersstopinstancesrequest = regioninstancegroupmanagersstopinstancesrequest
+ c.bulkinsertinstanceresource = bulkinsertinstanceresource
return c
}
@@ -14006,7 +18831,7 @@ func (r *RegionInstanceGroupManagersService) StopInstances(project string, regio
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersStopInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersStopInstancesCall {
+func (c *RegionInstancesBulkInsertCall) RequestId(requestId string) *RegionInstancesBulkInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -14014,35 +18839,35 @@ func (c *RegionInstanceGroupManagersStopInstancesCall) RequestId(requestId strin
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersStopInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersStopInstancesCall {
+func (c *RegionInstancesBulkInsertCall) Fields(s ...googleapi.Field) *RegionInstancesBulkInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersStopInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersStopInstancesCall {
+func (c *RegionInstancesBulkInsertCall) Context(ctx context.Context) *RegionInstancesBulkInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersStopInstancesCall) Header() http.Header {
+func (c *RegionInstancesBulkInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersStopInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagersstopinstancesrequest)
+func (c *RegionInstancesBulkInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.bulkinsertinstanceresource)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instances/bulkInsert")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -14050,20 +18875,19 @@ func (c *RegionInstanceGroupManagersStopInstancesCall) doRequest(alt string) (*h
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.stopInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstances.bulkInsert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.stopInstances" call.
+// Do executes the "compute.regionInstances.bulkInsert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersStopInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstancesBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -14093,65 +18917,30 @@ func (c *RegionInstanceGroupManagersStopInstancesCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.stopInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstances.bulkInsert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersSuspendInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagerssuspendinstancesrequest *RegionInstanceGroupManagersSuspendInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotGroupsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ instantSnapshotGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SuspendInstances: Flags the specified instances in the managed instance
-// group to be
-// immediately suspended. You can only specify instances that are running
-// in
-// this request. This method reduces thetargetSize and increases the
-// targetSuspendedSize
-// of the managed instance group by the number of instances that you
-// suspend.
-// The suspendInstances operation is marked DONE if
-// the suspendInstances request is successful. The underlying
-// actions take additional time. You must separately verify the status of
-// theSUSPENDING action with thelistmanagedinstances
-// method.
-//
-// If the standbyPolicy.initialDelaySec field is set, the group
-// delays suspension of the instances until initialDelaySec have
-// passed from instance.creationTimestamp (that is, when the
-// instance was created). This delay gives your application time to
-// set itself up and initialize on the instance. If more thaninitialDelaySec
-// seconds have passed sinceinstance.creationTimestamp when this method is
-// called, there
-// will be zero delay.
-//
-// If the group is part of a backend
-// service that has enabled
-// connection draining, it can take up to 60 seconds after the
-// connection
-// draining duration has elapsed before the VM instance is
-// suspended.
-//
-// Suspended instances can be resumed using the resumeInstances
-// method.
-//
-// You can specify a maximum of 1000 instances with this method per request.
+// Delete: deletes a Regional InstantSnapshotGroup resource
//
-// - instanceGroupManager: Name of the managed instance group.
+// - instantSnapshotGroup: Name of the InstantSnapshotGroup resource to delete.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupManagersService) SuspendInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagerssuspendinstancesrequest *RegionInstanceGroupManagersSuspendInstancesRequest) *RegionInstanceGroupManagersSuspendInstancesCall {
- c := &RegionInstanceGroupManagersSuspendInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionInstantSnapshotGroupsService) Delete(project string, region string, instantSnapshotGroup string) *RegionInstantSnapshotGroupsDeleteCall {
+ c := &RegionInstantSnapshotGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagerssuspendinstancesrequest = regioninstancegroupmanagerssuspendinstancesrequest
+ c.instantSnapshotGroup = instantSnapshotGroup
return c
}
@@ -14172,7 +18961,7 @@ func (r *RegionInstanceGroupManagersService) SuspendInstances(project string, re
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersSuspendInstancesCall) RequestId(requestId string) *RegionInstanceGroupManagersSuspendInstancesCall {
+func (c *RegionInstantSnapshotGroupsDeleteCall) RequestId(requestId string) *RegionInstantSnapshotGroupsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -14180,37 +18969,33 @@ func (c *RegionInstanceGroupManagersSuspendInstancesCall) RequestId(requestId st
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersSuspendInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersSuspendInstancesCall {
+func (c *RegionInstantSnapshotGroupsDeleteCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersSuspendInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersSuspendInstancesCall {
+func (c *RegionInstantSnapshotGroupsDeleteCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersSuspendInstancesCall) Header() http.Header {
+func (c *RegionInstantSnapshotGroupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersSuspendInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerssuspendinstancesrequest)
- if err != nil {
- return nil, err
- }
+func (c *RegionInstantSnapshotGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
@@ -14218,18 +19003,18 @@ func (c *RegionInstanceGroupManagersSuspendInstancesCall) doRequest(alt string)
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "instantSnapshotGroup": c.instantSnapshotGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.suspendInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.suspendInstances" call.
+// Do executes the "compute.regionInstantSnapshotGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersSuspendInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstantSnapshotGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -14259,96 +19044,77 @@ func (c *RegionInstanceGroupManagersSuspendInstancesCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.suspendInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupManagersUpdatePerInstanceConfigsCall struct {
- s *Service
- project string
- region string
- instanceGroupManager string
- regioninstancegroupmanagerupdateinstanceconfigreq *RegionInstanceGroupManagerUpdateInstanceConfigReq
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotGroupsGetCall struct {
+ s *Service
+ project string
+ region string
+ instantSnapshotGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// UpdatePerInstanceConfigs: Inserts or updates per-instance configurations for
-// the managed instance
-// group. perInstanceConfig.name serves as a key used to
-// distinguish whether to perform insert or patch.
+// Get: returns the specified InstantSnapshotGroup resource in the
+// specified
+// region.
//
-// - instanceGroupManager: The name of the managed instance group.
-// It should conform to RFC1035.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request, should conform to
-// RFC1035.
-func (r *RegionInstanceGroupManagersService) UpdatePerInstanceConfigs(project string, region string, instanceGroupManager string, regioninstancegroupmanagerupdateinstanceconfigreq *RegionInstanceGroupManagerUpdateInstanceConfigReq) *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall {
- c := &RegionInstanceGroupManagersUpdatePerInstanceConfigsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - instantSnapshotGroup: Name of the InstantSnapshotGroup resource to return.
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+func (r *RegionInstantSnapshotGroupsService) Get(project string, region string, instantSnapshotGroup string) *RegionInstantSnapshotGroupsGetCall {
+ c := &RegionInstantSnapshotGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroupManager = instanceGroupManager
- c.regioninstancegroupmanagerupdateinstanceconfigreq = regioninstancegroupmanagerupdateinstanceconfigreq
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) RequestId(requestId string) *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall {
- c.urlParams_.Set("requestId", requestId)
+ c.instantSnapshotGroup = instantSnapshotGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall {
+func (c *RegionInstantSnapshotGroupsGetCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstantSnapshotGroupsGetCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotGroupsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Context(ctx context.Context) *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall {
+func (c *RegionInstantSnapshotGroupsGetCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Header() http.Header {
+func (c *RegionInstantSnapshotGroupsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupmanagerupdateinstanceconfigreq)
- if err != nil {
- return nil, err
+func (c *RegionInstantSnapshotGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -14356,18 +19122,19 @@ func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
- "instanceGroupManager": c.instanceGroupManager,
+ "instantSnapshotGroup": c.instantSnapshotGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroupManagers.updatePerInstanceConfigs" call.
+// Do executes the "compute.regionInstantSnapshotGroups.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstantSnapshotGroup.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionInstantSnapshotGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotGroup, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -14386,7 +19153,7 @@ func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Do(opts ...goo
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstantSnapshotGroup{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -14397,38 +19164,47 @@ func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) Do(opts ...goo
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupsGetCall struct {
- s *Service
- project string
- region string
- instanceGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotGroupsGetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified instance group resource.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - instanceGroup: Name of the instance group resource to return.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupsService) Get(project string, region string, instanceGroup string) *RegionInstanceGroupsGetCall {
- c := &RegionInstanceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionInstantSnapshotGroupsService) GetIamPolicy(project string, region string, resource string) *RegionInstantSnapshotGroupsGetIamPolicyCall {
+ c := &RegionInstantSnapshotGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroup = instanceGroup
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionInstantSnapshotGroupsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupsGetCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsGetCall {
+func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -14436,34 +19212,34 @@ func (c *RegionInstanceGroupsGetCall) Fields(s ...googleapi.Field) *RegionInstan
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionInstanceGroupsGetCall) IfNoneMatch(entityTag string) *RegionInstanceGroupsGetCall {
+func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotGroupsGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupsGetCall) Context(ctx context.Context) *RegionInstanceGroupsGetCall {
+func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupsGetCall) Header() http.Header {
+func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -14471,20 +19247,20 @@ func (c *RegionInstanceGroupsGetCall) doRequest(alt string) (*http.Response, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroup": c.instanceGroup,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroups.get" call.
+// Do executes the "compute.regionInstantSnapshotGroups.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceGroup.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroup, error) {
+func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -14503,7 +19279,7 @@ func (c *RegionInstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*Instanc
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceGroup{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -14514,201 +19290,95 @@ func (c *RegionInstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*Instanc
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupsListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotGroupsInsertCall struct {
+ s *Service
+ project string
+ region string
+ instantsnapshotgroup *InstantSnapshotGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves the list of instance group resources contained within
-// the specified region.
+// Insert: creates a Regional InstantSnapshotGroup resource
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupsService) List(project string, region string) *RegionInstanceGroupsListCall {
- c := &RegionInstanceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionInstantSnapshotGroupsService) Insert(project string, region string, instantsnapshotgroup *InstantSnapshotGroup) *RegionInstantSnapshotGroupsInsertCall {
+ c := &RegionInstantSnapshotGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
+ c.instantsnapshotgroup = instantsnapshotgroup
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionInstanceGroupsListCall) Filter(filter string) *RegionInstanceGroupsListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstanceGroupsListCall) MaxResults(maxResults int64) *RegionInstanceGroupsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionInstanceGroupsListCall) OrderBy(orderBy string) *RegionInstanceGroupsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionInstanceGroupsListCall) PageToken(pageToken string) *RegionInstanceGroupsListCall {
- c.urlParams_.Set("pageToken", pageToken)
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstantSnapshotGroupsInsertCall) RequestId(requestId string) *RegionInstantSnapshotGroupsInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstanceGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// SourceConsistencyGroup sets the optional parameter "sourceConsistencyGroup":
+// begin_interface: MixerMutationRequestBuilder
+func (c *RegionInstantSnapshotGroupsInsertCall) SourceConsistencyGroup(sourceConsistencyGroup string) *RegionInstantSnapshotGroupsInsertCall {
+ c.urlParams_.Set("sourceConsistencyGroup", sourceConsistencyGroup)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupsListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsListCall {
+func (c *RegionInstantSnapshotGroupsInsertCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionInstanceGroupsListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupsListCall) Context(ctx context.Context) *RegionInstanceGroupsListCall {
+func (c *RegionInstantSnapshotGroupsInsertCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupsListCall) Header() http.Header {
+func (c *RegionInstantSnapshotGroupsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionInstantSnapshotGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instantsnapshotgroup)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -14717,17 +19387,16 @@ func (c *RegionInstanceGroupsListCall) doRequest(alt string) (*http.Response, er
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroups.list" call.
+// Do executes the "compute.regionInstantSnapshotGroups.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionInstanceGroupList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstantSnapshotGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -14746,7 +19415,7 @@ func (c *RegionInstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*Region
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionInstanceGroupList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -14757,61 +19426,30 @@ func (c *RegionInstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*Region
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstanceGroupsListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionInstanceGroupsListInstancesCall struct {
- s *Service
- project string
- region string
- instanceGroup string
- regioninstancegroupslistinstancesrequest *RegionInstanceGroupsListInstancesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotGroupsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// ListInstances: Lists the instances in the specified instance group and
-// displays
-// information about the named ports. Depending on the specified options,
-// this
-// method can list all instances or only the instances that are running.
-// The orderBy query parameter is not supported.
-//
-// - instanceGroup: Name of the regional instance group for which we want to
-// list the
+// List: retrieves the list of InstantSnapshotGroup resources contained
+// within
+// the specified region.
//
-// instances.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupsService) ListInstances(project string, region string, instanceGroup string, regioninstancegroupslistinstancesrequest *RegionInstanceGroupsListInstancesRequest) *RegionInstanceGroupsListInstancesCall {
- c := &RegionInstanceGroupsListInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionInstantSnapshotGroupsService) List(project string, region string) *RegionInstantSnapshotGroupsListCall {
+ c := &RegionInstantSnapshotGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroup = instanceGroup
- c.regioninstancegroupslistinstancesrequest = regioninstancegroupslistinstancesrequest
return c
}
@@ -14882,7 +19520,7 @@ func (r *RegionInstanceGroupsService) ListInstances(project string, region strin
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionInstanceGroupsListInstancesCall) Filter(filter string) *RegionInstanceGroupsListInstancesCall {
+func (c *RegionInstantSnapshotGroupsListCall) Filter(filter string) *RegionInstantSnapshotGroupsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -14894,7 +19532,7 @@ func (c *RegionInstanceGroupsListInstancesCall) Filter(filter string) *RegionIns
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstanceGroupsListInstancesCall) MaxResults(maxResults int64) *RegionInstanceGroupsListInstancesCall {
+func (c *RegionInstantSnapshotGroupsListCall) MaxResults(maxResults int64) *RegionInstantSnapshotGroupsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -14914,7 +19552,7 @@ func (c *RegionInstanceGroupsListInstancesCall) MaxResults(maxResults int64) *Re
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionInstanceGroupsListInstancesCall) OrderBy(orderBy string) *RegionInstanceGroupsListInstancesCall {
+func (c *RegionInstantSnapshotGroupsListCall) OrderBy(orderBy string) *RegionInstantSnapshotGroupsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -14923,80 +19561,71 @@ func (c *RegionInstanceGroupsListInstancesCall) OrderBy(orderBy string) *RegionI
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionInstanceGroupsListInstancesCall) PageToken(pageToken string) *RegionInstanceGroupsListInstancesCall {
+func (c *RegionInstantSnapshotGroupsListCall) PageToken(pageToken string) *RegionInstantSnapshotGroupsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstanceGroupsListInstancesCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceGroupsListInstancesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupsListInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsListInstancesCall {
+func (c *RegionInstantSnapshotGroupsListCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstantSnapshotGroupsListCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotGroupsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupsListInstancesCall) Context(ctx context.Context) *RegionInstanceGroupsListInstancesCall {
+func (c *RegionInstantSnapshotGroupsListCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupsListInstancesCall) Header() http.Header {
+func (c *RegionInstantSnapshotGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupslistinstancesrequest)
- if err != nil {
- return nil, err
+func (c *RegionInstantSnapshotGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroup": c.instanceGroup,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.listInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroups.listInstances" call.
+// Do executes the "compute.regionInstantSnapshotGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionInstanceGroupsListInstances.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
+// *ListInstantSnapshotGroups.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupsListInstances, error) {
+func (c *RegionInstantSnapshotGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInstantSnapshotGroups, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -15015,7 +19644,7 @@ func (c *RegionInstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionInstanceGroupsListInstances{
+ ret := &ListInstantSnapshotGroups{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -15026,14 +19655,14 @@ func (c *RegionInstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.listInstances", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstanceGroupsListInstancesCall) Pages(ctx context.Context, f func(*RegionInstanceGroupsListInstances) error) error {
+func (c *RegionInstantSnapshotGroupsListCall) Pages(ctx context.Context, f func(*ListInstantSnapshotGroups) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -15051,87 +19680,65 @@ func (c *RegionInstanceGroupsListInstancesCall) Pages(ctx context.Context, f fun
}
}
-type RegionInstanceGroupsSetNamedPortsCall struct {
- s *Service
- project string
- region string
- instanceGroup string
- regioninstancegroupssetnamedportsrequest *RegionInstanceGroupsSetNamedPortsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotGroupsSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetNamedPorts: Sets the named ports for the specified regional instance
-// group.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - instanceGroup: The name of the regional instance group where the named
-// ports are updated.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionInstanceGroupsService) SetNamedPorts(project string, region string, instanceGroup string, regioninstancegroupssetnamedportsrequest *RegionInstanceGroupsSetNamedPortsRequest) *RegionInstanceGroupsSetNamedPortsCall {
- c := &RegionInstanceGroupsSetNamedPortsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionInstantSnapshotGroupsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionInstantSnapshotGroupsSetIamPolicyCall {
+ c := &RegionInstantSnapshotGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceGroup = instanceGroup
- c.regioninstancegroupssetnamedportsrequest = regioninstancegroupssetnamedportsrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceGroupsSetNamedPortsCall) RequestId(requestId string) *RegionInstanceGroupsSetNamedPortsCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupsSetNamedPortsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsSetNamedPortsCall {
+func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupsSetNamedPortsCall) Context(ctx context.Context) *RegionInstanceGroupsSetNamedPortsCall {
+func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupsSetNamedPortsCall) Header() http.Header {
+func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regioninstancegroupssetnamedportsrequest)
+func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -15139,20 +19746,20 @@ func (c *RegionInstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Res
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceGroup": c.instanceGroup,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.setNamedPorts", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroups.setNamedPorts" call.
+// Do executes the "compute.regionInstantSnapshotGroups.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -15171,7 +19778,7 @@ func (c *RegionInstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -15182,11 +19789,11 @@ func (c *RegionInstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.setNamedPorts", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceGroupsTestIamPermissionsCall struct {
+type RegionInstantSnapshotGroupsTestIamPermissionsCall struct {
s *Service
project string
region string
@@ -15203,8 +19810,8 @@ type RegionInstanceGroupsTestIamPermissionsCall struct {
// - project: Project ID for this request.
// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *RegionInstanceGroupsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionInstanceGroupsTestIamPermissionsCall {
- c := &RegionInstanceGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionInstantSnapshotGroupsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionInstantSnapshotGroupsTestIamPermissionsCall {
+ c := &RegionInstantSnapshotGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.resource = resource
@@ -15215,35 +19822,35 @@ func (r *RegionInstanceGroupsService) TestIamPermissions(project string, region
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsTestIamPermissionsCall {
+func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceGroupsTestIamPermissionsCall) Context(ctx context.Context) *RegionInstanceGroupsTestIamPermissionsCall {
+func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceGroupsTestIamPermissionsCall) Header() http.Header {
+func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -15255,17 +19862,17 @@ func (c *RegionInstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*htt
"region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceGroups.testIamPermissions" call.
+// Do executes the "compute.regionInstantSnapshotGroups.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionInstanceGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -15295,32 +19902,41 @@ func (c *RegionInstanceGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceTemplatesDeleteCall struct {
- s *Service
- project string
- region string
- instanceTemplate string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ instantSnapshot string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified instance template. Deleting an instance
-// template is
-// permanent and cannot be undone.
+// Delete: Deletes the specified InstantSnapshot resource. Keep in mind that
+// deleting
+// a single instantSnapshot might not necessarily delete all the data on
+// that
+// instantSnapshot. If any data on the instantSnapshot that is marked
+// for
+// deletion is needed for subsequent instantSnapshots, the data will be
+// moved
+// to the next corresponding instantSnapshot.
//
-// - instanceTemplate: The name of the instance template to delete.
+// For more information, seeDeleting
+// instantSnapshots.
+//
+// - instantSnapshot: Name of the InstantSnapshot resource to delete.
// - project: Project ID for this request.
// - region: The name of the region for this request.
-func (r *RegionInstanceTemplatesService) Delete(project string, region string, instanceTemplate string) *RegionInstanceTemplatesDeleteCall {
- c := &RegionInstanceTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionInstantSnapshotsService) Delete(project string, region string, instantSnapshot string) *RegionInstantSnapshotsDeleteCall {
+ c := &RegionInstantSnapshotsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceTemplate = instanceTemplate
+ c.instantSnapshot = instantSnapshot
return c
}
@@ -15341,7 +19957,7 @@ func (r *RegionInstanceTemplatesService) Delete(project string, region string, i
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceTemplatesDeleteCall) RequestId(requestId string) *RegionInstanceTemplatesDeleteCall {
+func (c *RegionInstantSnapshotsDeleteCall) RequestId(requestId string) *RegionInstantSnapshotsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -15349,31 +19965,31 @@ func (c *RegionInstanceTemplatesDeleteCall) RequestId(requestId string) *RegionI
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceTemplatesDeleteCall) Fields(s ...googleapi.Field) *RegionInstanceTemplatesDeleteCall {
+func (c *RegionInstantSnapshotsDeleteCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceTemplatesDeleteCall) Context(ctx context.Context) *RegionInstanceTemplatesDeleteCall {
+func (c *RegionInstantSnapshotsDeleteCall) Context(ctx context.Context) *RegionInstantSnapshotsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceTemplatesDeleteCall) Header() http.Header {
+func (c *RegionInstantSnapshotsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionInstantSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -15381,20 +19997,20 @@ func (c *RegionInstanceTemplatesDeleteCall) doRequest(alt string) (*http.Respons
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceTemplate": c.instanceTemplate,
+ "project": c.project,
+ "region": c.region,
+ "instantSnapshot": c.instantSnapshot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceTemplates.delete" call.
+// Do executes the "compute.regionInstantSnapshots.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstantSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -15424,38 +20040,38 @@ func (c *RegionInstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceTemplatesGetCall struct {
- s *Service
- project string
- region string
- instanceTemplate string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotsGetCall struct {
+ s *Service
+ project string
+ region string
+ instantSnapshot string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified instance template.
+// Get: Returns the specified InstantSnapshot resource in the specified region.
//
-// - instanceTemplate: The name of the instance template.
+// - instantSnapshot: Name of the InstantSnapshot resource to return.
// - project: Project ID for this request.
// - region: The name of the region for this request.
-func (r *RegionInstanceTemplatesService) Get(project string, region string, instanceTemplate string) *RegionInstanceTemplatesGetCall {
- c := &RegionInstanceTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionInstantSnapshotsService) Get(project string, region string, instantSnapshot string) *RegionInstantSnapshotsGetCall {
+ c := &RegionInstantSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instanceTemplate = instanceTemplate
+ c.instantSnapshot = instantSnapshot
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceTemplatesGetCall) Fields(s ...googleapi.Field) *RegionInstanceTemplatesGetCall {
+func (c *RegionInstantSnapshotsGetCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -15463,34 +20079,34 @@ func (c *RegionInstanceTemplatesGetCall) Fields(s ...googleapi.Field) *RegionIns
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionInstanceTemplatesGetCall) IfNoneMatch(entityTag string) *RegionInstanceTemplatesGetCall {
+func (c *RegionInstantSnapshotsGetCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceTemplatesGetCall) Context(ctx context.Context) *RegionInstanceTemplatesGetCall {
+func (c *RegionInstantSnapshotsGetCall) Context(ctx context.Context) *RegionInstantSnapshotsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceTemplatesGetCall) Header() http.Header {
+func (c *RegionInstantSnapshotsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionInstantSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -15498,21 +20114,21 @@ func (c *RegionInstanceTemplatesGetCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instanceTemplate": c.instanceTemplate,
+ "project": c.project,
+ "region": c.region,
+ "instantSnapshot": c.instantSnapshot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceTemplates.get" call.
+// Do executes the "compute.regionInstantSnapshots.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstanceTemplate.ServerResponse.Header or (if a response was returned at
+// *InstantSnapshot.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RegionInstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*InstanceTemplate, error) {
+func (c *RegionInstantSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnapshot, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -15531,7 +20147,7 @@ func (c *RegionInstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*Inst
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstanceTemplate{
+ ret := &InstantSnapshot{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -15542,31 +20158,155 @@ func (c *RegionInstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*Inst
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceTemplatesInsertCall struct {
- s *Service
- project string
- region string
- instancetemplate *InstanceTemplate
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotsGetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates an instance template in the specified project and region
-// using the
-// global instance template whose URL is included in the request.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
// - project: Project ID for this request.
// - region: The name of the region for this request.
-func (r *RegionInstanceTemplatesService) Insert(project string, region string, instancetemplate *InstanceTemplate) *RegionInstanceTemplatesInsertCall {
- c := &RegionInstanceTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *RegionInstantSnapshotsService) GetIamPolicy(project string, region string, resource string) *RegionInstantSnapshotsGetIamPolicyCall {
+ c := &RegionInstantSnapshotsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instancetemplate = instancetemplate
+ c.resource = resource
+ return c
+}
+
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *RegionInstantSnapshotsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionInstantSnapshotsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionInstantSnapshotsGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsGetIamPolicyCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionInstantSnapshotsGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotsGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionInstantSnapshotsGetIamPolicyCall) Context(ctx context.Context) *RegionInstantSnapshotsGetIamPolicyCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionInstantSnapshotsGetIamPolicyCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstantSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstantSnapshots.getIamPolicy" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstantSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Policy{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionInstantSnapshotsInsertCall struct {
+ s *Service
+ project string
+ region string
+ instantsnapshot *InstantSnapshot
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates an instant snapshot in the specified region.
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+func (r *RegionInstantSnapshotsService) Insert(project string, region string, instantsnapshot *InstantSnapshot) *RegionInstantSnapshotsInsertCall {
+ c := &RegionInstantSnapshotsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instantsnapshot = instantsnapshot
return c
}
@@ -15587,7 +20327,7 @@ func (r *RegionInstanceTemplatesService) Insert(project string, region string, i
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstanceTemplatesInsertCall) RequestId(requestId string) *RegionInstanceTemplatesInsertCall {
+func (c *RegionInstantSnapshotsInsertCall) RequestId(requestId string) *RegionInstantSnapshotsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -15595,35 +20335,35 @@ func (c *RegionInstanceTemplatesInsertCall) RequestId(requestId string) *RegionI
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceTemplatesInsertCall) Fields(s ...googleapi.Field) *RegionInstanceTemplatesInsertCall {
+func (c *RegionInstantSnapshotsInsertCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceTemplatesInsertCall) Context(ctx context.Context) *RegionInstanceTemplatesInsertCall {
+func (c *RegionInstantSnapshotsInsertCall) Context(ctx context.Context) *RegionInstantSnapshotsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceTemplatesInsertCall) Header() http.Header {
+func (c *RegionInstantSnapshotsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancetemplate)
+func (c *RegionInstantSnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instantsnapshot)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceTemplates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -15634,16 +20374,16 @@ func (c *RegionInstanceTemplatesInsertCall) doRequest(alt string) (*http.Respons
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstanceTemplates.insert" call.
+// Do executes the "compute.regionInstantSnapshots.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstantSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -15673,11 +20413,11 @@ func (c *RegionInstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstanceTemplatesListCall struct {
+type RegionInstantSnapshotsListCall struct {
s *Service
project string
region string
@@ -15687,14 +20427,13 @@ type RegionInstanceTemplatesListCall struct {
header_ http.Header
}
-// List: Retrieves a list of instance templates that are contained within
-// the
-// specified project and region.
+// List: Retrieves the list of InstantSnapshot resources contained within
+// the specified region.
//
// - project: Project ID for this request.
-// - region: The name of the regions for this request.
-func (r *RegionInstanceTemplatesService) List(project string, region string) *RegionInstanceTemplatesListCall {
- c := &RegionInstanceTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+func (r *RegionInstantSnapshotsService) List(project string, region string) *RegionInstantSnapshotsListCall {
+ c := &RegionInstantSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -15767,7 +20506,7 @@ func (r *RegionInstanceTemplatesService) List(project string, region string) *Re
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionInstanceTemplatesListCall) Filter(filter string) *RegionInstanceTemplatesListCall {
+func (c *RegionInstantSnapshotsListCall) Filter(filter string) *RegionInstantSnapshotsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -15779,7 +20518,7 @@ func (c *RegionInstanceTemplatesListCall) Filter(filter string) *RegionInstanceT
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstanceTemplatesListCall) MaxResults(maxResults int64) *RegionInstanceTemplatesListCall {
+func (c *RegionInstantSnapshotsListCall) MaxResults(maxResults int64) *RegionInstantSnapshotsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -15799,7 +20538,7 @@ func (c *RegionInstanceTemplatesListCall) MaxResults(maxResults int64) *RegionIn
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionInstanceTemplatesListCall) OrderBy(orderBy string) *RegionInstanceTemplatesListCall {
+func (c *RegionInstantSnapshotsListCall) OrderBy(orderBy string) *RegionInstantSnapshotsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -15808,30 +20547,15 @@ func (c *RegionInstanceTemplatesListCall) OrderBy(orderBy string) *RegionInstanc
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionInstanceTemplatesListCall) PageToken(pageToken string) *RegionInstanceTemplatesListCall {
+func (c *RegionInstantSnapshotsListCall) PageToken(pageToken string) *RegionInstantSnapshotsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstanceTemplatesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceTemplatesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstanceTemplatesListCall) Fields(s ...googleapi.Field) *RegionInstanceTemplatesListCall {
+func (c *RegionInstantSnapshotsListCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -15839,34 +20563,34 @@ func (c *RegionInstanceTemplatesListCall) Fields(s ...googleapi.Field) *RegionIn
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionInstanceTemplatesListCall) IfNoneMatch(entityTag string) *RegionInstanceTemplatesListCall {
+func (c *RegionInstantSnapshotsListCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstanceTemplatesListCall) Context(ctx context.Context) *RegionInstanceTemplatesListCall {
+func (c *RegionInstantSnapshotsListCall) Context(ctx context.Context) *RegionInstantSnapshotsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstanceTemplatesListCall) Header() http.Header {
+func (c *RegionInstantSnapshotsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionInstantSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceTemplates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -15877,169 +20601,17 @@ func (c *RegionInstanceTemplatesListCall) doRequest(alt string) (*http.Response,
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.list", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionInstanceTemplates.list" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *InstanceTemplateList.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionInstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceTemplateList, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &InstanceTemplateList{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstanceTemplates.list", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstanceTemplatesListCall) Pages(ctx context.Context, f func(*InstanceTemplateList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionInstancesBulkInsertCall struct {
- s *Service
- project string
- region string
- bulkinsertinstanceresource *BulkInsertInstanceResource
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// BulkInsert: Creates multiple instances in a given region. Count specifies
-// the number of
-// instances to create.
-//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionInstancesService) BulkInsert(project string, region string, bulkinsertinstanceresource *BulkInsertInstanceResource) *RegionInstancesBulkInsertCall {
- c := &RegionInstancesBulkInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.bulkinsertinstanceresource = bulkinsertinstanceresource
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstancesBulkInsertCall) RequestId(requestId string) *RegionInstancesBulkInsertCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionInstancesBulkInsertCall) Fields(s ...googleapi.Field) *RegionInstancesBulkInsertCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionInstancesBulkInsertCall) Context(ctx context.Context) *RegionInstancesBulkInsertCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionInstancesBulkInsertCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionInstancesBulkInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.bulkinsertinstanceresource)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instances/bulkInsert")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstances.bulkInsert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstances.bulkInsert" call.
+// Do executes the "compute.regionInstantSnapshots.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstancesBulkInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *InstantSnapshotList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionInstantSnapshotsListCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -16058,7 +20630,7 @@ func (c *RegionInstancesBulkInsertCall) Do(opts ...googleapi.CallOption) (*Opera
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &InstantSnapshotList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -16069,104 +20641,111 @@ func (c *RegionInstancesBulkInsertCall) Do(opts ...googleapi.CallOption) (*Opera
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstances.bulkInsert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotGroupsDeleteCall struct {
- s *Service
- project string
- region string
- instantSnapshotGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstantSnapshotsListCall) Pages(ctx context.Context, f func(*InstantSnapshotList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Delete: deletes a Regional InstantSnapshotGroup resource
+type RegionInstantSnapshotsSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - instantSnapshotGroup: Name of the InstantSnapshotGroup resource to delete.
// - project: Project ID for this request.
// - region: The name of the region for this request.
-func (r *RegionInstantSnapshotGroupsService) Delete(project string, region string, instantSnapshotGroup string) *RegionInstantSnapshotGroupsDeleteCall {
- c := &RegionInstantSnapshotGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+func (r *RegionInstantSnapshotsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionInstantSnapshotsSetIamPolicyCall {
+ c := &RegionInstantSnapshotsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instantSnapshotGroup = instantSnapshotGroup
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstantSnapshotGroupsDeleteCall) RequestId(requestId string) *RegionInstantSnapshotGroupsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotGroupsDeleteCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsDeleteCall {
+func (c *RegionInstantSnapshotsSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotGroupsDeleteCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsDeleteCall {
+func (c *RegionInstantSnapshotsSetIamPolicyCall) Context(ctx context.Context) *RegionInstantSnapshotsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotGroupsDeleteCall) Header() http.Header {
+func (c *RegionInstantSnapshotsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionInstantSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instantSnapshotGroup": c.instantSnapshotGroup,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshotGroups.delete" call.
+// Do executes the "compute.regionInstantSnapshots.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionInstantSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -16185,7 +20764,7 @@ func (c *RegionInstantSnapshotGroupsDeleteCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -16196,97 +20775,113 @@ func (c *RegionInstantSnapshotGroupsDeleteCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotGroupsGetCall struct {
- s *Service
- project string
- region string
- instantSnapshotGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotsSetLabelsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetlabelsrequest *RegionSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: returns the specified InstantSnapshotGroup resource in the
-// specified
-// region.
+// SetLabels: Sets the labels on a instantSnapshot in the given region. To
+// learn more
+// about labels, read the Labeling
+// Resources documentation.
//
-// - instantSnapshotGroup: Name of the InstantSnapshotGroup resource to return.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionInstantSnapshotGroupsService) Get(project string, region string, instantSnapshotGroup string) *RegionInstantSnapshotGroupsGetCall {
- c := &RegionInstantSnapshotGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionInstantSnapshotsService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *RegionInstantSnapshotsSetLabelsCall {
+ c := &RegionInstantSnapshotsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instantSnapshotGroup = instantSnapshotGroup
+ c.resource = resource
+ c.regionsetlabelsrequest = regionsetlabelsrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionInstantSnapshotsSetLabelsCall) RequestId(requestId string) *RegionInstantSnapshotsSetLabelsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotGroupsGetCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsGetCall {
+func (c *RegionInstantSnapshotsSetLabelsCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsSetLabelsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionInstantSnapshotGroupsGetCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotGroupsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotGroupsGetCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsGetCall {
+func (c *RegionInstantSnapshotsSetLabelsCall) Context(ctx context.Context) *RegionInstantSnapshotsSetLabelsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotGroupsGetCall) Header() http.Header {
+func (c *RegionInstantSnapshotsSetLabelsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionInstantSnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instantSnapshotGroup": c.instantSnapshotGroup,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshotGroups.get" call.
+// Do executes the "compute.regionInstantSnapshots.setLabels" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstantSnapshotGroup.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionInstantSnapshotGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotGroup, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionInstantSnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -16305,7 +20900,7 @@ func (c *RegionInstantSnapshotGroupsGetCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstantSnapshotGroup{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -16316,84 +20911,70 @@ func (c *RegionInstantSnapshotGroupsGetCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.setLabels", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotGroupsGetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionInstantSnapshotsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
// - project: Project ID for this request.
// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-func (r *RegionInstantSnapshotGroupsService) GetIamPolicy(project string, region string, resource string) *RegionInstantSnapshotGroupsGetIamPolicyCall {
- c := &RegionInstantSnapshotGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionInstantSnapshotsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionInstantSnapshotsTestIamPermissionsCall {
+ c := &RegionInstantSnapshotsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.resource = resource
- return c
-}
-
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionInstantSnapshotGroupsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsGetIamPolicyCall {
+func (c *RegionInstantSnapshotsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotGroupsGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsGetIamPolicyCall {
+func (c *RegionInstantSnapshotsTestIamPermissionsCall) Context(ctx context.Context) *RegionInstantSnapshotsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Header() http.Header {
+func (c *RegionInstantSnapshotsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionInstantSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
@@ -16403,16 +20984,17 @@ func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) doRequest(alt string) (*ht
"region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshotGroups.getIamPolicy" call.
+// Do executes the "compute.regionInstantSnapshots.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -16431,7 +21013,7 @@ func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Do(opts ...googleapi.CallO
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -16442,29 +21024,40 @@ func (c *RegionInstantSnapshotGroupsGetIamPolicyCall) Do(opts ...googleapi.CallO
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotGroupsInsertCall struct {
- s *Service
- project string
- region string
- instantsnapshotgroup *InstantSnapshotGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkEndpointGroupsAttachNetworkEndpointsCall struct {
+ s *Service
+ project string
+ region string
+ networkEndpointGroup string
+ regionnetworkendpointgroupsattachendpointsrequest *RegionNetworkEndpointGroupsAttachEndpointsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: creates a Regional InstantSnapshotGroup resource
+// AttachNetworkEndpoints: Attach a list of network endpoints to the specified
+// network endpoint group.
//
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionInstantSnapshotGroupsService) Insert(project string, region string, instantsnapshotgroup *InstantSnapshotGroup) *RegionInstantSnapshotGroupsInsertCall {
- c := &RegionInstantSnapshotGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkEndpointGroup: The name of the network endpoint group where you are
+// attaching network
+//
+// endpoints to. It should comply with RFC1035.
+// - project: Project ID for this request.
+// - region: The name of the region where
+// you want to create the network endpoint group. It should comply
+// with
+//
+// RFC1035.
+func (r *RegionNetworkEndpointGroupsService) AttachNetworkEndpoints(project string, region string, networkEndpointGroup string, regionnetworkendpointgroupsattachendpointsrequest *RegionNetworkEndpointGroupsAttachEndpointsRequest) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall {
+ c := &RegionNetworkEndpointGroupsAttachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instantsnapshotgroup = instantsnapshotgroup
+ c.networkEndpointGroup = networkEndpointGroup
+ c.regionnetworkendpointgroupsattachendpointsrequest = regionnetworkendpointgroupsattachendpointsrequest
return c
}
@@ -16485,50 +21078,43 @@ func (r *RegionInstantSnapshotGroupsService) Insert(project string, region strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstantSnapshotGroupsInsertCall) RequestId(requestId string) *RegionInstantSnapshotGroupsInsertCall {
+func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) RequestId(requestId string) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// SourceConsistencyGroup sets the optional parameter "sourceConsistencyGroup":
-// begin_interface: MixerMutationRequestBuilder
-func (c *RegionInstantSnapshotGroupsInsertCall) SourceConsistencyGroup(sourceConsistencyGroup string) *RegionInstantSnapshotGroupsInsertCall {
- c.urlParams_.Set("sourceConsistencyGroup", sourceConsistencyGroup)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotGroupsInsertCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsInsertCall {
+func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotGroupsInsertCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsInsertCall {
+func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotGroupsInsertCall) Header() http.Header {
+func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instantsnapshotgroup)
+func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionnetworkendpointgroupsattachendpointsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -16536,19 +21122,20 @@ func (c *RegionInstantSnapshotGroupsInsertCall) doRequest(alt string) (*http.Res
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshotGroups.insert" call.
+// Do executes the "compute.regionNetworkEndpointGroups.attachNetworkEndpoints" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -16578,221 +21165,110 @@ func (c *RegionInstantSnapshotGroupsInsertCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotGroupsListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// List: retrieves the list of InstantSnapshotGroup resources contained
-// within
-// the specified region.
-//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionInstantSnapshotGroupsService) List(project string, region string) *RegionInstantSnapshotGroupsListCall {
- c := &RegionInstantSnapshotGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionInstantSnapshotGroupsListCall) Filter(filter string) *RegionInstantSnapshotGroupsListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstantSnapshotGroupsListCall) MaxResults(maxResults int64) *RegionInstantSnapshotGroupsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
+type RegionNetworkEndpointGroupsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ networkEndpointGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
+// Delete: Deletes the specified network endpoint group. Note that the NEG
+// cannot be
+// deleted if it is configured as a backend of a backend service.
//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// - networkEndpointGroup: The name of the network endpoint group to delete. It
+// should comply with
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionInstantSnapshotGroupsListCall) OrderBy(orderBy string) *RegionInstantSnapshotGroupsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionInstantSnapshotGroupsListCall) PageToken(pageToken string) *RegionInstantSnapshotGroupsListCall {
- c.urlParams_.Set("pageToken", pageToken)
+// RFC1035.
+// - project: Project ID for this request.
+// - region: The name of the region where
+// the network endpoint group is located. It should comply with RFC1035.
+func (r *RegionNetworkEndpointGroupsService) Delete(project string, region string, networkEndpointGroup string) *RegionNetworkEndpointGroupsDeleteCall {
+ c := &RegionNetworkEndpointGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.networkEndpointGroup = networkEndpointGroup
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstantSnapshotGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstantSnapshotGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionNetworkEndpointGroupsDeleteCall) RequestId(requestId string) *RegionNetworkEndpointGroupsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotGroupsListCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsListCall {
+func (c *RegionNetworkEndpointGroupsDeleteCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionInstantSnapshotGroupsListCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotGroupsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotGroupsListCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsListCall {
+func (c *RegionNetworkEndpointGroupsDeleteCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotGroupsListCall) Header() http.Header {
+func (c *RegionNetworkEndpointGroupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RegionNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshotGroups.list" call.
+// Do executes the "compute.regionNetworkEndpointGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ListInstantSnapshotGroups.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInstantSnapshotGroups, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -16811,7 +21287,7 @@ func (c *RegionInstantSnapshotGroupsListCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ListInstantSnapshotGroups{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -16822,90 +21298,97 @@ func (c *RegionInstantSnapshotGroupsListCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstantSnapshotGroupsListCall) Pages(ctx context.Context, f func(*ListInstantSnapshotGroups) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionInstantSnapshotGroupsSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkEndpointGroupsDetachNetworkEndpointsCall struct {
+ s *Service
+ project string
+ region string
+ networkEndpointGroup string
+ regionnetworkendpointgroupsdetachendpointsrequest *RegionNetworkEndpointGroupsDetachEndpointsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// DetachNetworkEndpoints: Detach the network endpoint from the specified
+// network endpoint group.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionInstantSnapshotGroupsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionInstantSnapshotGroupsSetIamPolicyCall {
- c := &RegionInstantSnapshotGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkEndpointGroup: The name of the network endpoint group you are
+// detaching network
+//
+// endpoints from. It should comply with RFC1035.
+// - project: Project ID for this request.
+// - region: The name of the region where
+// the network endpoint group is located. It should comply with
+//
+// RFC1035.
+func (r *RegionNetworkEndpointGroupsService) DetachNetworkEndpoints(project string, region string, networkEndpointGroup string, regionnetworkendpointgroupsdetachendpointsrequest *RegionNetworkEndpointGroupsDetachEndpointsRequest) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall {
+ c := &RegionNetworkEndpointGroupsDetachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
+ c.networkEndpointGroup = networkEndpointGroup
+ c.regionnetworkendpointgroupsdetachendpointsrequest = regionnetworkendpointgroupsdetachendpointsrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+// end_interface: MixerMutationRequestBuilder
+func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) RequestId(requestId string) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsSetIamPolicyCall {
+func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsSetIamPolicyCall {
+func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Header() http.Header {
+func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionnetworkendpointgroupsdetachendpointsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -16913,20 +21396,20 @@ func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) doRequest(alt string) (*ht
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshotGroups.setIamPolicy" call.
+// Do executes the "compute.regionNetworkEndpointGroups.detachNetworkEndpoints" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -16945,7 +21428,7 @@ func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Do(opts ...googleapi.CallO
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -16956,90 +21439,97 @@ func (c *RegionInstantSnapshotGroupsSetIamPolicyCall) Do(opts ...googleapi.CallO
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotGroupsTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkEndpointGroupsGetCall struct {
+ s *Service
+ project string
+ region string
+ networkEndpointGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Get: Returns the specified network endpoint group.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionInstantSnapshotGroupsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionInstantSnapshotGroupsTestIamPermissionsCall {
- c := &RegionInstantSnapshotGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkEndpointGroup: The name of the network endpoint group. It should
+// comply with RFC1035.
+// - project: Project ID for this request.
+// - region: The name of the region where
+// the network endpoint group is located. It should comply with RFC1035.
+func (r *RegionNetworkEndpointGroupsService) Get(project string, region string, networkEndpointGroup string) *RegionNetworkEndpointGroupsGetCall {
+ c := &RegionNetworkEndpointGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.networkEndpointGroup = networkEndpointGroup
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotGroupsTestIamPermissionsCall {
+func (c *RegionNetworkEndpointGroupsGetCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionNetworkEndpointGroupsGetCall) IfNoneMatch(entityTag string) *RegionNetworkEndpointGroupsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Context(ctx context.Context) *RegionInstantSnapshotGroupsTestIamPermissionsCall {
+func (c *RegionNetworkEndpointGroupsGetCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Header() http.Header {
+func (c *RegionNetworkEndpointGroupsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *RegionNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshotGroups.testIamPermissions" call.
+// Do executes the "compute.regionNetworkEndpointGroups.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *NetworkEndpointGroup.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionNetworkEndpointGroupsGetCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroup, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -17058,7 +21548,7 @@ func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Do(opts ...googleapi
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &NetworkEndpointGroup{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -17069,41 +21559,49 @@ func (c *RegionInstantSnapshotGroupsTestIamPermissionsCall) Do(opts ...googleapi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshotGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotsDeleteCall struct {
- s *Service
- project string
- region string
- instantSnapshot string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkEndpointGroupsInsertCall struct {
+ s *Service
+ project string
+ region string
+ networkendpointgroup *NetworkEndpointGroup
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified InstantSnapshot resource. Keep in mind that
-// deleting
-// a single instantSnapshot might not necessarily delete all the data on
-// that
-// instantSnapshot. If any data on the instantSnapshot that is marked
-// for
-// deletion is needed for subsequent instantSnapshots, the data will be
-// moved
-// to the next corresponding instantSnapshot.
+// Insert: Creates a network endpoint group in the specified project using
+// the
+// parameters that are included in the request.
//
-// For more information, seeDeleting
-// instantSnapshots.
+// Note: Use the following APIs to manage network endpoint groups:
//
-// - instantSnapshot: Name of the InstantSnapshot resource to delete.
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionInstantSnapshotsService) Delete(project string, region string, instantSnapshot string) *RegionInstantSnapshotsDeleteCall {
- c := &RegionInstantSnapshotsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// -
+// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity
+// NEGs): zonal
+// API
+// -
+// To manage NEGs with regional scope (such as regional internet NEGs,
+// serverless NEGs, Private Service Connect NEGs): regional
+// API
+// -
+// To manage NEGs with global scope (such as global internet NEGs):global
+// API
+//
+// - project: Project ID for this request.
+// - region: The name of the region where
+// you want to create the network endpoint group. It should comply
+// with
+//
+// RFC1035.
+func (r *RegionNetworkEndpointGroupsService) Insert(project string, region string, networkendpointgroup *NetworkEndpointGroup) *RegionNetworkEndpointGroupsInsertCall {
+ c := &RegionNetworkEndpointGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instantSnapshot = instantSnapshot
+ c.networkendpointgroup = networkendpointgroup
return c
}
@@ -17124,7 +21622,7 @@ func (r *RegionInstantSnapshotsService) Delete(project string, region string, in
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstantSnapshotsDeleteCall) RequestId(requestId string) *RegionInstantSnapshotsDeleteCall {
+func (c *RegionNetworkEndpointGroupsInsertCall) RequestId(requestId string) *RegionNetworkEndpointGroupsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -17132,52 +21630,55 @@ func (c *RegionInstantSnapshotsDeleteCall) RequestId(requestId string) *RegionIn
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotsDeleteCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsDeleteCall {
+func (c *RegionNetworkEndpointGroupsInsertCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotsDeleteCall) Context(ctx context.Context) *RegionInstantSnapshotsDeleteCall {
+func (c *RegionNetworkEndpointGroupsInsertCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotsDeleteCall) Header() http.Header {
+func (c *RegionNetworkEndpointGroupsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroup)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instantSnapshot": c.instantSnapshot,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshots.delete" call.
+// Do executes the "compute.regionNetworkEndpointGroups.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkEndpointGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -17207,38 +21708,152 @@ func (c *RegionInstantSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotsGetCall struct {
- s *Service
- project string
- region string
- instantSnapshot string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkEndpointGroupsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified InstantSnapshot resource in the specified region.
+// List: Retrieves the list of regional network endpoint groups available to
+// the
+// specified project in the given region.
//
-// - instantSnapshot: Name of the InstantSnapshot resource to return.
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionInstantSnapshotsService) Get(project string, region string, instantSnapshot string) *RegionInstantSnapshotsGetCall {
- c := &RegionInstantSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of theregion
+// where the network endpoint group is located. It should comply with
+// RFC1035.
+func (r *RegionNetworkEndpointGroupsService) List(project string, region string) *RegionNetworkEndpointGroupsListCall {
+ c := &RegionNetworkEndpointGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instantSnapshot = instantSnapshot
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionNetworkEndpointGroupsListCall) Filter(filter string) *RegionNetworkEndpointGroupsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionNetworkEndpointGroupsListCall) MaxResults(maxResults int64) *RegionNetworkEndpointGroupsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionNetworkEndpointGroupsListCall) OrderBy(orderBy string) *RegionNetworkEndpointGroupsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionNetworkEndpointGroupsListCall) PageToken(pageToken string) *RegionNetworkEndpointGroupsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotsGetCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsGetCall {
+func (c *RegionNetworkEndpointGroupsListCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -17246,34 +21861,34 @@ func (c *RegionInstantSnapshotsGetCall) Fields(s ...googleapi.Field) *RegionInst
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionInstantSnapshotsGetCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotsGetCall {
+func (c *RegionNetworkEndpointGroupsListCall) IfNoneMatch(entityTag string) *RegionNetworkEndpointGroupsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotsGetCall) Context(ctx context.Context) *RegionInstantSnapshotsGetCall {
+func (c *RegionNetworkEndpointGroupsListCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotsGetCall) Header() http.Header {
+func (c *RegionNetworkEndpointGroupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -17281,21 +21896,20 @@ func (c *RegionInstantSnapshotsGetCall) doRequest(alt string) (*http.Response, e
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "instantSnapshot": c.instantSnapshot,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshots.get" call.
+// Do executes the "compute.regionNetworkEndpointGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstantSnapshot.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionInstantSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*InstantSnapshot, error) {
+// *NetworkEndpointGroupList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionNetworkEndpointGroupsListCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -17314,7 +21928,7 @@ func (c *RegionInstantSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Insta
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstantSnapshot{
+ ret := &NetworkEndpointGroupList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -17325,103 +21939,222 @@ func (c *RegionInstantSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Insta
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotsGetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionNetworkEndpointGroupsListCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+type RegionNetworkEndpointGroupsListNetworkEndpointsCall struct {
+ s *Service
+ project string
+ region string
+ networkEndpointGroup string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListNetworkEndpoints: Lists the network endpoints in the specified network
+// endpoint group.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionInstantSnapshotsService) GetIamPolicy(project string, region string, resource string) *RegionInstantSnapshotsGetIamPolicyCall {
- c := &RegionInstantSnapshotsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - networkEndpointGroup: The name of the network endpoint group from which
+// you want to generate a
+// list of included network endpoints. It should comply with RFC1035.
+// - project: Project ID for this request.
+// - region: The name of theregion
+// where the network endpoint group is located. It should comply with
+// RFC1035.
+func (r *RegionNetworkEndpointGroupsService) ListNetworkEndpoints(project string, region string, networkEndpointGroup string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
+ c := &RegionNetworkEndpointGroupsListNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
+ c.networkEndpointGroup = networkEndpointGroup
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *RegionInstantSnapshotsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionInstantSnapshotsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Filter(filter string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) MaxResults(maxResults int64) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) OrderBy(orderBy string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) PageToken(pageToken string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotsGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsGetIamPolicyCall {
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionInstantSnapshotsGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotsGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotsGetIamPolicyCall) Context(ctx context.Context) *RegionInstantSnapshotsGetIamPolicyCall {
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotsGetIamPolicyCall) Header() http.Header {
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "networkEndpointGroup": c.networkEndpointGroup,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.listNetworkEndpoints", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshots.getIamPolicy" call.
+// Do executes the "compute.regionNetworkEndpointGroups.listNetworkEndpoints" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+// *NetworkEndpointGroupsListNetworkEndpoints.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupsListNetworkEndpoints, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -17440,7 +22173,7 @@ func (c *RegionInstantSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &NetworkEndpointGroupsListNetworkEndpoints{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -17451,29 +22184,76 @@ func (c *RegionInstantSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.listNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotsInsertCall struct {
- s *Service
- project string
- region string
- instantsnapshot *InstantSnapshot
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupsListNetworkEndpoints) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Insert: Creates an instant snapshot in the specified region.
+type RegionNetworkFirewallPoliciesAddAssociationCall struct {
+ s *Service
+ project string
+ region string
+ firewallPolicy string
+ firewallpolicyassociation *FirewallPolicyAssociation
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AddAssociation: Inserts an association for the specified network firewall
+// policy.
//
+// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionInstantSnapshotsService) Insert(project string, region string, instantsnapshot *InstantSnapshot) *RegionInstantSnapshotsInsertCall {
- c := &RegionInstantSnapshotsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) AddAssociation(project string, region string, firewallPolicy string, firewallpolicyassociation *FirewallPolicyAssociation) *RegionNetworkFirewallPoliciesAddAssociationCall {
+ c := &RegionNetworkFirewallPoliciesAddAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.instantsnapshot = instantsnapshot
+ c.firewallPolicy = firewallPolicy
+ c.firewallpolicyassociation = firewallpolicyassociation
+ return c
+}
+
+// AssociatedPolicyToBeReplaced sets the optional parameter
+// "associatedPolicyToBeReplaced": Name of the firewall policy associated with
+// the target network to swap
+// association with. This field is mutually exclusive
+// with
+// 'replace_existing_association'.
+func (c *RegionNetworkFirewallPoliciesAddAssociationCall) AssociatedPolicyToBeReplaced(associatedPolicyToBeReplaced string) *RegionNetworkFirewallPoliciesAddAssociationCall {
+ c.urlParams_.Set("associatedPolicyToBeReplaced", associatedPolicyToBeReplaced)
+ return c
+}
+
+// ReplaceExistingAssociation sets the optional parameter
+// "replaceExistingAssociation": Indicates whether or not to replace it if an
+// association already exists.
+// This is false by default, in which case an error will be returned if
+// an
+// association already exists.
+func (c *RegionNetworkFirewallPoliciesAddAssociationCall) ReplaceExistingAssociation(replaceExistingAssociation bool) *RegionNetworkFirewallPoliciesAddAssociationCall {
+ c.urlParams_.Set("replaceExistingAssociation", fmt.Sprint(replaceExistingAssociation))
return c
}
@@ -17494,7 +22274,7 @@ func (r *RegionInstantSnapshotsService) Insert(project string, region string, in
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstantSnapshotsInsertCall) RequestId(requestId string) *RegionInstantSnapshotsInsertCall {
+func (c *RegionNetworkFirewallPoliciesAddAssociationCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesAddAssociationCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -17502,35 +22282,35 @@ func (c *RegionInstantSnapshotsInsertCall) RequestId(requestId string) *RegionIn
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotsInsertCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsInsertCall {
+func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesAddAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotsInsertCall) Context(ctx context.Context) *RegionInstantSnapshotsInsertCall {
+func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesAddAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotsInsertCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instantsnapshot)
+func (c *RegionNetworkFirewallPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyassociation)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -17538,19 +22318,20 @@ func (c *RegionInstantSnapshotsInsertCall) doRequest(alt string) (*http.Response
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.addAssociation", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshots.insert" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.addAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -17580,220 +22361,128 @@ func (c *RegionInstantSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.addAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotsListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesAddRuleCall struct {
+ s *Service
+ project string
+ region string
+ firewallPolicy string
+ firewallpolicyrule *FirewallPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves the list of InstantSnapshot resources contained within
-// the specified region.
+// AddRule: Inserts a rule into a network firewall policy.
//
+// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-func (r *RegionInstantSnapshotsService) List(project string, region string) *RegionInstantSnapshotsListCall {
- c := &RegionInstantSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) AddRule(project string, region string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *RegionNetworkFirewallPoliciesAddRuleCall {
+ c := &RegionNetworkFirewallPoliciesAddRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
+ c.firewallPolicy = firewallPolicy
+ c.firewallpolicyrule = firewallpolicyrule
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionInstantSnapshotsListCall) Filter(filter string) *RegionInstantSnapshotsListCall {
- c.urlParams_.Set("filter", filter)
+// MaxPriority sets the optional parameter "maxPriority": When rule.priority is
+// not specified, auto choose a unused priority betweenminPriority and
+// maxPriority>.
+// This field is exclusive with rule.priority.
+func (c *RegionNetworkFirewallPoliciesAddRuleCall) MaxPriority(maxPriority int64) *RegionNetworkFirewallPoliciesAddRuleCall {
+ c.urlParams_.Set("maxPriority", fmt.Sprint(maxPriority))
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionInstantSnapshotsListCall) MaxResults(maxResults int64) *RegionInstantSnapshotsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// MinPriority sets the optional parameter "minPriority": When rule.priority is
+// not specified, auto choose a unused priority betweenminPriority and
+// maxPriority>.
+// This field is exclusive with rule.priority.
+func (c *RegionNetworkFirewallPoliciesAddRuleCall) MinPriority(minPriority int64) *RegionNetworkFirewallPoliciesAddRuleCall {
+ c.urlParams_.Set("minPriority", fmt.Sprint(minPriority))
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionInstantSnapshotsListCall) OrderBy(orderBy string) *RegionInstantSnapshotsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionInstantSnapshotsListCall) PageToken(pageToken string) *RegionInstantSnapshotsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionInstantSnapshotsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstantSnapshotsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionNetworkFirewallPoliciesAddRuleCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesAddRuleCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotsListCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsListCall {
+func (c *RegionNetworkFirewallPoliciesAddRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesAddRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionInstantSnapshotsListCall) IfNoneMatch(entityTag string) *RegionInstantSnapshotsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotsListCall) Context(ctx context.Context) *RegionInstantSnapshotsListCall {
+func (c *RegionNetworkFirewallPoliciesAddRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesAddRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotsListCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesAddRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionNetworkFirewallPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.addRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshots.list" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.addRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *InstantSnapshotList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionInstantSnapshotsListCall) Do(opts ...googleapi.CallOption) (*InstantSnapshotList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionNetworkFirewallPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -17812,7 +22501,7 @@ func (c *RegionInstantSnapshotsListCall) Do(opts ...googleapi.CallOption) (*Inst
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &InstantSnapshotList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -17823,111 +22512,111 @@ func (c *RegionInstantSnapshotsListCall) Do(opts ...googleapi.CallOption) (*Inst
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.addRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionInstantSnapshotsListCall) Pages(ctx context.Context, f func(*InstantSnapshotList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionInstantSnapshotsSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesCloneRulesCall struct {
+ s *Service
+ project string
+ region string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// CloneRules: Copies rules to the specified network firewall policy.
//
+// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionInstantSnapshotsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionInstantSnapshotsSetIamPolicyCall {
- c := &RegionInstantSnapshotsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) CloneRules(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesCloneRulesCall {
+ c := &RegionNetworkFirewallPoliciesCloneRulesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionNetworkFirewallPoliciesCloneRulesCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesCloneRulesCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// SourceFirewallPolicy sets the optional parameter "sourceFirewallPolicy": The
+// firewall policy from which to copy rules.
+func (c *RegionNetworkFirewallPoliciesCloneRulesCall) SourceFirewallPolicy(sourceFirewallPolicy string) *RegionNetworkFirewallPoliciesCloneRulesCall {
+ c.urlParams_.Set("sourceFirewallPolicy", sourceFirewallPolicy)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotsSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsSetIamPolicyCall {
+func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesCloneRulesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotsSetIamPolicyCall) Context(ctx context.Context) *RegionInstantSnapshotsSetIamPolicyCall {
+func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesCloneRulesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotsSetIamPolicyCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
- if err != nil {
- return nil, err
- }
+func (c *RegionNetworkFirewallPoliciesCloneRulesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.cloneRules", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshots.setIamPolicy" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.cloneRules" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -17946,7 +22635,7 @@ func (c *RegionInstantSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -17957,35 +22646,30 @@ func (c *RegionInstantSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.cloneRules", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotsSetLabelsCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetlabelsrequest *RegionSetLabelsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetLabels: Sets the labels on a instantSnapshot in the given region. To
-// learn more
-// about labels, read the Labeling
-// Resources documentation.
+// Delete: Deletes the specified network firewall policy.
//
+// - firewallPolicy: Name of the firewall policy to delete.
// - project: Project ID for this request.
-// - region: The region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionInstantSnapshotsService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *RegionInstantSnapshotsSetLabelsCall {
- c := &RegionInstantSnapshotsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) Delete(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesDeleteCall {
+ c := &RegionNetworkFirewallPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetlabelsrequest = regionsetlabelsrequest
+ c.firewallPolicy = firewallPolicy
return c
}
@@ -18006,7 +22690,7 @@ func (r *RegionInstantSnapshotsService) SetLabels(project string, region string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionInstantSnapshotsSetLabelsCall) RequestId(requestId string) *RegionInstantSnapshotsSetLabelsCall {
+func (c *RegionNetworkFirewallPoliciesDeleteCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -18014,56 +22698,52 @@ func (c *RegionInstantSnapshotsSetLabelsCall) RequestId(requestId string) *Regio
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotsSetLabelsCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsSetLabelsCall {
+func (c *RegionNetworkFirewallPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotsSetLabelsCall) Context(ctx context.Context) *RegionInstantSnapshotsSetLabelsCall {
+func (c *RegionNetworkFirewallPoliciesDeleteCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotsSetLabelsCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
- if err != nil {
- return nil, err
- }
+func (c *RegionNetworkFirewallPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshots.setLabels" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -18093,90 +22773,94 @@ func (c *RegionInstantSnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionInstantSnapshotsTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesGetCall struct {
+ s *Service
+ project string
+ region string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Get: Returns the specified network firewall policy.
//
+// - firewallPolicy: Name of the firewall policy to get.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionInstantSnapshotsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionInstantSnapshotsTestIamPermissionsCall {
- c := &RegionInstantSnapshotsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) Get(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesGetCall {
+ c := &RegionNetworkFirewallPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.firewallPolicy = firewallPolicy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionInstantSnapshotsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionInstantSnapshotsTestIamPermissionsCall {
+func (c *RegionNetworkFirewallPoliciesGetCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionNetworkFirewallPoliciesGetCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionInstantSnapshotsTestIamPermissionsCall) Context(ctx context.Context) *RegionInstantSnapshotsTestIamPermissionsCall {
+func (c *RegionNetworkFirewallPoliciesGetCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionInstantSnapshotsTestIamPermissionsCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionInstantSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *RegionNetworkFirewallPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionInstantSnapshots.testIamPermissions" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionInstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *FirewallPolicy.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionNetworkFirewallPoliciesGetCall) Do(opts ...googleapi.CallOption) (*FirewallPolicy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -18195,7 +22879,7 @@ func (c *RegionInstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.Call
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &FirewallPolicy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -18206,118 +22890,103 @@ func (c *RegionInstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.Call
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionInstantSnapshots.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkEndpointGroupsAttachNetworkEndpointsCall struct {
- s *Service
- project string
- region string
- networkEndpointGroup string
- regionnetworkendpointgroupsattachendpointsrequest *RegionNetworkEndpointGroupsAttachEndpointsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesGetAssociationCall struct {
+ s *Service
+ project string
+ region string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// AttachNetworkEndpoints: Attach a list of network endpoints to the specified
-// network endpoint group.
-//
-// - networkEndpointGroup: The name of the network endpoint group where you are
-// attaching network
+// GetAssociation: Gets an association with the specified name.
//
-// endpoints to. It should comply with RFC1035.
+// - firewallPolicy: Name of the firewall policy to which the queried
+// association belongs.
// - project: Project ID for this request.
-// - region: The name of the region where
-// you want to create the network endpoint group. It should comply
-// with
-//
-// RFC1035.
-func (r *RegionNetworkEndpointGroupsService) AttachNetworkEndpoints(project string, region string, networkEndpointGroup string, regionnetworkendpointgroupsattachendpointsrequest *RegionNetworkEndpointGroupsAttachEndpointsRequest) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall {
- c := &RegionNetworkEndpointGroupsAttachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) GetAssociation(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesGetAssociationCall {
+ c := &RegionNetworkFirewallPoliciesGetAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.networkEndpointGroup = networkEndpointGroup
- c.regionnetworkendpointgroupsattachendpointsrequest = regionnetworkendpointgroupsattachendpointsrequest
+ c.firewallPolicy = firewallPolicy
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) RequestId(requestId string) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall {
- c.urlParams_.Set("requestId", requestId)
+// Name sets the optional parameter "name": The name of the association to get
+// from the firewall policy.
+func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Name(name string) *RegionNetworkFirewallPoliciesGetAssociationCall {
+ c.urlParams_.Set("name", name)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall {
+func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionNetworkFirewallPoliciesGetAssociationCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetAssociationCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall {
+func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionnetworkendpointgroupsattachendpointsrequest)
- if err != nil {
- return nil, err
+func (c *RegionNetworkFirewallPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getAssociation", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkEndpointGroups.attachNetworkEndpoints" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.getAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *FirewallPolicyAssociation.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyAssociation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -18336,7 +23005,7 @@ func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googl
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &FirewallPolicyAssociation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -18347,110 +23016,93 @@ func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googl
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkEndpointGroupsDeleteCall struct {
- s *Service
- project string
- region string
- networkEndpointGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified network endpoint group. Note that the NEG
-// cannot be
-// deleted if it is configured as a backend of a backend service.
-//
-// - networkEndpointGroup: The name of the network endpoint group to delete. It
-// should comply with
+// GetEffectiveFirewalls: Returns the effective firewalls on a given network.
//
-// RFC1035.
-// - project: Project ID for this request.
-// - region: The name of the region where
-// the network endpoint group is located. It should comply with RFC1035.
-func (r *RegionNetworkEndpointGroupsService) Delete(project string, region string, networkEndpointGroup string) *RegionNetworkEndpointGroupsDeleteCall {
- c := &RegionNetworkEndpointGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - network: Network reference.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) GetEffectiveFirewalls(project string, region string, network string) *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall {
+ c := &RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.networkEndpointGroup = networkEndpointGroup
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkEndpointGroupsDeleteCall) RequestId(requestId string) *RegionNetworkEndpointGroupsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.urlParams_.Set("network", network)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkEndpointGroupsDeleteCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsDeleteCall {
+func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkEndpointGroupsDeleteCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsDeleteCall {
+func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkEndpointGroupsDeleteCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkEndpointGroups.delete" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse.ServerResponse.He
+// ader or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -18469,7 +23121,7 @@ func (c *RegionNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -18480,118 +23132,103 @@ func (c *RegionNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkEndpointGroupsDetachNetworkEndpointsCall struct {
- s *Service
- project string
- region string
- networkEndpointGroup string
- regionnetworkendpointgroupsdetachendpointsrequest *RegionNetworkEndpointGroupsDetachEndpointsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesGetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// DetachNetworkEndpoints: Detach the network endpoint from the specified
-// network endpoint group.
-//
-// - networkEndpointGroup: The name of the network endpoint group you are
-// detaching network
-//
-// endpoints from. It should comply with RFC1035.
-// - project: Project ID for this request.
-// - region: The name of the region where
-// the network endpoint group is located. It should comply with
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// RFC1035.
-func (r *RegionNetworkEndpointGroupsService) DetachNetworkEndpoints(project string, region string, networkEndpointGroup string, regionnetworkendpointgroupsdetachendpointsrequest *RegionNetworkEndpointGroupsDetachEndpointsRequest) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall {
- c := &RegionNetworkEndpointGroupsDetachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionNetworkFirewallPoliciesService) GetIamPolicy(project string, region string, resource string) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
+ c := &RegionNetworkFirewallPoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.networkEndpointGroup = networkEndpointGroup
- c.regionnetworkendpointgroupsdetachendpointsrequest = regionnetworkendpointgroupsdetachendpointsrequest
+ c.resource = resource
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-// end_interface: MixerMutationRequestBuilder
-func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) RequestId(requestId string) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall {
- c.urlParams_.Set("requestId", requestId)
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall {
+func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall {
+func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionnetworkendpointgroupsdetachendpointsrequest)
- if err != nil {
- return nil, err
+func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkEndpointGroups.detachNetworkEndpoints" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -18610,7 +23247,7 @@ func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googl
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -18621,40 +23258,46 @@ func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googl
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkEndpointGroupsGetCall struct {
- s *Service
- project string
- region string
- networkEndpointGroup string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesGetRuleCall struct {
+ s *Service
+ project string
+ region string
+ firewallPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified network endpoint group.
+// GetRule: Gets a rule of the specified priority.
//
-// - networkEndpointGroup: The name of the network endpoint group. It should
-// comply with RFC1035.
+// - firewallPolicy: Name of the firewall policy to which the queried rule
+// belongs.
// - project: Project ID for this request.
-// - region: The name of the region where
-// the network endpoint group is located. It should comply with RFC1035.
-func (r *RegionNetworkEndpointGroupsService) Get(project string, region string, networkEndpointGroup string) *RegionNetworkEndpointGroupsGetCall {
- c := &RegionNetworkEndpointGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) GetRule(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesGetRuleCall {
+ c := &RegionNetworkFirewallPoliciesGetRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.networkEndpointGroup = networkEndpointGroup
+ c.firewallPolicy = firewallPolicy
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// get from the firewall policy.
+func (c *RegionNetworkFirewallPoliciesGetRuleCall) Priority(priority int64) *RegionNetworkFirewallPoliciesGetRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkEndpointGroupsGetCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsGetCall {
+func (c *RegionNetworkFirewallPoliciesGetRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -18662,34 +23305,34 @@ func (c *RegionNetworkEndpointGroupsGetCall) Fields(s ...googleapi.Field) *Regio
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionNetworkEndpointGroupsGetCall) IfNoneMatch(entityTag string) *RegionNetworkEndpointGroupsGetCall {
+func (c *RegionNetworkFirewallPoliciesGetRuleCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetRuleCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkEndpointGroupsGetCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsGetCall {
+func (c *RegionNetworkFirewallPoliciesGetRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkEndpointGroupsGetCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesGetRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNetworkFirewallPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -18697,21 +23340,21 @@ func (c *RegionNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Respon
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkEndpointGroups.get" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.getRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEndpointGroup.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *FirewallPolicyRule.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RegionNetworkEndpointGroupsGetCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroup, error) {
+func (c *RegionNetworkFirewallPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyRule, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -18730,7 +23373,7 @@ func (c *RegionNetworkEndpointGroupsGetCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEndpointGroup{
+ ret := &FirewallPolicyRule{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -18741,55 +23384,36 @@ func (c *RegionNetworkEndpointGroupsGetCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkEndpointGroupsInsertCall struct {
- s *Service
- project string
- region string
- networkendpointgroup *NetworkEndpointGroup
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesInsertCall struct {
+ s *Service
+ project string
+ region string
+ firewallpolicy *FirewallPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a network endpoint group in the specified project using
-// the
-// parameters that are included in the request.
-//
-// Note: Use the following APIs to manage network endpoint groups:
-//
-// -
-// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity
-// NEGs): zonal
-// API
-// -
-// To manage NEGs with regional scope (such as regional internet NEGs,
-// serverless NEGs, Private Service Connect NEGs): regional
-// API
-// -
-// To manage NEGs with global scope (such as global internet NEGs):global
-// API
-//
-// - project: Project ID for this request.
-// - region: The name of the region where
-// you want to create the network endpoint group. It should comply
-// with
+// Insert: Creates a new network firewall policy in the specified project and
+// region.
//
-// RFC1035.
-func (r *RegionNetworkEndpointGroupsService) Insert(project string, region string, networkendpointgroup *NetworkEndpointGroup) *RegionNetworkEndpointGroupsInsertCall {
- c := &RegionNetworkEndpointGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) Insert(project string, region string, firewallpolicy *FirewallPolicy) *RegionNetworkFirewallPoliciesInsertCall {
+ c := &RegionNetworkFirewallPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.networkendpointgroup = networkendpointgroup
+ c.firewallpolicy = firewallpolicy
return c
}
// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
+// identify requests. Specify a unique request ID
+// so that if you must retry your request, the server will know to ignore
// the
// request if it has already been completed.
//
@@ -18804,7 +23428,7 @@ func (r *RegionNetworkEndpointGroupsService) Insert(project string, region strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkEndpointGroupsInsertCall) RequestId(requestId string) *RegionNetworkEndpointGroupsInsertCall {
+func (c *RegionNetworkFirewallPoliciesInsertCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -18812,35 +23436,35 @@ func (c *RegionNetworkEndpointGroupsInsertCall) RequestId(requestId string) *Reg
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkEndpointGroupsInsertCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsInsertCall {
+func (c *RegionNetworkFirewallPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkEndpointGroupsInsertCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsInsertCall {
+func (c *RegionNetworkFirewallPoliciesInsertCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkEndpointGroupsInsertCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networkendpointgroup)
+func (c *RegionNetworkFirewallPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -18851,16 +23475,16 @@ func (c *RegionNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Res
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkEndpointGroups.insert" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkEndpointGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -18890,11 +23514,11 @@ func (c *RegionNetworkEndpointGroupsInsertCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkEndpointGroupsListCall struct {
+type RegionNetworkFirewallPoliciesListCall struct {
s *Service
project string
region string
@@ -18904,16 +23528,13 @@ type RegionNetworkEndpointGroupsListCall struct {
header_ http.Header
}
-// List: Retrieves the list of regional network endpoint groups available to
-// the
-// specified project in the given region.
+// List: Lists all the network firewall policies that have been configured
+// for the specified project in the given region.
//
-// - project: Project ID for this request.
-// - region: The name of theregion
-// where the network endpoint group is located. It should comply with
-// RFC1035.
-func (r *RegionNetworkEndpointGroupsService) List(project string, region string) *RegionNetworkEndpointGroupsListCall {
- c := &RegionNetworkEndpointGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) List(project string, region string) *RegionNetworkFirewallPoliciesListCall {
+ c := &RegionNetworkFirewallPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -18986,7 +23607,7 @@ func (r *RegionNetworkEndpointGroupsService) List(project string, region string)
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionNetworkEndpointGroupsListCall) Filter(filter string) *RegionNetworkEndpointGroupsListCall {
+func (c *RegionNetworkFirewallPoliciesListCall) Filter(filter string) *RegionNetworkFirewallPoliciesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -18998,7 +23619,7 @@ func (c *RegionNetworkEndpointGroupsListCall) Filter(filter string) *RegionNetwo
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionNetworkEndpointGroupsListCall) MaxResults(maxResults int64) *RegionNetworkEndpointGroupsListCall {
+func (c *RegionNetworkFirewallPoliciesListCall) MaxResults(maxResults int64) *RegionNetworkFirewallPoliciesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -19018,7 +23639,7 @@ func (c *RegionNetworkEndpointGroupsListCall) MaxResults(maxResults int64) *Regi
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionNetworkEndpointGroupsListCall) OrderBy(orderBy string) *RegionNetworkEndpointGroupsListCall {
+func (c *RegionNetworkFirewallPoliciesListCall) OrderBy(orderBy string) *RegionNetworkFirewallPoliciesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -19027,30 +23648,15 @@ func (c *RegionNetworkEndpointGroupsListCall) OrderBy(orderBy string) *RegionNet
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionNetworkEndpointGroupsListCall) PageToken(pageToken string) *RegionNetworkEndpointGroupsListCall {
+func (c *RegionNetworkFirewallPoliciesListCall) PageToken(pageToken string) *RegionNetworkFirewallPoliciesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionNetworkEndpointGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionNetworkEndpointGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkEndpointGroupsListCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsListCall {
+func (c *RegionNetworkFirewallPoliciesListCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -19058,34 +23664,34 @@ func (c *RegionNetworkEndpointGroupsListCall) Fields(s ...googleapi.Field) *Regi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionNetworkEndpointGroupsListCall) IfNoneMatch(entityTag string) *RegionNetworkEndpointGroupsListCall {
+func (c *RegionNetworkFirewallPoliciesListCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkEndpointGroupsListCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsListCall {
+func (c *RegionNetworkFirewallPoliciesListCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkEndpointGroupsListCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNetworkFirewallPoliciesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -19096,17 +23702,17 @@ func (c *RegionNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Respo
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkEndpointGroups.list" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEndpointGroupList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionNetworkEndpointGroupsListCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupList, error) {
+// *FirewallPolicyList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionNetworkFirewallPoliciesListCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -19125,7 +23731,7 @@ func (c *RegionNetworkEndpointGroupsListCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEndpointGroupList{
+ ret := &FirewallPolicyList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -19136,14 +23742,14 @@ func (c *RegionNetworkEndpointGroupsListCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionNetworkEndpointGroupsListCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupList) error) error {
+func (c *RegionNetworkFirewallPoliciesListCall) Pages(ctx context.Context, f func(*FirewallPolicyList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -19161,212 +23767,106 @@ func (c *RegionNetworkEndpointGroupsListCall) Pages(ctx context.Context, f func(
}
}
-type RegionNetworkEndpointGroupsListNetworkEndpointsCall struct {
- s *Service
- project string
- region string
- networkEndpointGroup string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesPatchCall struct {
+ s *Service
+ project string
+ region string
+ firewallPolicy string
+ firewallpolicy *FirewallPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListNetworkEndpoints: Lists the network endpoints in the specified network
-// endpoint group.
+// Patch: Patches the specified network firewall policy.
//
-// - networkEndpointGroup: The name of the network endpoint group from which
-// you want to generate a
-// list of included network endpoints. It should comply with RFC1035.
-// - project: Project ID for this request.
-// - region: The name of theregion
-// where the network endpoint group is located. It should comply with
-// RFC1035.
-func (r *RegionNetworkEndpointGroupsService) ListNetworkEndpoints(project string, region string, networkEndpointGroup string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
- c := &RegionNetworkEndpointGroupsListNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - firewallPolicy: Name of the firewall policy to update.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionNetworkFirewallPoliciesService) Patch(project string, region string, firewallPolicy string, firewallpolicy *FirewallPolicy) *RegionNetworkFirewallPoliciesPatchCall {
+ c := &RegionNetworkFirewallPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.networkEndpointGroup = networkEndpointGroup
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Filter(filter string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) MaxResults(maxResults int64) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ c.firewallPolicy = firewallPolicy
+ c.firewallpolicy = firewallpolicy
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) OrderBy(orderBy string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) PageToken(pageToken string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionNetworkFirewallPoliciesPatchCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesPatchCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
+func (c *RegionNetworkFirewallPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsListNetworkEndpointsCall {
+func (c *RegionNetworkFirewallPoliciesPatchCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNetworkFirewallPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "networkEndpointGroup": c.networkEndpointGroup,
+ "project": c.project,
+ "region": c.region,
+ "firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.listNetworkEndpoints", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkEndpointGroups.listNetworkEndpoints" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NetworkEndpointGroupsListNetworkEndpoints.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupsListNetworkEndpoints, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionNetworkFirewallPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -19385,7 +23885,7 @@ func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googlea
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NetworkEndpointGroupsListNetworkEndpoints{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -19396,32 +23896,11 @@ func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googlea
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkEndpointGroups.listNetworkEndpoints", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupsListNetworkEndpoints) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionNetworkFirewallPoliciesAddAssociationCall struct {
+type RegionNetworkFirewallPoliciesPatchAssociationCall struct {
s *Service
project string
region string
@@ -19432,14 +23911,14 @@ type RegionNetworkFirewallPoliciesAddAssociationCall struct {
header_ http.Header
}
-// AddAssociation: Inserts an association for the specified network firewall
+// PatchAssociation: Updates an association for the specified network firewall
// policy.
//
// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) AddAssociation(project string, region string, firewallPolicy string, firewallpolicyassociation *FirewallPolicyAssociation) *RegionNetworkFirewallPoliciesAddAssociationCall {
- c := &RegionNetworkFirewallPoliciesAddAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionNetworkFirewallPoliciesService) PatchAssociation(project string, region string, firewallPolicy string, firewallpolicyassociation *FirewallPolicyAssociation) *RegionNetworkFirewallPoliciesPatchAssociationCall {
+ c := &RegionNetworkFirewallPoliciesPatchAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.firewallPolicy = firewallPolicy
@@ -19447,17 +23926,6 @@ func (r *RegionNetworkFirewallPoliciesService) AddAssociation(project string, re
return c
}
-// ReplaceExistingAssociation sets the optional parameter
-// "replaceExistingAssociation": Indicates whether or not to replace it if an
-// association already exists.
-// This is false by default, in which case an error will be returned if
-// an
-// association already exists.
-func (c *RegionNetworkFirewallPoliciesAddAssociationCall) ReplaceExistingAssociation(replaceExistingAssociation bool) *RegionNetworkFirewallPoliciesAddAssociationCall {
- c.urlParams_.Set("replaceExistingAssociation", fmt.Sprint(replaceExistingAssociation))
- return c
-}
-
// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore
@@ -19475,7 +23943,7 @@ func (c *RegionNetworkFirewallPoliciesAddAssociationCall) ReplaceExistingAssocia
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesAddAssociationCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesAddAssociationCall {
+func (c *RegionNetworkFirewallPoliciesPatchAssociationCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesPatchAssociationCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -19483,35 +23951,35 @@ func (c *RegionNetworkFirewallPoliciesAddAssociationCall) RequestId(requestId st
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesAddAssociationCall {
+func (c *RegionNetworkFirewallPoliciesPatchAssociationCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesPatchAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesAddAssociationCall {
+func (c *RegionNetworkFirewallPoliciesPatchAssociationCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesPatchAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesPatchAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *RegionNetworkFirewallPoliciesPatchAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyassociation)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -19523,16 +23991,16 @@ func (c *RegionNetworkFirewallPoliciesAddAssociationCall) doRequest(alt string)
"region": c.region,
"firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.addAssociation", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patchAssociation", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.addAssociation" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.patchAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesPatchAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -19562,11 +24030,11 @@ func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.addAssociation", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patchAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesAddRuleCall struct {
+type RegionNetworkFirewallPoliciesPatchRuleCall struct {
s *Service
project string
region string
@@ -19577,13 +24045,13 @@ type RegionNetworkFirewallPoliciesAddRuleCall struct {
header_ http.Header
}
-// AddRule: Inserts a rule into a network firewall policy.
+// PatchRule: Patches a rule of the specified priority.
//
// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) AddRule(project string, region string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *RegionNetworkFirewallPoliciesAddRuleCall {
- c := &RegionNetworkFirewallPoliciesAddRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionNetworkFirewallPoliciesService) PatchRule(project string, region string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *RegionNetworkFirewallPoliciesPatchRuleCall {
+ c := &RegionNetworkFirewallPoliciesPatchRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.firewallPolicy = firewallPolicy
@@ -19591,21 +24059,10 @@ func (r *RegionNetworkFirewallPoliciesService) AddRule(project string, region st
return c
}
-// MaxPriority sets the optional parameter "maxPriority": When rule.priority is
-// not specified, auto choose a unused priority betweenminPriority and
-// maxPriority>.
-// This field is exclusive with rule.priority.
-func (c *RegionNetworkFirewallPoliciesAddRuleCall) MaxPriority(maxPriority int64) *RegionNetworkFirewallPoliciesAddRuleCall {
- c.urlParams_.Set("maxPriority", fmt.Sprint(maxPriority))
- return c
-}
-
-// MinPriority sets the optional parameter "minPriority": When rule.priority is
-// not specified, auto choose a unused priority betweenminPriority and
-// maxPriority>.
-// This field is exclusive with rule.priority.
-func (c *RegionNetworkFirewallPoliciesAddRuleCall) MinPriority(minPriority int64) *RegionNetworkFirewallPoliciesAddRuleCall {
- c.urlParams_.Set("minPriority", fmt.Sprint(minPriority))
+// Priority sets the optional parameter "priority": The priority of the rule to
+// patch.
+func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Priority(priority int64) *RegionNetworkFirewallPoliciesPatchRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
@@ -19626,7 +24083,7 @@ func (c *RegionNetworkFirewallPoliciesAddRuleCall) MinPriority(minPriority int64
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesAddRuleCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesAddRuleCall {
+func (c *RegionNetworkFirewallPoliciesPatchRuleCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesPatchRuleCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -19634,35 +24091,35 @@ func (c *RegionNetworkFirewallPoliciesAddRuleCall) RequestId(requestId string) *
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesAddRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesAddRuleCall {
+func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesPatchRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesAddRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesAddRuleCall {
+func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesPatchRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesAddRuleCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *RegionNetworkFirewallPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -19674,16 +24131,16 @@ func (c *RegionNetworkFirewallPoliciesAddRuleCall) doRequest(alt string) (*http.
"region": c.region,
"firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.addRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patchRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.addRule" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.patchRule" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -19713,11 +24170,11 @@ func (c *RegionNetworkFirewallPoliciesAddRuleCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.addRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patchRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesCloneRulesCall struct {
+type RegionNetworkFirewallPoliciesRemoveAssociationCall struct {
s *Service
project string
region string
@@ -19727,19 +24184,27 @@ type RegionNetworkFirewallPoliciesCloneRulesCall struct {
header_ http.Header
}
-// CloneRules: Copies rules to the specified network firewall policy.
+// RemoveAssociation: Removes an association for the specified network firewall
+// policy.
//
// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) CloneRules(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesCloneRulesCall {
- c := &RegionNetworkFirewallPoliciesCloneRulesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionNetworkFirewallPoliciesService) RemoveAssociation(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
+ c := &RegionNetworkFirewallPoliciesRemoveAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.firewallPolicy = firewallPolicy
return c
}
+// Name sets the optional parameter "name": Name for the association that will
+// be removed.
+func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Name(name string) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
+ c.urlParams_.Set("name", name)
+ return c
+}
+
// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore
@@ -19757,46 +24222,39 @@ func (r *RegionNetworkFirewallPoliciesService) CloneRules(project string, region
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesCloneRulesCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesCloneRulesCall {
+func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// SourceFirewallPolicy sets the optional parameter "sourceFirewallPolicy": The
-// firewall policy from which to copy rules.
-func (c *RegionNetworkFirewallPoliciesCloneRulesCall) SourceFirewallPolicy(sourceFirewallPolicy string) *RegionNetworkFirewallPoliciesCloneRulesCall {
- c.urlParams_.Set("sourceFirewallPolicy", sourceFirewallPolicy)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesCloneRulesCall {
+func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesCloneRulesCall {
+func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesCloneRulesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, nil)
if err != nil {
@@ -19808,16 +24266,16 @@ func (c *RegionNetworkFirewallPoliciesCloneRulesCall) doRequest(alt string) (*ht
"region": c.region,
"firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.cloneRules", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.removeAssociation", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.cloneRules" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.removeAssociation" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -19847,11 +24305,11 @@ func (c *RegionNetworkFirewallPoliciesCloneRulesCall) Do(opts ...googleapi.CallO
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.cloneRules", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.removeAssociation", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesDeleteCall struct {
+type RegionNetworkFirewallPoliciesRemoveRuleCall struct {
s *Service
project string
region string
@@ -19861,19 +24319,26 @@ type RegionNetworkFirewallPoliciesDeleteCall struct {
header_ http.Header
}
-// Delete: Deletes the specified network firewall policy.
+// RemoveRule: Deletes a rule of the specified priority.
//
-// - firewallPolicy: Name of the firewall policy to delete.
+// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) Delete(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesDeleteCall {
- c := &RegionNetworkFirewallPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionNetworkFirewallPoliciesService) RemoveRule(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesRemoveRuleCall {
+ c := &RegionNetworkFirewallPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
c.firewallPolicy = firewallPolicy
return c
}
+// Priority sets the optional parameter "priority": The priority of the rule to
+// remove from the firewall policy.
+func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Priority(priority int64) *RegionNetworkFirewallPoliciesRemoveRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
+ return c
+}
+
// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore
@@ -19891,7 +24356,7 @@ func (r *RegionNetworkFirewallPoliciesService) Delete(project string, region str
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesDeleteCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesDeleteCall {
+func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesRemoveRuleCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -19899,33 +24364,33 @@ func (c *RegionNetworkFirewallPoliciesDeleteCall) RequestId(requestId string) *R
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesDeleteCall {
+func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesRemoveRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesDeleteCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesDeleteCall {
+func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesRemoveRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesDeleteCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
@@ -19935,16 +24400,16 @@ func (c *RegionNetworkFirewallPoliciesDeleteCall) doRequest(alt string) (*http.R
"region": c.region,
"firewallPolicy": c.firewallPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.removeRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.delete" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.removeRule" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -19974,94 +24439,90 @@ func (c *RegionNetworkFirewallPoliciesDeleteCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.removeRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesGetCall struct {
- s *Service
- project string
- region string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified network firewall policy.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - firewallPolicy: Name of the firewall policy to get.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) Get(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesGetCall {
- c := &RegionNetworkFirewallPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionNetworkFirewallPoliciesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionNetworkFirewallPoliciesSetIamPolicyCall {
+ c := &RegionNetworkFirewallPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.firewallPolicy = firewallPolicy
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesGetCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetCall {
+func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionNetworkFirewallPoliciesGetCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesGetCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetCall {
+func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesGetCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.get" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicy.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesGetCall) Do(opts ...googleapi.CallOption) (*FirewallPolicy, error) {
+func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -20080,7 +24541,7 @@ func (c *RegionNetworkFirewallPoliciesGetCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicy{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -20091,103 +24552,90 @@ func (c *RegionNetworkFirewallPoliciesGetCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesGetAssociationCall struct {
- s *Service
- project string
- region string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionNetworkFirewallPoliciesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetAssociation: Gets an association with the specified name.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - firewallPolicy: Name of the firewall policy to which the queried
-// association belongs.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) GetAssociation(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesGetAssociationCall {
- c := &RegionNetworkFirewallPoliciesGetAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionNetworkFirewallPoliciesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionNetworkFirewallPoliciesTestIamPermissionsCall {
+ c := &RegionNetworkFirewallPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.firewallPolicy = firewallPolicy
- return c
-}
-
-// Name sets the optional parameter "name": The name of the association to get
-// from the firewall policy.
-func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Name(name string) *RegionNetworkFirewallPoliciesGetAssociationCall {
- c.urlParams_.Set("name", name)
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetAssociationCall {
+func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionNetworkFirewallPoliciesGetAssociationCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetAssociationCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetAssociationCall {
+func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Header() http.Header {
+func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getAssociation", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.getAssociation" call.
+// Do executes the "compute.regionNetworkFirewallPolicies.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicyAssociation.ServerResponse.Header or (if a response was
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyAssociation, error) {
+func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -20206,7 +24654,7 @@ func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Do(opts ...googleapi.C
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicyAssociation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -20217,37 +24665,173 @@ func (c *RegionNetworkFirewallPoliciesGetAssociationCall) Do(opts ...googleapi.C
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getAssociation", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall struct {
+type RegionNotificationEndpointsAggregatedListCall struct {
s *Service
project string
- region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// GetEffectiveFirewalls: Returns the effective firewalls on a given network.
+// AggregatedList: Retrieves the list of all NotificationEndpoint
+// resources,
+// regional and global, available to the specified project.
//
-// - network: Network reference.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) GetEffectiveFirewalls(project string, region string, network string) *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall {
- c := &RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Name of the project scoping this request.
+func (r *RegionNotificationEndpointsService) AggregatedList(project string) *RegionNotificationEndpointsAggregatedListCall {
+ c := &RegionNotificationEndpointsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.urlParams_.Set("network", network)
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionNotificationEndpointsAggregatedListCall) Filter(filter string) *RegionNotificationEndpointsAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *RegionNotificationEndpointsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionNotificationEndpointsAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionNotificationEndpointsAggregatedListCall) MaxResults(maxResults int64) *RegionNotificationEndpointsAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionNotificationEndpointsAggregatedListCall) OrderBy(orderBy string) *RegionNotificationEndpointsAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionNotificationEndpointsAggregatedListCall) PageToken(pageToken string) *RegionNotificationEndpointsAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *RegionNotificationEndpointsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionNotificationEndpointsAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall {
+func (c *RegionNotificationEndpointsAggregatedListCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -20255,34 +24839,34 @@ func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Fields(s ...goo
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall {
+func (c *RegionNotificationEndpointsAggregatedListCall) IfNoneMatch(entityTag string) *RegionNotificationEndpointsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall {
+func (c *RegionNotificationEndpointsAggregatedListCall) Context(ctx context.Context) *RegionNotificationEndpointsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Header() http.Header {
+func (c *RegionNotificationEndpointsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNotificationEndpointsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/notificationEndpoints")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -20291,19 +24875,18 @@ func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) doRequest(alt s
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls" call.
+// Do executes the "compute.regionNotificationEndpoints.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse.ServerResponse.He
-// ader or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Do(opts ...googleapi.CallOption) (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse, error) {
+// *NotificationEndpointAggregatedList.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionNotificationEndpointsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NotificationEndpointAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -20322,7 +24905,7 @@ func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Do(opts ...goog
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse{
+ ret := &NotificationEndpointAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -20333,103 +24916,125 @@ func (c *RegionNetworkFirewallPoliciesGetEffectiveFirewallsCall) Do(opts ...goog
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesGetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionNotificationEndpointsAggregatedListCall) Pages(ctx context.Context, f func(*NotificationEndpointAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+type RegionNotificationEndpointsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ notificationEndpoint string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified NotificationEndpoint in the given region
//
+// - notificationEndpoint: Name of the NotificationEndpoint resource to delete.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionNetworkFirewallPoliciesService) GetIamPolicy(project string, region string, resource string) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
- c := &RegionNetworkFirewallPoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionNotificationEndpointsService) Delete(project string, region string, notificationEndpoint string) *RegionNotificationEndpointsDeleteCall {
+ c := &RegionNotificationEndpointsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
+ c.notificationEndpoint = notificationEndpoint
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionNotificationEndpointsDeleteCall) RequestId(requestId string) *RegionNotificationEndpointsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
+func (c *RegionNotificationEndpointsDeleteCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetIamPolicyCall {
+func (c *RegionNotificationEndpointsDeleteCall) Context(ctx context.Context) *RegionNotificationEndpointsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Header() http.Header {
+func (c *RegionNotificationEndpointsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RegionNotificationEndpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "notificationEndpoint": c.notificationEndpoint,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.getIamPolicy" call.
+// Do executes the "compute.regionNotificationEndpoints.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *RegionNotificationEndpointsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -20448,7 +25053,7 @@ func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -20459,46 +25064,39 @@ func (c *RegionNetworkFirewallPoliciesGetIamPolicyCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesGetRuleCall struct {
- s *Service
- project string
- region string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionNotificationEndpointsGetCall struct {
+ s *Service
+ project string
+ region string
+ notificationEndpoint string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// GetRule: Gets a rule of the specified priority.
+// Get: Returns the specified NotificationEndpoint resource in the given
+// region.
//
-// - firewallPolicy: Name of the firewall policy to which the queried rule
-// belongs.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) GetRule(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesGetRuleCall {
- c := &RegionNetworkFirewallPoliciesGetRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - notificationEndpoint: Name of the NotificationEndpoint resource to return.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+func (r *RegionNotificationEndpointsService) Get(project string, region string, notificationEndpoint string) *RegionNotificationEndpointsGetCall {
+ c := &RegionNotificationEndpointsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.firewallPolicy = firewallPolicy
- return c
-}
-
-// Priority sets the optional parameter "priority": The priority of the rule to
-// get from the firewall policy.
-func (c *RegionNetworkFirewallPoliciesGetRuleCall) Priority(priority int64) *RegionNetworkFirewallPoliciesGetRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+ c.notificationEndpoint = notificationEndpoint
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesGetRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesGetRuleCall {
+func (c *RegionNotificationEndpointsGetCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -20506,34 +25104,34 @@ func (c *RegionNetworkFirewallPoliciesGetRuleCall) Fields(s ...googleapi.Field)
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionNetworkFirewallPoliciesGetRuleCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesGetRuleCall {
+func (c *RegionNotificationEndpointsGetCall) IfNoneMatch(entityTag string) *RegionNotificationEndpointsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesGetRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesGetRuleCall {
+func (c *RegionNotificationEndpointsGetCall) Context(ctx context.Context) *RegionNotificationEndpointsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesGetRuleCall) Header() http.Header {
+func (c *RegionNotificationEndpointsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNotificationEndpointsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -20541,21 +25139,21 @@ func (c *RegionNetworkFirewallPoliciesGetRuleCall) doRequest(alt string) (*http.
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
+ "notificationEndpoint": c.notificationEndpoint,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.getRule" call.
+// Do executes the "compute.regionNotificationEndpoints.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicyRule.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *NotificationEndpoint.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RegionNetworkFirewallPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyRule, error) {
+func (c *RegionNotificationEndpointsGetCall) Do(opts ...googleapi.CallOption) (*NotificationEndpoint, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -20574,7 +25172,7 @@ func (c *RegionNetworkFirewallPoliciesGetRuleCall) Do(opts ...googleapi.CallOpti
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicyRule{
+ ret := &NotificationEndpoint{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -20585,36 +25183,37 @@ func (c *RegionNetworkFirewallPoliciesGetRuleCall) Do(opts ...googleapi.CallOpti
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.getRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesInsertCall struct {
- s *Service
- project string
- region string
- firewallpolicy *FirewallPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionNotificationEndpointsInsertCall struct {
+ s *Service
+ project string
+ region string
+ notificationendpoint *NotificationEndpoint
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a new network firewall policy in the specified project and
-// region.
+// Insert: Create a NotificationEndpoint in the specified project in the given
+// region
+// using the parameters that are included in the request.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) Insert(project string, region string, firewallpolicy *FirewallPolicy) *RegionNetworkFirewallPoliciesInsertCall {
- c := &RegionNetworkFirewallPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionNotificationEndpointsService) Insert(project string, region string, notificationendpoint *NotificationEndpoint) *RegionNotificationEndpointsInsertCall {
+ c := &RegionNotificationEndpointsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.firewallpolicy = firewallpolicy
+ c.notificationendpoint = notificationendpoint
return c
}
// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID
-// so that if you must retry your request, the server will know to ignore
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
// the
// request if it has already been completed.
//
@@ -20629,7 +25228,7 @@ func (r *RegionNetworkFirewallPoliciesService) Insert(project string, region str
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesInsertCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesInsertCall {
+func (c *RegionNotificationEndpointsInsertCall) RequestId(requestId string) *RegionNotificationEndpointsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -20637,35 +25236,35 @@ func (c *RegionNetworkFirewallPoliciesInsertCall) RequestId(requestId string) *R
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesInsertCall {
+func (c *RegionNotificationEndpointsInsertCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesInsertCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesInsertCall {
+func (c *RegionNotificationEndpointsInsertCall) Context(ctx context.Context) *RegionNotificationEndpointsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesInsertCall) Header() http.Header {
+func (c *RegionNotificationEndpointsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
+func (c *RegionNotificationEndpointsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.notificationendpoint)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -20676,16 +25275,16 @@ func (c *RegionNetworkFirewallPoliciesInsertCall) doRequest(alt string) (*http.R
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.insert" call.
+// Do executes the "compute.regionNotificationEndpoints.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionNotificationEndpointsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -20715,11 +25314,11 @@ func (c *RegionNetworkFirewallPoliciesInsertCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesListCall struct {
+type RegionNotificationEndpointsListCall struct {
s *Service
project string
region string
@@ -20729,13 +25328,12 @@ type RegionNetworkFirewallPoliciesListCall struct {
header_ http.Header
}
-// List: Lists all the network firewall policies that have been configured
-// for the specified project in the given region.
+// List: Lists the NotificationEndpoints for a project in the given region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) List(project string, region string) *RegionNetworkFirewallPoliciesListCall {
- c := &RegionNetworkFirewallPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionNotificationEndpointsService) List(project string, region string) *RegionNotificationEndpointsListCall {
+ c := &RegionNotificationEndpointsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -20808,7 +25406,7 @@ func (r *RegionNetworkFirewallPoliciesService) List(project string, region strin
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionNetworkFirewallPoliciesListCall) Filter(filter string) *RegionNetworkFirewallPoliciesListCall {
+func (c *RegionNotificationEndpointsListCall) Filter(filter string) *RegionNotificationEndpointsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -20820,7 +25418,7 @@ func (c *RegionNetworkFirewallPoliciesListCall) Filter(filter string) *RegionNet
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionNetworkFirewallPoliciesListCall) MaxResults(maxResults int64) *RegionNetworkFirewallPoliciesListCall {
+func (c *RegionNotificationEndpointsListCall) MaxResults(maxResults int64) *RegionNotificationEndpointsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -20840,7 +25438,7 @@ func (c *RegionNetworkFirewallPoliciesListCall) MaxResults(maxResults int64) *Re
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionNetworkFirewallPoliciesListCall) OrderBy(orderBy string) *RegionNetworkFirewallPoliciesListCall {
+func (c *RegionNotificationEndpointsListCall) OrderBy(orderBy string) *RegionNotificationEndpointsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -20849,30 +25447,15 @@ func (c *RegionNetworkFirewallPoliciesListCall) OrderBy(orderBy string) *RegionN
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionNetworkFirewallPoliciesListCall) PageToken(pageToken string) *RegionNetworkFirewallPoliciesListCall {
+func (c *RegionNotificationEndpointsListCall) PageToken(pageToken string) *RegionNotificationEndpointsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionNetworkFirewallPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionNetworkFirewallPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesListCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesListCall {
+func (c *RegionNotificationEndpointsListCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -20880,34 +25463,34 @@ func (c *RegionNetworkFirewallPoliciesListCall) Fields(s ...googleapi.Field) *Re
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionNetworkFirewallPoliciesListCall) IfNoneMatch(entityTag string) *RegionNetworkFirewallPoliciesListCall {
+func (c *RegionNotificationEndpointsListCall) IfNoneMatch(entityTag string) *RegionNotificationEndpointsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesListCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesListCall {
+func (c *RegionNotificationEndpointsListCall) Context(ctx context.Context) *RegionNotificationEndpointsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesListCall) Header() http.Header {
+func (c *RegionNotificationEndpointsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionNotificationEndpointsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -20918,17 +25501,17 @@ func (c *RegionNetworkFirewallPoliciesListCall) doRequest(alt string) (*http.Res
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.list" call.
+// Do executes the "compute.regionNotificationEndpoints.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *FirewallPolicyList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionNetworkFirewallPoliciesListCall) Do(opts ...googleapi.CallOption) (*FirewallPolicyList, error) {
+// *NotificationEndpointList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionNotificationEndpointsListCall) Do(opts ...googleapi.CallOption) (*NotificationEndpointList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -20947,7 +25530,7 @@ func (c *RegionNetworkFirewallPoliciesListCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &FirewallPolicyList{
+ ret := &NotificationEndpointList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -20958,14 +25541,14 @@ func (c *RegionNetworkFirewallPoliciesListCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionNetworkFirewallPoliciesListCall) Pages(ctx context.Context, f func(*FirewallPolicyList) error) error {
+func (c *RegionNotificationEndpointsListCall) Pages(ctx context.Context, f func(*NotificationEndpointList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -20983,225 +25566,64 @@ func (c *RegionNetworkFirewallPoliciesListCall) Pages(ctx context.Context, f fun
}
}
-type RegionNetworkFirewallPoliciesPatchCall struct {
- s *Service
- project string
- region string
- firewallPolicy string
- firewallpolicy *FirewallPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Patch: Patches the specified network firewall policy.
-//
-// - firewallPolicy: Name of the firewall policy to update.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) Patch(project string, region string, firewallPolicy string, firewallpolicy *FirewallPolicy) *RegionNetworkFirewallPoliciesPatchCall {
- c := &RegionNetworkFirewallPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.firewallPolicy = firewallPolicy
- c.firewallpolicy = firewallpolicy
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesPatchCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesPatchCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionNetworkFirewallPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesPatchCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesPatchCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesPatchCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionNetworkFirewallPoliciesPatchCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionNetworkFirewallPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicy)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "firewallPolicy": c.firewallPolicy,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionNetworkFirewallPolicies.patch" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patch", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionNetworkFirewallPoliciesPatchRuleCall struct {
- s *Service
- project string
- region string
- firewallPolicy string
- firewallpolicyrule *FirewallPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// PatchRule: Patches a rule of the specified priority.
-//
-// - firewallPolicy: Name of the firewall policy to update.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) PatchRule(project string, region string, firewallPolicy string, firewallpolicyrule *FirewallPolicyRule) *RegionNetworkFirewallPoliciesPatchRuleCall {
- c := &RegionNetworkFirewallPoliciesPatchRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.firewallPolicy = firewallPolicy
- c.firewallpolicyrule = firewallpolicyrule
- return c
-}
-
-// Priority sets the optional parameter "priority": The priority of the rule to
-// patch.
-func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Priority(priority int64) *RegionNetworkFirewallPoliciesPatchRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
- return c
+type RegionNotificationEndpointsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesPatchRuleCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesPatchRuleCall {
- c.urlParams_.Set("requestId", requestId)
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionNotificationEndpointsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionNotificationEndpointsTestIamPermissionsCall {
+ c := &RegionNotificationEndpointsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesPatchRuleCall {
+func (c *RegionNotificationEndpointsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesPatchRuleCall {
+func (c *RegionNotificationEndpointsTestIamPermissionsCall) Context(ctx context.Context) *RegionNotificationEndpointsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Header() http.Header {
+func (c *RegionNotificationEndpointsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.firewallpolicyrule)
+func (c *RegionNotificationEndpointsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -21209,20 +25631,21 @@ func (c *RegionNetworkFirewallPoliciesPatchRuleCall) doRequest(alt string) (*htt
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patchRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.patchRule" call.
+// Do executes the "compute.regionNotificationEndpoints.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionNotificationEndpointsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -21241,7 +25664,7 @@ func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Do(opts ...googleapi.CallOp
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -21252,112 +25675,181 @@ func (c *RegionNetworkFirewallPoliciesPatchRuleCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.patchRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesRemoveAssociationCall struct {
- s *Service
- project string
- region string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionOperationsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ operationid string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// RemoveAssociation: Removes an association for the specified network firewall
-// policy.
+// Delete: Deletes the specified region-specific Operations resource.
//
-// - firewallPolicy: Name of the firewall policy to update.
+// - operation: Name of the Operations resource to delete, or its unique
+// numeric
+//
+// identifier.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) RemoveAssociation(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
- c := &RegionNetworkFirewallPoliciesRemoveAssociationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionOperationsService) Delete(project string, region string, operationid string) *RegionOperationsDeleteCall {
+ c := &RegionOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.firewallPolicy = firewallPolicy
+ c.operationid = operationid
return c
}
-// Name sets the optional parameter "name": Name for the association that will
-// be removed.
-func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Name(name string) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
- c.urlParams_.Set("name", name)
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionOperationsDeleteCall) Fields(s ...googleapi.Field) *RegionOperationsDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Context sets the context to be used in this call's Do method.
+func (c *RegionOperationsDeleteCall) Context(ctx context.Context) *RegionOperationsDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionOperationsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/operations/{operation}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("DELETE", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "operation": c.operationid,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionOperations.delete", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionOperations.delete" call.
+func (c *RegionOperationsDeleteCall) Do(opts ...googleapi.CallOption) error {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if err != nil {
+ return err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return gensupport.WrapError(err)
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionOperations.delete", "response", internallog.HTTPResponse(res, nil))
+ return nil
+}
+
+type RegionOperationsGetCall struct {
+ s *Service
+ project string
+ region string
+ operationid string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Retrieves the specified region-specific Operations resource.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// - operation: Name of the Operations resource to return, or its unique
+// numeric
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
- c.urlParams_.Set("requestId", requestId)
+// identifier.
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+func (r *RegionOperationsService) Get(project string, region string, operationid string) *RegionOperationsGetCall {
+ c := &RegionOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.operationid = operationid
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
+func (c *RegionOperationsGetCall) Fields(s ...googleapi.Field) *RegionOperationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionOperationsGetCall) IfNoneMatch(entityTag string) *RegionOperationsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesRemoveAssociationCall {
+func (c *RegionOperationsGetCall) Context(ctx context.Context) *RegionOperationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Header() http.Header {
+func (c *RegionOperationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionOperationsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/operations/{operation}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
+ "operation": c.operationid,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.removeAssociation", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionOperations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.removeAssociation" call.
+// Do executes the "compute.regionOperations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -21387,111 +25879,204 @@ func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Do(opts ...googleap
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.removeAssociation", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionOperations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesRemoveRuleCall struct {
- s *Service
- project string
- region string
- firewallPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionOperationsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// RemoveRule: Deletes a rule of the specified priority.
+// List: Retrieves a list of Operation resources contained within
+// the specified region.
//
-// - firewallPolicy: Name of the firewall policy to update.
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNetworkFirewallPoliciesService) RemoveRule(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesRemoveRuleCall {
- c := &RegionNetworkFirewallPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionOperationsService) List(project string, region string) *RegionOperationsListCall {
+ c := &RegionOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.firewallPolicy = firewallPolicy
return c
}
-// Priority sets the optional parameter "priority": The priority of the rule to
-// remove from the firewall policy.
-func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Priority(priority int64) *RegionNetworkFirewallPoliciesRemoveRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionOperationsListCall) Filter(filter string) *RegionOperationsListCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionOperationsListCall) MaxResults(maxResults int64) *RegionOperationsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesRemoveRuleCall {
- c.urlParams_.Set("requestId", requestId)
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionOperationsListCall) OrderBy(orderBy string) *RegionOperationsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionOperationsListCall) PageToken(pageToken string) *RegionOperationsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesRemoveRuleCall {
+func (c *RegionOperationsListCall) Fields(s ...googleapi.Field) *RegionOperationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionOperationsListCall) IfNoneMatch(entityTag string) *RegionOperationsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesRemoveRuleCall {
+func (c *RegionOperationsListCall) Context(ctx context.Context) *RegionOperationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Header() http.Header {
+func (c *RegionOperationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionOperationsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/operations")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "firewallPolicy": c.firewallPolicy,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.removeRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionOperations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.removeRule" call.
+// Do executes the "compute.regionOperations.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *OperationList.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -21510,7 +26095,7 @@ func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Do(opts ...googleapi.CallO
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &OperationList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -21521,90 +26106,128 @@ func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Do(opts ...googleapi.CallO
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.removeRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionOperations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionOperationsListCall) Pages(ctx context.Context, f func(*OperationList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+type RegionOperationsWaitCall struct {
+ s *Service
+ project string
+ region string
+ operationid string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Wait: Waits for the specified Operation resource to return as `DONE`
+// or for the request to approach the 2 minute deadline, and retrieves
+// the
+// specified Operation resource. This method differs from the
+// `GET` method in that it waits for no more than the default
+// deadline (2 minutes) and then returns the current state of the
+// operation,
+// which might be `DONE` or still in progress.
+//
+// This method is called on a best-effort basis. Specifically:
+//
+// - In uncommon cases, when the server is overloaded, the request might
+// return before the default deadline is reached, or might return after
+//
+// zero
+//
+// seconds.
+// - If the default deadline is reached, there is no guarantee that the
+// operation is actually done when the method returns. Be prepared to
+//
+// retry
+//
+// if the operation is not `DONE`.
+//
+// - operation: Name of the Operations resource to return, or its unique
+// numeric
//
+// identifier.
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionNetworkFirewallPoliciesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionNetworkFirewallPoliciesSetIamPolicyCall {
- c := &RegionNetworkFirewallPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionOperationsService) Wait(project string, region string, operationid string) *RegionOperationsWaitCall {
+ c := &RegionOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
+ c.operationid = operationid
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesSetIamPolicyCall {
+func (c *RegionOperationsWaitCall) Fields(s ...googleapi.Field) *RegionOperationsWaitCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesSetIamPolicyCall {
+func (c *RegionOperationsWaitCall) Context(ctx context.Context) *RegionOperationsWaitCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Header() http.Header {
+func (c *RegionOperationsWaitCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
- if err != nil {
- return nil, err
- }
+func (c *RegionOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/operations/{operation}/wait")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "operation": c.operationid,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionOperations.wait", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.setIamPolicy" call.
+// Do executes the "compute.regionOperations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *RegionOperationsWaitCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -21623,7 +26246,7 @@ func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -21634,68 +26257,74 @@ func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionOperations.wait", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNetworkFirewallPoliciesTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSecurityPoliciesAddRuleCall struct {
+ s *Service
+ project string
+ region string
+ securityPolicy string
+ securitypolicyrule *SecurityPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// AddRule: Inserts a rule into a security policy.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionNetworkFirewallPoliciesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionNetworkFirewallPoliciesTestIamPermissionsCall {
- c := &RegionNetworkFirewallPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+// - securityPolicy: Name of the security policy to update.
+func (r *RegionSecurityPoliciesService) AddRule(project string, region string, securityPolicy string, securitypolicyrule *SecurityPolicyRule) *RegionSecurityPoliciesAddRuleCall {
+ c := &RegionSecurityPoliciesAddRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.securityPolicy = securityPolicy
+ c.securitypolicyrule = securitypolicyrule
+ return c
+}
+
+// ValidateOnly sets the optional parameter "validateOnly": If true, the
+// request will not be committed.
+func (c *RegionSecurityPoliciesAddRuleCall) ValidateOnly(validateOnly bool) *RegionSecurityPoliciesAddRuleCall {
+ c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesTestIamPermissionsCall {
+func (c *RegionSecurityPoliciesAddRuleCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesAddRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesTestIamPermissionsCall {
+func (c *RegionSecurityPoliciesAddRuleCall) Context(ctx context.Context) *RegionSecurityPoliciesAddRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Header() http.Header {
+func (c *RegionSecurityPoliciesAddRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *RegionSecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -21703,21 +26332,20 @@ func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) doRequest(alt stri
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.addRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNetworkFirewallPolicies.testIamPermissions" call.
+// Do executes the "compute.regionSecurityPolicies.addRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionSecurityPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -21736,7 +26364,7 @@ func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googlea
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -21747,243 +26375,104 @@ func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googlea
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNetworkFirewallPolicies.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.addRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNotificationEndpointsAggregatedListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionSecurityPoliciesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AggregatedList: Retrieves the list of all NotificationEndpoint
-// resources,
-// regional and global, available to the specified project.
+// Delete: Deletes the specified policy.
//
-// - project: Name of the project scoping this request.
-func (r *RegionNotificationEndpointsService) AggregatedList(project string) *RegionNotificationEndpointsAggregatedListCall {
- c := &RegionNotificationEndpointsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - securityPolicy: Name of the security policy to delete.
+func (r *RegionSecurityPoliciesService) Delete(project string, region string, securityPolicy string) *RegionSecurityPoliciesDeleteCall {
+ c := &RegionSecurityPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.region = region
+ c.securityPolicy = securityPolicy
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionNotificationEndpointsAggregatedListCall) Filter(filter string) *RegionNotificationEndpointsAggregatedListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *RegionNotificationEndpointsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *RegionNotificationEndpointsAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionNotificationEndpointsAggregatedListCall) MaxResults(maxResults int64) *RegionNotificationEndpointsAggregatedListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionNotificationEndpointsAggregatedListCall) OrderBy(orderBy string) *RegionNotificationEndpointsAggregatedListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionNotificationEndpointsAggregatedListCall) PageToken(pageToken string) *RegionNotificationEndpointsAggregatedListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionNotificationEndpointsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionNotificationEndpointsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *RegionNotificationEndpointsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *RegionNotificationEndpointsAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionSecurityPoliciesDeleteCall) RequestId(requestId string) *RegionSecurityPoliciesDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNotificationEndpointsAggregatedListCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsAggregatedListCall {
+func (c *RegionSecurityPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionNotificationEndpointsAggregatedListCall) IfNoneMatch(entityTag string) *RegionNotificationEndpointsAggregatedListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionNotificationEndpointsAggregatedListCall) Context(ctx context.Context) *RegionNotificationEndpointsAggregatedListCall {
+func (c *RegionSecurityPoliciesDeleteCall) Context(ctx context.Context) *RegionSecurityPoliciesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNotificationEndpointsAggregatedListCall) Header() http.Header {
+func (c *RegionSecurityPoliciesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNotificationEndpointsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RegionSecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/notificationEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNotificationEndpoints.aggregatedList" call.
+// Do executes the "compute.regionSecurityPolicies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NotificationEndpointAggregatedList.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionNotificationEndpointsAggregatedListCall) Do(opts ...googleapi.CallOption) (*NotificationEndpointAggregatedList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionSecurityPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -22002,7 +26491,7 @@ func (c *RegionNotificationEndpointsAggregatedListCall) Do(opts ...googleapi.Cal
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NotificationEndpointAggregatedList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -22013,125 +26502,94 @@ func (c *RegionNotificationEndpointsAggregatedListCall) Do(opts ...googleapi.Cal
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionNotificationEndpointsAggregatedListCall) Pages(ctx context.Context, f func(*NotificationEndpointAggregatedList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionNotificationEndpointsDeleteCall struct {
- s *Service
- project string
- region string
- notificationEndpoint string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSecurityPoliciesGetCall struct {
+ s *Service
+ project string
+ region string
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified NotificationEndpoint in the given region
+// Get: List all of the ordered rules present in a single specified policy.
//
-// - notificationEndpoint: Name of the NotificationEndpoint resource to delete.
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNotificationEndpointsService) Delete(project string, region string, notificationEndpoint string) *RegionNotificationEndpointsDeleteCall {
- c := &RegionNotificationEndpointsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - securityPolicy: Name of the security policy to get.
+func (r *RegionSecurityPoliciesService) Get(project string, region string, securityPolicy string) *RegionSecurityPoliciesGetCall {
+ c := &RegionSecurityPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.notificationEndpoint = notificationEndpoint
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNotificationEndpointsDeleteCall) RequestId(requestId string) *RegionNotificationEndpointsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+ c.securityPolicy = securityPolicy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNotificationEndpointsDeleteCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsDeleteCall {
+func (c *RegionSecurityPoliciesGetCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionSecurityPoliciesGetCall) IfNoneMatch(entityTag string) *RegionSecurityPoliciesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionNotificationEndpointsDeleteCall) Context(ctx context.Context) *RegionNotificationEndpointsDeleteCall {
+func (c *RegionSecurityPoliciesGetCall) Context(ctx context.Context) *RegionSecurityPoliciesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNotificationEndpointsDeleteCall) Header() http.Header {
+func (c *RegionSecurityPoliciesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNotificationEndpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "notificationEndpoint": c.notificationEndpoint,
+ "project": c.project,
+ "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNotificationEndpoints.delete" call.
+// Do executes the "compute.regionSecurityPolicies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *SecurityPolicy.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNotificationEndpointsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SecurityPolicy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -22150,7 +26608,7 @@ func (c *RegionNotificationEndpointsDeleteCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &SecurityPolicy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -22161,39 +26619,46 @@ func (c *RegionNotificationEndpointsDeleteCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNotificationEndpointsGetCall struct {
- s *Service
- project string
- region string
- notificationEndpoint string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionSecurityPoliciesGetRuleCall struct {
+ s *Service
+ project string
+ region string
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified NotificationEndpoint resource in the given
-// region.
+// GetRule: Gets a rule at the specified priority.
//
-// - notificationEndpoint: Name of the NotificationEndpoint resource to return.
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionNotificationEndpointsService) Get(project string, region string, notificationEndpoint string) *RegionNotificationEndpointsGetCall {
- c := &RegionNotificationEndpointsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - securityPolicy: Name of the security policy to which the queried rule
+// belongs.
+func (r *RegionSecurityPoliciesService) GetRule(project string, region string, securityPolicy string) *RegionSecurityPoliciesGetRuleCall {
+ c := &RegionSecurityPoliciesGetRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.notificationEndpoint = notificationEndpoint
+ c.securityPolicy = securityPolicy
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// get from the security policy.
+func (c *RegionSecurityPoliciesGetRuleCall) Priority(priority int64) *RegionSecurityPoliciesGetRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNotificationEndpointsGetCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsGetCall {
+func (c *RegionSecurityPoliciesGetRuleCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesGetRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -22201,34 +26666,34 @@ func (c *RegionNotificationEndpointsGetCall) Fields(s ...googleapi.Field) *Regio
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionNotificationEndpointsGetCall) IfNoneMatch(entityTag string) *RegionNotificationEndpointsGetCall {
+func (c *RegionSecurityPoliciesGetRuleCall) IfNoneMatch(entityTag string) *RegionSecurityPoliciesGetRuleCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNotificationEndpointsGetCall) Context(ctx context.Context) *RegionNotificationEndpointsGetCall {
+func (c *RegionSecurityPoliciesGetRuleCall) Context(ctx context.Context) *RegionSecurityPoliciesGetRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNotificationEndpointsGetCall) Header() http.Header {
+func (c *RegionSecurityPoliciesGetRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNotificationEndpointsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -22236,21 +26701,21 @@ func (c *RegionNotificationEndpointsGetCall) doRequest(alt string) (*http.Respon
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "notificationEndpoint": c.notificationEndpoint,
+ "project": c.project,
+ "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.getRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNotificationEndpoints.get" call.
+// Do executes the "compute.regionSecurityPolicies.getRule" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NotificationEndpoint.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *SecurityPolicyRule.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RegionNotificationEndpointsGetCall) Do(opts ...googleapi.CallOption) (*NotificationEndpoint, error) {
+func (c *RegionSecurityPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyRule, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -22269,7 +26734,7 @@ func (c *RegionNotificationEndpointsGetCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NotificationEndpoint{
+ ret := &SecurityPolicyRule{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -22280,31 +26745,31 @@ func (c *RegionNotificationEndpointsGetCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.getRule", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNotificationEndpointsInsertCall struct {
- s *Service
- project string
- region string
- notificationendpoint *NotificationEndpoint
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSecurityPoliciesInsertCall struct {
+ s *Service
+ project string
+ region string
+ securitypolicy *SecurityPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Create a NotificationEndpoint in the specified project in the given
-// region
-// using the parameters that are included in the request.
+// Insert: Creates a new policy in the specified project using the data
+// included in
+// the request.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNotificationEndpointsService) Insert(project string, region string, notificationendpoint *NotificationEndpoint) *RegionNotificationEndpointsInsertCall {
- c := &RegionNotificationEndpointsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionSecurityPoliciesService) Insert(project string, region string, securitypolicy *SecurityPolicy) *RegionSecurityPoliciesInsertCall {
+ c := &RegionSecurityPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.notificationendpoint = notificationendpoint
+ c.securitypolicy = securitypolicy
return c
}
@@ -22325,43 +26790,50 @@ func (r *RegionNotificationEndpointsService) Insert(project string, region strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionNotificationEndpointsInsertCall) RequestId(requestId string) *RegionNotificationEndpointsInsertCall {
+func (c *RegionSecurityPoliciesInsertCall) RequestId(requestId string) *RegionSecurityPoliciesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
+// ValidateOnly sets the optional parameter "validateOnly": If true, the
+// request will not be committed.
+func (c *RegionSecurityPoliciesInsertCall) ValidateOnly(validateOnly bool) *RegionSecurityPoliciesInsertCall {
+ c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNotificationEndpointsInsertCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsInsertCall {
+func (c *RegionSecurityPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNotificationEndpointsInsertCall) Context(ctx context.Context) *RegionNotificationEndpointsInsertCall {
+func (c *RegionSecurityPoliciesInsertCall) Context(ctx context.Context) *RegionSecurityPoliciesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNotificationEndpointsInsertCall) Header() http.Header {
+func (c *RegionSecurityPoliciesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNotificationEndpointsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.notificationendpoint)
+func (c *RegionSecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -22372,16 +26844,16 @@ func (c *RegionNotificationEndpointsInsertCall) doRequest(alt string) (*http.Res
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNotificationEndpoints.insert" call.
+// Do executes the "compute.regionSecurityPolicies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionNotificationEndpointsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSecurityPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -22411,11 +26883,11 @@ func (c *RegionNotificationEndpointsInsertCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionNotificationEndpointsListCall struct {
+type RegionSecurityPoliciesListCall struct {
s *Service
project string
region string
@@ -22425,12 +26897,14 @@ type RegionNotificationEndpointsListCall struct {
header_ http.Header
}
-// List: Lists the NotificationEndpoints for a project in the given region.
+// List: List all the policies that have been configured for the specified
+// project
+// and region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionNotificationEndpointsService) List(project string, region string) *RegionNotificationEndpointsListCall {
- c := &RegionNotificationEndpointsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionSecurityPoliciesService) List(project string, region string) *RegionSecurityPoliciesListCall {
+ c := &RegionSecurityPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -22503,7 +26977,7 @@ func (r *RegionNotificationEndpointsService) List(project string, region string)
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionNotificationEndpointsListCall) Filter(filter string) *RegionNotificationEndpointsListCall {
+func (c *RegionSecurityPoliciesListCall) Filter(filter string) *RegionSecurityPoliciesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -22515,7 +26989,7 @@ func (c *RegionNotificationEndpointsListCall) Filter(filter string) *RegionNotif
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionNotificationEndpointsListCall) MaxResults(maxResults int64) *RegionNotificationEndpointsListCall {
+func (c *RegionSecurityPoliciesListCall) MaxResults(maxResults int64) *RegionSecurityPoliciesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -22535,7 +27009,7 @@ func (c *RegionNotificationEndpointsListCall) MaxResults(maxResults int64) *Regi
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionNotificationEndpointsListCall) OrderBy(orderBy string) *RegionNotificationEndpointsListCall {
+func (c *RegionSecurityPoliciesListCall) OrderBy(orderBy string) *RegionSecurityPoliciesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -22544,30 +27018,15 @@ func (c *RegionNotificationEndpointsListCall) OrderBy(orderBy string) *RegionNot
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionNotificationEndpointsListCall) PageToken(pageToken string) *RegionNotificationEndpointsListCall {
+func (c *RegionSecurityPoliciesListCall) PageToken(pageToken string) *RegionSecurityPoliciesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionNotificationEndpointsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionNotificationEndpointsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNotificationEndpointsListCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsListCall {
+func (c *RegionSecurityPoliciesListCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -22575,34 +27034,34 @@ func (c *RegionNotificationEndpointsListCall) Fields(s ...googleapi.Field) *Regi
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionNotificationEndpointsListCall) IfNoneMatch(entityTag string) *RegionNotificationEndpointsListCall {
+func (c *RegionSecurityPoliciesListCall) IfNoneMatch(entityTag string) *RegionSecurityPoliciesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNotificationEndpointsListCall) Context(ctx context.Context) *RegionNotificationEndpointsListCall {
+func (c *RegionSecurityPoliciesListCall) Context(ctx context.Context) *RegionSecurityPoliciesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNotificationEndpointsListCall) Header() http.Header {
+func (c *RegionSecurityPoliciesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNotificationEndpointsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -22613,17 +27072,17 @@ func (c *RegionNotificationEndpointsListCall) doRequest(alt string) (*http.Respo
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNotificationEndpoints.list" call.
+// Do executes the "compute.regionSecurityPolicies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *NotificationEndpointList.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionNotificationEndpointsListCall) Do(opts ...googleapi.CallOption) (*NotificationEndpointList, error) {
+// *SecurityPolicyList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionSecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -22642,7 +27101,7 @@ func (c *RegionNotificationEndpointsListCall) Do(opts ...googleapi.CallOption) (
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &NotificationEndpointList{
+ ret := &SecurityPolicyList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -22653,14 +27112,14 @@ func (c *RegionNotificationEndpointsListCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionNotificationEndpointsListCall) Pages(ctx context.Context, f func(*NotificationEndpointList) error) error {
+func (c *RegionSecurityPoliciesListCall) Pages(ctx context.Context, f func(*SecurityPolicyList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -22678,86 +27137,120 @@ func (c *RegionNotificationEndpointsListCall) Pages(ctx context.Context, f func(
}
}
-type RegionNotificationEndpointsTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSecurityPoliciesPatchCall struct {
+ s *Service
+ project string
+ region string
+ securityPolicy string
+ securitypolicy *SecurityPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Patch: Patches the specified policy with the data included in the request.
+// To
+// clear fields in the policy, leave the fields empty and specify them in
+// the
+// updateMask. This cannot be used to be update the rules in the policy.
+// Please use the per rule methods like addRule, patchRule, and
+// removeRule
+// instead.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionNotificationEndpointsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionNotificationEndpointsTestIamPermissionsCall {
- c := &RegionNotificationEndpointsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+// - securityPolicy: Name of the security policy to update.
+func (r *RegionSecurityPoliciesService) Patch(project string, region string, securityPolicy string, securitypolicy *SecurityPolicy) *RegionSecurityPoliciesPatchCall {
+ c := &RegionSecurityPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.securityPolicy = securityPolicy
+ c.securitypolicy = securitypolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionSecurityPoliciesPatchCall) RequestId(requestId string) *RegionSecurityPoliciesPatchCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// UpdateMask sets the optional parameter "updateMask": Indicates fields to be
+// cleared as part of this request.
+func (c *RegionSecurityPoliciesPatchCall) UpdateMask(updateMask string) *RegionSecurityPoliciesPatchCall {
+ c.urlParams_.Set("updateMask", updateMask)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionNotificationEndpointsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionNotificationEndpointsTestIamPermissionsCall {
+func (c *RegionSecurityPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionNotificationEndpointsTestIamPermissionsCall) Context(ctx context.Context) *RegionNotificationEndpointsTestIamPermissionsCall {
+func (c *RegionSecurityPoliciesPatchCall) Context(ctx context.Context) *RegionSecurityPoliciesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionNotificationEndpointsTestIamPermissionsCall) Header() http.Header {
+func (c *RegionSecurityPoliciesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionNotificationEndpointsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+func (c *RegionSecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionNotificationEndpoints.testIamPermissions" call.
+// Do executes the "compute.regionSecurityPolicies.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionNotificationEndpointsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionSecurityPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -22776,7 +27269,7 @@ func (c *RegionNotificationEndpointsTestIamPermissionsCall) Do(opts ...googleapi
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -22787,181 +27280,223 @@ func (c *RegionNotificationEndpointsTestIamPermissionsCall) Do(opts ...googleapi
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionNotificationEndpoints.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionOperationsDeleteCall struct {
- s *Service
- project string
- region string
- operationid string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSecurityPoliciesPatchRuleCall struct {
+ s *Service
+ project string
+ region string
+ securityPolicy string
+ securitypolicyrule *SecurityPolicyRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified region-specific Operations resource.
-//
-// - operation: Name of the Operations resource to delete, or its unique
-// numeric
+// PatchRule: Patches a rule at the specified priority. To clear fields in the
+// rule,
+// leave the fields empty and specify them in the updateMask.
//
-// identifier.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionOperationsService) Delete(project string, region string, operationid string) *RegionOperationsDeleteCall {
- c := &RegionOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+// - securityPolicy: Name of the security policy to update.
+func (r *RegionSecurityPoliciesService) PatchRule(project string, region string, securityPolicy string, securitypolicyrule *SecurityPolicyRule) *RegionSecurityPoliciesPatchRuleCall {
+ c := &RegionSecurityPoliciesPatchRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.operationid = operationid
+ c.securityPolicy = securityPolicy
+ c.securitypolicyrule = securitypolicyrule
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// patch.
+func (c *RegionSecurityPoliciesPatchRuleCall) Priority(priority int64) *RegionSecurityPoliciesPatchRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
+ return c
+}
+
+// UpdateMask sets the optional parameter "updateMask": Indicates fields to be
+// cleared as part of this request.
+func (c *RegionSecurityPoliciesPatchRuleCall) UpdateMask(updateMask string) *RegionSecurityPoliciesPatchRuleCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
+// ValidateOnly sets the optional parameter "validateOnly": If true, the
+// request will not be committed.
+func (c *RegionSecurityPoliciesPatchRuleCall) ValidateOnly(validateOnly bool) *RegionSecurityPoliciesPatchRuleCall {
+ c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionOperationsDeleteCall) Fields(s ...googleapi.Field) *RegionOperationsDeleteCall {
+func (c *RegionSecurityPoliciesPatchRuleCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesPatchRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionOperationsDeleteCall) Context(ctx context.Context) *RegionOperationsDeleteCall {
+func (c *RegionSecurityPoliciesPatchRuleCall) Context(ctx context.Context) *RegionSecurityPoliciesPatchRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionOperationsDeleteCall) Header() http.Header {
+func (c *RegionSecurityPoliciesPatchRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/operations/{operation}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "operation": c.operationid,
+ "project": c.project,
+ "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionOperations.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.patchRule", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionOperations.delete" call.
-func (c *RegionOperationsDeleteCall) Do(opts ...googleapi.CallOption) error {
+// Do executes the "compute.regionSecurityPolicies.patchRule" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionSecurityPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
if err != nil {
- return err
+ return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
- return gensupport.WrapError(err)
+ return nil, gensupport.WrapError(err)
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionOperations.delete", "response", internallog.HTTPResponse(res, nil))
- return nil
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.patchRule", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-type RegionOperationsGetCall struct {
- s *Service
- project string
- region string
- operationid string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionSecurityPoliciesRemoveRuleCall struct {
+ s *Service
+ project string
+ region string
+ securityPolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Retrieves the specified region-specific Operations resource.
-//
-// - operation: Name of the Operations resource to return, or its unique
-// numeric
+// RemoveRule: Deletes a rule at the specified priority.
//
-// identifier.
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionOperationsService) Get(project string, region string, operationid string) *RegionOperationsGetCall {
- c := &RegionOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+// - securityPolicy: Name of the security policy to update.
+func (r *RegionSecurityPoliciesService) RemoveRule(project string, region string, securityPolicy string) *RegionSecurityPoliciesRemoveRuleCall {
+ c := &RegionSecurityPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.operationid = operationid
+ c.securityPolicy = securityPolicy
+ return c
+}
+
+// Priority sets the optional parameter "priority": The priority of the rule to
+// remove from the security policy.
+func (c *RegionSecurityPoliciesRemoveRuleCall) Priority(priority int64) *RegionSecurityPoliciesRemoveRuleCall {
+ c.urlParams_.Set("priority", fmt.Sprint(priority))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionOperationsGetCall) Fields(s ...googleapi.Field) *RegionOperationsGetCall {
+func (c *RegionSecurityPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesRemoveRuleCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionOperationsGetCall) IfNoneMatch(entityTag string) *RegionOperationsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionOperationsGetCall) Context(ctx context.Context) *RegionOperationsGetCall {
+func (c *RegionSecurityPoliciesRemoveRuleCall) Context(ctx context.Context) *RegionSecurityPoliciesRemoveRuleCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionOperationsGetCall) Header() http.Header {
+func (c *RegionSecurityPoliciesRemoveRuleCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionOperationsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RegionSecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/operations/{operation}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "operation": c.operationid,
+ "project": c.project,
+ "region": c.region,
+ "securityPolicy": c.securityPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionOperations.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.removeRule", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionOperations.get" call.
+// Do executes the "compute.regionSecurityPolicies.removeRule" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSecurityPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -22976,234 +27511,128 @@ func (c *RegionOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionOperations.get", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionOperationsListCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// List: Retrieves a list of Operation resources contained within
-// the specified region.
-//
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionOperationsService) List(project string, region string) *RegionOperationsListCall {
- c := &RegionOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- return c
-}
-
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
-//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
-//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionOperationsListCall) Filter(filter string) *RegionOperationsListCall {
- c.urlParams_.Set("filter", filter)
- return c
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.removeRule", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionOperationsListCall) MaxResults(maxResults int64) *RegionOperationsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
+type RegionSecurityPoliciesSetLabelsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetlabelsrequest *RegionSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// SetLabels: Sets the labels on a security policy. To learn more about
+// labels,
+// read the Labeling Resources
+// documentation.
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionOperationsListCall) OrderBy(orderBy string) *RegionOperationsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionOperationsListCall) PageToken(pageToken string) *RegionOperationsListCall {
- c.urlParams_.Set("pageToken", pageToken)
+// - project: Project ID for this request.
+// - region: The region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionSecurityPoliciesService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *RegionSecurityPoliciesSetLabelsCall {
+ c := &RegionSecurityPoliciesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.regionsetlabelsrequest = regionsetlabelsrequest
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionOperationsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionSecurityPoliciesSetLabelsCall) RequestId(requestId string) *RegionSecurityPoliciesSetLabelsCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionOperationsListCall) Fields(s ...googleapi.Field) *RegionOperationsListCall {
+func (c *RegionSecurityPoliciesSetLabelsCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesSetLabelsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionOperationsListCall) IfNoneMatch(entityTag string) *RegionOperationsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionOperationsListCall) Context(ctx context.Context) *RegionOperationsListCall {
+func (c *RegionSecurityPoliciesSetLabelsCall) Context(ctx context.Context) *RegionSecurityPoliciesSetLabelsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionOperationsListCall) Header() http.Header {
+func (c *RegionSecurityPoliciesSetLabelsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionOperationsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionSecurityPoliciesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/operations")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionOperations.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionOperations.list" call.
+// Do executes the "compute.regionSecurityPolicies.setLabels" call.
// Any non-2xx status code is an error. Response headers are in either
-// *OperationList.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationList, error) {
+func (c *RegionSecurityPoliciesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -23222,7 +27651,7 @@ func (c *RegionOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationL
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &OperationList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -23233,128 +27662,91 @@ func (c *RegionOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationL
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionOperations.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.setLabels", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionOperationsListCall) Pages(ctx context.Context, f func(*OperationList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionOperationsWaitCall struct {
- s *Service
- project string
- region string
- operationid string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSnapshotSettingsGetCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Wait: Waits for the specified Operation resource to return as `DONE`
-// or for the request to approach the 2 minute deadline, and retrieves
-// the
-// specified Operation resource. This method differs from the
-// `GET` method in that it waits for no more than the default
-// deadline (2 minutes) and then returns the current state of the
-// operation,
-// which might be `DONE` or still in progress.
-//
-// This method is called on a best-effort basis. Specifically:
-//
-// - In uncommon cases, when the server is overloaded, the request might
-// return before the default deadline is reached, or might return after
-//
-// zero
-//
-// seconds.
-// - If the default deadline is reached, there is no guarantee that the
-// operation is actually done when the method returns. Be prepared to
-//
-// retry
-//
-// if the operation is not `DONE`.
-//
-// - operation: Name of the Operations resource to return, or its unique
-// numeric
+// Get: Get region snapshot settings.
//
-// identifier.
// - project: Project ID for this request.
// - region: Name of the region for this request.
-func (r *RegionOperationsService) Wait(project string, region string, operationid string) *RegionOperationsWaitCall {
- c := &RegionOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionSnapshotSettingsService) Get(project string, region string) *RegionSnapshotSettingsGetCall {
+ c := &RegionSnapshotSettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.operationid = operationid
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionOperationsWaitCall) Fields(s ...googleapi.Field) *RegionOperationsWaitCall {
+func (c *RegionSnapshotSettingsGetCall) Fields(s ...googleapi.Field) *RegionSnapshotSettingsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionSnapshotSettingsGetCall) IfNoneMatch(entityTag string) *RegionSnapshotSettingsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionOperationsWaitCall) Context(ctx context.Context) *RegionOperationsWaitCall {
+func (c *RegionSnapshotSettingsGetCall) Context(ctx context.Context) *RegionSnapshotSettingsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionOperationsWaitCall) Header() http.Header {
+func (c *RegionSnapshotSettingsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSnapshotSettingsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/operations/{operation}/wait")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshotSettings")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "operation": c.operationid,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionOperations.wait", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshotSettings.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionOperations.wait" call.
+// Do executes the "compute.regionSnapshotSettings.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionOperationsWaitCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *SnapshotSettings.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionSnapshotSettingsGetCall) Do(opts ...googleapi.CallOption) (*SnapshotSettings, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -23373,7 +27765,7 @@ func (c *RegionOperationsWaitCall) Do(opts ...googleapi.CallOption) (*Operation,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &SnapshotSettings{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -23384,95 +27776,113 @@ func (c *RegionOperationsWaitCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionOperations.wait", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshotSettings.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesAddRuleCall struct {
- s *Service
- project string
- region string
- securityPolicy string
- securitypolicyrule *SecurityPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSnapshotSettingsPatchCall struct {
+ s *Service
+ project string
+ region string
+ snapshotsettings *SnapshotSettings
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// AddRule: Inserts a rule into a security policy.
+// Patch: Patch region snapshot settings.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - securityPolicy: Name of the security policy to update.
-func (r *RegionSecurityPoliciesService) AddRule(project string, region string, securityPolicy string, securitypolicyrule *SecurityPolicyRule) *RegionSecurityPoliciesAddRuleCall {
- c := &RegionSecurityPoliciesAddRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionSnapshotSettingsService) Patch(project string, region string, snapshotsettings *SnapshotSettings) *RegionSnapshotSettingsPatchCall {
+ c := &RegionSnapshotSettingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.securityPolicy = securityPolicy
- c.securitypolicyrule = securitypolicyrule
+ c.snapshotsettings = snapshotsettings
return c
}
-// ValidateOnly sets the optional parameter "validateOnly": If true, the
-// request will not be committed.
-func (c *RegionSecurityPoliciesAddRuleCall) ValidateOnly(validateOnly bool) *RegionSecurityPoliciesAddRuleCall {
- c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionSnapshotSettingsPatchCall) RequestId(requestId string) *RegionSnapshotSettingsPatchCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// UpdateMask sets the optional parameter "updateMask": update_mask indicates
+// fields to be updated as part of this request.
+func (c *RegionSnapshotSettingsPatchCall) UpdateMask(updateMask string) *RegionSnapshotSettingsPatchCall {
+ c.urlParams_.Set("updateMask", updateMask)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesAddRuleCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesAddRuleCall {
+func (c *RegionSnapshotSettingsPatchCall) Fields(s ...googleapi.Field) *RegionSnapshotSettingsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesAddRuleCall) Context(ctx context.Context) *RegionSecurityPoliciesAddRuleCall {
+func (c *RegionSnapshotSettingsPatchCall) Context(ctx context.Context) *RegionSnapshotSettingsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesAddRuleCall) Header() http.Header {
+func (c *RegionSnapshotSettingsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
+func (c *RegionSnapshotSettingsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshotsettings)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshotSettings")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.addRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshotSettings.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.addRule" call.
+// Do executes the "compute.regionSnapshotSettings.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSecurityPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSnapshotSettingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -23502,30 +27912,40 @@ func (c *RegionSecurityPoliciesAddRuleCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.addRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshotSettings.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesDeleteCall struct {
- s *Service
- project string
- region string
- securityPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSnapshotsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ snapshot string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified policy.
+// Delete: Deletes the specified Snapshot resource. Keep in mind that
+// deleting
+// a single snapshot might not necessarily delete all the data on
+// that
+// snapshot. If any data on the snapshot that is marked for deletion is
+// needed for subsequent snapshots, the data will be moved to the
+// next
+// corresponding snapshot.
+//
+// For more information, seeDeleting
+// snapshots.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - securityPolicy: Name of the security policy to delete.
-func (r *RegionSecurityPoliciesService) Delete(project string, region string, securityPolicy string) *RegionSecurityPoliciesDeleteCall {
- c := &RegionSecurityPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - snapshot: Name of the snapshot resource to delete.
+func (r *RegionSnapshotsService) Delete(project string, region string, snapshot string) *RegionSnapshotsDeleteCall {
+ c := &RegionSnapshotsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.securityPolicy = securityPolicy
+ c.snapshot = snapshot
return c
}
@@ -23546,7 +27966,7 @@ func (r *RegionSecurityPoliciesService) Delete(project string, region string, se
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSecurityPoliciesDeleteCall) RequestId(requestId string) *RegionSecurityPoliciesDeleteCall {
+func (c *RegionSnapshotsDeleteCall) RequestId(requestId string) *RegionSnapshotsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -23554,31 +27974,31 @@ func (c *RegionSecurityPoliciesDeleteCall) RequestId(requestId string) *RegionSe
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesDeleteCall {
+func (c *RegionSnapshotsDeleteCall) Fields(s ...googleapi.Field) *RegionSnapshotsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesDeleteCall) Context(ctx context.Context) *RegionSecurityPoliciesDeleteCall {
+func (c *RegionSnapshotsDeleteCall) Context(ctx context.Context) *RegionSnapshotsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesDeleteCall) Header() http.Header {
+func (c *RegionSnapshotsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{snapshot}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -23586,20 +28006,20 @@ func (c *RegionSecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "region": c.region,
+ "snapshot": c.snapshot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.delete" call.
+// Do executes the "compute.regionSnapshots.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSecurityPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -23629,38 +28049,38 @@ func (c *RegionSecurityPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesGetCall struct {
- s *Service
- project string
- region string
- securityPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionSnapshotsGetCall struct {
+ s *Service
+ project string
+ region string
+ snapshot string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: List all of the ordered rules present in a single specified policy.
+// Get: Returns the specified Snapshot resource.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - securityPolicy: Name of the security policy to get.
-func (r *RegionSecurityPoliciesService) Get(project string, region string, securityPolicy string) *RegionSecurityPoliciesGetCall {
- c := &RegionSecurityPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+// - snapshot: Name of the Snapshot resource to return.
+func (r *RegionSnapshotsService) Get(project string, region string, snapshot string) *RegionSnapshotsGetCall {
+ c := &RegionSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.securityPolicy = securityPolicy
+ c.snapshot = snapshot
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesGetCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesGetCall {
+func (c *RegionSnapshotsGetCall) Fields(s ...googleapi.Field) *RegionSnapshotsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -23668,34 +28088,34 @@ func (c *RegionSecurityPoliciesGetCall) Fields(s ...googleapi.Field) *RegionSecu
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSecurityPoliciesGetCall) IfNoneMatch(entityTag string) *RegionSecurityPoliciesGetCall {
+func (c *RegionSnapshotsGetCall) IfNoneMatch(entityTag string) *RegionSnapshotsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesGetCall) Context(ctx context.Context) *RegionSecurityPoliciesGetCall {
+func (c *RegionSnapshotsGetCall) Context(ctx context.Context) *RegionSnapshotsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesGetCall) Header() http.Header {
+func (c *RegionSnapshotsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{snapshot}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -23703,20 +28123,20 @@ func (c *RegionSecurityPoliciesGetCall) doRequest(alt string) (*http.Response, e
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "region": c.region,
+ "snapshot": c.snapshot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.get" call.
+// Do executes the "compute.regionSnapshots.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SecurityPolicy.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Snapshot.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SecurityPolicy, error) {
+func (c *RegionSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Snapshot, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -23735,7 +28155,7 @@ func (c *RegionSecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (*Secur
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SecurityPolicy{
+ ret := &Snapshot{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -23746,46 +28166,47 @@ func (c *RegionSecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (*Secur
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesGetRuleCall struct {
- s *Service
- project string
- region string
- securityPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionSnapshotsGetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// GetRule: Gets a rule at the specified priority.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - securityPolicy: Name of the security policy to which the queried rule
-// belongs.
-func (r *RegionSecurityPoliciesService) GetRule(project string, region string, securityPolicy string) *RegionSecurityPoliciesGetRuleCall {
- c := &RegionSecurityPoliciesGetRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionSnapshotsService) GetIamPolicy(project string, region string, resource string) *RegionSnapshotsGetIamPolicyCall {
+ c := &RegionSnapshotsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.securityPolicy = securityPolicy
+ c.resource = resource
return c
}
-// Priority sets the optional parameter "priority": The priority of the rule to
-// get from the security policy.
-func (c *RegionSecurityPoliciesGetRuleCall) Priority(priority int64) *RegionSecurityPoliciesGetRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *RegionSnapshotsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionSnapshotsGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesGetRuleCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesGetRuleCall {
+func (c *RegionSnapshotsGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionSnapshotsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -23793,34 +28214,34 @@ func (c *RegionSecurityPoliciesGetRuleCall) Fields(s ...googleapi.Field) *Region
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSecurityPoliciesGetRuleCall) IfNoneMatch(entityTag string) *RegionSecurityPoliciesGetRuleCall {
+func (c *RegionSnapshotsGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionSnapshotsGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesGetRuleCall) Context(ctx context.Context) *RegionSecurityPoliciesGetRuleCall {
+func (c *RegionSnapshotsGetIamPolicyCall) Context(ctx context.Context) *RegionSnapshotsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesGetRuleCall) Header() http.Header {
+func (c *RegionSnapshotsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -23828,21 +28249,20 @@ func (c *RegionSecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Respons
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.getRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.getRule" call.
+// Do executes the "compute.regionSnapshots.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SecurityPolicyRule.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionSecurityPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyRule, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -23861,7 +28281,7 @@ func (c *RegionSecurityPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*S
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SecurityPolicyRule{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -23872,31 +28292,31 @@ func (c *RegionSecurityPoliciesGetRuleCall) Do(opts ...googleapi.CallOption) (*S
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.getRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesInsertCall struct {
- s *Service
- project string
- region string
- securitypolicy *SecurityPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSnapshotsInsertCall struct {
+ s *Service
+ project string
+ region string
+ snapshot *Snapshot
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a new policy in the specified project using the data
-// included in
-// the request.
+// Insert: Creates a snapshot in the specified region using the data
+// included
+// in the request.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionSecurityPoliciesService) Insert(project string, region string, securitypolicy *SecurityPolicy) *RegionSecurityPoliciesInsertCall {
- c := &RegionSecurityPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionSnapshotsService) Insert(project string, region string, snapshot *Snapshot) *RegionSnapshotsInsertCall {
+ c := &RegionSnapshotsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.securitypolicy = securitypolicy
+ c.snapshot = snapshot
return c
}
@@ -23917,50 +28337,43 @@ func (r *RegionSecurityPoliciesService) Insert(project string, region string, se
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSecurityPoliciesInsertCall) RequestId(requestId string) *RegionSecurityPoliciesInsertCall {
+func (c *RegionSnapshotsInsertCall) RequestId(requestId string) *RegionSnapshotsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// ValidateOnly sets the optional parameter "validateOnly": If true, the
-// request will not be committed.
-func (c *RegionSecurityPoliciesInsertCall) ValidateOnly(validateOnly bool) *RegionSecurityPoliciesInsertCall {
- c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesInsertCall {
+func (c *RegionSnapshotsInsertCall) Fields(s ...googleapi.Field) *RegionSnapshotsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesInsertCall) Context(ctx context.Context) *RegionSecurityPoliciesInsertCall {
+func (c *RegionSnapshotsInsertCall) Context(ctx context.Context) *RegionSnapshotsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesInsertCall) Header() http.Header {
+func (c *RegionSnapshotsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
+func (c *RegionSnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshot)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -23971,16 +28384,16 @@ func (c *RegionSecurityPoliciesInsertCall) doRequest(alt string) (*http.Response
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.insert" call.
+// Do executes the "compute.regionSnapshots.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSecurityPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24010,11 +28423,11 @@ func (c *RegionSecurityPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesListCall struct {
+type RegionSnapshotsListCall struct {
s *Service
project string
region string
@@ -24024,14 +28437,13 @@ type RegionSecurityPoliciesListCall struct {
header_ http.Header
}
-// List: List all the policies that have been configured for the specified
-// project
-// and region.
+// List: Retrieves the list of Snapshot resources contained within
+// the specified region.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionSecurityPoliciesService) List(project string, region string) *RegionSecurityPoliciesListCall {
- c := &RegionSecurityPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *RegionSnapshotsService) List(project string, region string) *RegionSnapshotsListCall {
+ c := &RegionSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -24104,7 +28516,7 @@ func (r *RegionSecurityPoliciesService) List(project string, region string) *Reg
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionSecurityPoliciesListCall) Filter(filter string) *RegionSecurityPoliciesListCall {
+func (c *RegionSnapshotsListCall) Filter(filter string) *RegionSnapshotsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -24116,7 +28528,7 @@ func (c *RegionSecurityPoliciesListCall) Filter(filter string) *RegionSecurityPo
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionSecurityPoliciesListCall) MaxResults(maxResults int64) *RegionSecurityPoliciesListCall {
+func (c *RegionSnapshotsListCall) MaxResults(maxResults int64) *RegionSnapshotsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -24136,7 +28548,7 @@ func (c *RegionSecurityPoliciesListCall) MaxResults(maxResults int64) *RegionSec
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionSecurityPoliciesListCall) OrderBy(orderBy string) *RegionSecurityPoliciesListCall {
+func (c *RegionSnapshotsListCall) OrderBy(orderBy string) *RegionSnapshotsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -24145,30 +28557,15 @@ func (c *RegionSecurityPoliciesListCall) OrderBy(orderBy string) *RegionSecurity
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionSecurityPoliciesListCall) PageToken(pageToken string) *RegionSecurityPoliciesListCall {
+func (c *RegionSnapshotsListCall) PageToken(pageToken string) *RegionSnapshotsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionSecurityPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionSecurityPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesListCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesListCall {
+func (c *RegionSnapshotsListCall) Fields(s ...googleapi.Field) *RegionSnapshotsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -24176,34 +28573,34 @@ func (c *RegionSecurityPoliciesListCall) Fields(s ...googleapi.Field) *RegionSec
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSecurityPoliciesListCall) IfNoneMatch(entityTag string) *RegionSecurityPoliciesListCall {
+func (c *RegionSnapshotsListCall) IfNoneMatch(entityTag string) *RegionSnapshotsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesListCall) Context(ctx context.Context) *RegionSecurityPoliciesListCall {
+func (c *RegionSnapshotsListCall) Context(ctx context.Context) *RegionSnapshotsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesListCall) Header() http.Header {
+func (c *RegionSnapshotsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -24214,17 +28611,16 @@ func (c *RegionSecurityPoliciesListCall) doRequest(alt string) (*http.Response,
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.list" call.
+// Do executes the "compute.regionSnapshots.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SecurityPolicyList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionSecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyList, error) {
+// *SnapshotList.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionSnapshotsListCall) Do(opts ...googleapi.CallOption) (*SnapshotList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24243,7 +28639,7 @@ func (c *RegionSecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*Secu
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SecurityPolicyList{
+ ret := &SnapshotList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -24254,14 +28650,14 @@ func (c *RegionSecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*Secu
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionSecurityPoliciesListCall) Pages(ctx context.Context, f func(*SecurityPolicyList) error) error {
+func (c *RegionSnapshotsListCall) Pages(ctx context.Context, f func(*SnapshotList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -24279,35 +28675,392 @@ func (c *RegionSecurityPoliciesListCall) Pages(ctx context.Context, f func(*Secu
}
}
-type RegionSecurityPoliciesPatchCall struct {
- s *Service
- project string
- region string
- securityPolicy string
- securitypolicy *SecurityPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSnapshotsSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
+//
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionSnapshotsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionSnapshotsSetIamPolicyCall {
+ c := &RegionSnapshotsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionSnapshotsSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionSnapshotsSetIamPolicyCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionSnapshotsSetIamPolicyCall) Context(ctx context.Context) *RegionSnapshotsSetIamPolicyCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionSnapshotsSetIamPolicyCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionSnapshots.setIamPolicy" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Policy{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionSnapshotsSetLabelsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetlabelsrequest *RegionSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetLabels: Sets the labels on a regional snapshot. To learn more about
+// labels, read
+// the Labeling Resources
+// documentation.
+//
+// - project: Project ID for this request.
+// - region: The region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionSnapshotsService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *RegionSnapshotsSetLabelsCall {
+ c := &RegionSnapshotsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.regionsetlabelsrequest = regionsetlabelsrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionSnapshotsSetLabelsCall) RequestId(requestId string) *RegionSnapshotsSetLabelsCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionSnapshotsSetLabelsCall) Fields(s ...googleapi.Field) *RegionSnapshotsSetLabelsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionSnapshotsSetLabelsCall) Context(ctx context.Context) *RegionSnapshotsSetLabelsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionSnapshotsSetLabelsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionSnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{resource}/setLabels")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionSnapshots.setLabels" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionSnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.setLabels", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionSnapshotsTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
+//
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *RegionSnapshotsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionSnapshotsTestIamPermissionsCall {
+ c := &RegionSnapshotsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionSnapshotsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionSnapshotsTestIamPermissionsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionSnapshotsTestIamPermissionsCall) Context(ctx context.Context) *RegionSnapshotsTestIamPermissionsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionSnapshotsTestIamPermissionsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionSnapshots.testIamPermissions" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &TestPermissionsResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// Patch: Patches the specified policy with the data included in the request.
-// To
-// clear fields in the policy, leave the fields empty and specify them in
-// the
-// updateMask. This cannot be used to be update the rules in the policy.
-// Please use the per rule methods like addRule, patchRule, and
-// removeRule
-// instead.
+type RegionSnapshotsUpdateKmsKeyCall struct {
+ s *Service
+ project string
+ region string
+ snapshot string
+ regionsnapshotupdatekmskeyrequest *RegionSnapshotUpdateKmsKeyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// UpdateKmsKey: Rotates the customer-managed
+// encryption key to the latest version for the specified snapshot.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - securityPolicy: Name of the security policy to update.
-func (r *RegionSecurityPoliciesService) Patch(project string, region string, securityPolicy string, securitypolicy *SecurityPolicy) *RegionSecurityPoliciesPatchCall {
- c := &RegionSecurityPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+// - snapshot: Name of the snapshot resource to update. Should conform to
+// RFC1035.
+func (r *RegionSnapshotsService) UpdateKmsKey(project string, region string, snapshot string, regionsnapshotupdatekmskeyrequest *RegionSnapshotUpdateKmsKeyRequest) *RegionSnapshotsUpdateKmsKeyCall {
+ c := &RegionSnapshotsUpdateKmsKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.securityPolicy = securityPolicy
- c.securitypolicy = securitypolicy
+ c.snapshot = snapshot
+ c.regionsnapshotupdatekmskeyrequest = regionsnapshotupdatekmskeyrequest
return c
}
@@ -24328,71 +29081,64 @@ func (r *RegionSecurityPoliciesService) Patch(project string, region string, sec
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSecurityPoliciesPatchCall) RequestId(requestId string) *RegionSecurityPoliciesPatchCall {
+func (c *RegionSnapshotsUpdateKmsKeyCall) RequestId(requestId string) *RegionSnapshotsUpdateKmsKeyCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// UpdateMask sets the optional parameter "updateMask": Indicates fields to be
-// cleared as part of this request.
-func (c *RegionSecurityPoliciesPatchCall) UpdateMask(updateMask string) *RegionSecurityPoliciesPatchCall {
- c.urlParams_.Set("updateMask", updateMask)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesPatchCall {
+func (c *RegionSnapshotsUpdateKmsKeyCall) Fields(s ...googleapi.Field) *RegionSnapshotsUpdateKmsKeyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesPatchCall) Context(ctx context.Context) *RegionSecurityPoliciesPatchCall {
+func (c *RegionSnapshotsUpdateKmsKeyCall) Context(ctx context.Context) *RegionSnapshotsUpdateKmsKeyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesPatchCall) Header() http.Header {
+func (c *RegionSnapshotsUpdateKmsKeyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
+func (c *RegionSnapshotsUpdateKmsKeyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsnapshotupdatekmskeyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{snapshot}/updateKmsKey")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "securityPolicy": c.securityPolicy,
+ "project": c.project,
+ "region": c.region,
+ "snapshot": c.snapshot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.updateKmsKey", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.patch" call.
+// Do executes the "compute.regionSnapshots.updateKmsKey" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSecurityPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSnapshotsUpdateKmsKeyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24422,92 +29168,85 @@ func (c *RegionSecurityPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.updateKmsKey", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesPatchRuleCall struct {
- s *Service
- project string
- region string
- securityPolicy string
- securitypolicyrule *SecurityPolicyRule
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSslCertificatesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ sslCertificate string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// PatchRule: Patches a rule at the specified priority. To clear fields in the
-// rule,
-// leave the fields empty and specify them in the updateMask.
+// Delete: Deletes the specified SslCertificate resource in the region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - securityPolicy: Name of the security policy to update.
-func (r *RegionSecurityPoliciesService) PatchRule(project string, region string, securityPolicy string, securitypolicyrule *SecurityPolicyRule) *RegionSecurityPoliciesPatchRuleCall {
- c := &RegionSecurityPoliciesPatchRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - sslCertificate: Name of the SslCertificate resource to delete.
+func (r *RegionSslCertificatesService) Delete(project string, region string, sslCertificate string) *RegionSslCertificatesDeleteCall {
+ c := &RegionSslCertificatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.securityPolicy = securityPolicy
- c.securitypolicyrule = securitypolicyrule
- return c
-}
-
-// Priority sets the optional parameter "priority": The priority of the rule to
-// patch.
-func (c *RegionSecurityPoliciesPatchRuleCall) Priority(priority int64) *RegionSecurityPoliciesPatchRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
- return c
-}
-
-// UpdateMask sets the optional parameter "updateMask": Indicates fields to be
-// cleared as part of this request.
-func (c *RegionSecurityPoliciesPatchRuleCall) UpdateMask(updateMask string) *RegionSecurityPoliciesPatchRuleCall {
- c.urlParams_.Set("updateMask", updateMask)
+ c.sslCertificate = sslCertificate
return c
}
-// ValidateOnly sets the optional parameter "validateOnly": If true, the
-// request will not be committed.
-func (c *RegionSecurityPoliciesPatchRuleCall) ValidateOnly(validateOnly bool) *RegionSecurityPoliciesPatchRuleCall {
- c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionSslCertificatesDeleteCall) RequestId(requestId string) *RegionSslCertificatesDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesPatchRuleCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesPatchRuleCall {
+func (c *RegionSslCertificatesDeleteCall) Fields(s ...googleapi.Field) *RegionSslCertificatesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesPatchRuleCall) Context(ctx context.Context) *RegionSecurityPoliciesPatchRuleCall {
+func (c *RegionSslCertificatesDeleteCall) Context(ctx context.Context) *RegionSslCertificatesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesPatchRuleCall) Header() http.Header {
+func (c *RegionSslCertificatesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
- if err != nil {
- return nil, err
- }
+func (c *RegionSslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
@@ -24515,18 +29254,18 @@ func (c *RegionSecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Respo
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
- "securityPolicy": c.securityPolicy,
+ "sslCertificate": c.sslCertificate,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.patchRule", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.patchRule" call.
+// Do executes the "compute.regionSslCertificates.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSecurityPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSslCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24556,70 +29295,78 @@ func (c *RegionSecurityPoliciesPatchRuleCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.patchRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesRemoveRuleCall struct {
+type RegionSslCertificatesGetCall struct {
s *Service
project string
region string
- securityPolicy string
+ sslCertificate string
urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// RemoveRule: Deletes a rule at the specified priority.
+// Get: Returns the specified SslCertificate resource in the specified region.
+// Get
+// a list of available SSL certificates by making a list()
+// request.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - securityPolicy: Name of the security policy to update.
-func (r *RegionSecurityPoliciesService) RemoveRule(project string, region string, securityPolicy string) *RegionSecurityPoliciesRemoveRuleCall {
- c := &RegionSecurityPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - sslCertificate: Name of the SslCertificate resource to return.
+func (r *RegionSslCertificatesService) Get(project string, region string, sslCertificate string) *RegionSslCertificatesGetCall {
+ c := &RegionSslCertificatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.securityPolicy = securityPolicy
- return c
-}
-
-// Priority sets the optional parameter "priority": The priority of the rule to
-// remove from the security policy.
-func (c *RegionSecurityPoliciesRemoveRuleCall) Priority(priority int64) *RegionSecurityPoliciesRemoveRuleCall {
- c.urlParams_.Set("priority", fmt.Sprint(priority))
+ c.sslCertificate = sslCertificate
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesRemoveRuleCall {
+func (c *RegionSslCertificatesGetCall) Fields(s ...googleapi.Field) *RegionSslCertificatesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionSslCertificatesGetCall) IfNoneMatch(entityTag string) *RegionSslCertificatesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesRemoveRuleCall) Context(ctx context.Context) *RegionSecurityPoliciesRemoveRuleCall {
+func (c *RegionSslCertificatesGetCall) Context(ctx context.Context) *RegionSslCertificatesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesRemoveRuleCall) Header() http.Header {
+func (c *RegionSslCertificatesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -24627,18 +29374,18 @@ func (c *RegionSecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Resp
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
- "securityPolicy": c.securityPolicy,
+ "sslCertificate": c.sslCertificate,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.removeRule", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.removeRule" call.
+// Do executes the "compute.regionSslCertificates.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *SslCertificate.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSecurityPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSslCertificatesGetCall) Do(opts ...googleapi.CallOption) (*SslCertificate, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24657,7 +29404,7 @@ func (c *RegionSecurityPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &SslCertificate{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -24668,35 +29415,31 @@ func (c *RegionSecurityPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.removeRule", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSecurityPoliciesSetLabelsCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetlabelsrequest *RegionSetLabelsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSslCertificatesInsertCall struct {
+ s *Service
+ project string
+ region string
+ sslcertificate *SslCertificate
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetLabels: Sets the labels on a security policy. To learn more about
-// labels,
-// read the Labeling Resources
-// documentation.
+// Insert: Creates a SslCertificate resource in the specified project and
+// region using
+// the data included in the request
//
// - project: Project ID for this request.
-// - region: The region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionSecurityPoliciesService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *RegionSecurityPoliciesSetLabelsCall {
- c := &RegionSecurityPoliciesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionSslCertificatesService) Insert(project string, region string, sslcertificate *SslCertificate) *RegionSslCertificatesInsertCall {
+ c := &RegionSslCertificatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
- c.regionsetlabelsrequest = regionsetlabelsrequest
+ c.sslcertificate = sslcertificate
return c
}
@@ -24717,7 +29460,7 @@ func (r *RegionSecurityPoliciesService) SetLabels(project string, region string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSecurityPoliciesSetLabelsCall) RequestId(requestId string) *RegionSecurityPoliciesSetLabelsCall {
+func (c *RegionSslCertificatesInsertCall) RequestId(requestId string) *RegionSslCertificatesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -24725,35 +29468,35 @@ func (c *RegionSecurityPoliciesSetLabelsCall) RequestId(requestId string) *Regio
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSecurityPoliciesSetLabelsCall) Fields(s ...googleapi.Field) *RegionSecurityPoliciesSetLabelsCall {
+func (c *RegionSslCertificatesInsertCall) Fields(s ...googleapi.Field) *RegionSslCertificatesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSecurityPoliciesSetLabelsCall) Context(ctx context.Context) *RegionSecurityPoliciesSetLabelsCall {
+func (c *RegionSslCertificatesInsertCall) Context(ctx context.Context) *RegionSslCertificatesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSecurityPoliciesSetLabelsCall) Header() http.Header {
+func (c *RegionSslCertificatesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSecurityPoliciesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
+func (c *RegionSslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslcertificate)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslCertificates")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -24761,20 +29504,19 @@ func (c *RegionSecurityPoliciesSetLabelsCall) doRequest(alt string) (*http.Respo
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSecurityPolicies.setLabels" call.
+// Do executes the "compute.regionSslCertificates.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSecurityPoliciesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSslCertificatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -24804,11 +29546,11 @@ func (c *RegionSecurityPoliciesSetLabelsCall) Do(opts ...googleapi.CallOption) (
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSecurityPolicies.setLabels", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSnapshotSettingsGetCall struct {
+type RegionSslCertificatesListCall struct {
s *Service
project string
region string
@@ -24818,195 +29560,173 @@ type RegionSnapshotSettingsGetCall struct {
header_ http.Header
}
-// Get: Get region snapshot settings.
+// List: Retrieves the list of SslCertificate resources available to the
+// specified
+// project in the specified region.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionSnapshotSettingsService) Get(project string, region string) *RegionSnapshotSettingsGetCall {
- c := &RegionSnapshotSettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionSslCertificatesService) List(project string, region string) *RegionSslCertificatesListCall {
+ c := &RegionSslCertificatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
}
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionSnapshotSettingsGetCall) Fields(s ...googleapi.Field) *RegionSnapshotSettingsGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionSnapshotSettingsGetCall) IfNoneMatch(entityTag string) *RegionSnapshotSettingsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotSettingsGetCall) Context(ctx context.Context) *RegionSnapshotSettingsGetCall {
- c.ctx_ = ctx
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionSslCertificatesListCall) Filter(filter string) *RegionSslCertificatesListCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionSnapshotSettingsGetCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionSnapshotSettingsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshotSettings")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshotSettings.get", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionSnapshotSettings.get" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *SnapshotSettings.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionSnapshotSettingsGetCall) Do(opts ...googleapi.CallOption) (*SnapshotSettings, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &SnapshotSettings{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshotSettings.get", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionSnapshotSettingsPatchCall struct {
- s *Service
- project string
- region string
- snapshotsettings *SnapshotSettings
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Patch: Patch region snapshot settings.
-//
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionSnapshotSettingsService) Patch(project string, region string, snapshotsettings *SnapshotSettings) *RegionSnapshotSettingsPatchCall {
- c := &RegionSnapshotSettingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.snapshotsettings = snapshotsettings
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionSslCertificatesListCall) MaxResults(maxResults int64) *RegionSslCertificatesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSnapshotSettingsPatchCall) RequestId(requestId string) *RegionSnapshotSettingsPatchCall {
- c.urlParams_.Set("requestId", requestId)
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionSslCertificatesListCall) OrderBy(orderBy string) *RegionSslCertificatesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
return c
}
-// UpdateMask sets the optional parameter "updateMask": update_mask indicates
-// fields to be updated as part of this request.
-func (c *RegionSnapshotSettingsPatchCall) UpdateMask(updateMask string) *RegionSnapshotSettingsPatchCall {
- c.urlParams_.Set("updateMask", updateMask)
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionSslCertificatesListCall) PageToken(pageToken string) *RegionSslCertificatesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSnapshotSettingsPatchCall) Fields(s ...googleapi.Field) *RegionSnapshotSettingsPatchCall {
+func (c *RegionSslCertificatesListCall) Fields(s ...googleapi.Field) *RegionSslCertificatesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionSslCertificatesListCall) IfNoneMatch(entityTag string) *RegionSslCertificatesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotSettingsPatchCall) Context(ctx context.Context) *RegionSnapshotSettingsPatchCall {
+func (c *RegionSslCertificatesListCall) Context(ctx context.Context) *RegionSslCertificatesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSnapshotSettingsPatchCall) Header() http.Header {
+func (c *RegionSslCertificatesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSnapshotSettingsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshotsettings)
- if err != nil {
- return nil, err
+func (c *RegionSslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshotSettings")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslCertificates")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -25015,16 +29735,17 @@ func (c *RegionSnapshotSettingsPatchCall) doRequest(alt string) (*http.Response,
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshotSettings.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSnapshotSettings.patch" call.
+// Do executes the "compute.regionSslCertificates.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotSettingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *SslCertificateList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionSslCertificatesListCall) Do(opts ...googleapi.CallOption) (*SslCertificateList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25043,7 +29764,7 @@ func (c *RegionSnapshotSettingsPatchCall) Do(opts ...googleapi.CallOption) (*Ope
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &SslCertificateList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -25054,40 +29775,58 @@ func (c *RegionSnapshotSettingsPatchCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshotSettings.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSnapshotsDeleteCall struct {
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionSslCertificatesListCall) Pages(ctx context.Context, f func(*SslCertificateList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RegionSslPoliciesDeleteCall struct {
s *Service
project string
region string
- snapshot string
+ sslPolicy string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
-// Delete: Deletes the specified Snapshot resource. Keep in mind that
-// deleting
-// a single snapshot might not necessarily delete all the data on
-// that
-// snapshot. If any data on the snapshot that is marked for deletion is
-// needed for subsequent snapshots, the data will be moved to the
-// next
-// corresponding snapshot.
+// Delete: Deletes the specified SSL policy. The SSL policy resource can be
+// deleted
+// only if it is not in use by any TargetHttpsProxy or
+// TargetSslProxy
+// resources.
//
-// For more information, seeDeleting
-// snapshots.
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - sslPolicy: Name of the SSL policy to delete. The name must be 1-63
+// characters long,
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - snapshot: Name of the snapshot resource to delete.
-func (r *RegionSnapshotsService) Delete(project string, region string, snapshot string) *RegionSnapshotsDeleteCall {
- c := &RegionSnapshotsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// and comply with RFC1035.
+func (r *RegionSslPoliciesService) Delete(project string, region string, sslPolicy string) *RegionSslPoliciesDeleteCall {
+ c := &RegionSslPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.snapshot = snapshot
+ c.sslPolicy = sslPolicy
return c
}
@@ -25108,7 +29847,7 @@ func (r *RegionSnapshotsService) Delete(project string, region string, snapshot
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSnapshotsDeleteCall) RequestId(requestId string) *RegionSnapshotsDeleteCall {
+func (c *RegionSslPoliciesDeleteCall) RequestId(requestId string) *RegionSslPoliciesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -25116,31 +29855,31 @@ func (c *RegionSnapshotsDeleteCall) RequestId(requestId string) *RegionSnapshots
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSnapshotsDeleteCall) Fields(s ...googleapi.Field) *RegionSnapshotsDeleteCall {
+func (c *RegionSslPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionSslPoliciesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsDeleteCall) Context(ctx context.Context) *RegionSnapshotsDeleteCall {
+func (c *RegionSslPoliciesDeleteCall) Context(ctx context.Context) *RegionSslPoliciesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSnapshotsDeleteCall) Header() http.Header {
+func (c *RegionSslPoliciesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSslPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{snapshot}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -25148,20 +29887,20 @@ func (c *RegionSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "snapshot": c.snapshot,
+ "project": c.project,
+ "region": c.region,
+ "sslPolicy": c.sslPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSnapshots.delete" call.
+// Do executes the "compute.regionSslPolicies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSslPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25191,38 +29930,41 @@ func (c *RegionSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSnapshotsGetCall struct {
+type RegionSslPoliciesGetCall struct {
s *Service
project string
region string
- snapshot string
+ sslPolicy string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// Get: Returns the specified Snapshot resource.
+// Get: Lists all of the ordered rules present in a single specified policy.
//
-// - project: Project ID for this request.
-// - region: Name of the region for this request.
-// - snapshot: Name of the Snapshot resource to return.
-func (r *RegionSnapshotsService) Get(project string, region string, snapshot string) *RegionSnapshotsGetCall {
- c := &RegionSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - sslPolicy: Name of the SSL policy to update. The name must be 1-63
+// characters long,
+//
+// and comply with RFC1035.
+func (r *RegionSslPoliciesService) Get(project string, region string, sslPolicy string) *RegionSslPoliciesGetCall {
+ c := &RegionSslPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.snapshot = snapshot
+ c.sslPolicy = sslPolicy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSnapshotsGetCall) Fields(s ...googleapi.Field) *RegionSnapshotsGetCall {
+func (c *RegionSslPoliciesGetCall) Fields(s ...googleapi.Field) *RegionSslPoliciesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -25230,34 +29972,34 @@ func (c *RegionSnapshotsGetCall) Fields(s ...googleapi.Field) *RegionSnapshotsGe
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSnapshotsGetCall) IfNoneMatch(entityTag string) *RegionSnapshotsGetCall {
+func (c *RegionSslPoliciesGetCall) IfNoneMatch(entityTag string) *RegionSslPoliciesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsGetCall) Context(ctx context.Context) *RegionSnapshotsGetCall {
+func (c *RegionSslPoliciesGetCall) Context(ctx context.Context) *RegionSslPoliciesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSnapshotsGetCall) Header() http.Header {
+func (c *RegionSslPoliciesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSslPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{snapshot}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -25265,20 +30007,20 @@ func (c *RegionSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "snapshot": c.snapshot,
+ "project": c.project,
+ "region": c.region,
+ "sslPolicy": c.sslPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSnapshots.get" call.
+// Do executes the "compute.regionSslPolicies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Snapshot.ServerResponse.Header or (if a response was returned at all) in
+// *SslPolicy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Snapshot, error) {
+func (c *RegionSslPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SslPolicy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25297,7 +30039,7 @@ func (c *RegionSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Snapshot, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Snapshot{
+ ret := &SslPolicy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -25308,103 +30050,108 @@ func (c *RegionSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Snapshot, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSnapshotsGetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionSslPoliciesInsertCall struct {
+ s *Service
+ project string
+ region string
+ sslpolicy *SslPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// Insert: Creates a new policy in the specified project and region using the
+// data
+// included in the request.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionSnapshotsService) GetIamPolicy(project string, region string, resource string) *RegionSnapshotsGetIamPolicyCall {
- c := &RegionSnapshotsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionSslPoliciesService) Insert(project string, region string, sslpolicy *SslPolicy) *RegionSslPoliciesInsertCall {
+ c := &RegionSslPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.resource = resource
+ c.sslpolicy = sslpolicy
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *RegionSnapshotsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionSnapshotsGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionSslPoliciesInsertCall) RequestId(requestId string) *RegionSslPoliciesInsertCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSnapshotsGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionSnapshotsGetIamPolicyCall {
+func (c *RegionSslPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionSslPoliciesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionSnapshotsGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionSnapshotsGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsGetIamPolicyCall) Context(ctx context.Context) *RegionSnapshotsGetIamPolicyCall {
+func (c *RegionSslPoliciesInsertCall) Context(ctx context.Context) *RegionSslPoliciesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSnapshotsGetIamPolicyCall) Header() http.Header {
+func (c *RegionSslPoliciesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionSslPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslpolicy)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSnapshots.getIamPolicy" call.
+// Do executes the "compute.regionSslPolicies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *RegionSslPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25423,7 +30170,7 @@ func (c *RegionSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Pol
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -25434,90 +30181,187 @@ func (c *RegionSnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Pol
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSnapshotsInsertCall struct {
- s *Service
- project string
- region string
- snapshot *Snapshot
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSslPoliciesListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a snapshot in the specified region using the data
-// included
-// in the request.
+// List: Lists all the SSL policies that have been configured for the
+// specified
+// project and region.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionSnapshotsService) Insert(project string, region string, snapshot *Snapshot) *RegionSnapshotsInsertCall {
- c := &RegionSnapshotsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionSslPoliciesService) List(project string, region string) *RegionSslPoliciesListCall {
+ c := &RegionSslPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.snapshot = snapshot
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSnapshotsInsertCall) RequestId(requestId string) *RegionSnapshotsInsertCall {
- c.urlParams_.Set("requestId", requestId)
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionSslPoliciesListCall) Filter(filter string) *RegionSslPoliciesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionSslPoliciesListCall) MaxResults(maxResults int64) *RegionSslPoliciesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionSslPoliciesListCall) OrderBy(orderBy string) *RegionSslPoliciesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionSslPoliciesListCall) PageToken(pageToken string) *RegionSslPoliciesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSnapshotsInsertCall) Fields(s ...googleapi.Field) *RegionSnapshotsInsertCall {
+func (c *RegionSslPoliciesListCall) Fields(s ...googleapi.Field) *RegionSslPoliciesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionSslPoliciesListCall) IfNoneMatch(entityTag string) *RegionSslPoliciesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsInsertCall) Context(ctx context.Context) *RegionSnapshotsInsertCall {
+func (c *RegionSslPoliciesListCall) Context(ctx context.Context) *RegionSslPoliciesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSnapshotsInsertCall) Header() http.Header {
+func (c *RegionSslPoliciesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshot)
- if err != nil {
- return nil, err
+func (c *RegionSslPoliciesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -25526,16 +30370,17 @@ func (c *RegionSnapshotsInsertCall) doRequest(alt string) (*http.Response, error
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSnapshots.insert" call.
+// Do executes the "compute.regionSslPolicies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *SslPoliciesList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionSslPoliciesListCall) Do(opts ...googleapi.CallOption) (*SslPoliciesList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -25554,7 +30399,7 @@ func (c *RegionSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operation
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &SslPoliciesList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -25565,11 +30410,32 @@ func (c *RegionSnapshotsInsertCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSnapshotsListCall struct {
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionSslPoliciesListCall) Pages(ctx context.Context, f func(*SslPoliciesList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RegionSslPoliciesListAvailableFeaturesCall struct {
s *Service
project string
region string
@@ -25579,13 +30445,14 @@ type RegionSnapshotsListCall struct {
header_ http.Header
}
-// List: Retrieves the list of Snapshot resources contained within
-// the specified region.
+// ListAvailableFeatures: Lists all features that can be specified in the SSL
+// policy when using
+// custom profile.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *RegionSnapshotsService) List(project string, region string) *RegionSnapshotsListCall {
- c := &RegionSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+func (r *RegionSslPoliciesService) ListAvailableFeatures(project string, region string) *RegionSslPoliciesListAvailableFeaturesCall {
+ c := &RegionSslPoliciesListAvailableFeaturesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -25658,7 +30525,7 @@ func (r *RegionSnapshotsService) List(project string, region string) *RegionSnap
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionSnapshotsListCall) Filter(filter string) *RegionSnapshotsListCall {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) Filter(filter string) *RegionSslPoliciesListAvailableFeaturesCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -25670,7 +30537,7 @@ func (c *RegionSnapshotsListCall) Filter(filter string) *RegionSnapshotsListCall
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionSnapshotsListCall) MaxResults(maxResults int64) *RegionSnapshotsListCall {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) MaxResults(maxResults int64) *RegionSslPoliciesListAvailableFeaturesCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -25690,7 +30557,7 @@ func (c *RegionSnapshotsListCall) MaxResults(maxResults int64) *RegionSnapshotsL
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionSnapshotsListCall) OrderBy(orderBy string) *RegionSnapshotsListCall {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) OrderBy(orderBy string) *RegionSslPoliciesListAvailableFeaturesCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -25699,30 +30566,15 @@ func (c *RegionSnapshotsListCall) OrderBy(orderBy string) *RegionSnapshotsListCa
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionSnapshotsListCall) PageToken(pageToken string) *RegionSnapshotsListCall {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) PageToken(pageToken string) *RegionSslPoliciesListAvailableFeaturesCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionSnapshotsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionSnapshotsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSnapshotsListCall) Fields(s ...googleapi.Field) *RegionSnapshotsListCall {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) Fields(s ...googleapi.Field) *RegionSslPoliciesListAvailableFeaturesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -25730,34 +30582,34 @@ func (c *RegionSnapshotsListCall) Fields(s ...googleapi.Field) *RegionSnapshotsL
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSnapshotsListCall) IfNoneMatch(entityTag string) *RegionSnapshotsListCall {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) IfNoneMatch(entityTag string) *RegionSslPoliciesListAvailableFeaturesCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsListCall) Context(ctx context.Context) *RegionSnapshotsListCall {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) Context(ctx context.Context) *RegionSslPoliciesListAvailableFeaturesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSnapshotsListCall) Header() http.Header {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionSslPoliciesListAvailableFeaturesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -25768,399 +30620,17 @@ func (c *RegionSnapshotsListCall) doRequest(alt string) (*http.Response, error)
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.list", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionSnapshots.list" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *SnapshotList.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotsListCall) Do(opts ...googleapi.CallOption) (*SnapshotList, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &SnapshotList{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.list", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionSnapshotsListCall) Pages(ctx context.Context, f func(*SnapshotList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type RegionSnapshotsSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
-//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionSnapshotsService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionSnapshotsSetIamPolicyCall {
- c := &RegionSnapshotsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionSnapshotsSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionSnapshotsSetIamPolicyCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsSetIamPolicyCall) Context(ctx context.Context) *RegionSnapshotsSetIamPolicyCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionSnapshotsSetIamPolicyCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionSnapshots.setIamPolicy" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Policy{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.setIamPolicy", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionSnapshotsSetLabelsCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetlabelsrequest *RegionSetLabelsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// SetLabels: Sets the labels on a regional snapshot. To learn more about
-// labels, read
-// the Labeling Resources
-// documentation.
-//
-// - project: Project ID for this request.
-// - region: The region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionSnapshotsService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *RegionSnapshotsSetLabelsCall {
- c := &RegionSnapshotsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.resource = resource
- c.regionsetlabelsrequest = regionsetlabelsrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSnapshotsSetLabelsCall) RequestId(requestId string) *RegionSnapshotsSetLabelsCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionSnapshotsSetLabelsCall) Fields(s ...googleapi.Field) *RegionSnapshotsSetLabelsCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsSetLabelsCall) Context(ctx context.Context) *RegionSnapshotsSetLabelsCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionSnapshotsSetLabelsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionSnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{resource}/setLabels")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.setLabels", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionSnapshots.setLabels" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.setLabels", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionSnapshotsTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
-//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *RegionSnapshotsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionSnapshotsTestIamPermissionsCall {
- c := &RegionSnapshotsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionSnapshotsTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionSnapshotsTestIamPermissionsCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsTestIamPermissionsCall) Context(ctx context.Context) *RegionSnapshotsTestIamPermissionsCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionSnapshotsTestIamPermissionsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.listAvailableFeatures", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSnapshots.testIamPermissions" call.
+// Do executes the "compute.regionSslPolicies.listAvailableFeatures" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
+// *SslPoliciesListAvailableFeaturesResponse.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *RegionSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *RegionSslPoliciesListAvailableFeaturesCall) Do(opts ...googleapi.CallOption) (*SslPoliciesListAvailableFeaturesResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26179,7 +30649,7 @@ func (c *RegionSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &SslPoliciesListAvailableFeaturesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -26190,34 +30660,36 @@ func (c *RegionSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.listAvailableFeatures", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSnapshotsUpdateKmsKeyCall struct {
- s *Service
- project string
- region string
- snapshot string
- regionsnapshotupdatekmskeyrequest *RegionSnapshotUpdateKmsKeyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionSslPoliciesPatchCall struct {
+ s *Service
+ project string
+ region string
+ sslPolicy string
+ sslpolicy *SslPolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// UpdateKmsKey: Rotates the customer-managed
-// encryption key to the latest version for the specified snapshot.
+// Patch: Patches the specified SSL policy with the data included in the
+// request.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-// - snapshot: Name of the snapshot resource to update. Should conform to
-// RFC1035.
-func (r *RegionSnapshotsService) UpdateKmsKey(project string, region string, snapshot string, regionsnapshotupdatekmskeyrequest *RegionSnapshotUpdateKmsKeyRequest) *RegionSnapshotsUpdateKmsKeyCall {
- c := &RegionSnapshotsUpdateKmsKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+// - sslPolicy: Name of the SSL policy to update. The name must be 1-63
+// characters long,
+//
+// and comply with RFC1035.
+func (r *RegionSslPoliciesService) Patch(project string, region string, sslPolicy string, sslpolicy *SslPolicy) *RegionSslPoliciesPatchCall {
+ c := &RegionSslPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.snapshot = snapshot
- c.regionsnapshotupdatekmskeyrequest = regionsnapshotupdatekmskeyrequest
+ c.sslPolicy = sslPolicy
+ c.sslpolicy = sslpolicy
return c
}
@@ -26238,7 +30710,7 @@ func (r *RegionSnapshotsService) UpdateKmsKey(project string, region string, sna
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSnapshotsUpdateKmsKeyCall) RequestId(requestId string) *RegionSnapshotsUpdateKmsKeyCall {
+func (c *RegionSslPoliciesPatchCall) RequestId(requestId string) *RegionSslPoliciesPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -26246,56 +30718,56 @@ func (c *RegionSnapshotsUpdateKmsKeyCall) RequestId(requestId string) *RegionSna
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSnapshotsUpdateKmsKeyCall) Fields(s ...googleapi.Field) *RegionSnapshotsUpdateKmsKeyCall {
+func (c *RegionSslPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionSslPoliciesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSnapshotsUpdateKmsKeyCall) Context(ctx context.Context) *RegionSnapshotsUpdateKmsKeyCall {
+func (c *RegionSslPoliciesPatchCall) Context(ctx context.Context) *RegionSslPoliciesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSnapshotsUpdateKmsKeyCall) Header() http.Header {
+func (c *RegionSslPoliciesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSnapshotsUpdateKmsKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsnapshotupdatekmskeyrequest)
+func (c *RegionSslPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslpolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/snapshots/{snapshot}/updateKmsKey")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "snapshot": c.snapshot,
+ "project": c.project,
+ "region": c.region,
+ "sslPolicy": c.sslPolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSnapshots.updateKmsKey", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSnapshots.updateKmsKey" call.
+// Do executes the "compute.regionSslPolicies.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSnapshotsUpdateKmsKeyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionSslPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26325,30 +30797,30 @@ func (c *RegionSnapshotsUpdateKmsKeyCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSnapshots.updateKmsKey", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSslCertificatesDeleteCall struct {
- s *Service
- project string
- region string
- sslCertificate string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionTargetHttpProxiesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ targetHttpProxy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified SslCertificate resource in the region.
+// Delete: Deletes the specified TargetHttpProxy resource.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - sslCertificate: Name of the SslCertificate resource to delete.
-func (r *RegionSslCertificatesService) Delete(project string, region string, sslCertificate string) *RegionSslCertificatesDeleteCall {
- c := &RegionSslCertificatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - targetHttpProxy: Name of the TargetHttpProxy resource to delete.
+func (r *RegionTargetHttpProxiesService) Delete(project string, region string, targetHttpProxy string) *RegionTargetHttpProxiesDeleteCall {
+ c := &RegionTargetHttpProxiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.sslCertificate = sslCertificate
+ c.targetHttpProxy = targetHttpProxy
return c
}
@@ -26369,7 +30841,7 @@ func (r *RegionSslCertificatesService) Delete(project string, region string, ssl
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSslCertificatesDeleteCall) RequestId(requestId string) *RegionSslCertificatesDeleteCall {
+func (c *RegionTargetHttpProxiesDeleteCall) RequestId(requestId string) *RegionTargetHttpProxiesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -26377,31 +30849,31 @@ func (c *RegionSslCertificatesDeleteCall) RequestId(requestId string) *RegionSsl
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslCertificatesDeleteCall) Fields(s ...googleapi.Field) *RegionSslCertificatesDeleteCall {
+func (c *RegionTargetHttpProxiesDeleteCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslCertificatesDeleteCall) Context(ctx context.Context) *RegionSslCertificatesDeleteCall {
+func (c *RegionTargetHttpProxiesDeleteCall) Context(ctx context.Context) *RegionTargetHttpProxiesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslCertificatesDeleteCall) Header() http.Header {
+func (c *RegionTargetHttpProxiesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -26409,20 +30881,20 @@ func (c *RegionSslCertificatesDeleteCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "sslCertificate": c.sslCertificate,
+ "project": c.project,
+ "region": c.region,
+ "targetHttpProxy": c.targetHttpProxy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslCertificates.delete" call.
+// Do executes the "compute.regionTargetHttpProxies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSslCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionTargetHttpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26452,41 +30924,38 @@ func (c *RegionSslCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSslCertificatesGetCall struct {
- s *Service
- project string
- region string
- sslCertificate string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionTargetHttpProxiesGetCall struct {
+ s *Service
+ project string
+ region string
+ targetHttpProxy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified SslCertificate resource in the specified region.
-// Get
-// a list of available SSL certificates by making a list()
-// request.
+// Get: Returns the specified TargetHttpProxy resource in the specified region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - sslCertificate: Name of the SslCertificate resource to return.
-func (r *RegionSslCertificatesService) Get(project string, region string, sslCertificate string) *RegionSslCertificatesGetCall {
- c := &RegionSslCertificatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - targetHttpProxy: Name of the TargetHttpProxy resource to return.
+func (r *RegionTargetHttpProxiesService) Get(project string, region string, targetHttpProxy string) *RegionTargetHttpProxiesGetCall {
+ c := &RegionTargetHttpProxiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.sslCertificate = sslCertificate
+ c.targetHttpProxy = targetHttpProxy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslCertificatesGetCall) Fields(s ...googleapi.Field) *RegionSslCertificatesGetCall {
+func (c *RegionTargetHttpProxiesGetCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -26494,34 +30963,34 @@ func (c *RegionSslCertificatesGetCall) Fields(s ...googleapi.Field) *RegionSslCe
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSslCertificatesGetCall) IfNoneMatch(entityTag string) *RegionSslCertificatesGetCall {
+func (c *RegionTargetHttpProxiesGetCall) IfNoneMatch(entityTag string) *RegionTargetHttpProxiesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslCertificatesGetCall) Context(ctx context.Context) *RegionSslCertificatesGetCall {
+func (c *RegionTargetHttpProxiesGetCall) Context(ctx context.Context) *RegionTargetHttpProxiesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslCertificatesGetCall) Header() http.Header {
+func (c *RegionTargetHttpProxiesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -26529,20 +30998,21 @@ func (c *RegionSslCertificatesGetCall) doRequest(alt string) (*http.Response, er
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "sslCertificate": c.sslCertificate,
+ "project": c.project,
+ "region": c.region,
+ "targetHttpProxy": c.targetHttpProxy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslCertificates.get" call.
+// Do executes the "compute.regionTargetHttpProxies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SslCertificate.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSslCertificatesGetCall) Do(opts ...googleapi.CallOption) (*SslCertificate, error) {
+// *TargetHttpProxy.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionTargetHttpProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetHttpProxy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26561,7 +31031,7 @@ func (c *RegionSslCertificatesGetCall) Do(opts ...googleapi.CallOption) (*SslCer
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SslCertificate{
+ ret := &TargetHttpProxy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -26572,31 +31042,31 @@ func (c *RegionSslCertificatesGetCall) Do(opts ...googleapi.CallOption) (*SslCer
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSslCertificatesInsertCall struct {
- s *Service
- project string
- region string
- sslcertificate *SslCertificate
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionTargetHttpProxiesInsertCall struct {
+ s *Service
+ project string
+ region string
+ targethttpproxy *TargetHttpProxy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a SslCertificate resource in the specified project and
-// region using
-// the data included in the request
+// Insert: Creates a TargetHttpProxy resource in the specified project and
+// region
+// using the data included in the request.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionSslCertificatesService) Insert(project string, region string, sslcertificate *SslCertificate) *RegionSslCertificatesInsertCall {
- c := &RegionSslCertificatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionTargetHttpProxiesService) Insert(project string, region string, targethttpproxy *TargetHttpProxy) *RegionTargetHttpProxiesInsertCall {
+ c := &RegionTargetHttpProxiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.sslcertificate = sslcertificate
+ c.targethttpproxy = targethttpproxy
return c
}
@@ -26617,7 +31087,7 @@ func (r *RegionSslCertificatesService) Insert(project string, region string, ssl
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSslCertificatesInsertCall) RequestId(requestId string) *RegionSslCertificatesInsertCall {
+func (c *RegionTargetHttpProxiesInsertCall) RequestId(requestId string) *RegionTargetHttpProxiesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -26625,35 +31095,35 @@ func (c *RegionSslCertificatesInsertCall) RequestId(requestId string) *RegionSsl
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslCertificatesInsertCall) Fields(s ...googleapi.Field) *RegionSslCertificatesInsertCall {
+func (c *RegionTargetHttpProxiesInsertCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslCertificatesInsertCall) Context(ctx context.Context) *RegionSslCertificatesInsertCall {
+func (c *RegionTargetHttpProxiesInsertCall) Context(ctx context.Context) *RegionTargetHttpProxiesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslCertificatesInsertCall) Header() http.Header {
+func (c *RegionTargetHttpProxiesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslcertificate)
+func (c *RegionTargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpproxy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslCertificates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -26664,16 +31134,16 @@ func (c *RegionSslCertificatesInsertCall) doRequest(alt string) (*http.Response,
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslCertificates.insert" call.
+// Do executes the "compute.regionTargetHttpProxies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSslCertificatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionTargetHttpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26703,11 +31173,11 @@ func (c *RegionSslCertificatesInsertCall) Do(opts ...googleapi.CallOption) (*Ope
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSslCertificatesListCall struct {
+type RegionTargetHttpProxiesListCall struct {
s *Service
project string
region string
@@ -26717,14 +31187,13 @@ type RegionSslCertificatesListCall struct {
header_ http.Header
}
-// List: Retrieves the list of SslCertificate resources available to the
-// specified
-// project in the specified region.
+// List: Retrieves the list of TargetHttpProxy resources available
+// to the specified project in the specified region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionSslCertificatesService) List(project string, region string) *RegionSslCertificatesListCall {
- c := &RegionSslCertificatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionTargetHttpProxiesService) List(project string, region string) *RegionTargetHttpProxiesListCall {
+ c := &RegionTargetHttpProxiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -26797,7 +31266,7 @@ func (r *RegionSslCertificatesService) List(project string, region string) *Regi
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionSslCertificatesListCall) Filter(filter string) *RegionSslCertificatesListCall {
+func (c *RegionTargetHttpProxiesListCall) Filter(filter string) *RegionTargetHttpProxiesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -26809,7 +31278,7 @@ func (c *RegionSslCertificatesListCall) Filter(filter string) *RegionSslCertific
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionSslCertificatesListCall) MaxResults(maxResults int64) *RegionSslCertificatesListCall {
+func (c *RegionTargetHttpProxiesListCall) MaxResults(maxResults int64) *RegionTargetHttpProxiesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -26829,7 +31298,7 @@ func (c *RegionSslCertificatesListCall) MaxResults(maxResults int64) *RegionSslC
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionSslCertificatesListCall) OrderBy(orderBy string) *RegionSslCertificatesListCall {
+func (c *RegionTargetHttpProxiesListCall) OrderBy(orderBy string) *RegionTargetHttpProxiesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -26838,30 +31307,15 @@ func (c *RegionSslCertificatesListCall) OrderBy(orderBy string) *RegionSslCertif
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionSslCertificatesListCall) PageToken(pageToken string) *RegionSslCertificatesListCall {
+func (c *RegionTargetHttpProxiesListCall) PageToken(pageToken string) *RegionTargetHttpProxiesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionSslCertificatesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionSslCertificatesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslCertificatesListCall) Fields(s ...googleapi.Field) *RegionSslCertificatesListCall {
+func (c *RegionTargetHttpProxiesListCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -26869,34 +31323,34 @@ func (c *RegionSslCertificatesListCall) Fields(s ...googleapi.Field) *RegionSslC
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSslCertificatesListCall) IfNoneMatch(entityTag string) *RegionSslCertificatesListCall {
+func (c *RegionTargetHttpProxiesListCall) IfNoneMatch(entityTag string) *RegionTargetHttpProxiesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslCertificatesListCall) Context(ctx context.Context) *RegionSslCertificatesListCall {
+func (c *RegionTargetHttpProxiesListCall) Context(ctx context.Context) *RegionTargetHttpProxiesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslCertificatesListCall) Header() http.Header {
+func (c *RegionTargetHttpProxiesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslCertificates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -26907,17 +31361,17 @@ func (c *RegionSslCertificatesListCall) doRequest(alt string) (*http.Response, e
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslCertificates.list" call.
+// Do executes the "compute.regionTargetHttpProxies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SslCertificateList.ServerResponse.Header or (if a response was returned at
+// *TargetHttpProxyList.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RegionSslCertificatesListCall) Do(opts ...googleapi.CallOption) (*SslCertificateList, error) {
+func (c *RegionTargetHttpProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHttpProxyList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -26936,7 +31390,7 @@ func (c *RegionSslCertificatesListCall) Do(opts ...googleapi.CallOption) (*SslCe
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SslCertificateList{
+ ret := &TargetHttpProxyList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -26947,14 +31401,14 @@ func (c *RegionSslCertificatesListCall) Do(opts ...googleapi.CallOption) (*SslCe
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslCertificates.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionSslCertificatesListCall) Pages(ctx context.Context, f func(*SslCertificateList) error) error {
+func (c *RegionTargetHttpProxiesListCall) Pages(ctx context.Context, f func(*TargetHttpProxyList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -26972,33 +31426,159 @@ func (c *RegionSslCertificatesListCall) Pages(ctx context.Context, f func(*SslCe
}
}
-type RegionSslPoliciesDeleteCall struct {
- s *Service
- project string
- region string
- sslPolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionTargetHttpProxiesSetUrlMapCall struct {
+ s *Service
+ project string
+ region string
+ targetHttpProxy string
+ urlmapreference *UrlMapReference
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified SSL policy. The SSL policy resource can be
-// deleted
-// only if it is not in use by any TargetHttpsProxy or
-// TargetSslProxy
-// resources.
+// SetUrlMap: Changes the URL map for TargetHttpProxy.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - sslPolicy: Name of the SSL policy to delete. The name must be 1-63
-// characters long,
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - targetHttpProxy: Name of the TargetHttpProxy to set a URL map for.
+func (r *RegionTargetHttpProxiesService) SetUrlMap(project string, region string, targetHttpProxy string, urlmapreference *UrlMapReference) *RegionTargetHttpProxiesSetUrlMapCall {
+ c := &RegionTargetHttpProxiesSetUrlMapCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.targetHttpProxy = targetHttpProxy
+ c.urlmapreference = urlmapreference
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// and comply with RFC1035.
-func (r *RegionSslPoliciesService) Delete(project string, region string, sslPolicy string) *RegionSslPoliciesDeleteCall {
- c := &RegionSslPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionTargetHttpProxiesSetUrlMapCall) RequestId(requestId string) *RegionTargetHttpProxiesSetUrlMapCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionTargetHttpProxiesSetUrlMapCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesSetUrlMapCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RegionTargetHttpProxiesSetUrlMapCall) Context(ctx context.Context) *RegionTargetHttpProxiesSetUrlMapCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionTargetHttpProxiesSetUrlMapCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionTargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmapreference)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "targetHttpProxy": c.targetHttpProxy,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.setUrlMap", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionTargetHttpProxies.setUrlMap" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionTargetHttpProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.setUrlMap", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionTargetHttpsProxiesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ targetHttpsProxy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified TargetHttpsProxy resource.
+//
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - targetHttpsProxy: Name of the TargetHttpsProxy resource to delete.
+func (r *RegionTargetHttpsProxiesService) Delete(project string, region string, targetHttpsProxy string) *RegionTargetHttpsProxiesDeleteCall {
+ c := &RegionTargetHttpsProxiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.sslPolicy = sslPolicy
+ c.targetHttpsProxy = targetHttpsProxy
return c
}
@@ -27019,7 +31599,7 @@ func (r *RegionSslPoliciesService) Delete(project string, region string, sslPoli
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSslPoliciesDeleteCall) RequestId(requestId string) *RegionSslPoliciesDeleteCall {
+func (c *RegionTargetHttpsProxiesDeleteCall) RequestId(requestId string) *RegionTargetHttpsProxiesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -27027,31 +31607,31 @@ func (c *RegionSslPoliciesDeleteCall) RequestId(requestId string) *RegionSslPoli
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionSslPoliciesDeleteCall {
+func (c *RegionTargetHttpsProxiesDeleteCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslPoliciesDeleteCall) Context(ctx context.Context) *RegionSslPoliciesDeleteCall {
+func (c *RegionTargetHttpsProxiesDeleteCall) Context(ctx context.Context) *RegionTargetHttpsProxiesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslPoliciesDeleteCall) Header() http.Header {
+func (c *RegionTargetHttpsProxiesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -27059,20 +31639,20 @@ func (c *RegionSslPoliciesDeleteCall) doRequest(alt string) (*http.Response, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "sslPolicy": c.sslPolicy,
+ "project": c.project,
+ "region": c.region,
+ "targetHttpsProxy": c.targetHttpsProxy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslPolicies.delete" call.
+// Do executes the "compute.regionTargetHttpsProxies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSslPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionTargetHttpsProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27102,41 +31682,39 @@ func (c *RegionSslPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSslPoliciesGetCall struct {
- s *Service
- project string
- region string
- sslPolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionTargetHttpsProxiesGetCall struct {
+ s *Service
+ project string
+ region string
+ targetHttpsProxy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Lists all of the ordered rules present in a single specified policy.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - sslPolicy: Name of the SSL policy to update. The name must be 1-63
-// characters long,
+// Get: Returns the specified TargetHttpsProxy resource in the specified
+// region.
//
-// and comply with RFC1035.
-func (r *RegionSslPoliciesService) Get(project string, region string, sslPolicy string) *RegionSslPoliciesGetCall {
- c := &RegionSslPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - targetHttpsProxy: Name of the TargetHttpsProxy resource to return.
+func (r *RegionTargetHttpsProxiesService) Get(project string, region string, targetHttpsProxy string) *RegionTargetHttpsProxiesGetCall {
+ c := &RegionTargetHttpsProxiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.sslPolicy = sslPolicy
+ c.targetHttpsProxy = targetHttpsProxy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslPoliciesGetCall) Fields(s ...googleapi.Field) *RegionSslPoliciesGetCall {
+func (c *RegionTargetHttpsProxiesGetCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -27144,34 +31722,34 @@ func (c *RegionSslPoliciesGetCall) Fields(s ...googleapi.Field) *RegionSslPolici
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSslPoliciesGetCall) IfNoneMatch(entityTag string) *RegionSslPoliciesGetCall {
+func (c *RegionTargetHttpsProxiesGetCall) IfNoneMatch(entityTag string) *RegionTargetHttpsProxiesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslPoliciesGetCall) Context(ctx context.Context) *RegionSslPoliciesGetCall {
+func (c *RegionTargetHttpsProxiesGetCall) Context(ctx context.Context) *RegionTargetHttpsProxiesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslPoliciesGetCall) Header() http.Header {
+func (c *RegionTargetHttpsProxiesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -27179,20 +31757,21 @@ func (c *RegionSslPoliciesGetCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "sslPolicy": c.sslPolicy,
+ "project": c.project,
+ "region": c.region,
+ "targetHttpsProxy": c.targetHttpsProxy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslPolicies.get" call.
+// Do executes the "compute.regionTargetHttpsProxies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SslPolicy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSslPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SslPolicy, error) {
+// *TargetHttpsProxy.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionTargetHttpsProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetHttpsProxy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27211,7 +31790,7 @@ func (c *RegionSslPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SslPolicy,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SslPolicy{
+ ret := &TargetHttpsProxy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -27222,31 +31801,31 @@ func (c *RegionSslPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SslPolicy,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSslPoliciesInsertCall struct {
- s *Service
- project string
- region string
- sslpolicy *SslPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionTargetHttpsProxiesInsertCall struct {
+ s *Service
+ project string
+ region string
+ targethttpsproxy *TargetHttpsProxy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a new policy in the specified project and region using the
-// data
-// included in the request.
+// Insert: Creates a TargetHttpsProxy resource in the specified project and
+// region
+// using the data included in the request.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionSslPoliciesService) Insert(project string, region string, sslpolicy *SslPolicy) *RegionSslPoliciesInsertCall {
- c := &RegionSslPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionTargetHttpsProxiesService) Insert(project string, region string, targethttpsproxy *TargetHttpsProxy) *RegionTargetHttpsProxiesInsertCall {
+ c := &RegionTargetHttpsProxiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.sslpolicy = sslpolicy
+ c.targethttpsproxy = targethttpsproxy
return c
}
@@ -27267,7 +31846,7 @@ func (r *RegionSslPoliciesService) Insert(project string, region string, sslpoli
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSslPoliciesInsertCall) RequestId(requestId string) *RegionSslPoliciesInsertCall {
+func (c *RegionTargetHttpsProxiesInsertCall) RequestId(requestId string) *RegionTargetHttpsProxiesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -27275,35 +31854,35 @@ func (c *RegionSslPoliciesInsertCall) RequestId(requestId string) *RegionSslPoli
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionSslPoliciesInsertCall {
+func (c *RegionTargetHttpsProxiesInsertCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslPoliciesInsertCall) Context(ctx context.Context) *RegionSslPoliciesInsertCall {
+func (c *RegionTargetHttpsProxiesInsertCall) Context(ctx context.Context) *RegionTargetHttpsProxiesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslPoliciesInsertCall) Header() http.Header {
+func (c *RegionTargetHttpsProxiesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslpolicy)
+func (c *RegionTargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -27314,16 +31893,16 @@ func (c *RegionSslPoliciesInsertCall) doRequest(alt string) (*http.Response, err
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslPolicies.insert" call.
+// Do executes the "compute.regionTargetHttpsProxies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSslPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionTargetHttpsProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27353,11 +31932,11 @@ func (c *RegionSslPoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSslPoliciesListCall struct {
+type RegionTargetHttpsProxiesListCall struct {
s *Service
project string
region string
@@ -27367,14 +31946,13 @@ type RegionSslPoliciesListCall struct {
header_ http.Header
}
-// List: Lists all the SSL policies that have been configured for the
-// specified
-// project and region.
+// List: Retrieves the list of TargetHttpsProxy resources available
+// to the specified project in the specified region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionSslPoliciesService) List(project string, region string) *RegionSslPoliciesListCall {
- c := &RegionSslPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionTargetHttpsProxiesService) List(project string, region string) *RegionTargetHttpsProxiesListCall {
+ c := &RegionTargetHttpsProxiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -27447,7 +32025,7 @@ func (r *RegionSslPoliciesService) List(project string, region string) *RegionSs
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionSslPoliciesListCall) Filter(filter string) *RegionSslPoliciesListCall {
+func (c *RegionTargetHttpsProxiesListCall) Filter(filter string) *RegionTargetHttpsProxiesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -27459,7 +32037,7 @@ func (c *RegionSslPoliciesListCall) Filter(filter string) *RegionSslPoliciesList
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionSslPoliciesListCall) MaxResults(maxResults int64) *RegionSslPoliciesListCall {
+func (c *RegionTargetHttpsProxiesListCall) MaxResults(maxResults int64) *RegionTargetHttpsProxiesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -27479,7 +32057,7 @@ func (c *RegionSslPoliciesListCall) MaxResults(maxResults int64) *RegionSslPolic
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionSslPoliciesListCall) OrderBy(orderBy string) *RegionSslPoliciesListCall {
+func (c *RegionTargetHttpsProxiesListCall) OrderBy(orderBy string) *RegionTargetHttpsProxiesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -27488,30 +32066,15 @@ func (c *RegionSslPoliciesListCall) OrderBy(orderBy string) *RegionSslPoliciesLi
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionSslPoliciesListCall) PageToken(pageToken string) *RegionSslPoliciesListCall {
+func (c *RegionTargetHttpsProxiesListCall) PageToken(pageToken string) *RegionTargetHttpsProxiesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionSslPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionSslPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslPoliciesListCall) Fields(s ...googleapi.Field) *RegionSslPoliciesListCall {
+func (c *RegionTargetHttpsProxiesListCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -27519,34 +32082,34 @@ func (c *RegionSslPoliciesListCall) Fields(s ...googleapi.Field) *RegionSslPolic
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionSslPoliciesListCall) IfNoneMatch(entityTag string) *RegionSslPoliciesListCall {
+func (c *RegionTargetHttpsProxiesListCall) IfNoneMatch(entityTag string) *RegionTargetHttpsProxiesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslPoliciesListCall) Context(ctx context.Context) *RegionSslPoliciesListCall {
+func (c *RegionTargetHttpsProxiesListCall) Context(ctx context.Context) *RegionTargetHttpsProxiesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslPoliciesListCall) Header() http.Header {
+func (c *RegionTargetHttpsProxiesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -27557,17 +32120,17 @@ func (c *RegionSslPoliciesListCall) doRequest(alt string) (*http.Response, error
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslPolicies.list" call.
+// Do executes the "compute.regionTargetHttpsProxies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SslPoliciesList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *TargetHttpsProxyList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RegionSslPoliciesListCall) Do(opts ...googleapi.CallOption) (*SslPoliciesList, error) {
+func (c *RegionTargetHttpsProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHttpsProxyList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27586,7 +32149,7 @@ func (c *RegionSslPoliciesListCall) Do(opts ...googleapi.CallOption) (*SslPolici
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SslPoliciesList{
+ ret := &TargetHttpsProxyList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -27597,14 +32160,14 @@ func (c *RegionSslPoliciesListCall) Do(opts ...googleapi.CallOption) (*SslPolici
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionSslPoliciesListCall) Pages(ctx context.Context, f func(*SslPoliciesList) error) error {
+func (c *RegionTargetHttpsProxiesListCall) Pages(ctx context.Context, f func(*TargetHttpsProxyList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -27622,217 +32185,246 @@ func (c *RegionSslPoliciesListCall) Pages(ctx context.Context, f func(*SslPolici
}
}
-type RegionSslPoliciesListAvailableFeaturesCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionTargetHttpsProxiesPatchCall struct {
+ s *Service
+ project string
+ region string
+ targetHttpsProxy string
+ targethttpsproxy *TargetHttpsProxy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ListAvailableFeatures: Lists all features that can be specified in the SSL
-// policy when using
-// custom profile.
+// Patch: Patches the specified regional TargetHttpsProxy resource with the
+// data
+// included in the request. This method supports PATCH
+// semantics and usesJSON merge
+// patch format and processing rules.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionSslPoliciesService) ListAvailableFeatures(project string, region string) *RegionSslPoliciesListAvailableFeaturesCall {
- c := &RegionSslPoliciesListAvailableFeaturesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+// - targetHttpsProxy: Name of the TargetHttpsProxy resource to patch.
+func (r *RegionTargetHttpsProxiesService) Patch(project string, region string, targetHttpsProxy string, targethttpsproxy *TargetHttpsProxy) *RegionTargetHttpsProxiesPatchCall {
+ c := &RegionTargetHttpsProxiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
+ c.targetHttpsProxy = targetHttpsProxy
+ c.targethttpsproxy = targethttpsproxy
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) Filter(filter string) *RegionSslPoliciesListAvailableFeaturesCall {
- c.urlParams_.Set("filter", filter)
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionTargetHttpsProxiesPatchCall) RequestId(requestId string) *RegionTargetHttpsProxiesPatchCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionSslPoliciesListAvailableFeaturesCall) MaxResults(maxResults int64) *RegionSslPoliciesListAvailableFeaturesCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RegionTargetHttpsProxiesPatchCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
-//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
-//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) OrderBy(orderBy string) *RegionSslPoliciesListAvailableFeaturesCall {
- c.urlParams_.Set("orderBy", orderBy)
+// Context sets the context to be used in this call's Do method.
+func (c *RegionTargetHttpsProxiesPatchCall) Context(ctx context.Context) *RegionTargetHttpsProxiesPatchCall {
+ c.ctx_ = ctx
return c
}
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) PageToken(pageToken string) *RegionSslPoliciesListAvailableFeaturesCall {
- c.urlParams_.Set("pageToken", pageToken)
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RegionTargetHttpsProxiesPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionTargetHttpsProxiesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxy)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("PATCH", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "targetHttpsProxy": c.targetHttpsProxy,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionTargetHttpsProxies.patch" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionTargetHttpsProxiesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.patch", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type RegionTargetHttpsProxiesSetSslCertificatesCall struct {
+ s *Service
+ project string
+ region string
+ targetHttpsProxy string
+ regiontargethttpsproxiessetsslcertificatesrequest *RegionTargetHttpsProxiesSetSslCertificatesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetSslCertificates: Replaces SslCertificates for TargetHttpsProxy.
+//
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - targetHttpsProxy: Name of the TargetHttpsProxy resource to set
+// an
+//
+// SslCertificates resource for.
+func (r *RegionTargetHttpsProxiesService) SetSslCertificates(project string, region string, targetHttpsProxy string, regiontargethttpsproxiessetsslcertificatesrequest *RegionTargetHttpsProxiesSetSslCertificatesRequest) *RegionTargetHttpsProxiesSetSslCertificatesCall {
+ c := &RegionTargetHttpsProxiesSetSslCertificatesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.targetHttpsProxy = targetHttpsProxy
+ c.regiontargethttpsproxiessetsslcertificatesrequest = regiontargethttpsproxiessetsslcertificatesrequest
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionSslPoliciesListAvailableFeaturesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) RequestId(requestId string) *RegionTargetHttpsProxiesSetSslCertificatesCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) Fields(s ...googleapi.Field) *RegionSslPoliciesListAvailableFeaturesCall {
+func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesSetSslCertificatesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) IfNoneMatch(entityTag string) *RegionSslPoliciesListAvailableFeaturesCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) Context(ctx context.Context) *RegionSslPoliciesListAvailableFeaturesCall {
+func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Context(ctx context.Context) *RegionTargetHttpsProxiesSetSslCertificatesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) Header() http.Header {
+func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslPoliciesListAvailableFeaturesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiontargethttpsproxiessetsslcertificatesrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "region": c.region,
+ "targetHttpsProxy": c.targetHttpsProxy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.listAvailableFeatures", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.setSslCertificates", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslPolicies.listAvailableFeatures" call.
+// Do executes the "compute.regionTargetHttpsProxies.setSslCertificates" call.
// Any non-2xx status code is an error. Response headers are in either
-// *SslPoliciesListAvailableFeaturesResponse.ServerResponse.Header or (if a
-// response was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionSslPoliciesListAvailableFeaturesCall) Do(opts ...googleapi.CallOption) (*SslPoliciesListAvailableFeaturesResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27851,7 +32443,7 @@ func (c *RegionSslPoliciesListAvailableFeaturesCall) Do(opts ...googleapi.CallOp
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &SslPoliciesListAvailableFeaturesResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -27862,36 +32454,32 @@ func (c *RegionSslPoliciesListAvailableFeaturesCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.listAvailableFeatures", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.setSslCertificates", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionSslPoliciesPatchCall struct {
- s *Service
- project string
- region string
- sslPolicy string
- sslpolicy *SslPolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionTargetHttpsProxiesSetUrlMapCall struct {
+ s *Service
+ project string
+ region string
+ targetHttpsProxy string
+ urlmapreference *UrlMapReference
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified SSL policy with the data included in the
-// request.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - sslPolicy: Name of the SSL policy to update. The name must be 1-63
-// characters long,
+// SetUrlMap: Changes the URL map for TargetHttpsProxy.
//
-// and comply with RFC1035.
-func (r *RegionSslPoliciesService) Patch(project string, region string, sslPolicy string, sslpolicy *SslPolicy) *RegionSslPoliciesPatchCall {
- c := &RegionSslPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - targetHttpsProxy: Name of the TargetHttpsProxy to set a URL map for.
+func (r *RegionTargetHttpsProxiesService) SetUrlMap(project string, region string, targetHttpsProxy string, urlmapreference *UrlMapReference) *RegionTargetHttpsProxiesSetUrlMapCall {
+ c := &RegionTargetHttpsProxiesSetUrlMapCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.sslPolicy = sslPolicy
- c.sslpolicy = sslpolicy
+ c.targetHttpsProxy = targetHttpsProxy
+ c.urlmapreference = urlmapreference
return c
}
@@ -27912,7 +32500,7 @@ func (r *RegionSslPoliciesService) Patch(project string, region string, sslPolic
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionSslPoliciesPatchCall) RequestId(requestId string) *RegionSslPoliciesPatchCall {
+func (c *RegionTargetHttpsProxiesSetUrlMapCall) RequestId(requestId string) *RegionTargetHttpsProxiesSetUrlMapCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -27920,56 +32508,56 @@ func (c *RegionSslPoliciesPatchCall) RequestId(requestId string) *RegionSslPolic
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionSslPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionSslPoliciesPatchCall {
+func (c *RegionTargetHttpsProxiesSetUrlMapCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesSetUrlMapCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionSslPoliciesPatchCall) Context(ctx context.Context) *RegionSslPoliciesPatchCall {
+func (c *RegionTargetHttpsProxiesSetUrlMapCall) Context(ctx context.Context) *RegionTargetHttpsProxiesSetUrlMapCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionSslPoliciesPatchCall) Header() http.Header {
+func (c *RegionTargetHttpsProxiesSetUrlMapCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionSslPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslpolicy)
+func (c *RegionTargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmapreference)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "sslPolicy": c.sslPolicy,
+ "project": c.project,
+ "region": c.region,
+ "targetHttpsProxy": c.targetHttpsProxy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.setUrlMap", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionSslPolicies.patch" call.
+// Do executes the "compute.regionTargetHttpsProxies.setUrlMap" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionSslPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionTargetHttpsProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -27999,30 +32587,30 @@ func (c *RegionSslPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionSslPolicies.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.setUrlMap", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetHttpProxiesDeleteCall struct {
- s *Service
- project string
- region string
- targetHttpProxy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionTargetTcpProxiesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ targetTcpProxy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified TargetHttpProxy resource.
+// Delete: Deletes the specified TargetTcpProxy resource.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - targetHttpProxy: Name of the TargetHttpProxy resource to delete.
-func (r *RegionTargetHttpProxiesService) Delete(project string, region string, targetHttpProxy string) *RegionTargetHttpProxiesDeleteCall {
- c := &RegionTargetHttpProxiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - targetTcpProxy: Name of the TargetTcpProxy resource to delete.
+func (r *RegionTargetTcpProxiesService) Delete(project string, region string, targetTcpProxy string) *RegionTargetTcpProxiesDeleteCall {
+ c := &RegionTargetTcpProxiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targetHttpProxy = targetHttpProxy
+ c.targetTcpProxy = targetTcpProxy
return c
}
@@ -28043,7 +32631,7 @@ func (r *RegionTargetHttpProxiesService) Delete(project string, region string, t
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetHttpProxiesDeleteCall) RequestId(requestId string) *RegionTargetHttpProxiesDeleteCall {
+func (c *RegionTargetTcpProxiesDeleteCall) RequestId(requestId string) *RegionTargetTcpProxiesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -28051,31 +32639,31 @@ func (c *RegionTargetHttpProxiesDeleteCall) RequestId(requestId string) *RegionT
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpProxiesDeleteCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesDeleteCall {
+func (c *RegionTargetTcpProxiesDeleteCall) Fields(s ...googleapi.Field) *RegionTargetTcpProxiesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpProxiesDeleteCall) Context(ctx context.Context) *RegionTargetHttpProxiesDeleteCall {
+func (c *RegionTargetTcpProxiesDeleteCall) Context(ctx context.Context) *RegionTargetTcpProxiesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpProxiesDeleteCall) Header() http.Header {
+func (c *RegionTargetTcpProxiesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetTcpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -28083,20 +32671,20 @@ func (c *RegionTargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Respons
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetHttpProxy": c.targetHttpProxy,
+ "project": c.project,
+ "region": c.region,
+ "targetTcpProxy": c.targetTcpProxy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpProxies.delete" call.
+// Do executes the "compute.regionTargetTcpProxies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetHttpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionTargetTcpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28124,40 +32712,40 @@ func (c *RegionTargetHttpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*O
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.delete", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionTargetHttpProxiesGetCall struct {
- s *Service
- project string
- region string
- targetHttpProxy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.delete", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// Get: Returns the specified TargetHttpProxy resource in the specified region.
+type RegionTargetTcpProxiesGetCall struct {
+ s *Service
+ project string
+ region string
+ targetTcpProxy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified TargetTcpProxy resource.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - targetHttpProxy: Name of the TargetHttpProxy resource to return.
-func (r *RegionTargetHttpProxiesService) Get(project string, region string, targetHttpProxy string) *RegionTargetHttpProxiesGetCall {
- c := &RegionTargetHttpProxiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - targetTcpProxy: Name of the TargetTcpProxy resource to return.
+func (r *RegionTargetTcpProxiesService) Get(project string, region string, targetTcpProxy string) *RegionTargetTcpProxiesGetCall {
+ c := &RegionTargetTcpProxiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targetHttpProxy = targetHttpProxy
+ c.targetTcpProxy = targetTcpProxy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpProxiesGetCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesGetCall {
+func (c *RegionTargetTcpProxiesGetCall) Fields(s ...googleapi.Field) *RegionTargetTcpProxiesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -28165,34 +32753,34 @@ func (c *RegionTargetHttpProxiesGetCall) Fields(s ...googleapi.Field) *RegionTar
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionTargetHttpProxiesGetCall) IfNoneMatch(entityTag string) *RegionTargetHttpProxiesGetCall {
+func (c *RegionTargetTcpProxiesGetCall) IfNoneMatch(entityTag string) *RegionTargetTcpProxiesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpProxiesGetCall) Context(ctx context.Context) *RegionTargetHttpProxiesGetCall {
+func (c *RegionTargetTcpProxiesGetCall) Context(ctx context.Context) *RegionTargetTcpProxiesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpProxiesGetCall) Header() http.Header {
+func (c *RegionTargetTcpProxiesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetTcpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -28200,21 +32788,20 @@ func (c *RegionTargetHttpProxiesGetCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetHttpProxy": c.targetHttpProxy,
+ "project": c.project,
+ "region": c.region,
+ "targetTcpProxy": c.targetTcpProxy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpProxies.get" call.
+// Do executes the "compute.regionTargetTcpProxies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TargetHttpProxy.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionTargetHttpProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetHttpProxy, error) {
+// *TargetTcpProxy.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionTargetTcpProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetTcpProxy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28233,7 +32820,7 @@ func (c *RegionTargetHttpProxiesGetCall) Do(opts ...googleapi.CallOption) (*Targ
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TargetHttpProxy{
+ ret := &TargetTcpProxy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -28244,31 +32831,31 @@ func (c *RegionTargetHttpProxiesGetCall) Do(opts ...googleapi.CallOption) (*Targ
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetHttpProxiesInsertCall struct {
- s *Service
- project string
- region string
- targethttpproxy *TargetHttpProxy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionTargetTcpProxiesInsertCall struct {
+ s *Service
+ project string
+ region string
+ targettcpproxy *TargetTcpProxy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a TargetHttpProxy resource in the specified project and
-// region
-// using the data included in the request.
+// Insert: Creates a TargetTcpProxy resource in the specified project and
+// region using
+// the data included in the request.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionTargetHttpProxiesService) Insert(project string, region string, targethttpproxy *TargetHttpProxy) *RegionTargetHttpProxiesInsertCall {
- c := &RegionTargetHttpProxiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionTargetTcpProxiesService) Insert(project string, region string, targettcpproxy *TargetTcpProxy) *RegionTargetTcpProxiesInsertCall {
+ c := &RegionTargetTcpProxiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targethttpproxy = targethttpproxy
+ c.targettcpproxy = targettcpproxy
return c
}
@@ -28289,7 +32876,7 @@ func (r *RegionTargetHttpProxiesService) Insert(project string, region string, t
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetHttpProxiesInsertCall) RequestId(requestId string) *RegionTargetHttpProxiesInsertCall {
+func (c *RegionTargetTcpProxiesInsertCall) RequestId(requestId string) *RegionTargetTcpProxiesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -28297,35 +32884,35 @@ func (c *RegionTargetHttpProxiesInsertCall) RequestId(requestId string) *RegionT
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpProxiesInsertCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesInsertCall {
+func (c *RegionTargetTcpProxiesInsertCall) Fields(s ...googleapi.Field) *RegionTargetTcpProxiesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpProxiesInsertCall) Context(ctx context.Context) *RegionTargetHttpProxiesInsertCall {
+func (c *RegionTargetTcpProxiesInsertCall) Context(ctx context.Context) *RegionTargetTcpProxiesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpProxiesInsertCall) Header() http.Header {
+func (c *RegionTargetTcpProxiesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpproxy)
+func (c *RegionTargetTcpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targettcpproxy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetTcpProxies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -28336,16 +32923,16 @@ func (c *RegionTargetHttpProxiesInsertCall) doRequest(alt string) (*http.Respons
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpProxies.insert" call.
+// Do executes the "compute.regionTargetTcpProxies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetHttpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionTargetTcpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28375,11 +32962,11 @@ func (c *RegionTargetHttpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetHttpProxiesListCall struct {
+type RegionTargetTcpProxiesListCall struct {
s *Service
project string
region string
@@ -28389,13 +32976,13 @@ type RegionTargetHttpProxiesListCall struct {
header_ http.Header
}
-// List: Retrieves the list of TargetHttpProxy resources available
-// to the specified project in the specified region.
+// List: Retrieves a list of TargetTcpProxy resources
+// available to the specified project in a given region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionTargetHttpProxiesService) List(project string, region string) *RegionTargetHttpProxiesListCall {
- c := &RegionTargetHttpProxiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionTargetTcpProxiesService) List(project string, region string) *RegionTargetTcpProxiesListCall {
+ c := &RegionTargetTcpProxiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -28468,7 +33055,7 @@ func (r *RegionTargetHttpProxiesService) List(project string, region string) *Re
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionTargetHttpProxiesListCall) Filter(filter string) *RegionTargetHttpProxiesListCall {
+func (c *RegionTargetTcpProxiesListCall) Filter(filter string) *RegionTargetTcpProxiesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -28480,7 +33067,7 @@ func (c *RegionTargetHttpProxiesListCall) Filter(filter string) *RegionTargetHtt
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionTargetHttpProxiesListCall) MaxResults(maxResults int64) *RegionTargetHttpProxiesListCall {
+func (c *RegionTargetTcpProxiesListCall) MaxResults(maxResults int64) *RegionTargetTcpProxiesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -28500,7 +33087,7 @@ func (c *RegionTargetHttpProxiesListCall) MaxResults(maxResults int64) *RegionTa
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionTargetHttpProxiesListCall) OrderBy(orderBy string) *RegionTargetHttpProxiesListCall {
+func (c *RegionTargetTcpProxiesListCall) OrderBy(orderBy string) *RegionTargetTcpProxiesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -28509,30 +33096,15 @@ func (c *RegionTargetHttpProxiesListCall) OrderBy(orderBy string) *RegionTargetH
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionTargetHttpProxiesListCall) PageToken(pageToken string) *RegionTargetHttpProxiesListCall {
+func (c *RegionTargetTcpProxiesListCall) PageToken(pageToken string) *RegionTargetTcpProxiesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionTargetHttpProxiesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionTargetHttpProxiesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpProxiesListCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesListCall {
+func (c *RegionTargetTcpProxiesListCall) Fields(s ...googleapi.Field) *RegionTargetTcpProxiesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -28540,34 +33112,34 @@ func (c *RegionTargetHttpProxiesListCall) Fields(s ...googleapi.Field) *RegionTa
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionTargetHttpProxiesListCall) IfNoneMatch(entityTag string) *RegionTargetHttpProxiesListCall {
+func (c *RegionTargetTcpProxiesListCall) IfNoneMatch(entityTag string) *RegionTargetTcpProxiesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpProxiesListCall) Context(ctx context.Context) *RegionTargetHttpProxiesListCall {
+func (c *RegionTargetTcpProxiesListCall) Context(ctx context.Context) *RegionTargetTcpProxiesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpProxiesListCall) Header() http.Header {
+func (c *RegionTargetTcpProxiesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionTargetTcpProxiesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetTcpProxies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -28578,17 +33150,17 @@ func (c *RegionTargetHttpProxiesListCall) doRequest(alt string) (*http.Response,
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpProxies.list" call.
+// Do executes the "compute.regionTargetTcpProxies.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TargetHttpProxyList.ServerResponse.Header or (if a response was returned at
+// *TargetTcpProxyList.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RegionTargetHttpProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHttpProxyList, error) {
+func (c *RegionTargetTcpProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetTcpProxyList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28607,7 +33179,7 @@ func (c *RegionTargetHttpProxiesListCall) Do(opts ...googleapi.CallOption) (*Tar
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TargetHttpProxyList{
+ ret := &TargetTcpProxyList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -28618,14 +33190,14 @@ func (c *RegionTargetHttpProxiesListCall) Do(opts ...googleapi.CallOption) (*Tar
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionTargetHttpProxiesListCall) Pages(ctx context.Context, f func(*TargetHttpProxyList) error) error {
+func (c *RegionTargetTcpProxiesListCall) Pages(ctx context.Context, f func(*TargetTcpProxyList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -28643,180 +33215,33 @@ func (c *RegionTargetHttpProxiesListCall) Pages(ctx context.Context, f func(*Tar
}
}
-type RegionTargetHttpProxiesSetUrlMapCall struct {
- s *Service
- project string
- region string
- targetHttpProxy string
- urlmapreference *UrlMapReference
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// SetUrlMap: Changes the URL map for TargetHttpProxy.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - targetHttpProxy: Name of the TargetHttpProxy to set a URL map for.
-func (r *RegionTargetHttpProxiesService) SetUrlMap(project string, region string, targetHttpProxy string, urlmapreference *UrlMapReference) *RegionTargetHttpProxiesSetUrlMapCall {
- c := &RegionTargetHttpProxiesSetUrlMapCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.targetHttpProxy = targetHttpProxy
- c.urlmapreference = urlmapreference
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetHttpProxiesSetUrlMapCall) RequestId(requestId string) *RegionTargetHttpProxiesSetUrlMapCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionTargetHttpProxiesSetUrlMapCall) Fields(s ...googleapi.Field) *RegionTargetHttpProxiesSetUrlMapCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpProxiesSetUrlMapCall) Context(ctx context.Context) *RegionTargetHttpProxiesSetUrlMapCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionTargetHttpProxiesSetUrlMapCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionTargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmapreference)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetHttpProxy": c.targetHttpProxy,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.setUrlMap", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionTargetHttpProxies.setUrlMap" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetHttpProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpProxies.setUrlMap", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionTargetHttpsProxiesDeleteCall struct {
- s *Service
- project string
- region string
- targetHttpsProxy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionUrlMapsDeleteCall struct {
+ s *Service
+ project string
+ region string
+ urlMap string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified TargetHttpsProxy resource.
+// Delete: Deletes the specified UrlMap resource.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - targetHttpsProxy: Name of the TargetHttpsProxy resource to delete.
-func (r *RegionTargetHttpsProxiesService) Delete(project string, region string, targetHttpsProxy string) *RegionTargetHttpsProxiesDeleteCall {
- c := &RegionTargetHttpsProxiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - urlMap: Name of the UrlMap resource to delete.
+func (r *RegionUrlMapsService) Delete(project string, region string, urlMap string) *RegionUrlMapsDeleteCall {
+ c := &RegionUrlMapsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targetHttpsProxy = targetHttpsProxy
+ c.urlMap = urlMap
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetHttpsProxiesDeleteCall) RequestId(requestId string) *RegionTargetHttpsProxiesDeleteCall {
+// RequestId sets the optional parameter "requestId": begin_interface:
+// MixerMutationRequestBuilder
+// Request ID to support idempotency.
+func (c *RegionUrlMapsDeleteCall) RequestId(requestId string) *RegionUrlMapsDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -28824,31 +33249,31 @@ func (c *RegionTargetHttpsProxiesDeleteCall) RequestId(requestId string) *Region
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpsProxiesDeleteCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesDeleteCall {
+func (c *RegionUrlMapsDeleteCall) Fields(s ...googleapi.Field) *RegionUrlMapsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpsProxiesDeleteCall) Context(ctx context.Context) *RegionTargetHttpsProxiesDeleteCall {
+func (c *RegionUrlMapsDeleteCall) Context(ctx context.Context) *RegionUrlMapsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpsProxiesDeleteCall) Header() http.Header {
+func (c *RegionUrlMapsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionUrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -28856,20 +33281,20 @@ func (c *RegionTargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Respon
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetHttpsProxy": c.targetHttpsProxy,
+ "project": c.project,
+ "region": c.region,
+ "urlMap": c.urlMap,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpsProxies.delete" call.
+// Do executes the "compute.regionUrlMaps.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetHttpsProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionUrlMapsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -28899,39 +33324,38 @@ func (c *RegionTargetHttpsProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetHttpsProxiesGetCall struct {
- s *Service
- project string
- region string
- targetHttpsProxy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RegionUrlMapsGetCall struct {
+ s *Service
+ project string
+ region string
+ urlMap string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified TargetHttpsProxy resource in the specified
-// region.
+// Get: Returns the specified UrlMap resource.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - targetHttpsProxy: Name of the TargetHttpsProxy resource to return.
-func (r *RegionTargetHttpsProxiesService) Get(project string, region string, targetHttpsProxy string) *RegionTargetHttpsProxiesGetCall {
- c := &RegionTargetHttpsProxiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - urlMap: Name of the UrlMap resource to return.
+func (r *RegionUrlMapsService) Get(project string, region string, urlMap string) *RegionUrlMapsGetCall {
+ c := &RegionUrlMapsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targetHttpsProxy = targetHttpsProxy
+ c.urlMap = urlMap
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpsProxiesGetCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesGetCall {
+func (c *RegionUrlMapsGetCall) Fields(s ...googleapi.Field) *RegionUrlMapsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -28939,34 +33363,34 @@ func (c *RegionTargetHttpsProxiesGetCall) Fields(s ...googleapi.Field) *RegionTa
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionTargetHttpsProxiesGetCall) IfNoneMatch(entityTag string) *RegionTargetHttpsProxiesGetCall {
+func (c *RegionUrlMapsGetCall) IfNoneMatch(entityTag string) *RegionUrlMapsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpsProxiesGetCall) Context(ctx context.Context) *RegionTargetHttpsProxiesGetCall {
+func (c *RegionUrlMapsGetCall) Context(ctx context.Context) *RegionUrlMapsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpsProxiesGetCall) Header() http.Header {
+func (c *RegionUrlMapsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionUrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -28974,21 +33398,20 @@ func (c *RegionTargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetHttpsProxy": c.targetHttpsProxy,
+ "project": c.project,
+ "region": c.region,
+ "urlMap": c.urlMap,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpsProxies.get" call.
+// Do executes the "compute.regionUrlMaps.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TargetHttpsProxy.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionTargetHttpsProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetHttpsProxy, error) {
+// *UrlMap.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionUrlMapsGetCall) Do(opts ...googleapi.CallOption) (*UrlMap, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29007,7 +33430,7 @@ func (c *RegionTargetHttpsProxiesGetCall) Do(opts ...googleapi.CallOption) (*Tar
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TargetHttpsProxy{
+ ret := &UrlMap{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -29018,52 +33441,37 @@ func (c *RegionTargetHttpsProxiesGetCall) Do(opts ...googleapi.CallOption) (*Tar
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetHttpsProxiesInsertCall struct {
- s *Service
- project string
- region string
- targethttpsproxy *TargetHttpsProxy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionUrlMapsInsertCall struct {
+ s *Service
+ project string
+ region string
+ urlmap *UrlMap
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a TargetHttpsProxy resource in the specified project and
-// region
-// using the data included in the request.
+// Insert: Creates a UrlMap resource in the specified project using
+// the data included in the request.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionTargetHttpsProxiesService) Insert(project string, region string, targethttpsproxy *TargetHttpsProxy) *RegionTargetHttpsProxiesInsertCall {
- c := &RegionTargetHttpsProxiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionUrlMapsService) Insert(project string, region string, urlmap *UrlMap) *RegionUrlMapsInsertCall {
+ c := &RegionUrlMapsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targethttpsproxy = targethttpsproxy
+ c.urlmap = urlmap
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetHttpsProxiesInsertCall) RequestId(requestId string) *RegionTargetHttpsProxiesInsertCall {
+// RequestId sets the optional parameter "requestId": begin_interface:
+// MixerMutationRequestBuilder
+// Request ID to support idempotency.
+func (c *RegionUrlMapsInsertCall) RequestId(requestId string) *RegionUrlMapsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -29071,35 +33479,35 @@ func (c *RegionTargetHttpsProxiesInsertCall) RequestId(requestId string) *Region
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpsProxiesInsertCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesInsertCall {
+func (c *RegionUrlMapsInsertCall) Fields(s ...googleapi.Field) *RegionUrlMapsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpsProxiesInsertCall) Context(ctx context.Context) *RegionTargetHttpsProxiesInsertCall {
+func (c *RegionUrlMapsInsertCall) Context(ctx context.Context) *RegionUrlMapsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpsProxiesInsertCall) Header() http.Header {
+func (c *RegionUrlMapsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxy)
+func (c *RegionUrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -29110,16 +33518,16 @@ func (c *RegionTargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Respon
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpsProxies.insert" call.
+// Do executes the "compute.regionUrlMaps.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetHttpsProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionUrlMapsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29149,11 +33557,11 @@ func (c *RegionTargetHttpsProxiesInsertCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetHttpsProxiesListCall struct {
+type RegionUrlMapsListCall struct {
s *Service
project string
region string
@@ -29163,13 +33571,14 @@ type RegionTargetHttpsProxiesListCall struct {
header_ http.Header
}
-// List: Retrieves the list of TargetHttpsProxy resources available
-// to the specified project in the specified region.
+// List: Retrieves the list of UrlMap resources available to the
+// specified
+// project in the specified region.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-func (r *RegionTargetHttpsProxiesService) List(project string, region string) *RegionTargetHttpsProxiesListCall {
- c := &RegionTargetHttpsProxiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionUrlMapsService) List(project string, region string) *RegionUrlMapsListCall {
+ c := &RegionUrlMapsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
return c
@@ -29242,7 +33651,7 @@ func (r *RegionTargetHttpsProxiesService) List(project string, region string) *R
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionTargetHttpsProxiesListCall) Filter(filter string) *RegionTargetHttpsProxiesListCall {
+func (c *RegionUrlMapsListCall) Filter(filter string) *RegionUrlMapsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -29254,7 +33663,7 @@ func (c *RegionTargetHttpsProxiesListCall) Filter(filter string) *RegionTargetHt
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionTargetHttpsProxiesListCall) MaxResults(maxResults int64) *RegionTargetHttpsProxiesListCall {
+func (c *RegionUrlMapsListCall) MaxResults(maxResults int64) *RegionUrlMapsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -29274,7 +33683,7 @@ func (c *RegionTargetHttpsProxiesListCall) MaxResults(maxResults int64) *RegionT
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionTargetHttpsProxiesListCall) OrderBy(orderBy string) *RegionTargetHttpsProxiesListCall {
+func (c *RegionUrlMapsListCall) OrderBy(orderBy string) *RegionUrlMapsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -29283,30 +33692,15 @@ func (c *RegionTargetHttpsProxiesListCall) OrderBy(orderBy string) *RegionTarget
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionTargetHttpsProxiesListCall) PageToken(pageToken string) *RegionTargetHttpsProxiesListCall {
+func (c *RegionUrlMapsListCall) PageToken(pageToken string) *RegionUrlMapsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionTargetHttpsProxiesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionTargetHttpsProxiesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpsProxiesListCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesListCall {
+func (c *RegionUrlMapsListCall) Fields(s ...googleapi.Field) *RegionUrlMapsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -29314,34 +33708,34 @@ func (c *RegionTargetHttpsProxiesListCall) Fields(s ...googleapi.Field) *RegionT
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionTargetHttpsProxiesListCall) IfNoneMatch(entityTag string) *RegionTargetHttpsProxiesListCall {
+func (c *RegionUrlMapsListCall) IfNoneMatch(entityTag string) *RegionUrlMapsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpsProxiesListCall) Context(ctx context.Context) *RegionTargetHttpsProxiesListCall {
+func (c *RegionUrlMapsListCall) Context(ctx context.Context) *RegionUrlMapsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpsProxiesListCall) Header() http.Header {
+func (c *RegionUrlMapsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionUrlMapsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -29352,17 +33746,16 @@ func (c *RegionTargetHttpsProxiesListCall) doRequest(alt string) (*http.Response
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpsProxies.list" call.
+// Do executes the "compute.regionUrlMaps.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TargetHttpsProxyList.ServerResponse.Header or (if a response was returned
-// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionTargetHttpsProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHttpsProxyList, error) {
+// *UrlMapList.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionUrlMapsListCall) Do(opts ...googleapi.CallOption) (*UrlMapList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29381,7 +33774,7 @@ func (c *RegionTargetHttpsProxiesListCall) Do(opts ...googleapi.CallOption) (*Ta
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TargetHttpsProxyList{
+ ret := &UrlMapList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -29392,14 +33785,14 @@ func (c *RegionTargetHttpsProxiesListCall) Do(opts ...googleapi.CallOption) (*Ta
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionTargetHttpsProxiesListCall) Pages(ctx context.Context, f func(*TargetHttpsProxyList) error) error {
+func (c *RegionUrlMapsListCall) Pages(ctx context.Context, f func(*UrlMapList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -29417,53 +33810,39 @@ func (c *RegionTargetHttpsProxiesListCall) Pages(ctx context.Context, f func(*Ta
}
}
-type RegionTargetHttpsProxiesPatchCall struct {
- s *Service
- project string
- region string
- targetHttpsProxy string
- targethttpsproxy *TargetHttpsProxy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionUrlMapsPatchCall struct {
+ s *Service
+ project string
+ region string
+ urlMap string
+ urlmap *UrlMap
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified regional TargetHttpsProxy resource with the
-// data
-// included in the request. This method supports PATCH
+// Patch: Patches the specified UrlMap resource with the data included in
+// the
+// request. This method supportsPATCH
// semantics and usesJSON merge
// patch format and processing rules.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-// - targetHttpsProxy: Name of the TargetHttpsProxy resource to patch.
-func (r *RegionTargetHttpsProxiesService) Patch(project string, region string, targetHttpsProxy string, targethttpsproxy *TargetHttpsProxy) *RegionTargetHttpsProxiesPatchCall {
- c := &RegionTargetHttpsProxiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region scoping this request.
+// - urlMap: Name of the UrlMap resource to patch.
+func (r *RegionUrlMapsService) Patch(project string, region string, urlMap string, urlmap *UrlMap) *RegionUrlMapsPatchCall {
+ c := &RegionUrlMapsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targetHttpsProxy = targetHttpsProxy
- c.targethttpsproxy = targethttpsproxy
+ c.urlMap = urlMap
+ c.urlmap = urlmap
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetHttpsProxiesPatchCall) RequestId(requestId string) *RegionTargetHttpsProxiesPatchCall {
+// RequestId sets the optional parameter "requestId": begin_interface:
+// MixerMutationRequestBuilder
+// Request ID to support idempotency.
+func (c *RegionUrlMapsPatchCall) RequestId(requestId string) *RegionUrlMapsPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -29471,35 +33850,35 @@ func (c *RegionTargetHttpsProxiesPatchCall) RequestId(requestId string) *RegionT
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpsProxiesPatchCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesPatchCall {
+func (c *RegionUrlMapsPatchCall) Fields(s ...googleapi.Field) *RegionUrlMapsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpsProxiesPatchCall) Context(ctx context.Context) *RegionTargetHttpsProxiesPatchCall {
+func (c *RegionUrlMapsPatchCall) Context(ctx context.Context) *RegionUrlMapsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpsProxiesPatchCall) Header() http.Header {
+func (c *RegionUrlMapsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpsProxiesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxy)
+func (c *RegionUrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
@@ -29507,20 +33886,20 @@ func (c *RegionTargetHttpsProxiesPatchCall) doRequest(alt string) (*http.Respons
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetHttpsProxy": c.targetHttpsProxy,
+ "project": c.project,
+ "region": c.region,
+ "urlMap": c.urlMap,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpsProxies.patch" call.
+// Do executes the "compute.regionUrlMaps.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetHttpsProxiesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionUrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29550,56 +33929,41 @@ func (c *RegionTargetHttpsProxiesPatchCall) Do(opts ...googleapi.CallOption) (*O
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetHttpsProxiesSetSslCertificatesCall struct {
- s *Service
- project string
- region string
- targetHttpsProxy string
- regiontargethttpsproxiessetsslcertificatesrequest *RegionTargetHttpsProxiesSetSslCertificatesRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionUrlMapsUpdateCall struct {
+ s *Service
+ project string
+ region string
+ urlMap string
+ urlmap *UrlMap
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetSslCertificates: Replaces SslCertificates for TargetHttpsProxy.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - targetHttpsProxy: Name of the TargetHttpsProxy resource to set
-// an
+// Update: Updates the specified UrlMap resource with the data included in
+// the
+// request.
//
-// SslCertificates resource for.
-func (r *RegionTargetHttpsProxiesService) SetSslCertificates(project string, region string, targetHttpsProxy string, regiontargethttpsproxiessetsslcertificatesrequest *RegionTargetHttpsProxiesSetSslCertificatesRequest) *RegionTargetHttpsProxiesSetSslCertificatesCall {
- c := &RegionTargetHttpsProxiesSetSslCertificatesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: Name of the region scoping this request.
+// - urlMap: Name of the UrlMap resource to update.
+func (r *RegionUrlMapsService) Update(project string, region string, urlMap string, urlmap *UrlMap) *RegionUrlMapsUpdateCall {
+ c := &RegionUrlMapsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targetHttpsProxy = targetHttpsProxy
- c.regiontargethttpsproxiessetsslcertificatesrequest = regiontargethttpsproxiessetsslcertificatesrequest
+ c.urlMap = urlMap
+ c.urlmap = urlmap
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) RequestId(requestId string) *RegionTargetHttpsProxiesSetSslCertificatesCall {
+// RequestId sets the optional parameter "requestId": begin_interface:
+// MixerMutationRequestBuilder
+// Request ID to support idempotency.
+func (c *RegionUrlMapsUpdateCall) RequestId(requestId string) *RegionUrlMapsUpdateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -29607,56 +33971,56 @@ func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) RequestId(requestId str
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesSetSslCertificatesCall {
+func (c *RegionUrlMapsUpdateCall) Fields(s ...googleapi.Field) *RegionUrlMapsUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Context(ctx context.Context) *RegionTargetHttpsProxiesSetSslCertificatesCall {
+func (c *RegionUrlMapsUpdateCall) Context(ctx context.Context) *RegionUrlMapsUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Header() http.Header {
+func (c *RegionUrlMapsUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regiontargethttpsproxiessetsslcertificatesrequest)
+func (c *RegionUrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("PUT", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetHttpsProxy": c.targetHttpsProxy,
+ "project": c.project,
+ "region": c.region,
+ "urlMap": c.urlMap,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.setSslCertificates", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpsProxies.setSslCertificates" call.
+// Do executes the "compute.regionUrlMaps.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionUrlMapsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29686,89 +34050,70 @@ func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) Do(opts ...googleapi.Ca
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.setSslCertificates", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetHttpsProxiesSetUrlMapCall struct {
- s *Service
- project string
- region string
- targetHttpsProxy string
- urlmapreference *UrlMapReference
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionUrlMapsValidateCall struct {
+ s *Service
+ project string
+ region string
+ urlMap string
+ regionurlmapsvalidaterequest *RegionUrlMapsValidateRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetUrlMap: Changes the URL map for TargetHttpsProxy.
+// Validate: Runs static validation for the UrlMap. In particular, the tests of
+// the
+// provided UrlMap will be run. Calling this method does NOT create the
+// UrlMap.
//
// - project: Project ID for this request.
// - region: Name of the region scoping this request.
-// - targetHttpsProxy: Name of the TargetHttpsProxy to set a URL map for.
-func (r *RegionTargetHttpsProxiesService) SetUrlMap(project string, region string, targetHttpsProxy string, urlmapreference *UrlMapReference) *RegionTargetHttpsProxiesSetUrlMapCall {
- c := &RegionTargetHttpsProxiesSetUrlMapCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - urlMap: Name of the UrlMap resource to be validated as.
+func (r *RegionUrlMapsService) Validate(project string, region string, urlMap string, regionurlmapsvalidaterequest *RegionUrlMapsValidateRequest) *RegionUrlMapsValidateCall {
+ c := &RegionUrlMapsValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targetHttpsProxy = targetHttpsProxy
- c.urlmapreference = urlmapreference
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetHttpsProxiesSetUrlMapCall) RequestId(requestId string) *RegionTargetHttpsProxiesSetUrlMapCall {
- c.urlParams_.Set("requestId", requestId)
+ c.urlMap = urlMap
+ c.regionurlmapsvalidaterequest = regionurlmapsvalidaterequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetHttpsProxiesSetUrlMapCall) Fields(s ...googleapi.Field) *RegionTargetHttpsProxiesSetUrlMapCall {
+func (c *RegionUrlMapsValidateCall) Fields(s ...googleapi.Field) *RegionUrlMapsValidateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetHttpsProxiesSetUrlMapCall) Context(ctx context.Context) *RegionTargetHttpsProxiesSetUrlMapCall {
+func (c *RegionUrlMapsValidateCall) Context(ctx context.Context) *RegionUrlMapsValidateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetHttpsProxiesSetUrlMapCall) Header() http.Header {
+func (c *RegionUrlMapsValidateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmapreference)
+func (c *RegionUrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionurlmapsvalidaterequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -29776,20 +34121,21 @@ func (c *RegionTargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Res
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetHttpsProxy": c.targetHttpsProxy,
+ "project": c.project,
+ "region": c.region,
+ "urlMap": c.urlMap,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.setUrlMap", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.validate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetHttpsProxies.setUrlMap" call.
+// Do executes the "compute.regionUrlMaps.validate" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetHttpsProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *UrlMapsValidateResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionUrlMapsValidateCall) Do(opts ...googleapi.CallOption) (*UrlMapsValidateResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -29808,7 +34154,7 @@ func (c *RegionTargetHttpsProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &UrlMapsValidateResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -29819,165 +34165,150 @@ func (c *RegionTargetHttpsProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetHttpsProxies.setUrlMap", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.validate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetTcpProxiesDeleteCall struct {
- s *Service
- project string
- region string
- targetTcpProxy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RegionZonesListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified TargetTcpProxy resource.
+// List: Retrieves the list of Zone resources under the specific region
+// available to
+// the specified project.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - targetTcpProxy: Name of the TargetTcpProxy resource to delete.
-func (r *RegionTargetTcpProxiesService) Delete(project string, region string, targetTcpProxy string) *RegionTargetTcpProxiesDeleteCall {
- c := &RegionTargetTcpProxiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Region for this request.
+func (r *RegionZonesService) List(project string, region string) *RegionZonesListCall {
+ c := &RegionZonesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.region = region
- c.targetTcpProxy = targetTcpProxy
return c
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetTcpProxiesDeleteCall) RequestId(requestId string) *RegionTargetTcpProxiesDeleteCall {
- c.urlParams_.Set("requestId", requestId)
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *RegionTargetTcpProxiesDeleteCall) Fields(s ...googleapi.Field) *RegionTargetTcpProxiesDeleteCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetTcpProxiesDeleteCall) Context(ctx context.Context) *RegionTargetTcpProxiesDeleteCall {
- c.ctx_ = ctx
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RegionZonesListCall) Filter(filter string) *RegionZonesListCall {
+ c.urlParams_.Set("filter", filter)
return c
}
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *RegionTargetTcpProxiesDeleteCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *RegionTargetTcpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetTcpProxy": c.targetTcpProxy,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.delete", "request", internallog.HTTPRequest(req, nil))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.regionTargetTcpProxies.delete" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetTcpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Operation{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.delete", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type RegionTargetTcpProxiesGetCall struct {
- s *Service
- project string
- region string
- targetTcpProxy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RegionZonesListCall) MaxResults(maxResults int64) *RegionZonesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
}
-// Get: Returns the specified TargetTcpProxy resource.
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - targetTcpProxy: Name of the TargetTcpProxy resource to return.
-func (r *RegionTargetTcpProxiesService) Get(project string, region string, targetTcpProxy string) *RegionTargetTcpProxiesGetCall {
- c := &RegionTargetTcpProxiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.targetTcpProxy = targetTcpProxy
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RegionZonesListCall) OrderBy(orderBy string) *RegionZonesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RegionZonesListCall) PageToken(pageToken string) *RegionZonesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetTcpProxiesGetCall) Fields(s ...googleapi.Field) *RegionTargetTcpProxiesGetCall {
+func (c *RegionZonesListCall) Fields(s ...googleapi.Field) *RegionZonesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -29985,34 +34316,34 @@ func (c *RegionTargetTcpProxiesGetCall) Fields(s ...googleapi.Field) *RegionTarg
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionTargetTcpProxiesGetCall) IfNoneMatch(entityTag string) *RegionTargetTcpProxiesGetCall {
+func (c *RegionZonesListCall) IfNoneMatch(entityTag string) *RegionZonesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetTcpProxiesGetCall) Context(ctx context.Context) *RegionTargetTcpProxiesGetCall {
+func (c *RegionZonesListCall) Context(ctx context.Context) *RegionZonesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetTcpProxiesGetCall) Header() http.Header {
+func (c *RegionZonesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetTcpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionZonesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/zones")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -30020,20 +34351,19 @@ func (c *RegionTargetTcpProxiesGetCall) doRequest(alt string) (*http.Response, e
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "targetTcpProxy": c.targetTcpProxy,
+ "project": c.project,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionZones.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetTcpProxies.get" call.
+// Do executes the "compute.regionZones.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TargetTcpProxy.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *ZoneList.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetTcpProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetTcpProxy, error) {
+func (c *RegionZonesListCall) Do(opts ...googleapi.CallOption) (*ZoneList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30052,7 +34382,7 @@ func (c *RegionTargetTcpProxiesGetCall) Do(opts ...googleapi.CallOption) (*Targe
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TargetTcpProxy{
+ ret := &ZoneList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30063,90 +34393,117 @@ func (c *RegionTargetTcpProxiesGetCall) Do(opts ...googleapi.CallOption) (*Targe
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionZones.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetTcpProxiesInsertCall struct {
- s *Service
- project string
- region string
- targettcpproxy *TargetTcpProxy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionZonesListCall) Pages(ctx context.Context, f func(*ZoneList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Insert: Creates a TargetTcpProxy resource in the specified project and
-// region using
-// the data included in the request.
-//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionTargetTcpProxiesService) Insert(project string, region string, targettcpproxy *TargetTcpProxy) *RegionTargetTcpProxiesInsertCall {
- c := &RegionTargetTcpProxiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.targettcpproxy = targettcpproxy
- return c
+type RegionsGetCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
+// Get: Returns the specified Region resource.
//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
+// To decrease latency for this method, you can optionally omit any
+// unneeded
+// information from the response by using a field mask. This practice
+// is
+// especially recommended for unused quota information (the `quotas` field).
+// To exclude one or more fields, set your request's `fields` query
+// parameter
+// to only include the fields you need. For example, to only include the
+// `id`
+// and `selfLink` fields, add the query parameter `?fields=id,selfLink` to
+// your request.
//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *RegionTargetTcpProxiesInsertCall) RequestId(requestId string) *RegionTargetTcpProxiesInsertCall {
- c.urlParams_.Set("requestId", requestId)
+// This method fails if the quota information is unavailable for the region
+// and if the organization policy
+// constraint
+// compute.requireBasicQuotaInResponse is enforced. This
+// constraint, when enforced, disables the fail-open behaviour when
+// quota
+// information (the `items.quotas` field) is unavailable for the region.
+// It is recommended to use the default setting
+// for the constraint unless your application requires the
+// fail-closed
+// behaviour for this method.
+//
+// - project: Project ID for this request.
+// - region: Name of the region resource to return.
+func (r *RegionsService) Get(project string, region string) *RegionsGetCall {
+ c := &RegionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetTcpProxiesInsertCall) Fields(s ...googleapi.Field) *RegionTargetTcpProxiesInsertCall {
+func (c *RegionsGetCall) Fields(s ...googleapi.Field) *RegionsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RegionsGetCall) IfNoneMatch(entityTag string) *RegionsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetTcpProxiesInsertCall) Context(ctx context.Context) *RegionTargetTcpProxiesInsertCall {
+func (c *RegionsGetCall) Context(ctx context.Context) *RegionsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetTcpProxiesInsertCall) Header() http.Header {
+func (c *RegionsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetTcpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targettcpproxy)
- if err != nil {
- return nil, err
+func (c *RegionsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetTcpProxies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
@@ -30155,16 +34512,16 @@ func (c *RegionTargetTcpProxiesInsertCall) doRequest(alt string) (*http.Response
"project": c.project,
"region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regions.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetTcpProxies.insert" call.
+// Do executes the "compute.regions.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Region.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionTargetTcpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RegionsGetCall) Do(opts ...googleapi.CallOption) (*Region, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30183,7 +34540,7 @@ func (c *RegionTargetTcpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Op
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Region{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30194,29 +34551,51 @@ func (c *RegionTargetTcpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Op
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regions.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionTargetTcpProxiesListCall struct {
+type RegionsListCall struct {
s *Service
project string
- region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves a list of TargetTcpProxy resources
-// available to the specified project in a given region.
+// List: Retrieves the list of region resources available to the specified
+// project.
+//
+// To decrease latency for this method, you can optionally omit any
+// unneeded
+// information from the response by using a field mask. This practice
+// is
+// especially recommended for unused quota information
+// (the `items.quotas` field).
+// To exclude one or more fields, set your request's `fields` query
+// parameter
+// to only include the fields you need. For example, to only include the
+// `id`
+// and `selfLink` fields, add the query parameter `?fields=id,selfLink` to
+// your request.
+//
+// This method fails if the quota information is unavailable for the region
+// and if the organization policy
+// constraint
+// compute.requireBasicQuotaInResponse is enforced. This
+// constraint, when enforced, disables the fail-open behaviour when
+// quota
+// information (the `items.quotas` field) is unavailable for the region.
+// It is recommended to use the default setting
+// for the constraint unless your application requires the
+// fail-closed
+// behaviour for this method.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionTargetTcpProxiesService) List(project string, region string) *RegionTargetTcpProxiesListCall {
- c := &RegionTargetTcpProxiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RegionsService) List(project string) *RegionsListCall {
+ c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
return c
}
@@ -30287,7 +34666,7 @@ func (r *RegionTargetTcpProxiesService) List(project string, region string) *Reg
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionTargetTcpProxiesListCall) Filter(filter string) *RegionTargetTcpProxiesListCall {
+func (c *RegionsListCall) Filter(filter string) *RegionsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -30299,7 +34678,7 @@ func (c *RegionTargetTcpProxiesListCall) Filter(filter string) *RegionTargetTcpP
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionTargetTcpProxiesListCall) MaxResults(maxResults int64) *RegionTargetTcpProxiesListCall {
+func (c *RegionsListCall) MaxResults(maxResults int64) *RegionsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -30319,7 +34698,7 @@ func (c *RegionTargetTcpProxiesListCall) MaxResults(maxResults int64) *RegionTar
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionTargetTcpProxiesListCall) OrderBy(orderBy string) *RegionTargetTcpProxiesListCall {
+func (c *RegionsListCall) OrderBy(orderBy string) *RegionsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -30328,30 +34707,15 @@ func (c *RegionTargetTcpProxiesListCall) OrderBy(orderBy string) *RegionTargetTc
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionTargetTcpProxiesListCall) PageToken(pageToken string) *RegionTargetTcpProxiesListCall {
+func (c *RegionsListCall) PageToken(pageToken string) *RegionsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionTargetTcpProxiesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionTargetTcpProxiesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionTargetTcpProxiesListCall) Fields(s ...googleapi.Field) *RegionTargetTcpProxiesListCall {
+func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -30359,34 +34723,34 @@ func (c *RegionTargetTcpProxiesListCall) Fields(s ...googleapi.Field) *RegionTar
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionTargetTcpProxiesListCall) IfNoneMatch(entityTag string) *RegionTargetTcpProxiesListCall {
+func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionTargetTcpProxiesListCall) Context(ctx context.Context) *RegionTargetTcpProxiesListCall {
+func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionTargetTcpProxiesListCall) Header() http.Header {
+func (c *RegionsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionTargetTcpProxiesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetTcpProxies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -30395,19 +34759,17 @@ func (c *RegionTargetTcpProxiesListCall) doRequest(alt string) (*http.Response,
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regions.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionTargetTcpProxies.list" call.
+// Do executes the "compute.regions.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TargetTcpProxyList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *RegionTargetTcpProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetTcpProxyList, error) {
+// *RegionList.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30426,7 +34788,7 @@ func (c *RegionTargetTcpProxiesListCall) Do(opts ...googleapi.CallOption) (*Targ
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TargetTcpProxyList{
+ ret := &RegionList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30437,14 +34799,14 @@ func (c *RegionTargetTcpProxiesListCall) Do(opts ...googleapi.CallOption) (*Targ
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionTargetTcpProxies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regions.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionTargetTcpProxiesListCall) Pages(ctx context.Context, f func(*TargetTcpProxyList) error) error {
+func (c *RegionsListCall) Pages(ctx context.Context, f func(*RegionList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -30462,86 +34824,311 @@ func (c *RegionTargetTcpProxiesListCall) Pages(ctx context.Context, f func(*Targ
}
}
-type RegionUrlMapsDeleteCall struct {
- s *Service
- project string
- region string
- urlMap string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReliabilityRisksGetCall struct {
+ s *Service
+ project string
+ reliabilityRisk string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified UrlMap resource.
+// Get: Returns the specified ReliabilityRisk resource.
//
// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - urlMap: Name of the UrlMap resource to delete.
-func (r *RegionUrlMapsService) Delete(project string, region string, urlMap string) *RegionUrlMapsDeleteCall {
- c := &RegionUrlMapsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - reliabilityRisk: Name of the ReliabilityRisk resource to return.
+func (r *ReliabilityRisksService) Get(project string, reliabilityRisk string) *ReliabilityRisksGetCall {
+ c := &ReliabilityRisksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.urlMap = urlMap
+ c.reliabilityRisk = reliabilityRisk
return c
}
-// RequestId sets the optional parameter "requestId": begin_interface:
-// MixerMutationRequestBuilder
-// Request ID to support idempotency.
-func (c *RegionUrlMapsDeleteCall) RequestId(requestId string) *RegionUrlMapsDeleteCall {
- c.urlParams_.Set("requestId", requestId)
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ReliabilityRisksGetCall) Fields(s ...googleapi.Field) *ReliabilityRisksGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ReliabilityRisksGetCall) IfNoneMatch(entityTag string) *ReliabilityRisksGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *ReliabilityRisksGetCall) Context(ctx context.Context) *ReliabilityRisksGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ReliabilityRisksGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ReliabilityRisksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/reliabilityRisks/{reliabilityRisk}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "reliabilityRisk": c.reliabilityRisk,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reliabilityRisks.get", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.reliabilityRisks.get" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *ReliabilityRisk.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *ReliabilityRisksGetCall) Do(opts ...googleapi.CallOption) (*ReliabilityRisk, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &ReliabilityRisk{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reliabilityRisks.get", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type ReliabilityRisksListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of reliabilityRisks available in the specified
+// project.
+//
+// - project: Project ID for this request.
+func (r *ReliabilityRisksService) List(project string) *ReliabilityRisksListCall {
+ c := &ReliabilityRisksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *ReliabilityRisksListCall) Filter(filter string) *ReliabilityRisksListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *ReliabilityRisksListCall) MaxResults(maxResults int64) *ReliabilityRisksListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *ReliabilityRisksListCall) OrderBy(orderBy string) *ReliabilityRisksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *ReliabilityRisksListCall) PageToken(pageToken string) *ReliabilityRisksListCall {
+ c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionUrlMapsDeleteCall) Fields(s ...googleapi.Field) *RegionUrlMapsDeleteCall {
+func (c *ReliabilityRisksListCall) Fields(s ...googleapi.Field) *ReliabilityRisksListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ReliabilityRisksListCall) IfNoneMatch(entityTag string) *ReliabilityRisksListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionUrlMapsDeleteCall) Context(ctx context.Context) *RegionUrlMapsDeleteCall {
+func (c *ReliabilityRisksListCall) Context(ctx context.Context) *ReliabilityRisksListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionUrlMapsDeleteCall) Header() http.Header {
+func (c *ReliabilityRisksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionUrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReliabilityRisksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/reliabilityRisks")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
- "urlMap": c.urlMap,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reliabilityRisks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionUrlMaps.delete" call.
+// Do executes the "compute.reliabilityRisks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionUrlMapsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *ReliabilityRisksListResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ReliabilityRisksListCall) Do(opts ...googleapi.CallOption) (*ReliabilityRisksListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30560,7 +35147,7 @@ func (c *RegionUrlMapsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &ReliabilityRisksListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30571,38 +35158,80 @@ func (c *RegionUrlMapsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reliabilityRisks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionUrlMapsGetCall struct {
- s *Service
- project string
- region string
- urlMap string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ReliabilityRisksListCall) Pages(ctx context.Context, f func(*ReliabilityRisksListResponse) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
-// Get: Returns the specified UrlMap resource.
+type ReservationBlocksGetCall struct {
+ s *Service
+ project string
+ zone string
+ reservation string
+ reservationBlock string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Retrieves information about the specified reservation block.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - urlMap: Name of the UrlMap resource to return.
-func (r *RegionUrlMapsService) Get(project string, region string, urlMap string) *RegionUrlMapsGetCall {
- c := &RegionUrlMapsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - reservation: The name of the reservation.
+// Name should conform to RFC1035 or be a resource ID.
+// - reservationBlock: The name of the reservation block.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *ReservationBlocksService) Get(project string, zone string, reservation string, reservationBlock string) *ReservationBlocksGetCall {
+ c := &ReservationBlocksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.urlMap = urlMap
+ c.zone = zone
+ c.reservation = reservation
+ c.reservationBlock = reservationBlock
+ return c
+}
+
+// View sets the optional parameter "view": View of the Block.
+//
+// Possible values:
+//
+// "BASIC" - This view includes basic information about the reservation block
+// "BLOCK_VIEW_UNSPECIFIED" - The default / unset value. The API will default
+//
+// to the BASIC view.
+//
+// "FULL" - Includes detailed topology view.
+func (c *ReservationBlocksGetCall) View(view string) *ReservationBlocksGetCall {
+ c.urlParams_.Set("view", view)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionUrlMapsGetCall) Fields(s ...googleapi.Field) *RegionUrlMapsGetCall {
+func (c *ReservationBlocksGetCall) Fields(s ...googleapi.Field) *ReservationBlocksGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -30610,34 +35239,34 @@ func (c *RegionUrlMapsGetCall) Fields(s ...googleapi.Field) *RegionUrlMapsGetCal
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionUrlMapsGetCall) IfNoneMatch(entityTag string) *RegionUrlMapsGetCall {
+func (c *ReservationBlocksGetCall) IfNoneMatch(entityTag string) *ReservationBlocksGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionUrlMapsGetCall) Context(ctx context.Context) *RegionUrlMapsGetCall {
+func (c *ReservationBlocksGetCall) Context(ctx context.Context) *ReservationBlocksGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionUrlMapsGetCall) Header() http.Header {
+func (c *ReservationBlocksGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionUrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationBlocksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -30645,20 +35274,22 @@ func (c *RegionUrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "urlMap": c.urlMap,
+ "project": c.project,
+ "zone": c.zone,
+ "reservation": c.reservation,
+ "reservationBlock": c.reservationBlock,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionUrlMaps.get" call.
+// Do executes the "compute.reservationBlocks.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *UrlMap.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionUrlMapsGetCall) Do(opts ...googleapi.CallOption) (*UrlMap, error) {
+// *ReservationBlocksGetResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ReservationBlocksGetCall) Do(opts ...googleapi.CallOption) (*ReservationBlocksGetResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30677,7 +35308,7 @@ func (c *RegionUrlMapsGetCall) Do(opts ...googleapi.CallOption) (*UrlMap, error)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &UrlMap{
+ ret := &ReservationBlocksGetResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30688,93 +35319,108 @@ func (c *RegionUrlMapsGetCall) Do(opts ...googleapi.CallOption) (*UrlMap, error)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionUrlMapsInsertCall struct {
- s *Service
- project string
- region string
- urlmap *UrlMap
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationBlocksGetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ parentResource string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a UrlMap resource in the specified project using
-// the data included in the request.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionUrlMapsService) Insert(project string, region string, urlmap *UrlMap) *RegionUrlMapsInsertCall {
- c := &RegionUrlMapsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - parentResource: Name or id of parent resource of the resource for this
+// request.
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *ReservationBlocksService) GetIamPolicy(project string, zone string, parentResource string, resource string) *ReservationBlocksGetIamPolicyCall {
+ c := &ReservationBlocksGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.urlmap = urlmap
+ c.zone = zone
+ c.parentResource = parentResource
+ c.resource = resource
return c
}
-// RequestId sets the optional parameter "requestId": begin_interface:
-// MixerMutationRequestBuilder
-// Request ID to support idempotency.
-func (c *RegionUrlMapsInsertCall) RequestId(requestId string) *RegionUrlMapsInsertCall {
- c.urlParams_.Set("requestId", requestId)
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *ReservationBlocksGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ReservationBlocksGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionUrlMapsInsertCall) Fields(s ...googleapi.Field) *RegionUrlMapsInsertCall {
+func (c *ReservationBlocksGetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationBlocksGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ReservationBlocksGetIamPolicyCall) IfNoneMatch(entityTag string) *ReservationBlocksGetIamPolicyCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionUrlMapsInsertCall) Context(ctx context.Context) *RegionUrlMapsInsertCall {
+func (c *ReservationBlocksGetIamPolicyCall) Context(ctx context.Context) *ReservationBlocksGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionUrlMapsInsertCall) Header() http.Header {
+func (c *ReservationBlocksGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionUrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
- if err != nil {
- return nil, err
+func (c *ReservationBlocksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "zone": c.zone,
+ "parentResource": c.parentResource,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionUrlMaps.insert" call.
+// Do executes the "compute.reservationBlocks.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionUrlMapsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ReservationBlocksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -30793,7 +35439,7 @@ func (c *RegionUrlMapsInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -30804,30 +35450,33 @@ func (c *RegionUrlMapsInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionUrlMapsListCall struct {
+type ReservationBlocksListCall struct {
s *Service
project string
- region string
+ zone string
+ reservation string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of UrlMap resources available to the
-// specified
-// project in the specified region.
+// List: Retrieves a list of reservation blocks under a single reservation.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-func (r *RegionUrlMapsService) List(project string, region string) *RegionUrlMapsListCall {
- c := &RegionUrlMapsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - reservation: The name of the reservation.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *ReservationBlocksService) List(project string, zone string, reservation string) *ReservationBlocksListCall {
+ c := &ReservationBlocksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
+ c.zone = zone
+ c.reservation = reservation
return c
}
@@ -30898,7 +35547,7 @@ func (r *RegionUrlMapsService) List(project string, region string) *RegionUrlMap
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionUrlMapsListCall) Filter(filter string) *RegionUrlMapsListCall {
+func (c *ReservationBlocksListCall) Filter(filter string) *ReservationBlocksListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -30910,7 +35559,7 @@ func (c *RegionUrlMapsListCall) Filter(filter string) *RegionUrlMapsListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionUrlMapsListCall) MaxResults(maxResults int64) *RegionUrlMapsListCall {
+func (c *ReservationBlocksListCall) MaxResults(maxResults int64) *ReservationBlocksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -30930,94 +35579,361 @@ func (c *RegionUrlMapsListCall) MaxResults(maxResults int64) *RegionUrlMapsListC
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionUrlMapsListCall) OrderBy(orderBy string) *RegionUrlMapsListCall {
+func (c *ReservationBlocksListCall) OrderBy(orderBy string) *ReservationBlocksListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionUrlMapsListCall) PageToken(pageToken string) *RegionUrlMapsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *ReservationBlocksListCall) PageToken(pageToken string) *ReservationBlocksListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ReservationBlocksListCall) Fields(s ...googleapi.Field) *ReservationBlocksListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ReservationBlocksListCall) IfNoneMatch(entityTag string) *ReservationBlocksListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *ReservationBlocksListCall) Context(ctx context.Context) *ReservationBlocksListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ReservationBlocksListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ReservationBlocksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "reservation": c.reservation,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.list", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.reservationBlocks.list" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *ReservationBlocksListResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ReservationBlocksListCall) Do(opts ...googleapi.CallOption) (*ReservationBlocksListResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &ReservationBlocksListResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.list", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ReservationBlocksListCall) Pages(ctx context.Context, f func(*ReservationBlocksListResponse) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type ReservationBlocksPerformMaintenanceCall struct {
+ s *Service
+ project string
+ zone string
+ reservation string
+ reservationBlock string
+ reservationsblocksperformmaintenancerequest *ReservationsBlocksPerformMaintenanceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// PerformMaintenance: Allows customers to perform maintenance on a reservation
+// block
+//
+// - project: Project ID for this request.
+// - reservation: The name of the reservation.
+// Name should conform to RFC1035 or be a resource ID.
+// - reservationBlock: The name of the reservation block.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *ReservationBlocksService) PerformMaintenance(project string, zone string, reservation string, reservationBlock string, reservationsblocksperformmaintenancerequest *ReservationsBlocksPerformMaintenanceRequest) *ReservationBlocksPerformMaintenanceCall {
+ c := &ReservationBlocksPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.reservation = reservation
+ c.reservationBlock = reservationBlock
+ c.reservationsblocksperformmaintenancerequest = reservationsblocksperformmaintenancerequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ReservationBlocksPerformMaintenanceCall) RequestId(requestId string) *ReservationBlocksPerformMaintenanceCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ReservationBlocksPerformMaintenanceCall) Fields(s ...googleapi.Field) *ReservationBlocksPerformMaintenanceCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *ReservationBlocksPerformMaintenanceCall) Context(ctx context.Context) *ReservationBlocksPerformMaintenanceCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ReservationBlocksPerformMaintenanceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ReservationBlocksPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsblocksperformmaintenancerequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "reservation": c.reservation,
+ "reservationBlock": c.reservationBlock,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.performMaintenance", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.reservationBlocks.performMaintenance" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ReservationBlocksPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.performMaintenance", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type ReservationBlocksSetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ parentResource string
+ resource string
+ zonesetnestedpolicyrequest *ZoneSetNestedPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionUrlMapsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionUrlMapsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// - parentResource: Name or id of parent resource of the resource for this
+// request.
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *ReservationBlocksService) SetIamPolicy(project string, zone string, parentResource string, resource string, zonesetnestedpolicyrequest *ZoneSetNestedPolicyRequest) *ReservationBlocksSetIamPolicyCall {
+ c := &ReservationBlocksSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.parentResource = parentResource
+ c.resource = resource
+ c.zonesetnestedpolicyrequest = zonesetnestedpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionUrlMapsListCall) Fields(s ...googleapi.Field) *RegionUrlMapsListCall {
+func (c *ReservationBlocksSetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationBlocksSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionUrlMapsListCall) IfNoneMatch(entityTag string) *RegionUrlMapsListCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionUrlMapsListCall) Context(ctx context.Context) *RegionUrlMapsListCall {
+func (c *ReservationBlocksSetIamPolicyCall) Context(ctx context.Context) *ReservationBlocksSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionUrlMapsListCall) Header() http.Header {
+func (c *ReservationBlocksSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionUrlMapsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *ReservationBlocksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetnestedpolicyrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "zone": c.zone,
+ "parentResource": c.parentResource,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionUrlMaps.list" call.
+// Do executes the "compute.reservationBlocks.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *UrlMapList.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionUrlMapsListCall) Do(opts ...googleapi.CallOption) (*UrlMapList, error) {
+func (c *ReservationBlocksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31036,7 +35952,7 @@ func (c *RegionUrlMapsListCall) Do(opts ...googleapi.CallOption) (*UrlMapList, e
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &UrlMapList{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -31047,121 +35963,223 @@ func (c *RegionUrlMapsListCall) Do(opts ...googleapi.CallOption) (*UrlMapList, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionUrlMapsListCall) Pages(ctx context.Context, f func(*UrlMapList) error) error {
+type ReservationBlocksTestIamPermissionsCall struct {
+ s *Service
+ project string
+ zone string
+ parentResource string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
+//
+// - parentResource: Name or id of parent resource of the resource for this
+// request.
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *ReservationBlocksService) TestIamPermissions(project string, zone string, parentResource string, resource string, testpermissionsrequest *TestPermissionsRequest) *ReservationBlocksTestIamPermissionsCall {
+ c := &ReservationBlocksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.parentResource = parentResource
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ReservationBlocksTestIamPermissionsCall) Fields(s ...googleapi.Field) *ReservationBlocksTestIamPermissionsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *ReservationBlocksTestIamPermissionsCall) Context(ctx context.Context) *ReservationBlocksTestIamPermissionsCall {
c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ReservationBlocksTestIamPermissionsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ReservationBlocksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/testIamPermissions")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "parentResource": c.parentResource,
+ "resource": c.resource,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.reservationBlocks.testIamPermissions" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ReservationBlocksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
}
- c.PageToken(x.NextPageToken)
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &TestPermissionsResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
}
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-type RegionUrlMapsPatchCall struct {
- s *Service
- project string
- region string
- urlMap string
- urlmap *UrlMap
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationSlotsGetCall struct {
+ s *Service
+ project string
+ zone string
+ parentName string
+ reservationSlot string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Patches the specified UrlMap resource with the data included in
-// the
-// request. This method supportsPATCH
-// semantics and usesJSON merge
-// patch format and processing rules.
+// Get: Retrieves information about the specified reservation slot.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - urlMap: Name of the UrlMap resource to patch.
-func (r *RegionUrlMapsService) Patch(project string, region string, urlMap string, urlmap *UrlMap) *RegionUrlMapsPatchCall {
- c := &RegionUrlMapsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - parentName: The name of the parent reservation and parent block, formatted
+// as
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}/
+// reservationSubBlocks/{reservation_sub_block_name}.
+// - project: The project ID for this request.
+// - reservationSlot: The name of the reservation slot, formatted as RFC1035 or
+// a resource ID
+//
+// number.
+// - zone: The name of the zone for this request, formatted as RFC1035.
+func (r *ReservationSlotsService) Get(project string, zone string, parentName string, reservationSlot string) *ReservationSlotsGetCall {
+ c := &ReservationSlotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.urlMap = urlMap
- c.urlmap = urlmap
- return c
-}
-
-// RequestId sets the optional parameter "requestId": begin_interface:
-// MixerMutationRequestBuilder
-// Request ID to support idempotency.
-func (c *RegionUrlMapsPatchCall) RequestId(requestId string) *RegionUrlMapsPatchCall {
- c.urlParams_.Set("requestId", requestId)
+ c.zone = zone
+ c.parentName = parentName
+ c.reservationSlot = reservationSlot
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionUrlMapsPatchCall) Fields(s ...googleapi.Field) *RegionUrlMapsPatchCall {
+func (c *ReservationSlotsGetCall) Fields(s ...googleapi.Field) *ReservationSlotsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *ReservationSlotsGetCall) IfNoneMatch(entityTag string) *ReservationSlotsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *RegionUrlMapsPatchCall) Context(ctx context.Context) *RegionUrlMapsPatchCall {
+func (c *ReservationSlotsGetCall) Context(ctx context.Context) *ReservationSlotsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionUrlMapsPatchCall) Header() http.Header {
+func (c *ReservationSlotsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionUrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
- if err != nil {
- return nil, err
+func (c *ReservationSlotsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "urlMap": c.urlMap,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
+ "reservationSlot": c.reservationSlot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionUrlMaps.patch" call.
+// Do executes the "compute.reservationSlots.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionUrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *ReservationSlotsGetResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ReservationSlotsGetCall) Do(opts ...googleapi.CallOption) (*ReservationSlotsGetResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31180,7 +36198,7 @@ func (c *RegionUrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &ReservationSlotsGetResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -31191,41 +36209,46 @@ func (c *RegionUrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionUrlMapsUpdateCall struct {
- s *Service
- project string
- region string
- urlMap string
- urlmap *UrlMap
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationSlotsGetHealthCall struct {
+ s *Service
+ project string
+ zone string
+ parentName string
+ reservationSlot string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates the specified UrlMap resource with the data included in
-// the
-// request.
+// GetHealth: Get health info on a reservation slot.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - urlMap: Name of the UrlMap resource to update.
-func (r *RegionUrlMapsService) Update(project string, region string, urlMap string, urlmap *UrlMap) *RegionUrlMapsUpdateCall {
- c := &RegionUrlMapsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - parentName: The name of the parent reservation, parent block and parent
+// sub-block. In
+// the format
+// of
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}/
+// reservationSubBlocks/{reservation_sub_block_name}.
+// - project: Project ID for this request.
+// - reservationSlot: The name of the reservation slot.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *ReservationSlotsService) GetHealth(project string, zone string, parentName string, reservationSlot string) *ReservationSlotsGetHealthCall {
+ c := &ReservationSlotsGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.urlMap = urlMap
- c.urlmap = urlmap
+ c.zone = zone
+ c.parentName = parentName
+ c.reservationSlot = reservationSlot
return c
}
-// RequestId sets the optional parameter "requestId": begin_interface:
-// MixerMutationRequestBuilder
-// Request ID to support idempotency.
-func (c *RegionUrlMapsUpdateCall) RequestId(requestId string) *RegionUrlMapsUpdateCall {
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests.
+func (c *ReservationSlotsGetHealthCall) RequestId(requestId string) *ReservationSlotsGetHealthCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -31233,56 +36256,53 @@ func (c *RegionUrlMapsUpdateCall) RequestId(requestId string) *RegionUrlMapsUpda
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionUrlMapsUpdateCall) Fields(s ...googleapi.Field) *RegionUrlMapsUpdateCall {
+func (c *ReservationSlotsGetHealthCall) Fields(s ...googleapi.Field) *ReservationSlotsGetHealthCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionUrlMapsUpdateCall) Context(ctx context.Context) *RegionUrlMapsUpdateCall {
+func (c *ReservationSlotsGetHealthCall) Context(ctx context.Context) *ReservationSlotsGetHealthCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionUrlMapsUpdateCall) Header() http.Header {
+func (c *ReservationSlotsGetHealthCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionUrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
- if err != nil {
- return nil, err
- }
+func (c *ReservationSlotsGetHealthCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getHealth")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PUT", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "urlMap": c.urlMap,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
+ "reservationSlot": c.reservationSlot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.getHealth", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionUrlMaps.update" call.
+// Do executes the "compute.reservationSlots.getHealth" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionUrlMapsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ReservationSlotsGetHealthCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31312,70 +36332,98 @@ func (c *RegionUrlMapsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation,
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.getHealth", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionUrlMapsValidateCall struct {
- s *Service
- project string
- region string
- urlMap string
- regionurlmapsvalidaterequest *RegionUrlMapsValidateRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationSlotsGetVersionCall struct {
+ s *Service
+ project string
+ zone string
+ parentName string
+ reservationSlot string
+ reservationslotsgetversionrequest *ReservationSlotsGetVersionRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Validate: Runs static validation for the UrlMap. In particular, the tests of
-// the
-// provided UrlMap will be run. Calling this method does NOT create the
-// UrlMap.
+// GetVersion: Allows customers to get SBOM versions of a reservation slot.
//
-// - project: Project ID for this request.
-// - region: Name of the region scoping this request.
-// - urlMap: Name of the UrlMap resource to be validated as.
-func (r *RegionUrlMapsService) Validate(project string, region string, urlMap string, regionurlmapsvalidaterequest *RegionUrlMapsValidateRequest) *RegionUrlMapsValidateCall {
- c := &RegionUrlMapsValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - parentName: The name of the parent reservation and parent block. In the
+// format
+// of
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}/
+// reservationSubBlocks/{reservation_sub_block_name}.
+// - project: Project ID for this request.
+// - reservationSlot: The name of the reservation slot.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *ReservationSlotsService) GetVersion(project string, zone string, parentName string, reservationSlot string, reservationslotsgetversionrequest *ReservationSlotsGetVersionRequest) *ReservationSlotsGetVersionCall {
+ c := &ReservationSlotsGetVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.urlMap = urlMap
- c.regionurlmapsvalidaterequest = regionurlmapsvalidaterequest
+ c.zone = zone
+ c.parentName = parentName
+ c.reservationSlot = reservationSlot
+ c.reservationslotsgetversionrequest = reservationslotsgetversionrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ReservationSlotsGetVersionCall) RequestId(requestId string) *ReservationSlotsGetVersionCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionUrlMapsValidateCall) Fields(s ...googleapi.Field) *RegionUrlMapsValidateCall {
+func (c *ReservationSlotsGetVersionCall) Fields(s ...googleapi.Field) *ReservationSlotsGetVersionCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionUrlMapsValidateCall) Context(ctx context.Context) *RegionUrlMapsValidateCall {
+func (c *ReservationSlotsGetVersionCall) Context(ctx context.Context) *ReservationSlotsGetVersionCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionUrlMapsValidateCall) Header() http.Header {
+func (c *ReservationSlotsGetVersionCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionUrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionurlmapsvalidaterequest)
+func (c *ReservationSlotsGetVersionCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationslotsgetversionrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getVersion")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -31383,21 +36431,21 @@ func (c *RegionUrlMapsValidateCall) doRequest(alt string) (*http.Response, error
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "urlMap": c.urlMap,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
+ "reservationSlot": c.reservationSlot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.validate", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.getVersion", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionUrlMaps.validate" call.
+// Do executes the "compute.reservationSlots.getVersion" call.
// Any non-2xx status code is an error. Response headers are in either
-// *UrlMapsValidateResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *RegionUrlMapsValidateCall) Do(opts ...googleapi.CallOption) (*UrlMapsValidateResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ReservationSlotsGetVersionCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31416,7 +36464,7 @@ func (c *RegionUrlMapsValidateCall) Do(opts ...googleapi.CallOption) (*UrlMapsVa
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &UrlMapsValidateResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -31427,30 +36475,34 @@ func (c *RegionUrlMapsValidateCall) Do(opts ...googleapi.CallOption) (*UrlMapsVa
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionUrlMaps.validate", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.getVersion", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionZonesListCall struct {
+type ReservationSlotsListCall struct {
s *Service
project string
- region string
+ zone string
+ parentName string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves the list of Zone resources under the specific region
-// available to
-// the specified project.
+// List: Retrieves a list of reservation slots under a single reservation.
//
-// - project: Project ID for this request.
-// - region: Region for this request.
-func (r *RegionZonesService) List(project string, region string) *RegionZonesListCall {
- c := &RegionZonesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - parentName: The name of the parent reservation and parent block, formatted
+// as
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}/
+// reservationSubBlocks/{reservation_sub_block_name}.
+// - project: The project ID for this request.
+// - zone: The name of the zone for this request, formatted as RFC1035.
+func (r *ReservationSlotsService) List(project string, zone string, parentName string) *ReservationSlotsListCall {
+ c := &ReservationSlotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
+ c.zone = zone
+ c.parentName = parentName
return c
}
@@ -31521,7 +36573,7 @@ func (r *RegionZonesService) List(project string, region string) *RegionZonesLis
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RegionZonesListCall) Filter(filter string) *RegionZonesListCall {
+func (c *ReservationSlotsListCall) Filter(filter string) *ReservationSlotsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -31533,7 +36585,7 @@ func (c *RegionZonesListCall) Filter(filter string) *RegionZonesListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionZonesListCall) MaxResults(maxResults int64) *RegionZonesListCall {
+func (c *ReservationSlotsListCall) MaxResults(maxResults int64) *ReservationSlotsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -31553,7 +36605,7 @@ func (c *RegionZonesListCall) MaxResults(maxResults int64) *RegionZonesListCall
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RegionZonesListCall) OrderBy(orderBy string) *RegionZonesListCall {
+func (c *ReservationSlotsListCall) OrderBy(orderBy string) *ReservationSlotsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -31562,30 +36614,15 @@ func (c *RegionZonesListCall) OrderBy(orderBy string) *RegionZonesListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RegionZonesListCall) PageToken(pageToken string) *RegionZonesListCall {
+func (c *ReservationSlotsListCall) PageToken(pageToken string) *ReservationSlotsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionZonesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionZonesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionZonesListCall) Fields(s ...googleapi.Field) *RegionZonesListCall {
+func (c *ReservationSlotsListCall) Fields(s ...googleapi.Field) *ReservationSlotsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -31593,34 +36630,34 @@ func (c *RegionZonesListCall) Fields(s ...googleapi.Field) *RegionZonesListCall
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionZonesListCall) IfNoneMatch(entityTag string) *RegionZonesListCall {
+func (c *ReservationSlotsListCall) IfNoneMatch(entityTag string) *ReservationSlotsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionZonesListCall) Context(ctx context.Context) *RegionZonesListCall {
+func (c *ReservationSlotsListCall) Context(ctx context.Context) *ReservationSlotsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionZonesListCall) Header() http.Header {
+func (c *ReservationSlotsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionZonesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationSlotsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/zones")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -31628,19 +36665,21 @@ func (c *RegionZonesListCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionZones.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regionZones.list" call.
+// Do executes the "compute.reservationSlots.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ZoneList.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionZonesListCall) Do(opts ...googleapi.CallOption) (*ZoneList, error) {
+// *ReservationSlotsListResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ReservationSlotsListCall) Do(opts ...googleapi.CallOption) (*ReservationSlotsListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31659,7 +36698,7 @@ func (c *RegionZonesListCall) Do(opts ...googleapi.CallOption) (*ZoneList, error
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ZoneList{
+ ret := &ReservationSlotsListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -31670,14 +36709,14 @@ func (c *RegionZonesListCall) Do(opts ...googleapi.CallOption) (*ZoneList, error
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionZones.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RegionZonesListCall) Pages(ctx context.Context, f func(*ZoneList) error) error {
+func (c *ReservationSlotsListCall) Pages(ctx context.Context, f func(*ReservationSlotsListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -31695,110 +36734,95 @@ func (c *RegionZonesListCall) Pages(ctx context.Context, f func(*ZoneList) error
}
}
-type RegionsGetCall struct {
- s *Service
- project string
- region string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ReservationSlotsUpdateCall struct {
+ s *Service
+ project string
+ zone string
+ parentName string
+ reservationSlot string
+ reservationslot *ReservationSlot
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified Region resource.
-//
-// To decrease latency for this method, you can optionally omit any
-// unneeded
-// information from the response by using a field mask. This practice
-// is
-// especially recommended for unused quota information (the `quotas` field).
-// To exclude one or more fields, set your request's `fields` query
-// parameter
-// to only include the fields you need. For example, to only include the
-// `id`
-// and `selfLink` fields, add the query parameter `?fields=id,selfLink` to
-// your request.
-//
-// This method fails if the quota information is unavailable for the region
-// and if the organization policy
-// constraint
-// compute.requireBasicQuotaInResponse is enforced. This
-// constraint, when enforced, disables the fail-open behaviour when
-// quota
-// information (the `items.quotas` field) is unavailable for the region.
-// It is recommended to use the default setting
-// for the constraint unless your application requires the
-// fail-closed
-// behaviour for this method.
+// Update: Update a reservation slot in the specified sub-block.
//
-// - project: Project ID for this request.
-// - region: Name of the region resource to return.
-func (r *RegionsService) Get(project string, region string) *RegionsGetCall {
- c := &RegionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - parentName: The name of the sub-block resource.
+// - project: The project ID for this request.
+// - reservationSlot: The name of the slot resource.
+// - zone: The name of the zone for this request, formatted as RFC1035.
+func (r *ReservationSlotsService) Update(project string, zone string, parentName string, reservationSlot string, reservationslot *ReservationSlot) *ReservationSlotsUpdateCall {
+ c := &ReservationSlotsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
+ c.zone = zone
+ c.parentName = parentName
+ c.reservationSlot = reservationSlot
+ c.reservationslot = reservationslot
+ return c
+}
+
+// UpdateMask sets the optional parameter "updateMask": The fields to be
+// updated as part of this request.
+func (c *ReservationSlotsUpdateCall) UpdateMask(updateMask string) *ReservationSlotsUpdateCall {
+ c.urlParams_.Set("updateMask", updateMask)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionsGetCall) Fields(s ...googleapi.Field) *RegionsGetCall {
+func (c *ReservationSlotsUpdateCall) Fields(s ...googleapi.Field) *ReservationSlotsUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *RegionsGetCall) IfNoneMatch(entityTag string) *RegionsGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *RegionsGetCall) Context(ctx context.Context) *RegionsGetCall {
+func (c *ReservationSlotsUpdateCall) Context(ctx context.Context) *ReservationSlotsUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionsGetCall) Header() http.Header {
+func (c *ReservationSlotsUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *ReservationSlotsUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationslot)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
+ "reservationSlot": c.reservationSlot,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regions.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.update", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regions.get" call.
+// Do executes the "compute.reservationSlots.update" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Region.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionsGetCall) Do(opts ...googleapi.CallOption) (*Region, error) {
+func (c *ReservationSlotsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -31817,7 +36841,7 @@ func (c *RegionsGetCall) Do(opts ...googleapi.CallOption) (*Region, error) {
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Region{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -31828,186 +36852,63 @@ func (c *RegionsGetCall) Do(opts ...googleapi.CallOption) (*Region, error) {
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regions.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.update", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type RegionsListCall struct {
- s *Service
- project string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ReservationSubBlocksGetCall struct {
+ s *Service
+ project string
+ zone string
+ parentName string
+ reservationSubBlock string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves the list of region resources available to the specified
-// project.
-//
-// To decrease latency for this method, you can optionally omit any
-// unneeded
-// information from the response by using a field mask. This practice
-// is
-// especially recommended for unused quota information
-// (the `items.quotas` field).
-// To exclude one or more fields, set your request's `fields` query
-// parameter
-// to only include the fields you need. For example, to only include the
-// `id`
-// and `selfLink` fields, add the query parameter `?fields=id,selfLink` to
-// your request.
-//
-// This method fails if the quota information is unavailable for the region
-// and if the organization policy
-// constraint
-// compute.requireBasicQuotaInResponse is enforced. This
-// constraint, when enforced, disables the fail-open behaviour when
-// quota
-// information (the `items.quotas` field) is unavailable for the region.
-// It is recommended to use the default setting
-// for the constraint unless your application requires the
-// fail-closed
-// behaviour for this method.
+// Get: Retrieves information about the specified reservation subBlock.
//
-// - project: Project ID for this request.
-func (r *RegionsService) List(project string) *RegionsListCall {
- c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - parentName: The name of the parent reservation and parent block. In the
+// format
+// of
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
+// - project: Project ID for this request.
+// - reservationSubBlock: The name of the reservation subBlock.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *ReservationSubBlocksService) Get(project string, zone string, parentName string, reservationSubBlock string) *ReservationSubBlocksGetCall {
+ c := &ReservationSubBlocksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
+ c.zone = zone
+ c.parentName = parentName
+ c.reservationSubBlock = reservationSubBlock
return c
}
-// Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in the response. Most
-// Compute resources support two types of filter expressions:
-// expressions that support regular expressions and expressions that follow
-// API improvement proposal AIP-160.
-// These two types of filter expressions cannot be mixed in one request.
-//
-// If you want to use AIP-160, your expression must specify the field name,
-// an
-// operator, and the value that you want to use for filtering. The value
-// must be a string, a number, or a boolean. The operator
-// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-//
-// For example, if you are filtering Compute Engine instances, you can
-// exclude instances named `example-instance` by specifying
-// `name != example-instance`.
-//
-// The `:*` comparison can be used to test whether a key has been defined.
-// For example, to find all objects with `owner` label
-// use:
-// ```
-// labels.owner:*
-// ```
-//
-// You can also filter nested fields. For example, you could
-// specify
-// `scheduling.automaticRestart = false` to include instances only
-// if they are not scheduled for automatic restarts. You can use filtering
-// on nested fields to filter based onresource labels.
-//
-// To filter on multiple expressions, provide each separate expression
-// within
-// parentheses. For example:
-// ```
-// (scheduling.automaticRestart = true)
-// (cpuPlatform = "Intel Skylake")
-// ```
-// By default, each expression is an `AND` expression. However, you
-// can include `AND` and `OR` expressions explicitly.
-// For example:
-// ```
-// (cpuPlatform = "Intel Skylake") OR
-// (cpuPlatform = "Intel Broadwell") AND
-// (scheduling.automaticRestart = true)
-// ```
-//
-// If you want to use a regular expression, use the `eq` (equal) or `ne`
-// (not equal) operator against a single un-parenthesized expression with
-// or
-// without quotes or against multiple parenthesized expressions.
-// Examples:
-//
-// `fieldname eq unquoted literal`
-// `fieldname eq 'single quoted literal'`
-// `fieldname eq "double quoted literal"
-// `(fieldname1 eq literal) (fieldname2 ne "literal")`
-//
-// The literal value is interpreted as a regular expression using GoogleRE2
-// library syntax.
-// The literal value must match the entire field.
+// View sets the optional parameter "view": View of the subBlock.
//
-// For example, to filter for instances that do not end with name
-// "instance",
-// you would use `name ne .*instance`.
+// Possible values:
//
-// You cannot combine constraints on multiple fields using regular
-// expressions.
-func (c *RegionsListCall) Filter(filter string) *RegionsListCall {
- c.urlParams_.Set("filter", filter)
- return c
-}
-
-// MaxResults sets the optional parameter "maxResults": The maximum number of
-// results per page that should be returned.
-// If the number of available results is larger than `maxResults`,
-// Compute Engine returns a `nextPageToken` that can be used to get
-// the next page of results in subsequent list requests. Acceptable values
-// are
-// `0` to `500`, inclusive. (Default: `500`)
-func (c *RegionsListCall) MaxResults(maxResults int64) *RegionsListCall {
- c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
- return c
-}
-
-// OrderBy sets the optional parameter "orderBy": Sorts list results by a
-// certain order. By default, results
-// are returned in alphanumerical order based on the resource name.
+// "SUB_BLOCK_VIEW_BASIC" - This view includes basic information about the
//
-// You can also sort results in descending order based on the
-// creation
-// timestamp using `orderBy="creationTimestamp desc". This sorts
-// results based on the `creationTimestamp` field in
-// reverse chronological order (newest result first). Use this to
-// sort
-// resources like operations so that the newest operation is returned
-// first.
+// reservation sub block
//
-// Currently, only sorting by `name` or
-// `creationTimestamp desc` is supported.
-func (c *RegionsListCall) OrderBy(orderBy string) *RegionsListCall {
- c.urlParams_.Set("orderBy", orderBy)
- return c
-}
-
-// PageToken sets the optional parameter "pageToken": Specifies a page token to
-// use. Set `pageToken` to the
-// `nextPageToken` returned by a previous list request to get
-// the next page of results.
-func (c *RegionsListCall) PageToken(pageToken string) *RegionsListCall {
- c.urlParams_.Set("pageToken", pageToken)
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
+// "SUB_BLOCK_VIEW_FULL" - Includes detailed topology view.
+// "SUB_BLOCK_VIEW_UNSPECIFIED" - The default / unset value. The API will
//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RegionsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// default to the BASIC view.
+func (c *ReservationSubBlocksGetCall) View(view string) *ReservationSubBlocksGetCall {
+ c.urlParams_.Set("view", view)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
+func (c *ReservationSubBlocksGetCall) Fields(s ...googleapi.Field) *ReservationSubBlocksGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -32015,34 +36916,34 @@ func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
+func (c *ReservationSubBlocksGetCall) IfNoneMatch(entityTag string) *ReservationSubBlocksGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
+func (c *ReservationSubBlocksGetCall) Context(ctx context.Context) *ReservationSubBlocksGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RegionsListCall) Header() http.Header {
+func (c *ReservationSubBlocksGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationSubBlocksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -32050,18 +36951,22 @@ func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
+ "reservationSubBlock": c.reservationSubBlock,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regions.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.regions.list" call.
+// Do executes the "compute.reservationSubBlocks.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RegionList.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionList, error) {
+// *ReservationSubBlocksGetResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ReservationSubBlocksGetCall) Do(opts ...googleapi.CallOption) (*ReservationSubBlocksGetResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32080,7 +36985,7 @@ func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionList, error)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RegionList{
+ ret := &ReservationSubBlocksGetResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -32091,80 +36996,51 @@ func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionList, error)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regions.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *RegionsListCall) Pages(ctx context.Context, f func(*RegionList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type ReservationBlocksGetCall struct {
- s *Service
- project string
- zone string
- reservation string
- reservationBlock string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ReservationSubBlocksGetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ parentResource string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Retrieves information about the specified reservation block.
+// GetIamPolicy: Gets the access control policy for a resource. May be empty if
+// no such
+// policy or resource exists.
//
+// - parentResource: Name or id of parent resource of the resource for this
+// request.
// - project: Project ID for this request.
-// - reservation: The name of the reservation.
-// Name should conform to RFC1035 or be a resource ID.
-// - reservationBlock: The name of the reservation block.
-// Name should conform to RFC1035 or be a resource ID.
-// - zone: Name of the zone for this request. Zone name should conform to
-// RFC1035.
-func (r *ReservationBlocksService) Get(project string, zone string, reservation string, reservationBlock string) *ReservationBlocksGetCall {
- c := &ReservationBlocksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *ReservationSubBlocksService) GetIamPolicy(project string, zone string, parentResource string, resource string) *ReservationSubBlocksGetIamPolicyCall {
+ c := &ReservationSubBlocksGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.reservation = reservation
- c.reservationBlock = reservationBlock
+ c.parentResource = parentResource
+ c.resource = resource
return c
}
-// View sets the optional parameter "view": View of the Block.
-//
-// Possible values:
-//
-// "BASIC" - This view includes basic information about the reservation block
-// "BLOCK_VIEW_UNSPECIFIED" - The default / unset value. The API will default
-//
-// to the BASIC view.
-//
-// "FULL" - Includes detailed topology view.
-func (c *ReservationBlocksGetCall) View(view string) *ReservationBlocksGetCall {
- c.urlParams_.Set("view", view)
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "optionsRequestedPolicyVersion": Requested IAM Policy version.
+func (c *ReservationSubBlocksGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ReservationSubBlocksGetIamPolicyCall {
+ c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationBlocksGetCall) Fields(s ...googleapi.Field) *ReservationBlocksGetCall {
+func (c *ReservationSubBlocksGetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationSubBlocksGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -32172,34 +37048,34 @@ func (c *ReservationBlocksGetCall) Fields(s ...googleapi.Field) *ReservationBloc
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationBlocksGetCall) IfNoneMatch(entityTag string) *ReservationBlocksGetCall {
+func (c *ReservationSubBlocksGetIamPolicyCall) IfNoneMatch(entityTag string) *ReservationSubBlocksGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationBlocksGetCall) Context(ctx context.Context) *ReservationBlocksGetCall {
+func (c *ReservationSubBlocksGetIamPolicyCall) Context(ctx context.Context) *ReservationSubBlocksGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationBlocksGetCall) Header() http.Header {
+func (c *ReservationSubBlocksGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationBlocksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationSubBlocksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -32207,22 +37083,21 @@ func (c *ReservationBlocksGetCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "reservation": c.reservation,
- "reservationBlock": c.reservationBlock,
+ "project": c.project,
+ "zone": c.zone,
+ "parentResource": c.parentResource,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationBlocks.get" call.
+// Do executes the "compute.reservationSubBlocks.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ReservationBlocksGetResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ReservationBlocksGetCall) Do(opts ...googleapi.CallOption) (*ReservationBlocksGetResponse, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ReservationSubBlocksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32241,119 +37116,130 @@ func (c *ReservationBlocksGetCall) Do(opts ...googleapi.CallOption) (*Reservatio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ReservationBlocksGetResponse{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.get", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type ReservationBlocksGetIamPolicyCall struct {
- s *Service
- project string
- zone string
- parentResource string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+type ReservationSubBlocksGetVersionCall struct {
+ s *Service
+ project string
+ zone string
+ parentName string
+ reservationSubBlock string
+ reservationsubblocksgetversionrequest *ReservationSubBlocksGetVersionRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetVersion: Allows customers to get SBOM versions of a reservation subBlock.
//
-// - parentResource: Name or id of parent resource of the resource for this
-// request.
+// - parentName: The name of the parent reservation and parent block. In the
+// format
+// of
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *ReservationBlocksService) GetIamPolicy(project string, zone string, parentResource string, resource string) *ReservationBlocksGetIamPolicyCall {
- c := &ReservationBlocksGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - reservationSubBlock: The name of the reservation subBlock.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *ReservationSubBlocksService) GetVersion(project string, zone string, parentName string, reservationSubBlock string, reservationsubblocksgetversionrequest *ReservationSubBlocksGetVersionRequest) *ReservationSubBlocksGetVersionCall {
+ c := &ReservationSubBlocksGetVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentResource = parentResource
- c.resource = resource
+ c.parentName = parentName
+ c.reservationSubBlock = reservationSubBlock
+ c.reservationsubblocksgetversionrequest = reservationsubblocksgetversionrequest
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *ReservationBlocksGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ReservationBlocksGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ReservationSubBlocksGetVersionCall) RequestId(requestId string) *ReservationSubBlocksGetVersionCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationBlocksGetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationBlocksGetIamPolicyCall {
+func (c *ReservationSubBlocksGetVersionCall) Fields(s ...googleapi.Field) *ReservationSubBlocksGetVersionCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ReservationBlocksGetIamPolicyCall) IfNoneMatch(entityTag string) *ReservationBlocksGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *ReservationBlocksGetIamPolicyCall) Context(ctx context.Context) *ReservationBlocksGetIamPolicyCall {
+func (c *ReservationSubBlocksGetVersionCall) Context(ctx context.Context) *ReservationSubBlocksGetVersionCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationBlocksGetIamPolicyCall) Header() http.Header {
+func (c *ReservationSubBlocksGetVersionCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationBlocksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *ReservationSubBlocksGetVersionCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsubblocksgetversionrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/getVersion")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentResource": c.parentResource,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
+ "reservationSubBlock": c.reservationSubBlock,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getVersion", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationBlocks.getIamPolicy" call.
+// Do executes the "compute.reservationSubBlocks.getVersion" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationBlocksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *ReservationSubBlocksGetVersionCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32372,7 +37258,7 @@ func (c *ReservationBlocksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*P
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -32383,33 +37269,35 @@ func (c *ReservationBlocksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*P
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getVersion", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationBlocksListCall struct {
+type ReservationSubBlocksListCall struct {
s *Service
project string
zone string
- reservation string
+ parentName string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves a list of reservation blocks under a single reservation.
+// List: Retrieves a list of reservation subBlocks under a single reservation.
//
+// - parentName: The name of the parent reservation and parent block. In the
+// format
+// of
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
// - project: Project ID for this request.
-// - reservation: The name of the reservation.
-// Name should conform to RFC1035 or be a resource ID.
// - zone: Name of the zone for this request. Zone name should conform to
// RFC1035.
-func (r *ReservationBlocksService) List(project string, zone string, reservation string) *ReservationBlocksListCall {
- c := &ReservationBlocksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ReservationSubBlocksService) List(project string, zone string, parentName string) *ReservationSubBlocksListCall {
+ c := &ReservationSubBlocksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.reservation = reservation
+ c.parentName = parentName
return c
}
@@ -32480,7 +37368,7 @@ func (r *ReservationBlocksService) List(project string, zone string, reservation
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ReservationBlocksListCall) Filter(filter string) *ReservationBlocksListCall {
+func (c *ReservationSubBlocksListCall) Filter(filter string) *ReservationSubBlocksListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -32492,7 +37380,7 @@ func (c *ReservationBlocksListCall) Filter(filter string) *ReservationBlocksList
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *ReservationBlocksListCall) MaxResults(maxResults int64) *ReservationBlocksListCall {
+func (c *ReservationSubBlocksListCall) MaxResults(maxResults int64) *ReservationSubBlocksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -32512,7 +37400,7 @@ func (c *ReservationBlocksListCall) MaxResults(maxResults int64) *ReservationBlo
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *ReservationBlocksListCall) OrderBy(orderBy string) *ReservationBlocksListCall {
+func (c *ReservationSubBlocksListCall) OrderBy(orderBy string) *ReservationSubBlocksListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -32521,30 +37409,15 @@ func (c *ReservationBlocksListCall) OrderBy(orderBy string) *ReservationBlocksLi
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *ReservationBlocksListCall) PageToken(pageToken string) *ReservationBlocksListCall {
+func (c *ReservationSubBlocksListCall) PageToken(pageToken string) *ReservationSubBlocksListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ReservationBlocksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ReservationBlocksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationBlocksListCall) Fields(s ...googleapi.Field) *ReservationBlocksListCall {
+func (c *ReservationSubBlocksListCall) Fields(s ...googleapi.Field) *ReservationSubBlocksListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -32552,34 +37425,34 @@ func (c *ReservationBlocksListCall) Fields(s ...googleapi.Field) *ReservationBlo
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationBlocksListCall) IfNoneMatch(entityTag string) *ReservationBlocksListCall {
+func (c *ReservationSubBlocksListCall) IfNoneMatch(entityTag string) *ReservationSubBlocksListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationBlocksListCall) Context(ctx context.Context) *ReservationBlocksListCall {
+func (c *ReservationSubBlocksListCall) Context(ctx context.Context) *ReservationSubBlocksListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationBlocksListCall) Header() http.Header {
+func (c *ReservationSubBlocksListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationBlocksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationSubBlocksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -32587,21 +37460,21 @@ func (c *ReservationBlocksListCall) doRequest(alt string) (*http.Response, error
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "reservation": c.reservation,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationBlocks.list" call.
+// Do executes the "compute.reservationSubBlocks.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ReservationBlocksListResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
+// *ReservationSubBlocksListResponse.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *ReservationBlocksListCall) Do(opts ...googleapi.CallOption) (*ReservationBlocksListResponse, error) {
+func (c *ReservationSubBlocksListCall) Do(opts ...googleapi.CallOption) (*ReservationSubBlocksListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32620,7 +37493,7 @@ func (c *ReservationBlocksListCall) Do(opts ...googleapi.CallOption) (*Reservati
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ReservationBlocksListResponse{
+ ret := &ReservationSubBlocksListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -32631,14 +37504,14 @@ func (c *ReservationBlocksListCall) Do(opts ...googleapi.CallOption) (*Reservati
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *ReservationBlocksListCall) Pages(ctx context.Context, f func(*ReservationBlocksListResponse) error) error {
+func (c *ReservationSubBlocksListCall) Pages(ctx context.Context, f func(*ReservationSubBlocksListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -32656,35 +37529,35 @@ func (c *ReservationBlocksListCall) Pages(ctx context.Context, f func(*Reservati
}
}
-type ReservationBlocksPerformMaintenanceCall struct {
- s *Service
- project string
- zone string
- reservation string
- reservationBlock string
- reservationsblocksperformmaintenancerequest *ReservationsBlocksPerformMaintenanceRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationSubBlocksPerformMaintenanceCall struct {
+ s *Service
+ project string
+ zone string
+ parentName string
+ reservationSubBlock string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
// PerformMaintenance: Allows customers to perform maintenance on a reservation
-// block
+// subBlock
//
+// - parentName: The name of the parent reservation and parent block. In the
+// format
+// of
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
// - project: Project ID for this request.
-// - reservation: The name of the reservation.
-// Name should conform to RFC1035 or be a resource ID.
-// - reservationBlock: The name of the reservation block.
+// - reservationSubBlock: The name of the reservation subBlock.
// Name should conform to RFC1035 or be a resource ID.
// - zone: Name of the zone for this request. Zone name should conform to
// RFC1035.
-func (r *ReservationBlocksService) PerformMaintenance(project string, zone string, reservation string, reservationBlock string, reservationsblocksperformmaintenancerequest *ReservationsBlocksPerformMaintenanceRequest) *ReservationBlocksPerformMaintenanceCall {
- c := &ReservationBlocksPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ReservationSubBlocksService) PerformMaintenance(project string, zone string, parentName string, reservationSubBlock string) *ReservationSubBlocksPerformMaintenanceCall {
+ c := &ReservationSubBlocksPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.reservation = reservation
- c.reservationBlock = reservationBlock
- c.reservationsblocksperformmaintenancerequest = reservationsblocksperformmaintenancerequest
+ c.parentName = parentName
+ c.reservationSubBlock = reservationSubBlock
return c
}
@@ -32705,7 +37578,7 @@ func (r *ReservationBlocksService) PerformMaintenance(project string, zone strin
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationBlocksPerformMaintenanceCall) RequestId(requestId string) *ReservationBlocksPerformMaintenanceCall {
+func (c *ReservationSubBlocksPerformMaintenanceCall) RequestId(requestId string) *ReservationSubBlocksPerformMaintenanceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -32713,57 +37586,53 @@ func (c *ReservationBlocksPerformMaintenanceCall) RequestId(requestId string) *R
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationBlocksPerformMaintenanceCall) Fields(s ...googleapi.Field) *ReservationBlocksPerformMaintenanceCall {
+func (c *ReservationSubBlocksPerformMaintenanceCall) Fields(s ...googleapi.Field) *ReservationSubBlocksPerformMaintenanceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationBlocksPerformMaintenanceCall) Context(ctx context.Context) *ReservationBlocksPerformMaintenanceCall {
+func (c *ReservationSubBlocksPerformMaintenanceCall) Context(ctx context.Context) *ReservationSubBlocksPerformMaintenanceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationBlocksPerformMaintenanceCall) Header() http.Header {
+func (c *ReservationSubBlocksPerformMaintenanceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationBlocksPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsblocksperformmaintenancerequest)
- if err != nil {
- return nil, err
- }
+func (c *ReservationSubBlocksPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "reservation": c.reservation,
- "reservationBlock": c.reservationBlock,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
+ "reservationSubBlock": c.reservationSubBlock,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.performMaintenance", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.performMaintenance", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationBlocks.performMaintenance" call.
+// Do executes the "compute.reservationSubBlocks.performMaintenance" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationBlocksPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ReservationSubBlocksPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32793,73 +37662,97 @@ func (c *ReservationBlocksPerformMaintenanceCall) Do(opts ...googleapi.CallOptio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.performMaintenance", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.performMaintenance", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationBlocksSetIamPolicyCall struct {
- s *Service
- project string
- zone string
- parentResource string
- resource string
- zonesetnestedpolicyrequest *ZoneSetNestedPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationSubBlocksReportFaultyCall struct {
+ s *Service
+ project string
+ zone string
+ parentName string
+ reservationSubBlock string
+ reservationsubblocksreportfaultyrequest *ReservationSubBlocksReportFaultyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// ReportFaulty: Allows customers to report a faulty subBlock.
//
-// - parentResource: Name or id of parent resource of the resource for this
-// request.
+// - parentName: The name of the parent reservation and parent block. In the
+// format
+// of
+// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *ReservationBlocksService) SetIamPolicy(project string, zone string, parentResource string, resource string, zonesetnestedpolicyrequest *ZoneSetNestedPolicyRequest) *ReservationBlocksSetIamPolicyCall {
- c := &ReservationBlocksSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - reservationSubBlock: The name of the reservation subBlock.
+// Name should conform to RFC1035 or be a resource ID.
+// - zone: Name of the zone for this request. Zone name should conform to
+// RFC1035.
+func (r *ReservationSubBlocksService) ReportFaulty(project string, zone string, parentName string, reservationSubBlock string, reservationsubblocksreportfaultyrequest *ReservationSubBlocksReportFaultyRequest) *ReservationSubBlocksReportFaultyCall {
+ c := &ReservationSubBlocksReportFaultyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentResource = parentResource
- c.resource = resource
- c.zonesetnestedpolicyrequest = zonesetnestedpolicyrequest
+ c.parentName = parentName
+ c.reservationSubBlock = reservationSubBlock
+ c.reservationsubblocksreportfaultyrequest = reservationsubblocksreportfaultyrequest
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ReservationSubBlocksReportFaultyCall) RequestId(requestId string) *ReservationSubBlocksReportFaultyCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationBlocksSetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationBlocksSetIamPolicyCall {
+func (c *ReservationSubBlocksReportFaultyCall) Fields(s ...googleapi.Field) *ReservationSubBlocksReportFaultyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationBlocksSetIamPolicyCall) Context(ctx context.Context) *ReservationBlocksSetIamPolicyCall {
+func (c *ReservationSubBlocksReportFaultyCall) Context(ctx context.Context) *ReservationSubBlocksReportFaultyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationBlocksSetIamPolicyCall) Header() http.Header {
+func (c *ReservationSubBlocksReportFaultyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationBlocksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetnestedpolicyrequest)
+func (c *ReservationSubBlocksReportFaultyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsubblocksreportfaultyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -32867,21 +37760,21 @@ func (c *ReservationBlocksSetIamPolicyCall) doRequest(alt string) (*http.Respons
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentResource": c.parentResource,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "parentName": c.parentName,
+ "reservationSubBlock": c.reservationSubBlock,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.reportFaulty", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationBlocks.setIamPolicy" call.
+// Do executes the "compute.reservationSubBlocks.reportFaulty" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationBlocksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *ReservationSubBlocksReportFaultyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -32900,7 +37793,7 @@ func (c *ReservationBlocksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*P
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -32911,223 +37804,95 @@ func (c *ReservationBlocksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*P
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.reportFaulty", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationBlocksTestIamPermissionsCall struct {
- s *Service
- project string
- zone string
- parentResource string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationSubBlocksSetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ parentResource string
+ resource string
+ zonesetnestedpolicyrequest *ZoneSetNestedPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
+// SetIamPolicy: Sets the access control policy on the specified
// resource.
+// Replaces any existing policy.
//
// - parentResource: Name or id of parent resource of the resource for this
// request.
// - project: Project ID for this request.
// - resource: Name or id of the resource for this request.
// - zone: The name of the zone for this request.
-func (r *ReservationBlocksService) TestIamPermissions(project string, zone string, parentResource string, resource string, testpermissionsrequest *TestPermissionsRequest) *ReservationBlocksTestIamPermissionsCall {
- c := &ReservationBlocksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ReservationSubBlocksService) SetIamPolicy(project string, zone string, parentResource string, resource string, zonesetnestedpolicyrequest *ZoneSetNestedPolicyRequest) *ReservationSubBlocksSetIamPolicyCall {
+ c := &ReservationSubBlocksSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
c.parentResource = parentResource
c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *ReservationBlocksTestIamPermissionsCall) Fields(s ...googleapi.Field) *ReservationBlocksTestIamPermissionsCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
- return c
-}
-
-// Context sets the context to be used in this call's Do method.
-func (c *ReservationBlocksTestIamPermissionsCall) Context(ctx context.Context) *ReservationBlocksTestIamPermissionsCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *ReservationBlocksTestIamPermissionsCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *ReservationBlocksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/testIamPermissions")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentResource": c.parentResource,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationBlocks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.reservationBlocks.testIamPermissions" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ReservationBlocksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &TestPermissionsResponse{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationBlocks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type ReservationSlotsGetCall struct {
- s *Service
- project string
- zone string
- parentName string
- reservationSlot string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
-}
-
-// Get: Retrieves information about the specified reservation slot.
-//
-// - parentName: The name of the parent reservation and parent block, formatted
-// as
-// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}/
-// reservationSubBlocks/{reservation_sub_block_name}.
-// - project: The project ID for this request.
-// - reservationSlot: The name of the reservation slot, formatted as RFC1035 or
-// a resource ID
-//
-// number.
-// - zone: The name of the zone for this request, formatted as RFC1035.
-func (r *ReservationSlotsService) Get(project string, zone string, parentName string, reservationSlot string) *ReservationSlotsGetCall {
- c := &ReservationSlotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.zone = zone
- c.parentName = parentName
- c.reservationSlot = reservationSlot
- return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *ReservationSlotsGetCall) Fields(s ...googleapi.Field) *ReservationSlotsGetCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ c.zonesetnestedpolicyrequest = zonesetnestedpolicyrequest
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ReservationSlotsGetCall) IfNoneMatch(entityTag string) *ReservationSlotsGetCall {
- c.ifNoneMatch_ = entityTag
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ReservationSubBlocksSetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationSubBlocksSetIamPolicyCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSlotsGetCall) Context(ctx context.Context) *ReservationSlotsGetCall {
+func (c *ReservationSubBlocksSetIamPolicyCall) Context(ctx context.Context) *ReservationSubBlocksSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSlotsGetCall) Header() http.Header {
+func (c *ReservationSubBlocksSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSlotsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+func (c *ReservationSubBlocksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetnestedpolicyrequest)
+ if err != nil {
+ return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
- "reservationSlot": c.reservationSlot,
+ "project": c.project,
+ "zone": c.zone,
+ "parentResource": c.parentResource,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSlots.get" call.
+// Do executes the "compute.reservationSubBlocks.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ReservationSlotsGetResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ReservationSlotsGetCall) Do(opts ...googleapi.CallOption) (*ReservationSlotsGetResponse, error) {
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ReservationSubBlocksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33146,7 +37911,7 @@ func (c *ReservationSlotsGetCall) Do(opts ...googleapi.CallOption) (*Reservation
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ReservationSlotsGetResponse{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -33157,98 +37922,72 @@ func (c *ReservationSlotsGetCall) Do(opts ...googleapi.CallOption) (*Reservation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSlotsGetVersionCall struct {
- s *Service
- project string
- zone string
- parentName string
- reservationSlot string
- reservationslotsgetversionrequest *ReservationSlotsGetVersionRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationSubBlocksTestIamPermissionsCall struct {
+ s *Service
+ project string
+ zone string
+ parentResource string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetVersion: Allows customers to get SBOM versions of a reservation slot.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
-// - parentName: The name of the parent reservation and parent block. In the
-// format
-// of
-// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}/
-// reservationSubBlocks/{reservation_sub_block_name}.
+// - parentResource: Name or id of parent resource of the resource for this
+// request.
// - project: Project ID for this request.
-// - reservationSlot: The name of the reservation slot.
-// Name should conform to RFC1035 or be a resource ID.
-// - zone: Name of the zone for this request. Zone name should conform to
-// RFC1035.
-func (r *ReservationSlotsService) GetVersion(project string, zone string, parentName string, reservationSlot string, reservationslotsgetversionrequest *ReservationSlotsGetVersionRequest) *ReservationSlotsGetVersionCall {
- c := &ReservationSlotsGetVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *ReservationSubBlocksService) TestIamPermissions(project string, zone string, parentResource string, resource string, testpermissionsrequest *TestPermissionsRequest) *ReservationSubBlocksTestIamPermissionsCall {
+ c := &ReservationSubBlocksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentName = parentName
- c.reservationSlot = reservationSlot
- c.reservationslotsgetversionrequest = reservationslotsgetversionrequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationSlotsGetVersionCall) RequestId(requestId string) *ReservationSlotsGetVersionCall {
- c.urlParams_.Set("requestId", requestId)
+ c.parentResource = parentResource
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSlotsGetVersionCall) Fields(s ...googleapi.Field) *ReservationSlotsGetVersionCall {
+func (c *ReservationSubBlocksTestIamPermissionsCall) Fields(s ...googleapi.Field) *ReservationSubBlocksTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSlotsGetVersionCall) Context(ctx context.Context) *ReservationSlotsGetVersionCall {
+func (c *ReservationSubBlocksTestIamPermissionsCall) Context(ctx context.Context) *ReservationSubBlocksTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSlotsGetVersionCall) Header() http.Header {
+func (c *ReservationSubBlocksTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSlotsGetVersionCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationslotsgetversionrequest)
+func (c *ReservationSubBlocksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getVersion")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -33256,21 +37995,22 @@ func (c *ReservationSlotsGetVersionCall) doRequest(alt string) (*http.Response,
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
- "reservationSlot": c.reservationSlot,
+ "project": c.project,
+ "zone": c.zone,
+ "parentResource": c.parentResource,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.getVersion", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSlots.getVersion" call.
+// Do executes the "compute.reservationSubBlocks.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationSlotsGetVersionCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ReservationSubBlocksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33289,7 +38029,7 @@ func (c *ReservationSlotsGetVersionCall) Do(opts ...googleapi.CallOption) (*Oper
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -33300,34 +38040,29 @@ func (c *ReservationSlotsGetVersionCall) Do(opts ...googleapi.CallOption) (*Oper
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.getVersion", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSlotsListCall struct {
+type ReservationsAggregatedListCall struct {
s *Service
project string
- zone string
- parentName string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves a list of reservation slots under a single reservation.
+// AggregatedList: Retrieves an aggregated list of reservations.
//
-// - parentName: The name of the parent reservation and parent block, formatted
-// as
-// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}/
-// reservationSubBlocks/{reservation_sub_block_name}.
-// - project: The project ID for this request.
-// - zone: The name of the zone for this request, formatted as RFC1035.
-func (r *ReservationSlotsService) List(project string, zone string, parentName string) *ReservationSlotsListCall {
- c := &ReservationSlotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// To prevent failure, it is recommended that you set
+// the
+// `returnPartialSuccess` parameter to `true`.
+//
+// - project: Project ID for this request.
+func (r *ReservationsService) AggregatedList(project string) *ReservationsAggregatedListCall {
+ c := &ReservationsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.parentName = parentName
return c
}
@@ -33398,11 +38133,29 @@ func (r *ReservationSlotsService) List(project string, zone string, parentName s
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ReservationSlotsListCall) Filter(filter string) *ReservationSlotsListCall {
+func (c *ReservationsAggregatedListCall) Filter(filter string) *ReservationsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
+// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
+// whether every visible scope for each scope type (zone, region,
+// global) should be included in the response. For new resource types
+// added
+// after this field, the flag has no effect as new resource types will
+// always
+// include every visible scope for each scope type in response. For
+// resource
+// types which predate this field, if this flag is omitted or false,
+// only
+// scopes of the scope types where the resource type is expected to be
+// found
+// will be included.
+func (c *ReservationsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *ReservationsAggregatedListCall {
+ c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
+ return c
+}
+
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -33410,7 +38163,7 @@ func (c *ReservationSlotsListCall) Filter(filter string) *ReservationSlotsListCa
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *ReservationSlotsListCall) MaxResults(maxResults int64) *ReservationSlotsListCall {
+func (c *ReservationsAggregatedListCall) MaxResults(maxResults int64) *ReservationsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -33430,7 +38183,7 @@ func (c *ReservationSlotsListCall) MaxResults(maxResults int64) *ReservationSlot
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *ReservationSlotsListCall) OrderBy(orderBy string) *ReservationSlotsListCall {
+func (c *ReservationsAggregatedListCall) OrderBy(orderBy string) *ReservationsAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -33439,30 +38192,23 @@ func (c *ReservationSlotsListCall) OrderBy(orderBy string) *ReservationSlotsList
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *ReservationSlotsListCall) PageToken(pageToken string) *ReservationSlotsListCall {
+func (c *ReservationsAggregatedListCall) PageToken(pageToken string) *ReservationsAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ReservationSlotsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ReservationSlotsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
+// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
+// Shared VPC service project id or service project number for which
+// aggregated list request is invoked for subnetworks list-usable api.
+func (c *ReservationsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *ReservationsAggregatedListCall {
+ c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSlotsListCall) Fields(s ...googleapi.Field) *ReservationSlotsListCall {
+func (c *ReservationsAggregatedListCall) Fields(s ...googleapi.Field) *ReservationsAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -33470,34 +38216,34 @@ func (c *ReservationSlotsListCall) Fields(s ...googleapi.Field) *ReservationSlot
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationSlotsListCall) IfNoneMatch(entityTag string) *ReservationSlotsListCall {
+func (c *ReservationsAggregatedListCall) IfNoneMatch(entityTag string) *ReservationsAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSlotsListCall) Context(ctx context.Context) *ReservationSlotsListCall {
+func (c *ReservationsAggregatedListCall) Context(ctx context.Context) *ReservationsAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSlotsListCall) Header() http.Header {
+func (c *ReservationsAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSlotsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/reservations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -33505,21 +38251,19 @@ func (c *ReservationSlotsListCall) doRequest(alt string) (*http.Response, error)
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSlots.list" call.
+// Do executes the "compute.reservations.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ReservationSlotsListResponse.ServerResponse.Header or (if a response was
+// *ReservationAggregatedList.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *ReservationSlotsListCall) Do(opts ...googleapi.CallOption) (*ReservationSlotsListResponse, error) {
+func (c *ReservationsAggregatedListCall) Do(opts ...googleapi.CallOption) (*ReservationAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33538,7 +38282,7 @@ func (c *ReservationSlotsListCall) Do(opts ...googleapi.CallOption) (*Reservatio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ReservationSlotsListResponse{
+ ret := &ReservationAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -33549,14 +38293,14 @@ func (c *ReservationSlotsListCall) Do(opts ...googleapi.CallOption) (*Reservatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *ReservationSlotsListCall) Pages(ctx context.Context, f func(*ReservationSlotsListResponse) error) error {
+func (c *ReservationsAggregatedListCall) Pages(ctx context.Context, f func(*ReservationAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -33574,95 +38318,100 @@ func (c *ReservationSlotsListCall) Pages(ctx context.Context, f func(*Reservatio
}
}
-type ReservationSlotsUpdateCall struct {
- s *Service
- project string
- zone string
- parentName string
- reservationSlot string
- reservationslot *ReservationSlot
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationsDeleteCall struct {
+ s *Service
+ project string
+ zone string
+ reservation string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Update a reservation slot in the specified sub-block.
+// Delete: Deletes the specified reservation.
//
-// - parentName: The name of the sub-block resource.
-// - project: The project ID for this request.
-// - reservationSlot: The name of the slot resource.
-// - zone: The name of the zone for this request, formatted as RFC1035.
-func (r *ReservationSlotsService) Update(project string, zone string, parentName string, reservationSlot string, reservationslot *ReservationSlot) *ReservationSlotsUpdateCall {
- c := &ReservationSlotsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - reservation: Name of the reservation to delete.
+// - zone: Name of the zone for this request.
+func (r *ReservationsService) Delete(project string, zone string, reservation string) *ReservationsDeleteCall {
+ c := &ReservationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentName = parentName
- c.reservationSlot = reservationSlot
- c.reservationslot = reservationslot
+ c.reservation = reservation
return c
}
-// UpdateMask sets the optional parameter "updateMask": The fields to be
-// updated as part of this request.
-func (c *ReservationSlotsUpdateCall) UpdateMask(updateMask string) *ReservationSlotsUpdateCall {
- c.urlParams_.Set("updateMask", updateMask)
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ReservationsDeleteCall) RequestId(requestId string) *ReservationsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSlotsUpdateCall) Fields(s ...googleapi.Field) *ReservationSlotsUpdateCall {
+func (c *ReservationsDeleteCall) Fields(s ...googleapi.Field) *ReservationsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSlotsUpdateCall) Context(ctx context.Context) *ReservationSlotsUpdateCall {
+func (c *ReservationsDeleteCall) Context(ctx context.Context) *ReservationsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSlotsUpdateCall) Header() http.Header {
+func (c *ReservationsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSlotsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationslot)
- if err != nil {
- return nil, err
- }
+func (c *ReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
- "reservationSlot": c.reservationSlot,
+ "project": c.project,
+ "zone": c.zone,
+ "reservation": c.reservation,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSlots.update" call.
+// Do executes the "compute.reservations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationSlotsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ReservationsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33692,63 +38441,38 @@ func (c *ReservationSlotsUpdateCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSubBlocksGetCall struct {
- s *Service
- project string
- zone string
- parentName string
- reservationSubBlock string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ReservationsGetCall struct {
+ s *Service
+ project string
+ zone string
+ reservation string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Retrieves information about the specified reservation subBlock.
+// Get: Retrieves information about the specified reservation.
//
-// - parentName: The name of the parent reservation and parent block. In the
-// format
-// of
-// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
-// - project: Project ID for this request.
-// - reservationSubBlock: The name of the reservation subBlock.
-// Name should conform to RFC1035 or be a resource ID.
-// - zone: Name of the zone for this request. Zone name should conform to
-// RFC1035.
-func (r *ReservationSubBlocksService) Get(project string, zone string, parentName string, reservationSubBlock string) *ReservationSubBlocksGetCall {
- c := &ReservationSubBlocksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - reservation: Name of the reservation to retrieve.
+// - zone: Name of the zone for this request.
+func (r *ReservationsService) Get(project string, zone string, reservation string) *ReservationsGetCall {
+ c := &ReservationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentName = parentName
- c.reservationSubBlock = reservationSubBlock
- return c
-}
-
-// View sets the optional parameter "view": View of the subBlock.
-//
-// Possible values:
-//
-// "SUB_BLOCK_VIEW_BASIC" - This view includes basic information about the
-//
-// reservation sub block
-//
-// "SUB_BLOCK_VIEW_FULL" - Includes detailed topology view.
-// "SUB_BLOCK_VIEW_UNSPECIFIED" - The default / unset value. The API will
-//
-// default to the BASIC view.
-func (c *ReservationSubBlocksGetCall) View(view string) *ReservationSubBlocksGetCall {
- c.urlParams_.Set("view", view)
+ c.reservation = reservation
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSubBlocksGetCall) Fields(s ...googleapi.Field) *ReservationSubBlocksGetCall {
+func (c *ReservationsGetCall) Fields(s ...googleapi.Field) *ReservationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -33756,34 +38480,34 @@ func (c *ReservationSubBlocksGetCall) Fields(s ...googleapi.Field) *ReservationS
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationSubBlocksGetCall) IfNoneMatch(entityTag string) *ReservationSubBlocksGetCall {
+func (c *ReservationsGetCall) IfNoneMatch(entityTag string) *ReservationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSubBlocksGetCall) Context(ctx context.Context) *ReservationSubBlocksGetCall {
+func (c *ReservationsGetCall) Context(ctx context.Context) *ReservationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSubBlocksGetCall) Header() http.Header {
+func (c *ReservationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSubBlocksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -33791,22 +38515,20 @@ func (c *ReservationSubBlocksGetCall) doRequest(alt string) (*http.Response, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
- "reservationSubBlock": c.reservationSubBlock,
+ "project": c.project,
+ "zone": c.zone,
+ "reservation": c.reservation,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSubBlocks.get" call.
+// Do executes the "compute.reservations.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ReservationSubBlocksGetResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ReservationSubBlocksGetCall) Do(opts ...googleapi.CallOption) (*ReservationSubBlocksGetResponse, error) {
+// *Reservation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ReservationsGetCall) Do(opts ...googleapi.CallOption) (*Reservation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33825,7 +38547,7 @@ func (c *ReservationSubBlocksGetCall) Do(opts ...googleapi.CallOption) (*Reserva
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ReservationSubBlocksGetResponse{
+ ret := &Reservation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -33836,43 +38558,39 @@ func (c *ReservationSubBlocksGetCall) Do(opts ...googleapi.CallOption) (*Reserva
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSubBlocksGetIamPolicyCall struct {
- s *Service
- project string
- zone string
- parentResource string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ReservationsGetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
// GetIamPolicy: Gets the access control policy for a resource. May be empty if
// no such
// policy or resource exists.
//
-// - parentResource: Name or id of parent resource of the resource for this
-// request.
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *ReservationSubBlocksService) GetIamPolicy(project string, zone string, parentResource string, resource string) *ReservationSubBlocksGetIamPolicyCall {
- c := &ReservationSubBlocksGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *ReservationsService) GetIamPolicy(project string, zone string, resource string) *ReservationsGetIamPolicyCall {
+ c := &ReservationsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentResource = parentResource
c.resource = resource
return c
}
// OptionsRequestedPolicyVersion sets the optional parameter
// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *ReservationSubBlocksGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ReservationSubBlocksGetIamPolicyCall {
+func (c *ReservationsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ReservationsGetIamPolicyCall {
c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
@@ -33880,7 +38598,7 @@ func (c *ReservationSubBlocksGetIamPolicyCall) OptionsRequestedPolicyVersion(opt
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSubBlocksGetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationSubBlocksGetIamPolicyCall {
+func (c *ReservationsGetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationsGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -33888,34 +38606,34 @@ func (c *ReservationSubBlocksGetIamPolicyCall) Fields(s ...googleapi.Field) *Res
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationSubBlocksGetIamPolicyCall) IfNoneMatch(entityTag string) *ReservationSubBlocksGetIamPolicyCall {
+func (c *ReservationsGetIamPolicyCall) IfNoneMatch(entityTag string) *ReservationsGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSubBlocksGetIamPolicyCall) Context(ctx context.Context) *ReservationSubBlocksGetIamPolicyCall {
+func (c *ReservationsGetIamPolicyCall) Context(ctx context.Context) *ReservationsGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSubBlocksGetIamPolicyCall) Header() http.Header {
+func (c *ReservationsGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSubBlocksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -33923,21 +38641,20 @@ func (c *ReservationSubBlocksGetIamPolicyCall) doRequest(alt string) (*http.Resp
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentResource": c.parentResource,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSubBlocks.getIamPolicy" call.
+// Do executes the "compute.reservations.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationSubBlocksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *ReservationsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -33967,40 +38684,31 @@ func (c *ReservationSubBlocksGetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSubBlocksGetVersionCall struct {
- s *Service
- project string
- zone string
- parentName string
- reservationSubBlock string
- reservationsubblocksgetversionrequest *ReservationSubBlocksGetVersionRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationsInsertCall struct {
+ s *Service
+ project string
+ zone string
+ reservation *Reservation
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-
-// GetVersion: Allows customers to get SBOM versions of a reservation subBlock.
-//
-// - parentName: The name of the parent reservation and parent block. In the
-// format
-// of
-// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
-// - project: Project ID for this request.
-// - reservationSubBlock: The name of the reservation subBlock.
-// Name should conform to RFC1035 or be a resource ID.
-// - zone: Name of the zone for this request. Zone name should conform to
-// RFC1035.
-func (r *ReservationSubBlocksService) GetVersion(project string, zone string, parentName string, reservationSubBlock string, reservationsubblocksgetversionrequest *ReservationSubBlocksGetVersionRequest) *ReservationSubBlocksGetVersionCall {
- c := &ReservationSubBlocksGetVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+
+// Insert: Creates a new reservation. For more information, readReserving
+// zonal
+// resources.
+//
+// - project: Project ID for this request.
+// - zone: Name of the zone for this request.
+func (r *ReservationsService) Insert(project string, zone string, reservation *Reservation) *ReservationsInsertCall {
+ c := &ReservationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentName = parentName
- c.reservationSubBlock = reservationSubBlock
- c.reservationsubblocksgetversionrequest = reservationsubblocksgetversionrequest
+ c.reservation = reservation
return c
}
@@ -34021,7 +38729,7 @@ func (r *ReservationSubBlocksService) GetVersion(project string, zone string, pa
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationSubBlocksGetVersionCall) RequestId(requestId string) *ReservationSubBlocksGetVersionCall {
+func (c *ReservationsInsertCall) RequestId(requestId string) *ReservationsInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -34029,35 +38737,35 @@ func (c *ReservationSubBlocksGetVersionCall) RequestId(requestId string) *Reserv
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSubBlocksGetVersionCall) Fields(s ...googleapi.Field) *ReservationSubBlocksGetVersionCall {
+func (c *ReservationsInsertCall) Fields(s ...googleapi.Field) *ReservationsInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSubBlocksGetVersionCall) Context(ctx context.Context) *ReservationSubBlocksGetVersionCall {
+func (c *ReservationsInsertCall) Context(ctx context.Context) *ReservationsInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSubBlocksGetVersionCall) Header() http.Header {
+func (c *ReservationsInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSubBlocksGetVersionCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsubblocksgetversionrequest)
+func (c *ReservationsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservation)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/getVersion")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -34065,21 +38773,19 @@ func (c *ReservationSubBlocksGetVersionCall) doRequest(alt string) (*http.Respon
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
- "reservationSubBlock": c.reservationSubBlock,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getVersion", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSubBlocks.getVersion" call.
+// Do executes the "compute.reservations.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationSubBlocksGetVersionCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ReservationsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -34109,35 +38815,30 @@ func (c *ReservationSubBlocksGetVersionCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getVersion", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSubBlocksListCall struct {
+type ReservationsListCall struct {
s *Service
project string
zone string
- parentName string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: Retrieves a list of reservation subBlocks under a single reservation.
+// List: A list of all the reservations that have been configured for
+// the
+// specified project in specified zone.
//
-// - parentName: The name of the parent reservation and parent block. In the
-// format
-// of
-// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
-// - project: Project ID for this request.
-// - zone: Name of the zone for this request. Zone name should conform to
-// RFC1035.
-func (r *ReservationSubBlocksService) List(project string, zone string, parentName string) *ReservationSubBlocksListCall {
- c := &ReservationSubBlocksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - zone: Name of the zone for this request.
+func (r *ReservationsService) List(project string, zone string) *ReservationsListCall {
+ c := &ReservationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentName = parentName
return c
}
@@ -34208,7 +38909,7 @@ func (r *ReservationSubBlocksService) List(project string, zone string, parentNa
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ReservationSubBlocksListCall) Filter(filter string) *ReservationSubBlocksListCall {
+func (c *ReservationsListCall) Filter(filter string) *ReservationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -34220,7 +38921,7 @@ func (c *ReservationSubBlocksListCall) Filter(filter string) *ReservationSubBloc
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *ReservationSubBlocksListCall) MaxResults(maxResults int64) *ReservationSubBlocksListCall {
+func (c *ReservationsListCall) MaxResults(maxResults int64) *ReservationsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -34240,7 +38941,7 @@ func (c *ReservationSubBlocksListCall) MaxResults(maxResults int64) *Reservation
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *ReservationSubBlocksListCall) OrderBy(orderBy string) *ReservationSubBlocksListCall {
+func (c *ReservationsListCall) OrderBy(orderBy string) *ReservationsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -34249,30 +38950,15 @@ func (c *ReservationSubBlocksListCall) OrderBy(orderBy string) *ReservationSubBl
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *ReservationSubBlocksListCall) PageToken(pageToken string) *ReservationSubBlocksListCall {
+func (c *ReservationsListCall) PageToken(pageToken string) *ReservationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ReservationSubBlocksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ReservationSubBlocksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSubBlocksListCall) Fields(s ...googleapi.Field) *ReservationSubBlocksListCall {
+func (c *ReservationsListCall) Fields(s ...googleapi.Field) *ReservationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -34280,34 +38966,34 @@ func (c *ReservationSubBlocksListCall) Fields(s ...googleapi.Field) *Reservation
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationSubBlocksListCall) IfNoneMatch(entityTag string) *ReservationSubBlocksListCall {
+func (c *ReservationsListCall) IfNoneMatch(entityTag string) *ReservationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSubBlocksListCall) Context(ctx context.Context) *ReservationSubBlocksListCall {
+func (c *ReservationsListCall) Context(ctx context.Context) *ReservationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSubBlocksListCall) Header() http.Header {
+func (c *ReservationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSubBlocksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -34315,21 +39001,20 @@ func (c *ReservationSubBlocksListCall) doRequest(alt string) (*http.Response, er
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
+ "project": c.project,
+ "zone": c.zone,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSubBlocks.list" call.
+// Do executes the "compute.reservations.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ReservationSubBlocksListResponse.ServerResponse.Header or (if a response
-// was returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ReservationSubBlocksListCall) Do(opts ...googleapi.CallOption) (*ReservationSubBlocksListResponse, error) {
+// *ReservationList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *ReservationsListCall) Do(opts ...googleapi.CallOption) (*ReservationList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -34348,7 +39033,7 @@ func (c *ReservationSubBlocksListCall) Do(opts ...googleapi.CallOption) (*Reserv
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ReservationSubBlocksListResponse{
+ ret := &ReservationList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -34359,14 +39044,14 @@ func (c *ReservationSubBlocksListCall) Do(opts ...googleapi.CallOption) (*Reserv
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *ReservationSubBlocksListCall) Pages(ctx context.Context, f func(*ReservationSubBlocksListResponse) error) error {
+func (c *ReservationsListCall) Pages(ctx context.Context, f func(*ReservationList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -34384,35 +39069,30 @@ func (c *ReservationSubBlocksListCall) Pages(ctx context.Context, f func(*Reserv
}
}
-type ReservationSubBlocksPerformMaintenanceCall struct {
- s *Service
- project string
- zone string
- parentName string
- reservationSubBlock string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationsPerformMaintenanceCall struct {
+ s *Service
+ project string
+ zone string
+ reservation string
+ reservationsperformmaintenancerequest *ReservationsPerformMaintenanceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// PerformMaintenance: Allows customers to perform maintenance on a reservation
-// subBlock
+// PerformMaintenance: Perform maintenance on an extended reservation
//
-// - parentName: The name of the parent reservation and parent block. In the
-// format
-// of
-// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
// - project: Project ID for this request.
-// - reservationSubBlock: The name of the reservation subBlock.
+// - reservation: The name of the reservation.
// Name should conform to RFC1035 or be a resource ID.
// - zone: Name of the zone for this request. Zone name should conform to
// RFC1035.
-func (r *ReservationSubBlocksService) PerformMaintenance(project string, zone string, parentName string, reservationSubBlock string) *ReservationSubBlocksPerformMaintenanceCall {
- c := &ReservationSubBlocksPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ReservationsService) PerformMaintenance(project string, zone string, reservation string, reservationsperformmaintenancerequest *ReservationsPerformMaintenanceRequest) *ReservationsPerformMaintenanceCall {
+ c := &ReservationsPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentName = parentName
- c.reservationSubBlock = reservationSubBlock
+ c.reservation = reservation
+ c.reservationsperformmaintenancerequest = reservationsperformmaintenancerequest
return c
}
@@ -34433,7 +39113,7 @@ func (r *ReservationSubBlocksService) PerformMaintenance(project string, zone st
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationSubBlocksPerformMaintenanceCall) RequestId(requestId string) *ReservationSubBlocksPerformMaintenanceCall {
+func (c *ReservationsPerformMaintenanceCall) RequestId(requestId string) *ReservationsPerformMaintenanceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -34441,53 +39121,56 @@ func (c *ReservationSubBlocksPerformMaintenanceCall) RequestId(requestId string)
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSubBlocksPerformMaintenanceCall) Fields(s ...googleapi.Field) *ReservationSubBlocksPerformMaintenanceCall {
+func (c *ReservationsPerformMaintenanceCall) Fields(s ...googleapi.Field) *ReservationsPerformMaintenanceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSubBlocksPerformMaintenanceCall) Context(ctx context.Context) *ReservationSubBlocksPerformMaintenanceCall {
+func (c *ReservationsPerformMaintenanceCall) Context(ctx context.Context) *ReservationsPerformMaintenanceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSubBlocksPerformMaintenanceCall) Header() http.Header {
+func (c *ReservationsPerformMaintenanceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSubBlocksPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ReservationsPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsperformmaintenancerequest)
+ if err != nil {
+ return nil, err
+ }
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, nil)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
- "reservationSubBlock": c.reservationSubBlock,
+ "project": c.project,
+ "zone": c.zone,
+ "reservation": c.reservation,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.performMaintenance", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.performMaintenance", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSubBlocks.performMaintenance" call.
+// Do executes the "compute.reservations.performMaintenance" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationSubBlocksPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ReservationsPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -34517,40 +39200,35 @@ func (c *ReservationSubBlocksPerformMaintenanceCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.performMaintenance", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.performMaintenance", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSubBlocksReportFaultyCall struct {
- s *Service
- project string
- zone string
- parentName string
- reservationSubBlock string
- reservationsubblocksreportfaultyrequest *ReservationSubBlocksReportFaultyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationsResizeCall struct {
+ s *Service
+ project string
+ zone string
+ reservation string
+ reservationsresizerequest *ReservationsResizeRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// ReportFaulty: Allows customers to report a faulty subBlock.
+// Resize: Resizes the reservation (applicable to standalone reservations
+// only). For
+// more information, readModifying
+// reservations.
//
-// - parentName: The name of the parent reservation and parent block. In the
-// format
-// of
-// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}.
-// - project: Project ID for this request.
-// - reservationSubBlock: The name of the reservation subBlock.
-// Name should conform to RFC1035 or be a resource ID.
-// - zone: Name of the zone for this request. Zone name should conform to
-// RFC1035.
-func (r *ReservationSubBlocksService) ReportFaulty(project string, zone string, parentName string, reservationSubBlock string, reservationsubblocksreportfaultyrequest *ReservationSubBlocksReportFaultyRequest) *ReservationSubBlocksReportFaultyCall {
- c := &ReservationSubBlocksReportFaultyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - reservation: Name of the reservation to update.
+// - zone: Name of the zone for this request.
+func (r *ReservationsService) Resize(project string, zone string, reservation string, reservationsresizerequest *ReservationsResizeRequest) *ReservationsResizeCall {
+ c := &ReservationsResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentName = parentName
- c.reservationSubBlock = reservationSubBlock
- c.reservationsubblocksreportfaultyrequest = reservationsubblocksreportfaultyrequest
+ c.reservation = reservation
+ c.reservationsresizerequest = reservationsresizerequest
return c
}
@@ -34571,7 +39249,7 @@ func (r *ReservationSubBlocksService) ReportFaulty(project string, zone string,
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationSubBlocksReportFaultyCall) RequestId(requestId string) *ReservationSubBlocksReportFaultyCall {
+func (c *ReservationsResizeCall) RequestId(requestId string) *ReservationsResizeCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -34579,35 +39257,35 @@ func (c *ReservationSubBlocksReportFaultyCall) RequestId(requestId string) *Rese
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSubBlocksReportFaultyCall) Fields(s ...googleapi.Field) *ReservationSubBlocksReportFaultyCall {
+func (c *ReservationsResizeCall) Fields(s ...googleapi.Field) *ReservationsResizeCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSubBlocksReportFaultyCall) Context(ctx context.Context) *ReservationSubBlocksReportFaultyCall {
+func (c *ReservationsResizeCall) Context(ctx context.Context) *ReservationsResizeCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSubBlocksReportFaultyCall) Header() http.Header {
+func (c *ReservationsResizeCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSubBlocksReportFaultyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsubblocksreportfaultyrequest)
+func (c *ReservationsResizeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsresizerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/resize")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -34615,21 +39293,20 @@ func (c *ReservationSubBlocksReportFaultyCall) doRequest(alt string) (*http.Resp
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentName": c.parentName,
- "reservationSubBlock": c.reservationSubBlock,
+ "project": c.project,
+ "zone": c.zone,
+ "reservation": c.reservation,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.reportFaulty", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.resize", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSubBlocks.reportFaulty" call.
+// Do executes the "compute.reservations.resize" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationSubBlocksReportFaultyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ReservationsResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -34659,73 +39336,69 @@ func (c *ReservationSubBlocksReportFaultyCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.reportFaulty", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.resize", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSubBlocksSetIamPolicyCall struct {
- s *Service
- project string
- zone string
- parentResource string
- resource string
- zonesetnestedpolicyrequest *ZoneSetNestedPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ReservationsSetIamPolicyCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ zonesetpolicyrequest *ZoneSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
// SetIamPolicy: Sets the access control policy on the specified
// resource.
// Replaces any existing policy.
//
-// - parentResource: Name or id of parent resource of the resource for this
-// request.
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *ReservationSubBlocksService) SetIamPolicy(project string, zone string, parentResource string, resource string, zonesetnestedpolicyrequest *ZoneSetNestedPolicyRequest) *ReservationSubBlocksSetIamPolicyCall {
- c := &ReservationSubBlocksSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *ReservationsService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *ReservationsSetIamPolicyCall {
+ c := &ReservationsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentResource = parentResource
c.resource = resource
- c.zonesetnestedpolicyrequest = zonesetnestedpolicyrequest
+ c.zonesetpolicyrequest = zonesetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSubBlocksSetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationSubBlocksSetIamPolicyCall {
+func (c *ReservationsSetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationsSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSubBlocksSetIamPolicyCall) Context(ctx context.Context) *ReservationSubBlocksSetIamPolicyCall {
+func (c *ReservationsSetIamPolicyCall) Context(ctx context.Context) *ReservationsSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSubBlocksSetIamPolicyCall) Header() http.Header {
+func (c *ReservationsSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSubBlocksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetnestedpolicyrequest)
+func (c *ReservationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -34733,21 +39406,20 @@ func (c *ReservationSubBlocksSetIamPolicyCall) doRequest(alt string) (*http.Resp
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentResource": c.parentResource,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSubBlocks.setIamPolicy" call.
+// Do executes the "compute.reservations.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationSubBlocksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *ReservationsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -34777,15 +39449,14 @@ func (c *ReservationSubBlocksSetIamPolicyCall) Do(opts ...googleapi.CallOption)
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationSubBlocksTestIamPermissionsCall struct {
+type ReservationsTestIamPermissionsCall struct {
s *Service
project string
zone string
- parentResource string
resource string
testpermissionsrequest *TestPermissionsRequest
urlParams_ gensupport.URLParams
@@ -34796,16 +39467,13 @@ type ReservationSubBlocksTestIamPermissionsCall struct {
// TestIamPermissions: Returns permissions that a caller has on the specified
// resource.
//
-// - parentResource: Name or id of parent resource of the resource for this
-// request.
-// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *ReservationSubBlocksService) TestIamPermissions(project string, zone string, parentResource string, resource string, testpermissionsrequest *TestPermissionsRequest) *ReservationSubBlocksTestIamPermissionsCall {
- c := &ReservationSubBlocksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - resource: Name or id of the resource for this request.
+// - zone: The name of the zone for this request.
+func (r *ReservationsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *ReservationsTestIamPermissionsCall {
+ c := &ReservationsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
- c.parentResource = parentResource
c.resource = resource
c.testpermissionsrequest = testpermissionsrequest
return c
@@ -34814,35 +39482,35 @@ func (r *ReservationSubBlocksService) TestIamPermissions(project string, zone st
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationSubBlocksTestIamPermissionsCall) Fields(s ...googleapi.Field) *ReservationSubBlocksTestIamPermissionsCall {
+func (c *ReservationsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ReservationsTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationSubBlocksTestIamPermissionsCall) Context(ctx context.Context) *ReservationSubBlocksTestIamPermissionsCall {
+func (c *ReservationsTestIamPermissionsCall) Context(ctx context.Context) *ReservationsTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationSubBlocksTestIamPermissionsCall) Header() http.Header {
+func (c *ReservationsTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationSubBlocksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+func (c *ReservationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -34850,22 +39518,21 @@ func (c *ReservationSubBlocksTestIamPermissionsCall) doRequest(alt string) (*htt
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "parentResource": c.parentResource,
- "resource": c.resource,
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservationSubBlocks.testIamPermissions" call.
+// Do executes the "compute.reservations.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *TestPermissionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *ReservationSubBlocksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+func (c *ReservationsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -34895,11 +39562,157 @@ func (c *ReservationSubBlocksTestIamPermissionsCall) Do(opts ...googleapi.CallOp
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsAggregatedListCall struct {
+type ReservationsUpdateCall struct {
+ s *Service
+ project string
+ zone string
+ reservation string
+ reservation2 *Reservation
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Update share settings of the reservation.
+//
+// - project: Project ID for this request.
+// - reservation: Name of the reservation to update.
+// - zone: Name of the zone for this request.
+func (r *ReservationsService) Update(project string, zone string, reservation string, reservation2 *Reservation) *ReservationsUpdateCall {
+ c := &ReservationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.reservation = reservation
+ c.reservation2 = reservation2
+ return c
+}
+
+// Paths sets the optional parameter "paths":
+func (c *ReservationsUpdateCall) Paths(paths ...string) *ReservationsUpdateCall {
+ c.urlParams_.SetMulti("paths", append([]string{}, paths...))
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ReservationsUpdateCall) RequestId(requestId string) *ReservationsUpdateCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// UpdateMask sets the optional parameter "updateMask": Update_mask indicates
+// fields to be updated as part of this request.
+func (c *ReservationsUpdateCall) UpdateMask(updateMask string) *ReservationsUpdateCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ReservationsUpdateCall) Fields(s ...googleapi.Field) *ReservationsUpdateCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *ReservationsUpdateCall) Context(ctx context.Context) *ReservationsUpdateCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ReservationsUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ReservationsUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservation2)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("PATCH", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "reservation": c.reservation,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.reservations.update" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ReservationsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.update", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+type ResourcePoliciesAggregatedListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -34908,15 +39721,15 @@ type ReservationsAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of reservations.
+// AggregatedList: Retrieves an aggregated list of resource policies.
//
-// To prevent failure, it is recommended that you set
+// To prevent failure, Google recommends that you set
// the
// `returnPartialSuccess` parameter to `true`.
//
// - project: Project ID for this request.
-func (r *ReservationsService) AggregatedList(project string) *ReservationsAggregatedListCall {
- c := &ReservationsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ResourcePoliciesService) AggregatedList(project string) *ResourcePoliciesAggregatedListCall {
+ c := &ResourcePoliciesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -34988,7 +39801,7 @@ func (r *ReservationsService) AggregatedList(project string) *ReservationsAggreg
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ReservationsAggregatedListCall) Filter(filter string) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) Filter(filter string) *ResourcePoliciesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -35006,7 +39819,7 @@ func (c *ReservationsAggregatedListCall) Filter(filter string) *ReservationsAggr
// scopes of the scope types where the resource type is expected to be
// found
// will be included.
-func (c *ReservationsAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *ResourcePoliciesAggregatedListCall {
c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
return c
}
@@ -35018,7 +39831,7 @@ func (c *ReservationsAggregatedListCall) IncludeAllScopes(includeAllScopes bool)
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *ReservationsAggregatedListCall) MaxResults(maxResults int64) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) MaxResults(maxResults int64) *ResourcePoliciesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -35038,7 +39851,7 @@ func (c *ReservationsAggregatedListCall) MaxResults(maxResults int64) *Reservati
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *ReservationsAggregatedListCall) OrderBy(orderBy string) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) OrderBy(orderBy string) *ResourcePoliciesAggregatedListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -35047,30 +39860,15 @@ func (c *ReservationsAggregatedListCall) OrderBy(orderBy string) *ReservationsAg
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *ReservationsAggregatedListCall) PageToken(pageToken string) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) PageToken(pageToken string) *ResourcePoliciesAggregatedListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ReservationsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ReservationsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
-func (c *ReservationsAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *ResourcePoliciesAggregatedListCall {
c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
return c
}
@@ -35078,7 +39876,7 @@ func (c *ReservationsAggregatedListCall) ServiceProjectNumber(serviceProjectNumb
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsAggregatedListCall) Fields(s ...googleapi.Field) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) Fields(s ...googleapi.Field) *ResourcePoliciesAggregatedListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -35086,34 +39884,34 @@ func (c *ReservationsAggregatedListCall) Fields(s ...googleapi.Field) *Reservati
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationsAggregatedListCall) IfNoneMatch(entityTag string) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) IfNoneMatch(entityTag string) *ResourcePoliciesAggregatedListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsAggregatedListCall) Context(ctx context.Context) *ReservationsAggregatedListCall {
+func (c *ResourcePoliciesAggregatedListCall) Context(ctx context.Context) *ResourcePoliciesAggregatedListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsAggregatedListCall) Header() http.Header {
+func (c *ResourcePoliciesAggregatedListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ResourcePoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/reservations")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/resourcePolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -35123,17 +39921,17 @@ func (c *ReservationsAggregatedListCall) doRequest(alt string) (*http.Response,
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.aggregatedList", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.aggregatedList" call.
+// Do executes the "compute.resourcePolicies.aggregatedList" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ReservationAggregatedList.ServerResponse.Header or (if a response was
+// *ResourcePolicyAggregatedList.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *ReservationsAggregatedListCall) Do(opts ...googleapi.CallOption) (*ReservationAggregatedList, error) {
+func (c *ResourcePoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*ResourcePolicyAggregatedList, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35152,7 +39950,7 @@ func (c *ReservationsAggregatedListCall) Do(opts ...googleapi.CallOption) (*Rese
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ReservationAggregatedList{
+ ret := &ResourcePolicyAggregatedList{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -35163,14 +39961,14 @@ func (c *ReservationsAggregatedListCall) Do(opts ...googleapi.CallOption) (*Rese
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.aggregatedList", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *ReservationsAggregatedListCall) Pages(ctx context.Context, f func(*ReservationAggregatedList) error) error {
+func (c *ResourcePoliciesAggregatedListCall) Pages(ctx context.Context, f func(*ResourcePolicyAggregatedList) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -35188,26 +39986,26 @@ func (c *ReservationsAggregatedListCall) Pages(ctx context.Context, f func(*Rese
}
}
-type ReservationsDeleteCall struct {
- s *Service
- project string
- zone string
- reservation string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ResourcePoliciesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ resourcePolicy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified reservation.
+// Delete: Deletes the specified resource policy.
//
// - project: Project ID for this request.
-// - reservation: Name of the reservation to delete.
-// - zone: Name of the zone for this request.
-func (r *ReservationsService) Delete(project string, zone string, reservation string) *ReservationsDeleteCall {
- c := &ReservationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+// - resourcePolicy: Name of the resource policy to delete.
+func (r *ResourcePoliciesService) Delete(project string, region string, resourcePolicy string) *ResourcePoliciesDeleteCall {
+ c := &ResourcePoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.reservation = reservation
+ c.region = region
+ c.resourcePolicy = resourcePolicy
return c
}
@@ -35228,7 +40026,7 @@ func (r *ReservationsService) Delete(project string, zone string, reservation st
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationsDeleteCall) RequestId(requestId string) *ReservationsDeleteCall {
+func (c *ResourcePoliciesDeleteCall) RequestId(requestId string) *ResourcePoliciesDeleteCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -35236,31 +40034,31 @@ func (c *ReservationsDeleteCall) RequestId(requestId string) *ReservationsDelete
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsDeleteCall) Fields(s ...googleapi.Field) *ReservationsDeleteCall {
+func (c *ResourcePoliciesDeleteCall) Fields(s ...googleapi.Field) *ResourcePoliciesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsDeleteCall) Context(ctx context.Context) *ReservationsDeleteCall {
+func (c *ResourcePoliciesDeleteCall) Context(ctx context.Context) *ResourcePoliciesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsDeleteCall) Header() http.Header {
+func (c *ResourcePoliciesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ResourcePoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
@@ -35268,20 +40066,20 @@ func (c *ReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "reservation": c.reservation,
+ "project": c.project,
+ "region": c.region,
+ "resourcePolicy": c.resourcePolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.delete" call.
+// Do executes the "compute.resourcePolicies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ResourcePoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35311,38 +40109,38 @@ func (c *ReservationsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsGetCall struct {
- s *Service
- project string
- zone string
- reservation string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type ResourcePoliciesGetCall struct {
+ s *Service
+ project string
+ region string
+ resourcePolicy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Retrieves information about the specified reservation.
+// Get: Retrieves all information of the specified resource policy.
//
// - project: Project ID for this request.
-// - reservation: Name of the reservation to retrieve.
-// - zone: Name of the zone for this request.
-func (r *ReservationsService) Get(project string, zone string, reservation string) *ReservationsGetCall {
- c := &ReservationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+// - resourcePolicy: Name of the resource policy to retrieve.
+func (r *ResourcePoliciesService) Get(project string, region string, resourcePolicy string) *ResourcePoliciesGetCall {
+ c := &ResourcePoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.reservation = reservation
+ c.region = region
+ c.resourcePolicy = resourcePolicy
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsGetCall) Fields(s ...googleapi.Field) *ReservationsGetCall {
+func (c *ResourcePoliciesGetCall) Fields(s ...googleapi.Field) *ResourcePoliciesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -35350,34 +40148,34 @@ func (c *ReservationsGetCall) Fields(s ...googleapi.Field) *ReservationsGetCall
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationsGetCall) IfNoneMatch(entityTag string) *ReservationsGetCall {
+func (c *ResourcePoliciesGetCall) IfNoneMatch(entityTag string) *ResourcePoliciesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsGetCall) Context(ctx context.Context) *ReservationsGetCall {
+func (c *ResourcePoliciesGetCall) Context(ctx context.Context) *ResourcePoliciesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsGetCall) Header() http.Header {
+func (c *ResourcePoliciesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ResourcePoliciesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -35385,20 +40183,20 @@ func (c *ReservationsGetCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "reservation": c.reservation,
+ "project": c.project,
+ "region": c.region,
+ "resourcePolicy": c.resourcePolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.get" call.
+// Do executes the "compute.resourcePolicies.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Reservation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *ResourcePolicy.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationsGetCall) Do(opts ...googleapi.CallOption) (*Reservation, error) {
+func (c *ResourcePoliciesGetCall) Do(opts ...googleapi.CallOption) (*ResourcePolicy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35417,7 +40215,7 @@ func (c *ReservationsGetCall) Do(opts ...googleapi.CallOption) (*Reservation, er
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Reservation{
+ ret := &ResourcePolicy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -35428,14 +40226,14 @@ func (c *ReservationsGetCall) Do(opts ...googleapi.CallOption) (*Reservation, er
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsGetIamPolicyCall struct {
+type ResourcePoliciesGetIamPolicyCall struct {
s *Service
project string
- zone string
+ region string
resource string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
@@ -35448,19 +40246,19 @@ type ReservationsGetIamPolicyCall struct {
// policy or resource exists.
//
// - project: Project ID for this request.
+// - region: The name of the region for this request.
// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *ReservationsService) GetIamPolicy(project string, zone string, resource string) *ReservationsGetIamPolicyCall {
- c := &ReservationsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *ResourcePoliciesService) GetIamPolicy(project string, region string, resource string) *ResourcePoliciesGetIamPolicyCall {
+ c := &ResourcePoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
+ c.region = region
c.resource = resource
return c
}
// OptionsRequestedPolicyVersion sets the optional parameter
// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *ReservationsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ReservationsGetIamPolicyCall {
+func (c *ResourcePoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ResourcePoliciesGetIamPolicyCall {
c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
return c
}
@@ -35468,7 +40266,7 @@ func (c *ReservationsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequ
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsGetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationsGetIamPolicyCall {
+func (c *ResourcePoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *ResourcePoliciesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -35476,34 +40274,34 @@ func (c *ReservationsGetIamPolicyCall) Fields(s ...googleapi.Field) *Reservation
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationsGetIamPolicyCall) IfNoneMatch(entityTag string) *ReservationsGetIamPolicyCall {
+func (c *ResourcePoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *ResourcePoliciesGetIamPolicyCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsGetIamPolicyCall) Context(ctx context.Context) *ReservationsGetIamPolicyCall {
+func (c *ResourcePoliciesGetIamPolicyCall) Context(ctx context.Context) *ResourcePoliciesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsGetIamPolicyCall) Header() http.Header {
+func (c *ResourcePoliciesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ResourcePoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -35512,19 +40310,19 @@ func (c *ReservationsGetIamPolicyCall) doRequest(alt string) (*http.Response, er
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
+ "region": c.region,
"resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.getIamPolicy" call.
+// Do executes the "compute.resourcePolicies.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *ResourcePoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35554,31 +40352,29 @@ func (c *ReservationsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsInsertCall struct {
- s *Service
- project string
- zone string
- reservation *Reservation
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ResourcePoliciesInsertCall struct {
+ s *Service
+ project string
+ region string
+ resourcepolicy *ResourcePolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a new reservation. For more information, readReserving
-// zonal
-// resources.
+// Insert: Creates a new resource policy.
//
// - project: Project ID for this request.
-// - zone: Name of the zone for this request.
-func (r *ReservationsService) Insert(project string, zone string, reservation *Reservation) *ReservationsInsertCall {
- c := &ReservationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *ResourcePoliciesService) Insert(project string, region string, resourcepolicy *ResourcePolicy) *ResourcePoliciesInsertCall {
+ c := &ResourcePoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.reservation = reservation
+ c.region = region
+ c.resourcepolicy = resourcepolicy
return c
}
@@ -35599,7 +40395,7 @@ func (r *ReservationsService) Insert(project string, zone string, reservation *R
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationsInsertCall) RequestId(requestId string) *ReservationsInsertCall {
+func (c *ResourcePoliciesInsertCall) RequestId(requestId string) *ResourcePoliciesInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -35607,35 +40403,35 @@ func (c *ReservationsInsertCall) RequestId(requestId string) *ReservationsInsert
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsInsertCall) Fields(s ...googleapi.Field) *ReservationsInsertCall {
+func (c *ResourcePoliciesInsertCall) Fields(s ...googleapi.Field) *ResourcePoliciesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsInsertCall) Context(ctx context.Context) *ReservationsInsertCall {
+func (c *ResourcePoliciesInsertCall) Context(ctx context.Context) *ResourcePoliciesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsInsertCall) Header() http.Header {
+func (c *ResourcePoliciesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservation)
+func (c *ResourcePoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.resourcepolicy)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -35644,18 +40440,18 @@ func (c *ReservationsInsertCall) doRequest(alt string) (*http.Response, error) {
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "zone": c.zone,
+ "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.insert" call.
+// Do executes the "compute.resourcePolicies.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ResourcePoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35685,30 +40481,30 @@ func (c *ReservationsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsListCall struct {
+type ResourcePoliciesListCall struct {
s *Service
project string
- zone string
+ region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: A list of all the reservations that have been configured for
+// List: A list all the resource policies that have been configured for
// the
-// specified project in specified zone.
+// specified project in specified region.
//
// - project: Project ID for this request.
-// - zone: Name of the zone for this request.
-func (r *ReservationsService) List(project string, zone string) *ReservationsListCall {
- c := &ReservationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: Name of the region for this request.
+func (r *ResourcePoliciesService) List(project string, region string) *ResourcePoliciesListCall {
+ c := &ResourcePoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
+ c.region = region
return c
}
@@ -35779,7 +40575,7 @@ func (r *ReservationsService) List(project string, zone string) *ReservationsLis
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ReservationsListCall) Filter(filter string) *ReservationsListCall {
+func (c *ResourcePoliciesListCall) Filter(filter string) *ResourcePoliciesListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -35791,7 +40587,7 @@ func (c *ReservationsListCall) Filter(filter string) *ReservationsListCall {
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *ReservationsListCall) MaxResults(maxResults int64) *ReservationsListCall {
+func (c *ResourcePoliciesListCall) MaxResults(maxResults int64) *ResourcePoliciesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -35811,7 +40607,7 @@ func (c *ReservationsListCall) MaxResults(maxResults int64) *ReservationsListCal
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *ReservationsListCall) OrderBy(orderBy string) *ReservationsListCall {
+func (c *ResourcePoliciesListCall) OrderBy(orderBy string) *ResourcePoliciesListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -35820,30 +40616,15 @@ func (c *ReservationsListCall) OrderBy(orderBy string) *ReservationsListCall {
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *ReservationsListCall) PageToken(pageToken string) *ReservationsListCall {
+func (c *ResourcePoliciesListCall) PageToken(pageToken string) *ResourcePoliciesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ReservationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ReservationsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsListCall) Fields(s ...googleapi.Field) *ReservationsListCall {
+func (c *ResourcePoliciesListCall) Fields(s ...googleapi.Field) *ResourcePoliciesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -35851,55 +40632,216 @@ func (c *ReservationsListCall) Fields(s ...googleapi.Field) *ReservationsListCal
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ReservationsListCall) IfNoneMatch(entityTag string) *ReservationsListCall {
+func (c *ResourcePoliciesListCall) IfNoneMatch(entityTag string) *ResourcePoliciesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsListCall) Context(ctx context.Context) *ReservationsListCall {
+func (c *ResourcePoliciesListCall) Context(ctx context.Context) *ResourcePoliciesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsListCall) Header() http.Header {
+func (c *ResourcePoliciesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *ResourcePoliciesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.list", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.resourcePolicies.list" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *ResourcePolicyList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *ResourcePoliciesListCall) Do(opts ...googleapi.CallOption) (*ResourcePolicyList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &ResourcePolicyList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.list", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ResourcePoliciesListCall) Pages(ctx context.Context, f func(*ResourcePolicyList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type ResourcePoliciesPatchCall struct {
+ s *Service
+ project string
+ region string
+ resourcePolicy string
+ resourcepolicy *ResourcePolicy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Modify the specified resource policy.
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+// - resourcePolicy: Id of the resource policy to patch.
+func (r *ResourcePoliciesService) Patch(project string, region string, resourcePolicy string, resourcepolicy *ResourcePolicy) *ResourcePoliciesPatchCall {
+ c := &ResourcePoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.resourcePolicy = resourcePolicy
+ c.resourcepolicy = resourcepolicy
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *ResourcePoliciesPatchCall) RequestId(requestId string) *ResourcePoliciesPatchCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// UpdateMask sets the optional parameter "updateMask": update_mask indicates
+// fields to be updated as part of this request.
+func (c *ResourcePoliciesPatchCall) UpdateMask(updateMask string) *ResourcePoliciesPatchCall {
+ c.urlParams_.Set("updateMask", updateMask)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *ResourcePoliciesPatchCall) Fields(s ...googleapi.Field) *ResourcePoliciesPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *ResourcePoliciesPatchCall) Context(ctx context.Context) *ResourcePoliciesPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *ResourcePoliciesPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ResourcePoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.resourcepolicy)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
+ "project": c.project,
+ "region": c.region,
+ "resourcePolicy": c.resourcePolicy,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.list" call.
+// Do executes the "compute.resourcePolicies.patch" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ReservationList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
-// check whether the returned error was because http.StatusNotModified was
-// returned.
-func (c *ReservationsListCall) Do(opts ...googleapi.CallOption) (*ReservationList, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *ResourcePoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -35918,7 +40860,7 @@ func (c *ReservationsListCall) Do(opts ...googleapi.CallOption) (*ReservationLis
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ReservationList{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -35929,112 +40871,69 @@ func (c *ReservationsListCall) Do(opts ...googleapi.CallOption) (*ReservationLis
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-// Pages invokes f for each page of results.
-// A non-nil error returned from f will halt the iteration.
-// The provided context supersedes any context provided to the Context method.
-func (c *ReservationsListCall) Pages(ctx context.Context, f func(*ReservationList) error) error {
- c.ctx_ = ctx
- defer c.PageToken(c.urlParams_.Get("pageToken"))
- for {
- x, err := c.Do()
- if err != nil {
- return err
- }
- if err := f(x); err != nil {
- return err
- }
- if x.NextPageToken == "" {
- return nil
- }
- c.PageToken(x.NextPageToken)
- }
-}
-
-type ReservationsPerformMaintenanceCall struct {
- s *Service
- project string
- zone string
- reservation string
- reservationsperformmaintenancerequest *ReservationsPerformMaintenanceRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ResourcePoliciesSetIamPolicyCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ regionsetpolicyrequest *RegionSetPolicyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// PerformMaintenance: Perform maintenance on an extended reservation
+// SetIamPolicy: Sets the access control policy on the specified
+// resource.
+// Replaces any existing policy.
//
-// - project: Project ID for this request.
-// - reservation: The name of the reservation.
-// Name should conform to RFC1035 or be a resource ID.
-// - zone: Name of the zone for this request. Zone name should conform to
-// RFC1035.
-func (r *ReservationsService) PerformMaintenance(project string, zone string, reservation string, reservationsperformmaintenancerequest *ReservationsPerformMaintenanceRequest) *ReservationsPerformMaintenanceCall {
- c := &ReservationsPerformMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - project: Project ID for this request.
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *ResourcePoliciesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *ResourcePoliciesSetIamPolicyCall {
+ c := &ResourcePoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.reservation = reservation
- c.reservationsperformmaintenancerequest = reservationsperformmaintenancerequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationsPerformMaintenanceCall) RequestId(requestId string) *ReservationsPerformMaintenanceCall {
- c.urlParams_.Set("requestId", requestId)
+ c.region = region
+ c.resource = resource
+ c.regionsetpolicyrequest = regionsetpolicyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsPerformMaintenanceCall) Fields(s ...googleapi.Field) *ReservationsPerformMaintenanceCall {
+func (c *ResourcePoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *ResourcePoliciesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsPerformMaintenanceCall) Context(ctx context.Context) *ReservationsPerformMaintenanceCall {
+func (c *ResourcePoliciesSetIamPolicyCall) Context(ctx context.Context) *ResourcePoliciesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsPerformMaintenanceCall) Header() http.Header {
+func (c *ResourcePoliciesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsPerformMaintenanceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsperformmaintenancerequest)
+func (c *ResourcePoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -36042,20 +40941,20 @@ func (c *ReservationsPerformMaintenanceCall) doRequest(alt string) (*http.Respon
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "reservation": c.reservation,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.performMaintenance", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.performMaintenance" call.
+// Do executes the "compute.resourcePolicies.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Policy.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationsPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *ResourcePoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36074,7 +40973,7 @@ func (c *ReservationsPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36085,92 +40984,68 @@ func (c *ReservationsPerformMaintenanceCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.performMaintenance", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsResizeCall struct {
- s *Service
- project string
- zone string
- reservation string
- reservationsresizerequest *ReservationsResizeRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type ResourcePoliciesTestIamPermissionsCall struct {
+ s *Service
+ project string
+ region string
+ resource string
+ testpermissionsrequest *TestPermissionsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Resize: Resizes the reservation (applicable to standalone reservations
-// only). For
-// more information, readModifying
-// reservations.
+// TestIamPermissions: Returns permissions that a caller has on the specified
+// resource.
//
// - project: Project ID for this request.
-// - reservation: Name of the reservation to update.
-// - zone: Name of the zone for this request.
-func (r *ReservationsService) Resize(project string, zone string, reservation string, reservationsresizerequest *ReservationsResizeRequest) *ReservationsResizeCall {
- c := &ReservationsResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - region: The name of the region for this request.
+// - resource: Name or id of the resource for this request.
+func (r *ResourcePoliciesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *ResourcePoliciesTestIamPermissionsCall {
+ c := &ResourcePoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.reservation = reservation
- c.reservationsresizerequest = reservationsresizerequest
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationsResizeCall) RequestId(requestId string) *ReservationsResizeCall {
- c.urlParams_.Set("requestId", requestId)
+ c.region = region
+ c.resource = resource
+ c.testpermissionsrequest = testpermissionsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsResizeCall) Fields(s ...googleapi.Field) *ReservationsResizeCall {
+func (c *ResourcePoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ResourcePoliciesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsResizeCall) Context(ctx context.Context) *ReservationsResizeCall {
+func (c *ResourcePoliciesTestIamPermissionsCall) Context(ctx context.Context) *ResourcePoliciesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsResizeCall) Header() http.Header {
+func (c *ResourcePoliciesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsResizeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsresizerequest)
+func (c *ResourcePoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}/resize")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
@@ -36178,20 +41053,21 @@ func (c *ReservationsResizeCall) doRequest(alt string) (*http.Response, error) {
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "reservation": c.reservation,
+ "project": c.project,
+ "region": c.region,
+ "resource": c.resource,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.resize", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.resize" call.
+// Do executes the "compute.resourcePolicies.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationsResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+// *TestPermissionsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ResourcePoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36210,7 +41086,7 @@ func (c *ReservationsResizeCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &TestPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36221,90 +41097,100 @@ func (c *ReservationsResizeCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.resize", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsSetIamPolicyCall struct {
- s *Service
- project string
- zone string
- resource string
- zonesetpolicyrequest *ZoneSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RolloutPlansDeleteCall struct {
+ s *Service
+ project string
+ rolloutPlan string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// Delete: Deletes a RolloutPlan.
//
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *ReservationsService) SetIamPolicy(project string, zone string, resource string, zonesetpolicyrequest *ZoneSetPolicyRequest) *ReservationsSetIamPolicyCall {
- c := &ReservationsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - rolloutPlan: Name of the RolloutPlan resource to delete.
+func (r *RolloutPlansService) Delete(project string, rolloutPlan string) *RolloutPlansDeleteCall {
+ c := &RolloutPlansDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.resource = resource
- c.zonesetpolicyrequest = zonesetpolicyrequest
+ c.rolloutPlan = rolloutPlan
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RolloutPlansDeleteCall) RequestId(requestId string) *RolloutPlansDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsSetIamPolicyCall) Fields(s ...googleapi.Field) *ReservationsSetIamPolicyCall {
+func (c *RolloutPlansDeleteCall) Fields(s ...googleapi.Field) *RolloutPlansDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsSetIamPolicyCall) Context(ctx context.Context) *ReservationsSetIamPolicyCall {
+func (c *RolloutPlansDeleteCall) Context(ctx context.Context) *RolloutPlansDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsSetIamPolicyCall) Header() http.Header {
+func (c *RolloutPlansDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
- if err != nil {
- return nil, err
- }
+func (c *RolloutPlansDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rolloutPlans/{rolloutPlan}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "resource": c.resource,
+ "project": c.project,
+ "rolloutPlan": c.rolloutPlan,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rolloutPlans.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.setIamPolicy" call.
+// Do executes the "compute.rolloutPlans.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *RolloutPlansDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36323,7 +41209,7 @@ func (c *ReservationsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36334,90 +41220,90 @@ func (c *ReservationsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.setIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rolloutPlans.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsTestIamPermissionsCall struct {
- s *Service
- project string
- zone string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RolloutPlansGetCall struct {
+ s *Service
+ project string
+ rolloutPlan string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// Get: Gets details of a single project-scoped RolloutPlan.
//
// - project: Project ID for this request.
-// - resource: Name or id of the resource for this request.
-// - zone: The name of the zone for this request.
-func (r *ReservationsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *ReservationsTestIamPermissionsCall {
- c := &ReservationsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - rolloutPlan: Name of the persistent rollout plan to return.
+func (r *RolloutPlansService) Get(project string, rolloutPlan string) *RolloutPlansGetCall {
+ c := &RolloutPlansGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+ c.rolloutPlan = rolloutPlan
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ReservationsTestIamPermissionsCall {
+func (c *RolloutPlansGetCall) Fields(s ...googleapi.Field) *RolloutPlansGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RolloutPlansGetCall) IfNoneMatch(entityTag string) *RolloutPlansGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsTestIamPermissionsCall) Context(ctx context.Context) *ReservationsTestIamPermissionsCall {
+func (c *RolloutPlansGetCall) Context(ctx context.Context) *RolloutPlansGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsTestIamPermissionsCall) Header() http.Header {
+func (c *RolloutPlansGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
+func (c *RolloutPlansGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rolloutPlans/{rolloutPlan}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "resource": c.resource,
+ "project": c.project,
+ "rolloutPlan": c.rolloutPlan,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rolloutPlans.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.testIamPermissions" call.
+// Do executes the "compute.rolloutPlans.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ReservationsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *RolloutPlan.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RolloutPlansGetCall) Do(opts ...googleapi.CallOption) (*RolloutPlan, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36436,7 +41322,7 @@ func (c *ReservationsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &RolloutPlan{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36447,38 +41333,26 @@ func (c *ReservationsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rolloutPlans.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ReservationsUpdateCall struct {
- s *Service
- project string
- zone string
- reservation string
- reservation2 *Reservation
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RolloutPlansInsertCall struct {
+ s *Service
+ project string
+ rolloutplan *RolloutPlan
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Update: Update share settings of the reservation.
+// Insert: Creates a new RolloutPlan in a given project and location.
//
// - project: Project ID for this request.
-// - reservation: Name of the reservation to update.
-// - zone: Name of the zone for this request.
-func (r *ReservationsService) Update(project string, zone string, reservation string, reservation2 *Reservation) *ReservationsUpdateCall {
- c := &ReservationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RolloutPlansService) Insert(project string, rolloutplan *RolloutPlan) *RolloutPlansInsertCall {
+ c := &RolloutPlansInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.zone = zone
- c.reservation = reservation
- c.reservation2 = reservation2
- return c
-}
-
-// Paths sets the optional parameter "paths":
-func (c *ReservationsUpdateCall) Paths(paths ...string) *ReservationsUpdateCall {
- c.urlParams_.SetMulti("paths", append([]string{}, paths...))
+ c.rolloutplan = rolloutplan
return c
}
@@ -36499,71 +41373,62 @@ func (c *ReservationsUpdateCall) Paths(paths ...string) *ReservationsUpdateCall
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ReservationsUpdateCall) RequestId(requestId string) *ReservationsUpdateCall {
+func (c *RolloutPlansInsertCall) RequestId(requestId string) *RolloutPlansInsertCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// UpdateMask sets the optional parameter "updateMask": Update_mask indicates
-// fields to be updated as part of this request.
-func (c *ReservationsUpdateCall) UpdateMask(updateMask string) *ReservationsUpdateCall {
- c.urlParams_.Set("updateMask", updateMask)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ReservationsUpdateCall) Fields(s ...googleapi.Field) *ReservationsUpdateCall {
+func (c *RolloutPlansInsertCall) Fields(s ...googleapi.Field) *RolloutPlansInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ReservationsUpdateCall) Context(ctx context.Context) *ReservationsUpdateCall {
+func (c *RolloutPlansInsertCall) Context(ctx context.Context) *RolloutPlansInsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ReservationsUpdateCall) Header() http.Header {
+func (c *RolloutPlansInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ReservationsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservation2)
+func (c *RolloutPlansInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.rolloutplan)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/reservations/{reservation}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rolloutPlans")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "zone": c.zone,
- "reservation": c.reservation,
+ "project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservations.update", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rolloutPlans.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.reservations.update" call.
+// Do executes the "compute.rolloutPlans.insert" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ReservationsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RolloutPlansInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36593,11 +41458,11 @@ func (c *ReservationsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, e
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservations.update", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rolloutPlans.insert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ResourcePoliciesAggregatedListCall struct {
+type RolloutPlansListCall struct {
s *Service
project string
urlParams_ gensupport.URLParams
@@ -36606,15 +41471,11 @@ type ResourcePoliciesAggregatedListCall struct {
header_ http.Header
}
-// AggregatedList: Retrieves an aggregated list of resource policies.
-//
-// To prevent failure, Google recommends that you set
-// the
-// `returnPartialSuccess` parameter to `true`.
+// List: Lists RolloutPlans in a given project and location.
//
// - project: Project ID for this request.
-func (r *ResourcePoliciesService) AggregatedList(project string) *ResourcePoliciesAggregatedListCall {
- c := &ResourcePoliciesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RolloutPlansService) List(project string) *RolloutPlansListCall {
+ c := &RolloutPlansListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
return c
}
@@ -36686,29 +41547,11 @@ func (r *ResourcePoliciesService) AggregatedList(project string) *ResourcePolici
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ResourcePoliciesAggregatedListCall) Filter(filter string) *ResourcePoliciesAggregatedListCall {
+func (c *RolloutPlansListCall) Filter(filter string) *RolloutPlansListCall {
c.urlParams_.Set("filter", filter)
return c
}
-// IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates
-// whether every visible scope for each scope type (zone, region,
-// global) should be included in the response. For new resource types
-// added
-// after this field, the flag has no effect as new resource types will
-// always
-// include every visible scope for each scope type in response. For
-// resource
-// types which predate this field, if this flag is omitted or false,
-// only
-// scopes of the scope types where the resource type is expected to be
-// found
-// will be included.
-func (c *ResourcePoliciesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *ResourcePoliciesAggregatedListCall {
- c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes))
- return c
-}
-
// MaxResults sets the optional parameter "maxResults": The maximum number of
// results per page that should be returned.
// If the number of available results is larger than `maxResults`,
@@ -36716,7 +41559,7 @@ func (c *ResourcePoliciesAggregatedListCall) IncludeAllScopes(includeAllScopes b
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *ResourcePoliciesAggregatedListCall) MaxResults(maxResults int64) *ResourcePoliciesAggregatedListCall {
+func (c *RolloutPlansListCall) MaxResults(maxResults int64) *RolloutPlansListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -36736,7 +41579,7 @@ func (c *ResourcePoliciesAggregatedListCall) MaxResults(maxResults int64) *Resou
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *ResourcePoliciesAggregatedListCall) OrderBy(orderBy string) *ResourcePoliciesAggregatedListCall {
+func (c *RolloutPlansListCall) OrderBy(orderBy string) *RolloutPlansListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -36745,38 +41588,15 @@ func (c *ResourcePoliciesAggregatedListCall) OrderBy(orderBy string) *ResourcePo
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *ResourcePoliciesAggregatedListCall) PageToken(pageToken string) *ResourcePoliciesAggregatedListCall {
+func (c *RolloutPlansListCall) PageToken(pageToken string) *RolloutPlansListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ResourcePoliciesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ResourcePoliciesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
-// Shared VPC service project id or service project number for which
-// aggregated list request is invoked for subnetworks list-usable api.
-func (c *ResourcePoliciesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *ResourcePoliciesAggregatedListCall {
- c.urlParams_.Set("serviceProjectNumber", fmt.Sprint(serviceProjectNumber))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ResourcePoliciesAggregatedListCall) Fields(s ...googleapi.Field) *ResourcePoliciesAggregatedListCall {
+func (c *RolloutPlansListCall) Fields(s ...googleapi.Field) *RolloutPlansListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -36784,34 +41604,34 @@ func (c *ResourcePoliciesAggregatedListCall) Fields(s ...googleapi.Field) *Resou
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ResourcePoliciesAggregatedListCall) IfNoneMatch(entityTag string) *ResourcePoliciesAggregatedListCall {
+func (c *RolloutPlansListCall) IfNoneMatch(entityTag string) *RolloutPlansListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesAggregatedListCall) Context(ctx context.Context) *ResourcePoliciesAggregatedListCall {
+func (c *RolloutPlansListCall) Context(ctx context.Context) *RolloutPlansListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ResourcePoliciesAggregatedListCall) Header() http.Header {
+func (c *RolloutPlansListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ResourcePoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RolloutPlansListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/aggregated/resourcePolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rolloutPlans")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -36821,17 +41641,17 @@ func (c *ResourcePoliciesAggregatedListCall) doRequest(alt string) (*http.Respon
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.aggregatedList", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rolloutPlans.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.resourcePolicies.aggregatedList" call.
+// Do executes the "compute.rolloutPlans.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ResourcePolicyAggregatedList.ServerResponse.Header or (if a response was
+// *RolloutPlansListResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
-func (c *ResourcePoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*ResourcePolicyAggregatedList, error) {
+func (c *RolloutPlansListCall) Do(opts ...googleapi.CallOption) (*RolloutPlansListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -36850,7 +41670,7 @@ func (c *ResourcePoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ResourcePolicyAggregatedList{
+ ret := &RolloutPlansListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -36861,14 +41681,14 @@ func (c *ResourcePoliciesAggregatedListCall) Do(opts ...googleapi.CallOption) (*
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.aggregatedList", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rolloutPlans.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *ResourcePoliciesAggregatedListCall) Pages(ctx context.Context, f func(*ResourcePolicyAggregatedList) error) error {
+func (c *RolloutPlansListCall) Pages(ctx context.Context, f func(*RolloutPlansListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -36886,26 +41706,31 @@ func (c *ResourcePoliciesAggregatedListCall) Pages(ctx context.Context, f func(*
}
}
-type ResourcePoliciesDeleteCall struct {
- s *Service
- project string
- region string
- resourcePolicy string
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RolloutsAdvanceCall struct {
+ s *Service
+ project string
+ rollout string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified resource policy.
+// Advance: Advances a Rollout to the next wave, or completes it if no waves
+// remain.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-// - resourcePolicy: Name of the resource policy to delete.
-func (r *ResourcePoliciesService) Delete(project string, region string, resourcePolicy string) *ResourcePoliciesDeleteCall {
- c := &ResourcePoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - rollout: Name of the Rollout resource to advance.
+func (r *RolloutsService) Advance(project string, rollout string) *RolloutsAdvanceCall {
+ c := &RolloutsAdvanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resourcePolicy = resourcePolicy
+ c.rollout = rollout
+ return c
+}
+
+// CurrentWaveNumber sets the optional parameter "currentWaveNumber": Required.
+// Wave number of the current wave.
+func (c *RolloutsAdvanceCall) CurrentWaveNumber(currentWaveNumber int64) *RolloutsAdvanceCall {
+ c.urlParams_.Set("currentWaveNumber", fmt.Sprint(currentWaveNumber))
return c
}
@@ -36926,7 +41751,7 @@ func (r *ResourcePoliciesService) Delete(project string, region string, resource
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ResourcePoliciesDeleteCall) RequestId(requestId string) *ResourcePoliciesDeleteCall {
+func (c *RolloutsAdvanceCall) RequestId(requestId string) *RolloutsAdvanceCall {
c.urlParams_.Set("requestId", requestId)
return c
}
@@ -36934,52 +41759,51 @@ func (c *ResourcePoliciesDeleteCall) RequestId(requestId string) *ResourcePolici
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ResourcePoliciesDeleteCall) Fields(s ...googleapi.Field) *ResourcePoliciesDeleteCall {
+func (c *RolloutsAdvanceCall) Fields(s ...googleapi.Field) *RolloutsAdvanceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesDeleteCall) Context(ctx context.Context) *ResourcePoliciesDeleteCall {
+func (c *RolloutsAdvanceCall) Context(ctx context.Context) *RolloutsAdvanceCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ResourcePoliciesDeleteCall) Header() http.Header {
+func (c *RolloutsAdvanceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ResourcePoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RolloutsAdvanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts/{rollout}/advance")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("DELETE", urls, nil)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resourcePolicy": c.resourcePolicy,
+ "project": c.project,
+ "rollout": c.rollout,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.delete", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.advance", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.resourcePolicies.delete" call.
+// Do executes the "compute.rollouts.advance" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ResourcePoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RolloutsAdvanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37009,94 +41833,112 @@ func (c *ResourcePoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.delete", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.advance", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ResourcePoliciesGetCall struct {
- s *Service
- project string
- region string
- resourcePolicy string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RolloutsCancelCall struct {
+ s *Service
+ project string
+ rollout string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Get: Retrieves all information of the specified resource policy.
+// Cancel: Cancels a Rollout.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-// - resourcePolicy: Name of the resource policy to retrieve.
-func (r *ResourcePoliciesService) Get(project string, region string, resourcePolicy string) *ResourcePoliciesGetCall {
- c := &ResourcePoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - rollout: Name of the Rollout resource to cancel.
+func (r *RolloutsService) Cancel(project string, rollout string) *RolloutsCancelCall {
+ c := &RolloutsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resourcePolicy = resourcePolicy
+ c.rollout = rollout
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RolloutsCancelCall) RequestId(requestId string) *RolloutsCancelCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Rollback sets the optional parameter "rollback": If true, then the ongoing
+// rollout must be rolled back. Else, just cancel
+// the rollout without taking any further actions. Note that products
+// must
+// support at least one of these options, however, it does not need to
+// support
+// both.
+func (c *RolloutsCancelCall) Rollback(rollback bool) *RolloutsCancelCall {
+ c.urlParams_.Set("rollback", fmt.Sprint(rollback))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ResourcePoliciesGetCall) Fields(s ...googleapi.Field) *ResourcePoliciesGetCall {
+func (c *RolloutsCancelCall) Fields(s ...googleapi.Field) *RolloutsCancelCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ResourcePoliciesGetCall) IfNoneMatch(entityTag string) *ResourcePoliciesGetCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesGetCall) Context(ctx context.Context) *ResourcePoliciesGetCall {
+func (c *RolloutsCancelCall) Context(ctx context.Context) *RolloutsCancelCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ResourcePoliciesGetCall) Header() http.Header {
+func (c *RolloutsCancelCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ResourcePoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RolloutsCancelCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts/{rollout}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("PATCH", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resourcePolicy": c.resourcePolicy,
+ "project": c.project,
+ "rollout": c.rollout,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.get", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.cancel", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.resourcePolicies.get" call.
+// Do executes the "compute.rollouts.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ResourcePolicy.ServerResponse.Header or (if a response was returned at all)
-// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ResourcePoliciesGetCall) Do(opts ...googleapi.CallOption) (*ResourcePolicy, error) {
+func (c *RolloutsCancelCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37115,7 +41957,7 @@ func (c *ResourcePoliciesGetCall) Do(opts ...googleapi.CallOption) (*ResourcePol
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ResourcePolicy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -37126,103 +41968,100 @@ func (c *ResourcePoliciesGetCall) Do(opts ...googleapi.CallOption) (*ResourcePol
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.get", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.cancel", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ResourcePoliciesGetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- urlParams_ gensupport.URLParams
- ifNoneMatch_ string
- ctx_ context.Context
- header_ http.Header
+type RolloutsDeleteCall struct {
+ s *Service
+ project string
+ rollout string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// GetIamPolicy: Gets the access control policy for a resource. May be empty if
-// no such
-// policy or resource exists.
+// Delete: Deletes a Rollout.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *ResourcePoliciesService) GetIamPolicy(project string, region string, resource string) *ResourcePoliciesGetIamPolicyCall {
- c := &ResourcePoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - rollout: Name of the Rollout resource to delete.
+func (r *RolloutsService) Delete(project string, rollout string) *RolloutsDeleteCall {
+ c := &RolloutsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resource = resource
+ c.rollout = rollout
return c
}
-// OptionsRequestedPolicyVersion sets the optional parameter
-// "optionsRequestedPolicyVersion": Requested IAM Policy version.
-func (c *ResourcePoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ResourcePoliciesGetIamPolicyCall {
- c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RolloutsDeleteCall) RequestId(requestId string) *RolloutsDeleteCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ResourcePoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *ResourcePoliciesGetIamPolicyCall {
+func (c *RolloutsDeleteCall) Fields(s ...googleapi.Field) *RolloutsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
-// IfNoneMatch sets an optional parameter which makes the operation fail if the
-// object's ETag matches the given value. This is useful for getting updates
-// only after the object has changed since the last request.
-func (c *ResourcePoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *ResourcePoliciesGetIamPolicyCall {
- c.ifNoneMatch_ = entityTag
- return c
-}
-
// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesGetIamPolicyCall) Context(ctx context.Context) *ResourcePoliciesGetIamPolicyCall {
+func (c *RolloutsDeleteCall) Context(ctx context.Context) *RolloutsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ResourcePoliciesGetIamPolicyCall) Header() http.Header {
+func (c *RolloutsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ResourcePoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
- if c.ifNoneMatch_ != "" {
- reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
- }
+func (c *RolloutsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts/{rollout}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("GET", urls, nil)
+ req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "rollout": c.rollout,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.resourcePolicies.getIamPolicy" call.
+// Do executes the "compute.rollouts.delete" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ResourcePoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
+func (c *RolloutsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37241,7 +42080,7 @@ func (c *ResourcePoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Po
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Policy{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -37252,106 +42091,90 @@ func (c *ResourcePoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Po
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.getIamPolicy", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ResourcePoliciesInsertCall struct {
- s *Service
- project string
- region string
- resourcepolicy *ResourcePolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RolloutsGetCall struct {
+ s *Service
+ project string
+ rollout string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a new resource policy.
+// Get: Gets details of a single project-scoped Rollout.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *ResourcePoliciesService) Insert(project string, region string, resourcepolicy *ResourcePolicy) *ResourcePoliciesInsertCall {
- c := &ResourcePoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - rollout: Name of the persistent rollout to return.
+func (r *RolloutsService) Get(project string, rollout string) *RolloutsGetCall {
+ c := &RolloutsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resourcepolicy = resourcepolicy
- return c
-}
-
-// RequestId sets the optional parameter "requestId": An optional request ID to
-// identify requests. Specify a unique request ID so
-// that if you must retry your request, the server will know to ignore
-// the
-// request if it has already been completed.
-//
-// For example, consider a situation where you make an initial request and
-// the request times out. If you make the request again with the same
-// request ID, the server can check if original operation with the same
-// request ID was received, and if so, will ignore the second request.
-// This
-// prevents clients from accidentally creating duplicate commitments.
-//
-// The request ID must be
-// a valid UUID with the exception that zero UUID is not
-// supported
-// (00000000-0000-0000-0000-000000000000).
-func (c *ResourcePoliciesInsertCall) RequestId(requestId string) *ResourcePoliciesInsertCall {
- c.urlParams_.Set("requestId", requestId)
+ c.rollout = rollout
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ResourcePoliciesInsertCall) Fields(s ...googleapi.Field) *ResourcePoliciesInsertCall {
+func (c *RolloutsGetCall) Fields(s ...googleapi.Field) *RolloutsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RolloutsGetCall) IfNoneMatch(entityTag string) *RolloutsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesInsertCall) Context(ctx context.Context) *ResourcePoliciesInsertCall {
+func (c *RolloutsGetCall) Context(ctx context.Context) *RolloutsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ResourcePoliciesInsertCall) Header() http.Header {
+func (c *RolloutsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ResourcePoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.resourcepolicy)
- if err != nil {
- return nil, err
+func (c *RolloutsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts/{rollout}")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
+ "rollout": c.rollout,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.insert", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.resourcePolicies.insert" call.
+// Do executes the "compute.rollouts.get" call.
// Any non-2xx status code is an error. Response headers are in either
-// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// *Rollout.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ResourcePoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RolloutsGetCall) Do(opts ...googleapi.CallOption) (*Rollout, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37370,7 +42193,7 @@ func (c *ResourcePoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operatio
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &Operation{
+ ret := &Rollout{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -37381,30 +42204,25 @@ func (c *ResourcePoliciesInsertCall) Do(opts ...googleapi.CallOption) (*Operatio
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.insert", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ResourcePoliciesListCall struct {
+type RolloutsListCall struct {
s *Service
project string
- region string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
-// List: A list all the resource policies that have been configured for
-// the
-// specified project in specified region.
+// List: Lists Rollouts in a given project and location.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-func (r *ResourcePoliciesService) List(project string, region string) *ResourcePoliciesListCall {
- c := &ResourcePoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+func (r *RolloutsService) List(project string) *RolloutsListCall {
+ c := &RolloutsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
return c
}
@@ -37475,7 +42293,7 @@ func (r *ResourcePoliciesService) List(project string, region string) *ResourceP
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *ResourcePoliciesListCall) Filter(filter string) *ResourcePoliciesListCall {
+func (c *RolloutsListCall) Filter(filter string) *RolloutsListCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -37487,7 +42305,7 @@ func (c *ResourcePoliciesListCall) Filter(filter string) *ResourcePoliciesListCa
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *ResourcePoliciesListCall) MaxResults(maxResults int64) *ResourcePoliciesListCall {
+func (c *RolloutsListCall) MaxResults(maxResults int64) *RolloutsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -37507,7 +42325,7 @@ func (c *ResourcePoliciesListCall) MaxResults(maxResults int64) *ResourcePolicie
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *ResourcePoliciesListCall) OrderBy(orderBy string) *ResourcePoliciesListCall {
+func (c *RolloutsListCall) OrderBy(orderBy string) *RolloutsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -37516,30 +42334,15 @@ func (c *ResourcePoliciesListCall) OrderBy(orderBy string) *ResourcePoliciesList
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *ResourcePoliciesListCall) PageToken(pageToken string) *ResourcePoliciesListCall {
+func (c *RolloutsListCall) PageToken(pageToken string) *RolloutsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ResourcePoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ResourcePoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ResourcePoliciesListCall) Fields(s ...googleapi.Field) *ResourcePoliciesListCall {
+func (c *RolloutsListCall) Fields(s ...googleapi.Field) *RolloutsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -37547,34 +42350,34 @@ func (c *ResourcePoliciesListCall) Fields(s ...googleapi.Field) *ResourcePolicie
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *ResourcePoliciesListCall) IfNoneMatch(entityTag string) *ResourcePoliciesListCall {
+func (c *RolloutsListCall) IfNoneMatch(entityTag string) *RolloutsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesListCall) Context(ctx context.Context) *ResourcePoliciesListCall {
+func (c *RolloutsListCall) Context(ctx context.Context) *RolloutsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ResourcePoliciesListCall) Header() http.Header {
+func (c *RolloutsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ResourcePoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RolloutsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -37583,19 +42386,18 @@ func (c *ResourcePoliciesListCall) doRequest(alt string) (*http.Response, error)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
- "region": c.region,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.list", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.resourcePolicies.list" call.
+// Do executes the "compute.rollouts.list" call.
// Any non-2xx status code is an error. Response headers are in either
-// *ResourcePolicyList.ServerResponse.Header or (if a response was returned at
-// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// *RolloutsListResponse.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *ResourcePoliciesListCall) Do(opts ...googleapi.CallOption) (*ResourcePolicyList, error) {
+func (c *RolloutsListCall) Do(opts ...googleapi.CallOption) (*RolloutsListResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37614,7 +42416,7 @@ func (c *ResourcePoliciesListCall) Do(opts ...googleapi.CallOption) (*ResourcePo
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &ResourcePolicyList{
+ ret := &RolloutsListResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -37625,14 +42427,14 @@ func (c *ResourcePoliciesListCall) Do(opts ...googleapi.CallOption) (*ResourcePo
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.list", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *ResourcePoliciesListCall) Pages(ctx context.Context, f func(*ResourcePolicyList) error) error {
+func (c *RolloutsListCall) Pages(ctx context.Context, f func(*RolloutsListResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -37650,28 +42452,31 @@ func (c *ResourcePoliciesListCall) Pages(ctx context.Context, f func(*ResourcePo
}
}
-type ResourcePoliciesPatchCall struct {
- s *Service
- project string
- region string
- resourcePolicy string
- resourcepolicy *ResourcePolicy
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RolloutsPauseCall struct {
+ s *Service
+ project string
+ rollout string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// Patch: Modify the specified resource policy.
+// Pause: Pauses a Rollout.
//
// - project: Project ID for this request.
-// - region: Name of the region for this request.
-// - resourcePolicy: Id of the resource policy to patch.
-func (r *ResourcePoliciesService) Patch(project string, region string, resourcePolicy string, resourcepolicy *ResourcePolicy) *ResourcePoliciesPatchCall {
- c := &ResourcePoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - rollout: Name of the Rollout resource to pause.
+func (r *RolloutsService) Pause(project string, rollout string) *RolloutsPauseCall {
+ c := &RolloutsPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resourcePolicy = resourcePolicy
- c.resourcepolicy = resourcepolicy
+ c.rollout = rollout
+ return c
+}
+
+// Etag sets the optional parameter "etag": The etag of the Rollout.
+// If this is provided, the request will only succeed if the etag matches
+// the current etag of the Rollout.
+func (c *RolloutsPauseCall) Etag(etag string) *RolloutsPauseCall {
+ c.urlParams_.Set("etag", etag)
return c
}
@@ -37692,71 +42497,59 @@ func (r *ResourcePoliciesService) Patch(project string, region string, resourceP
// a valid UUID with the exception that zero UUID is not
// supported
// (00000000-0000-0000-0000-000000000000).
-func (c *ResourcePoliciesPatchCall) RequestId(requestId string) *ResourcePoliciesPatchCall {
+func (c *RolloutsPauseCall) RequestId(requestId string) *RolloutsPauseCall {
c.urlParams_.Set("requestId", requestId)
return c
}
-// UpdateMask sets the optional parameter "updateMask": update_mask indicates
-// fields to be updated as part of this request.
-func (c *ResourcePoliciesPatchCall) UpdateMask(updateMask string) *ResourcePoliciesPatchCall {
- c.urlParams_.Set("updateMask", updateMask)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ResourcePoliciesPatchCall) Fields(s ...googleapi.Field) *ResourcePoliciesPatchCall {
+func (c *RolloutsPauseCall) Fields(s ...googleapi.Field) *RolloutsPauseCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesPatchCall) Context(ctx context.Context) *ResourcePoliciesPatchCall {
+func (c *RolloutsPauseCall) Context(ctx context.Context) *RolloutsPauseCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ResourcePoliciesPatchCall) Header() http.Header {
+func (c *RolloutsPauseCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ResourcePoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.resourcepolicy)
- if err != nil {
- return nil, err
- }
+func (c *RolloutsPauseCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts/{rollout}/pause")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("PATCH", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resourcePolicy": c.resourcePolicy,
+ "project": c.project,
+ "rollout": c.rollout,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.pause", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.resourcePolicies.patch" call.
+// Do executes the "compute.rollouts.pause" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
-func (c *ResourcePoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+func (c *RolloutsPauseCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -37786,203 +42579,108 @@ func (c *ResourcePoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.patch", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.pause", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
-type ResourcePoliciesSetIamPolicyCall struct {
- s *Service
- project string
- region string
- resource string
- regionsetpolicyrequest *RegionSetPolicyRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
+type RolloutsResumeCall struct {
+ s *Service
+ project string
+ rollout string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
-// SetIamPolicy: Sets the access control policy on the specified
-// resource.
-// Replaces any existing policy.
+// Resume: Resumes a Rollout.
//
// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *ResourcePoliciesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *ResourcePoliciesSetIamPolicyCall {
- c := &ResourcePoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// - rollout: Name of the Rollout resource to resume.
+func (r *RolloutsService) Resume(project string, rollout string) *RolloutsResumeCall {
+ c := &RolloutsResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
- c.region = region
- c.resource = resource
- c.regionsetpolicyrequest = regionsetpolicyrequest
+ c.rollout = rollout
return c
}
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
-// details.
-func (c *ResourcePoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *ResourcePoliciesSetIamPolicyCall {
- c.urlParams_.Set("fields", googleapi.CombineFields(s))
+// Etag sets the optional parameter "etag": The etag of the Rollout.
+// If this is provided, the request will only succeed if the etag matches
+// the current etag of the Rollout.
+func (c *RolloutsResumeCall) Etag(etag string) *RolloutsResumeCall {
+ c.urlParams_.Set("etag", etag)
return c
}
-// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesSetIamPolicyCall) Context(ctx context.Context) *ResourcePoliciesSetIamPolicyCall {
- c.ctx_ = ctx
- return c
-}
-
-// Header returns a http.Header that can be modified by the caller to add
-// headers to the request.
-func (c *ResourcePoliciesSetIamPolicyCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *ResourcePoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
- if err != nil {
- return nil, err
- }
- c.urlParams_.Set("alt", alt)
- c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy")
- urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
- if err != nil {
- return nil, err
- }
- req.Header = reqHeaders
- googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
- })
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
- return gensupport.SendRequest(c.ctx_, c.s.client, req)
-}
-
-// Do executes the "compute.resourcePolicies.setIamPolicy" call.
-// Any non-2xx status code is an error. Response headers are in either
-// *Policy.ServerResponse.Header or (if a response was returned at all) in
-// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
-// whether the returned error was because http.StatusNotModified was returned.
-func (c *ResourcePoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &Policy{
- ServerResponse: googleapi.ServerResponse{
- Header: res.Header,
- HTTPStatusCode: res.StatusCode,
- },
- }
- target := &ret
- b, err := gensupport.DecodeResponseBytes(target, res)
- if err != nil {
- return nil, err
- }
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.setIamPolicy", "response", internallog.HTTPResponse(res, b))
- return ret, nil
-}
-
-type ResourcePoliciesTestIamPermissionsCall struct {
- s *Service
- project string
- region string
- resource string
- testpermissionsrequest *TestPermissionsRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// TestIamPermissions: Returns permissions that a caller has on the specified
-// resource.
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
//
-// - project: Project ID for this request.
-// - region: The name of the region for this request.
-// - resource: Name or id of the resource for this request.
-func (r *ResourcePoliciesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *ResourcePoliciesTestIamPermissionsCall {
- c := &ResourcePoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.project = project
- c.region = region
- c.resource = resource
- c.testpermissionsrequest = testpermissionsrequest
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RolloutsResumeCall) RequestId(requestId string) *RolloutsResumeCall {
+ c.urlParams_.Set("requestId", requestId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *ResourcePoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ResourcePoliciesTestIamPermissionsCall {
+func (c *RolloutsResumeCall) Fields(s ...googleapi.Field) *RolloutsResumeCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *ResourcePoliciesTestIamPermissionsCall) Context(ctx context.Context) *ResourcePoliciesTestIamPermissionsCall {
+func (c *RolloutsResumeCall) Context(ctx context.Context) *RolloutsResumeCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *ResourcePoliciesTestIamPermissionsCall) Header() http.Header {
+func (c *RolloutsResumeCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *ResourcePoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
- body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
- if err != nil {
- return nil, err
- }
+func (c *RolloutsResumeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts/{rollout}/resume")
urls += "?" + c.urlParams_.Encode()
- req, err := http.NewRequest("POST", urls, body)
+ req, err := http.NewRequest("POST", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
- "project": c.project,
- "region": c.region,
- "resource": c.resource,
+ "project": c.project,
+ "rollout": c.rollout,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.resourcePolicies.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.resume", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.resourcePolicies.testIamPermissions" call.
+// Do executes the "compute.rollouts.resume" call.
// Any non-2xx status code is an error. Response headers are in either
-// *TestPermissionsResponse.ServerResponse.Header or (if a response was
-// returned at all) in error.(*googleapi.Error).Header. Use
-// googleapi.IsNotModified to check whether the returned error was because
-// http.StatusNotModified was returned.
-func (c *ResourcePoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RolloutsResumeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -38001,7 +42699,7 @@ func (c *ResourcePoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &TestPermissionsResponse{
+ ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -38012,7 +42710,7 @@ func (c *ResourcePoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.resourcePolicies.testIamPermissions", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.resume", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
@@ -38169,21 +42867,6 @@ func (c *RoutersAggregatedListCall) PageToken(pageToken string) *RoutersAggregat
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RoutersAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RoutersAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -38224,7 +42907,7 @@ func (c *RoutersAggregatedListCall) Header() http.Header {
}
func (c *RoutersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -38374,7 +43057,7 @@ func (c *RoutersDeleteCall) Header() http.Header {
}
func (c *RoutersDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}")
@@ -38432,6 +43115,140 @@ func (c *RoutersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error)
return ret, nil
}
+type RoutersDeleteNamedSetCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// DeleteNamedSet: Deletes Named Set
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+// - router: Name of the Router resource where Named Set is defined.
+func (r *RoutersService) DeleteNamedSet(project string, region string, router string) *RoutersDeleteNamedSetCall {
+ c := &RoutersDeleteNamedSetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ return c
+}
+
+// NamedSet sets the optional parameter "namedSet": The Named Set name for this
+// request. Name must conform to RFC1035
+func (c *RoutersDeleteNamedSetCall) NamedSet(namedSet string) *RoutersDeleteNamedSetCall {
+ c.urlParams_.Set("namedSet", namedSet)
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RoutersDeleteNamedSetCall) RequestId(requestId string) *RoutersDeleteNamedSetCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RoutersDeleteNamedSetCall) Fields(s ...googleapi.Field) *RoutersDeleteNamedSetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RoutersDeleteNamedSetCall) Context(ctx context.Context) *RoutersDeleteNamedSetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RoutersDeleteNamedSetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersDeleteNamedSetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.routers.deleteNamedSet", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.deleteNamedSet" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RoutersDeleteNamedSetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.routers.deleteNamedSet", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
type RoutersDeleteRoutePolicyCall struct {
s *Service
project string
@@ -38508,7 +43325,7 @@ func (c *RoutersDeleteRoutePolicyCall) Header() http.Header {
}
func (c *RoutersDeleteRoutePolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy")
@@ -38622,7 +43439,7 @@ func (c *RoutersGetCall) Header() http.Header {
}
func (c *RoutersGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -38683,6 +43500,134 @@ func (c *RoutersGetCall) Do(opts ...googleapi.CallOption) (*Router, error) {
return ret, nil
}
+type RoutersGetNamedSetCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetNamedSet: Returns specified Named Set
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+// - router: Name of the Router resource to query for the named set. The name
+// should
+//
+// conform to RFC1035.
+func (r *RoutersService) GetNamedSet(project string, region string, router string) *RoutersGetNamedSetCall {
+ c := &RoutersGetNamedSetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ return c
+}
+
+// NamedSet sets the optional parameter "namedSet": The Named Set name for this
+// request. Name must conform to RFC1035
+func (c *RoutersGetNamedSetCall) NamedSet(namedSet string) *RoutersGetNamedSetCall {
+ c.urlParams_.Set("namedSet", namedSet)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RoutersGetNamedSetCall) Fields(s ...googleapi.Field) *RoutersGetNamedSetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RoutersGetNamedSetCall) IfNoneMatch(entityTag string) *RoutersGetNamedSetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RoutersGetNamedSetCall) Context(ctx context.Context) *RoutersGetNamedSetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RoutersGetNamedSetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersGetNamedSetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}/getNamedSet")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.routers.getNamedSet", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.getNamedSet" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *RoutersGetNamedSetResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RoutersGetNamedSetCall) Do(opts ...googleapi.CallOption) (*RoutersGetNamedSetResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &RoutersGetNamedSetResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.routers.getNamedSet", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
type RoutersGetNatIpInfoCall struct {
s *Service
project string
@@ -38751,7 +43696,7 @@ func (c *RoutersGetNatIpInfoCall) Header() http.Header {
}
func (c *RoutersGetNatIpInfoCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -38963,21 +43908,6 @@ func (c *RoutersGetNatMappingInfoCall) PageToken(pageToken string) *RoutersGetNa
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RoutersGetNatMappingInfoCall) ReturnPartialSuccess(returnPartialSuccess bool) *RoutersGetNatMappingInfoCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -39010,7 +43940,7 @@ func (c *RoutersGetNatMappingInfoCall) Header() http.Header {
}
func (c *RoutersGetNatMappingInfoCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -39159,7 +44089,7 @@ func (c *RoutersGetRoutePolicyCall) Header() http.Header {
}
func (c *RoutersGetRoutePolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -39277,7 +44207,7 @@ func (c *RoutersGetRouterStatusCall) Header() http.Header {
}
func (c *RoutersGetRouterStatusCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -39409,7 +44339,7 @@ func (c *RoutersInsertCall) Header() http.Header {
}
func (c *RoutersInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.router)
if err != nil {
return nil, err
@@ -39605,21 +44535,6 @@ func (c *RoutersListCall) PageToken(pageToken string) *RoutersListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RoutersListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RoutersListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -39652,7 +44567,7 @@ func (c *RoutersListCall) Header() http.Header {
}
func (c *RoutersListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -39846,7 +44761,292 @@ func (c *RoutersListBgpRoutesCall) DestinationPrefix(destinationPrefix string) *
//
// You cannot combine constraints on multiple fields using regular
// expressions.
-func (c *RoutersListBgpRoutesCall) Filter(filter string) *RoutersListBgpRoutesCall {
+func (c *RoutersListBgpRoutesCall) Filter(filter string) *RoutersListBgpRoutesCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum number of
+// results per page that should be returned.
+// If the number of available results is larger than `maxResults`,
+// Compute Engine returns a `nextPageToken` that can be used to get
+// the next page of results in subsequent list requests. Acceptable values
+// are
+// `0` to `500`, inclusive. (Default: `500`)
+func (c *RoutersListBgpRoutesCall) MaxResults(maxResults int64) *RoutersListBgpRoutesCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by a
+// certain order. By default, results
+// are returned in alphanumerical order based on the resource name.
+//
+// You can also sort results in descending order based on the
+// creation
+// timestamp using `orderBy="creationTimestamp desc". This sorts
+// results based on the `creationTimestamp` field in
+// reverse chronological order (newest result first). Use this to
+// sort
+// resources like operations so that the newest operation is returned
+// first.
+//
+// Currently, only sorting by `name` or
+// `creationTimestamp desc` is supported.
+func (c *RoutersListBgpRoutesCall) OrderBy(orderBy string) *RoutersListBgpRoutesCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page token to
+// use. Set `pageToken` to the
+// `nextPageToken` returned by a previous list request to get
+// the next page of results.
+func (c *RoutersListBgpRoutesCall) PageToken(pageToken string) *RoutersListBgpRoutesCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Peer sets the optional parameter "peer": (Required) limit results to the BGP
+// peer with the given name.
+// Name should conform to RFC1035.
+func (c *RoutersListBgpRoutesCall) Peer(peer string) *RoutersListBgpRoutesCall {
+ c.urlParams_.Set("peer", peer)
+ return c
+}
+
+// PolicyApplied sets the optional parameter "policyApplied": When true, the
+// method returns post-policy routes. Otherwise, it returns
+// pre-policy routes.
+func (c *RoutersListBgpRoutesCall) PolicyApplied(policyApplied bool) *RoutersListBgpRoutesCall {
+ c.urlParams_.Set("policyApplied", fmt.Sprint(policyApplied))
+ return c
+}
+
+// RouteType sets the optional parameter "routeType": (Required) limit results
+// to this type of route (either LEARNED or
+// ADVERTISED)
+//
+// Possible values:
+//
+// "ADVERTISED"
+// "LEARNED"
+// "UNSPECIFIED_ROUTE_TYPE" (default)
+func (c *RoutersListBgpRoutesCall) RouteType(routeType string) *RoutersListBgpRoutesCall {
+ c.urlParams_.Set("routeType", routeType)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RoutersListBgpRoutesCall) Fields(s ...googleapi.Field) *RoutersListBgpRoutesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets an optional parameter which makes the operation fail if the
+// object's ETag matches the given value. This is useful for getting updates
+// only after the object has changed since the last request.
+func (c *RoutersListBgpRoutesCall) IfNoneMatch(entityTag string) *RoutersListBgpRoutesCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RoutersListBgpRoutesCall) Context(ctx context.Context) *RoutersListBgpRoutesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RoutersListBgpRoutesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersListBgpRoutesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("GET", urls, nil)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.routers.listBgpRoutes", "request", internallog.HTTPRequest(req, nil))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.listBgpRoutes" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *RoutersListBgpRoutes.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RoutersListBgpRoutesCall) Do(opts ...googleapi.CallOption) (*RoutersListBgpRoutes, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &RoutersListBgpRoutes{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.routers.listBgpRoutes", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RoutersListBgpRoutesCall) Pages(ctx context.Context, f func(*RoutersListBgpRoutes) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken"))
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+type RoutersListNamedSetsCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListNamedSets: Retrieves a list of router named set subresources available
+// to the
+// specified project.
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+// - router: Name or id of the resource for this request.
+// Name should conform to RFC1035.
+func (r *RoutersService) ListNamedSets(project string, region string, router string) *RoutersListNamedSetsCall {
+ c := &RoutersListNamedSetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ return c
+}
+
+// Filter sets the optional parameter "filter": A filter expression that
+// filters resources listed in the response. Most
+// Compute resources support two types of filter expressions:
+// expressions that support regular expressions and expressions that follow
+// API improvement proposal AIP-160.
+// These two types of filter expressions cannot be mixed in one request.
+//
+// If you want to use AIP-160, your expression must specify the field name,
+// an
+// operator, and the value that you want to use for filtering. The value
+// must be a string, a number, or a boolean. The operator
+// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+//
+// For example, if you are filtering Compute Engine instances, you can
+// exclude instances named `example-instance` by specifying
+// `name != example-instance`.
+//
+// The `:*` comparison can be used to test whether a key has been defined.
+// For example, to find all objects with `owner` label
+// use:
+// ```
+// labels.owner:*
+// ```
+//
+// You can also filter nested fields. For example, you could
+// specify
+// `scheduling.automaticRestart = false` to include instances only
+// if they are not scheduled for automatic restarts. You can use filtering
+// on nested fields to filter based onresource labels.
+//
+// To filter on multiple expressions, provide each separate expression
+// within
+// parentheses. For example:
+// ```
+// (scheduling.automaticRestart = true)
+// (cpuPlatform = "Intel Skylake")
+// ```
+// By default, each expression is an `AND` expression. However, you
+// can include `AND` and `OR` expressions explicitly.
+// For example:
+// ```
+// (cpuPlatform = "Intel Skylake") OR
+// (cpuPlatform = "Intel Broadwell") AND
+// (scheduling.automaticRestart = true)
+// ```
+//
+// If you want to use a regular expression, use the `eq` (equal) or `ne`
+// (not equal) operator against a single un-parenthesized expression with
+// or
+// without quotes or against multiple parenthesized expressions.
+// Examples:
+//
+// `fieldname eq unquoted literal`
+// `fieldname eq 'single quoted literal'`
+// `fieldname eq "double quoted literal"
+// `(fieldname1 eq literal) (fieldname2 ne "literal")`
+//
+// The literal value is interpreted as a regular expression using GoogleRE2
+// library syntax.
+// The literal value must match the entire field.
+//
+// For example, to filter for instances that do not end with name
+// "instance",
+// you would use `name ne .*instance`.
+//
+// You cannot combine constraints on multiple fields using regular
+// expressions.
+func (c *RoutersListNamedSetsCall) Filter(filter string) *RoutersListNamedSetsCall {
c.urlParams_.Set("filter", filter)
return c
}
@@ -39858,7 +45058,7 @@ func (c *RoutersListBgpRoutesCall) Filter(filter string) *RoutersListBgpRoutesCa
// the next page of results in subsequent list requests. Acceptable values
// are
// `0` to `500`, inclusive. (Default: `500`)
-func (c *RoutersListBgpRoutesCall) MaxResults(maxResults int64) *RoutersListBgpRoutesCall {
+func (c *RoutersListNamedSetsCall) MaxResults(maxResults int64) *RoutersListNamedSetsCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
@@ -39878,7 +45078,7 @@ func (c *RoutersListBgpRoutesCall) MaxResults(maxResults int64) *RoutersListBgpR
//
// Currently, only sorting by `name` or
// `creationTimestamp desc` is supported.
-func (c *RoutersListBgpRoutesCall) OrderBy(orderBy string) *RoutersListBgpRoutesCall {
+func (c *RoutersListNamedSetsCall) OrderBy(orderBy string) *RoutersListNamedSetsCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
@@ -39887,60 +45087,15 @@ func (c *RoutersListBgpRoutesCall) OrderBy(orderBy string) *RoutersListBgpRoutes
// use. Set `pageToken` to the
// `nextPageToken` returned by a previous list request to get
// the next page of results.
-func (c *RoutersListBgpRoutesCall) PageToken(pageToken string) *RoutersListBgpRoutesCall {
+func (c *RoutersListNamedSetsCall) PageToken(pageToken string) *RoutersListNamedSetsCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
-// Peer sets the optional parameter "peer": (Required) limit results to the BGP
-// peer with the given name.
-// Name should conform to RFC1035.
-func (c *RoutersListBgpRoutesCall) Peer(peer string) *RoutersListBgpRoutesCall {
- c.urlParams_.Set("peer", peer)
- return c
-}
-
-// PolicyApplied sets the optional parameter "policyApplied": When true, the
-// method returns post-policy routes. Otherwise, it returns
-// pre-policy routes.
-func (c *RoutersListBgpRoutesCall) PolicyApplied(policyApplied bool) *RoutersListBgpRoutesCall {
- c.urlParams_.Set("policyApplied", fmt.Sprint(policyApplied))
- return c
-}
-
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RoutersListBgpRoutesCall) ReturnPartialSuccess(returnPartialSuccess bool) *RoutersListBgpRoutesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
-// RouteType sets the optional parameter "routeType": (Required) limit results
-// to this type of route (either LEARNED or
-// ADVERTISED)
-//
-// Possible values:
-//
-// "ADVERTISED"
-// "LEARNED"
-// "UNSPECIFIED_ROUTE_TYPE" (default)
-func (c *RoutersListBgpRoutesCall) RouteType(routeType string) *RoutersListBgpRoutesCall {
- c.urlParams_.Set("routeType", routeType)
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
-func (c *RoutersListBgpRoutesCall) Fields(s ...googleapi.Field) *RoutersListBgpRoutesCall {
+func (c *RoutersListNamedSetsCall) Fields(s ...googleapi.Field) *RoutersListNamedSetsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
@@ -39948,34 +45103,34 @@ func (c *RoutersListBgpRoutesCall) Fields(s ...googleapi.Field) *RoutersListBgpR
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
-func (c *RoutersListBgpRoutesCall) IfNoneMatch(entityTag string) *RoutersListBgpRoutesCall {
+func (c *RoutersListNamedSetsCall) IfNoneMatch(entityTag string) *RoutersListNamedSetsCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
-func (c *RoutersListBgpRoutesCall) Context(ctx context.Context) *RoutersListBgpRoutesCall {
+func (c *RoutersListNamedSetsCall) Context(ctx context.Context) *RoutersListNamedSetsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
-func (c *RoutersListBgpRoutesCall) Header() http.Header {
+func (c *RoutersListNamedSetsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
-func (c *RoutersListBgpRoutesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+func (c *RoutersListNamedSetsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
- urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}/listNamedSets")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
@@ -39987,17 +45142,17 @@ func (c *RoutersListBgpRoutesCall) doRequest(alt string) (*http.Response, error)
"region": c.region,
"router": c.router,
})
- c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.routers.listBgpRoutes", "request", internallog.HTTPRequest(req, nil))
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.routers.listNamedSets", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
-// Do executes the "compute.routers.listBgpRoutes" call.
+// Do executes the "compute.routers.listNamedSets" call.
// Any non-2xx status code is an error. Response headers are in either
-// *RoutersListBgpRoutes.ServerResponse.Header or (if a response was returned
+// *RoutersListNamedSets.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
-func (c *RoutersListBgpRoutesCall) Do(opts ...googleapi.CallOption) (*RoutersListBgpRoutes, error) {
+func (c *RoutersListNamedSetsCall) Do(opts ...googleapi.CallOption) (*RoutersListNamedSets, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
@@ -40016,7 +45171,7 @@ func (c *RoutersListBgpRoutesCall) Do(opts ...googleapi.CallOption) (*RoutersLis
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
- ret := &RoutersListBgpRoutes{
+ ret := &RoutersListNamedSets{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
@@ -40027,14 +45182,14 @@ func (c *RoutersListBgpRoutesCall) Do(opts ...googleapi.CallOption) (*RoutersLis
if err != nil {
return nil, err
}
- c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.routers.listBgpRoutes", "response", internallog.HTTPResponse(res, b))
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.routers.listNamedSets", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
-func (c *RoutersListBgpRoutesCall) Pages(ctx context.Context, f func(*RoutersListBgpRoutes) error) error {
+func (c *RoutersListNamedSetsCall) Pages(ctx context.Context, f func(*RoutersListNamedSets) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
@@ -40192,21 +45347,6 @@ func (c *RoutersListRoutePoliciesCall) PageToken(pageToken string) *RoutersListR
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RoutersListRoutePoliciesCall) ReturnPartialSuccess(returnPartialSuccess bool) *RoutersListRoutePoliciesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -40239,7 +45379,7 @@ func (c *RoutersListRoutePoliciesCall) Header() http.Header {
}
func (c *RoutersListRoutePoliciesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -40397,7 +45537,7 @@ func (c *RoutersPatchCall) Header() http.Header {
}
func (c *RoutersPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.router2)
if err != nil {
return nil, err
@@ -40459,6 +45599,139 @@ func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error)
return ret, nil
}
+type RoutersPatchNamedSetCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ namedset *NamedSet
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// PatchNamedSet: Patches Named Set
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+// - router: Name of the Router resource where Named Set is defined.
+func (r *RoutersService) PatchNamedSet(project string, region string, router string, namedset *NamedSet) *RoutersPatchNamedSetCall {
+ c := &RoutersPatchNamedSetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ c.namedset = namedset
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RoutersPatchNamedSetCall) RequestId(requestId string) *RoutersPatchNamedSetCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RoutersPatchNamedSetCall) Fields(s ...googleapi.Field) *RoutersPatchNamedSetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RoutersPatchNamedSetCall) Context(ctx context.Context) *RoutersPatchNamedSetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RoutersPatchNamedSetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersPatchNamedSetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.namedset)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}/patchNamedSet")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.routers.patchNamedSet", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.patchNamedSet" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RoutersPatchNamedSetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.routers.patchNamedSet", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
type RoutersPatchRoutePolicyCall struct {
s *Service
project string
@@ -40530,7 +45803,7 @@ func (c *RoutersPatchRoutePolicyCall) Header() http.Header {
}
func (c *RoutersPatchRoutePolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.routepolicy)
if err != nil {
return nil, err
@@ -40643,7 +45916,7 @@ func (c *RoutersPreviewCall) Header() http.Header {
}
func (c *RoutersPreviewCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.router2)
if err != nil {
return nil, err
@@ -40783,7 +46056,7 @@ func (c *RoutersUpdateCall) Header() http.Header {
}
func (c *RoutersUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.router2)
if err != nil {
return nil, err
@@ -40845,6 +46118,139 @@ func (c *RoutersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error)
return ret, nil
}
+type RoutersUpdateNamedSetCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ namedset *NamedSet
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// UpdateNamedSet: Updates or creates new Named Set
+//
+// - project: Project ID for this request.
+// - region: Name of the region for this request.
+// - router: Name of the Router resource where Named Set is defined.
+func (r *RoutersService) UpdateNamedSet(project string, region string, router string, namedset *NamedSet) *RoutersUpdateNamedSetCall {
+ c := &RoutersUpdateNamedSetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ c.namedset = namedset
+ return c
+}
+
+// RequestId sets the optional parameter "requestId": An optional request ID to
+// identify requests. Specify a unique request ID so
+// that if you must retry your request, the server will know to ignore
+// the
+// request if it has already been completed.
+//
+// For example, consider a situation where you make an initial request and
+// the request times out. If you make the request again with the same
+// request ID, the server can check if original operation with the same
+// request ID was received, and if so, will ignore the second request.
+// This
+// prevents clients from accidentally creating duplicate commitments.
+//
+// The request ID must be
+// a valid UUID with the exception that zero UUID is not
+// supported
+// (00000000-0000-0000-0000-000000000000).
+func (c *RoutersUpdateNamedSetCall) RequestId(requestId string) *RoutersUpdateNamedSetCall {
+ c.urlParams_.Set("requestId", requestId)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
+// details.
+func (c *RoutersUpdateNamedSetCall) Fields(s ...googleapi.Field) *RoutersUpdateNamedSetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method.
+func (c *RoutersUpdateNamedSetCall) Context(ctx context.Context) *RoutersUpdateNamedSetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns a http.Header that can be modified by the caller to add
+// headers to the request.
+func (c *RoutersUpdateNamedSetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersUpdateNamedSetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
+ body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.namedset)
+ if err != nil {
+ return nil, err
+ }
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/routers/{router}/updateNamedSet")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.routers.updateNamedSet", "request", internallog.HTTPRequest(req, body.Bytes()))
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.updateNamedSet" call.
+// Any non-2xx status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was returned.
+func (c *RoutersUpdateNamedSetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, gensupport.WrapError(&googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ })
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, gensupport.WrapError(err)
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ b, err := gensupport.DecodeResponseBytes(target, res)
+ if err != nil {
+ return nil, err
+ }
+ c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.routers.updateNamedSet", "response", internallog.HTTPResponse(res, b))
+ return ret, nil
+}
+
type RoutersUpdateRoutePolicyCall struct {
s *Service
project string
@@ -40916,7 +46322,7 @@ func (c *RoutersUpdateRoutePolicyCall) Header() http.Header {
}
func (c *RoutersUpdateRoutePolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.routepolicy)
if err != nil {
return nil, err
@@ -41044,7 +46450,7 @@ func (c *RoutesDeleteCall) Header() http.Header {
}
func (c *RoutesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/routes/{route}")
@@ -41154,7 +46560,7 @@ func (c *RoutesGetCall) Header() http.Header {
}
func (c *RoutesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -41281,7 +46687,7 @@ func (c *RoutesInsertCall) Header() http.Header {
}
func (c *RoutesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.route)
if err != nil {
return nil, err
@@ -41473,21 +46879,6 @@ func (c *RoutesListCall) PageToken(pageToken string) *RoutesListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *RoutesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RoutesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -41520,7 +46911,7 @@ func (c *RoutesListCall) Header() http.Header {
}
func (c *RoutesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -41647,7 +47038,7 @@ func (c *RoutesTestIamPermissionsCall) Header() http.Header {
}
func (c *RoutesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -41762,7 +47153,7 @@ func (c *SecurityPoliciesAddRuleCall) Header() http.Header {
}
func (c *SecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
if err != nil {
return nil, err
@@ -41978,21 +47369,6 @@ func (c *SecurityPoliciesAggregatedListCall) PageToken(pageToken string) *Securi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SecurityPoliciesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SecurityPoliciesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -42033,7 +47409,7 @@ func (c *SecurityPoliciesAggregatedListCall) Header() http.Header {
}
func (c *SecurityPoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -42180,7 +47556,7 @@ func (c *SecurityPoliciesDeleteCall) Header() http.Header {
}
func (c *SecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/securityPolicies/{securityPolicy}")
@@ -42290,7 +47666,7 @@ func (c *SecurityPoliciesGetCall) Header() http.Header {
}
func (c *SecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -42411,7 +47787,7 @@ func (c *SecurityPoliciesGetRuleCall) Header() http.Header {
}
func (c *SecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -42546,7 +47922,7 @@ func (c *SecurityPoliciesInsertCall) Header() http.Header {
}
func (c *SecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
if err != nil {
return nil, err
@@ -42738,21 +48114,6 @@ func (c *SecurityPoliciesListCall) PageToken(pageToken string) *SecurityPolicies
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SecurityPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SecurityPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -42785,7 +48146,7 @@ func (c *SecurityPoliciesListCall) Header() http.Header {
}
func (c *SecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -42999,21 +48360,6 @@ func (c *SecurityPoliciesListPreconfiguredExpressionSetsCall) PageToken(pageToke
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SecurityPoliciesListPreconfiguredExpressionSetsCall) ReturnPartialSuccess(returnPartialSuccess bool) *SecurityPoliciesListPreconfiguredExpressionSetsCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -43046,7 +48392,7 @@ func (c *SecurityPoliciesListPreconfiguredExpressionSetsCall) Header() http.Head
}
func (c *SecurityPoliciesListPreconfiguredExpressionSetsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -43188,7 +48534,7 @@ func (c *SecurityPoliciesPatchCall) Header() http.Header {
}
func (c *SecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicy)
if err != nil {
return nil, err
@@ -43318,7 +48664,7 @@ func (c *SecurityPoliciesPatchRuleCall) Header() http.Header {
}
func (c *SecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyrule)
if err != nil {
return nil, err
@@ -43430,7 +48776,7 @@ func (c *SecurityPoliciesRemoveRuleCall) Header() http.Header {
}
func (c *SecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule")
@@ -43536,7 +48882,7 @@ func (c *SecurityPoliciesSetLabelsCall) Header() http.Header {
}
func (c *SecurityPoliciesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
if err != nil {
return nil, err
@@ -43752,21 +49098,6 @@ func (c *ServiceAttachmentsAggregatedListCall) PageToken(pageToken string) *Serv
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ServiceAttachmentsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ServiceAttachmentsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -43807,7 +49138,7 @@ func (c *ServiceAttachmentsAggregatedListCall) Header() http.Header {
}
func (c *ServiceAttachmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -43957,7 +49288,7 @@ func (c *ServiceAttachmentsDeleteCall) Header() http.Header {
}
func (c *ServiceAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}")
@@ -44078,7 +49409,7 @@ func (c *ServiceAttachmentsGetCall) Header() http.Header {
}
func (c *ServiceAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -44205,7 +49536,7 @@ func (c *ServiceAttachmentsGetIamPolicyCall) Header() http.Header {
}
func (c *ServiceAttachmentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -44336,7 +49667,7 @@ func (c *ServiceAttachmentsInsertCall) Header() http.Header {
}
func (c *ServiceAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.serviceattachment)
if err != nil {
return nil, err
@@ -44531,21 +49862,6 @@ func (c *ServiceAttachmentsListCall) PageToken(pageToken string) *ServiceAttachm
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ServiceAttachmentsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ServiceAttachmentsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -44578,7 +49894,7 @@ func (c *ServiceAttachmentsListCall) Header() http.Header {
}
func (c *ServiceAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -44737,7 +50053,7 @@ func (c *ServiceAttachmentsPatchCall) Header() http.Header {
}
func (c *ServiceAttachmentsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.serviceattachment)
if err != nil {
return nil, err
@@ -44850,7 +50166,7 @@ func (c *ServiceAttachmentsSetIamPolicyCall) Header() http.Header {
}
func (c *ServiceAttachmentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
if err != nil {
return nil, err
@@ -44962,7 +50278,7 @@ func (c *ServiceAttachmentsTestIamPermissionsCall) Header() http.Header {
}
func (c *ServiceAttachmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -45075,7 +50391,7 @@ func (c *SnapshotSettingsGetCall) Header() http.Header {
}
func (c *SnapshotSettingsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -45207,7 +50523,7 @@ func (c *SnapshotSettingsPatchCall) Header() http.Header {
}
func (c *SnapshotSettingsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshotsettings)
if err != nil {
return nil, err
@@ -45343,7 +50659,7 @@ func (c *SnapshotsDeleteCall) Header() http.Header {
}
func (c *SnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/snapshots/{snapshot}")
@@ -45453,7 +50769,7 @@ func (c *SnapshotsGetCall) Header() http.Header {
}
func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -45575,7 +50891,7 @@ func (c *SnapshotsGetIamPolicyCall) Header() http.Header {
}
func (c *SnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -45707,7 +51023,7 @@ func (c *SnapshotsInsertCall) Header() http.Header {
}
func (c *SnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshot)
if err != nil {
return nil, err
@@ -45899,21 +51215,6 @@ func (c *SnapshotsListCall) PageToken(pageToken string) *SnapshotsListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SnapshotsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SnapshotsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -45946,7 +51247,7 @@ func (c *SnapshotsListCall) Header() http.Header {
}
func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -46074,7 +51375,7 @@ func (c *SnapshotsSetIamPolicyCall) Header() http.Header {
}
func (c *SnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetpolicyrequest)
if err != nil {
return nil, err
@@ -46183,7 +51484,7 @@ func (c *SnapshotsSetLabelsCall) Header() http.Header {
}
func (c *SnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.globalsetlabelsrequest)
if err != nil {
return nil, err
@@ -46291,7 +51592,7 @@ func (c *SnapshotsTestIamPermissionsCall) Header() http.Header {
}
func (c *SnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -46423,7 +51724,7 @@ func (c *SnapshotsUpdateKmsKeyCall) Header() http.Header {
}
func (c *SnapshotsUpdateKmsKeyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.snapshotupdatekmskeyrequest)
if err != nil {
return nil, err
@@ -46639,21 +51940,6 @@ func (c *SslCertificatesAggregatedListCall) PageToken(pageToken string) *SslCert
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SslCertificatesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SslCertificatesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -46694,7 +51980,7 @@ func (c *SslCertificatesAggregatedListCall) Header() http.Header {
}
func (c *SslCertificatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -46841,7 +52127,7 @@ func (c *SslCertificatesDeleteCall) Header() http.Header {
}
func (c *SslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/sslCertificates/{sslCertificate}")
@@ -46951,7 +52237,7 @@ func (c *SslCertificatesGetCall) Header() http.Header {
}
func (c *SslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -47078,7 +52364,7 @@ func (c *SslCertificatesInsertCall) Header() http.Header {
}
func (c *SslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslcertificate)
if err != nil {
return nil, err
@@ -47271,21 +52557,6 @@ func (c *SslCertificatesListCall) PageToken(pageToken string) *SslCertificatesLi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SslCertificatesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SslCertificatesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -47318,7 +52589,7 @@ func (c *SslCertificatesListCall) Header() http.Header {
}
func (c *SslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -47554,21 +52825,6 @@ func (c *SslPoliciesAggregatedListCall) PageToken(pageToken string) *SslPolicies
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SslPoliciesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SslPoliciesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -47609,7 +52865,7 @@ func (c *SslPoliciesAggregatedListCall) Header() http.Header {
}
func (c *SslPoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -47763,7 +53019,7 @@ func (c *SslPoliciesDeleteCall) Header() http.Header {
}
func (c *SslPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/sslPolicies/{sslPolicy}")
@@ -47876,7 +53132,7 @@ func (c *SslPoliciesGetCall) Header() http.Header {
}
func (c *SslPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -48001,7 +53257,7 @@ func (c *SslPoliciesInsertCall) Header() http.Header {
}
func (c *SslPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslpolicy)
if err != nil {
return nil, err
@@ -48194,21 +53450,6 @@ func (c *SslPoliciesListCall) PageToken(pageToken string) *SslPoliciesListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SslPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SslPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -48241,7 +53482,7 @@ func (c *SslPoliciesListCall) Header() http.Header {
}
func (c *SslPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -48455,21 +53696,6 @@ func (c *SslPoliciesListAvailableFeaturesCall) PageToken(pageToken string) *SslP
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SslPoliciesListAvailableFeaturesCall) ReturnPartialSuccess(returnPartialSuccess bool) *SslPoliciesListAvailableFeaturesCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -48502,7 +53728,7 @@ func (c *SslPoliciesListAvailableFeaturesCall) Header() http.Header {
}
func (c *SslPoliciesListAvailableFeaturesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -48634,7 +53860,7 @@ func (c *SslPoliciesPatchCall) Header() http.Header {
}
func (c *SslPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslpolicy)
if err != nil {
return nil, err
@@ -48848,21 +54074,6 @@ func (c *StoragePoolTypesAggregatedListCall) PageToken(pageToken string) *Storag
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *StoragePoolTypesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *StoragePoolTypesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -48903,7 +54114,7 @@ func (c *StoragePoolTypesAggregatedListCall) Header() http.Header {
}
func (c *StoragePoolTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -49040,7 +54251,7 @@ func (c *StoragePoolTypesGetCall) Header() http.Header {
}
func (c *StoragePoolTypesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -49238,21 +54449,6 @@ func (c *StoragePoolTypesListCall) PageToken(pageToken string) *StoragePoolTypes
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *StoragePoolTypesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *StoragePoolTypesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -49285,7 +54481,7 @@ func (c *StoragePoolTypesListCall) Header() http.Header {
}
func (c *StoragePoolTypesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -49520,21 +54716,6 @@ func (c *StoragePoolsAggregatedListCall) PageToken(pageToken string) *StoragePoo
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *StoragePoolsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *StoragePoolsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -49575,7 +54756,7 @@ func (c *StoragePoolsAggregatedListCall) Header() http.Header {
}
func (c *StoragePoolsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -49730,7 +54911,7 @@ func (c *StoragePoolsDeleteCall) Header() http.Header {
}
func (c *StoragePoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/storagePools/{storagePool}")
@@ -49845,7 +55026,7 @@ func (c *StoragePoolsGetCall) Header() http.Header {
}
func (c *StoragePoolsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -49971,7 +55152,7 @@ func (c *StoragePoolsGetIamPolicyCall) Header() http.Header {
}
func (c *StoragePoolsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -50101,7 +55282,7 @@ func (c *StoragePoolsInsertCall) Header() http.Header {
}
func (c *StoragePoolsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.storagepool)
if err != nil {
return nil, err
@@ -50297,21 +55478,6 @@ func (c *StoragePoolsListCall) PageToken(pageToken string) *StoragePoolsListCall
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *StoragePoolsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *StoragePoolsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -50344,7 +55510,7 @@ func (c *StoragePoolsListCall) Header() http.Header {
}
func (c *StoragePoolsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -50563,21 +55729,6 @@ func (c *StoragePoolsListDisksCall) PageToken(pageToken string) *StoragePoolsLis
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *StoragePoolsListDisksCall) ReturnPartialSuccess(returnPartialSuccess bool) *StoragePoolsListDisksCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -50610,7 +55761,7 @@ func (c *StoragePoolsListDisksCall) Header() http.Header {
}
func (c *StoragePoolsListDisksCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -50744,7 +55895,7 @@ func (c *StoragePoolsSetIamPolicyCall) Header() http.Header {
}
func (c *StoragePoolsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.zonesetpolicyrequest)
if err != nil {
return nil, err
@@ -50856,7 +56007,7 @@ func (c *StoragePoolsTestIamPermissionsCall) Header() http.Header {
}
func (c *StoragePoolsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -51004,7 +56155,7 @@ func (c *StoragePoolsUpdateCall) Header() http.Header {
}
func (c *StoragePoolsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.storagepool)
if err != nil {
return nil, err
@@ -51219,21 +56370,6 @@ func (c *SubnetworksAggregatedListCall) PageToken(pageToken string) *Subnetworks
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SubnetworksAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SubnetworksAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -51290,7 +56426,7 @@ func (c *SubnetworksAggregatedListCall) Header() http.Header {
}
func (c *SubnetworksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -51440,7 +56576,7 @@ func (c *SubnetworksDeleteCall) Header() http.Header {
}
func (c *SubnetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/subnetworks/{subnetwork}")
@@ -51570,7 +56706,7 @@ func (c *SubnetworksExpandIpCidrRangeCall) Header() http.Header {
}
func (c *SubnetworksExpandIpCidrRangeCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.subnetworksexpandipcidrrangerequest)
if err != nil {
return nil, err
@@ -51704,7 +56840,7 @@ func (c *SubnetworksGetCall) Header() http.Header {
}
func (c *SubnetworksGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -51830,7 +56966,7 @@ func (c *SubnetworksGetIamPolicyCall) Header() http.Header {
}
func (c *SubnetworksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -51961,7 +57097,7 @@ func (c *SubnetworksInsertCall) Header() http.Header {
}
func (c *SubnetworksInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.subnetwork)
if err != nil {
return nil, err
@@ -52157,21 +57293,6 @@ func (c *SubnetworksListCall) PageToken(pageToken string) *SubnetworksListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SubnetworksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SubnetworksListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Views sets the optional parameter "views": Defines the extra views returned
// back in the subnetwork resource.
// Supported values:
@@ -52220,7 +57341,7 @@ func (c *SubnetworksListCall) Header() http.Header {
}
func (c *SubnetworksListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -52433,21 +57554,6 @@ func (c *SubnetworksListUsableCall) PageToken(pageToken string) *SubnetworksList
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *SubnetworksListUsableCall) ReturnPartialSuccess(returnPartialSuccess bool) *SubnetworksListUsableCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProject sets the optional parameter "serviceProject": The project id
// or project number in which the subnetwork is intended to be
// used. Only applied for Shared VPC. See Shared VPC
@@ -52489,7 +57595,7 @@ func (c *SubnetworksListUsableCall) Header() http.Header {
}
func (c *SubnetworksListUsableCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -52661,7 +57767,7 @@ func (c *SubnetworksPatchCall) Header() http.Header {
}
func (c *SubnetworksPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.subnetwork2)
if err != nil {
return nil, err
@@ -52774,7 +57880,7 @@ func (c *SubnetworksSetIamPolicyCall) Header() http.Header {
}
func (c *SubnetworksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetpolicyrequest)
if err != nil {
return nil, err
@@ -52909,7 +58015,7 @@ func (c *SubnetworksSetPrivateIpGoogleAccessCall) Header() http.Header {
}
func (c *SubnetworksSetPrivateIpGoogleAccessCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.subnetworkssetprivateipgoogleaccessrequest)
if err != nil {
return nil, err
@@ -53021,7 +58127,7 @@ func (c *SubnetworksTestIamPermissionsCall) Header() http.Header {
}
func (c *SubnetworksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -53150,7 +58256,7 @@ func (c *TargetGrpcProxiesDeleteCall) Header() http.Header {
}
func (c *TargetGrpcProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}")
@@ -53260,7 +58366,7 @@ func (c *TargetGrpcProxiesGetCall) Header() http.Header {
}
func (c *TargetGrpcProxiesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -53388,7 +58494,7 @@ func (c *TargetGrpcProxiesInsertCall) Header() http.Header {
}
func (c *TargetGrpcProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetgrpcproxy)
if err != nil {
return nil, err
@@ -53579,21 +58685,6 @@ func (c *TargetGrpcProxiesListCall) PageToken(pageToken string) *TargetGrpcProxi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetGrpcProxiesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetGrpcProxiesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -53626,7 +58717,7 @@ func (c *TargetGrpcProxiesListCall) Header() http.Header {
}
func (c *TargetGrpcProxiesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -53779,7 +58870,7 @@ func (c *TargetGrpcProxiesPatchCall) Header() http.Header {
}
func (c *TargetGrpcProxiesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetgrpcproxy)
if err != nil {
return nil, err
@@ -53995,21 +59086,6 @@ func (c *TargetHttpProxiesAggregatedListCall) PageToken(pageToken string) *Targe
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetHttpProxiesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetHttpProxiesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -54050,7 +59126,7 @@ func (c *TargetHttpProxiesAggregatedListCall) Header() http.Header {
}
func (c *TargetHttpProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -54197,7 +59273,7 @@ func (c *TargetHttpProxiesDeleteCall) Header() http.Header {
}
func (c *TargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/targetHttpProxies/{targetHttpProxy}")
@@ -54307,7 +59383,7 @@ func (c *TargetHttpProxiesGetCall) Header() http.Header {
}
func (c *TargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -54434,7 +59510,7 @@ func (c *TargetHttpProxiesInsertCall) Header() http.Header {
}
func (c *TargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpproxy)
if err != nil {
return nil, err
@@ -54626,21 +59702,6 @@ func (c *TargetHttpProxiesListCall) PageToken(pageToken string) *TargetHttpProxi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetHttpProxiesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetHttpProxiesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -54673,7 +59734,7 @@ func (c *TargetHttpProxiesListCall) Header() http.Header {
}
func (c *TargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -54826,7 +59887,7 @@ func (c *TargetHttpProxiesPatchCall) Header() http.Header {
}
func (c *TargetHttpProxiesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpproxy)
if err != nil {
return nil, err
@@ -54955,7 +60016,7 @@ func (c *TargetHttpProxiesSetUrlMapCall) Header() http.Header {
}
func (c *TargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmapreference)
if err != nil {
return nil, err
@@ -55171,21 +60232,6 @@ func (c *TargetHttpsProxiesAggregatedListCall) PageToken(pageToken string) *Targ
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetHttpsProxiesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetHttpsProxiesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -55226,7 +60272,7 @@ func (c *TargetHttpsProxiesAggregatedListCall) Header() http.Header {
}
func (c *TargetHttpsProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -55373,7 +60419,7 @@ func (c *TargetHttpsProxiesDeleteCall) Header() http.Header {
}
func (c *TargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}")
@@ -55483,7 +60529,7 @@ func (c *TargetHttpsProxiesGetCall) Header() http.Header {
}
func (c *TargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -55610,7 +60656,7 @@ func (c *TargetHttpsProxiesInsertCall) Header() http.Header {
}
func (c *TargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxy)
if err != nil {
return nil, err
@@ -55802,21 +60848,6 @@ func (c *TargetHttpsProxiesListCall) PageToken(pageToken string) *TargetHttpsPro
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetHttpsProxiesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetHttpsProxiesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -55849,7 +60880,7 @@ func (c *TargetHttpsProxiesListCall) Header() http.Header {
}
func (c *TargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -56002,7 +61033,7 @@ func (c *TargetHttpsProxiesPatchCall) Header() http.Header {
}
func (c *TargetHttpsProxiesPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxy)
if err != nil {
return nil, err
@@ -56133,7 +61164,7 @@ func (c *TargetHttpsProxiesSetCertificateMapCall) Header() http.Header {
}
func (c *TargetHttpsProxiesSetCertificateMapCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxiessetcertificatemaprequest)
if err != nil {
return nil, err
@@ -56265,7 +61296,7 @@ func (c *TargetHttpsProxiesSetQuicOverrideCall) Header() http.Header {
}
func (c *TargetHttpsProxiesSetQuicOverrideCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxiessetquicoverriderequest)
if err != nil {
return nil, err
@@ -56397,7 +61428,7 @@ func (c *TargetHttpsProxiesSetSslCertificatesCall) Header() http.Header {
}
func (c *TargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targethttpsproxiessetsslcertificatesrequest)
if err != nil {
return nil, err
@@ -56533,7 +61564,7 @@ func (c *TargetHttpsProxiesSetSslPolicyCall) Header() http.Header {
}
func (c *TargetHttpsProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslpolicyreference)
if err != nil {
return nil, err
@@ -56665,7 +61696,7 @@ func (c *TargetHttpsProxiesSetUrlMapCall) Header() http.Header {
}
func (c *TargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmapreference)
if err != nil {
return nil, err
@@ -56879,21 +61910,6 @@ func (c *TargetInstancesAggregatedListCall) PageToken(pageToken string) *TargetI
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetInstancesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetInstancesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -56934,7 +61950,7 @@ func (c *TargetInstancesAggregatedListCall) Header() http.Header {
}
func (c *TargetInstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -57084,7 +62100,7 @@ func (c *TargetInstancesDeleteCall) Header() http.Header {
}
func (c *TargetInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/targetInstances/{targetInstance}")
@@ -57198,7 +62214,7 @@ func (c *TargetInstancesGetCall) Header() http.Header {
}
func (c *TargetInstancesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -57329,7 +62345,7 @@ func (c *TargetInstancesInsertCall) Header() http.Header {
}
func (c *TargetInstancesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetinstance)
if err != nil {
return nil, err
@@ -57526,21 +62542,6 @@ func (c *TargetInstancesListCall) PageToken(pageToken string) *TargetInstancesLi
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetInstancesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetInstancesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -57573,7 +62574,7 @@ func (c *TargetInstancesListCall) Header() http.Header {
}
func (c *TargetInstancesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -57732,7 +62733,7 @@ func (c *TargetInstancesSetSecurityPolicyCall) Header() http.Header {
}
func (c *TargetInstancesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyreference)
if err != nil {
return nil, err
@@ -57844,7 +62845,7 @@ func (c *TargetInstancesTestIamPermissionsCall) Header() http.Header {
}
func (c *TargetInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -57978,7 +62979,7 @@ func (c *TargetPoolsAddHealthCheckCall) Header() http.Header {
}
func (c *TargetPoolsAddHealthCheckCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetpoolsaddhealthcheckrequest)
if err != nil {
return nil, err
@@ -58111,7 +63112,7 @@ func (c *TargetPoolsAddInstanceCall) Header() http.Header {
}
func (c *TargetPoolsAddInstanceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetpoolsaddinstancerequest)
if err != nil {
return nil, err
@@ -58326,21 +63327,6 @@ func (c *TargetPoolsAggregatedListCall) PageToken(pageToken string) *TargetPools
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetPoolsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetPoolsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -58381,7 +63367,7 @@ func (c *TargetPoolsAggregatedListCall) Header() http.Header {
}
func (c *TargetPoolsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -58531,7 +63517,7 @@ func (c *TargetPoolsDeleteCall) Header() http.Header {
}
func (c *TargetPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetPools/{targetPool}")
@@ -58645,7 +63631,7 @@ func (c *TargetPoolsGetCall) Header() http.Header {
}
func (c *TargetPoolsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -58758,7 +63744,7 @@ func (c *TargetPoolsGetHealthCall) Header() http.Header {
}
func (c *TargetPoolsGetHealthCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancereference)
if err != nil {
return nil, err
@@ -58890,7 +63876,7 @@ func (c *TargetPoolsInsertCall) Header() http.Header {
}
func (c *TargetPoolsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetpool)
if err != nil {
return nil, err
@@ -59086,21 +64072,6 @@ func (c *TargetPoolsListCall) PageToken(pageToken string) *TargetPoolsListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetPoolsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetPoolsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -59133,7 +64104,7 @@ func (c *TargetPoolsListCall) Header() http.Header {
}
func (c *TargetPoolsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -59285,7 +64256,7 @@ func (c *TargetPoolsRemoveHealthCheckCall) Header() http.Header {
}
func (c *TargetPoolsRemoveHealthCheckCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetpoolsremovehealthcheckrequest)
if err != nil {
return nil, err
@@ -59418,7 +64389,7 @@ func (c *TargetPoolsRemoveInstanceCall) Header() http.Header {
}
func (c *TargetPoolsRemoveInstanceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetpoolsremoveinstancerequest)
if err != nil {
return nil, err
@@ -59558,7 +64529,7 @@ func (c *TargetPoolsSetBackupCall) Header() http.Header {
}
func (c *TargetPoolsSetBackupCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetreference)
if err != nil {
return nil, err
@@ -59697,7 +64668,7 @@ func (c *TargetPoolsSetSecurityPolicyCall) Header() http.Header {
}
func (c *TargetPoolsSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.securitypolicyreference)
if err != nil {
return nil, err
@@ -59809,7 +64780,7 @@ func (c *TargetPoolsTestIamPermissionsCall) Header() http.Header {
}
func (c *TargetPoolsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -59938,7 +64909,7 @@ func (c *TargetSslProxiesDeleteCall) Header() http.Header {
}
func (c *TargetSslProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/targetSslProxies/{targetSslProxy}")
@@ -60048,7 +65019,7 @@ func (c *TargetSslProxiesGetCall) Header() http.Header {
}
func (c *TargetSslProxiesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -60174,7 +65145,7 @@ func (c *TargetSslProxiesInsertCall) Header() http.Header {
}
func (c *TargetSslProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetsslproxy)
if err != nil {
return nil, err
@@ -60366,21 +65337,6 @@ func (c *TargetSslProxiesListCall) PageToken(pageToken string) *TargetSslProxies
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetSslProxiesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetSslProxiesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -60413,7 +65369,7 @@ func (c *TargetSslProxiesListCall) Header() http.Header {
}
func (c *TargetSslProxiesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -60565,7 +65521,7 @@ func (c *TargetSslProxiesSetBackendServiceCall) Header() http.Header {
}
func (c *TargetSslProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetsslproxiessetbackendservicerequest)
if err != nil {
return nil, err
@@ -60696,7 +65652,7 @@ func (c *TargetSslProxiesSetCertificateMapCall) Header() http.Header {
}
func (c *TargetSslProxiesSetCertificateMapCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetsslproxiessetcertificatemaprequest)
if err != nil {
return nil, err
@@ -60826,7 +65782,7 @@ func (c *TargetSslProxiesSetProxyHeaderCall) Header() http.Header {
}
func (c *TargetSslProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetsslproxiessetproxyheaderrequest)
if err != nil {
return nil, err
@@ -60958,7 +65914,7 @@ func (c *TargetSslProxiesSetSslCertificatesCall) Header() http.Header {
}
func (c *TargetSslProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetsslproxiessetsslcertificatesrequest)
if err != nil {
return nil, err
@@ -61093,7 +66049,7 @@ func (c *TargetSslProxiesSetSslPolicyCall) Header() http.Header {
}
func (c *TargetSslProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.sslpolicyreference)
if err != nil {
return nil, err
@@ -61201,7 +66157,7 @@ func (c *TargetSslProxiesTestIamPermissionsCall) Header() http.Header {
}
func (c *TargetSslProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -61418,21 +66374,6 @@ func (c *TargetTcpProxiesAggregatedListCall) PageToken(pageToken string) *Target
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetTcpProxiesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetTcpProxiesAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -61473,7 +66414,7 @@ func (c *TargetTcpProxiesAggregatedListCall) Header() http.Header {
}
func (c *TargetTcpProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -61620,7 +66561,7 @@ func (c *TargetTcpProxiesDeleteCall) Header() http.Header {
}
func (c *TargetTcpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/targetTcpProxies/{targetTcpProxy}")
@@ -61730,7 +66671,7 @@ func (c *TargetTcpProxiesGetCall) Header() http.Header {
}
func (c *TargetTcpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -61856,7 +66797,7 @@ func (c *TargetTcpProxiesInsertCall) Header() http.Header {
}
func (c *TargetTcpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targettcpproxy)
if err != nil {
return nil, err
@@ -62048,21 +66989,6 @@ func (c *TargetTcpProxiesListCall) PageToken(pageToken string) *TargetTcpProxies
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetTcpProxiesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetTcpProxiesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -62095,7 +67021,7 @@ func (c *TargetTcpProxiesListCall) Header() http.Header {
}
func (c *TargetTcpProxiesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -62247,7 +67173,7 @@ func (c *TargetTcpProxiesSetBackendServiceCall) Header() http.Header {
}
func (c *TargetTcpProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targettcpproxiessetbackendservicerequest)
if err != nil {
return nil, err
@@ -62377,7 +67303,7 @@ func (c *TargetTcpProxiesSetProxyHeaderCall) Header() http.Header {
}
func (c *TargetTcpProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targettcpproxiessetproxyheaderrequest)
if err != nil {
return nil, err
@@ -62485,7 +67411,7 @@ func (c *TargetTcpProxiesTestIamPermissionsCall) Header() http.Header {
}
func (c *TargetTcpProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -62700,21 +67626,6 @@ func (c *TargetVpnGatewaysAggregatedListCall) PageToken(pageToken string) *Targe
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetVpnGatewaysAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetVpnGatewaysAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -62755,7 +67666,7 @@ func (c *TargetVpnGatewaysAggregatedListCall) Header() http.Header {
}
func (c *TargetVpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -62905,7 +67816,7 @@ func (c *TargetVpnGatewaysDeleteCall) Header() http.Header {
}
func (c *TargetVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}")
@@ -63019,7 +67930,7 @@ func (c *TargetVpnGatewaysGetCall) Header() http.Header {
}
func (c *TargetVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -63151,7 +68062,7 @@ func (c *TargetVpnGatewaysInsertCall) Header() http.Header {
}
func (c *TargetVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.targetvpngateway)
if err != nil {
return nil, err
@@ -63348,21 +68259,6 @@ func (c *TargetVpnGatewaysListCall) PageToken(pageToken string) *TargetVpnGatewa
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *TargetVpnGatewaysListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TargetVpnGatewaysListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -63395,7 +68291,7 @@ func (c *TargetVpnGatewaysListCall) Header() http.Header {
}
func (c *TargetVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -63550,7 +68446,7 @@ func (c *TargetVpnGatewaysSetLabelsCall) Header() http.Header {
}
func (c *TargetVpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
if err != nil {
return nil, err
@@ -63767,21 +68663,6 @@ func (c *UrlMapsAggregatedListCall) PageToken(pageToken string) *UrlMapsAggregat
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *UrlMapsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *UrlMapsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -63822,7 +68703,7 @@ func (c *UrlMapsAggregatedListCall) Header() http.Header {
}
func (c *UrlMapsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -63969,7 +68850,7 @@ func (c *UrlMapsDeleteCall) Header() http.Header {
}
func (c *UrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/urlMaps/{urlMap}")
@@ -64079,7 +68960,7 @@ func (c *UrlMapsGetCall) Header() http.Header {
}
func (c *UrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -64205,7 +69086,7 @@ func (c *UrlMapsInsertCall) Header() http.Header {
}
func (c *UrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
if err != nil {
return nil, err
@@ -64338,7 +69219,7 @@ func (c *UrlMapsInvalidateCacheCall) Header() http.Header {
}
func (c *UrlMapsInvalidateCacheCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.cacheinvalidationrule)
if err != nil {
return nil, err
@@ -64532,21 +69413,6 @@ func (c *UrlMapsListCall) PageToken(pageToken string) *UrlMapsListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *UrlMapsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *UrlMapsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -64579,7 +69445,7 @@ func (c *UrlMapsListCall) Header() http.Header {
}
func (c *UrlMapsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -64731,7 +69597,7 @@ func (c *UrlMapsPatchCall) Header() http.Header {
}
func (c *UrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
if err != nil {
return nil, err
@@ -64839,7 +69705,7 @@ func (c *UrlMapsTestIamPermissionsCall) Header() http.Header {
}
func (c *UrlMapsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -64971,7 +69837,7 @@ func (c *UrlMapsUpdateCall) Header() http.Header {
}
func (c *UrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmap)
if err != nil {
return nil, err
@@ -65081,7 +69947,7 @@ func (c *UrlMapsValidateCall) Header() http.Header {
}
func (c *UrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.urlmapsvalidaterequest)
if err != nil {
return nil, err
@@ -65296,21 +70162,6 @@ func (c *VpnGatewaysAggregatedListCall) PageToken(pageToken string) *VpnGateways
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *VpnGatewaysAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *VpnGatewaysAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -65351,7 +70202,7 @@ func (c *VpnGatewaysAggregatedListCall) Header() http.Header {
}
func (c *VpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -65501,7 +70352,7 @@ func (c *VpnGatewaysDeleteCall) Header() http.Header {
}
func (c *VpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}")
@@ -65615,7 +70466,7 @@ func (c *VpnGatewaysGetCall) Header() http.Header {
}
func (c *VpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -65732,7 +70583,7 @@ func (c *VpnGatewaysGetStatusCall) Header() http.Header {
}
func (c *VpnGatewaysGetStatusCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -65863,7 +70714,7 @@ func (c *VpnGatewaysInsertCall) Header() http.Header {
}
func (c *VpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.vpngateway)
if err != nil {
return nil, err
@@ -66059,21 +70910,6 @@ func (c *VpnGatewaysListCall) PageToken(pageToken string) *VpnGatewaysListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *VpnGatewaysListCall) ReturnPartialSuccess(returnPartialSuccess bool) *VpnGatewaysListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -66106,7 +70942,7 @@ func (c *VpnGatewaysListCall) Header() http.Header {
}
func (c *VpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -66260,7 +71096,7 @@ func (c *VpnGatewaysSetLabelsCall) Header() http.Header {
}
func (c *VpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
if err != nil {
return nil, err
@@ -66372,7 +71208,7 @@ func (c *VpnGatewaysTestIamPermissionsCall) Header() http.Header {
}
func (c *VpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testpermissionsrequest)
if err != nil {
return nil, err
@@ -66588,21 +71424,6 @@ func (c *VpnTunnelsAggregatedListCall) PageToken(pageToken string) *VpnTunnelsAg
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *VpnTunnelsAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *VpnTunnelsAggregatedListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The
// Shared VPC service project id or service project number for which
// aggregated list request is invoked for subnetworks list-usable api.
@@ -66643,7 +71464,7 @@ func (c *VpnTunnelsAggregatedListCall) Header() http.Header {
}
func (c *VpnTunnelsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -66793,7 +71614,7 @@ func (c *VpnTunnelsDeleteCall) Header() http.Header {
}
func (c *VpnTunnelsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}")
@@ -66907,7 +71728,7 @@ func (c *VpnTunnelsGetCall) Header() http.Header {
}
func (c *VpnTunnelsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -67038,7 +71859,7 @@ func (c *VpnTunnelsInsertCall) Header() http.Header {
}
func (c *VpnTunnelsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.vpntunnel)
if err != nil {
return nil, err
@@ -67235,21 +72056,6 @@ func (c *VpnTunnelsListCall) PageToken(pageToken string) *VpnTunnelsListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *VpnTunnelsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *VpnTunnelsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -67282,7 +72088,7 @@ func (c *VpnTunnelsListCall) Header() http.Header {
}
func (c *VpnTunnelsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -67436,7 +72242,7 @@ func (c *VpnTunnelsSetLabelsCall) Header() http.Header {
}
func (c *VpnTunnelsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.regionsetlabelsrequest)
if err != nil {
return nil, err
@@ -67568,7 +72374,7 @@ func (c *WireGroupsDeleteCall) Header() http.Header {
}
func (c *WireGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}")
@@ -67682,7 +72488,7 @@ func (c *WireGroupsGetCall) Header() http.Header {
}
func (c *WireGroupsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -67821,7 +72627,7 @@ func (c *WireGroupsInsertCall) Header() http.Header {
}
func (c *WireGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.wiregroup)
if err != nil {
return nil, err
@@ -68016,21 +72822,6 @@ func (c *WireGroupsListCall) PageToken(pageToken string) *WireGroupsListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *WireGroupsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *WireGroupsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -68063,7 +72854,7 @@ func (c *WireGroupsListCall) Header() http.Header {
}
func (c *WireGroupsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -68234,7 +73025,7 @@ func (c *WireGroupsPatchCall) Header() http.Header {
}
func (c *WireGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.wiregroup)
if err != nil {
return nil, err
@@ -68346,7 +73137,7 @@ func (c *ZoneOperationsDeleteCall) Header() http.Header {
}
func (c *ZoneOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/operations/{operation}")
@@ -68439,7 +73230,7 @@ func (c *ZoneOperationsGetCall) Header() http.Header {
}
func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -68635,21 +73426,6 @@ func (c *ZoneOperationsListCall) PageToken(pageToken string) *ZoneOperationsList
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ZoneOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ZoneOperationsListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -68682,7 +73458,7 @@ func (c *ZoneOperationsListCall) Header() http.Header {
}
func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -68833,7 +73609,7 @@ func (c *ZoneOperationsWaitCall) Header() http.Header {
}
func (c *ZoneOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/operations/{operation}/wait")
@@ -68901,7 +73677,7 @@ type ZoneVmExtensionPoliciesDeleteCall struct {
header_ http.Header
}
-// Delete: Deletes a specified zone VM extension policy.
+// Delete: Deletes a specified zone VM extension policy within a project.
//
// - project: Project ID for this request.
// - vmExtensionPolicy: Name of the zone VM extension policy to delete.
@@ -68960,7 +73736,7 @@ func (c *ZoneVmExtensionPoliciesDeleteCall) Header() http.Header {
}
func (c *ZoneVmExtensionPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}")
@@ -69029,7 +73805,8 @@ type ZoneVmExtensionPoliciesGetCall struct {
header_ http.Header
}
-// Get: Retrieves details of a specific zone VM extension policy.
+// Get: Retrieves details of a specific zone VM extension policy within a
+// project.
//
// - project: Project ID for this request.
// - vmExtensionPolicy: Name of the VM extension policy resource to return.
@@ -69074,7 +73851,7 @@ func (c *ZoneVmExtensionPoliciesGetCall) Header() http.Header {
}
func (c *ZoneVmExtensionPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -69204,7 +73981,7 @@ func (c *ZoneVmExtensionPoliciesInsertCall) Header() http.Header {
}
func (c *ZoneVmExtensionPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.vmextensionpolicy)
if err != nil {
return nil, err
@@ -69399,21 +74176,6 @@ func (c *ZoneVmExtensionPoliciesListCall) PageToken(pageToken string) *ZoneVmExt
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ZoneVmExtensionPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ZoneVmExtensionPoliciesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -69446,7 +74208,7 @@ func (c *ZoneVmExtensionPoliciesListCall) Header() http.Header {
}
func (c *ZoneVmExtensionPoliciesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -69539,7 +74301,7 @@ type ZoneVmExtensionPoliciesUpdateCall struct {
header_ http.Header
}
-// Update: Modifies an existing zone VM extension policy.
+// Update: Modifies an existing zone VM extension policy within a project.
//
// - project: Project ID for this request.
// - vmExtensionPolicy: Name of the zone VM extension policy to update.
@@ -69599,7 +74361,7 @@ func (c *ZoneVmExtensionPoliciesUpdateCall) Header() http.Header {
}
func (c *ZoneVmExtensionPoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_, "x-goog-api-version", "2026-09-01")
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.vmextensionpolicy)
if err != nil {
return nil, err
@@ -69714,7 +74476,7 @@ func (c *ZonesGetCall) Header() http.Header {
}
func (c *ZonesGetCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
@@ -69906,21 +74668,6 @@ func (c *ZonesListCall) PageToken(pageToken string) *ZonesListCall {
return c
}
-// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
-// Opt-in for partial success behavior which provides partial results in
-// case
-// of failure. The default value is false.
-//
-// For example, when partial success behavior is enabled, aggregatedList for
-// a
-// single zone scope either returns all resources in the zone or no
-// resources,
-// with an error code.
-func (c *ZonesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ZonesListCall {
- c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
- return c
-}
-
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
@@ -69953,7 +74700,7 @@ func (c *ZonesListCall) Header() http.Header {
}
func (c *ZonesListCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
+ reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_, "x-goog-api-version", "2026-09-01")
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
diff --git a/vendor/google.golang.org/api/internal/gensupport/resumable.go b/vendor/google.golang.org/api/internal/gensupport/resumable.go
index a3b7acad5..1536f9337 100644
--- a/vendor/google.golang.org/api/internal/gensupport/resumable.go
+++ b/vendor/google.golang.org/api/internal/gensupport/resumable.go
@@ -138,6 +138,17 @@ func (rx *ResumableUpload) reportProgress(old, updated int64) {
}
}
+// contextCloser wraps an io.ReadCloser and cancels a context when closed.
+type contextCloser struct {
+ io.ReadCloser
+ cancel context.CancelFunc
+}
+
+func (c *contextCloser) Close() error {
+ defer c.cancel()
+ return c.ReadCloser.Close()
+}
+
// transferChunk performs a single HTTP request to upload a single chunk.
// It uses a goroutine to perform the upload and a timer to enforce ChunkTransferTimeout.
func (rx *ResumableUpload) transferChunk(ctx context.Context, chunk io.Reader, off, size int64, done bool) (*http.Response, error) {
@@ -152,6 +163,7 @@ func (rx *ResumableUpload) transferChunk(ctx context.Context, chunk io.Reader, o
// Start a timer for the ChunkTransferTimeout duration.
timer := time.NewTimer(rx.ChunkTransferTimeout)
+ defer timer.Stop()
// A struct to hold the result from the goroutine.
type uploadResult struct {
@@ -166,8 +178,8 @@ func (rx *ResumableUpload) transferChunk(ctx context.Context, chunk io.Reader, o
// abort the request if the timer fires first.
rCtx, cancel := context.WithCancel(ctx)
// NOTE: We do NOT use `defer cancel()` here. The context must remain valid
- // for the caller to read the response body of a successful request.
- // Cancellation is handled manually on timeout paths.
+ // for the caller to read the response body of a successful request, and is
+ // cancelled when the response body is closed.
// Starting the chunk upload in parallel.
go func() {
@@ -183,19 +195,29 @@ func (rx *ResumableUpload) transferChunk(ctx context.Context, chunk io.Reader, o
// Context is cancelled for the overall upload.
cancel()
// Drain resultCh.
- <-resultCh
+ if result := <-resultCh; result.res != nil && result.res.Body != nil {
+ result.res.Body.Close()
+ }
return nil, ctx.Err()
case <-timer.C:
// Chunk Transfer timer fired before resultCh so we return context.DeadlineExceeded.
cancel()
// Drain resultCh.
- <-resultCh
+ if result := <-resultCh; result.res != nil && result.res.Body != nil {
+ result.res.Body.Close()
+ }
return nil, context.DeadlineExceeded
case result := <-resultCh:
// Handle the result from the upload.
if result.err != nil {
+ cancel()
return result.res, result.err
}
+ if result.res != nil && result.res.Body != nil {
+ result.res.Body = &contextCloser{ReadCloser: result.res.Body, cancel: cancel}
+ } else {
+ cancel()
+ }
return result.res, nil
}
}
@@ -279,6 +301,9 @@ func (rx *ResumableUpload) uploadChunkWithRetries(ctx context.Context, chunk io.
// We sent "X-GUploader-No-308: yes" (see comment elsewhere in
// this file), so we don't expect to get a 308.
if status == 308 {
+ if resp.Body != nil {
+ resp.Body.Close()
+ }
return nil, errors.New("unexpected 308 response status code")
}
// Chunk upload should be retried if the ChunkTransferTimeout is non-zero and err is context deadline exceeded
diff --git a/vendor/google.golang.org/api/internal/settings.go b/vendor/google.golang.org/api/internal/settings.go
index 03e928cd5..225f485b9 100644
--- a/vendor/google.golang.org/api/internal/settings.go
+++ b/vendor/google.golang.org/api/internal/settings.go
@@ -44,30 +44,31 @@ type DialSettings struct {
// Deprecated: Use AuthCredentialsFile instead, due to security risk.
CredentialsFile string
// Deprecated: Use AuthCredentialsJSON instead, due to security risk.
- CredentialsJSON []byte
- InternalCredentials *google.Credentials
- UserAgent string
- APIKey string
- Audiences []string
- DefaultAudience string
- HTTPClient *http.Client
- GRPCDialOpts []grpc.DialOption
- GRPCConn *grpc.ClientConn
- GRPCConnPool ConnPool
- GRPCConnPoolSize int
- NoAuth bool
- TelemetryDisabled bool
- ClientCertSource func(*tls.CertificateRequestInfo) (*tls.Certificate, error)
- CustomClaims map[string]interface{}
- SkipValidation bool
- ImpersonationConfig *impersonate.Config
- EnableDirectPath bool
- EnableDirectPathXds bool
- AllowNonDefaultServiceAccount bool
- DefaultUniverseDomain string
- UniverseDomain string
- AllowHardBoundTokens []string
- Logger *slog.Logger
+ CredentialsJSON []byte
+ InternalCredentials *google.Credentials
+ UserAgent string
+ APIKey string
+ Audiences []string
+ DefaultAudience string
+ HTTPClient *http.Client
+ GRPCDialOpts []grpc.DialOption
+ GRPCConn *grpc.ClientConn
+ GRPCConnPool ConnPool
+ GRPCConnPoolSize int
+ NoAuth bool
+ TelemetryDisabled bool
+ ClientCertSource func(*tls.CertificateRequestInfo) (*tls.Certificate, error)
+ CustomClaims map[string]interface{}
+ SkipValidation bool
+ ImpersonationConfig *impersonate.Config
+ EnableDirectPath bool
+ EnableDirectPathXds bool
+ EnableDirectPathXdsOverInterconnect bool
+ AllowNonDefaultServiceAccount bool
+ DefaultUniverseDomain string
+ UniverseDomain string
+ AllowHardBoundTokens []string
+ Logger *slog.Logger
// Google API system parameters. For more information please read:
// https://cloud.google.com/apis/docs/system-parameters
QuotaProject string
diff --git a/vendor/google.golang.org/api/internal/version.go b/vendor/google.golang.org/api/internal/version.go
index cfdebddca..f607b9289 100644
--- a/vendor/google.golang.org/api/internal/version.go
+++ b/vendor/google.golang.org/api/internal/version.go
@@ -5,4 +5,4 @@
package internal
// Version is the current tagged release of the library.
-const Version = "0.275.0"
+const Version = "0.307.0"
diff --git a/vendor/google.golang.org/api/option/internaloption/internaloption.go b/vendor/google.golang.org/api/option/internaloption/internaloption.go
index 6f9fdf23f..fedcefbf8 100644
--- a/vendor/google.golang.org/api/option/internaloption/internaloption.go
+++ b/vendor/google.golang.org/api/option/internaloption/internaloption.go
@@ -110,6 +110,22 @@ func (x enableDirectPathXds) Apply(o *internal.DialSettings) {
o.EnableDirectPathXds = bool(x)
}
+// EnableDirectPathXdsOverInterconnect returns a ClientOption that enables
+// DirectPath xDS over Cloud Interconnect. It is only valid when DirectPath
+// and DirectPath xDS are enabled.
+//
+// It should only be used internally by generated clients.
+// This is an EXPERIMENTAL API and may be changed or removed in the future.
+func EnableDirectPathXdsOverInterconnect() option.ClientOption {
+ return enableDirectPathXdsOverInterconnect(true)
+}
+
+type enableDirectPathXdsOverInterconnect bool
+
+func (x enableDirectPathXdsOverInterconnect) Apply(o *internal.DialSettings) {
+ o.EnableDirectPathXdsOverInterconnect = bool(x)
+}
+
// AllowNonDefaultServiceAccount returns a ClientOption that overrides the default
// requirement for using the default service account for DirectPath.
//
diff --git a/vendor/google.golang.org/api/option/internaloption/unsaferesolver.go b/vendor/google.golang.org/api/option/internaloption/unsaferesolver.go
index 51a98c5a8..7c5012772 100644
--- a/vendor/google.golang.org/api/option/internaloption/unsaferesolver.go
+++ b/vendor/google.golang.org/api/option/internaloption/unsaferesolver.go
@@ -96,6 +96,15 @@ func (ur *UnsafeResolver) ResolvedEnableDirectPathXds() bool {
return ur.ds.EnableDirectPathXds
}
+// ResolvedEnableDirectPathXdsOverInterconnect returns whether DirectPath xDS over
+// Cloud Interconnect was requested. This corresponds to the
+// EnableDirectPathXdsOverInterconnect option in this package.
+//
+// This is an EXPERIMENTAL API and may be changed or removed in the future.
+func (ur *UnsafeResolver) ResolvedEnableDirectPathXdsOverInterconnect() bool {
+ return ur.ds.EnableDirectPathXdsOverInterconnect
+}
+
// ResolvedWithoutAuthentication returns whether the option to explicitly disable
// authentication was requested. This corresponds to the WithoutAuthentication
// ClientOption in google.golang.org/option.
diff --git a/vendor/google.golang.org/api/transport/http/dial.go b/vendor/google.golang.org/api/transport/http/dial.go
index bd44cfa05..02a8a7410 100644
--- a/vendor/google.golang.org/api/transport/http/dial.go
+++ b/vendor/google.golang.org/api/transport/http/dial.go
@@ -135,7 +135,7 @@ func newClientNewAuth(ctx context.Context, base http.RoundTripper, ds *internal.
SkipValidation: skipValidation,
TelemetryAttributes: ds.TelemetryAttributes,
},
- UniverseDomain: ds.UniverseDomain,
+ UniverseDomain: ds.GetUniverseDomain(),
Logger: ds.Logger,
})
if err != nil {
diff --git a/vendor/google.golang.org/grpc/balancer/balancer.go b/vendor/google.golang.org/grpc/balancer/balancer.go
index 326888ae3..7e3dbaad2 100644
--- a/vendor/google.golang.org/grpc/balancer/balancer.go
+++ b/vendor/google.golang.org/grpc/balancer/balancer.go
@@ -60,7 +60,7 @@ func Register(b Builder) {
if !envconfig.CaseSensitiveBalancerRegistries {
name = strings.ToLower(name)
if name != b.Name() {
- logger.Warningf("Balancer registered with name %q. grpc-go will be switching to case sensitive balancer registries soon. After 2 releases, we will enable the env var by default.", b.Name())
+ logger.Warningf("Balancer registered with name %q. grpc-go has switched to case sensitive balancer registries. GRPC_GO_EXPERIMENTAL_CASE_SENSITIVE_BALANCER_REGISTRIES env variable will be removed in release v1.82.0", b.Name())
}
}
m[name] = b
@@ -85,7 +85,7 @@ func Get(name string) Builder {
if !envconfig.CaseSensitiveBalancerRegistries {
lowerName := strings.ToLower(name)
if lowerName != name {
- logger.Warningf("Balancer retrieved for name %q. grpc-go will be switching to case sensitive balancer registries soon. After 2 releases, we will enable the env var by default.", name)
+ logger.Warningf("Balancer retrieved for name %q. grpc-go has switched to case sensitive balancer registries. GRPC_GO_EXPERIMENTAL_CASE_SENSITIVE_BALANCER_REGISTRIES env variable will be removed in release v1.82.0", name)
}
name = lowerName
}
diff --git a/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go b/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
index 12479f698..22dbc5228 100644
--- a/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
+++ b/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
@@ -39,27 +39,14 @@ import (
var randIntN = rand.IntN
-// ChildState is the balancer state of a child along with the endpoint which
-// identifies the child balancer.
+// ChildState is the state of a child balancer.
type ChildState struct {
- Endpoint resolver.Endpoint
- State balancer.State
-
- // Balancer exposes only the ExitIdler interface of the child LB policy.
- // Other methods of the child policy are called only by endpointsharding.
- Balancer ExitIdler
-}
-
-// ExitIdler provides access to only the ExitIdle method of the child balancer.
-type ExitIdler interface {
- // ExitIdle instructs the LB policy to reconnect to backends / exit the
- // IDLE state, if appropriate and possible. Note that SubConns that enter
- // the IDLE state will not reconnect until SubConn.Connect is called.
- ExitIdle()
+ Endpoint resolver.Endpoint // Endpoint of the child balancer.
+ State balancer.State // State of the child balancer.
+ ExitIdle func() // Function to exit the child balancer from IDLE state.
}
-// Options are the options to configure the behaviour of the
-// endpointsharding balancer.
+// Options configure the behaviour of the endpointsharding balancer.
type Options struct {
// DisableAutoReconnect allows the balancer to keep child balancer in the
// IDLE state until they are explicitly triggered to exit using the
@@ -77,14 +64,13 @@ type ChildBuilderFunc func(cc balancer.ClientConn, opts balancer.BuildOptions) b
// policies each owning a single endpoint. The endpointsharding balancer
// forwards the LoadBalancingConfig in ClientConn state updates to its children.
func NewBalancer(cc balancer.ClientConn, opts balancer.BuildOptions, childBuilder ChildBuilderFunc, esOpts Options) balancer.Balancer {
- es := &endpointSharding{
+ return &endpointSharding{
cc: cc,
bOpts: opts,
esOpts: esOpts,
childBuilder: childBuilder,
+ endpoints: resolver.NewEndpointMap[*endpointState](),
}
- es.children.Store(resolver.NewEndpointMap[*balancerWrapper]())
- return es
}
// endpointSharding is a balancer that wraps child balancers. It creates a child
@@ -96,124 +82,129 @@ type endpointSharding struct {
esOpts Options
childBuilder ChildBuilderFunc
- // childMu synchronizes calls to any single child. It must be held for all
- // calls into a child. To avoid deadlocks, do not acquire childMu while
- // holding mu.
- childMu sync.Mutex
- children atomic.Pointer[resolver.EndpointMap[*balancerWrapper]]
-
- // inhibitChildUpdates is set during UpdateClientConnState/ResolverError
- // calls (calls to children will each produce an update, only want one
- // update).
- inhibitChildUpdates atomic.Bool
-
- // mu synchronizes access to the state stored in balancerWrappers in the
- // children field. mu must not be held during calls into a child since
- // synchronous calls back from the child may require taking mu, causing a
- // deadlock. To avoid deadlocks, do not acquire childMu while holding mu.
- mu sync.Mutex
+ // mu guards access to the below fields and guarantees mutual exclusion
+ // between top-down methods (like UpdateClientConnState, ResolverError etc,
+ // which are already serialized) and bottom-up methods (like UpdateState)
+ // that can be called concurrently.
+ //
+ // Lock ordering & deadlock prevention:
+ // Child callbacks (like UpdateState) acquire this mutex to push state updates
+ // to the parent. This establishes a strict lock ordering:
+ // [endpointState.childMu] -> [endpointSharding.mu]
+ //
+ // To prevent deadlocks, we must never invert this order. Therefore, we must
+ // never call any methods on a child balancer while holding this mutex. If we
+ // did, and that child balancer invoked UpdateState synchronously, it would
+ // attempt to re-acquire this mutex, causing a deadlock.
+ //
+ // Concurrency:
+ // Top-down operations need to iterate over all children. To ensure a
+ // single, clean aggregated update at the end of such operations, we inhibit
+ // intermediate updates from children. We grab this mutex briefly to set
+ // `inhibitChildUpdates = true` and immediately release it. This allows us
+ // to perform the potentially slow, top-down child updates without holding
+ // any parent locks. Once finished, we grab the mutex again to unset the
+ // flag and push the final aggregated state. An update from a child during
+ // this time will *only* update the child state, and will not access the
+ // endpoints map or push an aggregated state to the parent.
+ mu sync.Mutex
+ endpoints *resolver.EndpointMap[*endpointState]
+ inhibitChildUpdates bool
}
// rotateEndpoints returns a slice of all the input endpoints rotated a random
// amount.
func rotateEndpoints(es []resolver.Endpoint) []resolver.Endpoint {
- les := len(es)
- if les == 0 {
+ n := len(es)
+ if n == 0 {
return es
}
- r := randIntN(les)
+ r := randIntN(n)
+
// Make a copy to avoid mutating data beyond the end of es.
- ret := make([]resolver.Endpoint, les)
+ ret := make([]resolver.Endpoint, n)
copy(ret, es[r:])
- copy(ret[les-r:], es[:r])
+ copy(ret[n-r:], es[:r])
return ret
}
// UpdateClientConnState creates a child for new endpoints and deletes children
// for endpoints that are no longer present. It also updates all the children,
// and sends a single synchronous update of the childrens' aggregated state at
-// the end of the UpdateClientConnState operation. If any endpoint has no
-// addresses it will ignore that endpoint. Otherwise, returns first error found
-// from a child, but fully processes the new update.
+// the end of the UpdateClientConnState operation.
+//
+// Returns the first error found from a child, but fully processes the update.
func (es *endpointSharding) UpdateClientConnState(state balancer.ClientConnState) error {
- es.childMu.Lock()
- defer es.childMu.Unlock()
-
- es.inhibitChildUpdates.Store(true)
- defer func() {
- es.inhibitChildUpdates.Store(false)
- es.updateState()
- }()
- var ret error
-
- children := es.children.Load()
- newChildren := resolver.NewEndpointMap[*balancerWrapper]()
+ es.inhibitUpdatesFromChildren()
- // Update/Create new children.
+ // Update/create child balancers for each endpoint in the update. Note that we
+ // don't hold the mutex here, but this is fine because inhibitChildUpdates is
+ // true, and therefore UpdateState will not access es.endpoints.
+ var retErr error
+ newEndpoints := resolver.NewEndpointMap[*endpointState]()
for _, endpoint := range rotateEndpoints(state.ResolverState.Endpoints) {
- if _, ok := newChildren.Get(endpoint); ok {
- // Endpoint child was already created, continue to avoid duplicate
- // update.
+ if _, ok := newEndpoints.Get(endpoint); ok {
+ // Skip duplicate endpoints.
continue
}
- childBalancer, ok := children.Get(endpoint)
+ epState, ok := es.endpoints.Get(endpoint)
if ok {
- // Endpoint attributes may have changed, update the stored endpoint.
- es.mu.Lock()
- childBalancer.childState.Endpoint = endpoint
- es.mu.Unlock()
+ // Endpoint child already exists, update the stored endpoint.
+ epState.endpoint = endpoint
} else {
- childBalancer = &balancerWrapper{
- childState: ChildState{Endpoint: endpoint},
- ClientConn: es.cc,
- es: es,
+ // Endpoint child does not exist, create a new one.
+ epState = &endpointState{
+ ClientConn: es.cc,
+ parent: es,
+ endpoint: endpoint,
+ disableAutoReconnect: es.esOpts.DisableAutoReconnect,
}
- childBalancer.childState.Balancer = childBalancer
- childBalancer.child = es.childBuilder(childBalancer, es.bOpts)
+ epState.childLB = es.childBuilder(epState, es.bOpts)
}
- newChildren.Set(endpoint, childBalancer)
- if err := childBalancer.updateClientConnStateLocked(balancer.ClientConnState{
+ // Update the endpoint state for the endpoint.
+ newEndpoints.Set(endpoint, epState)
+
+ if err := epState.updateClientConnState(balancer.ClientConnState{
BalancerConfig: state.BalancerConfig,
ResolverState: resolver.State{
Endpoints: []resolver.Endpoint{endpoint},
Attributes: state.ResolverState.Attributes,
},
- }); err != nil && ret == nil {
- // Return first error found, and always commit full processing of
- // updating children. If desired to process more specific errors
- // across all endpoints, caller should make these specific
- // validations, this is a current limitation for simplicity sake.
- ret = err
+ }); err != nil && retErr == nil {
+ // Keep the first error found from any child.
+ retErr = err
}
}
+
// Delete old children that are no longer present.
- for e, child := range children.All() {
- if _, ok := newChildren.Get(e); !ok {
- child.closeLocked()
+ for e, child := range es.endpoints.All() {
+ if _, ok := newEndpoints.Get(e); !ok {
+ child.close()
}
}
- es.children.Store(newChildren)
- if newChildren.Len() == 0 {
- return balancer.ErrBadResolverState
+
+ if newEndpoints.Len() == 0 {
+ retErr = balancer.ErrBadResolverState
}
- return ret
+
+ es.mu.Lock()
+ es.endpoints = newEndpoints
+ es.inhibitChildUpdates = false
+ es.updateStateLocked()
+ es.mu.Unlock()
+
+ return retErr
}
// ResolverError forwards the resolver error to all of the endpointSharding's
// children and sends a single synchronous update of the childStates at the end
// of the ResolverError operation.
func (es *endpointSharding) ResolverError(err error) {
- es.childMu.Lock()
- defer es.childMu.Unlock()
- es.inhibitChildUpdates.Store(true)
- defer func() {
- es.inhibitChildUpdates.Store(false)
- es.updateState()
- }()
- children := es.children.Load()
- for _, child := range children.All() {
- child.resolverErrorLocked(err)
+ es.inhibitUpdatesFromChildren()
+ for _, child := range es.endpoints.All() {
+ child.resolverError(err)
}
+ es.allowUpdatesFromChildren()
}
func (es *endpointSharding) UpdateSubConnState(balancer.SubConn, balancer.SubConnState) {
@@ -221,41 +212,49 @@ func (es *endpointSharding) UpdateSubConnState(balancer.SubConn, balancer.SubCon
}
func (es *endpointSharding) Close() {
- es.childMu.Lock()
- defer es.childMu.Unlock()
- children := es.children.Load()
- for _, child := range children.All() {
- child.closeLocked()
+ es.inhibitUpdatesFromChildren()
+ for _, child := range es.endpoints.All() {
+ child.close()
}
}
func (es *endpointSharding) ExitIdle() {
- es.childMu.Lock()
- defer es.childMu.Unlock()
- for _, bw := range es.children.Load().All() {
- if !bw.isClosed {
- bw.child.ExitIdle()
- }
+ es.inhibitUpdatesFromChildren()
+ for _, child := range es.endpoints.All() {
+ child.exitIdle()
}
+ es.allowUpdatesFromChildren()
}
-// updateState updates this component's state. It sends the aggregated state,
-// and a picker with round robin behavior with all the child states present if
-// needed.
-func (es *endpointSharding) updateState() {
- if es.inhibitChildUpdates.Load() {
- return
- }
- var readyPickers, connectingPickers, idlePickers, transientFailurePickers []balancer.Picker
+func (es *endpointSharding) inhibitUpdatesFromChildren() {
+ es.mu.Lock()
+ es.inhibitChildUpdates = true
+ es.mu.Unlock()
+}
+func (es *endpointSharding) allowUpdatesFromChildren() {
es.mu.Lock()
- defer es.mu.Unlock()
+ es.inhibitChildUpdates = false
+ es.updateStateLocked()
+ es.mu.Unlock()
+}
- children := es.children.Load()
- childStates := make([]ChildState, 0, children.Len())
+// updateStateLocked updates this component's state. It sends the aggregated
+// state, and a picker with round robin behavior with all the child states
+// present if needed. This method must only be called when inhibitChildUpdates
+// is false.
+//
+// Caller must hold es.mu.
+func (es *endpointSharding) updateStateLocked() {
+ var readyPickers, connectingPickers, idlePickers, transientFailurePickers []balancer.Picker
- for _, child := range children.All() {
- childState := child.childState
+ childStates := make([]ChildState, 0, es.endpoints.Len())
+ for _, epState := range es.endpoints.All() {
+ childState := ChildState{
+ Endpoint: epState.endpoint,
+ State: epState.state,
+ ExitIdle: func() { go epState.exitIdle() },
+ }
childStates = append(childStates, childState)
childPicker := childState.State.Picker
switch childState.State.ConnectivityState {
@@ -292,14 +291,14 @@ func (es *endpointSharding) updateState() {
aggState = connectivity.TransientFailure
pickers = []balancer.Picker{base.NewErrPicker(errors.New("no children to pick from"))}
} // No children (resolver error before valid update).
- p := &pickerWithChildStates{
- pickers: pickers,
- childStates: childStates,
- next: uint32(randIntN(len(pickers))),
- }
+
es.cc.UpdateState(balancer.State{
ConnectivityState: aggState,
- Picker: p,
+ Picker: &pickerWithChildStates{
+ pickers: pickers,
+ childStates: childStates,
+ next: uint32(randIntN(len(pickers))),
+ },
})
}
@@ -328,61 +327,59 @@ func ChildStatesFromPicker(picker balancer.Picker) []ChildState {
return p.childStates
}
-// balancerWrapper is a wrapper of a balancer. It ID's a child balancer by
-// endpoint, and persists recent child balancer state.
-type balancerWrapper struct {
- // The following fields are initialized at build time and read-only after
- // that and therefore do not need to be guarded by a mutex.
-
- // child contains the wrapped balancer. Access its methods only through
- // methods on balancerWrapper to ensure proper synchronization
- child balancer.Balancer
- balancer.ClientConn // embed to intercept UpdateState, doesn't deal with SubConns
+// endpointState is the internal state maintained for each endpoint.
+type endpointState struct {
+ balancer.ClientConn // Embedded to intercept UpdateState
- es *endpointSharding
+ parent *endpointSharding // Parent endpointsharding balancer.
+ endpoint resolver.Endpoint // Endpoint of the child balancer.
+ state balancer.State // State of the child balancer.
+ disableAutoReconnect bool // Whether to disable auto reconnect for this child.
- // Access to the following fields is guarded by es.mu.
-
- childState ChildState
- isClosed bool
+ childMu sync.Mutex // Guarantees mutual exclusion for Balancer API calls to the child balancer.
+ childLB balancer.Balancer // Child balancer.
+ closed bool // Tracks closure of the child balancer to ensure ExitIdle is not called after Close().
}
-func (bw *balancerWrapper) UpdateState(state balancer.State) {
- bw.es.mu.Lock()
- bw.childState.State = state
- bw.es.mu.Unlock()
- if state.ConnectivityState == connectivity.Idle && !bw.es.esOpts.DisableAutoReconnect {
- bw.ExitIdle()
+func (es *endpointState) UpdateState(state balancer.State) {
+ es.parent.mu.Lock()
+ es.state = state
+ if !es.parent.inhibitChildUpdates {
+ es.parent.updateStateLocked()
+ }
+ es.parent.mu.Unlock()
+
+ if state.ConnectivityState == connectivity.Idle && !es.disableAutoReconnect {
+ go es.exitIdle()
}
- bw.es.updateState()
}
-// ExitIdle pings an IDLE child balancer to exit idle in a new goroutine to
-// avoid deadlocks due to synchronous balancer state updates.
-func (bw *balancerWrapper) ExitIdle() {
- go func() {
- bw.es.childMu.Lock()
- if !bw.isClosed {
- bw.child.ExitIdle()
- }
- bw.es.childMu.Unlock()
- }()
+func (es *endpointState) updateClientConnState(state balancer.ClientConnState) error {
+ es.childMu.Lock()
+ err := es.childLB.UpdateClientConnState(state)
+ es.childMu.Unlock()
+ return err
}
-// updateClientConnStateLocked delivers the ClientConnState to the child
-// balancer. Callers must hold the child mutex of the parent endpointsharding
-// balancer.
-func (bw *balancerWrapper) updateClientConnStateLocked(ccs balancer.ClientConnState) error {
- return bw.child.UpdateClientConnState(ccs)
+func (es *endpointState) resolverError(err error) {
+ es.childMu.Lock()
+ es.childLB.ResolverError(err)
+ es.childMu.Unlock()
}
-// closeLocked closes the child balancer. Callers must hold the child mutext of
-// the parent endpointsharding balancer.
-func (bw *balancerWrapper) closeLocked() {
- bw.child.Close()
- bw.isClosed = true
+func (es *endpointState) close() {
+ es.childMu.Lock()
+ if !es.closed {
+ es.closed = true
+ es.childLB.Close()
+ }
+ es.childMu.Unlock()
}
-func (bw *balancerWrapper) resolverErrorLocked(err error) {
- bw.child.ResolverError(err)
+func (es *endpointState) exitIdle() {
+ es.childMu.Lock()
+ if !es.closed {
+ es.childLB.ExitIdle()
+ }
+ es.childMu.Unlock()
}
diff --git a/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.go b/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.go
index 518a69d57..ddd08f537 100644
--- a/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.go
+++ b/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.go
@@ -35,9 +35,8 @@ import (
"google.golang.org/grpc/balancer"
"google.golang.org/grpc/balancer/pickfirst/internal"
"google.golang.org/grpc/connectivity"
- expstats "google.golang.org/grpc/experimental/stats"
+ "google.golang.org/grpc/experimental/balancer/weight"
"google.golang.org/grpc/grpclog"
- "google.golang.org/grpc/internal/balancer/weight"
"google.golang.org/grpc/internal/envconfig"
internalgrpclog "google.golang.org/grpc/internal/grpclog"
"google.golang.org/grpc/internal/pretty"
@@ -56,30 +55,7 @@ const Name = "pick_first"
// attributes to indicate whether the health listener usage is enabled.
type enableHealthListenerKeyType struct{}
-var (
- logger = grpclog.Component("pick-first-leaf-lb")
- disconnectionsMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
- Name: "grpc.lb.pick_first.disconnections",
- Description: "EXPERIMENTAL. Number of times the selected subchannel becomes disconnected.",
- Unit: "{disconnection}",
- Labels: []string{"grpc.target"},
- Default: false,
- })
- connectionAttemptsSucceededMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
- Name: "grpc.lb.pick_first.connection_attempts_succeeded",
- Description: "EXPERIMENTAL. Number of successful connection attempts.",
- Unit: "{attempt}",
- Labels: []string{"grpc.target"},
- Default: false,
- })
- connectionAttemptsFailedMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
- Name: "grpc.lb.pick_first.connection_attempts_failed",
- Description: "EXPERIMENTAL. Number of failed connection attempts.",
- Unit: "{attempt}",
- Labels: []string{"grpc.target"},
- Default: false,
- })
-)
+var logger = grpclog.Component("pick-first-leaf-lb")
const (
// TODO: change to pick-first when this becomes the default pick_first policy.
@@ -101,11 +77,9 @@ const (
type pickfirstBuilder struct{}
-func (pickfirstBuilder) Build(cc balancer.ClientConn, bo balancer.BuildOptions) balancer.Balancer {
+func (pickfirstBuilder) Build(cc balancer.ClientConn, _ balancer.BuildOptions) balancer.Balancer {
b := &pickfirstBalancer{
- cc: cc,
- target: bo.Target.String(),
- metricsRecorder: cc.MetricsRecorder(),
+ cc: cc,
subConns: resolver.NewAddressMapV2[*scData](),
state: connectivity.Connecting,
@@ -185,10 +159,8 @@ func (b *pickfirstBalancer) newSCData(addr resolver.Address) (*scData, error) {
type pickfirstBalancer struct {
// The following fields are initialized at build time and read-only after
// that and therefore do not need to be guarded by a mutex.
- logger *internalgrpclog.PrefixLogger
- cc balancer.ClientConn
- target string
- metricsRecorder expstats.MetricsRecorder // guaranteed to be non nil
+ logger *internalgrpclog.PrefixLogger
+ cc balancer.ClientConn
// The mutex is used to ensure synchronization of updates triggered
// from the idle picker and the already serialized resolver,
@@ -633,14 +605,11 @@ func (b *pickfirstBalancer) updateSubConnState(sd *scData, newState balancer.Sub
return
}
- // Record a connection attempt when exiting CONNECTING.
if newState.ConnectivityState == connectivity.TransientFailure {
sd.connectionFailedInFirstPass = true
- connectionAttemptsFailedMetric.Record(b.metricsRecorder, 1, b.target)
}
if newState.ConnectivityState == connectivity.Ready {
- connectionAttemptsSucceededMetric.Record(b.metricsRecorder, 1, b.target)
b.shutdownRemainingLocked(sd)
if !b.addressList.seekTo(sd.addr) {
// This should not fail as we should have only one SubConn after
@@ -689,15 +658,6 @@ func (b *pickfirstBalancer) updateSubConnState(sd *scData, newState balancer.Sub
// the first address when the picker is used.
b.shutdownRemainingLocked(sd)
sd.effectiveState = newState.ConnectivityState
- // READY SubConn interspliced in between CONNECTING and IDLE, need to
- // account for that.
- if oldState == connectivity.Connecting {
- // A known issue (https://github.com/grpc/grpc-go/issues/7862)
- // causes a race that prevents the READY state change notification.
- // This works around it.
- connectionAttemptsSucceededMetric.Record(b.metricsRecorder, 1, b.target)
- }
- disconnectionsMetric.Record(b.metricsRecorder, 1, b.target)
b.addressList.reset()
b.updateBalancerState(balancer.State{
ConnectivityState: connectivity.Idle,
diff --git a/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go b/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
index 296123e20..6c249fdaf 100644
--- a/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
+++ b/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
@@ -679,7 +679,7 @@ func (x *Message) GetData() []byte {
// A list of metadata pairs, used in the payload of client header,
// server header, and server trailer.
// Implementations may omit some entries to honor the header limits
-// of GRPC_BINARY_LOG_CONFIG.
+// of GRPC_BINARY_LOG_FILTER.
//
// Header keys added by gRPC are omitted. To be more specific,
// implementations will not log the following entries, and this is
@@ -689,7 +689,9 @@ func (x *Message) GetData() []byte {
// or keys like 'lb-token'
// - transport specific entries, including but not limited to:
// ':path', ':authority', 'content-encoding', 'user-agent', 'te', etc
-// - entries added for call credentials
+// - entries added for call credentials (on client side, excludes all
+// such headers; on server side, excludes only the "authorization"
+// header)
//
// Implementations must always log grpc-trace-bin if it is present.
// Practically speaking it will only be visible on server side because
diff --git a/vendor/google.golang.org/grpc/call.go b/vendor/google.golang.org/grpc/call.go
index 788c89c16..2079bf4ed 100644
--- a/vendor/google.golang.org/grpc/call.go
+++ b/vendor/google.golang.org/grpc/call.go
@@ -20,6 +20,10 @@ package grpc
import (
"context"
+ "io"
+
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
)
// Invoke sends the RPC request on the wire and returns after response is
@@ -67,8 +71,27 @@ func invoke(ctx context.Context, method string, req, reply any, cc *ClientConn,
if err != nil {
return err
}
- if err := cs.SendMsg(req); err != nil {
+ // In case of nil or io.EOF error, call RecvMsg.
+ if err := cs.SendMsg(req); err != nil && err != io.EOF {
+ return err
+ }
+ // CloseSend is needed because in some scenarios (e.g., xDS), the same
+ // interceptors are used to process both unary and streaming RPCs. Calling
+ // CloseSend signals to those interceptors that no more messages are on the
+ // way.
+ if err := cs.CloseSend(); err != nil && err != io.EOF {
return err
}
- return cs.RecvMsg(reply)
+ if err := cs.RecvMsg(reply); err != nil {
+ return err
+ }
+ // Call RecvMsg again to get the trailers.
+ err = cs.RecvMsg(reply)
+ if err == io.EOF {
+ return nil
+ }
+ if err == nil {
+ return status.Error(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message")
+ }
+ return err
}
diff --git a/vendor/google.golang.org/grpc/clientconn.go b/vendor/google.golang.org/grpc/clientconn.go
index 5dec2dacc..f5ce07197 100644
--- a/vendor/google.golang.org/grpc/clientconn.go
+++ b/vendor/google.golang.org/grpc/clientconn.go
@@ -553,6 +553,7 @@ func chainStreamClientInterceptors(cc *ClientConn) {
if cc.dopts.streamInt != nil {
interceptors = append([]StreamClientInterceptor{cc.dopts.streamInt}, interceptors...)
}
+ interceptors = append(interceptors, defaultStreamInterceptor)
var chainedInt StreamClientInterceptor
if len(interceptors) == 0 {
chainedInt = nil
@@ -1268,8 +1269,9 @@ type addrConn struct {
channelz *channelz.SubChannel
- localityLabel string
- backendServiceLabel string
+ localityLabel string
+ backendServiceLabel string
+ disconnectErrorLabel string
}
// Note: this requires a lock on ac.mu.
@@ -1286,9 +1288,14 @@ func (ac *addrConn) updateConnectivityState(s connectivity.State, lastErr error)
// TODO: https://github.com/grpc/grpc-go/issues/7862 - Remove the second
// part of the if condition below once the issue is fixed.
if ac.state == connectivity.Ready || (ac.state == connectivity.Connecting && s == connectivity.Idle) {
- disconnectionsMetric.Record(ac.cc.metricsRecorderList, 1, ac.cc.target, ac.backendServiceLabel, ac.localityLabel, "unknown")
+ disconnectError := ac.disconnectErrorLabel
+ if disconnectError == "" {
+ disconnectError = "unknown"
+ }
+ disconnectionsMetric.Record(ac.cc.metricsRecorderList, 1, ac.cc.target, ac.backendServiceLabel, ac.localityLabel, disconnectError)
openConnectionsMetric.Record(ac.cc.metricsRecorderList, -1, ac.cc.target, ac.backendServiceLabel, ac.securityLevelLocked(), ac.localityLabel)
}
+ ac.disconnectErrorLabel = "" // Reset for next time
ac.state = s
ac.channelz.ChannelMetrics.State.Store(&s)
if lastErr == nil {
@@ -1483,11 +1490,11 @@ func (ac *addrConn) createTransport(ctx context.Context, addr resolver.Address,
addr.ServerName = ac.cc.getServerName(addr)
hctx, hcancel := context.WithCancel(ctx)
- onClose := func(r transport.GoAwayReason) {
+ onClose := func(info transport.GoAwayInfo) {
ac.mu.Lock()
defer ac.mu.Unlock()
// adjust params based on GoAwayReason
- ac.adjustParams(r)
+ ac.adjustParams(info.Reason)
if ctx.Err() != nil {
// Already shut down or connection attempt canceled. tearDown() or
// updateAddrs() already cleared the transport and canceled hctx
@@ -1504,6 +1511,7 @@ func (ac *addrConn) createTransport(ctx context.Context, addr resolver.Address,
return
}
ac.transport = nil
+ ac.disconnectErrorLabel = disconnectErrorString(info)
// Refresh the name resolver on any connection loss.
ac.cc.resolveNow(resolver.ResolveNowOptions{})
// Always go idle and wait for the LB policy to initiate a new
@@ -1560,6 +1568,19 @@ func (ac *addrConn) createTransport(ctx context.Context, addr resolver.Address,
return nil
}
+// disconnectErrorString returns the grpc.disconnect_error metric label corresponding
+// to the provided transport.GoAwayInfo, as specified by gRFC A94:
+// https://github.com/grpc/proposal/blob/master/A94-grpc-subchannel-disconnections-metrics.md
+func disconnectErrorString(info transport.GoAwayInfo) string {
+ if info.Reason != transport.GoAwayInvalid {
+ return fmt.Sprintf("GOAWAY %s", info.GoAwayCode.String())
+ }
+ if info.Err == nil {
+ return "unknown"
+ }
+ return disconnectErrorLabel(info.Err)
+}
+
// startHealthCheck starts the health checking stream (RPC) to watch the health
// stats of this connection if health checking is requested and configured.
//
@@ -1663,6 +1684,9 @@ func (ac *addrConn) tearDown(err error) {
}
curTr := ac.transport
ac.transport = nil
+ if ac.disconnectErrorLabel == "" {
+ ac.disconnectErrorLabel = "subchannel shutdown"
+ }
// We have to set the state to Shutdown before anything else to prevent races
// between setting the state and logic that waits on context cancellation / etc.
ac.updateConnectivityState(connectivity.Shutdown, nil)
diff --git a/vendor/google.golang.org/grpc/clientconn_disconnect_reason_noplan9.go b/vendor/google.golang.org/grpc/clientconn_disconnect_reason_noplan9.go
new file mode 100644
index 000000000..f0fcd8842
--- /dev/null
+++ b/vendor/google.golang.org/grpc/clientconn_disconnect_reason_noplan9.go
@@ -0,0 +1,48 @@
+//go:build !plan9
+
+/*
+ *
+ * Copyright 2026 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package grpc
+
+import (
+ "context"
+ "errors"
+ "os"
+ "syscall"
+)
+
+// disconnectErrorLabel returns the grpc.disconnect_error metric label for a
+// transport error, as specified by gRFC A94.
+func disconnectErrorLabel(err error) string {
+ var sysErr syscall.Errno
+ switch {
+ case errors.Is(err, context.Canceled):
+ return "subchannel shutdown"
+ case errors.Is(err, syscall.ECONNRESET):
+ return "connection reset"
+ case errors.Is(err, syscall.ETIMEDOUT), errors.Is(err, context.DeadlineExceeded), errors.Is(err, os.ErrDeadlineExceeded):
+ return "connection timed out"
+ case errors.Is(err, syscall.ECONNABORTED):
+ return "connection aborted"
+ case errors.As(err, &sysErr):
+ return "socket error"
+ default:
+ return "unknown"
+ }
+}
diff --git a/vendor/google.golang.org/grpc/clientconn_disconnect_reason_plan9.go b/vendor/google.golang.org/grpc/clientconn_disconnect_reason_plan9.go
new file mode 100644
index 000000000..930b12664
--- /dev/null
+++ b/vendor/google.golang.org/grpc/clientconn_disconnect_reason_plan9.go
@@ -0,0 +1,39 @@
+/*
+ *
+ * Copyright 2026 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package grpc
+
+import (
+ "context"
+ "errors"
+ "os"
+)
+
+// disconnectErrorLabel returns the grpc.disconnect_error metric label for a
+// transport error, as specified by gRFC A94. syscall.Errno does not exist on
+// plan9, so only the portable classifications are available.
+func disconnectErrorLabel(err error) string {
+ switch {
+ case errors.Is(err, context.Canceled):
+ return "subchannel shutdown"
+ case errors.Is(err, context.DeadlineExceeded), errors.Is(err, os.ErrDeadlineExceeded):
+ return "connection timed out"
+ default:
+ return "unknown"
+ }
+}
diff --git a/vendor/google.golang.org/grpc/dialoptions.go b/vendor/google.golang.org/grpc/dialoptions.go
index 4ec5f9cd0..3af08e1ab 100644
--- a/vendor/google.golang.org/grpc/dialoptions.go
+++ b/vendor/google.golang.org/grpc/dialoptions.go
@@ -173,10 +173,8 @@ func newJoinDialOption(opts ...DialOption) DialOption {
// If this option is set to true every connection will release the buffer after
// flushing the data on the wire.
//
-// # Experimental
-//
-// Notice: This API is EXPERIMENTAL and may be changed or removed in a
-// later release.
+// Deprecated: shared write buffer is enabled by default. WithSharedWriteBuffer
+// will be removed in a future release.
func WithSharedWriteBuffer(val bool) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.copts.SharedWriteBuffer = val
@@ -229,6 +227,14 @@ func WithInitialConnWindowSize(s int32) DialOption {
// WithStaticStreamWindowSize returns a DialOption which sets the initial
// stream window size to the value provided and disables dynamic flow control.
+//
+// Note that this also disables dynamic flow control for the connection,
+// falling back to a default static connection-level window of 64KB. To
+// use a larger connection-level window, you must also use the
+// [WithStaticConnWindowSize] DialOption.
+//
+// Most users should not configure static flow control windows unless
+// operating in a memory-constrained environment.
func WithStaticStreamWindowSize(s int32) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.copts.InitialWindowSize = s
@@ -239,6 +245,14 @@ func WithStaticStreamWindowSize(s int32) DialOption {
// WithStaticConnWindowSize returns a DialOption which sets the initial
// connection window size to the value provided and disables dynamic flow
// control.
+//
+// Note that this also disables dynamic flow control for individual streams,
+// falling back to a default static connection-level window of 64KB. To
+// explicitly configure the stream-level window size, you must also use the
+// [WithStaticStreamWindowSize] DialOption.
+//
+// Most users should not configure static flow control windows unless
+// operating in a memory-constrained environment.
func WithStaticConnWindowSize(s int32) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.copts.InitialConnWindowSize = s
diff --git a/vendor/google.golang.org/grpc/encoding/encoding.go b/vendor/google.golang.org/grpc/encoding/encoding.go
index 296f38c3a..bfa8b268f 100644
--- a/vendor/google.golang.org/grpc/encoding/encoding.go
+++ b/vendor/google.golang.org/grpc/encoding/encoding.go
@@ -66,6 +66,9 @@ type Compressor interface {
// Decompress reads data from r, decompresses it, and provides the
// uncompressed data via the returned io.Reader. If an error occurs while
// initializing the decompressor, that error is returned instead.
+ //
+ // The returned io.Reader may optionally implement io.ReadCloser, and if it
+ // does, gRPC will call Close() exactly once.
Decompress(r io.Reader) (io.Reader, error)
// Name is the name of the compression codec and is used to set the content
// coding header. The result must be static; the result cannot change
diff --git a/vendor/google.golang.org/grpc/internal/balancer/weight/weight.go b/vendor/google.golang.org/grpc/experimental/balancer/weight/weight.go
similarity index 71%
rename from vendor/google.golang.org/grpc/internal/balancer/weight/weight.go
rename to vendor/google.golang.org/grpc/experimental/balancer/weight/weight.go
index 11beb07d1..beab9e07c 100644
--- a/vendor/google.golang.org/grpc/internal/balancer/weight/weight.go
+++ b/vendor/google.golang.org/grpc/experimental/balancer/weight/weight.go
@@ -16,23 +16,23 @@
*
*/
-// Package weight contains utilities to manage endpoint weights. Weights are
-// used by LB policies such as ringhash to distribute load across multiple
-// endpoints.
+// Package weight contains utilities to manage endpoint weights.
+// Weights may be used by LB policies to distribute load across
+// multiple endpoints.
+//
+// # Experimental
+//
+// Notice: All APIs in this package are EXPERIMENTAL and may be changed
+// or removed in a later release.
package weight
-import (
- "fmt"
-
- "google.golang.org/grpc/resolver"
-)
+import "google.golang.org/grpc/resolver"
// attributeKey is the type used as the key to store EndpointInfo in the
// Attributes field of resolver.Endpoint.
type attributeKey struct{}
-// EndpointInfo will be stored in the Attributes field of Endpoints in order to
-// use the ringhash balancer.
+// EndpointInfo will be stored in the Attributes field of Endpoints.
type EndpointInfo struct {
Weight uint32
}
@@ -43,22 +43,16 @@ func (a EndpointInfo) Equal(o any) bool {
return ok && oa.Weight == a.Weight
}
-// Set returns a copy of endpoint in which the Attributes field is updated with
-// EndpointInfo.
+// Set returns a copy of endpoint in which the Attributes field is
+// updated with EndpointInfo.
func Set(endpoint resolver.Endpoint, epInfo EndpointInfo) resolver.Endpoint {
endpoint.Attributes = endpoint.Attributes.WithValue(attributeKey{}, epInfo)
return endpoint
}
-// String returns a human-readable representation of EndpointInfo.
-// This method is intended for logging, testing, and debugging purposes only.
-// Do not rely on the output format, as it is not guaranteed to remain stable.
-func (a EndpointInfo) String() string {
- return fmt.Sprintf("Weight: %d", a.Weight)
-}
-
-// FromEndpoint returns the EndpointInfo stored in the Attributes field of an
-// endpoint. It returns an empty EndpointInfo if attribute is not found.
+// FromEndpoint returns the EndpointInfo stored in the Attributes
+// field of an endpoint. It returns an empty EndpointInfo if attribute
+// is not found.
func FromEndpoint(endpoint resolver.Endpoint) EndpointInfo {
v := endpoint.Attributes.Value(attributeKey{})
ei, _ := v.(EndpointInfo)
diff --git a/vendor/google.golang.org/grpc/experimental/stats/metrics.go b/vendor/google.golang.org/grpc/experimental/stats/metrics.go
index 88742724a..8732e53bd 100644
--- a/vendor/google.golang.org/grpc/experimental/stats/metrics.go
+++ b/vendor/google.golang.org/grpc/experimental/stats/metrics.go
@@ -20,10 +20,27 @@
package stats
import (
+ "context"
+
"google.golang.org/grpc/internal"
"google.golang.org/grpc/stats"
)
+type customLabelKey struct{}
+
+// NewContextWithCustomLabel returns a new context with the provided custom label
+// attached. The label will be propagated to all metric instruments specified in gRFC A108.
+func NewContextWithCustomLabel(ctx context.Context, label string) context.Context {
+ return context.WithValue(ctx, customLabelKey{}, label)
+}
+
+// CustomLabelFromContext returns the custom label from the context if it exists.
+// If the custom label is not present, it returns an empty string.
+func CustomLabelFromContext(ctx context.Context) string {
+ label, _ := ctx.Value(customLabelKey{}).(string)
+ return label
+}
+
// MetricsRecorder records on metrics derived from metric registry.
// Implementors must embed UnimplementedMetricsRecorder.
type MetricsRecorder interface {
diff --git a/vendor/google.golang.org/grpc/internal/buffer/unbounded.go b/vendor/google.golang.org/grpc/internal/buffer/unbounded.go
index 467392b8d..d1f4b634b 100644
--- a/vendor/google.golang.org/grpc/internal/buffer/unbounded.go
+++ b/vendor/google.golang.org/grpc/internal/buffer/unbounded.go
@@ -27,32 +27,29 @@ import (
// extra goroutines. This is typically used for passing updates from one entity
// to another within gRPC.
//
+// To avoid extra memory allocations and type assertions, using any on
+// performance-critical code paths is discouraged. Use concrete types wherever
+// possible when instantiating Unbounded.
+//
// All methods on this type are thread-safe and don't block on anything except
// the underlying mutex used for synchronization.
-//
-// Unbounded supports values of any type to be stored in it by using a channel
-// of `any`. This means that a call to Put() incurs an extra memory allocation,
-// and also that users need a type assertion while reading. For performance
-// critical code paths, using Unbounded is strongly discouraged and defining a
-// new type specific implementation of this buffer is preferred. See
-// internal/transport/transport.go for an example of this.
-type Unbounded struct {
- c chan any
+type Unbounded[T any] struct {
+ c chan T
closed bool
closing bool
mu sync.Mutex
- backlog []any
+ backlog []T
}
// NewUnbounded returns a new instance of Unbounded.
-func NewUnbounded() *Unbounded {
- return &Unbounded{c: make(chan any, 1)}
+func NewUnbounded[T any]() *Unbounded[T] {
+ return &Unbounded[T]{c: make(chan T, 1)}
}
var errBufferClosed = errors.New("Put called on closed buffer.Unbounded")
// Put adds t to the unbounded buffer.
-func (b *Unbounded) Put(t any) error {
+func (b *Unbounded[T]) Put(t T) error {
b.mu.Lock()
defer b.mu.Unlock()
if b.closing {
@@ -72,13 +69,14 @@ func (b *Unbounded) Put(t any) error {
// Load sends the earliest buffered data, if any, onto the read channel returned
// by Get(). Users are expected to call this every time they successfully read a
// value from the read channel.
-func (b *Unbounded) Load() {
+func (b *Unbounded[T]) Load() {
b.mu.Lock()
defer b.mu.Unlock()
if len(b.backlog) > 0 {
select {
case b.c <- b.backlog[0]:
- b.backlog[0] = nil
+ var zero T
+ b.backlog[0] = zero
b.backlog = b.backlog[1:]
default:
}
@@ -96,14 +94,14 @@ func (b *Unbounded) Load() {
//
// If the unbounded buffer is closed, the read channel returned by this method
// is closed after all data is drained.
-func (b *Unbounded) Get() <-chan any {
+func (b *Unbounded[T]) Get() <-chan T {
return b.c
}
// Close closes the unbounded buffer. No subsequent data may be Put(), and the
// channel returned from Get() will be closed after all the data is read and
// Load() is called for the final time.
-func (b *Unbounded) Close() {
+func (b *Unbounded[T]) Close() {
b.mu.Lock()
defer b.mu.Unlock()
if b.closing {
diff --git a/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go b/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
index 3ae45faa4..dc6fc0c4c 100644
--- a/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
+++ b/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
@@ -59,6 +59,15 @@ var (
// unconditionally.
XDSEndpointHashKeyBackwardCompat = boolFromEnv("GRPC_XDS_ENDPOINT_HASH_KEY_BACKWARD_COMPAT", false)
+ // LabelServerGoroutines controls setting [runtime/pprof.Labels] on the
+ // goroutines spawned by [grpc.Server] type.
+ // For now, this is limited to the goroutines spawned to handle incoming
+ // requests on the server.
+ // Set "GRPC_GO_SERVER_GOROUTINE_LABELS" to "grpc.method=true" to
+ // enable this grpc.method label, or "all" to enable all valid labels.
+ // This variable is a bit-field.
+ LabelServerGoroutines = goroutineLabelsFromEnv("GRPC_GO_SERVER_GOROUTINE_LABELS", 0)
+
// RingHashSetRequestHashKey is set if the ring hash balancer can get the
// request hash header by setting the "requestHashHeader" field, according
// to gRFC A76. It can be disabled by setting the environment variable
@@ -78,12 +87,12 @@ var (
EnableDefaultPortForProxyTarget = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_DEFAULT_PORT_FOR_PROXY_TARGET", true)
// CaseSensitiveBalancerRegistries is set if the balancer registry should be
- // case-sensitive. This is disabled by default, but can be enabled by setting
+ // case-sensitive. This is enabled by default, but can be disabled by setting
// the env variable "GRPC_GO_EXPERIMENTAL_CASE_SENSITIVE_BALANCER_REGISTRIES"
- // to "true".
+ // to "false".
//
- // TODO: After 2 releases, we will enable the env var by default.
- CaseSensitiveBalancerRegistries = boolFromEnv("GRPC_GO_EXPERIMENTAL_CASE_SENSITIVE_BALANCER_REGISTRIES", false)
+ // This env varible will be removed in release v1.82.0.
+ CaseSensitiveBalancerRegistries = boolFromEnv("GRPC_GO_EXPERIMENTAL_CASE_SENSITIVE_BALANCER_REGISTRIES", true)
// XDSAuthorityRewrite indicates whether xDS authority rewriting is enabled.
// This feature is defined in gRFC A81 and is enabled by setting the
@@ -104,28 +113,62 @@ var (
// to "false".
XDSRecoverPanicInResourceParsing = boolFromEnv("GRPC_GO_EXPERIMENTAL_XDS_RESOURCE_PANIC_RECOVERY", true)
- // DisableStrictPathChecking indicates whether strict path checking is
- // disabled. This feature can be disabled by setting the environment
- // variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to "true".
- //
- // When strict path checking is enabled, gRPC will reject requests with
- // paths that do not conform to the gRPC over HTTP/2 specification found at
- // https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md.
- //
- // When disabled, gRPC will allow paths that do not contain a leading slash.
- // Enabling strict path checking is recommended for security reasons, as it
- // prevents potential path traversal vulnerabilities.
- //
- // A future release will remove this environment variable, enabling strict
- // path checking behavior unconditionally.
- DisableStrictPathChecking = boolFromEnv("GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING", false)
-
// EnablePriorityLBChildPolicyCache controls whether the priority balancer
// should cache child balancers that are removed from the LB policy config,
// for a period of 15 minutes. This is disabled by default, but can be
// enabled by setting the env variable
// GRPC_EXPERIMENTAL_ENABLE_PRIORITY_LB_CHILD_POLICY_CACHE to true.
EnablePriorityLBChildPolicyCache = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_PRIORITY_LB_CHILD_POLICY_CACHE", false)
+
+ // Enable8KBDefaultHeaderListSize indicates that default maximum header list
+ // size is restricted to 8KB. This is disabled by default, but can be enabled
+ // by setting the environment variable
+ // "GRPC_GO_EXPERIMENTAL_ENABLE_8KB_DEFAULT_HEADER_LIST_SIZE" to "true".
+ // When disabled, the default maximum header list size of 16MB is used.
+ //
+ // When enabled, RPCs with a total size of headers exceeding 8KB will fail
+ // unless explicitly configured otherwise by the user.
+ //
+ // TODO: In release v1.82.0, env var will be enabled by default.
+ Enable8KBDefaultHeaderListSize = boolFromEnv("GRPC_GO_EXPERIMENTAL_ENABLE_8KB_DEFAULT_HEADER_LIST_SIZE", false)
+
+ // EnableHTTPFramerReadBufferPooling enables the use of the
+ // readyreader.Reader interface to perform non-memory-pinning reads,
+ // provided the underlying net.Conn supports it. This reduces memory usage
+ // when subchannels are idle.
+ //
+ // This environment variable serves as an escape hatch to disable the
+ // feature if unforeseen issues arise, and it will be removed in a future
+ // release.
+ EnableHTTPFramerReadBufferPooling = boolFromEnv("GRPC_GO_EXPERIMENTAL_HTTP_FRAMER_READ_BUFFER_POOLING", true)
+
+ // ControlBufferThrottleLimit is the maximum number of control frames that can
+ // be queued in the control buffer before throttling is applied. The value
+ // must be between 1 and 10,000, and is set to 100 by default.
+ //
+ // This environment variable serves as an escape hatch to increase the
+ // throttling limit if unforeseen issues arise, and it will be removed in a
+ // future release.
+ //
+ // TODO: Remove this env var once v1.83.0 is released.
+ ControlBufferThrottleLimit = uint64FromEnv("GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT", 100, 1, 10000)
+
+ // ALTSMaxFrameSize is the maximum frame size for ALTS in bytes.
+ // This can be overridden by setting the environment variable
+ // "GRPC_GO_EXPERIMENTAL_ALTS_MAX_FRAME_SIZE" (min: 4096, max: 512*1024, capped at
+ // 512KiB to match altsWriteBufferMaxSize in
+ // credentials/alts/internal/conn/record.go).
+ ALTSMaxFrameSize = uint64FromEnv("GRPC_GO_EXPERIMENTAL_ALTS_MAX_FRAME_SIZE", 4096, 4096, 512*1024)
+
+ // EnableReceiveBufferCompaction enables the compaction of data buffers
+ // to reduce the number of buffers in the receive buffer.
+ //
+ // This environment variable serves as an escape hatch to disable the
+ // feature if unforeseen issues arise, and it will be removed in a future
+ // release.
+ //
+ // TODO: Remove this env var once v1.85.0 is released.
+ EnableReceiveBufferCompaction = boolFromEnv("GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION", true)
)
func boolFromEnv(envVar string, def bool) bool {
@@ -150,3 +193,52 @@ func uint64FromEnv(envVar string, def, min, max uint64) uint64 {
}
return v
}
+
+// GoroutineLabels is a bitfield indicating which goroutine labels are enabled.
+type GoroutineLabels uint16
+
+func goroutineLabelsFromEnv(envVar string, def GoroutineLabels) GoroutineLabels {
+ val := def
+ v := os.Getenv(envVar)
+ if strings.EqualFold(v, "all") {
+ return AllGoroutineLabels
+ } else if strings.EqualFold(v, "none") {
+ return 0
+ }
+ for s := range strings.SplitSeq(v, ",") {
+ s = strings.TrimSpace(s)
+ if len(s) == 0 {
+ continue
+ }
+ pre, post, ok := strings.Cut(s, "=")
+ if !ok {
+ // no equals sign
+ continue
+ }
+ post = strings.TrimSpace(post)
+ pre = strings.TrimSpace(pre)
+ bitDesignator := GoroutineLabels(0)
+ switch {
+ case strings.EqualFold(pre, "grpc.method"):
+ bitDesignator = GoroutineLabelServerMethod
+ default:
+ continue
+ }
+ if strings.EqualFold(post, "true") {
+ val |= bitDesignator
+ } else if strings.EqualFold(post, "false") {
+ val &^= bitDesignator
+ }
+ }
+ return val
+}
+
+const (
+ // GoroutineLabelServerMethod sets the grpc.method label on new
+ // server-side gRPC streams.
+ GoroutineLabelServerMethod GoroutineLabels = 1 << iota
+)
+
+// AllGoroutineLabels is an or'd together bitfield of all valid GoroutineLabels
+// constant values (above).
+const AllGoroutineLabels = GoroutineLabelServerMethod
diff --git a/vendor/google.golang.org/grpc/internal/envconfig/xds.go b/vendor/google.golang.org/grpc/internal/envconfig/xds.go
index 7685d08b5..5ec39bd75 100644
--- a/vendor/google.golang.org/grpc/internal/envconfig/xds.go
+++ b/vendor/google.golang.org/grpc/internal/envconfig/xds.go
@@ -69,9 +69,8 @@ var (
// https://github.com/grpc/proposal/blob/master/A87-mtls-spiffe-support.md
XDSSPIFFEEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_MTLS_SPIFFE", false)
- // XDSHTTPConnectEnabled is true if gRPC should parse custom Metadata
- // configuring use of an HTTP CONNECT proxy via xDS from cluster resources.
- // For more details, see:
+ // XDSHTTPConnectEnabled controls support for dynamic HTTP CONNECT proxying
+ // configured via the xDS control plane. For more details, see:
// https://github.com/grpc/proposal/blob/master/A86-xds-http-connect.md
XDSHTTPConnectEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_HTTP_CONNECT", false)
@@ -79,4 +78,29 @@ var (
// xDS bootstrap configuration via the `call_creds` field. For more details,
// see: https://github.com/grpc/proposal/blob/master/A97-xds-jwt-call-creds.md
XDSBootstrapCallCredsEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_BOOTSTRAP_CALL_CREDS", false)
+
+ // XDSSNIEnabled controls if gRPC should send SNI information in xDS
+ // configured TLS handshakes. For more details, see:
+ // https://github.com/grpc/proposal/blob/master/A101-SNI-setting-and-SNI-SAN-validation.md
+ XDSSNIEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_SNI", false)
+
+ // XDSORCAToLRSPropEnabled controls whether ORCA metrics are explicitly
+ // filtered and prefix-propagated to the LRS server. For more details, see:
+ // https://github.com/grpc/proposal/blob/master/A85-lrs-custom-metrics-changes.md
+ XDSORCAToLRSPropEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_ORCA_LRS_PROPAGATION", true)
+
+ // XDSClientExtProcEnabled indicates whether ExtProc filter is enabled on
+ // the client side. For more details, see:
+ // https://github.com/grpc/proposal/blob/master/A93-xds-ext-proc.md
+ XDSClientExtProcEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_EXT_PROC_ON_CLIENT", false)
+
+ // GCPAuthenticationFilterEnabled enables the xDS GCP Authentication
+ // filter. For more details, see:
+ // https://github.com/grpc/proposal/blob/master/A83-xds-gcp-authn-filter.md
+ GCPAuthenticationFilterEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_GCP_AUTHENTICATION_FILTER", false)
+
+ // XDSClientExtAuthzEnabled indicates whether the external authorization
+ // filter is enabled on the client side. For more details, see:
+ // https://github.com/grpc/proposal/blob/master/A92-xds-ext-authz.md
+ XDSClientExtAuthzEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_EXT_AUTHZ_ON_CLIENT", false)
)
diff --git a/vendor/google.golang.org/grpc/internal/grpcsync/callback_serializer.go b/vendor/google.golang.org/grpc/internal/grpcsync/callback_serializer.go
index 9b6d8a1fa..caa9dd68e 100644
--- a/vendor/google.golang.org/grpc/internal/grpcsync/callback_serializer.go
+++ b/vendor/google.golang.org/grpc/internal/grpcsync/callback_serializer.go
@@ -20,10 +20,15 @@ package grpcsync
import (
"context"
+ "errors"
"google.golang.org/grpc/internal/buffer"
)
+// ErrSerializerClosed is returned by ScheduleAndWait if the CallbackSerializer
+// was closed before the callback could be scheduled.
+var ErrSerializerClosed = errors.New("callback serializer is closed")
+
// CallbackSerializer provides a mechanism to schedule callbacks in a
// synchronized manner. It provides a FIFO guarantee on the order of execution
// of scheduled callbacks. New callbacks can be scheduled by invoking the
@@ -36,7 +41,7 @@ type CallbackSerializer struct {
// its resources.
done chan struct{}
- callbacks *buffer.Unbounded
+ callbacks *buffer.Unbounded[func(context.Context)]
}
// NewCallbackSerializer returns a new CallbackSerializer instance. The provided
@@ -47,7 +52,7 @@ type CallbackSerializer struct {
func NewCallbackSerializer(ctx context.Context) *CallbackSerializer {
cs := &CallbackSerializer{
done: make(chan struct{}),
- callbacks: buffer.NewUnbounded(),
+ callbacks: buffer.NewUnbounded[func(context.Context)](),
}
go cs.run(ctx)
return cs
@@ -77,6 +82,27 @@ func (cs *CallbackSerializer) ScheduleOr(f func(ctx context.Context), onFailure
}
}
+// ScheduleAndWait schedules the provided callback function f to be executed in
+// the order it was added and blocks until f has run. If the context passed to
+// NewCallbackSerializer was canceled before this method is called, f is not run
+// and ScheduleAndWait returns ErrSerializerClosed.
+//
+// Callbacks are expected to honor the context when performing any blocking
+// operations, and should return early when the context is canceled.
+func (cs *CallbackSerializer) ScheduleAndWait(f func(ctx context.Context)) error {
+ done := make(chan struct{})
+ var err error
+ cs.ScheduleOr(func(ctx context.Context) {
+ f(ctx)
+ close(done)
+ }, func() {
+ err = ErrSerializerClosed
+ close(done)
+ })
+ <-done
+ return err
+}
+
func (cs *CallbackSerializer) run(ctx context.Context) {
defer close(cs.done)
@@ -87,7 +113,7 @@ func (cs *CallbackSerializer) run(ctx context.Context) {
// Run all callbacks.
for cb := range cs.callbacks.Get() {
cs.callbacks.Load()
- cb.(func(context.Context))(ctx)
+ cb(ctx)
}
}
diff --git a/vendor/google.golang.org/grpc/internal/grpcsync/refcounted.go b/vendor/google.golang.org/grpc/internal/grpcsync/refcounted.go
new file mode 100644
index 000000000..bca9b8375
--- /dev/null
+++ b/vendor/google.golang.org/grpc/internal/grpcsync/refcounted.go
@@ -0,0 +1,109 @@
+/*
+ *
+ * Copyright 2026 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package grpcsync
+
+import (
+ "sync/atomic"
+
+ "google.golang.org/grpc/grpclog"
+)
+
+var logger = grpclog.Component("grpcsync")
+
+// RefCounted is a reference counted wrapper of type T. It tracks the number of
+// active references and runs a cleanup when the last reference is released.
+type RefCounted[T any] struct {
+ val T
+ refCount atomic.Int32
+ onZero func()
+}
+
+// NewRefCounted creates a new RefCounted instance wrapping the given value with
+// initial refcount of one.
+//
+// The value should typically be a pointer, interface, or handle rather than a
+// plain value type (such as a struct or primitive value).
+//
+// The provided onZero callback must not be nil, and is executed exactly once
+// when the reference count drops to zero. Panics if onZero is nil.
+//
+// WARNING: onZero runs synchronously inside Decrement; it must not acquire
+// locks held by Decrement callers.
+func NewRefCounted[T any](val T, onZero func()) *RefCounted[T] {
+ if onZero == nil {
+ panic("grpcsync: onZero callback cannot be nil")
+ }
+ rc := &RefCounted[T]{
+ val: val,
+ onZero: onZero,
+ }
+ rc.refCount.Store(1)
+ return rc
+}
+
+// Value returns the encapsulated resource.
+func (rc *RefCounted[T]) Value() T {
+ return rc.val
+}
+
+// TryIncrement attempts to increment the reference count, returning true if
+// successful. It returns false if the count has already reached 0, indicating
+// the resource has been cleaned up and cannot be resurrected.
+//
+// WARNING: Avoid calling TryIncrement on hot paths when an active reference is
+// already guaranteed by the caller; use Increment instead to bypass the
+// CompareAndSwap loop overhead. TryIncrement should be reserved for speculative
+// lookups (such as fetching from a cache or map) where the resource might be
+// dead.
+func (rc *RefCounted[T]) TryIncrement() bool {
+ // Utilize a CompareAndSwap loop to prevent race conditions where a concurrent
+ // decrement could drop the count to zero between the read and the increment
+ // operation, which would otherwise inadvertently resurrect a closed resource.
+ for {
+ count := rc.refCount.Load()
+ if count <= 0 {
+ return false // Already dead or dying
+ }
+ if rc.refCount.CompareAndSwap(count, count+1) {
+ return true
+ }
+ }
+}
+
+// Increment increments the reference count.
+//
+// WARNING: Call Increment only when there is a guarantee that an active
+// reference is already present, ensuring the resource is not dead. If there is
+// a possibility that the resource is dead or its reference count might have
+// reached zero, call TryIncrement instead.
+func (rc *RefCounted[T]) Increment() {
+ if rc.refCount.Add(1) <= 1 {
+ logger.Errorf("Resource already closed or dead")
+ }
+}
+
+// Decrement decrements the reference count. If it drops to zero, the onZero
+// callback is executed synchronously before this method returns.
+func (rc *RefCounted[T]) Decrement() {
+ if v := rc.refCount.Add(-1); v < 0 {
+ logger.Errorf("Refcount cannot be negative")
+ } else if v == 0 {
+ rc.onZero()
+ }
+}
diff --git a/vendor/google.golang.org/grpc/internal/grpcutil/encode_duration.go b/vendor/google.golang.org/grpc/internal/grpcutil/encode_duration.go
index b25b0baec..1cc43fc6b 100644
--- a/vendor/google.golang.org/grpc/internal/grpcutil/encode_duration.go
+++ b/vendor/google.golang.org/grpc/internal/grpcutil/encode_duration.go
@@ -39,7 +39,6 @@ func div(d, r time.Duration) int64 {
//
// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests
func EncodeDuration(t time.Duration) string {
- // TODO: This is simplistic and not bandwidth efficient. Improve it.
if t <= 0 {
return "0n"
}
diff --git a/vendor/google.golang.org/grpc/internal/internal.go b/vendor/google.golang.org/grpc/internal/internal.go
index 4b3d563f8..2b7fa6b08 100644
--- a/vendor/google.golang.org/grpc/internal/internal.go
+++ b/vendor/google.golang.org/grpc/internal/internal.go
@@ -245,6 +245,10 @@ var (
AsyncReporterCleanupDelegate = func(cleanup func()) func() {
return cleanup
}
+
+ // XDSFilterWrapperOption returns a ServerOption that sets the internal
+ // stream wrapper used for server-side xDS HTTP filters.
+ XDSFilterWrapperOption any // func(func(grpc.ServerStream) (grpc.ServerStream, error)) grpc.ServerOption
)
// HealthChecker defines the signature of the client-side LB channel health
diff --git a/vendor/google.golang.org/grpc/internal/mem/buffer_pool.go b/vendor/google.golang.org/grpc/internal/mem/buffer_pool.go
index c2348a82e..00aeca419 100644
--- a/vendor/google.golang.org/grpc/internal/mem/buffer_pool.go
+++ b/vendor/google.golang.org/grpc/internal/mem/buffer_pool.go
@@ -26,12 +26,26 @@ import (
"slices"
"sort"
"sync"
+
+ "google.golang.org/grpc/internal"
)
const (
goPageSize = 4 * 1024 // 4KiB. N.B. this must be a power of 2.
)
+var (
+ // BufferPoolingThreshold is the minimum size of a buffer that can be pooled.
+ // This is used to determine whether to pool buffers or allocate them directly.
+ BufferPoolingThreshold = 1 << 10
+)
+
+func init() {
+ internal.SetBufferPoolingThresholdForTesting = func(threshold int) {
+ BufferPoolingThreshold = threshold
+ }
+}
+
var uintSize = bits.UintSize // use a variable for mocking during tests.
// bufferPool is a copy of the public bufferPool interface used to avoid
@@ -73,7 +87,7 @@ type BinaryTieredBufferPool struct {
func NewBinaryTieredBufferPool(powerOfTwoExponents ...uint8) (*BinaryTieredBufferPool, error) {
return newBinaryTiered(func(size int) bufferPool {
return newSizedBufferPool(size, true)
- }, &simpleBufferPool{shouldZero: true}, powerOfTwoExponents...)
+ }, &SimpleBufferPool{shouldZero: true}, powerOfTwoExponents...)
}
// NewDirtyBinaryTieredBufferPool returns a BufferPool backed by multiple
@@ -82,7 +96,7 @@ func NewBinaryTieredBufferPool(powerOfTwoExponents ...uint8) (*BinaryTieredBuffe
func NewDirtyBinaryTieredBufferPool(powerOfTwoExponents ...uint8) (*BinaryTieredBufferPool, error) {
return newBinaryTiered(func(size int) bufferPool {
return newSizedBufferPool(size, false)
- }, &simpleBufferPool{shouldZero: false}, powerOfTwoExponents...)
+ }, NewDirtySimplePool(), powerOfTwoExponents...)
}
func newBinaryTiered(sizedPoolFactory func(int) bufferPool, fallbackPool bufferPool, powerOfTwoExponents ...uint8) (*BinaryTieredBufferPool, error) {
@@ -258,7 +272,7 @@ func newSizedBufferPool(size int, zero bool) *sizedBufferPool {
// buffer pools for different sizes of buffers.
type TieredBufferPool struct {
sizedPools []*sizedBufferPool
- fallbackPool simpleBufferPool
+ fallbackPool SimpleBufferPool
}
// NewTieredBufferPool returns a BufferPool implementation that uses multiple
@@ -271,7 +285,7 @@ func NewTieredBufferPool(poolSizes ...int) *TieredBufferPool {
}
return &TieredBufferPool{
sizedPools: pools,
- fallbackPool: simpleBufferPool{shouldZero: true},
+ fallbackPool: SimpleBufferPool{shouldZero: true},
}
}
@@ -297,16 +311,26 @@ func (p *TieredBufferPool) getPool(size int) bufferPool {
return p.sizedPools[poolIdx]
}
-// simpleBufferPool is an implementation of the BufferPool interface that
+// SimpleBufferPool is an implementation of the mem.BufferPool interface that
// attempts to pool buffers with a sync.Pool. When Get is invoked, it tries to
// acquire a buffer from the pool but if that buffer is too small, it returns it
// to the pool and creates a new one.
-type simpleBufferPool struct {
+type SimpleBufferPool struct {
pool sync.Pool
shouldZero bool
}
-func (p *simpleBufferPool) Get(size int) *[]byte {
+// NewDirtySimplePool constructs a [SimpleBufferPool]. It does not initialize
+// the buffers before returning them. Callers must ensure they don't read the
+// buffers before writing data to them.
+func NewDirtySimplePool() *SimpleBufferPool {
+ return &SimpleBufferPool{
+ shouldZero: false,
+ }
+}
+
+// Get returns a buffer with specified length from the pool.
+func (p *SimpleBufferPool) Get(size int) *[]byte {
bs, ok := p.pool.Get().(*[]byte)
if ok && cap(*bs) >= size {
if p.shouldZero {
@@ -333,6 +357,7 @@ func (p *simpleBufferPool) Get(size int) *[]byte {
return &b
}
-func (p *simpleBufferPool) Put(buf *[]byte) {
+// Put returns a buffer to the pool.
+func (p *SimpleBufferPool) Put(buf *[]byte) {
p.pool.Put(buf)
}
diff --git a/vendor/google.golang.org/grpc/internal/resolver/config_selector.go b/vendor/google.golang.org/grpc/internal/resolver/config_selector.go
index f0603871c..ead6dda4e 100644
--- a/vendor/google.golang.org/grpc/internal/resolver/config_selector.go
+++ b/vendor/google.golang.org/grpc/internal/resolver/config_selector.go
@@ -24,7 +24,6 @@ import (
"sync"
"google.golang.org/grpc/internal/serviceconfig"
- "google.golang.org/grpc/metadata"
"google.golang.org/grpc/resolver"
)
@@ -43,6 +42,10 @@ type RPCInfo struct {
// efficiency reasons. SelectConfig should not be blocking.
Context context.Context
Method string // i.e. "/Service/Method"
+ // Authority is the target authority (host) name of the RPC. This is required
+ // for HTTP filters (such as external processing) to populate request
+ // attributes.
+ Authority string
}
// RPCConfig describes the configuration to use for each RPC.
@@ -52,77 +55,7 @@ type RPCConfig struct {
Context context.Context
MethodConfig serviceconfig.MethodConfig // configuration to use for this RPC
OnCommitted func() // Called when the RPC has been committed (retries no longer possible)
- Interceptor ClientInterceptor
-}
-
-// ClientStream is the same as grpc.ClientStream, but defined here for circular
-// dependency reasons.
-type ClientStream interface {
- // Header returns the header metadata received from the server if there
- // is any. It blocks if the metadata is not ready to read.
- Header() (metadata.MD, error)
- // Trailer returns the trailer metadata from the server, if there is any.
- // It must only be called after stream.CloseAndRecv has returned, or
- // stream.Recv has returned a non-nil error (including io.EOF).
- Trailer() metadata.MD
- // CloseSend closes the send direction of the stream. It closes the stream
- // when non-nil error is met. It is also not safe to call CloseSend
- // concurrently with SendMsg.
- CloseSend() error
- // Context returns the context for this stream.
- //
- // It should not be called until after Header or RecvMsg has returned. Once
- // called, subsequent client-side retries are disabled.
- Context() context.Context
- // SendMsg is generally called by generated code. On error, SendMsg aborts
- // the stream. If the error was generated by the client, the status is
- // returned directly; otherwise, io.EOF is returned and the status of
- // the stream may be discovered using RecvMsg.
- //
- // SendMsg blocks until:
- // - There is sufficient flow control to schedule m with the transport, or
- // - The stream is done, or
- // - The stream breaks.
- //
- // SendMsg does not wait until the message is received by the server. An
- // untimely stream closure may result in lost messages. To ensure delivery,
- // users should ensure the RPC completed successfully using RecvMsg.
- //
- // It is safe to have a goroutine calling SendMsg and another goroutine
- // calling RecvMsg on the same stream at the same time, but it is not safe
- // to call SendMsg on the same stream in different goroutines. It is also
- // not safe to call CloseSend concurrently with SendMsg.
- SendMsg(m any) error
- // RecvMsg blocks until it receives a message into m or the stream is
- // done. It returns io.EOF when the stream completes successfully. On
- // any other error, the stream is aborted and the error contains the RPC
- // status.
- //
- // It is safe to have a goroutine calling SendMsg and another goroutine
- // calling RecvMsg on the same stream at the same time, but it is not
- // safe to call RecvMsg on the same stream in different goroutines.
- RecvMsg(m any) error
-}
-
-// ClientInterceptor is an interceptor for gRPC client streams.
-type ClientInterceptor interface {
- // NewStream produces a ClientStream for an RPC which may optionally use
- // the provided function to produce a stream for delegation. Note:
- // RPCInfo.Context should not be used (will be nil).
- //
- // done is invoked when the RPC is finished using its connection, or could
- // not be assigned a connection. RPC operations may still occur on
- // ClientStream after done is called, since the interceptor is invoked by
- // application-layer operations. done must never be nil when called.
- NewStream(ctx context.Context, ri RPCInfo, done func(), newStream func(ctx context.Context, done func()) (ClientStream, error)) (ClientStream, error)
-}
-
-// ServerInterceptor is an interceptor for incoming RPC's on gRPC server side.
-type ServerInterceptor interface {
- // AllowRPC checks if an incoming RPC is allowed to proceed based on
- // information about connection RPC was received on, and HTTP Headers. This
- // information will be piped into context.
- AllowRPC(ctx context.Context) error // TODO: Make this a real interceptor for filters such as rate limiting.
+ Interceptor any
}
type csKeyType string
diff --git a/vendor/google.golang.org/grpc/internal/stats/labels.go b/vendor/google.golang.org/grpc/internal/stats/labels.go
index fd33af51a..5ea898cb5 100644
--- a/vendor/google.golang.org/grpc/internal/stats/labels.go
+++ b/vendor/google.golang.org/grpc/internal/stats/labels.go
@@ -19,24 +19,56 @@
// Package stats provides internal stats related functionality.
package stats
-import "context"
+import (
+ "context"
+ "maps"
+)
-// Labels are the labels for metrics.
-type Labels struct {
- // TelemetryLabels are the telemetry labels to record.
- TelemetryLabels map[string]string
+// LabelCallback is a function that is executed when telemetry
+// label keys are updated.
+type LabelCallback func(map[string]string)
+type telemetryLabelCallbackKey struct{}
+
+// UpdateLabels executes registered telemetry callbacks with the update labels. Labels
+// are copied before being processed by any callbacks to ensure mutations are not
+// shared among derived contexts.
+//
+// It is the responsibility of the registrant to handle conflicts or label resets.
+func UpdateLabels(ctx context.Context, update map[string]string) {
+ executeTelemetryLabelCallbacks(ctx, update)
}
-type labelsKey struct{}
+// RegisterTelemetryLabelCallback registers a callback function that is executed whenever
+// telemetry labels are updated.
+func RegisterTelemetryLabelCallback(ctx context.Context, callback LabelCallback) context.Context {
+ if callback == nil {
+ return ctx
+ }
+
+ callbacks, ok := ctx.Value(telemetryLabelCallbackKey{}).([]LabelCallback)
+ if !ok {
+ return context.WithValue(ctx, telemetryLabelCallbackKey{}, []LabelCallback{callback})
+ }
+ return context.WithValue(ctx, telemetryLabelCallbackKey{}, append(append([]LabelCallback(nil), callbacks...), callback))
-// GetLabels returns the Labels stored in the context, or nil if there is one.
-func GetLabels(ctx context.Context) *Labels {
- labels, _ := ctx.Value(labelsKey{}).(*Labels)
- return labels
}
-// SetLabels sets the Labels in the context.
-func SetLabels(ctx context.Context, labels *Labels) context.Context {
- // could also append
- return context.WithValue(ctx, labelsKey{}, labels)
+// executeTelemetryLabelCallback runs the registered callbacks in the order they were
+// registered on the context with the provided labels. If no callbacks are registered
+// it does nothing.
+//
+// To ensure callbacks do not mutate the state of the provided label map it is copied
+// before execution.
+func executeTelemetryLabelCallbacks(ctx context.Context, labels map[string]string) {
+ callbacks, ok := ctx.Value(telemetryLabelCallbackKey{}).([]LabelCallback)
+ if !ok {
+ return
+ }
+
+ labelsCopy := map[string]string{}
+ maps.Copy(labelsCopy, labels)
+ for _, callback := range callbacks {
+ callback(labelsCopy)
+ }
+
}
diff --git a/vendor/google.golang.org/grpc/internal/transport/client_stream.go b/vendor/google.golang.org/grpc/internal/transport/client_stream.go
index cd8152ef1..046f0a555 100644
--- a/vendor/google.golang.org/grpc/internal/transport/client_stream.go
+++ b/vendor/google.golang.org/grpc/internal/transport/client_stream.go
@@ -19,6 +19,7 @@
package transport
import (
+ "fmt"
"sync/atomic"
"golang.org/x/net/http2"
@@ -28,13 +29,18 @@ import (
"google.golang.org/grpc/status"
)
+// nonGRPCDataMaxLen is the maximum length of nonGRPCDataBuf.
+//
+// NOTE: If changed this value, you MUST update the corresponding test in:
+// - /test/end2end_test.go:TestHTTPServerSendsNonGRPCHeaderSurfaceFurtherData
+const nonGRPCDataMaxLen = 1024
+
// ClientStream implements streaming functionality for a gRPC client.
type ClientStream struct {
Stream // Embed for common stream functionality.
- ct *http2Client
- done chan struct{} // closed at the end of stream to unblock writers.
- doneFunc func() // invoked at the end of stream.
+ ct *http2Client
+ done chan struct{} // closed at the end of stream to unblock writers.
headerChan chan struct{} // closed to indicate the end of header metadata.
header metadata.MD // the received header metadata
@@ -46,7 +52,11 @@ type ClientStream struct {
// headerValid indicates whether a valid header was received. Only
// meaningful after headerChan is closed (always call waitOnHeader() before
// reading its value).
- headerValid bool
+ headerValid bool
+
+ nonGRPCStatus *status.Status // the initial status from the non-gRPC response header, finalized with collected data before closing.
+ nonGRPCDataBuf []byte // stores the data of a non-gRPC response.
+
noHeaders bool // set if the client never received headers (set only after the stream is done).
headerChanClosed uint32 // set when headerChan is closed. Used to avoid closing headerChan multiple times.
bytesReceived atomic.Bool // indicates whether any bytes have been received on this stream
@@ -54,6 +64,29 @@ type ClientStream struct {
statsHandler stats.Handler // nil for internal streams (e.g., health check, ORCA) where telemetry is not supported.
}
+func (s *ClientStream) startNonGRPCDataCollection(st *status.Status) {
+ s.nonGRPCStatus = st
+ s.nonGRPCDataBuf = make([]byte, 0, nonGRPCDataMaxLen)
+}
+
+// finalizeNonGRPCStatus builds the terminal status by appending the collected
+// response body to the original non-gRPC status message.
+func (s *ClientStream) finalizeNonGRPCStatus() *status.Status {
+ msg := fmt.Sprintf("%s\ndata: %q", s.nonGRPCStatus.Message(), s.nonGRPCDataBuf)
+ return status.New(s.nonGRPCStatus.Code(), msg)
+}
+
+// handleNonGRPCData collects non-gRPC body from the given data frame.
+// It returns non-nil value when the stream should be closed with it.
+func (s *ClientStream) handleNonGRPCData(f *parsedDataFrame) *status.Status {
+ n := min(f.data.Len(), nonGRPCDataMaxLen-len(s.nonGRPCDataBuf))
+ s.nonGRPCDataBuf = append(s.nonGRPCDataBuf, f.data.ReadOnlyData()[0:n]...)
+ if len(s.nonGRPCDataBuf) >= nonGRPCDataMaxLen || f.StreamEnded() {
+ return s.finalizeNonGRPCStatus()
+ }
+ return nil
+}
+
// Read reads an n byte message from the input stream.
func (s *ClientStream) Read(n int) (mem.BufferSlice, error) {
b, err := s.Stream.read(n)
diff --git a/vendor/google.golang.org/grpc/internal/transport/controlbuf.go b/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
index 7efa52478..89c938fdb 100644
--- a/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
+++ b/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
@@ -29,6 +29,7 @@ import (
"golang.org/x/net/http2"
"golang.org/x/net/http2/hpack"
+ "google.golang.org/grpc/internal/envconfig"
"google.golang.org/grpc/internal/grpclog"
"google.golang.org/grpc/mem"
)
@@ -96,61 +97,70 @@ func (il *itemList) isEmpty() bool {
return il.head == nil
}
-// The following defines various control items which could flow through
-// the control buffer of transport. They represent different aspects of
-// control tasks, e.g., flow control, settings, streaming resetting, etc.
-
-// maxQueuedTransportResponseFrames is the most queued "transport response"
-// frames we will buffer before preventing new reads from occurring on the
-// transport. These are control frames sent in response to client requests,
-// such as RST_STREAM due to bad headers or settings acks.
-const maxQueuedTransportResponseFrames = 50
+// maxQueuedControlBufferItems is the maximum number of frames (other than
+// HEADERS and DATA) that we will buffer before preventing new reads from
+// occurring on the transport. These are control frames sent in response to
+// client requests, or frames that result in work being scheduled, such as
+// RST_STREAM due to bad headers or settings acks.
+var maxQueuedControlBufferItems = int(envconfig.ControlBufferThrottleLimit)
type cbItem interface {
- isTransportResponseFrame() bool
+ isThrottled() bool
}
+// throttledItem represents every item in the controlBuffer to which the overall
+// throttling limit applies, other than outgoing HEADERS and DATA frames.
+type throttledItem struct{}
+
+func (throttledItem) isThrottled() bool { return true }
+
+// The following defines various control items which could flow through
+// the control buffer of transport. They represent different aspects of
+// control tasks, e.g., flow control, settings, streaming resetting, etc.
+
// registerStream is used to register an incoming stream with loopy writer.
type registerStream struct {
+ throttledItem
streamID uint32
wq *writeQuota
}
-func (*registerStream) isTransportResponseFrame() bool { return false }
-
-// headerFrame is also used to register stream on the client-side.
-type headerFrame struct {
+type clientHeaders struct {
streamID uint32
hf []hpack.HeaderField
- endStream bool // Valid on server side.
- initStream func(uint32) error // Used only on the client side.
+ initStream func(uint32) error
onWrite func()
- wq *writeQuota // write quota for the stream created.
- cleanup *cleanupStream // Valid on the server side.
- onOrphaned func(error) // Valid on client-side
+ wq *writeQuota
+ onOrphaned func(error)
}
-func (h *headerFrame) isTransportResponseFrame() bool {
- return h.cleanup != nil && h.cleanup.rst // Results in a RST_STREAM
+func (*clientHeaders) isThrottled() bool { return false }
+
+type serverHeaders struct {
+ streamID uint32
+ hf []hpack.HeaderField
+ endStream bool
+ onWrite func()
+ cleanup *cleanupStream
}
+func (h *serverHeaders) isThrottled() bool { return false }
+
type cleanupStream struct {
+ throttledItem
streamID uint32
rst bool
rstCode http2.ErrCode
onWrite func()
}
-func (c *cleanupStream) isTransportResponseFrame() bool { return c.rst } // Results in a RST_STREAM
-
type earlyAbortStream struct {
+ throttledItem
streamID uint32
rst bool
hf []hpack.HeaderField // Pre-built header fields
}
-func (*earlyAbortStream) isTransportResponseFrame() bool { return false }
-
type dataFrame struct {
streamID uint32
endStream bool
@@ -162,70 +172,71 @@ type dataFrame struct {
onEachWrite func()
}
-func (*dataFrame) isTransportResponseFrame() bool { return false }
+func (*dataFrame) isThrottled() bool { return false }
type incomingWindowUpdate struct {
+ throttledItem
streamID uint32
increment uint32
}
-func (*incomingWindowUpdate) isTransportResponseFrame() bool { return false }
-
type outgoingWindowUpdate struct {
+ throttledItem
streamID uint32
increment uint32
}
-func (*outgoingWindowUpdate) isTransportResponseFrame() bool {
- return false // window updates are throttled by thresholds
-}
-
type incomingSettings struct {
+ throttledItem
ss []http2.Setting
}
-func (*incomingSettings) isTransportResponseFrame() bool { return true } // Results in a settings ACK
-
type outgoingSettings struct {
+ throttledItem
ss []http2.Setting
}
-func (*outgoingSettings) isTransportResponseFrame() bool { return false }
-
type incomingGoAway struct {
+ throttledItem
}
-func (*incomingGoAway) isTransportResponseFrame() bool { return false }
-
type goAway struct {
+ throttledItem
code http2.ErrCode
debugData []byte
headsUp bool
closeConn error // if set, loopyWriter will exit with this error
}
-func (*goAway) isTransportResponseFrame() bool { return false }
-
type ping struct {
+ throttledItem
ack bool
data [8]byte
}
-func (*ping) isTransportResponseFrame() bool { return true }
-
type outFlowControlSizeRequest struct {
+ throttledItem
resp chan uint32
}
-func (*outFlowControlSizeRequest) isTransportResponseFrame() bool { return false }
+// outStreamRequestForTesting is used by tests to retrieve a pointer to an outStream
+// safely inside the loopyWriter goroutine without racing on loopyWriter.estdStreams.
+// By holding the *outStream pointer while streams and transports close down, tests
+// can inspect settled accounting values (such as bytesOutStanding) after loopyWriter
+// has run to completion without any data races.
+type outStreamRequestForTesting struct {
+ throttledItem
+ streamID uint32
+ resp chan *outStream
+}
// closeConnection is an instruction to tell the loopy writer to flush the
// framer and exit, which will cause the transport's connection to be closed
// (by the client or server). The transport itself will close after the reader
// encounters the EOF caused by the connection closure.
-type closeConnection struct{}
-
-func (closeConnection) isTransportResponseFrame() bool { return false }
+type closeConnection struct {
+ throttledItem
+}
type outStreamState int
@@ -379,9 +390,9 @@ func (c *controlBuffer) executeAndPut(f func() bool, it cbItem) (bool, error) {
c.consumerWaiting = false
}
c.list.enqueue(it)
- if it.isTransportResponseFrame() {
+ if it.isThrottled() {
c.transportResponseFrames++
- if c.transportResponseFrames == maxQueuedTransportResponseFrames {
+ if c.transportResponseFrames == maxQueuedControlBufferItems {
// We are adding the frame that puts us over the threshold; create
// a throttling channel.
ch := make(chan struct{})
@@ -436,8 +447,8 @@ func (c *controlBuffer) getOnceLocked() (any, error) {
return nil, nil
}
h := c.list.dequeue().(cbItem)
- if h.isTransportResponseFrame() {
- if c.transportResponseFrames == maxQueuedTransportResponseFrames {
+ if h.isThrottled() {
+ if c.transportResponseFrames == maxQueuedControlBufferItems {
// We are removing the frame that put us over the
// threshold; close and clear the throttling channel.
ch := c.trfChan.Swap(nil)
@@ -464,10 +475,8 @@ func (c *controlBuffer) finish() {
// is still not aware of these yet.
for head := c.list.dequeueAll(); head != nil; head = head.next {
switch v := head.it.(type) {
- case *headerFrame:
- if v.onOrphaned != nil { // It will be nil on the server-side.
- v.onOrphaned(ErrConnClosing)
- }
+ case *clientHeaders:
+ v.onOrphaned(ErrConnClosing)
case *dataFrame:
if !v.processing {
v.data.Free()
@@ -680,42 +689,38 @@ func (l *loopyWriter) registerStreamHandler(h *registerStream) {
l.estdStreams[h.streamID] = str
}
-func (l *loopyWriter) headerHandler(h *headerFrame) error {
- if l.side == serverSide {
- str, ok := l.estdStreams[h.streamID]
- if !ok {
- if l.logger.V(logLevel) {
- l.logger.Infof("Unrecognized streamID %d in loopyWriter", h.streamID)
- }
- return nil
- }
- // Case 1.A: Server is responding back with headers.
- if !h.endStream {
- return l.writeHeader(h.streamID, h.endStream, h.hf, h.onWrite)
+func (l *loopyWriter) serverHeaderHandler(hdr *serverHeaders) error {
+ str, ok := l.estdStreams[hdr.streamID]
+ if !ok {
+ if l.logger.V(logLevel) {
+ l.logger.Infof("Unrecognized streamID %d in loopyWriter", hdr.streamID)
}
- // else: Case 1.B: Server wants to close stream.
+ return nil
+ }
- if str.state != empty { // either active or waiting on stream quota.
- // add it str's list of items.
- str.itl.enqueue(h)
- return nil
- }
- if err := l.writeHeader(h.streamID, h.endStream, h.hf, h.onWrite); err != nil {
- return err
- }
- return l.cleanupStreamHandler(h.cleanup)
+ // Case 1: Server is responding back with headers.
+ if !hdr.endStream {
+ return l.writeHeader(hdr.streamID, hdr.endStream, hdr.hf, hdr.onWrite)
}
- // Case 2: Client wants to originate stream.
+
+ // Case 2: Server is closing the stream.
+ if str.state != empty { // either active or waiting on stream quota.
+ str.itl.enqueue(hdr)
+ return nil
+ }
+ if err := l.writeHeader(hdr.streamID, hdr.endStream, hdr.hf, hdr.onWrite); err != nil {
+ return err
+ }
+ return l.cleanupStreamHandler(hdr.cleanup)
+}
+
+func (l *loopyWriter) clientHeaderHandler(hdr *clientHeaders) error {
str := &outStream{
- id: h.streamID,
+ id: hdr.streamID,
state: empty,
itl: &itemList{},
- wq: h.wq,
+ wq: hdr.wq,
}
- return l.originateStream(str, h)
-}
-
-func (l *loopyWriter) originateStream(str *outStream, hdr *headerFrame) error {
// l.draining is set when handling GoAway. In which case, we want to avoid
// creating new streams.
if l.draining {
@@ -726,7 +731,7 @@ func (l *loopyWriter) originateStream(str *outStream, hdr *headerFrame) error {
if err := hdr.initStream(str.id); err != nil {
return err
}
- if err := l.writeHeader(str.id, hdr.endStream, hdr.hf, hdr.onWrite); err != nil {
+ if err := l.writeHeader(str.id, false, hdr.hf, hdr.onWrite); err != nil {
return err
}
l.estdStreams[str.id] = str
@@ -805,6 +810,10 @@ func (l *loopyWriter) outFlowControlSizeRequestHandler(o *outFlowControlSizeRequ
o.resp <- l.sendQuota
}
+func (l *loopyWriter) outStreamRequestHandler(o *outStreamRequestForTesting) {
+ o.resp <- l.estdStreams[o.streamID]
+}
+
func (l *loopyWriter) cleanupStreamHandler(c *cleanupStream) error {
c.onWrite()
if str, ok := l.estdStreams[c.streamID]; ok {
@@ -882,8 +891,10 @@ func (l *loopyWriter) handle(i any) error {
return l.incomingSettingsHandler(i)
case *outgoingSettings:
return l.outgoingSettingsHandler(i)
- case *headerFrame:
- return l.headerHandler(i)
+ case *clientHeaders:
+ return l.clientHeaderHandler(i)
+ case *serverHeaders:
+ return l.serverHeaderHandler(i)
case *registerStream:
l.registerStreamHandler(i)
case *cleanupStream:
@@ -900,6 +911,8 @@ func (l *loopyWriter) handle(i any) error {
return l.goAwayHandler(i)
case *outFlowControlSizeRequest:
l.outFlowControlSizeRequestHandler(i)
+ case *outStreamRequestForTesting:
+ l.outStreamRequestHandler(i)
case closeConnection:
// Just return a non-I/O error and run() will flush and close the
// connection.
@@ -956,39 +969,16 @@ func (l *loopyWriter) processData() (bool, error) {
// from data is copied to h to make as big as the maximum possible HTTP2 frame
// size.
- if len(dataItem.h) == 0 && reader.Remaining() == 0 { // Empty data frame
- // Client sends out empty data frame with endStream = true
- if err := l.framer.writeData(dataItem.streamID, dataItem.endStream, nil); err != nil {
- return false, err
- }
- str.itl.dequeue() // remove the empty data item from stream
- reader.Close()
- if str.itl.isEmpty() {
- str.state = empty
- } else if trailer, ok := str.itl.peek().(*headerFrame); ok { // the next item is trailers.
- if err := l.writeHeader(trailer.streamID, trailer.endStream, trailer.hf, trailer.onWrite); err != nil {
- return false, err
- }
- if err := l.cleanupStreamHandler(trailer.cleanup); err != nil {
- return false, err
- }
- } else {
- l.activeStreams.enqueue(str)
- }
- return false, nil
- }
-
+ isEmpty := len(dataItem.h) == 0 && reader.Remaining() == 0
// Figure out the maximum size we can send
maxSize := http2MaxFrameLen
- if strQuota := int(l.oiws) - str.bytesOutStanding; strQuota <= 0 { // stream-level flow control.
+ strQuota := int(l.oiws) - str.bytesOutStanding
+ if strQuota <= 0 && !isEmpty { // stream-level flow control.
str.state = waitingOnStreamQuota
return false, nil
- } else if maxSize > strQuota {
- maxSize = strQuota
- }
- if maxSize > int(l.sendQuota) { // connection-level flow control.
- maxSize = int(l.sendQuota)
}
+ maxSize = min(maxSize, max(strQuota, 0))
+ maxSize = min(maxSize, int(l.sendQuota)) // connection-level flow control.
// Compute how much of the header and data we can send within quota and max frame length
hSize := min(maxSize, len(dataItem.h))
dSize := min(maxSize-hSize, reader.Remaining())
@@ -1039,19 +1029,23 @@ func (l *loopyWriter) processData() (bool, error) {
reader.Close()
str.itl.dequeue()
}
+ return false, l.updateStreamAfterWrite(str)
+}
+
+func (l *loopyWriter) updateStreamAfterWrite(str *outStream) error {
if str.itl.isEmpty() {
str.state = empty
- } else if trailer, ok := str.itl.peek().(*headerFrame); ok { // The next item is trailers.
+ } else if trailer, ok := str.itl.peek().(*serverHeaders); ok { // the next item is trailers.
if err := l.writeHeader(trailer.streamID, trailer.endStream, trailer.hf, trailer.onWrite); err != nil {
- return false, err
+ return err
}
if err := l.cleanupStreamHandler(trailer.cleanup); err != nil {
- return false, err
+ return err
}
} else if int(l.oiws)-str.bytesOutStanding <= 0 { // Ran out of stream quota.
str.state = waitingOnStreamQuota
} else { // Otherwise add it back to the list of active streams.
l.activeStreams.enqueue(str)
}
- return false, nil
+ return nil
}
diff --git a/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go b/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go
index 7cfbc9637..98cef9ec2 100644
--- a/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go
+++ b/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go
@@ -115,7 +115,6 @@ func (f *trInFlow) getSize() uint32 {
return atomic.LoadUint32(&f.effectiveWindowSize)
}
-// TODO(mmukhi): Simplify this code.
// inFlow deals with inbound flow control
type inFlow struct {
mu sync.Mutex
@@ -174,14 +173,14 @@ func (f *inFlow) maybeAdjust(n uint32) uint32 {
// onData is invoked when some data frame is received. It updates pendingData.
func (f *inFlow) onData(n uint32) error {
f.mu.Lock()
+ defer f.mu.Unlock()
+
f.pendingData += n
if f.pendingData+f.pendingUpdate > f.limit+f.delta {
limit := f.limit
rcvd := f.pendingData + f.pendingUpdate
- f.mu.Unlock()
return fmt.Errorf("received %d-bytes data exceeding the limit %d bytes", rcvd, limit)
}
- f.mu.Unlock()
return nil
}
@@ -189,8 +188,9 @@ func (f *inFlow) onData(n uint32) error {
// to be sent to the peer.
func (f *inFlow) onRead(n uint32) uint32 {
f.mu.Lock()
+ defer f.mu.Unlock()
+
if f.pendingData == 0 {
- f.mu.Unlock()
return 0
}
f.pendingData -= n
@@ -205,9 +205,7 @@ func (f *inFlow) onRead(n uint32) uint32 {
if f.pendingUpdate >= f.limit/4 {
wu := f.pendingUpdate
f.pendingUpdate = 0
- f.mu.Unlock()
return wu
}
- f.mu.Unlock()
return 0
}
diff --git a/vendor/google.golang.org/grpc/internal/transport/handler_server.go b/vendor/google.golang.org/grpc/internal/transport/handler_server.go
index 7ab3422b8..9cd8d28d3 100644
--- a/vendor/google.golang.org/grpc/internal/transport/handler_server.go
+++ b/vendor/google.golang.org/grpc/internal/transport/handler_server.go
@@ -424,7 +424,7 @@ func (ht *serverHandlerTransport) HandleStreams(ctx context.Context, startStream
st: ht,
headerWireLength: 0, // won't have access to header wire length until golang/go#18997.
}
- s.Stream.buf.init()
+ s.Stream.buf.init(ht.bufferPool)
s.readRequester = s
s.trReader = transportReader{
reader: recvBufferReader{ctx: s.ctx, ctxDone: s.ctx.Done(), recv: &s.buf},
@@ -479,8 +479,8 @@ func (ht *serverHandlerTransport) runStream() {
func (ht *serverHandlerTransport) incrMsgRecv() {}
-func (ht *serverHandlerTransport) Drain(string) {
- panic("Drain() is not implemented")
+func (ht *serverHandlerTransport) Drain(s string) {
+ ht.Close(errors.New(s))
}
// mapRecvMsgError returns the non-nil err into the appropriate
diff --git a/vendor/google.golang.org/grpc/internal/transport/http2_client.go b/vendor/google.golang.org/grpc/internal/transport/http2_client.go
index c943503f3..720fc4e5b 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http2_client.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http2_client.go
@@ -39,6 +39,7 @@ import (
"google.golang.org/grpc/internal"
"google.golang.org/grpc/internal/channelz"
icredentials "google.golang.org/grpc/internal/credentials"
+ "google.golang.org/grpc/internal/envconfig"
"google.golang.org/grpc/internal/grpclog"
"google.golang.org/grpc/internal/grpcsync"
"google.golang.org/grpc/internal/grpcutil"
@@ -134,6 +135,8 @@ type http2Client struct {
// goAwayDebugMessage contains a detailed human readable string about a
// GoAway frame, useful for error messages.
goAwayDebugMessage string
+ // goAwayCode records the http2.ErrCode received with the GoAway frame.
+ goAwayCode http2.ErrCode
// A condition variable used to signal when the keepalive goroutine should
// go dormant. The condition for dormancy is based on the number of active
// streams and the `PermitWithoutStream` keepalive client parameter. And
@@ -147,7 +150,7 @@ type http2Client struct {
channelz *channelz.Socket
- onClose func(GoAwayReason)
+ onClose OnCloseFunc
bufferPool mem.BufferPool
@@ -204,7 +207,7 @@ func isTemporary(err error) bool {
// NewHTTP2Client constructs a connected ClientTransport to addr based on HTTP2
// and starts to receive messages on it. Non-nil error returns if construction
// fails.
-func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts ConnectOptions, onClose func(GoAwayReason)) (_ ClientTransport, err error) {
+func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts ConnectOptions, onClose OnCloseFunc) (_ ClientTransport, err error) {
scheme := "http"
ctx, cancel := context.WithCancel(ctx)
defer func() {
@@ -316,7 +319,13 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
}
writeBufSize := opts.WriteBufferSize
readBufSize := opts.ReadBufferSize
+ // The default header list size is moving from 16MB to 8KB. The 8KB limit
+ // is only used if Enable8KBDefaultHeaderListSize is true; otherwise, the
+ // old 16MB default is used. User-specified options always take precedence.
maxHeaderListSize := defaultClientMaxHeaderListSize
+ if envconfig.Enable8KBDefaultHeaderListSize {
+ maxHeaderListSize = upcomingDefaultHeaderListSize
+ }
if opts.MaxHeaderListSize != nil {
maxHeaderListSize = *opts.MaxHeaderListSize
}
@@ -489,10 +498,9 @@ func (t *http2Client) newStream(ctx context.Context, callHdr *CallHdr, handler s
ct: t,
done: make(chan struct{}),
headerChan: make(chan struct{}),
- doneFunc: callHdr.DoneFunc,
statsHandler: handler,
}
- s.Stream.buf.init()
+ s.Stream.buf.init(t.bufferPool)
s.Stream.wq.init(defaultWriteQuota, s.done)
s.readRequester = s
// The client side stream context should have exactly the same life cycle with the user provided context.
@@ -546,8 +554,6 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
if err != nil {
return nil, err
}
- // TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields
- // first and create a slice of that exact size.
// Make the slice of certain predictable size to reduce allocations made by append.
hfLen := 7 // :method, :scheme, :path, :authority, content-type, user-agent, te
hfLen += len(authData) + len(callAuthData)
@@ -567,6 +573,21 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
if _, ok := ctx.Deadline(); ok {
hfLen++
}
+ // Count the metadata header fields as well so the slice is not reallocated
+ // while they are appended below. Reserved headers are dropped when writing,
+ // so this may slightly over-count, which is preferable to growing the slice.
+ md, added, mdOK := metadataFromOutgoingContextRaw(ctx)
+ if mdOK {
+ for _, vv := range md {
+ hfLen += len(vv)
+ }
+ for _, vv := range added {
+ hfLen += len(vv) / 2
+ }
+ }
+ for _, vv := range t.md {
+ hfLen += len(vv)
+ }
headerFields := make([]hpack.HeaderField, 0, hfLen)
headerFields = append(headerFields, hpack.HeaderField{Name: ":method", Value: "POST"})
headerFields = append(headerFields, hpack.HeaderField{Name: ":scheme", Value: t.scheme})
@@ -611,7 +632,7 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
}
- if md, added, ok := metadataFromOutgoingContextRaw(ctx); ok {
+ if mdOK {
var k string
for k, vv := range md {
// HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set.
@@ -640,6 +661,9 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
if isReservedHeader(k) {
continue
}
+ if err := imetadata.ValidatePair(k, vv...); err != nil {
+ return nil, status.Error(codes.Internal, err.Error())
+ }
for _, v := range vv {
headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
}
@@ -683,6 +707,9 @@ func (t *http2Client) getTrAuthData(ctx context.Context, audience string) (map[s
for k, v := range data {
// Capital header names are illegal in HTTP/2.
k = strings.ToLower(k)
+ if err := imetadata.ValidatePair(k, v); err != nil {
+ return nil, status.Error(codes.Internal, err.Error())
+ }
authData[k] = v
}
}
@@ -716,6 +743,9 @@ func (t *http2Client) getCallAuthData(ctx context.Context, audience string, call
for k, v := range data {
// Capital header names are illegal in HTTP/2
k = strings.ToLower(k)
+ if err := imetadata.ValidatePair(k, v); err != nil {
+ return nil, status.Error(codes.Internal, err.Error())
+ }
callAuthData[k] = v
}
}
@@ -797,9 +827,8 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr, handler s
close(s.headerChan)
}
}
- hdr := &headerFrame{
- hf: headerFields,
- endStream: false,
+ hdr := &clientHeaders{
+ hf: headerFields,
initStream: func(uint32) error {
t.mu.Lock()
// TODO: handle transport closure in loopy instead and remove this
@@ -877,8 +906,8 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr, handler s
return false
}
}
- if sz > int64(upcomingDefaultHeaderListSize) {
- t.logger.Warningf("Header list size to send (%d bytes) is larger than the upcoming default limit (%d bytes). In a future release, this will be restricted to %d bytes.", sz, upcomingDefaultHeaderListSize, upcomingDefaultHeaderListSize)
+ if !envconfig.Enable8KBDefaultHeaderListSize && sz > int64(upcomingDefaultHeaderListSize) {
+ t.logger.Warningf("Header list size to send (%d bytes) is larger than the upcoming default limit (%d bytes). In release v1.82.0, GRPC_GO_EXPERIMENTAL_ENABLE_8KB_DEFAULT_HEADER_LIST_SIZE will be enabled by default, enforcing this limit.", sz, upcomingDefaultHeaderListSize)
}
return true
}
@@ -990,9 +1019,6 @@ func (t *http2Client) closeStream(s *ClientStream, err error, rst bool, rstCode
t.controlBuf.executeAndPut(addBackStreamQuota, cleanup)
// This will unblock write.
close(s.done)
- if s.doneFunc != nil {
- s.doneFunc()
- }
}
// Close kicks off the shutdown process of the transport. This should be called
@@ -1015,7 +1041,7 @@ func (t *http2Client) Close(err error) {
// Call t.onClose ASAP to prevent the client from attempting to create new
// streams.
if t.state != draining {
- t.onClose(GoAwayInvalid)
+ t.onClose(GoAwayInfo{Reason: GoAwayInvalid, GoAwayCode: http2.ErrCodeNo, Err: err})
}
t.state = closing
streams := t.activeStreams
@@ -1086,7 +1112,7 @@ func (t *http2Client) GracefulClose() {
if t.logger.V(logLevel) {
t.logger.Infof("GracefulClose called")
}
- t.onClose(GoAwayInvalid)
+ t.onClose(GoAwayInfo{Reason: GoAwayInvalid, GoAwayCode: http2.ErrCodeNo})
t.state = draining
active := len(t.activeStreams)
t.mu.Unlock()
@@ -1222,10 +1248,33 @@ func (t *http2Client) handleData(f *parsedDataFrame) {
t.closeStream(s, io.EOF, true, http2.ErrCodeFlowControl, status.New(codes.Internal, err.Error()), nil, false)
return
}
+ }
+
+ if s.nonGRPCStatus != nil {
+ // The frame should be handled as a non-gRPC response body. A non-nil
+ // status also covers END_STREAM, so no separate handling is needed below.
+ st := s.handleNonGRPCData(f)
+ if st != nil {
+ t.closeStream(s, st.Err(), true, http2.ErrCodeProtocol, st, nil, true)
+ return
+ }
+ if w := s.fc.onRead(size); w > 0 {
+ t.controlBuf.put(&outgoingWindowUpdate{
+ streamID: s.id,
+ increment: w,
+ })
+ }
+ return
+ }
+
+ if size > 0 {
dataLen := f.data.Len()
if f.Header().Flags.Has(http2.FlagDataPadded) {
if w := s.fc.onRead(size - uint32(dataLen)); w > 0 {
- t.controlBuf.put(&outgoingWindowUpdate{s.id, w})
+ t.controlBuf.put(&outgoingWindowUpdate{
+ streamID: s.id,
+ increment: w,
+ })
}
}
if dataLen > 0 {
@@ -1236,7 +1285,10 @@ func (t *http2Client) handleData(f *parsedDataFrame) {
// The server has closed the stream without sending trailers. Record that
// the read direction is closed, and set the status appropriately.
if f.StreamEnded() {
- t.closeStream(s, io.EOF, false, http2.ErrCodeNo, status.New(codes.Internal, "server closed the stream without sending trailers"), nil, true)
+ // If client received END_STREAM from server while stream was still
+ // active, send RST_STREAM.
+ rstStream := s.getState() == streamActive
+ t.closeStream(s, io.EOF, rstStream, http2.ErrCodeNo, status.New(codes.Internal, "server closed the stream without sending trailers"), nil, true)
}
}
@@ -1372,7 +1424,7 @@ func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) error {
// draining, to allow the client to stop attempting to create streams
// before disallowing new streams on this connection.
if t.state != draining {
- t.onClose(t.goAwayReason)
+ t.onClose(GoAwayInfo{Reason: t.goAwayReason, GoAwayCode: t.goAwayCode})
t.state = draining
}
}
@@ -1422,6 +1474,7 @@ func (t *http2Client) setGoAwayReason(f *http2.GoAwayFrame) {
} else {
t.goAwayDebugMessage = fmt.Sprintf("code: %s, debug data: %q", f.ErrCode, string(f.DebugData()))
}
+ t.goAwayCode = f.ErrCode
}
func (t *http2Client) GetGoAwayReason() (GoAwayReason, string) {
@@ -1462,6 +1515,17 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
return
}
+ // If we are collecting non-gRPC response data and receive a trailing
+ // HEADERS frame with END_STREAM, finalize the buffered data and close
+ // the stream.
+ if s.nonGRPCStatus != nil {
+ if endStream {
+ st := s.finalizeNonGRPCStatus()
+ t.closeStream(s, st.Err(), true, http2.ErrCodeProtocol, st, nil, true)
+ }
+ return
+ }
+
var (
// If a gRPC Response-Headers has already been received, then it means
// that the peer is speaking gRPC and we are in gRPC mode.
@@ -1562,7 +1626,12 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
}
se := status.New(grpcErrorCode, strings.Join(errs, "; "))
- t.closeStream(s, se.Err(), true, http2.ErrCodeProtocol, se, nil, endStream)
+ if endStream {
+ t.closeStream(s, se.Err(), true, http2.ErrCodeProtocol, se, nil, true)
+ return
+ }
+
+ s.startNonGRPCDataCollection(se)
return
}
@@ -1833,7 +1902,7 @@ func (t *http2Client) getOutFlowWindow() int64 {
resp := make(chan uint32, 1)
timer := time.NewTimer(time.Second)
defer timer.Stop()
- t.controlBuf.put(&outFlowControlSizeRequest{resp})
+ t.controlBuf.put(&outFlowControlSizeRequest{resp: resp})
select {
case sz := <-resp:
return int64(sz)
diff --git a/vendor/google.golang.org/grpc/internal/transport/http2_server.go b/vendor/google.golang.org/grpc/internal/transport/http2_server.go
index 3a8c36e4f..f11e88cc5 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http2_server.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http2_server.go
@@ -38,11 +38,13 @@ import (
"google.golang.org/protobuf/proto"
"google.golang.org/grpc/internal"
+ "google.golang.org/grpc/internal/envconfig"
"google.golang.org/grpc/internal/grpclog"
"google.golang.org/grpc/internal/grpcutil"
"google.golang.org/grpc/internal/pretty"
istatus "google.golang.org/grpc/internal/status"
"google.golang.org/grpc/internal/syscall"
+ transportinternal "google.golang.org/grpc/internal/transport/internal"
"google.golang.org/grpc/mem"
"google.golang.org/grpc/codes"
@@ -165,7 +167,13 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
}
writeBufSize := config.WriteBufferSize
readBufSize := config.ReadBufferSize
+ // The default header list size is moving from 16MB to 8KB. The 8KB limit
+ // is only used if Enable8KBDefaultHeaderListSize is true; otherwise, the
+ // old 16MB default is used. User-specified options always take precedence.
maxHeaderListSize := defaultServerMaxHeaderListSize
+ if envconfig.Enable8KBDefaultHeaderListSize {
+ maxHeaderListSize = upcomingDefaultHeaderListSize
+ }
if config.MaxHeaderListSize != nil {
maxHeaderListSize = *config.MaxHeaderListSize
}
@@ -399,7 +407,7 @@ func (t *http2Server) operateHeaders(ctx context.Context, frame *http2.MetaHeade
st: t,
headerWireLength: int(frame.Header().Length),
}
- s.Stream.buf.init()
+ s.Stream.buf.init(t.bufferPool)
var (
// if false, content-type was missing or invalid
isGRPC = false
@@ -514,9 +522,16 @@ func (t *http2Server) operateHeaders(ctx context.Context, frame *http2.MetaHeade
delete(mdata, "host")
}
+ // If :authority is still missing, i.e. no host or :authority header is
+ // present, reject the request as invalid.
+ if len(mdata[":authority"]) == 0 {
+ t.writeEarlyAbort(streamID, s.contentSubtype, status.New(codes.Internal, "no host or :authority header present"), http.StatusBadRequest, !frame.StreamEnded())
+ return nil
+ }
if frame.StreamEnded() {
// s is just created by the caller. No lock needed.
s.state = streamReadDone
+ s.write(recvMsg{err: io.EOF})
}
if timeoutSet {
s.ctx, s.cancel = context.WithTimeout(ctx, timeout)
@@ -802,7 +817,10 @@ func (t *http2Server) handleData(f *parsedDataFrame) {
dataLen := f.data.Len()
if f.Header().Flags.Has(http2.FlagDataPadded) {
if w := s.fc.onRead(size - uint32(dataLen)); w > 0 {
- t.controlBuf.put(&outgoingWindowUpdate{s.id, w})
+ t.controlBuf.put(&outgoingWindowUpdate{
+ streamID: s.id,
+ increment: w,
+ })
}
}
if dataLen > 0 {
@@ -948,8 +966,8 @@ func (t *http2Server) checkForHeaderListSize(hf []hpack.HeaderField) bool {
return false
}
}
- if sz > int64(upcomingDefaultHeaderListSize) {
- t.logger.Warningf("Header list size to send (%d bytes) is larger than the upcoming default limit (%d bytes). In a future release, this will be restricted to %d bytes.", sz, upcomingDefaultHeaderListSize, upcomingDefaultHeaderListSize)
+ if !envconfig.Enable8KBDefaultHeaderListSize && sz > int64(upcomingDefaultHeaderListSize) {
+ t.logger.Warningf("Header list size to send (%d bytes) is larger than the upcoming default limit (%d bytes). In release v1.82.0, GRPC_GO_EXPERIMENTAL_ENABLE_8KB_DEFAULT_HEADER_LIST_SIZE will be enabled by default, enforcing this limit.", sz, upcomingDefaultHeaderListSize)
}
return true
}
@@ -1039,7 +1057,7 @@ func (t *http2Server) writeHeaderLocked(s *ServerStream) error {
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-encoding", Value: s.sendCompress})
}
headerFields = appendHeaderFieldsFromMD(headerFields, s.header)
- hf := &headerFrame{
+ hf := &serverHeaders{
streamID: s.id,
hf: headerFields,
endStream: false,
@@ -1107,7 +1125,7 @@ func (t *http2Server) writeStatus(s *ServerStream, st *status.Status) error {
// Attach the trailer metadata.
headerFields = appendHeaderFieldsFromMD(headerFields, s.trailer)
- trailingHeader := &headerFrame{
+ trailingHeader := &serverHeaders{
streamID: s.id,
hf: headerFields,
endStream: true,
@@ -1317,7 +1335,7 @@ func (t *http2Server) deleteStream(s *ServerStream, eosReceived bool) {
}
// finishStream closes the stream and puts the trailing headerFrame into controlbuf.
-func (t *http2Server) finishStream(s *ServerStream, rst bool, rstCode http2.ErrCode, hdr *headerFrame, eosReceived bool) {
+func (t *http2Server) finishStream(s *ServerStream, rst bool, rstCode http2.ErrCode, hdr *serverHeaders, eosReceived bool) {
// In case stream sending and receiving are invoked in separate
// goroutines (e.g., bi-directional streaming), cancel needs to be
// called to interrupt the potential blocking on other goroutines.
@@ -1441,14 +1459,14 @@ func (t *http2Server) socketMetrics() *channelz.EphemeralSocketMetrics {
func (t *http2Server) incrMsgSent() {
if channelz.IsOn() {
t.channelz.SocketMetrics.MessagesSent.Add(1)
- t.channelz.SocketMetrics.LastMessageSentTimestamp.Add(1)
+ t.channelz.SocketMetrics.LastMessageSentTimestamp.Store(transportinternal.TimeNowFunc())
}
}
func (t *http2Server) incrMsgRecv() {
if channelz.IsOn() {
t.channelz.SocketMetrics.MessagesReceived.Add(1)
- t.channelz.SocketMetrics.LastMessageReceivedTimestamp.Add(1)
+ t.channelz.SocketMetrics.LastMessageReceivedTimestamp.Store(transportinternal.TimeNowFunc())
}
}
@@ -1456,7 +1474,7 @@ func (t *http2Server) getOutFlowWindow() int64 {
resp := make(chan uint32, 1)
timer := time.NewTimer(time.Second)
defer timer.Stop()
- t.controlBuf.put(&outFlowControlSizeRequest{resp})
+ t.controlBuf.put(&outFlowControlSizeRequest{resp: resp})
select {
case sz := <-resp:
return int64(sz)
diff --git a/vendor/google.golang.org/grpc/internal/transport/http_util.go b/vendor/google.golang.org/grpc/internal/transport/http_util.go
index 5bbb641ad..faa42f8ca 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http_util.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http_util.go
@@ -36,6 +36,9 @@ import (
"golang.org/x/net/http2"
"golang.org/x/net/http2/hpack"
"google.golang.org/grpc/codes"
+ "google.golang.org/grpc/internal/envconfig"
+ imem "google.golang.org/grpc/internal/mem"
+ "google.golang.org/grpc/internal/transport/readyreader"
"google.golang.org/grpc/mem"
)
@@ -296,25 +299,30 @@ func decodeGrpcMessageUnchecked(msg string) string {
}
type bufWriter struct {
- pool *sync.Pool
- buf []byte
+ pool *imem.SimpleBufferPool
+ bufHandle *[]byte
offset int
batchSize int
conn io.Writer
err error
}
-func newBufWriter(conn io.Writer, batchSize int, pool *sync.Pool) *bufWriter {
- w := &bufWriter{
- batchSize: batchSize,
- conn: conn,
- pool: pool,
- }
- // this indicates that we should use non shared buf
- if pool == nil {
- w.buf = make([]byte, batchSize)
+// unsharedBufWriter keeps the unshared slice header in the writer allocation.
+type unsharedBufWriter struct {
+ bufWriter
+ buf []byte
+}
+
+func newBufWriter(conn io.Writer, batchSize int, pool *imem.SimpleBufferPool) *bufWriter {
+ if pool == nil && batchSize > 0 {
+ w := &unsharedBufWriter{
+ bufWriter: bufWriter{batchSize: batchSize, conn: conn},
+ buf: make([]byte, batchSize),
+ }
+ w.bufHandle = &w.buf
+ return &w.bufWriter
}
- return w
+ return &bufWriter{batchSize: batchSize, conn: conn, pool: pool}
}
func (w *bufWriter) Write(b []byte) (int, error) {
@@ -325,13 +333,13 @@ func (w *bufWriter) Write(b []byte) (int, error) {
n, err := w.conn.Write(b)
return n, toIOError(err)
}
- if w.buf == nil {
- b := w.pool.Get().(*[]byte)
- w.buf = *b
+ if w.bufHandle == nil {
+ w.bufHandle = w.pool.Get(w.batchSize)
}
+ buf := *w.bufHandle
written := 0
for len(b) > 0 {
- copied := copy(w.buf[w.offset:], b)
+ copied := copy(buf[w.offset:], b)
b = b[copied:]
written += copied
w.offset += copied
@@ -347,15 +355,17 @@ func (w *bufWriter) Write(b []byte) (int, error) {
func (w *bufWriter) Flush() error {
err := w.flushKeepBuffer()
- // Only release the buffer if we are in a "shared" mode
- if w.buf != nil && w.pool != nil {
- b := w.buf
- w.pool.Put(&b)
- w.buf = nil
- }
+ w.releaseBuffer()
return err
}
+func (w *bufWriter) releaseBuffer() {
+ if w.pool != nil && w.bufHandle != nil {
+ w.pool.Put(w.bufHandle)
+ w.bufHandle = nil
+ }
+}
+
func (w *bufWriter) flushKeepBuffer() error {
if w.err != nil {
return w.err
@@ -363,9 +373,13 @@ func (w *bufWriter) flushKeepBuffer() error {
if w.offset == 0 {
return nil
}
- _, w.err = w.conn.Write(w.buf[:w.offset])
+ buf := *w.bufHandle
+ _, w.err = w.conn.Write(buf[:w.offset])
w.err = toIOError(w.err)
w.offset = 0
+ if w.err != nil {
+ w.releaseBuffer()
+ }
return w.err
}
@@ -407,22 +421,32 @@ type framer struct {
errDetail error
}
-var writeBufferPoolMap = make(map[int]*sync.Pool)
-var writeBufferMutex sync.Mutex
+var ioBufferPoolMap = make(map[int]*imem.SimpleBufferPool)
+var ioBufferMutex sync.Mutex
+
+func bufferedReader(r io.Reader, bufSize int) io.Reader {
+ if bufSize <= 0 {
+ return r
+ }
+ if envconfig.EnableHTTPFramerReadBufferPooling {
+ if rr := readyreader.NewNonBlocking(r); rr != nil {
+ readPool := ioBufferPool(bufSize)
+ return readyreader.NewBuffered(rr, bufSize, readPool)
+ }
+ }
+ return bufio.NewReaderSize(r, bufSize)
+}
func newFramer(conn io.ReadWriter, writeBufferSize, readBufferSize int, sharedWriteBuffer bool, maxHeaderListSize uint32, memPool mem.BufferPool) *framer {
if writeBufferSize < 0 {
writeBufferSize = 0
}
- var r io.Reader = conn
- if readBufferSize > 0 {
- r = bufio.NewReaderSize(r, readBufferSize)
- }
- var pool *sync.Pool
+ r := bufferedReader(conn, readBufferSize)
+ var writePool *imem.SimpleBufferPool
if sharedWriteBuffer {
- pool = getWriteBufferPool(writeBufferSize)
+ writePool = ioBufferPool(writeBufferSize)
}
- w := newBufWriter(conn, writeBufferSize, pool)
+ w := newBufWriter(conn, writeBufferSize, writePool)
f := &framer{
writer: w,
fr: http2.NewFramer(w, r),
@@ -578,20 +602,15 @@ func (df *parsedDataFrame) Header() http2.FrameHeader {
return df.FrameHeader
}
-func getWriteBufferPool(size int) *sync.Pool {
- writeBufferMutex.Lock()
- defer writeBufferMutex.Unlock()
- pool, ok := writeBufferPoolMap[size]
+func ioBufferPool(size int) *imem.SimpleBufferPool {
+ ioBufferMutex.Lock()
+ defer ioBufferMutex.Unlock()
+ pool, ok := ioBufferPoolMap[size]
if ok {
return pool
}
- pool = &sync.Pool{
- New: func() any {
- b := make([]byte, size)
- return &b
- },
- }
- writeBufferPoolMap[size] = pool
+ pool = imem.NewDirtySimplePool()
+ ioBufferPoolMap[size] = pool
return pool
}
diff --git a/vendor/google.golang.org/grpc/internal/grpcutil/regex.go b/vendor/google.golang.org/grpc/internal/transport/internal/internal.go
similarity index 59%
rename from vendor/google.golang.org/grpc/internal/grpcutil/regex.go
rename to vendor/google.golang.org/grpc/internal/transport/internal/internal.go
index 7a092b2b8..a7c7c7d5a 100644
--- a/vendor/google.golang.org/grpc/internal/grpcutil/regex.go
+++ b/vendor/google.golang.org/grpc/internal/transport/internal/internal.go
@@ -1,6 +1,6 @@
/*
*
- * Copyright 2021 gRPC authors.
+ * Copyright 2026 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,16 +16,10 @@
*
*/
-package grpcutil
+// Package internal contains functionality internal to the transport package.
+package internal
-import "regexp"
-
-// FullMatchWithRegex returns whether the full text matches the regex provided.
-func FullMatchWithRegex(re *regexp.Regexp, text string) bool {
- if len(text) == 0 {
- return re.MatchString(text)
- }
- re.Longest()
- rem := re.FindString(text)
- return len(rem) == len(text)
-}
+// TimeNowFunc is a variable that can be set to override the default behavior of
+// getting the current time in nanoseconds. It is used in transport code to set
+// channelz timestamps, and is exposed here for testing purposes.
+var TimeNowFunc func() int64
diff --git a/vendor/google.golang.org/grpc/internal/transport/readyreader/raw_conn_linux.go b/vendor/google.golang.org/grpc/internal/transport/readyreader/raw_conn_linux.go
new file mode 100644
index 000000000..56906c35b
--- /dev/null
+++ b/vendor/google.golang.org/grpc/internal/transport/readyreader/raw_conn_linux.go
@@ -0,0 +1,39 @@
+/*
+ *
+ * Copyright 2026 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package readyreader
+
+import "syscall"
+
+func isRawConnSupported() bool {
+ return true
+}
+
+// sysRead uses the standard syscall package rather than the modern unix package
+// to avoid triggering the race detector. Because both packages perform sync
+// operations on a local variable to satisfy the race detector, mixing them
+// for read and write syscalls causes data races. We use syscall here to remain
+// consistent with net.Conn implementations in standard library.
+func sysRead(fd uintptr, p []byte) (int, error) {
+ return syscall.Read(int(fd), p)
+}
+
+// wouldBlock checks standard Unix non-blocking errors.
+func wouldBlock(err error) bool {
+ return err == syscall.EAGAIN || err == syscall.EWOULDBLOCK
+}
diff --git a/vendor/google.golang.org/grpc/internal/transport/readyreader/raw_conn_nonlinux.go b/vendor/google.golang.org/grpc/internal/transport/readyreader/raw_conn_nonlinux.go
new file mode 100644
index 000000000..4d1f33006
--- /dev/null
+++ b/vendor/google.golang.org/grpc/internal/transport/readyreader/raw_conn_nonlinux.go
@@ -0,0 +1,35 @@
+//go:build !linux
+
+/*
+ *
+ * Copyright 2026 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package readyreader
+
+func isRawConnSupported() bool {
+ return false
+}
+
+// sysRead is not implemented. Support can be added in the future if necessary.
+func sysRead(uintptr, []byte) (int, error) {
+ panic("RawConn functionality is not implemented for non-unix platforms.")
+}
+
+// wouldBlock is not implemented. Support can be added in the future if necessary.
+func wouldBlock(error) bool {
+ panic("RawConn functionality is not implemented for non-unix platforms.")
+}
diff --git a/vendor/google.golang.org/grpc/internal/transport/readyreader/ready_reader.go b/vendor/google.golang.org/grpc/internal/transport/readyreader/ready_reader.go
new file mode 100644
index 000000000..250a300c7
--- /dev/null
+++ b/vendor/google.golang.org/grpc/internal/transport/readyreader/ready_reader.go
@@ -0,0 +1,253 @@
+/*
+ *
+ * Copyright 2026 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// Package readyreader provides utilities to perform non-memory-pinning reads.
+package readyreader
+
+import (
+ "io"
+ "net"
+ "syscall"
+
+ "google.golang.org/grpc/mem"
+)
+
+// Reader is an optional interface that can be implemented by [net.Conn]
+// implementations to enable gRPC to perform non-memory-pinning reads.
+type Reader interface {
+ // ReadOnReady waits for data to arrive, fetches a buffer, and performs a
+ // read. When the underlying IO is readable, it allocates a buffer of size
+ // bufSize from the pool and reads up to bufSize bytes into the buffer.
+ //
+ // It returns a pointer to the buffer so it can be returned to the pool
+ // later, the number of bytes read, and an error.
+ //
+ // Callers should always process the n > 0 bytes returned before considering
+ // the error. Doing so correctly handles I/O errors that happen after
+ // reading some bytes, as well as both of the allowed EOF behaviors.
+ ReadOnReady(bufSize int, pool mem.BufferPool) (b *[]byte, n int, err error)
+}
+
+// nonBlockingReader is optimized for non-memory-pinning reads using the RawConn
+// interface.
+type nonBlockingReader struct {
+ raw syscall.RawConn
+ // The following fields are stored as field to avoid heap allocations.
+ state readState
+ doRead func(fd uintptr) bool
+}
+
+type readState struct {
+ // Request params.
+ bufSize int
+ pool mem.BufferPool
+
+ // Response params.
+ readError error
+ bytesRead int
+ buf *[]byte
+}
+
+// NewNonBlocking returns a ReadyReader if the passed reader supports
+// non-memory-pinning reads, else nil.
+func NewNonBlocking(r io.Reader) Reader {
+ if rr, ok := r.(Reader); ok {
+ return rr
+ }
+ if !isRawConnSupported() {
+ return nil
+ }
+ // We restrict the types before asserting syscall.Conn. The credentials
+ // package may return a wrapper that implements syscall.Conn by embedding
+ // both the raw connection and the encrypted connection. If the code
+ // attempts to read directly from the raw syscall.RawConn, it would read
+ // encrypted data.
+ switch r.(type) {
+ case *net.TCPConn, *net.UDPConn, *net.UnixConn, *net.IPConn:
+ default:
+ return nil
+ }
+ sysConn, ok := r.(syscall.Conn)
+ if !ok {
+ return nil
+ }
+ raw, err := sysConn.SyscallConn()
+ if err != nil {
+ return nil
+ }
+ rr := &nonBlockingReader{raw: raw}
+ rr.doRead = func(fd uintptr) bool {
+ s := &rr.state
+
+ s.buf = s.pool.Get(s.bufSize)
+ s.bytesRead, s.readError = sysRead(fd, *s.buf)
+
+ if s.readError != nil {
+ s.pool.Put(s.buf)
+ s.buf = nil
+ }
+ return !wouldBlock(s.readError)
+ }
+ return rr
+}
+
+func (c *nonBlockingReader) ReadOnReady(bufSize int, pool mem.BufferPool) (*[]byte, int, error) {
+ c.state = readState{
+ pool: pool,
+ bufSize: bufSize,
+ }
+ err := c.raw.Read(c.doRead)
+
+ buf := c.state.buf
+ n := c.state.bytesRead
+ readErr := c.state.readError
+ c.state = readState{}
+
+ if err != nil {
+ if buf != nil {
+ pool.Put(buf)
+ }
+ return nil, 0, err
+ }
+ if readErr != nil {
+ // buffer is already released in the callback.
+ return nil, 0, readErr
+ }
+ if n == 0 {
+ // syscall.Read doesn't consider a graceful socket closure to be an
+ // error condition, but Go's io.Reader expects an EOF error.
+ pool.Put(buf)
+ return nil, 0, io.EOF
+ }
+ return buf, n, nil
+}
+
+type blockingReader struct {
+ reader io.Reader
+}
+
+func (c *blockingReader) ReadOnReady(bufSize int, pool mem.BufferPool) (*[]byte, int, error) {
+ buf := pool.Get(bufSize)
+ n, err := c.reader.Read(*buf)
+ if err != nil {
+ pool.Put(buf)
+ return nil, 0, err
+ }
+ return buf, n, nil
+}
+
+// New detects if [syscall.RawConn] is available for non-memory-pinning reads.
+// If [syscall.RawConn] is unavailable, it falls back to using the simpler
+// [io.Reader] interface for reads.
+func New(r io.Reader) Reader {
+ if r := NewNonBlocking(r); r != nil {
+ return r
+ }
+ return &blockingReader{reader: r}
+}
+
+// bufReadyReader implements buffering for a ReadyReader object.
+// A new bufReadyReader is created by calling [NewBuffered].
+type bufReadyReader struct {
+ buf *[]byte
+ pool mem.BufferPool
+ bufSize int
+ rd Reader // reader provided by the caller
+ r, w int // buf read and write positions
+ err error
+ constPool constBufferPool // stored as a field to avoid heap allocations.
+}
+
+// NewBuffered returns a new [io.Reader] with a buffer of the specified size
+// which is allocated from the provided pool.
+func NewBuffered(rd Reader, size int, pool mem.BufferPool) io.Reader {
+ return &bufReadyReader{
+ rd: rd,
+ pool: pool,
+ bufSize: size,
+ }
+}
+
+func (b *bufReadyReader) readErr() error {
+ err := b.err
+ b.err = nil
+ return err
+}
+
+func (b *bufReadyReader) buffered() int { return b.w - b.r }
+
+// Read reads data into p. It returns the number of bytes read into p. The
+// bytes are taken from at most one Read on the underlying [ReadyReader],
+// hence n may be less than len(p). If the underlying [ReadyReader] can return
+// a non-zero count with io.EOF, then this Read method can do so as well; see
+// the [io.Reader] docs.
+func (b *bufReadyReader) Read(p []byte) (n int, err error) {
+ n = len(p)
+ if n == 0 {
+ if b.buffered() > 0 {
+ return 0, nil
+ }
+ return 0, b.readErr()
+ }
+ if b.r == b.w {
+ if b.err != nil {
+ return 0, b.readErr()
+ }
+ if len(p) >= b.bufSize {
+ // Large read, empty buffer.
+ // Read directly into p to avoid copy.
+ b.constPool.buffer = p
+ _, n, b.err = b.rd.ReadOnReady(len(p), &b.constPool)
+ return n, b.readErr()
+ }
+ // One read.
+ b.r = 0
+ b.w = 0
+ b.buf, n, b.err = b.rd.ReadOnReady(b.bufSize, b.pool)
+ if n == 0 {
+ if b.buf != nil {
+ b.pool.Put(b.buf)
+ b.buf = nil
+ }
+ return 0, b.readErr()
+ }
+ b.w += n
+ }
+
+ // copy as much as we can
+ // b.buf must be non-nil since b.r != b.w.
+ buf := *b.buf
+ n = copy(p, buf[b.r:b.w])
+ b.r += n
+ if b.r == b.w {
+ // Consumed entire buffer, release it.
+ b.pool.Put(b.buf)
+ b.buf = nil
+ }
+ return n, nil
+}
+
+type constBufferPool struct {
+ buffer []byte
+}
+
+func (p *constBufferPool) Get(int) *[]byte {
+ return &p.buffer
+}
+
+func (p *constBufferPool) Put(*[]byte) {}
diff --git a/vendor/google.golang.org/grpc/internal/transport/transport.go b/vendor/google.golang.org/grpc/internal/transport/transport.go
index b86094da9..fc656b36c 100644
--- a/vendor/google.golang.org/grpc/internal/transport/transport.go
+++ b/vendor/google.golang.org/grpc/internal/transport/transport.go
@@ -30,10 +30,15 @@ import (
"sync"
"sync/atomic"
"time"
+ "unsafe"
+ "golang.org/x/net/http2"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/internal/channelz"
+ "google.golang.org/grpc/internal/envconfig"
+ imem "google.golang.org/grpc/internal/mem"
+ "google.golang.org/grpc/internal/transport/internal"
"google.golang.org/grpc/keepalive"
"google.golang.org/grpc/mem"
"google.golang.org/grpc/metadata"
@@ -43,7 +48,34 @@ import (
"google.golang.org/grpc/tap"
)
-const logLevel = 2
+const (
+ logLevel = 2
+ // recvMsgSize estimates the memory overhead of a recvMsg in the backlog.
+ // It accounts for the recvMsg struct itself and the slice header of the
+ // underlying buffer's data.
+ recvMsgSize = int(unsafe.Sizeof(recvMsg{}) + unsafe.Sizeof([]byte{}))
+
+ // utilizationFactor controls when we consider memory utilization acceptable.
+ // When backlogHeapSize / payloadSize <= utilizationFactor (meaning at least
+ // 50% of the heap memory is actual payload data), compaction is skipped.
+ utilizationFactor = 2
+)
+
+var (
+ // compactionThreshold is approx 57KB (on 64-bit systems). It allows
+ // accumulating up to 1024 1-byte payloads before triggering compaction.
+ //
+ // Because individual payloads <= 1024 bytes are allocated on the heap
+ // outside mem.BufferPool, waiting for at least 1024 bytes to accumulate
+ // ensures that compaction coalesces those small heap allocations into a
+ // single large buffer from mem.BufferPool, enabling buffer reuse while
+ // avoiding frequent copying for small bursts of frames.
+ compactionThreshold = imem.BufferPoolingThreshold * (recvMsgSize + 1)
+)
+
+func init() {
+ internal.TimeNowFunc = func() int64 { return time.Now().UnixNano() }
+}
// recvMsg represents the received msg from the transport. All transport
// protocol specific info has been removed.
@@ -57,31 +89,39 @@ type recvMsg struct {
// recvBuffer is an unbounded channel of recvMsg structs.
//
-// Note: recvBuffer differs from buffer.Unbounded only in the fact that it
-// holds a channel of recvMsg structs instead of objects implementing "item"
-// interface. recvBuffer is written to much more often and using strict recvMsg
-// structs helps avoid allocation in "recvBuffer.put"
+// Note: recvBuffer differs from buffer.Unbounded in that it provides in-place
+// value initialization (via init) to avoid struct pointer allocations on
+// streams, and automatically frees pooled mem.Buffer payloads when stream
+// errors occur.
type recvBuffer struct {
c chan recvMsg
mu sync.Mutex
backlog []recvMsg
- err error
+ // uncompactedSuffixLen tracks the number of consecutive data messages at
+ // the tail of backlog that have not been compacted.
+ uncompactedSuffixLen int
+ // uncompactedBytes tracks the total payload bytes across the trailing
+ // uncompactedSuffixLen messages.
+ uncompactedBytes int
+ err error
+ bufPool mem.BufferPool
}
// init allows a recvBuffer to be initialized in-place, which is useful
// for resetting a buffer or for avoiding a heap allocation when the buffer
// is embedded in another struct.
-func (b *recvBuffer) init() {
+func (b *recvBuffer) init(pool mem.BufferPool) {
b.c = make(chan recvMsg, 1)
+ b.bufPool = pool
}
func (b *recvBuffer) put(r recvMsg) {
b.mu.Lock()
+ defer b.mu.Unlock()
if b.err != nil {
// drop the buffer on the floor. Since b.err is not nil, any subsequent reads
// will always return an error, making this buffer inaccessible.
r.buffer.Free()
- b.mu.Unlock()
// An error had occurred earlier, don't accept more
// data or errors.
return
@@ -90,13 +130,70 @@ func (b *recvBuffer) put(r recvMsg) {
if len(b.backlog) == 0 {
select {
case b.c <- r:
- b.mu.Unlock()
return
default:
}
}
b.backlog = append(b.backlog, r)
- b.mu.Unlock()
+ b.compactBacklogLocked(r)
+}
+
+func (b *recvBuffer) compactBacklogLocked(r recvMsg) {
+ if !envconfig.EnableReceiveBufferCompaction {
+ return
+ }
+ if r.buffer == nil {
+ b.uncompactedBytes = 0
+ b.uncompactedSuffixLen = 0
+ return
+ }
+
+ b.uncompactedSuffixLen++
+ b.uncompactedBytes += r.buffer.Len()
+ backlogHeapSize := b.uncompactedSuffixLen*recvMsgSize + b.uncompactedBytes
+
+ // If the memory overhead is less than 50% of the heap usage (e.g., because
+ // a large DATA frame arrived), the average message size in the suffix is
+ // large enough that memory bloat is not a concern. Reset suffix tracking.
+ if backlogHeapSize <= utilizationFactor*b.uncompactedBytes {
+ b.uncompactedBytes = 0
+ b.uncompactedSuffixLen = 0
+ return
+ }
+ // Avoid compacting too frequently for short bursts of small frames.
+ // Wait until we have accumulated at least ~1024 small messages (~57 KB).
+ if backlogHeapSize <= compactionThreshold {
+ // Still can accumulate more payloads.
+ return
+ }
+
+ // Since the memory utilization is less than 50%, the average payload size
+ // of each recvMsg must be less than recvMsgSize (approx 56 bytes).
+ // In the worst case for bytes copied (where the average payload is just
+ // below recvMsgSize), compaction will occur once every:
+ // compactionThreshold / (recvMsgSize + avg_payload) = ~520 messages,
+ // copying ~29KB of data.
+
+ start := 0
+ newBuf := b.bufPool.Get(b.uncompactedBytes)
+ startIdx := len(b.backlog) - b.uncompactedSuffixLen
+
+ for i := startIdx; i < len(b.backlog); i++ {
+ m := b.backlog[i]
+ b.backlog[i] = recvMsg{}
+ start += copy((*newBuf)[start:], m.buffer.ReadOnlyData())
+ m.buffer.Free()
+ }
+ b.backlog[startIdx] = recvMsg{
+ buffer: mem.NewBuffer(newBuf, b.bufPool),
+ }
+ b.backlog = b.backlog[:startIdx+1]
+ // After compaction, the suffix is replaced with a single message containing
+ // the combined payload. The new utilization is close to 1.0 (overhead of
+ // one recvMsg relative to the large compacted payload), which is well
+ // below the utilization factor of 2.
+ b.uncompactedBytes = 0
+ b.uncompactedSuffixLen = 0
}
func (b *recvBuffer) load() {
@@ -104,6 +201,13 @@ func (b *recvBuffer) load() {
if len(b.backlog) > 0 {
select {
case b.c <- b.backlog[0]:
+ // backlog[0] is only part of the tracked uncompacted suffix if the
+ // entire backlog currently consists of the suffix. If an earlier
+ // compaction or reset occurred, backlog[0] is already compacted.
+ if envconfig.EnableReceiveBufferCompaction && b.uncompactedSuffixLen == len(b.backlog) {
+ b.uncompactedSuffixLen--
+ b.uncompactedBytes -= b.backlog[0].buffer.Len()
+ }
b.backlog[0] = recvMsg{}
b.backlog = b.backlog[1:]
default:
@@ -362,15 +466,18 @@ func (s *Stream) ReadMessageHeader(header []byte) (err error) {
return er
}
s.readRequester.requestRead(len(header))
+ bytesRead := 0
for len(header) != 0 {
n, err := s.trReader.ReadMessageHeader(header)
+ bytesRead += n
header = header[n:]
if len(header) == 0 {
err = nil
}
if err != nil {
- if n > 0 && err == io.EOF {
+ if bytesRead > 0 && err == io.EOF {
err = io.ErrUnexpectedEOF
+ s.trReader.er = err
}
return err
}
@@ -401,19 +508,22 @@ func (s *Stream) read(n int) (data mem.BufferSlice, err error) {
allocCap := min(ceil(n, http2MaxFrameLen), 128)
data = make(mem.BufferSlice, 0, allocCap)
s.readRequester.requestRead(n)
+ bytesRead := 0
for n != 0 {
buf, err := s.trReader.Read(n)
var bufLen int
if buf != nil {
bufLen = buf.Len()
}
+ bytesRead += bufLen
n -= bufLen
if n == 0 {
err = nil
}
if err != nil {
- if bufLen > 0 && err == io.EOF {
+ if bytesRead > 0 && err == io.EOF {
err = io.ErrUnexpectedEOF
+ s.trReader.er = err
}
data.Free()
return nil, err
@@ -588,8 +698,6 @@ type CallHdr struct {
PreviousAttempts int // value of grpc-previous-rpc-attempts header to set
- DoneFunc func() // called when the stream is finished
-
// Authority is used to explicitly override the `:authority` header.
//
// This value comes from one of two sources:
@@ -742,6 +850,22 @@ const (
GoAwayTooManyPings GoAwayReason = 2
)
+// GoAwayInfo contains metadata about why a connection was closed.
+type GoAwayInfo struct {
+ // Reason is the parsed reason for an HTTP/2 GOAWAY frame.
+ Reason GoAwayReason
+ // GoAwayCode is the raw HTTP/2 error code received in a GOAWAY frame.
+ GoAwayCode http2.ErrCode
+ // Err is the underlying error that caused the connection to close. It is
+ // populated if the connection was closed due to a socket error or context
+ // cancellation without receiving a GOAWAY frame. If the connection was
+ // closed due to a GOAWAY frame, this field will be nil.
+ Err error
+}
+
+// OnCloseFunc is a callback invoked when a ClientTransport closes.
+type OnCloseFunc func(GoAwayInfo)
+
// ContextErr converts the error from context package into a status error.
func ContextErr(err error) error {
switch err {
diff --git a/vendor/google.golang.org/grpc/mem/buffer_pool.go b/vendor/google.golang.org/grpc/mem/buffer_pool.go
index 3b02b9091..aa121379f 100644
--- a/vendor/google.golang.org/grpc/mem/buffer_pool.go
+++ b/vendor/google.golang.org/grpc/mem/buffer_pool.go
@@ -59,10 +59,6 @@ func init() {
internal.SetDefaultBufferPool = func(pool BufferPool) {
defaultBufferPool = pool
}
-
- internal.SetBufferPoolingThresholdForTesting = func(threshold int) {
- bufferPoolingThreshold = threshold
- }
}
// DefaultBufferPool returns the current default buffer pool. It is a BufferPool
diff --git a/vendor/google.golang.org/grpc/mem/buffer_slice.go b/vendor/google.golang.org/grpc/mem/buffer_slice.go
index 084fb19c6..086e9f95d 100644
--- a/vendor/google.golang.org/grpc/mem/buffer_slice.go
+++ b/vendor/google.golang.org/grpc/mem/buffer_slice.go
@@ -165,7 +165,7 @@ func (r *Reader) Close() error {
}
func (r *Reader) freeFirstBufferIfEmpty() bool {
- if len(r.data) == 0 || r.bufferIdx != len(r.data[0].ReadOnlyData()) {
+ if len(r.data) == 0 || r.bufferIdx != r.data[0].Len() {
return false
}
diff --git a/vendor/google.golang.org/grpc/mem/buffers.go b/vendor/google.golang.org/grpc/mem/buffers.go
index db1620e6a..9b355d446 100644
--- a/vendor/google.golang.org/grpc/mem/buffers.go
+++ b/vendor/google.golang.org/grpc/mem/buffers.go
@@ -29,6 +29,8 @@ import (
"fmt"
"sync"
"sync/atomic"
+
+ "google.golang.org/grpc/internal/mem"
)
// A Buffer represents a reference counted piece of data (in bytes) that can be
@@ -53,14 +55,16 @@ type Buffer interface {
Free()
// Len returns the Buffer's size.
Len() int
+ // Slice returns a new Buffer that is a view into this buffer's data
+ // from [start:end). The buffer is not modified. Panics if the buffer
+ // has been freed or if start/end are out of bounds.
+ Slice(start, end int) Buffer
split(n int) (left, right Buffer)
read(buf []byte) (int, Buffer)
}
var (
- bufferPoolingThreshold = 1 << 10
-
bufferObjectPool = sync.Pool{New: func() any { return new(buffer) }}
)
@@ -68,7 +72,7 @@ var (
// equal to the threshold for buffer pooling. This is used to determine whether
// to pool buffers or allocate them directly.
func IsBelowBufferPoolingThreshold(size int) bool {
- return size <= bufferPoolingThreshold
+ return size <= mem.BufferPoolingThreshold
}
type buffer struct {
@@ -180,6 +184,32 @@ func (b *buffer) Len() int {
return len(b.ReadOnlyData())
}
+func (b *buffer) Slice(start, end int) Buffer {
+ if b.rootBuf == nil {
+ panic("Cannot slice freed buffer")
+ }
+
+ data := b.data[start:end] // access the data to check slice bounds
+
+ if len(data) == 0 {
+ return emptyBuffer{}
+ }
+ if len(data) == len(b.data) {
+ b.Ref()
+ return b
+ }
+ // We are creating a new reference (view) to a portion of the root buffer's
+ // data. Therefore, we must increment the reference count of the root buffer
+ // to ensure the underlying data is not freed while this view is still in
+ // use.
+ b.rootBuf.Ref()
+ s := newBuffer()
+ s.data = data
+ s.rootBuf = b.rootBuf
+ s.refs.Store(1)
+ return s
+}
+
func (b *buffer) split(n int) (Buffer, Buffer) {
if b.rootBuf == nil || b.rootBuf.refs.Add(1) <= 1 {
panic("Cannot split freed buffer")
@@ -240,6 +270,13 @@ func (e emptyBuffer) Len() int {
return 0
}
+func (e emptyBuffer) Slice(start, end int) Buffer {
+ if start != 0 || end != 0 {
+ panic(fmt.Sprintf("slice bounds out of range [%d:%d] with length 0", start, end))
+ }
+ return e
+}
+
func (e emptyBuffer) split(int) (left, right Buffer) {
return e, e
}
@@ -264,6 +301,9 @@ func (s SliceBuffer) Free() {}
// Len is a noop implementation of Len.
func (s SliceBuffer) Len() int { return len(s) }
+// Slice returns a new SliceBuffer that is a view into the receiver from [start:end).
+func (s SliceBuffer) Slice(start, end int) Buffer { return s[start:end] }
+
func (s SliceBuffer) split(n int) (left, right Buffer) {
return s[:n], s[n:]
}
diff --git a/vendor/google.golang.org/grpc/metadata/metadata.go b/vendor/google.golang.org/grpc/metadata/metadata.go
index d2e15253b..2b79204b4 100644
--- a/vendor/google.golang.org/grpc/metadata/metadata.go
+++ b/vendor/google.golang.org/grpc/metadata/metadata.go
@@ -24,6 +24,7 @@ package metadata // import "google.golang.org/grpc/metadata"
import (
"context"
"fmt"
+ "sort"
"strings"
"google.golang.org/grpc/internal"
@@ -90,6 +91,76 @@ func Pairs(kv ...string) MD {
return md
}
+// loggableMetadataKeys is the set of metadata keys whose values are known not
+// to carry credentials or other sensitive data, and are therefore safe to print
+// verbatim in String. Values for any key not in this set are redacted. Keys are
+// in metadata's canonical lowercase form.
+//
+// The list is intentionally restricted to standardized gRPC and HTTP/2 protocol
+// headers. Everything else, including all application-defined keys, is
+// censored.
+// Note that this list might change as we add/remove support for
+// metadata types.
+var loggableMetadataKeys = map[string]bool{
+ "content-type": true,
+ "te": true,
+ "user-agent": true,
+ "grpc-encoding": true,
+ "grpc-accept-encoding": true,
+ "grpc-timeout": true,
+ "grpc-status": true,
+ "grpc-message-type": true,
+ "grpc-previous-rpc-attempts": true,
+ "grpc-retry-pushback-ms": true,
+}
+
+// String implements fmt.Stringer to allow metadata to be printed when stored in
+// a context.
+//
+// To avoid accidentally leaking credentials or other sensitive data (for
+// example via log(md), or by logging a value that happens to contain metadata),
+// String reports only keys on an allowlist of standardized, non-sensitive
+// protocol headers (see loggableMetadataKeys). Every other key is omitted
+// entirely, along with its values, because a key name may itself be sensitive;
+// only the number of omitted keys is reported, as "". This is a
+// best-effort guard against accidents, not a security boundary: a caller that
+// genuinely wants the full contents can still print map[string][]string(md)
+// directly.
+//
+// Note that this only affects verbs that use the Stringer, such as %v and %s.
+// The %#v verb prints the underlying map with all values and is not redacted.
+// Users should not rely on the output of this method to be stable
+// # Experimental
+//
+// Notice: This API is EXPERIMENTAL and may be changed or removed in a later
+// release.
+func (md MD) String() string {
+ keys := make([]string, 0, len(md))
+ for k := range md {
+ if loggableMetadataKeys[strings.ToLower(k)] {
+ keys = append(keys, k)
+ }
+ }
+ sort.Strings(keys)
+
+ var sb strings.Builder
+ sb.WriteString("map[")
+ for i, k := range keys {
+ if i > 0 {
+ sb.WriteByte(' ')
+ }
+ fmt.Fprintf(&sb, "%s:%v", k, md[k])
+ }
+ if redacted := len(md) - len(keys); redacted > 0 {
+ if len(keys) > 0 {
+ sb.WriteByte(' ')
+ }
+ fmt.Fprintf(&sb, "<%d redacted>", redacted)
+ }
+ sb.WriteByte(']')
+ return sb.String()
+}
+
// Len returns the number of items in md.
func (md MD) Len() int {
return len(md)
diff --git a/vendor/google.golang.org/grpc/resolver_wrapper.go b/vendor/google.golang.org/grpc/resolver_wrapper.go
index 6e6137643..f8b0fd38f 100644
--- a/vendor/google.golang.org/grpc/resolver_wrapper.go
+++ b/vendor/google.golang.org/grpc/resolver_wrapper.go
@@ -188,7 +188,7 @@ func (ccr *ccResolverWrapper) ParseServiceConfig(scJSON string) *serviceconfig.P
// addChannelzTraceEvent adds a channelz trace event containing the new
// state received from resolver implementations.
func (ccr *ccResolverWrapper) addChannelzTraceEvent(s resolver.State) {
- if !logger.V(0) && !channelz.IsOn() {
+ if !logger.V(2) && !channelz.IsOn() {
return
}
var updates []string
diff --git a/vendor/google.golang.org/grpc/rpc_util.go b/vendor/google.golang.org/grpc/rpc_util.go
index ee7f7dead..52f4ea513 100644
--- a/vendor/google.golang.org/grpc/rpc_util.go
+++ b/vendor/google.golang.org/grpc/rpc_util.go
@@ -128,6 +128,16 @@ func NewGZIPDecompressor() Decompressor {
}
func (d *gzipDecompressor) Do(r io.Reader) ([]byte, error) {
+ return d.doWithMaxSize(r, math.MaxInt64)
+}
+
+// doWithMaxSize behaves like Do but caps the size of the decompressed
+// payload at maxMessageSize+1 bytes. The Decompressor interface does not
+// allow extra parameters, so callers inside the package type-assert to
+// *gzipDecompressor to invoke this method directly. The +1 byte makes it
+// possible for the caller to detect that the limit was exceeded and
+// return ResourceExhausted instead of materializing an unbounded payload.
+func (d *gzipDecompressor) doWithMaxSize(r io.Reader, maxMessageSize int64) ([]byte, error) {
var z *gzip.Reader
switch maybeZ := d.pool.Get().(type) {
case nil:
@@ -148,7 +158,11 @@ func (d *gzipDecompressor) Do(r io.Reader) ([]byte, error) {
z.Close()
d.pool.Put(z)
}()
- return io.ReadAll(z)
+ var src io.Reader = z
+ if maxMessageSize < math.MaxInt64 {
+ src = io.LimitReader(z, maxMessageSize+1)
+ }
+ return io.ReadAll(src)
}
func (d *gzipDecompressor) Type() string {
@@ -830,15 +844,15 @@ func compress(in mem.BufferSlice, cp Compressor, compressor encoding.Compressor,
if compressor != nil {
z, err := compressor.Compress(w)
if err != nil {
- return nil, 0, wrapErr(err)
+ return nil, compressionNone, wrapErr(err)
}
for _, b := range in {
if _, err := z.Write(b.ReadOnlyData()); err != nil {
- return nil, 0, wrapErr(err)
+ return nil, compressionNone, wrapErr(err)
}
}
if err := z.Close(); err != nil {
- return nil, 0, wrapErr(err)
+ return nil, compressionNone, wrapErr(err)
}
} else {
// This is obviously really inefficient since it fully materializes the data, but
@@ -848,7 +862,7 @@ func compress(in mem.BufferSlice, cp Compressor, compressor encoding.Compressor,
buf := in.MaterializeToBuffer(pool)
defer buf.Free()
if err := cp.Do(w, buf.ReadOnlyData()); err != nil {
- return nil, 0, wrapErr(err)
+ return nil, compressionNone, wrapErr(err)
}
}
return out, compressionMade, nil
@@ -971,7 +985,20 @@ func recvAndDecompress(p *parser, s recvCompressor, dc Decompressor, maxReceiveM
func decompress(compressor encoding.Compressor, d mem.BufferSlice, dc Decompressor, maxReceiveMessageSize int, pool mem.BufferPool) (mem.BufferSlice, error) {
if dc != nil {
r := d.Reader()
- uncompressed, err := dc.Do(r)
+ // For the built-in gzip decompressor, bound the decompressed output
+ // at maxReceiveMessageSize+1 so that a small but highly compressed
+ // payload (a "zip bomb") cannot expand to gigabytes in memory before
+ // the post-decompression size check below has a chance to fire. The
+ // Decompressor interface does not accept an extra size parameter,
+ // so we type-assert to invoke a size-aware helper. Third-party
+ // Decompressor implementations keep the original Do behavior.
+ var uncompressed []byte
+ var err error
+ if gd, ok := dc.(*gzipDecompressor); ok {
+ uncompressed, err = gd.doWithMaxSize(r, int64(maxReceiveMessageSize))
+ } else {
+ uncompressed, err = dc.Do(r)
+ }
if err != nil {
r.Close() // ensure buffers are reused
return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the received message: %v", err)
@@ -989,6 +1016,9 @@ func decompress(compressor encoding.Compressor, d mem.BufferSlice, dc Decompress
r.Close() // ensure buffers are reused
return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the message: %v", err)
}
+ if closer, ok := dcReader.(io.Closer); ok {
+ defer closer.Close()
+ }
// Read at most one byte more than the limit from the decompressor.
// Unless the limit is MaxInt64, in which case, that's impossible, so
diff --git a/vendor/google.golang.org/grpc/server.go b/vendor/google.golang.org/grpc/server.go
index 5229adf71..4ab54115b 100644
--- a/vendor/google.golang.org/grpc/server.go
+++ b/vendor/google.golang.org/grpc/server.go
@@ -28,6 +28,7 @@ import (
"net/http"
"reflect"
"runtime"
+ "runtime/pprof"
"strings"
"sync"
"sync/atomic"
@@ -88,6 +89,7 @@ func init() {
internal.MetricsRecorderForServer = func(srv *Server) estats.MetricsRecorder {
return istats.NewMetricsRecorderList(srv.opts.statsHandlers)
}
+ internal.XDSFilterWrapperOption = xdsFilterWrapperOption
}
var statusOK = status.New(codes.OK, "")
@@ -116,10 +118,8 @@ type ServiceDesc struct {
// serviceInfo wraps information about a service. It is very similar to
// ServiceDesc and is constructed from it for internal purposes.
type serviceInfo struct {
- // Contains the implementation for the methods in this service.
- serviceImpl any
- methods map[string]*MethodDesc
- streams map[string]*StreamDesc
+ serviceImpl any // Implementation for the methods in this service.
+ streams map[string]*StreamDesc // Streaming descriptors and wrapped unary descriptors for this service.
mdata any
}
@@ -150,8 +150,6 @@ type Server struct {
serverWorkerChannel chan func()
serverWorkerChannelClose func()
-
- strictPathCheckingLogEmitted atomic.Bool
}
type serverOptions struct {
@@ -184,6 +182,7 @@ type serverOptions struct {
bufferPool mem.BufferPool
waitForHandlers bool
staticWindowSize bool
+ streamWrapper func(ServerStream) (ServerStream, error)
}
var defaultServerOptions = serverOptions{
@@ -250,10 +249,8 @@ func newJoinServerOption(opts ...ServerOption) ServerOption {
// If this option is set to true every connection will release the buffer after
// flushing the data on the wire.
//
-// # Experimental
-//
-// Notice: This API is EXPERIMENTAL and may be changed or removed in a
-// later release.
+// Deprecated: shared write buffer is enabled by default. SharedWriteBuffer
+// will be removed in a future release.
func SharedWriteBuffer(val bool) ServerOption {
return newFuncServerOption(func(o *serverOptions) {
o.sharedWriteBuffer = val
@@ -302,6 +299,14 @@ func InitialConnWindowSize(s int32) ServerOption {
// window size to the value provided and disables dynamic flow control.
// The lower bound for window size is 64K and any value smaller than that
// will be ignored.
+//
+// Note that this also disables dynamic flow control for the connection,
+// falling back to a default static connection-level window of 64KB. To
+// use a larger connection-level window, you must also use the
+// [StaticConnWindowSize] ServerOption.
+//
+// Most users should not configure static flow control windows unless
+// operating in a memory-constrained environment.
func StaticStreamWindowSize(s int32) ServerOption {
return newFuncServerOption(func(o *serverOptions) {
o.initialWindowSize = s
@@ -313,6 +318,14 @@ func StaticStreamWindowSize(s int32) ServerOption {
// window size to the value provided and disables dynamic flow control.
// The lower bound for window size is 64K and any value smaller than that
// will be ignored.
+//
+// Note that this also disables dynamic flow control for individual streams,
+// falling back to a default static connection-level window of 64KB. To
+// explicitly configure the stream-level window size, you must also use the
+// [StaticStreamWindowSize] ServerOption.
+//
+// Most users should not configure static flow control windows unless
+// operating in a memory-constrained environment.
func StaticConnWindowSize(s int32) ServerOption {
return newFuncServerOption(func(o *serverOptions) {
o.initialConnWindowSize = s
@@ -650,6 +663,14 @@ func bufferPool(bufferPool mem.BufferPool) ServerOption {
})
}
+// xdsFilterWrapperOption returns a ServerOption that sets the server-level
+// stream wrapper (used internally by xDS server filters).
+func xdsFilterWrapperOption(w func(ServerStream) (ServerStream, error)) ServerOption {
+ return newFuncServerOption(func(o *serverOptions) {
+ o.streamWrapper = w
+ })
+}
+
// serverWorkerResetThreshold defines how often the stack must be reset. Every
// N requests, by spawning a new goroutine in its place, a worker can reset its
// stack so that large stacks don't live in memory forever. 2^16 should allow
@@ -777,18 +798,22 @@ func (s *Server) register(sd *ServiceDesc, ss any) {
}
info := &serviceInfo{
serviceImpl: ss,
- methods: make(map[string]*MethodDesc),
streams: make(map[string]*StreamDesc),
mdata: sd.Metadata,
}
- for i := range sd.Methods {
- d := &sd.Methods[i]
- info.methods[d.MethodName] = d
- }
for i := range sd.Streams {
d := &sd.Streams[i]
info.streams[d.StreamName] = d
}
+ for i := range sd.Methods {
+ d := &sd.Methods[i]
+ info.streams[d.MethodName] = &StreamDesc{
+ StreamName: d.MethodName,
+ Handler: s.wrapUnaryHandler(d),
+ ServerStreams: false,
+ ClientStreams: false,
+ }
+ }
s.services[sd.ServiceName] = info
}
@@ -814,20 +839,26 @@ type ServiceInfo struct {
func (s *Server) GetServiceInfo() map[string]ServiceInfo {
ret := make(map[string]ServiceInfo)
for n, srv := range s.services {
- methods := make([]MethodInfo, 0, len(srv.methods)+len(srv.streams))
- for m := range srv.methods {
- methods = append(methods, MethodInfo{
- Name: m,
- IsClientStream: false,
- IsServerStream: false,
- })
+ methods := make([]MethodInfo, 0, len(srv.streams))
+ // Iterate over unary methods first to maintain backward compatibility of order.
+ for m, d := range srv.streams {
+ if !d.ClientStreams && !d.ServerStreams {
+ methods = append(methods, MethodInfo{
+ Name: m,
+ IsClientStream: false,
+ IsServerStream: false,
+ })
+ }
}
+ // Iterate over streaming methods.
for m, d := range srv.streams {
- methods = append(methods, MethodInfo{
- Name: m,
- IsClientStream: d.ClientStreams,
- IsServerStream: d.ServerStreams,
- })
+ if d.ClientStreams || d.ServerStreams {
+ methods = append(methods, MethodInfo{
+ Name: m,
+ IsClientStream: d.ClientStreams,
+ IsServerStream: d.ServerStreams,
+ })
+ }
}
ret[n] = ServiceInfo{
@@ -1172,42 +1203,6 @@ func (s *Server) incrCallsFailed() {
s.channelz.ServerMetrics.CallsFailed.Add(1)
}
-func (s *Server) sendResponse(ctx context.Context, stream *transport.ServerStream, msg any, cp Compressor, opts *transport.WriteOptions, comp encoding.Compressor) error {
- data, err := encode(s.getCodec(stream.ContentSubtype()), msg)
- if err != nil {
- channelz.Error(logger, s.channelz, "grpc: server failed to encode response: ", err)
- return err
- }
-
- compData, pf, err := compress(data, cp, comp, s.opts.bufferPool)
- if err != nil {
- data.Free()
- channelz.Error(logger, s.channelz, "grpc: server failed to compress response: ", err)
- return err
- }
-
- hdr, payload := msgHeader(data, compData, pf)
-
- defer func() {
- compData.Free()
- data.Free()
- // payload does not need to be freed here, it is either data or compData, both of
- // which are already freed.
- }()
-
- dataLen := data.Len()
- payloadLen := payload.Len()
- // TODO(dfawley): should we be checking len(data) instead?
- if payloadLen > s.opts.maxSendMessageSize {
- return status.Errorf(codes.ResourceExhausted, "grpc: trying to send message larger than max (%d vs. %d)", payloadLen, s.opts.maxSendMessageSize)
- }
- err = stream.Write(hdr, payload, opts)
- if err == nil && s.statsHandler != nil {
- s.statsHandler.HandleRPC(ctx, outPayload(false, msg, dataLen, payloadLen, time.Now()))
- }
- return err
-}
-
// chainUnaryServerInterceptors chains all unary server interceptors into one.
func chainUnaryServerInterceptors(s *Server) {
// Prepend opts.unaryInt to the chaining interceptors if it exists, since unaryInt will
@@ -1244,300 +1239,6 @@ func getChainUnaryHandler(interceptors []UnaryServerInterceptor, curr int, info
}
}
-func (s *Server) processUnaryRPC(ctx context.Context, stream *transport.ServerStream, info *serviceInfo, md *MethodDesc, trInfo *traceInfo) (err error) {
- sh := s.statsHandler
- if sh != nil || trInfo != nil || channelz.IsOn() {
- if channelz.IsOn() {
- s.incrCallsStarted()
- }
- var statsBegin *stats.Begin
- if sh != nil {
- statsBegin = &stats.Begin{
- BeginTime: time.Now(),
- IsClientStream: false,
- IsServerStream: false,
- }
- sh.HandleRPC(ctx, statsBegin)
- }
- if trInfo != nil {
- trInfo.tr.LazyLog(&trInfo.firstLine, false)
- }
- // The deferred error handling for tracing, stats handler and channelz are
- // combined into one function to reduce stack usage -- a defer takes ~56-64
- // bytes on the stack, so overflowing the stack will require a stack
- // re-allocation, which is expensive.
- //
- // To maintain behavior similar to separate deferred statements, statements
- // should be executed in the reverse order. That is, tracing first, stats
- // handler second, and channelz last. Note that panics *within* defers will
- // lead to different behavior, but that's an acceptable compromise; that
- // would be undefined behavior territory anyway.
- defer func() {
- if trInfo != nil {
- if err != nil && err != io.EOF {
- trInfo.tr.LazyLog(&fmtStringer{"%v", []any{err}}, true)
- trInfo.tr.SetError()
- }
- trInfo.tr.Finish()
- }
-
- if sh != nil {
- end := &stats.End{
- BeginTime: statsBegin.BeginTime,
- EndTime: time.Now(),
- }
- if err != nil && err != io.EOF {
- end.Error = toRPCErr(err)
- }
- sh.HandleRPC(ctx, end)
- }
-
- if channelz.IsOn() {
- if err != nil && err != io.EOF {
- s.incrCallsFailed()
- } else {
- s.incrCallsSucceeded()
- }
- }
- }()
- }
- var binlogs []binarylog.MethodLogger
- if ml := binarylog.GetMethodLogger(stream.Method()); ml != nil {
- binlogs = append(binlogs, ml)
- }
- if s.opts.binaryLogger != nil {
- if ml := s.opts.binaryLogger.GetMethodLogger(stream.Method()); ml != nil {
- binlogs = append(binlogs, ml)
- }
- }
- if len(binlogs) != 0 {
- md, _ := metadata.FromIncomingContext(ctx)
- logEntry := &binarylog.ClientHeader{
- Header: md,
- MethodName: stream.Method(),
- PeerAddr: nil,
- }
- if deadline, ok := ctx.Deadline(); ok {
- logEntry.Timeout = time.Until(deadline)
- if logEntry.Timeout < 0 {
- logEntry.Timeout = 0
- }
- }
- if a := md[":authority"]; len(a) > 0 {
- logEntry.Authority = a[0]
- }
- if peer, ok := peer.FromContext(ctx); ok {
- logEntry.PeerAddr = peer.Addr
- }
- for _, binlog := range binlogs {
- binlog.Log(ctx, logEntry)
- }
- }
-
- // comp and cp are used for compression. decomp and dc are used for
- // decompression. If comp and decomp are both set, they are the same;
- // however they are kept separate to ensure that at most one of the
- // compressor/decompressor variable pairs are set for use later.
- var comp, decomp encoding.Compressor
- var cp Compressor
- var dc Decompressor
- var sendCompressorName string
-
- // If dc is set and matches the stream's compression, use it. Otherwise, try
- // to find a matching registered compressor for decomp.
- if rc := stream.RecvCompress(); s.opts.dc != nil && s.opts.dc.Type() == rc {
- dc = s.opts.dc
- } else if rc != "" && rc != encoding.Identity {
- decomp = encoding.GetCompressor(rc)
- if decomp == nil {
- st := status.Newf(codes.Unimplemented, "grpc: Decompressor is not installed for grpc-encoding %q", rc)
- stream.WriteStatus(st)
- return st.Err()
- }
- }
-
- // If cp is set, use it. Otherwise, attempt to compress the response using
- // the incoming message compression method.
- //
- // NOTE: this needs to be ahead of all handling, https://github.com/grpc/grpc-go/issues/686.
- if s.opts.cp != nil {
- cp = s.opts.cp
- sendCompressorName = cp.Type()
- } else if rc := stream.RecvCompress(); rc != "" && rc != encoding.Identity {
- // Legacy compressor not specified; attempt to respond with same encoding.
- comp = encoding.GetCompressor(rc)
- if comp != nil {
- sendCompressorName = comp.Name()
- }
- }
-
- if sendCompressorName != "" {
- if err := stream.SetSendCompress(sendCompressorName); err != nil {
- return status.Errorf(codes.Internal, "grpc: failed to set send compressor: %v", err)
- }
- }
-
- var payInfo *payloadInfo
- if sh != nil || len(binlogs) != 0 {
- payInfo = &payloadInfo{}
- defer payInfo.free()
- }
-
- d, err := recvAndDecompress(&parser{r: stream, bufferPool: s.opts.bufferPool}, stream, dc, s.opts.maxReceiveMessageSize, payInfo, decomp, true)
- if err != nil {
- if e := stream.WriteStatus(status.Convert(err)); e != nil {
- channelz.Warningf(logger, s.channelz, "grpc: Server.processUnaryRPC failed to write status: %v", e)
- }
- return err
- }
- freed := false
- dataFree := func() {
- if !freed {
- d.Free()
- freed = true
- }
- }
- defer dataFree()
- df := func(v any) error {
- defer dataFree()
- if err := s.getCodec(stream.ContentSubtype()).Unmarshal(d, v); err != nil {
- return status.Errorf(codes.Internal, "grpc: error unmarshalling request: %v", err)
- }
-
- if sh != nil {
- sh.HandleRPC(ctx, &stats.InPayload{
- RecvTime: time.Now(),
- Payload: v,
- Length: d.Len(),
- WireLength: payInfo.compressedLength + headerLen,
- CompressedLength: payInfo.compressedLength,
- })
- }
- if len(binlogs) != 0 {
- cm := &binarylog.ClientMessage{
- Message: d.Materialize(),
- }
- for _, binlog := range binlogs {
- binlog.Log(ctx, cm)
- }
- }
- if trInfo != nil {
- trInfo.tr.LazyLog(&payload{sent: false, msg: v}, true)
- }
- return nil
- }
- ctx = NewContextWithServerTransportStream(ctx, stream)
- reply, appErr := md.Handler(info.serviceImpl, ctx, df, s.opts.unaryInt)
- if appErr != nil {
- appStatus, ok := status.FromError(appErr)
- if !ok {
- // Convert non-status application error to a status error with code
- // Unknown, but handle context errors specifically.
- appStatus = status.FromContextError(appErr)
- appErr = appStatus.Err()
- }
- if trInfo != nil {
- trInfo.tr.LazyLog(stringer(appStatus.Message()), true)
- trInfo.tr.SetError()
- }
- if e := stream.WriteStatus(appStatus); e != nil {
- channelz.Warningf(logger, s.channelz, "grpc: Server.processUnaryRPC failed to write status: %v", e)
- }
- if len(binlogs) != 0 {
- if h, _ := stream.Header(); h.Len() > 0 {
- // Only log serverHeader if there was header. Otherwise it can
- // be trailer only.
- sh := &binarylog.ServerHeader{
- Header: h,
- }
- for _, binlog := range binlogs {
- binlog.Log(ctx, sh)
- }
- }
- st := &binarylog.ServerTrailer{
- Trailer: stream.Trailer(),
- Err: appErr,
- }
- for _, binlog := range binlogs {
- binlog.Log(ctx, st)
- }
- }
- return appErr
- }
- if trInfo != nil {
- trInfo.tr.LazyLog(stringer("OK"), false)
- }
- opts := &transport.WriteOptions{Last: true}
-
- // Server handler could have set new compressor by calling SetSendCompressor.
- // In case it is set, we need to use it for compressing outbound message.
- if stream.SendCompress() != sendCompressorName {
- comp = encoding.GetCompressor(stream.SendCompress())
- }
- if err := s.sendResponse(ctx, stream, reply, cp, opts, comp); err != nil {
- if err == io.EOF {
- // The entire stream is done (for unary RPC only).
- return err
- }
- if sts, ok := status.FromError(err); ok {
- if e := stream.WriteStatus(sts); e != nil {
- channelz.Warningf(logger, s.channelz, "grpc: Server.processUnaryRPC failed to write status: %v", e)
- }
- } else {
- switch st := err.(type) {
- case transport.ConnectionError:
- // Nothing to do here.
- default:
- panic(fmt.Sprintf("grpc: Unexpected error (%T) from sendResponse: %v", st, st))
- }
- }
- if len(binlogs) != 0 {
- h, _ := stream.Header()
- sh := &binarylog.ServerHeader{
- Header: h,
- }
- st := &binarylog.ServerTrailer{
- Trailer: stream.Trailer(),
- Err: appErr,
- }
- for _, binlog := range binlogs {
- binlog.Log(ctx, sh)
- binlog.Log(ctx, st)
- }
- }
- return err
- }
- if len(binlogs) != 0 {
- h, _ := stream.Header()
- sh := &binarylog.ServerHeader{
- Header: h,
- }
- sm := &binarylog.ServerMessage{
- Message: reply,
- }
- for _, binlog := range binlogs {
- binlog.Log(ctx, sh)
- binlog.Log(ctx, sm)
- }
- }
- if trInfo != nil {
- trInfo.tr.LazyLog(&payload{sent: true, msg: reply}, true)
- }
- // TODO: Should we be logging if writing status failed here, like above?
- // Should the logging be in WriteStatus? Should we ignore the WriteStatus
- // error or allow the stats handler to see it?
- if len(binlogs) != 0 {
- st := &binarylog.ServerTrailer{
- Trailer: stream.Trailer(),
- Err: appErr,
- }
- for _, binlog := range binlogs {
- binlog.Log(ctx, st)
- }
- }
- return stream.WriteStatus(statusOK)
-}
-
// chainStreamServerInterceptors chains all stream server interceptors into one.
func chainStreamServerInterceptors(s *Server) {
// Prepend opts.streamInt to the chaining interceptors if it exists, since streamInt will
@@ -1574,7 +1275,21 @@ func getChainStreamHandler(interceptors []StreamServerInterceptor, curr int, inf
}
}
-func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.ServerStream, info *serviceInfo, sd *StreamDesc, trInfo *traceInfo) (err error) {
+// wrapUnaryHandler converts a standard Unary Method Descriptor into a
+// StreamHandler, allowing Unary RPCs to be processed via the same unified
+// pipeline as Streaming RPCs.
+func (s *Server) wrapUnaryHandler(md *MethodDesc) StreamHandler {
+ return func(srv any, stream ServerStream) error {
+ df := func(v any) error { return stream.RecvMsg(v) }
+ reply, err := md.Handler(srv, stream.Context(), df, s.opts.unaryInt)
+ if err != nil {
+ return err
+ }
+ return stream.SendMsg(reply)
+ }
+}
+
+func (s *Server) processRPC(ctx context.Context, stream *transport.ServerStream, info *serviceInfo, sd *StreamDesc, trInfo *traceInfo) (err error) {
if channelz.IsOn() {
s.incrCallsStarted()
}
@@ -1602,7 +1317,16 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
}
if sh != nil || trInfo != nil || channelz.IsOn() {
- // See comment in processUnaryRPC on defers.
+ // The deferred error handling for tracing, stats handler and channelz are
+ // combined into one function to reduce stack usage -- a defer takes ~56-64
+ // bytes on the stack, so overflowing the stack will require a stack
+ // re-allocation, which is expensive.
+ //
+ // To maintain behavior similar to separate deferred statements, statements
+ // should be executed in the reverse order. That is, tracing first, stats
+ // handler second, and channelz last. Note that panics *within* defers will
+ // lead to different behavior, but that's an acceptable compromise; that
+ // would be undefined behavior territory anyway.
defer func() {
if trInfo != nil {
ss.mu.Lock()
@@ -1676,7 +1400,7 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
ss.decompressorV1 = encoding.GetCompressor(rc)
if ss.decompressorV1 == nil {
st := status.Newf(codes.Unimplemented, "grpc: Decompressor is not installed for grpc-encoding %q", rc)
- ss.s.WriteStatus(st)
+ ss.writeStatus(st)
return st.Err()
}
}
@@ -1704,23 +1428,34 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
ss.ctx = newContextWithRPCInfo(ss.ctx, false, ss.codec, ss.compressorV0, ss.compressorV1)
- if trInfo != nil {
- trInfo.tr.LazyLog(&trInfo.firstLine, false)
- }
+ // Execute the xDS HTTP filter interceptors.
var appErr error
- var server any
- if info != nil {
- server = info.serviceImpl
+ var wrappedStream ServerStream = ss
+ if s.opts.streamWrapper != nil {
+ wrappedStream, appErr = s.opts.streamWrapper(ss)
}
- if s.opts.streamInt == nil {
- appErr = sd.Handler(server, ss)
- } else {
- info := &StreamServerInfo{
- FullMethod: stream.Method(),
- IsClientStream: sd.ClientStreams,
- IsServerStream: sd.ServerStreams,
+
+ if appErr == nil {
+ if trInfo != nil {
+ trInfo.tr.LazyLog(&trInfo.firstLine, false)
+ }
+ var server any
+ if info != nil {
+ server = info.serviceImpl
+ }
+ if s.opts.streamInt == nil || (!sd.ClientStreams && !sd.ServerStreams) {
+ // If there is no stream interceptor, or if this is a unary RPC, call
+ // the handler directly. The wrapped unary handler will call the unary
+ // interceptor if it exists.
+ appErr = sd.Handler(server, wrappedStream)
+ } else {
+ info := &StreamServerInfo{
+ FullMethod: stream.Method(),
+ IsClientStream: sd.ClientStreams,
+ IsServerStream: sd.ServerStreams,
+ }
+ appErr = s.opts.streamInt(server, wrappedStream, info, sd.Handler)
}
- appErr = s.opts.streamInt(server, ss, info, sd.Handler)
}
if appErr != nil {
appStatus, ok := status.FromError(appErr)
@@ -1737,6 +1472,17 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
ss.mu.Unlock()
}
if len(ss.binlogs) != 0 {
+ if !ss.serverHeaderBinlogged {
+ if h, _ := ss.s.Header(); h.Len() > 0 {
+ sh := &binarylog.ServerHeader{
+ Header: h,
+ }
+ ss.serverHeaderBinlogged = true
+ for _, binlog := range ss.binlogs {
+ binlog.Log(ctx, sh)
+ }
+ }
+ }
st := &binarylog.ServerTrailer{
Trailer: ss.s.Trailer(),
Err: appErr,
@@ -1745,8 +1491,9 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
binlog.Log(ctx, st)
}
}
- ss.s.WriteStatus(appStatus)
- // TODO: Should we log an error from WriteStatus here and below?
+ if err := ss.writeStatus(appStatus); err != nil {
+ channelz.Warningf(logger, s.channelz, "grpc: Server.processRPC failed to write status: %v", err)
+ }
return appErr
}
if trInfo != nil {
@@ -1763,7 +1510,10 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
binlog.Log(ctx, st)
}
}
- return ss.s.WriteStatus(statusOK)
+ if err := ss.writeStatus(statusOK); err != nil {
+ channelz.Warningf(logger, s.channelz, "grpc: Server.processRPC failed to write status: %v", err)
+ }
+ return err
}
func (s *Server) handleMalformedMethodName(stream *transport.ServerStream, ti *traceInfo) {
@@ -1787,6 +1537,12 @@ func (s *Server) handleMalformedMethodName(stream *transport.ServerStream, ti *t
func (s *Server) handleStream(t transport.ServerTransport, stream *transport.ServerStream) {
ctx := stream.Context()
ctx = contextWithServer(ctx, s)
+ if envconfig.LabelServerGoroutines&envconfig.GoroutineLabelServerMethod != 0 {
+ // This method always runs in its own goroutine, so we can set a
+ // goroutine label without needing to restore a previous context.
+ ctx = pprof.WithLabels(ctx, pprof.Labels("grpc.method", stream.Method()))
+ pprof.SetGoroutineLabels(ctx)
+ }
var ti *traceInfo
if EnableTracing {
tr := newTrace("grpc.Recv."+methodFamily(stream.Method()), stream.Method())
@@ -1803,28 +1559,11 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Ser
}
}
- sm := stream.Method()
- if sm == "" {
+ sm, found := strings.CutPrefix(stream.Method(), "/")
+ if !found {
s.handleMalformedMethodName(stream, ti)
return
}
- if sm[0] != '/' {
- // TODO(easwars): Add a link to the CVE in the below log messages once
- // published.
- if envconfig.DisableStrictPathChecking {
- if old := s.strictPathCheckingLogEmitted.Swap(true); !old {
- channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream received malformed method name %q. Allowing it because the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING is set to true, but this option will be removed in a future release.", sm)
- }
- } else {
- if old := s.strictPathCheckingLogEmitted.Swap(true); !old {
- channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream rejected malformed method name %q. To temporarily allow such requests, set the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to true. Note that this is not recommended as it may allow requests to bypass security policies.", sm)
- }
- s.handleMalformedMethodName(stream, ti)
- return
- }
- } else {
- sm = sm[1:]
- }
pos := strings.LastIndex(sm, "/")
if pos == -1 {
s.handleMalformedMethodName(stream, ti)
@@ -1852,18 +1591,14 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Ser
srv, knownService := s.services[service]
if knownService {
- if md, ok := srv.methods[method]; ok {
- s.processUnaryRPC(ctx, stream, srv, md, ti)
- return
- }
if sd, ok := srv.streams[method]; ok {
- s.processStreamingRPC(ctx, stream, srv, sd, ti)
+ s.processRPC(ctx, stream, srv, sd, ti)
return
}
}
// Unknown service, or known server unknown method.
if unknownDesc := s.opts.unknownStreamDesc; unknownDesc != nil {
- s.processStreamingRPC(ctx, stream, nil, unknownDesc, ti)
+ s.processRPC(ctx, stream, nil, unknownDesc, ti)
return
}
var errDesc string
@@ -2067,9 +1802,6 @@ func (s *Server) isRegisteredMethod(serviceMethod string) bool {
method := serviceMethod[pos+1:]
srv, knownService := s.services[service]
if knownService {
- if _, ok := srv.methods[method]; ok {
- return true
- }
if _, ok := srv.streams[method]; ok {
return true
}
diff --git a/vendor/google.golang.org/grpc/stream.go b/vendor/google.golang.org/grpc/stream.go
index eedb5f9b9..52e59f2c5 100644
--- a/vendor/google.golang.org/grpc/stream.go
+++ b/vendor/google.golang.org/grpc/stream.go
@@ -21,12 +21,14 @@ package grpc
import (
"context"
"errors"
+ "fmt"
"io"
"math"
rand "math/rand/v2"
"strconv"
"strings"
"sync"
+ "sync/atomic"
"time"
"google.golang.org/grpc/balancer"
@@ -147,6 +149,94 @@ type ClientStream interface {
RecvMsg(m any) error
}
+// clientStreamWrapper wraps a ClientStream and handles SendMsg, CloseSend, and
+// RecvMsg parities based on the nature of stream.
+type clientStreamWrapper struct {
+ ClientStream
+ desc *StreamDesc
+ closeSendCalled atomic.Bool
+}
+
+// CloseSend closes the send direction of the stream. The implementation ensures
+// that CloseSend is only called once on the underlying ClientStream, even if
+// CloseSend is called multiple times on the wrapper.
+func (w *clientStreamWrapper) CloseSend() error {
+ if w.closeSendCalled.Swap(true) {
+ return nil
+ }
+ return w.ClientStream.CloseSend()
+}
+
+// SendMsg sends message m across the stream. For RPCs where client can call
+// SendMsg only once, i.e. only server-streaming RPCs, it converts io.EOF to nil
+// and immediately calls CloseSend to trigger any interceptor hooks.
+func (w *clientStreamWrapper) SendMsg(m any) error {
+ err := w.ClientStream.SendMsg(m)
+ // If the RPC is a client-streaming RPC, the client can send multiple
+ // messages. In this case, the client should handle any type of
+ // error,including io.EOF and call CloseSend once it is done sending messages.
+ if w.desc.ClientStreams {
+ return err
+ }
+
+ if err == io.EOF {
+ // For non-client-streaming RPCs, we return nil instead of EOF on error
+ // because the generated code requires it. finish is not called; RecvMsg()
+ // will call it with the stream's status independently.
+ return nil
+ }
+ if err != nil {
+ return err
+ }
+ // In some scenarios (e.g., xDS), the same interceptors process both unary and
+ // streaming RPCs, relying on CloseSend to signal that no more messages are on
+ // the way. Although protobuf-generated stubs already invoke CloseSend for
+ // server-streaming RPCs, it is explicitly called here to ensure downstream
+ // interceptors are also notified when callers interact with the ClientStream
+ // API directly.
+ if err := w.CloseSend(); err != nil && err != io.EOF {
+ return err
+ }
+ return nil
+
+}
+
+// RecvMsg receives message m from the stream. For RPCs that call RecvMsg only
+// once i.e. only client streaming RPCs, it calls the underlying RecvMsg a
+// second time after receiving the first message to get the trailers.
+func (w *clientStreamWrapper) RecvMsg(m any) error {
+ err := w.ClientStream.RecvMsg(m)
+ if err != nil {
+ return err
+ }
+ if w.desc.ServerStreams {
+ return nil
+ }
+ // Call RecvMsg again for non-server streaming RPCs to get the trailers and
+ // ensure RPC has completed successfully.
+ err = w.ClientStream.RecvMsg(m)
+ if err == io.EOF {
+ return nil
+ }
+ if err == nil {
+ return status.Error(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message")
+ }
+ return err
+}
+
+// defaultStreamInterceptor is a StreamClientInterceptor which wraps the
+// ClientStream and is always invoked as the first interceptor. It consolidates
+// behavior for different RPC types at the level closest to the application,
+// which simplifies the underlying stream implementation and other interceptors
+// by avoiding duplicate or scattered handling.
+func defaultStreamInterceptor(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, streamer Streamer, opts ...CallOption) (ClientStream, error) {
+ cs, err := streamer(ctx, desc, cc, method, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &clientStreamWrapper{ClientStream: cs, desc: desc}, nil
+}
+
// NewStream creates a new Stream for the client side. This is typically
// called by generated code. ctx is used for the lifetime of the stream.
//
@@ -200,6 +290,15 @@ func endOfClientStream(cc *ClientConn, err error, opts ...CallOption) {
}
}
+// clientInterceptor is structurally identical to the ClientInterceptor defined
+// in internal/xds/httpfilter/httpfilter.go. It is defined locally here so that
+// we can type-assert the generic Interceptor field in iresolver.RPCConfig
+// without introducing a dependency on xDS packages.
+type clientInterceptor interface {
+ NewStream(ctx context.Context, ri iresolver.RPCInfo, newStream func(ctx context.Context, opts ...CallOption) (ClientStream, error), opts ...CallOption) (ClientStream, error)
+ Close()
+}
+
func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (_ ClientStream, err error) {
if channelz.IsOn() {
cc.incrCallsStarted()
@@ -243,11 +342,11 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
mc := &emptyMethodConfig
var onCommit func()
- newStream := func(ctx context.Context, done func()) (iresolver.ClientStream, error) {
- return newClientStreamWithParams(ctx, desc, cc, method, mc, onCommit, done, nameResolutionDelayed, opts...)
+ newStream := func(ctx context.Context, opts ...CallOption) (ClientStream, error) {
+ return newClientStreamWithParams(ctx, desc, cc, method, mc, onCommit, nameResolutionDelayed, opts...)
}
- rpcInfo := iresolver.RPCInfo{Context: ctx, Method: method}
+ rpcInfo := iresolver.RPCInfo{Context: ctx, Method: method, Authority: cc.authority}
rpcConfig, err := cc.safeConfigSelector.SelectConfig(rpcInfo)
if err != nil {
if st, ok := status.FromError(err); ok {
@@ -265,24 +364,38 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
ctx = rpcConfig.Context
}
mc = &rpcConfig.MethodConfig
- onCommit = rpcConfig.OnCommitted
+
+ if rpcConfig.OnCommitted != nil {
+ onCommit = rpcConfig.OnCommitted
+ // Register an OnFinish CallOption with the OnCommitted callback to
+ // ensure it is invoked on stream termination, even if the stream
+ // fails early before committing. Implementations of OnCommitted are
+ // expected to be idempotent (e.g., guarded by sync.Once), since both
+ // onCommit and OnFinish may run for a single RPC.
+ opts = append(opts, OnFinish(func(error) { rpcConfig.OnCommitted() }))
+ }
+
if rpcConfig.Interceptor != nil {
rpcInfo.Context = nil
ns := newStream
- newStream = func(ctx context.Context, done func()) (iresolver.ClientStream, error) {
- cs, err := rpcConfig.Interceptor.NewStream(ctx, rpcInfo, done, ns)
- if err != nil {
- return nil, toRPCErr(err)
+ if interceptor, ok := rpcConfig.Interceptor.(clientInterceptor); ok {
+ newStream = func(ctx context.Context, opts ...CallOption) (ClientStream, error) {
+ cs, err := interceptor.NewStream(ctx, rpcInfo, ns, opts...)
+ if err != nil {
+ return nil, toRPCErr(err)
+ }
+ return cs, nil
}
- return cs, nil
+ } else {
+ return nil, status.Errorf(codes.Internal, "invalid client interceptor type %T", rpcConfig.Interceptor)
}
}
}
- return newStream(ctx, func() {})
+ return newStream(ctx, opts...)
}
-func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, mc *serviceconfig.MethodConfig, onCommit, doneFunc func(), nameResolutionDelayed bool, opts ...CallOption) (_ iresolver.ClientStream, err error) {
+func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, mc *serviceconfig.MethodConfig, onCommit func(), nameResolutionDelayed bool, opts ...CallOption) (_ ClientStream, err error) {
callInfo := defaultCallInfo()
if mc.WaitForReady != nil {
callInfo.failFast = !*mc.WaitForReady
@@ -320,7 +433,6 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
Host: cc.authority,
Method: method,
ContentSubtype: callInfo.contentSubtype,
- DoneFunc: doneFunc,
Authority: callInfo.authority,
}
if allowed := callInfo.acceptedResponseCompressors; len(allowed) > 0 {
@@ -527,6 +639,9 @@ func (a *csAttempt) newStream() error {
// maintained in it are local to the attempt. When the attempt has to be
// retried, a new instance of csAttempt will be created.
if a.pickResult.Metadata != nil {
+ if err := imetadata.Validate(a.pickResult.Metadata); err != nil {
+ return status.Error(codes.Internal, err.Error())
+ }
// We currently do not have a function it the metadata package which
// merges given metadata with existing metadata in a context. Existing
// function `AppendToOutgoingContext()` takes a variadic argument of key
@@ -749,7 +864,7 @@ func (a *csAttempt) shouldRetry(err error) (bool, error) {
return false, err
}
if cs.numRetries+1 >= rp.MaxAttempts {
- return false, err
+ return false, fmt.Errorf("max retries exhausted: failed after %d attempts: %w", cs.numRetries+1, err)
}
var dur time.Duration
@@ -1028,8 +1143,8 @@ func (cs *clientStream) RecvMsg(m any) error {
binlog.Log(cs.ctx, sm)
}
}
- if err != nil || !cs.desc.ServerStreams {
- // err != nil or non-server-streaming indicates end of stream.
+ if err != nil {
+ // err != nil indicates end of stream.
cs.finish(err)
}
return err
@@ -1077,7 +1192,8 @@ func (cs *clientStream) finish(err error) {
}
cs.finished = true
cs.commitAttemptLocked()
- if cs.attempt != nil {
+ attemptCreated := cs.attempt != nil
+ if attemptCreated {
cs.attempt.finish(err)
// after functions all rely upon having a stream.
if cs.attempt.transportStream != nil {
@@ -1115,7 +1231,13 @@ func (cs *clientStream) finish(err error) {
if err == nil {
cs.retryThrottler.successfulRPC()
}
- endOfClientStream(cs.cc, err, cs.opts...)
+ // If no attempt was ever created, stream creation has failed, and the
+ // cleanup is left to newClientStream, whose deferred cleanup invokes
+ // endOfClientStream if the call fails. Invoking it here as well would
+ // run the cleanup twice for the same call.
+ if attemptCreated {
+ endOfClientStream(cs.cc, err, cs.opts...)
+ }
cs.cancel()
}
@@ -1129,12 +1251,6 @@ func (a *csAttempt) sendMsg(m any, hdr []byte, payld mem.BufferSlice, dataLength
a.mu.Unlock()
}
if err := a.transportStream.Write(hdr, payld, &transport.WriteOptions{Last: !cs.desc.ClientStreams}); err != nil {
- if !cs.desc.ClientStreams {
- // For non-client-streaming RPCs, we return nil instead of EOF on error
- // because the generated code requires it. finish is not called; RecvMsg()
- // will call it with the stream's status independently.
- return nil
- }
return io.EOF
}
if a.statsHandler != nil {
@@ -1202,18 +1318,7 @@ func (a *csAttempt) recvMsg(m any, payInfo *payloadInfo) (err error) {
Length: payInfo.uncompressedBytes.Len(),
})
}
- if cs.desc.ServerStreams {
- // Subsequent messages should be received by subsequent RecvMsg calls.
- return nil
- }
- // Special handling for non-server-stream rpcs.
- // This recv expects EOF or errors, so we don't collect inPayload.
- if err := recv(&a.parser, cs.codec, a.transportStream, a.decompressorV0, m, *cs.callInfo.maxReceiveMessageSize, nil, a.decompressorV1, false); err == io.EOF {
- return a.transportStream.Status().Err() // non-server streaming Recv returns nil on success
- } else if err != nil {
- return toRPCErr(err)
- }
- return status.Error(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message")
+ return nil
}
func (a *csAttempt) finish(err error) {
@@ -1383,7 +1488,7 @@ func newNonRetryClientStream(ctx context.Context, desc *StreamDesc, method strin
}
}()
}
- return as, nil
+ return &clientStreamWrapper{ClientStream: as, desc: desc}, nil
}
type addrConnStream struct {
@@ -1481,12 +1586,6 @@ func (as *addrConnStream) SendMsg(m any) (err error) {
}
if err := as.transportStream.Write(hdr, payload, &transport.WriteOptions{Last: !as.desc.ClientStreams}); err != nil {
- if !as.desc.ClientStreams {
- // For non-client-streaming RPCs, we return nil instead of EOF on error
- // because the generated code requires it. finish is not called; RecvMsg()
- // will call it with the stream's status independently.
- return nil
- }
return io.EOF
}
@@ -1495,8 +1594,8 @@ func (as *addrConnStream) SendMsg(m any) (err error) {
func (as *addrConnStream) RecvMsg(m any) (err error) {
defer func() {
- if err != nil || !as.desc.ServerStreams {
- // err != nil or non-server-streaming indicates end of stream.
+ if err != nil {
+ // err != nil indicates end of stream.
as.finish(err)
}
}()
@@ -1535,20 +1634,7 @@ func (as *addrConnStream) RecvMsg(m any) (err error) {
return toRPCErr(err)
}
as.receivedFirstMsg = true
-
- if as.desc.ServerStreams {
- // Subsequent messages should be received by subsequent RecvMsg calls.
- return nil
- }
-
- // Special handling for non-server-stream rpcs.
- // This recv expects EOF or errors, so we don't collect inPayload.
- if err := recv(&as.parser, as.codec, as.transportStream, as.decompressorV0, m, *as.callInfo.maxReceiveMessageSize, nil, as.decompressorV1, false); err == io.EOF {
- return as.transportStream.Status().Err() // non-server streaming Recv returns nil on success
- } else if err != nil {
- return toRPCErr(err)
- }
- return status.Error(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message")
+ return nil
}
func (as *addrConnStream) finish(err error) {
@@ -1659,6 +1745,8 @@ type serverStream struct {
// synchronized.
serverHeaderBinlogged bool
+ statusWritten atomic.Bool // True if status has been written to the transport.
+
mu sync.Mutex // protects trInfo.tr after the service handler runs.
}
@@ -1707,6 +1795,16 @@ func (ss *serverStream) SetTrailer(md metadata.MD) {
ss.s.SetTrailer(md)
}
+// writeStatus sends the status of a stream to the client. It uses an atomic
+// CAS to guarantee that the status is written to the transport exactly once,
+// even if called concurrently.
+func (ss *serverStream) writeStatus(st *status.Status) error {
+ if !ss.statusWritten.CompareAndSwap(false, true) {
+ return nil
+ }
+ return ss.s.WriteStatus(st)
+}
+
func (ss *serverStream) SendMsg(m any) (err error) {
defer func() {
if ss.trInfo != nil {
@@ -1723,7 +1821,7 @@ func (ss *serverStream) SendMsg(m any) (err error) {
}
if err != nil && err != io.EOF {
st, _ := status.FromError(toRPCErr(err))
- ss.s.WriteStatus(st)
+ ss.writeStatus(st)
// Non-user specified status was sent out. This should be an error
// case (as a server side Cancel maybe).
//
@@ -1806,7 +1904,7 @@ func (ss *serverStream) RecvMsg(m any) (err error) {
}
if err != nil && err != io.EOF {
st, _ := status.FromError(toRPCErr(err))
- ss.s.WriteStatus(st)
+ ss.writeStatus(st)
// Non-user specified status was sent out. This should be an error
// case (as a server side Cancel maybe).
//
diff --git a/vendor/google.golang.org/grpc/version.go b/vendor/google.golang.org/grpc/version.go
index 12f649dcb..75f8ef50d 100644
--- a/vendor/google.golang.org/grpc/version.go
+++ b/vendor/google.golang.org/grpc/version.go
@@ -19,4 +19,4 @@
package grpc
// Version is the current grpc version.
-const Version = "1.80.0"
+const Version = "1.84.0"
diff --git a/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go b/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go
index 2ef36bbcf..ec63689e7 100644
--- a/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go
+++ b/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go
@@ -10,6 +10,7 @@ import (
"encoding/binary"
"fmt"
"io"
+ "math"
"google.golang.org/protobuf/encoding/protowire"
"google.golang.org/protobuf/internal/errors"
@@ -117,7 +118,13 @@ func (o UnmarshalOptions) UnmarshalFrom(r Reader, m proto.Message) error {
if maxSize == 0 {
maxSize = defaultMaxSize
}
- if maxSize != -1 && size > uint64(maxSize) {
+ if maxSize == -1 {
+ // No limit specified: Just check that size fits into an integer,
+ // otherwise the make([]byte, size) call below will panic.
+ if size > math.MaxInt {
+ return errors.Wrap(&SizeTooLargeError{Size: size, MaxSize: math.MaxInt}, "")
+ }
+ } else if size > uint64(maxSize) {
return errors.Wrap(&SizeTooLargeError{Size: size, MaxSize: uint64(maxSize)}, "")
}
diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/decode.go b/vendor/google.golang.org/protobuf/encoding/protojson/decode.go
index 737d6876d..1d6608dc7 100644
--- a/vendor/google.golang.org/protobuf/encoding/protojson/decode.go
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/decode.go
@@ -365,6 +365,10 @@ func unmarshalInt(tok json.Token, bitSize int) (protoreflect.Value, bool) {
if err != nil {
return protoreflect.Value{}, false
}
+ // Ensure there is no non-number content in this string.
+ if next, err := dec.Read(); err != nil || next.Kind() != json.EOF {
+ return protoreflect.Value{}, false
+ }
return getInt(tok, bitSize)
}
return protoreflect.Value{}, false
@@ -397,6 +401,10 @@ func unmarshalUint(tok json.Token, bitSize int) (protoreflect.Value, bool) {
if err != nil {
return protoreflect.Value{}, false
}
+ // Ensure there is no non-number content in this string.
+ if next, err := dec.Read(); err != nil || next.Kind() != json.EOF {
+ return protoreflect.Value{}, false
+ }
return getUint(tok, bitSize)
}
return protoreflect.Value{}, false
@@ -447,6 +455,10 @@ func unmarshalFloat(tok json.Token, bitSize int) (protoreflect.Value, bool) {
if err != nil {
return protoreflect.Value{}, false
}
+ // Ensure there is no non-number content in this string.
+ if next, err := dec.Read(); err != nil || next.Kind() != json.EOF {
+ return protoreflect.Value{}, false
+ }
return getFloat(tok, bitSize)
}
return protoreflect.Value{}, false
diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
index e9fe10394..d2eab4694 100644
--- a/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
@@ -52,7 +52,10 @@ func wellKnownTypeMarshaler(name protoreflect.FullName) marshalFunc {
case genid.FieldMask_message_name:
return encoder.marshalFieldMask
case genid.Empty_message_name:
- return encoder.marshalEmpty
+ // The spec explicitly specifies that the Empty message
+ // is not considered to have any special JSON mapping:
+ // https://protobuf.dev/programming-guides/json/#any
+ return nil
}
}
return nil
diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/decode.go b/vendor/google.golang.org/protobuf/encoding/prototext/decode.go
index b53805056..20ec09e19 100644
--- a/vendor/google.golang.org/protobuf/encoding/prototext/decode.go
+++ b/vendor/google.golang.org/protobuf/encoding/prototext/decode.go
@@ -8,6 +8,7 @@ import (
"fmt"
"unicode/utf8"
+ "google.golang.org/protobuf/encoding/protowire"
"google.golang.org/protobuf/internal/encoding/messageset"
"google.golang.org/protobuf/internal/encoding/text"
"google.golang.org/protobuf/internal/errors"
@@ -49,12 +50,19 @@ type UnmarshalOptions struct {
protoregistry.MessageTypeResolver
protoregistry.ExtensionTypeResolver
}
+
+ // RecursionLimit limits how deeply messages may be nested.
+ // If zero, a default limit is applied.
+ RecursionLimit int
}
// Unmarshal reads the given []byte and populates the given [proto.Message]
// using options in the UnmarshalOptions object.
// The provided message must be mutable (e.g., a non-nil pointer to a message).
func (o UnmarshalOptions) Unmarshal(b []byte, m proto.Message) error {
+ if o.RecursionLimit == 0 {
+ o.RecursionLimit = protowire.DefaultRecursionLimit
+ }
return o.unmarshal(b, m)
}
@@ -102,8 +110,14 @@ func (d decoder) syntaxError(pos int, f string, x ...any) error {
return errors.New(head+f, x...)
}
+var errRecursionDepth = errors.New("exceeded maximum recursion depth")
+
// unmarshalMessage unmarshals into the given protoreflect.Message.
func (d decoder) unmarshalMessage(m protoreflect.Message, checkDelims bool) error {
+ if d.opts.RecursionLimit--; d.opts.RecursionLimit < 0 {
+ return errRecursionDepth
+ }
+
messageDesc := m.Descriptor()
if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) {
return errors.New("no support for proto1 MessageSets")
@@ -437,6 +451,10 @@ func (d decoder) unmarshalList(fd protoreflect.FieldDescriptor, list protoreflec
// unmarshalMap unmarshals into given protoreflect.Map. A map value is a
// textproto message containing {key: , value: }.
func (d decoder) unmarshalMap(fd protoreflect.FieldDescriptor, mmap protoreflect.Map) error {
+ if d.opts.RecursionLimit--; d.opts.RecursionLimit < 0 {
+ return errRecursionDepth
+ }
+
// Determine ahead whether map entry is a scalar type or a message type in
// order to call the appropriate unmarshalMapValue func inside
// unmarshalMapEntry.
diff --git a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
index 87e46bd4d..0b0dfacbe 100644
--- a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
+++ b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
@@ -83,12 +83,13 @@ func formatListOpt(vs list, isRoot, allowMulti bool) string {
case protoreflect.FileImports:
for i := 0; i < vs.Len(); i++ {
var rs records
- rv := reflect.ValueOf(vs.Get(i))
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Path"), "Path"},
- {rv.MethodByName("Package"), "Package"},
- {rv.MethodByName("IsPublic"), "IsPublic"},
- {rv.MethodByName("IsWeak"), "IsWeak"},
+ fi := vs.Get(i)
+ rv := reflect.ValueOf(fi)
+ rs.Append(rv, []attrAndName{
+ {fi.Path(), "Path"},
+ {fi.Package(), "Package"},
+ {fi.IsPublic, "IsPublic"},
+ {fi.IsWeak, "IsWeak"},
}...)
ss = append(ss, "{"+rs.Join()+"}")
}
@@ -104,9 +105,9 @@ func formatListOpt(vs list, isRoot, allowMulti bool) string {
}
}
-type methodAndName struct {
- method reflect.Value
- name string
+type attrAndName struct {
+ attr any
+ name string
}
func FormatDesc(s fmt.State, r rune, t protoreflect.Descriptor) {
@@ -126,58 +127,58 @@ func formatDescOpt(t protoreflect.Descriptor, isRoot, allowMulti bool, record fu
start = rt.Name() + "{"
}
- _, isFile := t.(protoreflect.FileDescriptor)
+ fd, isFile := t.(protoreflect.FileDescriptor)
rs := records{
allowMulti: allowMulti,
record: record,
}
if t.IsPlaceholder() {
if isFile {
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Path"), "Path"},
- {rv.MethodByName("Package"), "Package"},
- {rv.MethodByName("IsPlaceholder"), "IsPlaceholder"},
+ rs.Append(rv, []attrAndName{
+ {fd.Path(), "Path"},
+ {fd.Package(), "Package"},
+ {fd.IsPlaceholder(), "IsPlaceholder"},
}...)
} else {
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("FullName"), "FullName"},
- {rv.MethodByName("IsPlaceholder"), "IsPlaceholder"},
+ rs.Append(rv, []attrAndName{
+ {t.FullName(), "FullName"},
+ {t.IsPlaceholder(), "IsPlaceholder"},
}...)
}
} else {
switch {
case isFile:
- rs.Append(rv, methodAndName{rv.MethodByName("Syntax"), "Syntax"})
+ rs.Append(rv, attrAndName{fd.Syntax(), "Syntax"})
case isRoot:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Syntax"), "Syntax"},
- {rv.MethodByName("FullName"), "FullName"},
+ rs.Append(rv, []attrAndName{
+ {t.Syntax(), "Syntax"},
+ {t.FullName(), "FullName"},
}...)
default:
- rs.Append(rv, methodAndName{rv.MethodByName("Name"), "Name"})
+ rs.Append(rv, attrAndName{t.Name(), "Name"})
}
switch t := t.(type) {
case protoreflect.FieldDescriptor:
- accessors := []methodAndName{
- {rv.MethodByName("Number"), "Number"},
- {rv.MethodByName("Cardinality"), "Cardinality"},
- {rv.MethodByName("Kind"), "Kind"},
- {rv.MethodByName("HasJSONName"), "HasJSONName"},
- {rv.MethodByName("JSONName"), "JSONName"},
- {rv.MethodByName("HasPresence"), "HasPresence"},
- {rv.MethodByName("IsExtension"), "IsExtension"},
- {rv.MethodByName("IsPacked"), "IsPacked"},
- {rv.MethodByName("IsWeak"), "IsWeak"},
- {rv.MethodByName("IsList"), "IsList"},
- {rv.MethodByName("IsMap"), "IsMap"},
- {rv.MethodByName("MapKey"), "MapKey"},
- {rv.MethodByName("MapValue"), "MapValue"},
- {rv.MethodByName("HasDefault"), "HasDefault"},
- {rv.MethodByName("Default"), "Default"},
- {rv.MethodByName("ContainingOneof"), "ContainingOneof"},
- {rv.MethodByName("ContainingMessage"), "ContainingMessage"},
- {rv.MethodByName("Message"), "Message"},
- {rv.MethodByName("Enum"), "Enum"},
+ accessors := []attrAndName{
+ {t.Number(), "Number"},
+ {t.Cardinality(), "Cardinality"},
+ {t.Kind(), "Kind"},
+ {t.HasJSONName(), "HasJSONName"},
+ {t.JSONName(), "JSONName"},
+ {t.HasPresence(), "HasPresence"},
+ {t.IsExtension(), "IsExtension"},
+ {t.IsPacked(), "IsPacked"},
+ {t.IsWeak(), "IsWeak"},
+ {t.IsList(), "IsList"},
+ {t.IsMap(), "IsMap"},
+ {t.MapKey(), "MapKey"},
+ {t.MapValue(), "MapValue"},
+ {t.HasDefault(), "HasDefault"},
+ {t.Default(), "Default"},
+ {t.ContainingOneof(), "ContainingOneof"},
+ {t.ContainingMessage(), "ContainingMessage"},
+ {t.Message(), "Message"},
+ {t.Enum(), "Enum"},
}
for _, s := range accessors {
switch s.name {
@@ -223,58 +224,54 @@ func formatDescOpt(t protoreflect.Descriptor, isRoot, allowMulti bool, record fu
}
case protoreflect.FileDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Path"), "Path"},
- {rv.MethodByName("Package"), "Package"},
- {rv.MethodByName("Imports"), "Imports"},
- {rv.MethodByName("Messages"), "Messages"},
- {rv.MethodByName("Enums"), "Enums"},
- {rv.MethodByName("Extensions"), "Extensions"},
- {rv.MethodByName("Services"), "Services"},
+ rs.Append(rv, []attrAndName{
+ {t.Path(), "Path"},
+ {t.Package(), "Package"},
+ {t.Imports(), "Imports"},
+ {t.Messages(), "Messages"},
+ {t.Enums(), "Enums"},
+ {t.Extensions(), "Extensions"},
+ {t.Services(), "Services"},
}...)
case protoreflect.MessageDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("IsMapEntry"), "IsMapEntry"},
- {rv.MethodByName("Fields"), "Fields"},
- {rv.MethodByName("Oneofs"), "Oneofs"},
- {rv.MethodByName("ReservedNames"), "ReservedNames"},
- {rv.MethodByName("ReservedRanges"), "ReservedRanges"},
- {rv.MethodByName("RequiredNumbers"), "RequiredNumbers"},
- {rv.MethodByName("ExtensionRanges"), "ExtensionRanges"},
- {rv.MethodByName("Messages"), "Messages"},
- {rv.MethodByName("Enums"), "Enums"},
- {rv.MethodByName("Extensions"), "Extensions"},
+ rs.Append(rv, []attrAndName{
+ {t.IsMapEntry(), "IsMapEntry"},
+ {t.Fields(), "Fields"},
+ {t.Oneofs(), "Oneofs"},
+ {t.ReservedNames(), "ReservedNames"},
+ {t.ReservedRanges(), "ReservedRanges"},
+ {t.RequiredNumbers(), "RequiredNumbers"},
+ {t.ExtensionRanges(), "ExtensionRanges"},
+ {t.Messages(), "Messages"},
+ {t.Enums(), "Enums"},
+ {t.Extensions(), "Extensions"},
}...)
case protoreflect.EnumDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Values"), "Values"},
- {rv.MethodByName("ReservedNames"), "ReservedNames"},
- {rv.MethodByName("ReservedRanges"), "ReservedRanges"},
- {rv.MethodByName("IsClosed"), "IsClosed"},
+ rs.Append(rv, []attrAndName{
+ {t.Values(), "Values"},
+ {t.ReservedNames(), "ReservedNames"},
+ {t.ReservedRanges(), "ReservedRanges"},
+ {t.IsClosed(), "IsClosed"},
}...)
case protoreflect.EnumValueDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Number"), "Number"},
- }...)
+ rs.Append(rv, attrAndName{t.Number(), "Number"})
case protoreflect.ServiceDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Methods"), "Methods"},
- }...)
+ rs.Append(rv, attrAndName{t.Methods(), "Methods"})
case protoreflect.MethodDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Input"), "Input"},
- {rv.MethodByName("Output"), "Output"},
- {rv.MethodByName("IsStreamingClient"), "IsStreamingClient"},
- {rv.MethodByName("IsStreamingServer"), "IsStreamingServer"},
+ rs.Append(rv, []attrAndName{
+ {t.Input(), "Input"},
+ {t.Output(), "Output"},
+ {t.IsStreamingClient(), "IsStreamingClient"},
+ {t.IsStreamingServer(), "IsStreamingServer"},
}...)
}
- if m := rv.MethodByName("GoType"); m.IsValid() {
- rs.Append(rv, methodAndName{m, "GoType"})
+ if m, ok := t.(interface{ GoType() reflect.Type }); ok {
+ rs.Append(rv, attrAndName{m.GoType(), "GoType"})
}
}
return start + rs.Join() + end
@@ -297,68 +294,66 @@ func (rs *records) AppendRecs(fieldName string, newRecs [2]string) {
rs.recs = append(rs.recs, newRecs)
}
-func (rs *records) Append(v reflect.Value, accessors ...methodAndName) {
- for _, a := range accessors {
- if rs.record != nil {
- rs.record(a.name)
- }
- var rv reflect.Value
- if a.method.IsValid() {
- rv = a.method.Call(nil)[0]
- }
- if v.Kind() == reflect.Struct && !rv.IsValid() {
- rv = v.FieldByName(a.name)
- }
- if !rv.IsValid() {
- panic(fmt.Sprintf("unknown accessor: %v.%s", v.Type(), a.name))
- }
- if _, ok := rv.Interface().(protoreflect.Value); ok {
- rv = rv.MethodByName("Interface").Call(nil)[0]
- if !rv.IsNil() {
- rv = rv.Elem()
- }
- }
+func (rs *records) Append(v reflect.Value, results ...attrAndName) {
+ for _, r := range results {
+ rs.appendAttribute(v, r.name, r.attr)
+ }
+}
- // Ignore zero values.
- var isZero bool
- switch rv.Kind() {
- case reflect.Interface, reflect.Slice:
- isZero = rv.IsNil()
- case reflect.Bool:
- isZero = rv.Bool() == false
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
- isZero = rv.Int() == 0
- case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
- isZero = rv.Uint() == 0
- case reflect.String:
- isZero = rv.String() == ""
- }
- if n, ok := rv.Interface().(list); ok {
- isZero = n.Len() == 0
- }
- if isZero {
- continue
+func (rs *records) appendAttribute(val reflect.Value, name string, attrVal any) {
+ if rs.record != nil {
+ rs.record(name)
+ }
+ if attrVal == nil {
+ return
+ }
+ rv := reflect.ValueOf(attrVal)
+ if _, ok := rv.Interface().(protoreflect.Value); ok {
+ rv = rv.MethodByName("Interface").Call(nil)[0]
+ if !rv.IsNil() {
+ rv = rv.Elem()
}
+ }
- // Format the value.
- var s string
- v := rv.Interface()
- switch v := v.(type) {
- case list:
- s = formatListOpt(v, false, rs.allowMulti)
- case protoreflect.FieldDescriptor, protoreflect.OneofDescriptor, protoreflect.EnumValueDescriptor, protoreflect.MethodDescriptor:
- s = string(v.(protoreflect.Descriptor).Name())
- case protoreflect.Descriptor:
- s = string(v.FullName())
- case string:
- s = strconv.Quote(v)
- case []byte:
- s = fmt.Sprintf("%q", v)
- default:
- s = fmt.Sprint(v)
- }
- rs.recs = append(rs.recs, [2]string{a.name, s})
+ // Ignore zero values.
+ var isZero bool
+ switch rv.Kind() {
+ case reflect.Interface, reflect.Slice:
+ isZero = rv.IsNil()
+ case reflect.Bool:
+ isZero = rv.Bool() == false
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ isZero = rv.Int() == 0
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
+ isZero = rv.Uint() == 0
+ case reflect.String:
+ isZero = rv.String() == ""
+ }
+ if n, ok := rv.Interface().(list); ok {
+ isZero = n.Len() == 0
+ }
+ if isZero {
+ return
+ }
+
+ // Format the value.
+ var s string
+ v := rv.Interface()
+ switch v := v.(type) {
+ case list:
+ s = formatListOpt(v, false, rs.allowMulti)
+ case protoreflect.FieldDescriptor, protoreflect.OneofDescriptor, protoreflect.EnumValueDescriptor, protoreflect.MethodDescriptor:
+ s = string(v.(protoreflect.Descriptor).Name())
+ case protoreflect.Descriptor:
+ s = string(v.FullName())
+ case string:
+ s = strconv.Quote(v)
+ case []byte:
+ s = fmt.Sprintf("%q", v)
+ default:
+ s = fmt.Sprint(v)
}
+ rs.recs = append(rs.recs, [2]string{name, s})
}
func (rs *records) Join() string {
diff --git a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
index 04696351e..ad35ea4c4 100644
Binary files a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb and b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb differ
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go b/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go
index 328dc733b..079a53dd1 100644
--- a/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go
+++ b/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go
@@ -69,19 +69,19 @@ func Unmarshal(s string, k protoreflect.Kind, evs protoreflect.EnumValueDescript
}
}
case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind:
- if v, err := strconv.ParseInt(s, 10, 32); err == nil {
+ if v, err := strconv.ParseInt(s, 0, 32); err == nil {
return protoreflect.ValueOfInt32(int32(v)), nil, nil
}
case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
- if v, err := strconv.ParseInt(s, 10, 64); err == nil {
+ if v, err := strconv.ParseInt(s, 0, 64); err == nil {
return protoreflect.ValueOfInt64(int64(v)), nil, nil
}
case protoreflect.Uint32Kind, protoreflect.Fixed32Kind:
- if v, err := strconv.ParseUint(s, 10, 32); err == nil {
+ if v, err := strconv.ParseUint(s, 0, 32); err == nil {
return protoreflect.ValueOfUint32(uint32(v)), nil, nil
}
case protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
- if v, err := strconv.ParseUint(s, 10, 64); err == nil {
+ if v, err := strconv.ParseUint(s, 0, 64); err == nil {
return protoreflect.ValueOfUint64(uint64(v)), nil, nil
}
case protoreflect.FloatKind, protoreflect.DoubleKind:
diff --git a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
index 65aaf4d21..58aeff845 100644
--- a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
+++ b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
@@ -26,6 +26,7 @@ const (
Edition_EDITION_PROTO3_enum_value = 999
Edition_EDITION_2023_enum_value = 1000
Edition_EDITION_2024_enum_value = 1001
+ Edition_EDITION_2026_enum_value = 1002
Edition_EDITION_UNSTABLE_enum_value = 9999
Edition_EDITION_1_TEST_ONLY_enum_value = 1
Edition_EDITION_2_TEST_ONLY_enum_value = 2
@@ -806,11 +807,13 @@ const (
FieldOptions_FeatureSupport_EditionDeprecated_field_name protoreflect.Name = "edition_deprecated"
FieldOptions_FeatureSupport_DeprecationWarning_field_name protoreflect.Name = "deprecation_warning"
FieldOptions_FeatureSupport_EditionRemoved_field_name protoreflect.Name = "edition_removed"
+ FieldOptions_FeatureSupport_RemovalError_field_name protoreflect.Name = "removal_error"
FieldOptions_FeatureSupport_EditionIntroduced_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_introduced"
FieldOptions_FeatureSupport_EditionDeprecated_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_deprecated"
FieldOptions_FeatureSupport_DeprecationWarning_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.deprecation_warning"
FieldOptions_FeatureSupport_EditionRemoved_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_removed"
+ FieldOptions_FeatureSupport_RemovalError_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.removal_error"
)
// Field numbers for google.protobuf.FieldOptions.FeatureSupport.
@@ -819,6 +822,7 @@ const (
FieldOptions_FeatureSupport_EditionDeprecated_field_number protoreflect.FieldNumber = 2
FieldOptions_FeatureSupport_DeprecationWarning_field_number protoreflect.FieldNumber = 3
FieldOptions_FeatureSupport_EditionRemoved_field_number protoreflect.FieldNumber = 4
+ FieldOptions_FeatureSupport_RemovalError_field_number protoreflect.FieldNumber = 5
)
// Names for google.protobuf.OneofOptions.
@@ -1152,6 +1156,7 @@ const (
FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN_enum_value = 0
FeatureSet_STYLE2024_enum_value = 1
FeatureSet_STYLE_LEGACY_enum_value = 2
+ FeatureSet_STYLE2026_enum_value = 3
)
// Names for google.protobuf.FeatureSet.VisibilityFeature.
diff --git a/vendor/google.golang.org/protobuf/internal/version/version.go b/vendor/google.golang.org/protobuf/internal/version/version.go
index 763fd8284..58ff0e246 100644
--- a/vendor/google.golang.org/protobuf/internal/version/version.go
+++ b/vendor/google.golang.org/protobuf/internal/version/version.go
@@ -52,7 +52,7 @@ import (
const (
Major = 1
Minor = 36
- Patch = 11
+ Patch = 12
PreRelease = ""
)
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
index 730331e66..86f0d0926 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
@@ -546,6 +546,8 @@ func (p *SourcePath) appendFieldOptions_FeatureSupport(b []byte) []byte {
b = p.appendSingularField(b, "deprecation_warning", nil)
case 4:
b = p.appendSingularField(b, "edition_removed", nil)
+ case 5:
+ b = p.appendSingularField(b, "removal_error", nil)
}
return b
}
diff --git a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
index 0b23faa95..a51cb1e54 100644
--- a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
+++ b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
@@ -1,32 +1,9 @@
// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
+// Copyright 2008 Google LLC. All rights reserved.
//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd
// Author: kenton@google.com (Kenton Varda)
// Based on original Protocol Buffers design by
@@ -69,6 +46,7 @@ const (
// comparison.
Edition_EDITION_2023 Edition = 1000
Edition_EDITION_2024 Edition = 1001
+ Edition_EDITION_2026 Edition = 1002
// A placeholder edition for developing and testing unscheduled features.
Edition_EDITION_UNSTABLE Edition = 9999
// Placeholder editions for testing feature resolution. These should not be
@@ -93,6 +71,7 @@ var (
999: "EDITION_PROTO3",
1000: "EDITION_2023",
1001: "EDITION_2024",
+ 1002: "EDITION_2026",
9999: "EDITION_UNSTABLE",
1: "EDITION_1_TEST_ONLY",
2: "EDITION_2_TEST_ONLY",
@@ -108,6 +87,7 @@ var (
"EDITION_PROTO3": 999,
"EDITION_2023": 1000,
"EDITION_2024": 1001,
+ "EDITION_2026": 1002,
"EDITION_UNSTABLE": 9999,
"EDITION_1_TEST_ONLY": 1,
"EDITION_2_TEST_ONLY": 2,
@@ -1213,6 +1193,7 @@ const (
FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN FeatureSet_EnforceNamingStyle = 0
FeatureSet_STYLE2024 FeatureSet_EnforceNamingStyle = 1
FeatureSet_STYLE_LEGACY FeatureSet_EnforceNamingStyle = 2
+ FeatureSet_STYLE2026 FeatureSet_EnforceNamingStyle = 3
)
// Enum value maps for FeatureSet_EnforceNamingStyle.
@@ -1221,11 +1202,13 @@ var (
0: "ENFORCE_NAMING_STYLE_UNKNOWN",
1: "STYLE2024",
2: "STYLE_LEGACY",
+ 3: "STYLE2026",
}
FeatureSet_EnforceNamingStyle_value = map[string]int32{
"ENFORCE_NAMING_STYLE_UNKNOWN": 0,
"STYLE2024": 1,
"STYLE_LEGACY": 2,
+ "STYLE2026": 3,
}
)
@@ -4204,8 +4187,11 @@ type FieldOptions_FeatureSupport struct {
// this one, the last default assigned will be used, and proto files will
// not be able to override it.
EditionRemoved *Edition `protobuf:"varint,4,opt,name=edition_removed,json=editionRemoved,enum=google.protobuf.Edition" json:"edition_removed,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ // The removal error text if this feature is used after the edition it was
+ // removed in.
+ RemovalError *string `protobuf:"bytes,5,opt,name=removal_error,json=removalError" json:"removal_error,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *FieldOptions_FeatureSupport) Reset() {
@@ -4266,6 +4252,13 @@ func (x *FieldOptions_FeatureSupport) GetEditionRemoved() Edition {
return Edition_EDITION_UNKNOWN
}
+func (x *FieldOptions_FeatureSupport) GetRemovalError() string {
+ if x != nil && x.RemovalError != nil {
+ return *x.RemovalError
+ }
+ return ""
+}
+
// The name of the uninterpreted option. Each string represents a segment in
// a dot-separated name. is_extension is true iff a segment represents an
// extension (denoted with parentheses in options specs in .proto files).
@@ -4719,7 +4712,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\aoptions\x18\x03 \x01(\v2&.google.protobuf.ExtensionRangeOptionsR\aoptions\x1a7\n" +
"\rReservedRange\x12\x14\n" +
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
- "\x03end\x18\x02 \x01(\x05R\x03end\"\xcc\x04\n" +
+ "\x03end\x18\x02 \x01(\x05R\x03end\"\xd4\x04\n" +
"\x15ExtensionRangeOptions\x12X\n" +
"\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\x12Y\n" +
"\vdeclaration\x18\x02 \x03(\v22.google.protobuf.ExtensionRangeOptions.DeclarationB\x03\x88\x01\x02R\vdeclaration\x127\n" +
@@ -4735,7 +4728,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x11VerificationState\x12\x0f\n" +
"\vDECLARATION\x10\x00\x12\x0e\n" +
"\n" +
- "UNVERIFIED\x10\x01*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xc1\x06\n" +
+ "UNVERIFIED\x10\x01*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xc1\x06\n" +
"\x14FieldDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" +
"\x06number\x18\x03 \x01(\x05R\x06number\x12A\n" +
@@ -4810,12 +4803,13 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"outputType\x128\n" +
"\aoptions\x18\x04 \x01(\v2\x1e.google.protobuf.MethodOptionsR\aoptions\x120\n" +
"\x10client_streaming\x18\x05 \x01(\b:\x05falseR\x0fclientStreaming\x120\n" +
- "\x10server_streaming\x18\x06 \x01(\b:\x05falseR\x0fserverStreaming\"\xad\t\n" +
+ "\x10server_streaming\x18\x06 \x01(\b:\x05falseR\x0fserverStreaming\"\xfa\n" +
+ "\n" +
"\vFileOptions\x12!\n" +
"\fjava_package\x18\x01 \x01(\tR\vjavaPackage\x120\n" +
- "\x14java_outer_classname\x18\b \x01(\tR\x12javaOuterClassname\x125\n" +
+ "\x14java_outer_classname\x18\b \x01(\tR\x12javaOuterClassname\x12\xf9\x01\n" +
"\x13java_multiple_files\x18\n" +
- " \x01(\b:\x05falseR\x11javaMultipleFiles\x12D\n" +
+ " \x01(\b:\x05falseB\xc1\x01\xb2\x01\xbd\x01\b\xe6\a \xe9\a*\xb4\x01This behavior is enabled by default in editions 2024 and above. To disable it, you can set `features.(pb.java).nest_in_file_class = YES` on individual messages, enums, or services.R\x11javaMultipleFiles\x12D\n" +
"\x1djava_generate_equals_and_hash\x18\x14 \x01(\bB\x02\x18\x01R\x19javaGenerateEqualsAndHash\x12:\n" +
"\x16java_string_check_utf8\x18\x1b \x01(\b:\x05falseR\x13javaStringCheckUtf8\x12S\n" +
"\foptimize_for\x18\t \x01(\x0e2).google.protobuf.FileOptions.OptimizeMode:\x05SPEEDR\voptimizeFor\x12\x1d\n" +
@@ -4840,7 +4834,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\fOptimizeMode\x12\t\n" +
"\x05SPEED\x10\x01\x12\r\n" +
"\tCODE_SIZE\x10\x02\x12\x10\n" +
- "\fLITE_RUNTIME\x10\x03*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b*\x10+J\x04\b&\x10'R\x14php_generic_services\"\xf4\x03\n" +
+ "\fLITE_RUNTIME\x10\x03*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b*\x10+J\x04\b&\x10'R\x14php_generic_services\"\xfc\x03\n" +
"\x0eMessageOptions\x12<\n" +
"\x17message_set_wire_format\x18\x01 \x01(\b:\x05falseR\x14messageSetWireFormat\x12L\n" +
"\x1fno_standard_descriptor_accessor\x18\x02 \x01(\b:\x05falseR\x1cnoStandardDescriptorAccessor\x12%\n" +
@@ -4850,8 +4844,8 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\tmap_entry\x18\a \x01(\bR\bmapEntry\x12V\n" +
"&deprecated_legacy_json_field_conflicts\x18\v \x01(\bB\x02\x18\x01R\"deprecatedLegacyJsonFieldConflicts\x127\n" +
"\bfeatures\x18\f \x01(\v2\x1b.google.protobuf.FeatureSetR\bfeatures\x12X\n" +
- "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06J\x04\b\x06\x10\aJ\x04\b\b\x10\tJ\x04\b\t\x10\n" +
- "\"\xa1\r\n" +
+ "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06J\x04\b\x06\x10\aJ\x04\b\b\x10\tJ\x04\b\t\x10\n" +
+ "\"\xce\r\n" +
"\fFieldOptions\x12A\n" +
"\x05ctype\x18\x01 \x01(\x0e2#.google.protobuf.FieldOptions.CType:\x06STRINGR\x05ctype\x12\x16\n" +
"\x06packed\x18\x02 \x01(\bR\x06packed\x12G\n" +
@@ -4872,12 +4866,13 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\x1aZ\n" +
"\x0eEditionDefault\x122\n" +
"\aedition\x18\x03 \x01(\x0e2\x18.google.protobuf.EditionR\aedition\x12\x14\n" +
- "\x05value\x18\x02 \x01(\tR\x05value\x1a\x96\x02\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value\x1a\xbb\x02\n" +
"\x0eFeatureSupport\x12G\n" +
"\x12edition_introduced\x18\x01 \x01(\x0e2\x18.google.protobuf.EditionR\x11editionIntroduced\x12G\n" +
"\x12edition_deprecated\x18\x02 \x01(\x0e2\x18.google.protobuf.EditionR\x11editionDeprecated\x12/\n" +
"\x13deprecation_warning\x18\x03 \x01(\tR\x12deprecationWarning\x12A\n" +
- "\x0fedition_removed\x18\x04 \x01(\x0e2\x18.google.protobuf.EditionR\x0eeditionRemoved\"/\n" +
+ "\x0fedition_removed\x18\x04 \x01(\x0e2\x18.google.protobuf.EditionR\x0eeditionRemoved\x12#\n" +
+ "\rremoval_error\x18\x05 \x01(\tR\fremovalError\"/\n" +
"\x05CType\x12\n" +
"\n" +
"\x06STRING\x10\x00\x12\b\n" +
@@ -4901,10 +4896,10 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x10TARGET_TYPE_ENUM\x10\x06\x12\x1a\n" +
"\x16TARGET_TYPE_ENUM_ENTRY\x10\a\x12\x17\n" +
"\x13TARGET_TYPE_SERVICE\x10\b\x12\x16\n" +
- "\x12TARGET_TYPE_METHOD\x10\t*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b\x04\x10\x05J\x04\b\x12\x10\x13\"\xac\x01\n" +
+ "\x12TARGET_TYPE_METHOD\x10\t*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b\x04\x10\x05J\x04\b\x12\x10\x13\"\xb4\x01\n" +
"\fOneofOptions\x127\n" +
"\bfeatures\x18\x01 \x01(\v2\x1b.google.protobuf.FeatureSetR\bfeatures\x12X\n" +
- "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xd1\x02\n" +
+ "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xd9\x02\n" +
"\vEnumOptions\x12\x1f\n" +
"\vallow_alias\x18\x02 \x01(\bR\n" +
"allowAlias\x12%\n" +
@@ -4913,7 +4908,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"deprecated\x12V\n" +
"&deprecated_legacy_json_field_conflicts\x18\x06 \x01(\bB\x02\x18\x01R\"deprecatedLegacyJsonFieldConflicts\x127\n" +
"\bfeatures\x18\a \x01(\v2\x1b.google.protobuf.FeatureSetR\bfeatures\x12X\n" +
- "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b\x05\x10\x06\"\xd8\x02\n" +
+ "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b\x05\x10\x06\"\xe0\x02\n" +
"\x10EnumValueOptions\x12%\n" +
"\n" +
"deprecated\x18\x01 \x01(\b:\x05falseR\n" +
@@ -4921,13 +4916,13 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\bfeatures\x18\x02 \x01(\v2\x1b.google.protobuf.FeatureSetR\bfeatures\x12(\n" +
"\fdebug_redact\x18\x03 \x01(\b:\x05falseR\vdebugRedact\x12U\n" +
"\x0ffeature_support\x18\x04 \x01(\v2,.google.protobuf.FieldOptions.FeatureSupportR\x0efeatureSupport\x12X\n" +
- "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xd5\x01\n" +
+ "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xdd\x01\n" +
"\x0eServiceOptions\x127\n" +
"\bfeatures\x18\" \x01(\v2\x1b.google.protobuf.FeatureSetR\bfeatures\x12%\n" +
"\n" +
"deprecated\x18! \x01(\b:\x05falseR\n" +
"deprecated\x12X\n" +
- "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\x99\x03\n" +
+ "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xa1\x03\n" +
"\rMethodOptions\x12%\n" +
"\n" +
"deprecated\x18! \x01(\b:\x05falseR\n" +
@@ -4939,7 +4934,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x13IDEMPOTENCY_UNKNOWN\x10\x00\x12\x13\n" +
"\x0fNO_SIDE_EFFECTS\x10\x01\x12\x0e\n" +
"\n" +
- "IDEMPOTENT\x10\x02*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\x9a\x03\n" +
+ "IDEMPOTENT\x10\x02*\x06\b\xde\a\x10\xe7\a*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\x9a\x03\n" +
"\x13UninterpretedOption\x12A\n" +
"\x04name\x18\x02 \x03(\v2-.google.protobuf.UninterpretedOption.NamePartR\x04name\x12)\n" +
"\x10identifier_value\x18\x03 \x01(\tR\x0fidentifierValue\x12,\n" +
@@ -4950,7 +4945,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x0faggregate_value\x18\b \x01(\tR\x0eaggregateValue\x1aJ\n" +
"\bNamePart\x12\x1b\n" +
"\tname_part\x18\x01 \x02(\tR\bnamePart\x12!\n" +
- "\fis_extension\x18\x02 \x02(\bR\visExtension\"\x8e\x0f\n" +
+ "\fis_extension\x18\x02 \x02(\bR\visExtension\"\xae\x0f\n" +
"\n" +
"FeatureSet\x12\x91\x01\n" +
"\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\bEXPLICIT\x18\x84\a\xa2\x01\r\x12\bIMPLICIT\x18\xe7\a\xa2\x01\r\x12\bEXPLICIT\x18\xe8\a\xb2\x01\x03\b\xe8\aR\rfieldPresence\x12l\n" +
@@ -4960,8 +4955,8 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x10message_encoding\x18\x05 \x01(\x0e2+.google.protobuf.FeatureSet.MessageEncodingB&\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\x14\x12\x0fLENGTH_PREFIXED\x18\x84\a\xb2\x01\x03\b\xe8\aR\x0fmessageEncoding\x12\x82\x01\n" +
"\vjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\a\xa2\x01\n" +
"\x12\x05ALLOW\x18\xe7\a\xb2\x01\x03\b\xe8\aR\n" +
- "jsonFormat\x12\xab\x01\n" +
- "\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\x12\xb9\x01\n" +
+ "jsonFormat\x12\xbc\x01\n" +
+ "\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBZ\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xa2\x01\x0e\x12\tSTYLE2026\x18\x8fN\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\x12\xb9\x01\n" +
"\x19default_symbol_visibility\x18\b \x01(\x0e2E.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibilityB6\x88\x01\x02\x98\x01\x01\xa2\x01\x0f\x12\n" +
"EXPORT_ALL\x18\x84\a\xa2\x01\x15\x12\x10EXPORT_TOP_LEVEL\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x17defaultSymbolVisibility\x1a\xa1\x01\n" +
"\x11VisibilityFeature\"\x81\x01\n" +
@@ -5001,11 +4996,12 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"JsonFormat\x12\x17\n" +
"\x13JSON_FORMAT_UNKNOWN\x10\x00\x12\t\n" +
"\x05ALLOW\x10\x01\x12\x16\n" +
- "\x12LEGACY_BEST_EFFORT\x10\x02\"W\n" +
+ "\x12LEGACY_BEST_EFFORT\x10\x02\"f\n" +
"\x12EnforceNamingStyle\x12 \n" +
"\x1cENFORCE_NAMING_STYLE_UNKNOWN\x10\x00\x12\r\n" +
"\tSTYLE2024\x10\x01\x12\x10\n" +
- "\fSTYLE_LEGACY\x10\x02*\x06\b\xe8\a\x10\x8bN*\x06\b\x8bN\x10\x90N*\x06\b\x90N\x10\x91NJ\x06\b\xe7\a\x10\xe8\a\"\xef\x03\n" +
+ "\fSTYLE_LEGACY\x10\x02\x12\r\n" +
+ "\tSTYLE2026\x10\x03*\x06\b\xe8\a\x10\x8bN*\x06\b\x8bN\x10\x90N*\x06\b\x90N\x10\x91NJ\x06\b\xe7\a\x10\xe8\a\"\xef\x03\n" +
"\x12FeatureSetDefaults\x12X\n" +
"\bdefaults\x18\x01 \x03(\v2<.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefaultR\bdefaults\x12A\n" +
"\x0fminimum_edition\x18\x04 \x01(\x0e2\x18.google.protobuf.EditionR\x0eminimumEdition\x12A\n" +
@@ -5037,14 +5033,15 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\bSemantic\x12\b\n" +
"\x04NONE\x10\x00\x12\a\n" +
"\x03SET\x10\x01\x12\t\n" +
- "\x05ALIAS\x10\x02*\xbe\x02\n" +
+ "\x05ALIAS\x10\x02*\xd1\x02\n" +
"\aEdition\x12\x13\n" +
"\x0fEDITION_UNKNOWN\x10\x00\x12\x13\n" +
"\x0eEDITION_LEGACY\x10\x84\a\x12\x13\n" +
"\x0eEDITION_PROTO2\x10\xe6\a\x12\x13\n" +
"\x0eEDITION_PROTO3\x10\xe7\a\x12\x11\n" +
"\fEDITION_2023\x10\xe8\a\x12\x11\n" +
- "\fEDITION_2024\x10\xe9\a\x12\x15\n" +
+ "\fEDITION_2024\x10\xe9\a\x12\x11\n" +
+ "\fEDITION_2026\x10\xea\a\x12\x15\n" +
"\x10EDITION_UNSTABLE\x10\x8fN\x12\x17\n" +
"\x13EDITION_1_TEST_ONLY\x10\x01\x12\x17\n" +
"\x13EDITION_2_TEST_ONLY\x10\x02\x12\x1d\n" +
diff --git a/vendor/google.golang.org/protobuf/types/known/anypb/any.pb.go b/vendor/google.golang.org/protobuf/types/known/anypb/any.pb.go
index 1ff0d1494..510894f2b 100644
--- a/vendor/google.golang.org/protobuf/types/known/anypb/any.pb.go
+++ b/vendor/google.golang.org/protobuf/types/known/anypb/any.pb.go
@@ -128,120 +128,66 @@ import (
// `Any` contains an arbitrary serialized protocol buffer message along with a
// URL that describes the type of the serialized message.
//
-// Protobuf library provides support to pack/unpack Any values in the form
-// of utility functions or additional generated methods of the Any type.
-//
-// Example 1: Pack and unpack a message in C++.
-//
-// Foo foo = ...;
-// Any any;
-// any.PackFrom(foo);
-// ...
-// if (any.UnpackTo(&foo)) {
-// ...
-// }
-//
-// Example 2: Pack and unpack a message in Java.
-//
-// Foo foo = ...;
-// Any any = Any.pack(foo);
-// ...
-// if (any.is(Foo.class)) {
-// foo = any.unpack(Foo.class);
-// }
-// // or ...
-// if (any.isSameTypeAs(Foo.getDefaultInstance())) {
-// foo = any.unpack(Foo.getDefaultInstance());
-// }
-//
-// Example 3: Pack and unpack a message in Python.
-//
-// foo = Foo(...)
-// any = Any()
-// any.Pack(foo)
-// ...
-// if any.Is(Foo.DESCRIPTOR):
-// any.Unpack(foo)
-// ...
-//
-// Example 4: Pack and unpack a message in Go
-//
-// foo := &pb.Foo{...}
-// any, err := anypb.New(foo)
-// if err != nil {
-// ...
-// }
-// ...
-// foo := &pb.Foo{}
-// if err := any.UnmarshalTo(foo); err != nil {
-// ...
-// }
-//
-// The pack methods provided by protobuf library will by default use
-// 'type.googleapis.com/full.type.name' as the type URL and the unpack
-// methods only use the fully qualified type name after the last '/'
-// in the type URL, for example "foo.bar.com/x/y.z" will yield type
-// name "y.z".
-//
-// JSON
-// ====
-// The JSON representation of an `Any` value uses the regular
-// representation of the deserialized, embedded message, with an
-// additional field `@type` which contains the type URL. Example:
-//
-// package google.profile;
-// message Person {
-// string first_name = 1;
-// string last_name = 2;
-// }
-//
-// {
-// "@type": "type.googleapis.com/google.profile.Person",
-// "firstName": ,
-// "lastName":
-// }
-//
-// If the embedded message type is well-known and has a custom JSON
-// representation, that representation will be embedded adding a field
-// `value` which holds the custom JSON in addition to the `@type`
-// field. Example (for message [google.protobuf.Duration][]):
-//
-// {
-// "@type": "type.googleapis.com/google.protobuf.Duration",
-// "value": "1.212s"
-// }
+// In its binary encoding, an `Any` is an ordinary message; but in other wire
+// forms like JSON, it has a special encoding. The format of the type URL is
+// described on the `type_url` field.
+//
+// Protobuf APIs provide utilities to interact with `Any` values:
+//
+// - A 'pack' operation accepts a message and constructs a generic `Any` wrapper
+// around it.
+// - An 'unpack' operation reads the content of an `Any` message, either into an
+// existing message or a new one. Unpack operations must check the type of the
+// value they unpack against the declared `type_url`.
+// - An 'is' operation decides whether an `Any` contains a message of the given
+// type, i.e. whether it can 'unpack' that type.
+//
+// The JSON format representation of an `Any` follows one of these cases:
+//
+// - For types without special-cased JSON encodings, the JSON format
+// representation of the `Any` is the same as that of the message, with an
+// additional `@type` field which contains the type URL.
+// - For types with special-cased JSON encodings (typically called 'well-known'
+// types, listed in https://protobuf.dev/programming-guides/json/#any), the
+// JSON format representation has a key `@type` which contains the type URL
+// and a key `value` which contains the JSON-serialized value.
+//
+// The text format representation of an `Any` is like a message with one field
+// whose name is the type URL in brackets. For example, an `Any` containing a
+// `foo.Bar` message may be written `[type.googleapis.com/foo.Bar] { a: 2 }`.
type Any struct {
state protoimpl.MessageState `protogen:"open.v1"`
- // A URL/resource name that uniquely identifies the type of the serialized
- // protocol buffer message. This string must contain at least
- // one "/" character. The last segment of the URL's path must represent
- // the fully qualified name of the type (as in
- // `path/google.protobuf.Duration`). The name should be in a canonical form
- // (e.g., leading "." is not accepted).
+ // Identifies the type of the serialized Protobuf message with a URI reference
+ // consisting of a prefix ending in a slash and the fully-qualified type name.
+ //
+ // Example: type.googleapis.com/google.protobuf.StringValue
//
- // In practice, teams usually precompile into the binary all types that they
- // expect it to use in the context of Any. However, for URLs which use the
- // scheme `http`, `https`, or no scheme, one can optionally set up a type
- // server that maps type URLs to message definitions as follows:
+ // This string must contain at least one `/` character, and the content after
+ // the last `/` must be the fully-qualified name of the type in canonical
+ // form, without a leading dot. Do not write a scheme on these URI references
+ // so that clients do not attempt to contact them.
//
- // - If no scheme is provided, `https` is assumed.
- // - An HTTP GET on the URL must yield a [google.protobuf.Type][]
- // value in binary format, or produce an error.
- // - Applications are allowed to cache lookup results based on the
- // URL, or have them precompiled into a binary to avoid any
- // lookup. Therefore, binary compatibility needs to be preserved
- // on changes to types. (Use versioned type names to manage
- // breaking changes.)
+ // The prefix is arbitrary and Protobuf implementations are expected to
+ // simply strip off everything up to and including the last `/` to identify
+ // the type. `type.googleapis.com/` is a common default prefix that some
+ // legacy implementations require. This prefix does not indicate the origin of
+ // the type, and URIs containing it are not expected to respond to any
+ // requests.
//
- // Note: this functionality is not currently available in the official
- // protobuf release, and it is not used for type URLs beginning with
- // type.googleapis.com. As of May 2023, there are no widely used type server
- // implementations and no plans to implement one.
+ // All type URL strings must be legal URI references with the additional
+ // restriction (for the text format) that the content of the reference
+ // must consist only of alphanumeric characters, percent-encoded escapes, and
+ // characters in the following set (not including the outer backticks):
+ // `/-.~_!$&()*+,;=`. Despite our allowing percent encodings, implementations
+ // should not unescape them to prevent confusion with existing parsers. For
+ // example, `type.googleapis.com%2FFoo` should be rejected.
//
- // Schemes other than `http`, `https` (or the empty scheme) might be
- // used with implementation specific semantics.
+ // In the original design of `Any`, the possibility of launching a type
+ // resolution service at these type URLs was considered but Protobuf never
+ // implemented one and considers contacting these URLs to be problematic and
+ // a potential security issue. Do not attempt to contact type URLs.
TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
- // Must be a valid serialized protocol buffer of the above specified type.
+ // Holds a Protobuf serialization of the type described by type_url.
Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
diff --git a/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go b/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
index 484c21fd5..2cd60946c 100644
--- a/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
+++ b/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
@@ -153,8 +153,8 @@ import (
// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
-// is required. A proto3 JSON serializer should always use UTC (as indicated by
-// "Z") when printing the Timestamp type and a proto3 JSON parser should be
+// is required. A ProtoJSON serializer should always use UTC (as indicated by
+// "Z") when printing the Timestamp type and a ProtoJSON parser should be
// able to accept both UTC and other timezones (as indicated by an offset).
//
// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
@@ -173,7 +173,7 @@ import (
type Timestamp struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must
- // be between -315576000000 and 315576000000 inclusive (which corresponds to
+ // be between -62135596800 and 253402300799 inclusive (which corresponds to
// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).
Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
// Non-negative fractions of a second at nanosecond resolution. This field is
diff --git a/vendor/gopkg.in/ini.v1/.golangci.yml b/vendor/gopkg.in/ini.v1/.golangci.yml
index fabbdb621..693762946 100644
--- a/vendor/gopkg.in/ini.v1/.golangci.yml
+++ b/vendor/gopkg.in/ini.v1/.golangci.yml
@@ -6,11 +6,6 @@ linters:
- unconvert
- unparam
settings:
- govet:
- disable:
- # printf: non-constant format string in call to fmt.Errorf (govet)
- # showing up since golangci-lint version 1.60.1
- - printf
nakedret:
max-func-lines: 0 # Disallow any unnamed return statement
exclusions:
diff --git a/vendor/gopkg.in/ini.v1/data_source.go b/vendor/gopkg.in/ini.v1/data_source.go
index c3a541f1d..6e2572b72 100644
--- a/vendor/gopkg.in/ini.v1/data_source.go
+++ b/vendor/gopkg.in/ini.v1/data_source.go
@@ -18,7 +18,6 @@ import (
"bytes"
"fmt"
"io"
- "io/ioutil"
"os"
)
@@ -48,7 +47,7 @@ type sourceData struct {
}
func (s *sourceData) ReadCloser() (io.ReadCloser, error) {
- return ioutil.NopCloser(bytes.NewReader(s.data)), nil
+ return io.NopCloser(bytes.NewReader(s.data)), nil
}
// sourceReadCloser represents an input stream with Close method.
@@ -69,7 +68,7 @@ func parseDataSource(source interface{}) (dataSource, error) {
case io.ReadCloser:
return &sourceReadCloser{s}, nil
case io.Reader:
- return &sourceReadCloser{ioutil.NopCloser(s)}, nil
+ return &sourceReadCloser{io.NopCloser(s)}, nil
default:
return nil, fmt.Errorf("error parsing data source: unknown type %q", s)
}
diff --git a/vendor/gopkg.in/ini.v1/file.go b/vendor/gopkg.in/ini.v1/file.go
index f8b22408b..58beabc2f 100644
--- a/vendor/gopkg.in/ini.v1/file.go
+++ b/vendor/gopkg.in/ini.v1/file.go
@@ -19,7 +19,6 @@ import (
"errors"
"fmt"
"io"
- "io/ioutil"
"os"
"strings"
"sync"
@@ -532,7 +531,7 @@ func (f *File) SaveToIndent(filename, indent string) error {
return err
}
- return ioutil.WriteFile(filename, buf.Bytes(), 0666)
+ return os.WriteFile(filename, buf.Bytes(), 0666)
}
// SaveTo writes content to file system.
diff --git a/vendor/gopkg.in/ini.v1/key.go b/vendor/gopkg.in/ini.v1/key.go
index 1a7767a2e..800d04a47 100644
--- a/vendor/gopkg.in/ini.v1/key.go
+++ b/vendor/gopkg.in/ini.v1/key.go
@@ -15,12 +15,12 @@
package ini
import (
- "bytes"
"errors"
"fmt"
"strconv"
"strings"
"time"
+ "unicode/utf8"
)
// Key represents a key under a section.
@@ -170,7 +170,7 @@ func (k *Key) transformValue(val string) string {
}
// Substitute by new value and take off leading '%(' and trailing ')s'.
- val = strings.ReplaceAll(val, vr, nk.value)
+ val = strings.ReplaceAll(val, vr, nk.String())
}
return val
}
@@ -495,31 +495,38 @@ func (k *Key) Strings(delim string) []string {
return []string{}
}
- runes := []rune(str)
- vals := make([]string, 0, 2)
- var buf bytes.Buffer
- escape := false
- idx := 0
+ maxParts := strings.Count(str, delim) + 1
+ vals := make([]string, 0, maxParts)
+
+ var buf strings.Builder
+ buf.Grow(len(str))
+
+ i := 0
for {
- if escape {
- escape = false
- if runes[idx] != '\\' && !strings.HasPrefix(string(runes[idx:]), delim) {
+ if str[i] == '\\' {
+ i++
+ if i >= len(str) {
+ break
+ }
+
+ if str[i] != '\\' && !strings.HasPrefix(str[i:], delim) {
buf.WriteRune('\\')
}
- buf.WriteRune(runes[idx])
+
+ r, size := utf8.DecodeRuneInString(str[i:])
+ i += size
+ buf.WriteRune(r)
+ } else if strings.HasPrefix(str[i:], delim) {
+ i += len(delim)
+ vals = append(vals, strings.TrimSpace(buf.String()))
+ buf.Reset()
} else {
- if runes[idx] == '\\' {
- escape = true
- } else if strings.HasPrefix(string(runes[idx:]), delim) {
- idx += len(delim) - 1
- vals = append(vals, strings.TrimSpace(buf.String()))
- buf.Reset()
- } else {
- buf.WriteRune(runes[idx])
- }
+ r, size := utf8.DecodeRuneInString(str[i:])
+ i += size
+ buf.WriteRune(r)
}
- idx++
- if idx == len(runes) {
+
+ if i >= len(str) {
break
}
}
diff --git a/vendor/gopkg.in/ini.v1/struct.go b/vendor/gopkg.in/ini.v1/struct.go
index a486b2fe0..819a6e5a6 100644
--- a/vendor/gopkg.in/ini.v1/struct.go
+++ b/vendor/gopkg.in/ini.v1/struct.go
@@ -156,7 +156,7 @@ func wrapStrictError(err error, isStrict bool) error {
// because we want to use default value that is already assigned to struct.
func setWithProperType(t reflect.Type, key *Key, field reflect.Value, delim string, allowShadow, isStrict bool) error {
vt := t
- isPtr := t.Kind() == reflect.Ptr
+ isPtr := t.Kind() == reflect.Pointer
if isPtr {
vt = t.Elem()
}
@@ -278,7 +278,7 @@ func parseTagOptions(tag string) (rawName string, omitEmpty bool, allowShadow bo
// mapToField maps the given value to the matching field of the given section.
// The sectionIndex is the index (if non unique sections are enabled) to which the value should be added.
func (s *Section) mapToField(val reflect.Value, isStrict bool, sectionIndex int, sectionName string) error {
- if val.Kind() == reflect.Ptr {
+ if val.Kind() == reflect.Pointer {
val = val.Elem()
}
typ := val.Type()
@@ -299,8 +299,8 @@ func (s *Section) mapToField(val reflect.Value, isStrict bool, sectionIndex int,
}
isStruct := tpField.Type.Kind() == reflect.Struct
- isStructPtr := tpField.Type.Kind() == reflect.Ptr && tpField.Type.Elem().Kind() == reflect.Struct
- isAnonymousPtr := tpField.Type.Kind() == reflect.Ptr && tpField.Anonymous
+ isStructPtr := tpField.Type.Kind() == reflect.Pointer && tpField.Type.Elem().Kind() == reflect.Struct
+ isAnonymousPtr := tpField.Type.Kind() == reflect.Pointer && tpField.Anonymous
if isAnonymousPtr {
field.Set(reflect.New(tpField.Type.Elem()))
}
@@ -381,7 +381,7 @@ func (s *Section) mapToSlice(secName string, val reflect.Value, isStrict bool) (
func (s *Section) mapTo(v interface{}, isStrict bool) error {
typ := reflect.TypeOf(v)
val := reflect.ValueOf(v)
- if typ.Kind() == reflect.Ptr {
+ if typ.Kind() == reflect.Pointer {
typ = typ.Elem()
val = val.Elem()
} else {
@@ -500,13 +500,13 @@ func reflectSliceWithProperType(key *Key, field reflect.Value, delim string, all
case reflect.String:
buf.WriteString(slice.Index(i).String())
case reflect.Int, reflect.Int64:
- buf.WriteString(fmt.Sprint(slice.Index(i).Int()))
+ fmt.Fprint(&buf, slice.Index(i).Int())
case reflect.Uint, reflect.Uint64:
- buf.WriteString(fmt.Sprint(slice.Index(i).Uint()))
+ fmt.Fprint(&buf, slice.Index(i).Uint())
case reflect.Float64:
- buf.WriteString(fmt.Sprint(slice.Index(i).Float()))
+ fmt.Fprint(&buf, slice.Index(i).Float())
case reflect.Bool:
- buf.WriteString(fmt.Sprint(slice.Index(i).Bool()))
+ fmt.Fprint(&buf, slice.Index(i).Bool())
case reflectTime:
buf.WriteString(slice.Index(i).Interface().(time.Time).Format(time.RFC3339))
default:
@@ -535,7 +535,7 @@ func reflectWithProperType(t reflect.Type, key *Key, field reflect.Value, delim
key.SetValue(fmt.Sprint(field.Interface().(time.Time).Format(time.RFC3339)))
case reflect.Slice:
return reflectSliceWithProperType(key, field, delim, allowShadow)
- case reflect.Ptr:
+ case reflect.Pointer:
if !field.IsNil() {
return reflectWithProperType(t.Elem(), key, field.Elem(), delim, allowShadow)
}
@@ -559,7 +559,7 @@ func isEmptyValue(v reflect.Value) bool {
return v.Uint() == 0
case reflect.Float32, reflect.Float64:
return v.Float() == 0
- case reflect.Interface, reflect.Ptr:
+ case reflect.Interface, reflect.Pointer:
return v.IsNil()
case reflectTime:
t, ok := v.Interface().(time.Time)
@@ -574,7 +574,7 @@ type StructReflector interface {
}
func (s *Section) reflectFrom(val reflect.Value) error {
- if val.Kind() == reflect.Ptr {
+ if val.Kind() == reflect.Pointer {
val = val.Elem()
}
typ := val.Type()
@@ -606,14 +606,14 @@ func (s *Section) reflectFrom(val reflect.Value) error {
continue
}
- if extends && tpField.Anonymous && (tpField.Type.Kind() == reflect.Ptr || tpField.Type.Kind() == reflect.Struct) {
+ if extends && tpField.Anonymous && (tpField.Type.Kind() == reflect.Pointer || tpField.Type.Kind() == reflect.Struct) {
if err := s.reflectFrom(field); err != nil {
return fmt.Errorf("reflect from field %q: %v", fieldName, err)
}
continue
}
- if (tpField.Type.Kind() == reflect.Ptr && tpField.Type.Elem().Kind() == reflect.Struct) ||
+ if (tpField.Type.Kind() == reflect.Pointer && tpField.Type.Elem().Kind() == reflect.Struct) ||
(tpField.Type.Kind() == reflect.Struct && tpField.Type.Name() != "Time") {
// Note: The only error here is section doesn't exist.
sec, err := s.f.GetSection(fieldName)
@@ -641,7 +641,7 @@ func (s *Section) reflectFrom(val reflect.Value) error {
sliceOf := field.Type().Elem().Kind()
for i := 0; i < field.Len(); i++ {
- if sliceOf != reflect.Struct && sliceOf != reflect.Ptr {
+ if sliceOf != reflect.Struct && sliceOf != reflect.Pointer {
return fmt.Errorf("field %q is not a slice of pointer or struct", fieldName)
}
@@ -688,11 +688,11 @@ func (s *Section) ReflectFrom(v interface{}) error {
val := reflect.ValueOf(v)
if s.name != DefaultSection && s.f.options.AllowNonUniqueSections &&
- (typ.Kind() == reflect.Slice || typ.Kind() == reflect.Ptr) {
+ (typ.Kind() == reflect.Slice || typ.Kind() == reflect.Pointer) {
// Clear sections to make sure none exists before adding the new ones
s.f.DeleteSection(s.name)
- if typ.Kind() == reflect.Ptr {
+ if typ.Kind() == reflect.Pointer {
sec, err := s.f.NewSection(s.name)
if err != nil {
return err
@@ -702,7 +702,7 @@ func (s *Section) ReflectFrom(v interface{}) error {
slice := val.Slice(0, val.Len())
sliceOf := val.Type().Elem().Kind()
- if sliceOf != reflect.Ptr {
+ if sliceOf != reflect.Pointer {
return fmt.Errorf("not a slice of pointers")
}
@@ -721,7 +721,7 @@ func (s *Section) ReflectFrom(v interface{}) error {
return nil
}
- if typ.Kind() == reflect.Ptr {
+ if typ.Kind() == reflect.Pointer {
val = val.Elem()
} else {
return errors.New("not a pointer to a struct")
diff --git a/vendor/k8s.io/api/admissionregistration/v1/generated.pb.go b/vendor/k8s.io/api/admissionregistration/v1/generated.pb.go
index 91b2f1cba..e2def5040 100644
--- a/vendor/k8s.io/api/admissionregistration/v1/generated.pb.go
+++ b/vendor/k8s.io/api/admissionregistration/v1/generated.pb.go
@@ -32,20 +32,38 @@ import (
strings "strings"
)
+func (m *ApplyConfiguration) Reset() { *m = ApplyConfiguration{} }
+
func (m *AuditAnnotation) Reset() { *m = AuditAnnotation{} }
func (m *ExpressionWarning) Reset() { *m = ExpressionWarning{} }
+func (m *JSONPatch) Reset() { *m = JSONPatch{} }
+
func (m *MatchCondition) Reset() { *m = MatchCondition{} }
func (m *MatchResources) Reset() { *m = MatchResources{} }
+func (m *MutatingAdmissionPolicy) Reset() { *m = MutatingAdmissionPolicy{} }
+
+func (m *MutatingAdmissionPolicyBinding) Reset() { *m = MutatingAdmissionPolicyBinding{} }
+
+func (m *MutatingAdmissionPolicyBindingList) Reset() { *m = MutatingAdmissionPolicyBindingList{} }
+
+func (m *MutatingAdmissionPolicyBindingSpec) Reset() { *m = MutatingAdmissionPolicyBindingSpec{} }
+
+func (m *MutatingAdmissionPolicyList) Reset() { *m = MutatingAdmissionPolicyList{} }
+
+func (m *MutatingAdmissionPolicySpec) Reset() { *m = MutatingAdmissionPolicySpec{} }
+
func (m *MutatingWebhook) Reset() { *m = MutatingWebhook{} }
func (m *MutatingWebhookConfiguration) Reset() { *m = MutatingWebhookConfiguration{} }
func (m *MutatingWebhookConfigurationList) Reset() { *m = MutatingWebhookConfigurationList{} }
+func (m *Mutation) Reset() { *m = Mutation{} }
+
func (m *NamedRuleWithOperations) Reset() { *m = NamedRuleWithOperations{} }
func (m *ParamKind) Reset() { *m = ParamKind{} }
@@ -86,6 +104,34 @@ func (m *Variable) Reset() { *m = Variable{} }
func (m *WebhookClientConfig) Reset() { *m = WebhookClientConfig{} }
+func (m *ApplyConfiguration) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ApplyConfiguration) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ApplyConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *AuditAnnotation) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -152,6 +198,34 @@ func (m *ExpressionWarning) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *JSONPatch) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *JSONPatch) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *JSONPatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *MatchCondition) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -267,7 +341,7 @@ func (m *MatchResources) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func (m *MutatingWebhook) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicy) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -277,112 +351,18 @@ func (m *MutatingWebhook) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *MutatingWebhook) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicy) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *MutatingWebhook) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.MatchConditions) > 0 {
- for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.MatchConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x62
- }
- }
- if m.ObjectSelector != nil {
- {
- size, err := m.ObjectSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x5a
- }
- if m.ReinvocationPolicy != nil {
- i -= len(*m.ReinvocationPolicy)
- copy(dAtA[i:], *m.ReinvocationPolicy)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ReinvocationPolicy)))
- i--
- dAtA[i] = 0x52
- }
- if m.MatchPolicy != nil {
- i -= len(*m.MatchPolicy)
- copy(dAtA[i:], *m.MatchPolicy)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.MatchPolicy)))
- i--
- dAtA[i] = 0x4a
- }
- if len(m.AdmissionReviewVersions) > 0 {
- for iNdEx := len(m.AdmissionReviewVersions) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.AdmissionReviewVersions[iNdEx])
- copy(dAtA[i:], m.AdmissionReviewVersions[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.AdmissionReviewVersions[iNdEx])))
- i--
- dAtA[i] = 0x42
- }
- }
- if m.TimeoutSeconds != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.TimeoutSeconds))
- i--
- dAtA[i] = 0x38
- }
- if m.SideEffects != nil {
- i -= len(*m.SideEffects)
- copy(dAtA[i:], *m.SideEffects)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.SideEffects)))
- i--
- dAtA[i] = 0x32
- }
- if m.NamespaceSelector != nil {
- {
- size, err := m.NamespaceSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.FailurePolicy != nil {
- i -= len(*m.FailurePolicy)
- copy(dAtA[i:], *m.FailurePolicy)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Rules) > 0 {
- for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Rules[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
{
- size, err := m.ClientConfig.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -391,15 +371,20 @@ func (m *MutatingWebhook) MarshalToSizedBuffer(dAtA []byte) (int, error) {
}
i--
dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *MutatingWebhookConfiguration) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicyBinding) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -409,30 +394,26 @@ func (m *MutatingWebhookConfiguration) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *MutatingWebhookConfiguration) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBinding) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *MutatingWebhookConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBinding) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Webhooks) > 0 {
- for iNdEx := len(m.Webhooks) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Webhooks[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x12
{
size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
@@ -446,7 +427,7 @@ func (m *MutatingWebhookConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, e
return len(dAtA) - i, nil
}
-func (m *MutatingWebhookConfigurationList) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicyBindingList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -456,12 +437,12 @@ func (m *MutatingWebhookConfigurationList) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *MutatingWebhookConfigurationList) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBindingList) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *MutatingWebhookConfigurationList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBindingList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -493,7 +474,7 @@ func (m *MutatingWebhookConfigurationList) MarshalToSizedBuffer(dAtA []byte) (in
return len(dAtA) - i, nil
}
-func (m *NamedRuleWithOperations) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicyBindingSpec) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -503,39 +484,49 @@ func (m *NamedRuleWithOperations) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *NamedRuleWithOperations) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBindingSpec) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *NamedRuleWithOperations) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBindingSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- {
- size, err := m.RuleWithOperations.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
+ if m.MatchResources != nil {
+ {
+ size, err := m.MatchResources.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x1a
}
- i--
- dAtA[i] = 0x12
- if len(m.ResourceNames) > 0 {
- for iNdEx := len(m.ResourceNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ResourceNames[iNdEx])
- copy(dAtA[i:], m.ResourceNames[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.ResourceNames[iNdEx])))
- i--
- dAtA[i] = 0xa
+ if m.ParamRef != nil {
+ {
+ size, err := m.ParamRef.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x12
}
+ i -= len(m.PolicyName)
+ copy(dAtA[i:], m.PolicyName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.PolicyName)))
+ i--
+ dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ParamKind) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicyList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -545,31 +536,45 @@ func (m *ParamKind) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ParamKind) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyList) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ParamKind) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- i -= len(m.Kind)
- copy(dAtA[i:], m.Kind)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind)))
- i--
- dAtA[i] = 0x12
- i -= len(m.APIVersion)
- copy(dAtA[i:], m.APIVersion)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersion)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ParamRef) Marshal() (dAtA []byte, err error) {
- size := m.Size()
+ if len(m.Items) > 0 {
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *MutatingAdmissionPolicySpec) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
@@ -578,26 +583,73 @@ func (m *ParamRef) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ParamRef) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicySpec) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ParamRef) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if m.ParameterNotFoundAction != nil {
- i -= len(*m.ParameterNotFoundAction)
- copy(dAtA[i:], *m.ParameterNotFoundAction)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ParameterNotFoundAction)))
+ i -= len(m.ReinvocationPolicy)
+ copy(dAtA[i:], m.ReinvocationPolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ReinvocationPolicy)))
+ i--
+ dAtA[i] = 0x3a
+ if len(m.MatchConditions) > 0 {
+ for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.MatchConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x32
+ }
+ }
+ if m.FailurePolicy != nil {
+ i -= len(*m.FailurePolicy)
+ copy(dAtA[i:], *m.FailurePolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
i--
- dAtA[i] = 0x22
+ dAtA[i] = 0x2a
}
- if m.Selector != nil {
+ if len(m.Mutations) > 0 {
+ for iNdEx := len(m.Mutations) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Mutations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ if len(m.Variables) > 0 {
+ for iNdEx := len(m.Variables) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Variables[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
+ }
+ if m.MatchConstraints != nil {
{
- size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.MatchConstraints.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -605,22 +657,24 @@ func (m *ParamRef) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i = encodeVarintGenerated(dAtA, i, uint64(size))
}
i--
- dAtA[i] = 0x1a
+ dAtA[i] = 0x12
+ }
+ if m.ParamKind != nil {
+ {
+ size, err := m.ParamKind.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
}
- i -= len(m.Namespace)
- copy(dAtA[i:], m.Namespace)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *Rule) Marshal() (dAtA []byte, err error) {
+func (m *MutatingWebhook) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -630,54 +684,129 @@ func (m *Rule) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *Rule) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingWebhook) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *Rule) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingWebhook) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if m.Scope != nil {
- i -= len(*m.Scope)
- copy(dAtA[i:], *m.Scope)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Scope)))
+ if len(m.MatchConditions) > 0 {
+ for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.MatchConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x62
+ }
+ }
+ if m.ObjectSelector != nil {
+ {
+ size, err := m.ObjectSelector.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
i--
- dAtA[i] = 0x22
+ dAtA[i] = 0x5a
}
- if len(m.Resources) > 0 {
- for iNdEx := len(m.Resources) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Resources[iNdEx])
- copy(dAtA[i:], m.Resources[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Resources[iNdEx])))
+ if m.ReinvocationPolicy != nil {
+ i -= len(*m.ReinvocationPolicy)
+ copy(dAtA[i:], *m.ReinvocationPolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ReinvocationPolicy)))
+ i--
+ dAtA[i] = 0x52
+ }
+ if m.MatchPolicy != nil {
+ i -= len(*m.MatchPolicy)
+ copy(dAtA[i:], *m.MatchPolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.MatchPolicy)))
+ i--
+ dAtA[i] = 0x4a
+ }
+ if len(m.AdmissionReviewVersions) > 0 {
+ for iNdEx := len(m.AdmissionReviewVersions) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.AdmissionReviewVersions[iNdEx])
+ copy(dAtA[i:], m.AdmissionReviewVersions[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.AdmissionReviewVersions[iNdEx])))
i--
- dAtA[i] = 0x1a
+ dAtA[i] = 0x42
}
}
- if len(m.APIVersions) > 0 {
- for iNdEx := len(m.APIVersions) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.APIVersions[iNdEx])
- copy(dAtA[i:], m.APIVersions[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersions[iNdEx])))
- i--
- dAtA[i] = 0x12
+ if m.TimeoutSeconds != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.TimeoutSeconds))
+ i--
+ dAtA[i] = 0x38
+ }
+ if m.SideEffects != nil {
+ i -= len(*m.SideEffects)
+ copy(dAtA[i:], *m.SideEffects)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.SideEffects)))
+ i--
+ dAtA[i] = 0x32
+ }
+ if m.NamespaceSelector != nil {
+ {
+ size, err := m.NamespaceSelector.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x2a
}
- if len(m.APIGroups) > 0 {
- for iNdEx := len(m.APIGroups) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.APIGroups[iNdEx])
- copy(dAtA[i:], m.APIGroups[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIGroups[iNdEx])))
+ if m.FailurePolicy != nil {
+ i -= len(*m.FailurePolicy)
+ copy(dAtA[i:], *m.FailurePolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
+ i--
+ dAtA[i] = 0x22
+ }
+ if len(m.Rules) > 0 {
+ for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Rules[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
i--
- dAtA[i] = 0xa
+ dAtA[i] = 0x1a
+ }
+ }
+ {
+ size, err := m.ClientConfig.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *RuleWithOperations) Marshal() (dAtA []byte, err error) {
+func (m *MutatingWebhookConfiguration) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -687,84 +816,44 @@ func (m *RuleWithOperations) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *RuleWithOperations) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingWebhookConfiguration) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *RuleWithOperations) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingWebhookConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- {
- size, err := m.Rule.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- if len(m.Operations) > 0 {
- for iNdEx := len(m.Operations) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Operations[iNdEx])
- copy(dAtA[i:], m.Operations[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Operations[iNdEx])))
+ if len(m.Webhooks) > 0 {
+ for iNdEx := len(m.Webhooks) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Webhooks[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
i--
- dAtA[i] = 0xa
+ dAtA[i] = 0x12
}
}
- return len(dAtA) - i, nil
-}
-
-func (m *ServiceReference) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ServiceReference) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ServiceReference) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.Port != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.Port))
- i--
- dAtA[i] = 0x20
- }
- if m.Path != nil {
- i -= len(*m.Path)
- copy(dAtA[i:], *m.Path)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Path)))
- i--
- dAtA[i] = 0x1a
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Namespace)
- copy(dAtA[i:], m.Namespace)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace)))
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *TypeChecking) Marshal() (dAtA []byte, err error) {
+func (m *MutatingWebhookConfigurationList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -774,20 +863,20 @@ func (m *TypeChecking) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *TypeChecking) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingWebhookConfigurationList) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *TypeChecking) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingWebhookConfigurationList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.ExpressionWarnings) > 0 {
- for iNdEx := len(m.ExpressionWarnings) - 1; iNdEx >= 0; iNdEx-- {
+ if len(m.Items) > 0 {
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
{
- size, err := m.ExpressionWarnings[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -795,13 +884,23 @@ func (m *TypeChecking) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i = encodeVarintGenerated(dAtA, i, uint64(size))
}
i--
- dAtA[i] = 0xa
+ dAtA[i] = 0x12
+ }
+ }
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicy) Marshal() (dAtA []byte, err error) {
+func (m *Mutation) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -811,50 +910,49 @@ func (m *ValidatingAdmissionPolicy) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicy) MarshalTo(dAtA []byte) (int, error) {
+func (m *Mutation) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *Mutation) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- {
- size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
+ if m.JSONPatch != nil {
+ {
+ size, err := m.JSONPatch.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x22
}
- i--
- dAtA[i] = 0x1a
- {
- size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
+ if m.ApplyConfiguration != nil {
+ {
+ size, err := m.ApplyConfiguration.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x1a
}
+ i -= len(m.PatchType)
+ copy(dAtA[i:], m.PatchType)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.PatchType)))
i--
dAtA[i] = 0x12
- {
- size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyBinding) Marshal() (dAtA []byte, err error) {
+func (m *NamedRuleWithOperations) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -864,18 +962,18 @@ func (m *ValidatingAdmissionPolicyBinding) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyBinding) MarshalTo(dAtA []byte) (int, error) {
+func (m *NamedRuleWithOperations) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyBinding) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *NamedRuleWithOperations) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
{
- size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.RuleWithOperations.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -884,20 +982,19 @@ func (m *ValidatingAdmissionPolicyBinding) MarshalToSizedBuffer(dAtA []byte) (in
}
i--
dAtA[i] = 0x12
- {
- size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
+ if len(m.ResourceNames) > 0 {
+ for iNdEx := len(m.ResourceNames) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.ResourceNames[iNdEx])
+ copy(dAtA[i:], m.ResourceNames[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ResourceNames[iNdEx])))
+ i--
+ dAtA[i] = 0xa
}
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- i--
- dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyBindingList) Marshal() (dAtA []byte, err error) {
+func (m *ParamKind) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -907,44 +1004,30 @@ func (m *ValidatingAdmissionPolicyBindingList) Marshal() (dAtA []byte, err error
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyBindingList) MarshalTo(dAtA []byte) (int, error) {
+func (m *ParamKind) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyBindingList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ParamKind) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Items) > 0 {
- for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- {
- size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
+ i -= len(m.Kind)
+ copy(dAtA[i:], m.Kind)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.APIVersion)
+ copy(dAtA[i:], m.APIVersion)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersion)))
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyBindingSpec) Marshal() (dAtA []byte, err error) {
+func (m *ParamRef) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -954,40 +1037,26 @@ func (m *ValidatingAdmissionPolicyBindingSpec) Marshal() (dAtA []byte, err error
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyBindingSpec) MarshalTo(dAtA []byte) (int, error) {
+func (m *ParamRef) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyBindingSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ParamRef) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.ValidationActions) > 0 {
- for iNdEx := len(m.ValidationActions) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ValidationActions[iNdEx])
- copy(dAtA[i:], m.ValidationActions[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.ValidationActions[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if m.MatchResources != nil {
- {
- size, err := m.MatchResources.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
+ if m.ParameterNotFoundAction != nil {
+ i -= len(*m.ParameterNotFoundAction)
+ copy(dAtA[i:], *m.ParameterNotFoundAction)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ParameterNotFoundAction)))
i--
- dAtA[i] = 0x1a
+ dAtA[i] = 0x22
}
- if m.ParamRef != nil {
+ if m.Selector != nil {
{
- size, err := m.ParamRef.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -995,17 +1064,22 @@ func (m *ValidatingAdmissionPolicyBindingSpec) MarshalToSizedBuffer(dAtA []byte)
i = encodeVarintGenerated(dAtA, i, uint64(size))
}
i--
- dAtA[i] = 0x12
+ dAtA[i] = 0x1a
}
- i -= len(m.PolicyName)
- copy(dAtA[i:], m.PolicyName)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.PolicyName)))
+ i -= len(m.Namespace)
+ copy(dAtA[i:], m.Namespace)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyList) Marshal() (dAtA []byte, err error) {
+func (m *Rule) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1015,44 +1089,54 @@ func (m *ValidatingAdmissionPolicyList) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyList) MarshalTo(dAtA []byte) (int, error) {
+func (m *Rule) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *Rule) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Items) > 0 {
- for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- {
- size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
+ if m.Scope != nil {
+ i -= len(*m.Scope)
+ copy(dAtA[i:], *m.Scope)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Scope)))
+ i--
+ dAtA[i] = 0x22
+ }
+ if len(m.Resources) > 0 {
+ for iNdEx := len(m.Resources) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.Resources[iNdEx])
+ copy(dAtA[i:], m.Resources[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Resources[iNdEx])))
+ i--
+ dAtA[i] = 0x1a
+ }
+ }
+ if len(m.APIVersions) > 0 {
+ for iNdEx := len(m.APIVersions) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.APIVersions[iNdEx])
+ copy(dAtA[i:], m.APIVersions[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersions[iNdEx])))
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ if len(m.APIGroups) > 0 {
+ for iNdEx := len(m.APIGroups) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.APIGroups[iNdEx])
+ copy(dAtA[i:], m.APIGroups[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIGroups[iNdEx])))
+ i--
+ dAtA[i] = 0xa
}
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- i--
- dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicySpec) Marshal() (dAtA []byte, err error) {
+func (m *RuleWithOperations) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1062,107 +1146,84 @@ func (m *ValidatingAdmissionPolicySpec) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicySpec) MarshalTo(dAtA []byte) (int, error) {
+func (m *RuleWithOperations) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *RuleWithOperations) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Variables) > 0 {
- for iNdEx := len(m.Variables) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Variables[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- }
- if len(m.MatchConditions) > 0 {
- for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.MatchConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
+ {
+ size, err := m.Rule.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- if len(m.AuditAnnotations) > 0 {
- for iNdEx := len(m.AuditAnnotations) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.AuditAnnotations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
+ i--
+ dAtA[i] = 0x12
+ if len(m.Operations) > 0 {
+ for iNdEx := len(m.Operations) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.Operations[iNdEx])
+ copy(dAtA[i:], m.Operations[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Operations[iNdEx])))
i--
- dAtA[i] = 0x2a
+ dAtA[i] = 0xa
}
}
- if m.FailurePolicy != nil {
- i -= len(*m.FailurePolicy)
- copy(dAtA[i:], *m.FailurePolicy)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Validations) > 0 {
- for iNdEx := len(m.Validations) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Validations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
+ return len(dAtA) - i, nil
+}
+
+func (m *ServiceReference) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- if m.MatchConstraints != nil {
- {
- size, err := m.MatchConstraints.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
+ return dAtA[:n], nil
+}
+
+func (m *ServiceReference) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ServiceReference) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Port != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.Port))
i--
- dAtA[i] = 0x12
+ dAtA[i] = 0x20
}
- if m.ParamKind != nil {
- {
- size, err := m.ParamKind.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
+ if m.Path != nil {
+ i -= len(*m.Path)
+ copy(dAtA[i:], *m.Path)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Path)))
i--
- dAtA[i] = 0xa
+ dAtA[i] = 0x1a
}
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Namespace)
+ copy(dAtA[i:], m.Namespace)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace)))
+ i--
+ dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyStatus) Marshal() (dAtA []byte, err error) {
+func (m *TypeChecking) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1172,20 +1233,20 @@ func (m *ValidatingAdmissionPolicyStatus) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyStatus) MarshalTo(dAtA []byte) (int, error) {
+func (m *TypeChecking) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *TypeChecking) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Conditions) > 0 {
- for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
+ if len(m.ExpressionWarnings) > 0 {
+ for iNdEx := len(m.ExpressionWarnings) - 1; iNdEx >= 0; iNdEx-- {
{
- size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.ExpressionWarnings[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -1193,28 +1254,13 @@ func (m *ValidatingAdmissionPolicyStatus) MarshalToSizedBuffer(dAtA []byte) (int
i = encodeVarintGenerated(dAtA, i, uint64(size))
}
i--
- dAtA[i] = 0x1a
- }
- }
- if m.TypeChecking != nil {
- {
- size, err := m.TypeChecking.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
+ dAtA[i] = 0xa
}
- i--
- dAtA[i] = 0x12
}
- i = encodeVarintGenerated(dAtA, i, uint64(m.ObservedGeneration))
- i--
- dAtA[i] = 0x8
return len(dAtA) - i, nil
}
-func (m *ValidatingWebhook) Marshal() (dAtA []byte, err error) {
+func (m *ValidatingAdmissionPolicy) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1224,105 +1270,38 @@ func (m *ValidatingWebhook) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingWebhook) MarshalTo(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicy) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingWebhook) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.MatchConditions) > 0 {
- for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.MatchConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x5a
+ {
+ size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- if m.ObjectSelector != nil {
- {
- size, err := m.ObjectSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x52
- }
- if m.MatchPolicy != nil {
- i -= len(*m.MatchPolicy)
- copy(dAtA[i:], *m.MatchPolicy)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.MatchPolicy)))
- i--
- dAtA[i] = 0x4a
- }
- if len(m.AdmissionReviewVersions) > 0 {
- for iNdEx := len(m.AdmissionReviewVersions) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.AdmissionReviewVersions[iNdEx])
- copy(dAtA[i:], m.AdmissionReviewVersions[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.AdmissionReviewVersions[iNdEx])))
- i--
- dAtA[i] = 0x42
- }
- }
- if m.TimeoutSeconds != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.TimeoutSeconds))
- i--
- dAtA[i] = 0x38
- }
- if m.SideEffects != nil {
- i -= len(*m.SideEffects)
- copy(dAtA[i:], *m.SideEffects)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.SideEffects)))
- i--
- dAtA[i] = 0x32
- }
- if m.NamespaceSelector != nil {
- {
- size, err := m.NamespaceSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.FailurePolicy != nil {
- i -= len(*m.FailurePolicy)
- copy(dAtA[i:], *m.FailurePolicy)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Rules) > 0 {
- for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Rules[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
+ i--
+ dAtA[i] = 0x1a
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x12
{
- size, err := m.ClientConfig.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -1330,16 +1309,11 @@ func (m *ValidatingWebhook) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i = encodeVarintGenerated(dAtA, i, uint64(size))
}
i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ValidatingWebhookConfiguration) Marshal() (dAtA []byte, err error) {
+func (m *ValidatingAdmissionPolicyBinding) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1349,30 +1323,26 @@ func (m *ValidatingWebhookConfiguration) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingWebhookConfiguration) MarshalTo(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicyBinding) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingWebhookConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicyBinding) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Webhooks) > 0 {
- for iNdEx := len(m.Webhooks) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Webhooks[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x12
{
size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
@@ -1386,7 +1356,7 @@ func (m *ValidatingWebhookConfiguration) MarshalToSizedBuffer(dAtA []byte) (int,
return len(dAtA) - i, nil
}
-func (m *ValidatingWebhookConfigurationList) Marshal() (dAtA []byte, err error) {
+func (m *ValidatingAdmissionPolicyBindingList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1396,12 +1366,12 @@ func (m *ValidatingWebhookConfigurationList) Marshal() (dAtA []byte, err error)
return dAtA[:n], nil
}
-func (m *ValidatingWebhookConfigurationList) MarshalTo(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicyBindingList) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingWebhookConfigurationList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicyBindingList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -1433,7 +1403,7 @@ func (m *ValidatingWebhookConfigurationList) MarshalToSizedBuffer(dAtA []byte) (
return len(dAtA) - i, nil
}
-func (m *Validation) Marshal() (dAtA []byte, err error) {
+func (m *ValidatingAdmissionPolicyBindingSpec) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1443,42 +1413,58 @@ func (m *Validation) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *Validation) MarshalTo(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicyBindingSpec) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *Validation) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicyBindingSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- i -= len(m.MessageExpression)
- copy(dAtA[i:], m.MessageExpression)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.MessageExpression)))
- i--
- dAtA[i] = 0x22
- if m.Reason != nil {
- i -= len(*m.Reason)
- copy(dAtA[i:], *m.Reason)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Reason)))
+ if len(m.ValidationActions) > 0 {
+ for iNdEx := len(m.ValidationActions) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.ValidationActions[iNdEx])
+ copy(dAtA[i:], m.ValidationActions[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ValidationActions[iNdEx])))
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ if m.MatchResources != nil {
+ {
+ size, err := m.MatchResources.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
i--
dAtA[i] = 0x1a
}
- i -= len(m.Message)
- copy(dAtA[i:], m.Message)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Expression)
- copy(dAtA[i:], m.Expression)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ if m.ParamRef != nil {
+ {
+ size, err := m.ParamRef.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ i -= len(m.PolicyName)
+ copy(dAtA[i:], m.PolicyName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.PolicyName)))
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *Variable) Marshal() (dAtA []byte, err error) {
+func (m *ValidatingAdmissionPolicyList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1488,30 +1474,44 @@ func (m *Variable) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *Variable) MarshalTo(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicyList) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *Variable) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicyList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- i -= len(m.Expression)
- copy(dAtA[i:], m.Expression)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ if len(m.Items) > 0 {
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *WebhookClientConfig) Marshal() (dAtA []byte, err error) {
+func (m *ValidatingAdmissionPolicySpec) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1521,355 +1521,610 @@ func (m *WebhookClientConfig) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *WebhookClientConfig) MarshalTo(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicySpec) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *WebhookClientConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ValidatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if m.URL != nil {
- i -= len(*m.URL)
- copy(dAtA[i:], *m.URL)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.URL)))
- i--
- dAtA[i] = 0x1a
+ if len(m.Variables) > 0 {
+ for iNdEx := len(m.Variables) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Variables[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x3a
+ }
}
- if m.CABundle != nil {
- i -= len(m.CABundle)
- copy(dAtA[i:], m.CABundle)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.CABundle)))
- i--
- dAtA[i] = 0x12
+ if len(m.MatchConditions) > 0 {
+ for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.MatchConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x32
+ }
}
- if m.Service != nil {
- {
- size, err := m.Service.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
+ if len(m.AuditAnnotations) > 0 {
+ for iNdEx := len(m.AuditAnnotations) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.AuditAnnotations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x2a
}
+ }
+ if m.FailurePolicy != nil {
+ i -= len(*m.FailurePolicy)
+ copy(dAtA[i:], *m.FailurePolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
i--
- dAtA[i] = 0xa
+ dAtA[i] = 0x22
}
- return len(dAtA) - i, nil
-}
-
-func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
- offset -= sovGenerated(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
+ if len(m.Validations) > 0 {
+ for iNdEx := len(m.Validations) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Validations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
}
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *AuditAnnotation) Size() (n int) {
- if m == nil {
- return 0
+ if m.MatchConstraints != nil {
+ {
+ size, err := m.MatchConstraints.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
}
- var l int
- _ = l
- l = len(m.Key)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.ValueExpression)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ if m.ParamKind != nil {
+ {
+ size, err := m.ParamKind.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
}
-func (m *ExpressionWarning) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingAdmissionPolicyStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- var l int
- _ = l
- l = len(m.FieldRef)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Warning)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ return dAtA[:n], nil
}
-func (m *MatchCondition) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Expression)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+func (m *ValidatingAdmissionPolicyStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *MatchResources) Size() (n int) {
- if m == nil {
- return 0
- }
+func (m *ValidatingAdmissionPolicyStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- if m.NamespaceSelector != nil {
- l = m.NamespaceSelector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ObjectSelector != nil {
- l = m.ObjectSelector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if len(m.ResourceRules) > 0 {
- for _, e := range m.ResourceRules {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Conditions) > 0 {
+ for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
}
}
- if len(m.ExcludeResourceRules) > 0 {
- for _, e := range m.ExcludeResourceRules {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if m.TypeChecking != nil {
+ {
+ size, err := m.TypeChecking.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x12
}
- if m.MatchPolicy != nil {
- l = len(*m.MatchPolicy)
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
+ i = encodeVarintGenerated(dAtA, i, uint64(m.ObservedGeneration))
+ i--
+ dAtA[i] = 0x8
+ return len(dAtA) - i, nil
}
-func (m *MutatingWebhook) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingWebhook) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *ValidatingWebhook) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ValidatingWebhook) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.ClientConfig.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Rules) > 0 {
- for _, e := range m.Rules {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.MatchConditions) > 0 {
+ for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.MatchConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x5a
}
}
- if m.FailurePolicy != nil {
- l = len(*m.FailurePolicy)
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.NamespaceSelector != nil {
- l = m.NamespaceSelector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.SideEffects != nil {
- l = len(*m.SideEffects)
- n += 1 + l + sovGenerated(uint64(l))
+ if m.ObjectSelector != nil {
+ {
+ size, err := m.ObjectSelector.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x52
}
- if m.TimeoutSeconds != nil {
- n += 1 + sovGenerated(uint64(*m.TimeoutSeconds))
+ if m.MatchPolicy != nil {
+ i -= len(*m.MatchPolicy)
+ copy(dAtA[i:], *m.MatchPolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.MatchPolicy)))
+ i--
+ dAtA[i] = 0x4a
}
if len(m.AdmissionReviewVersions) > 0 {
- for _, s := range m.AdmissionReviewVersions {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
+ for iNdEx := len(m.AdmissionReviewVersions) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.AdmissionReviewVersions[iNdEx])
+ copy(dAtA[i:], m.AdmissionReviewVersions[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.AdmissionReviewVersions[iNdEx])))
+ i--
+ dAtA[i] = 0x42
}
}
- if m.MatchPolicy != nil {
- l = len(*m.MatchPolicy)
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ReinvocationPolicy != nil {
- l = len(*m.ReinvocationPolicy)
- n += 1 + l + sovGenerated(uint64(l))
+ if m.TimeoutSeconds != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.TimeoutSeconds))
+ i--
+ dAtA[i] = 0x38
}
- if m.ObjectSelector != nil {
- l = m.ObjectSelector.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if m.SideEffects != nil {
+ i -= len(*m.SideEffects)
+ copy(dAtA[i:], *m.SideEffects)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.SideEffects)))
+ i--
+ dAtA[i] = 0x32
}
- if len(m.MatchConditions) > 0 {
- for _, e := range m.MatchConditions {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if m.NamespaceSelector != nil {
+ {
+ size, err := m.NamespaceSelector.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x2a
}
- return n
-}
-
-func (m *MutatingWebhookConfiguration) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Webhooks) > 0 {
- for _, e := range m.Webhooks {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
+ if m.FailurePolicy != nil {
+ i -= len(*m.FailurePolicy)
+ copy(dAtA[i:], *m.FailurePolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
+ i--
+ dAtA[i] = 0x22
}
- return n
-}
-
-func (m *MutatingWebhookConfigurationList) Size() (n int) {
- if m == nil {
- return 0
+ if len(m.Rules) > 0 {
+ for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Rules[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
}
- var l int
- _ = l
- l = m.ListMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Items) > 0 {
- for _, e := range m.Items {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ {
+ size, err := m.ClientConfig.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- return n
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *NamedRuleWithOperations) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.ResourceNames) > 0 {
- for _, s := range m.ResourceNames {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
+func (m *ValidatingWebhookConfiguration) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- l = m.RuleWithOperations.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ return dAtA[:n], nil
}
-func (m *ParamKind) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.APIVersion)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Kind)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+func (m *ValidatingWebhookConfiguration) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ParamRef) Size() (n int) {
- if m == nil {
- return 0
- }
+func (m *ValidatingWebhookConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Namespace)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Selector != nil {
- l = m.Selector.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Webhooks) > 0 {
+ for iNdEx := len(m.Webhooks) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Webhooks[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
}
- if m.ParameterNotFoundAction != nil {
- l = len(*m.ParameterNotFoundAction)
- n += 1 + l + sovGenerated(uint64(l))
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- return n
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *Rule) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingWebhookConfigurationList) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *ValidatingWebhookConfigurationList) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ValidatingWebhookConfigurationList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- if len(m.APIGroups) > 0 {
- for _, s := range m.APIGroups {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if len(m.APIVersions) > 0 {
- for _, s := range m.APIVersions {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
}
}
- if len(m.Resources) > 0 {
- for _, s := range m.Resources {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- if m.Scope != nil {
- l = len(*m.Scope)
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *RuleWithOperations) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Operations) > 0 {
- for _, s := range m.Operations {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
+func (m *Validation) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- l = m.Rule.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ return dAtA[:n], nil
}
-func (m *ServiceReference) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Namespace)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Path != nil {
- l = len(*m.Path)
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Port != nil {
- n += 1 + sovGenerated(uint64(*m.Port))
- }
- return n
+func (m *Validation) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *TypeChecking) Size() (n int) {
- if m == nil {
- return 0
- }
+func (m *Validation) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- if len(m.ExpressionWarnings) > 0 {
- for _, e := range m.ExpressionWarnings {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
+ i -= len(m.MessageExpression)
+ copy(dAtA[i:], m.MessageExpression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.MessageExpression)))
+ i--
+ dAtA[i] = 0x22
+ if m.Reason != nil {
+ i -= len(*m.Reason)
+ copy(dAtA[i:], *m.Reason)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Reason)))
+ i--
+ dAtA[i] = 0x1a
+ }
+ i -= len(m.Message)
+ copy(dAtA[i:], m.Message)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *Variable) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *Variable) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *Variable) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *WebhookClientConfig) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *WebhookClientConfig) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *WebhookClientConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.URL != nil {
+ i -= len(*m.URL)
+ copy(dAtA[i:], *m.URL)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.URL)))
+ i--
+ dAtA[i] = 0x1a
+ }
+ if m.CABundle != nil {
+ i -= len(m.CABundle)
+ copy(dAtA[i:], m.CABundle)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.CABundle)))
+ i--
+ dAtA[i] = 0x12
+ }
+ if m.Service != nil {
+ {
+ size, err := m.Service.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
+ offset -= sovGenerated(v)
+ base := offset
+ for v >= 1<<7 {
+ dAtA[offset] = uint8(v&0x7f | 0x80)
+ v >>= 7
+ offset++
+ }
+ dAtA[offset] = uint8(v)
+ return base
+}
+func (m *ApplyConfiguration) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
return n
}
-func (m *ValidatingAdmissionPolicy) Size() (n int) {
+func (m *AuditAnnotation) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Key)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.ValueExpression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *ExpressionWarning) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.FieldRef)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Warning)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *JSONPatch) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *MatchCondition) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *MatchResources) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.NamespaceSelector != nil {
+ l = m.NamespaceSelector.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.ObjectSelector != nil {
+ l = m.ObjectSelector.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.ResourceRules) > 0 {
+ for _, e := range m.ResourceRules {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.ExcludeResourceRules) > 0 {
+ for _, e := range m.ExcludeResourceRules {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if m.MatchPolicy != nil {
+ l = len(*m.MatchPolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *MutatingAdmissionPolicy) Size() (n int) {
if m == nil {
return 0
}
@@ -1879,12 +2134,10 @@ func (m *ValidatingAdmissionPolicy) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = m.Spec.Size()
n += 1 + l + sovGenerated(uint64(l))
- l = m.Status.Size()
- n += 1 + l + sovGenerated(uint64(l))
return n
}
-func (m *ValidatingAdmissionPolicyBinding) Size() (n int) {
+func (m *MutatingAdmissionPolicyBinding) Size() (n int) {
if m == nil {
return 0
}
@@ -1897,7 +2150,7 @@ func (m *ValidatingAdmissionPolicyBinding) Size() (n int) {
return n
}
-func (m *ValidatingAdmissionPolicyBindingList) Size() (n int) {
+func (m *MutatingAdmissionPolicyBindingList) Size() (n int) {
if m == nil {
return 0
}
@@ -1914,7 +2167,7 @@ func (m *ValidatingAdmissionPolicyBindingList) Size() (n int) {
return n
}
-func (m *ValidatingAdmissionPolicyBindingSpec) Size() (n int) {
+func (m *MutatingAdmissionPolicyBindingSpec) Size() (n int) {
if m == nil {
return 0
}
@@ -1930,16 +2183,10 @@ func (m *ValidatingAdmissionPolicyBindingSpec) Size() (n int) {
l = m.MatchResources.Size()
n += 1 + l + sovGenerated(uint64(l))
}
- if len(m.ValidationActions) > 0 {
- for _, s := range m.ValidationActions {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
return n
}
-func (m *ValidatingAdmissionPolicyList) Size() (n int) {
+func (m *MutatingAdmissionPolicyList) Size() (n int) {
if m == nil {
return 0
}
@@ -1956,7 +2203,7 @@ func (m *ValidatingAdmissionPolicyList) Size() (n int) {
return n
}
-func (m *ValidatingAdmissionPolicySpec) Size() (n int) {
+func (m *MutatingAdmissionPolicySpec) Size() (n int) {
if m == nil {
return 0
}
@@ -1970,58 +2217,34 @@ func (m *ValidatingAdmissionPolicySpec) Size() (n int) {
l = m.MatchConstraints.Size()
n += 1 + l + sovGenerated(uint64(l))
}
- if len(m.Validations) > 0 {
- for _, e := range m.Validations {
+ if len(m.Variables) > 0 {
+ for _, e := range m.Variables {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
- if m.FailurePolicy != nil {
- l = len(*m.FailurePolicy)
- n += 1 + l + sovGenerated(uint64(l))
- }
- if len(m.AuditAnnotations) > 0 {
- for _, e := range m.AuditAnnotations {
+ if len(m.Mutations) > 0 {
+ for _, e := range m.Mutations {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
+ if m.FailurePolicy != nil {
+ l = len(*m.FailurePolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
if len(m.MatchConditions) > 0 {
for _, e := range m.MatchConditions {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
- if len(m.Variables) > 0 {
- for _, e := range m.Variables {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
+ l = len(m.ReinvocationPolicy)
+ n += 1 + l + sovGenerated(uint64(l))
return n
}
-func (m *ValidatingAdmissionPolicyStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovGenerated(uint64(m.ObservedGeneration))
- if m.TypeChecking != nil {
- l = m.TypeChecking.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if len(m.Conditions) > 0 {
- for _, e := range m.Conditions {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *ValidatingWebhook) Size() (n int) {
+func (m *MutatingWebhook) Size() (n int) {
if m == nil {
return 0
}
@@ -2062,6 +2285,10 @@ func (m *ValidatingWebhook) Size() (n int) {
l = len(*m.MatchPolicy)
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.ReinvocationPolicy != nil {
+ l = len(*m.ReinvocationPolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
if m.ObjectSelector != nil {
l = m.ObjectSelector.Size()
n += 1 + l + sovGenerated(uint64(l))
@@ -2075,7 +2302,7 @@ func (m *ValidatingWebhook) Size() (n int) {
return n
}
-func (m *ValidatingWebhookConfiguration) Size() (n int) {
+func (m *MutatingWebhookConfiguration) Size() (n int) {
if m == nil {
return 0
}
@@ -2092,7 +2319,7 @@ func (m *ValidatingWebhookConfiguration) Size() (n int) {
return n
}
-func (m *ValidatingWebhookConfigurationList) Size() (n int) {
+func (m *MutatingWebhookConfigurationList) Size() (n int) {
if m == nil {
return 0
}
@@ -2109,500 +2336,1983 @@ func (m *ValidatingWebhookConfigurationList) Size() (n int) {
return n
}
-func (m *Validation) Size() (n int) {
+func (m *Mutation) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
- l = len(m.Expression)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Message)
+ l = len(m.PatchType)
n += 1 + l + sovGenerated(uint64(l))
- if m.Reason != nil {
- l = len(*m.Reason)
+ if m.ApplyConfiguration != nil {
+ l = m.ApplyConfiguration.Size()
n += 1 + l + sovGenerated(uint64(l))
}
- l = len(m.MessageExpression)
+ if m.JSONPatch != nil {
+ l = m.JSONPatch.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *NamedRuleWithOperations) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.ResourceNames) > 0 {
+ for _, s := range m.ResourceNames {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ l = m.RuleWithOperations.Size()
n += 1 + l + sovGenerated(uint64(l))
return n
}
-func (m *Variable) Size() (n int) {
+func (m *ParamKind) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
- l = len(m.Name)
+ l = len(m.APIVersion)
n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Expression)
+ l = len(m.Kind)
n += 1 + l + sovGenerated(uint64(l))
return n
}
-func (m *WebhookClientConfig) Size() (n int) {
+func (m *ParamRef) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
- if m.Service != nil {
- l = m.Service.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.CABundle != nil {
- l = len(m.CABundle)
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Namespace)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Selector != nil {
+ l = m.Selector.Size()
n += 1 + l + sovGenerated(uint64(l))
}
- if m.URL != nil {
- l = len(*m.URL)
+ if m.ParameterNotFoundAction != nil {
+ l = len(*m.ParameterNotFoundAction)
n += 1 + l + sovGenerated(uint64(l))
}
return n
}
-func sovGenerated(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGenerated(x uint64) (n int) {
- return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *AuditAnnotation) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&AuditAnnotation{`,
- `Key:` + fmt.Sprintf("%v", this.Key) + `,`,
- `ValueExpression:` + fmt.Sprintf("%v", this.ValueExpression) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ExpressionWarning) String() string {
- if this == nil {
- return "nil"
+func (m *Rule) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ExpressionWarning{`,
- `FieldRef:` + fmt.Sprintf("%v", this.FieldRef) + `,`,
- `Warning:` + fmt.Sprintf("%v", this.Warning) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MatchCondition) String() string {
- if this == nil {
- return "nil"
+ var l int
+ _ = l
+ if len(m.APIGroups) > 0 {
+ for _, s := range m.APIGroups {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- s := strings.Join([]string{`&MatchCondition{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MatchResources) String() string {
- if this == nil {
- return "nil"
+ if len(m.APIVersions) > 0 {
+ for _, s := range m.APIVersions {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForResourceRules := "[]NamedRuleWithOperations{"
- for _, f := range this.ResourceRules {
- repeatedStringForResourceRules += strings.Replace(strings.Replace(f.String(), "NamedRuleWithOperations", "NamedRuleWithOperations", 1), `&`, ``, 1) + ","
+ if len(m.Resources) > 0 {
+ for _, s := range m.Resources {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForResourceRules += "}"
- repeatedStringForExcludeResourceRules := "[]NamedRuleWithOperations{"
- for _, f := range this.ExcludeResourceRules {
- repeatedStringForExcludeResourceRules += strings.Replace(strings.Replace(f.String(), "NamedRuleWithOperations", "NamedRuleWithOperations", 1), `&`, ``, 1) + ","
+ if m.Scope != nil {
+ l = len(*m.Scope)
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForExcludeResourceRules += "}"
- s := strings.Join([]string{`&MatchResources{`,
- `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `ObjectSelector:` + strings.Replace(fmt.Sprintf("%v", this.ObjectSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `ResourceRules:` + repeatedStringForResourceRules + `,`,
- `ExcludeResourceRules:` + repeatedStringForExcludeResourceRules + `,`,
- `MatchPolicy:` + valueToStringGenerated(this.MatchPolicy) + `,`,
- `}`,
- }, "")
- return s
+ return n
}
-func (this *MutatingWebhook) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForRules := "[]RuleWithOperations{"
- for _, f := range this.Rules {
- repeatedStringForRules += strings.Replace(strings.Replace(f.String(), "RuleWithOperations", "RuleWithOperations", 1), `&`, ``, 1) + ","
+
+func (m *RuleWithOperations) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForRules += "}"
- repeatedStringForMatchConditions := "[]MatchCondition{"
- for _, f := range this.MatchConditions {
- repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ var l int
+ _ = l
+ if len(m.Operations) > 0 {
+ for _, s := range m.Operations {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForMatchConditions += "}"
- s := strings.Join([]string{`&MutatingWebhook{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `ClientConfig:` + strings.Replace(strings.Replace(this.ClientConfig.String(), "WebhookClientConfig", "WebhookClientConfig", 1), `&`, ``, 1) + `,`,
- `Rules:` + repeatedStringForRules + `,`,
- `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
- `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `SideEffects:` + valueToStringGenerated(this.SideEffects) + `,`,
- `TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`,
- `AdmissionReviewVersions:` + fmt.Sprintf("%v", this.AdmissionReviewVersions) + `,`,
- `MatchPolicy:` + valueToStringGenerated(this.MatchPolicy) + `,`,
- `ReinvocationPolicy:` + valueToStringGenerated(this.ReinvocationPolicy) + `,`,
- `ObjectSelector:` + strings.Replace(fmt.Sprintf("%v", this.ObjectSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `MatchConditions:` + repeatedStringForMatchConditions + `,`,
- `}`,
- }, "")
- return s
+ l = m.Rule.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *MutatingWebhookConfiguration) String() string {
- if this == nil {
- return "nil"
+
+func (m *ServiceReference) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForWebhooks := "[]MutatingWebhook{"
- for _, f := range this.Webhooks {
- repeatedStringForWebhooks += strings.Replace(strings.Replace(f.String(), "MutatingWebhook", "MutatingWebhook", 1), `&`, ``, 1) + ","
+ var l int
+ _ = l
+ l = len(m.Namespace)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Path != nil {
+ l = len(*m.Path)
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForWebhooks += "}"
- s := strings.Join([]string{`&MutatingWebhookConfiguration{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Webhooks:` + repeatedStringForWebhooks + `,`,
- `}`,
- }, "")
- return s
+ if m.Port != nil {
+ n += 1 + sovGenerated(uint64(*m.Port))
+ }
+ return n
}
-func (this *MutatingWebhookConfigurationList) String() string {
- if this == nil {
- return "nil"
+
+func (m *TypeChecking) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForItems := "[]MutatingWebhookConfiguration{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "MutatingWebhookConfiguration", "MutatingWebhookConfiguration", 1), `&`, ``, 1) + ","
+ var l int
+ _ = l
+ if len(m.ExpressionWarnings) > 0 {
+ for _, e := range m.ExpressionWarnings {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&MutatingWebhookConfigurationList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
+ return n
}
-func (this *NamedRuleWithOperations) String() string {
- if this == nil {
- return "nil"
+
+func (m *ValidatingAdmissionPolicy) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&NamedRuleWithOperations{`,
- `ResourceNames:` + fmt.Sprintf("%v", this.ResourceNames) + `,`,
- `RuleWithOperations:` + strings.Replace(strings.Replace(this.RuleWithOperations.String(), "RuleWithOperations", "RuleWithOperations", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Status.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *ParamKind) String() string {
- if this == nil {
- return "nil"
+
+func (m *ValidatingAdmissionPolicyBinding) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ParamKind{`,
- `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`,
- `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *ParamRef) String() string {
- if this == nil {
- return "nil"
+
+func (m *ValidatingAdmissionPolicyBindingList) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ParamRef{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`,
- `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `ParameterNotFoundAction:` + valueToStringGenerated(this.ParameterNotFoundAction) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Rule) String() string {
- if this == nil {
- return "nil"
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- s := strings.Join([]string{`&Rule{`,
- `APIGroups:` + fmt.Sprintf("%v", this.APIGroups) + `,`,
- `APIVersions:` + fmt.Sprintf("%v", this.APIVersions) + `,`,
- `Resources:` + fmt.Sprintf("%v", this.Resources) + `,`,
- `Scope:` + valueToStringGenerated(this.Scope) + `,`,
- `}`,
- }, "")
- return s
+ return n
}
-func (this *RuleWithOperations) String() string {
- if this == nil {
- return "nil"
+
+func (m *ValidatingAdmissionPolicyBindingSpec) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&RuleWithOperations{`,
- `Operations:` + fmt.Sprintf("%v", this.Operations) + `,`,
- `Rule:` + strings.Replace(strings.Replace(this.Rule.String(), "Rule", "Rule", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ServiceReference) String() string {
- if this == nil {
- return "nil"
+ var l int
+ _ = l
+ l = len(m.PolicyName)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.ParamRef != nil {
+ l = m.ParamRef.Size()
+ n += 1 + l + sovGenerated(uint64(l))
}
- s := strings.Join([]string{`&ServiceReference{`,
- `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Path:` + valueToStringGenerated(this.Path) + `,`,
- `Port:` + valueToStringGenerated(this.Port) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *TypeChecking) String() string {
- if this == nil {
- return "nil"
+ if m.MatchResources != nil {
+ l = m.MatchResources.Size()
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForExpressionWarnings := "[]ExpressionWarning{"
- for _, f := range this.ExpressionWarnings {
- repeatedStringForExpressionWarnings += strings.Replace(strings.Replace(f.String(), "ExpressionWarning", "ExpressionWarning", 1), `&`, ``, 1) + ","
+ if len(m.ValidationActions) > 0 {
+ for _, s := range m.ValidationActions {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForExpressionWarnings += "}"
- s := strings.Join([]string{`&TypeChecking{`,
- `ExpressionWarnings:` + repeatedStringForExpressionWarnings + `,`,
- `}`,
- }, "")
- return s
+ return n
}
-func (this *ValidatingAdmissionPolicy) String() string {
- if this == nil {
- return "nil"
+
+func (m *ValidatingAdmissionPolicyList) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ValidatingAdmissionPolicy{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ValidatingAdmissionPolicySpec", "ValidatingAdmissionPolicySpec", 1), `&`, ``, 1) + `,`,
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ValidatingAdmissionPolicyStatus", "ValidatingAdmissionPolicyStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ValidatingAdmissionPolicyBinding) String() string {
- if this == nil {
- return "nil"
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- s := strings.Join([]string{`&ValidatingAdmissionPolicyBinding{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ValidatingAdmissionPolicyBindingSpec", "ValidatingAdmissionPolicyBindingSpec", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
+ return n
}
-func (this *ValidatingAdmissionPolicyBindingList) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForItems := "[]ValidatingAdmissionPolicyBinding{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingAdmissionPolicyBinding", "ValidatingAdmissionPolicyBinding", 1), `&`, ``, 1) + ","
+
+func (m *ValidatingAdmissionPolicySpec) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&ValidatingAdmissionPolicyBindingList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ValidatingAdmissionPolicyBindingSpec) String() string {
- if this == nil {
- return "nil"
+ var l int
+ _ = l
+ if m.ParamKind != nil {
+ l = m.ParamKind.Size()
+ n += 1 + l + sovGenerated(uint64(l))
}
- s := strings.Join([]string{`&ValidatingAdmissionPolicyBindingSpec{`,
- `PolicyName:` + fmt.Sprintf("%v", this.PolicyName) + `,`,
- `ParamRef:` + strings.Replace(this.ParamRef.String(), "ParamRef", "ParamRef", 1) + `,`,
- `MatchResources:` + strings.Replace(this.MatchResources.String(), "MatchResources", "MatchResources", 1) + `,`,
- `ValidationActions:` + fmt.Sprintf("%v", this.ValidationActions) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ValidatingAdmissionPolicyList) String() string {
- if this == nil {
- return "nil"
+ if m.MatchConstraints != nil {
+ l = m.MatchConstraints.Size()
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForItems := "[]ValidatingAdmissionPolicy{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingAdmissionPolicy", "ValidatingAdmissionPolicy", 1), `&`, ``, 1) + ","
+ if len(m.Validations) > 0 {
+ for _, e := range m.Validations {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&ValidatingAdmissionPolicyList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ValidatingAdmissionPolicySpec) String() string {
- if this == nil {
- return "nil"
+ if m.FailurePolicy != nil {
+ l = len(*m.FailurePolicy)
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForValidations := "[]Validation{"
- for _, f := range this.Validations {
- repeatedStringForValidations += strings.Replace(strings.Replace(f.String(), "Validation", "Validation", 1), `&`, ``, 1) + ","
+ if len(m.AuditAnnotations) > 0 {
+ for _, e := range m.AuditAnnotations {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForValidations += "}"
- repeatedStringForAuditAnnotations := "[]AuditAnnotation{"
- for _, f := range this.AuditAnnotations {
- repeatedStringForAuditAnnotations += strings.Replace(strings.Replace(f.String(), "AuditAnnotation", "AuditAnnotation", 1), `&`, ``, 1) + ","
+ if len(m.MatchConditions) > 0 {
+ for _, e := range m.MatchConditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForAuditAnnotations += "}"
- repeatedStringForMatchConditions := "[]MatchCondition{"
- for _, f := range this.MatchConditions {
- repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ if len(m.Variables) > 0 {
+ for _, e := range m.Variables {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForMatchConditions += "}"
- repeatedStringForVariables := "[]Variable{"
- for _, f := range this.Variables {
- repeatedStringForVariables += strings.Replace(strings.Replace(f.String(), "Variable", "Variable", 1), `&`, ``, 1) + ","
+ return n
+}
+
+func (m *ValidatingAdmissionPolicyStatus) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForVariables += "}"
- s := strings.Join([]string{`&ValidatingAdmissionPolicySpec{`,
- `ParamKind:` + strings.Replace(this.ParamKind.String(), "ParamKind", "ParamKind", 1) + `,`,
- `MatchConstraints:` + strings.Replace(this.MatchConstraints.String(), "MatchResources", "MatchResources", 1) + `,`,
- `Validations:` + repeatedStringForValidations + `,`,
- `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
- `AuditAnnotations:` + repeatedStringForAuditAnnotations + `,`,
- `MatchConditions:` + repeatedStringForMatchConditions + `,`,
- `Variables:` + repeatedStringForVariables + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ n += 1 + sovGenerated(uint64(m.ObservedGeneration))
+ if m.TypeChecking != nil {
+ l = m.TypeChecking.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.Conditions) > 0 {
+ for _, e := range m.Conditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
}
-func (this *ValidatingAdmissionPolicyStatus) String() string {
+
+func (m *ValidatingWebhook) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.ClientConfig.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Rules) > 0 {
+ for _, e := range m.Rules {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if m.FailurePolicy != nil {
+ l = len(*m.FailurePolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.NamespaceSelector != nil {
+ l = m.NamespaceSelector.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.SideEffects != nil {
+ l = len(*m.SideEffects)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.TimeoutSeconds != nil {
+ n += 1 + sovGenerated(uint64(*m.TimeoutSeconds))
+ }
+ if len(m.AdmissionReviewVersions) > 0 {
+ for _, s := range m.AdmissionReviewVersions {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if m.MatchPolicy != nil {
+ l = len(*m.MatchPolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.ObjectSelector != nil {
+ l = m.ObjectSelector.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.MatchConditions) > 0 {
+ for _, e := range m.MatchConditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *ValidatingWebhookConfiguration) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Webhooks) > 0 {
+ for _, e := range m.Webhooks {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *ValidatingWebhookConfigurationList) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *Validation) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Message)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Reason != nil {
+ l = len(*m.Reason)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ l = len(m.MessageExpression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *Variable) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *WebhookClientConfig) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.Service != nil {
+ l = m.Service.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.CABundle != nil {
+ l = len(m.CABundle)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.URL != nil {
+ l = len(*m.URL)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func sovGenerated(x uint64) (n int) {
+ return (math_bits.Len64(x|1) + 6) / 7
+}
+func sozGenerated(x uint64) (n int) {
+ return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+}
+func (this *ApplyConfiguration) String() string {
if this == nil {
return "nil"
}
- repeatedStringForConditions := "[]Condition{"
- for _, f := range this.Conditions {
- repeatedStringForConditions += fmt.Sprintf("%v", f) + ","
- }
- repeatedStringForConditions += "}"
- s := strings.Join([]string{`&ValidatingAdmissionPolicyStatus{`,
- `ObservedGeneration:` + fmt.Sprintf("%v", this.ObservedGeneration) + `,`,
- `TypeChecking:` + strings.Replace(this.TypeChecking.String(), "TypeChecking", "TypeChecking", 1) + `,`,
- `Conditions:` + repeatedStringForConditions + `,`,
+ s := strings.Join([]string{`&ApplyConfiguration{`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
`}`,
}, "")
return s
}
-func (this *ValidatingWebhook) String() string {
+func (this *AuditAnnotation) String() string {
if this == nil {
return "nil"
}
- repeatedStringForRules := "[]RuleWithOperations{"
- for _, f := range this.Rules {
- repeatedStringForRules += strings.Replace(strings.Replace(f.String(), "RuleWithOperations", "RuleWithOperations", 1), `&`, ``, 1) + ","
- }
- repeatedStringForRules += "}"
- repeatedStringForMatchConditions := "[]MatchCondition{"
- for _, f := range this.MatchConditions {
- repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
- }
- repeatedStringForMatchConditions += "}"
- s := strings.Join([]string{`&ValidatingWebhook{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `ClientConfig:` + strings.Replace(strings.Replace(this.ClientConfig.String(), "WebhookClientConfig", "WebhookClientConfig", 1), `&`, ``, 1) + `,`,
- `Rules:` + repeatedStringForRules + `,`,
- `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
- `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `SideEffects:` + valueToStringGenerated(this.SideEffects) + `,`,
- `TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`,
- `AdmissionReviewVersions:` + fmt.Sprintf("%v", this.AdmissionReviewVersions) + `,`,
- `MatchPolicy:` + valueToStringGenerated(this.MatchPolicy) + `,`,
- `ObjectSelector:` + strings.Replace(fmt.Sprintf("%v", this.ObjectSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `MatchConditions:` + repeatedStringForMatchConditions + `,`,
+ s := strings.Join([]string{`&AuditAnnotation{`,
+ `Key:` + fmt.Sprintf("%v", this.Key) + `,`,
+ `ValueExpression:` + fmt.Sprintf("%v", this.ValueExpression) + `,`,
`}`,
}, "")
return s
}
-func (this *ValidatingWebhookConfiguration) String() string {
+func (this *ExpressionWarning) String() string {
if this == nil {
return "nil"
}
- repeatedStringForWebhooks := "[]ValidatingWebhook{"
- for _, f := range this.Webhooks {
- repeatedStringForWebhooks += strings.Replace(strings.Replace(f.String(), "ValidatingWebhook", "ValidatingWebhook", 1), `&`, ``, 1) + ","
- }
- repeatedStringForWebhooks += "}"
- s := strings.Join([]string{`&ValidatingWebhookConfiguration{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Webhooks:` + repeatedStringForWebhooks + `,`,
+ s := strings.Join([]string{`&ExpressionWarning{`,
+ `FieldRef:` + fmt.Sprintf("%v", this.FieldRef) + `,`,
+ `Warning:` + fmt.Sprintf("%v", this.Warning) + `,`,
`}`,
}, "")
return s
}
-func (this *ValidatingWebhookConfigurationList) String() string {
+func (this *JSONPatch) String() string {
if this == nil {
return "nil"
}
- repeatedStringForItems := "[]ValidatingWebhookConfiguration{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingWebhookConfiguration", "ValidatingWebhookConfiguration", 1), `&`, ``, 1) + ","
- }
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&ValidatingWebhookConfigurationList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
+ s := strings.Join([]string{`&JSONPatch{`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
`}`,
}, "")
return s
}
-func (this *Validation) String() string {
+func (this *MatchCondition) String() string {
if this == nil {
return "nil"
}
- s := strings.Join([]string{`&Validation{`,
+ s := strings.Join([]string{`&MatchCondition{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
`Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
- `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
- `Reason:` + valueToStringGenerated(this.Reason) + `,`,
- `MessageExpression:` + fmt.Sprintf("%v", this.MessageExpression) + `,`,
`}`,
}, "")
return s
}
-func (this *Variable) String() string {
+func (this *MatchResources) String() string {
if this == nil {
return "nil"
}
- s := strings.Join([]string{`&Variable{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *WebhookClientConfig) String() string {
- if this == nil {
- return "nil"
+ repeatedStringForResourceRules := "[]NamedRuleWithOperations{"
+ for _, f := range this.ResourceRules {
+ repeatedStringForResourceRules += strings.Replace(strings.Replace(f.String(), "NamedRuleWithOperations", "NamedRuleWithOperations", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForResourceRules += "}"
+ repeatedStringForExcludeResourceRules := "[]NamedRuleWithOperations{"
+ for _, f := range this.ExcludeResourceRules {
+ repeatedStringForExcludeResourceRules += strings.Replace(strings.Replace(f.String(), "NamedRuleWithOperations", "NamedRuleWithOperations", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForExcludeResourceRules += "}"
+ s := strings.Join([]string{`&MatchResources{`,
+ `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `ObjectSelector:` + strings.Replace(fmt.Sprintf("%v", this.ObjectSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `ResourceRules:` + repeatedStringForResourceRules + `,`,
+ `ExcludeResourceRules:` + repeatedStringForExcludeResourceRules + `,`,
+ `MatchPolicy:` + valueToStringGenerated(this.MatchPolicy) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicy) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&MutatingAdmissionPolicy{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "MutatingAdmissionPolicySpec", "MutatingAdmissionPolicySpec", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicyBinding) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&MutatingAdmissionPolicyBinding{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "MutatingAdmissionPolicyBindingSpec", "MutatingAdmissionPolicyBindingSpec", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicyBindingList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]MutatingAdmissionPolicyBinding{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "MutatingAdmissionPolicyBinding", "MutatingAdmissionPolicyBinding", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&MutatingAdmissionPolicyBindingList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicyBindingSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&MutatingAdmissionPolicyBindingSpec{`,
+ `PolicyName:` + fmt.Sprintf("%v", this.PolicyName) + `,`,
+ `ParamRef:` + strings.Replace(this.ParamRef.String(), "ParamRef", "ParamRef", 1) + `,`,
+ `MatchResources:` + strings.Replace(this.MatchResources.String(), "MatchResources", "MatchResources", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicyList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]MutatingAdmissionPolicy{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "MutatingAdmissionPolicy", "MutatingAdmissionPolicy", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&MutatingAdmissionPolicyList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicySpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForVariables := "[]Variable{"
+ for _, f := range this.Variables {
+ repeatedStringForVariables += strings.Replace(strings.Replace(f.String(), "Variable", "Variable", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForVariables += "}"
+ repeatedStringForMutations := "[]Mutation{"
+ for _, f := range this.Mutations {
+ repeatedStringForMutations += strings.Replace(strings.Replace(f.String(), "Mutation", "Mutation", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMutations += "}"
+ repeatedStringForMatchConditions := "[]MatchCondition{"
+ for _, f := range this.MatchConditions {
+ repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMatchConditions += "}"
+ s := strings.Join([]string{`&MutatingAdmissionPolicySpec{`,
+ `ParamKind:` + strings.Replace(this.ParamKind.String(), "ParamKind", "ParamKind", 1) + `,`,
+ `MatchConstraints:` + strings.Replace(this.MatchConstraints.String(), "MatchResources", "MatchResources", 1) + `,`,
+ `Variables:` + repeatedStringForVariables + `,`,
+ `Mutations:` + repeatedStringForMutations + `,`,
+ `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
+ `MatchConditions:` + repeatedStringForMatchConditions + `,`,
+ `ReinvocationPolicy:` + fmt.Sprintf("%v", this.ReinvocationPolicy) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingWebhook) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForRules := "[]RuleWithOperations{"
+ for _, f := range this.Rules {
+ repeatedStringForRules += strings.Replace(strings.Replace(f.String(), "RuleWithOperations", "RuleWithOperations", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForRules += "}"
+ repeatedStringForMatchConditions := "[]MatchCondition{"
+ for _, f := range this.MatchConditions {
+ repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMatchConditions += "}"
+ s := strings.Join([]string{`&MutatingWebhook{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `ClientConfig:` + strings.Replace(strings.Replace(this.ClientConfig.String(), "WebhookClientConfig", "WebhookClientConfig", 1), `&`, ``, 1) + `,`,
+ `Rules:` + repeatedStringForRules + `,`,
+ `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
+ `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `SideEffects:` + valueToStringGenerated(this.SideEffects) + `,`,
+ `TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`,
+ `AdmissionReviewVersions:` + fmt.Sprintf("%v", this.AdmissionReviewVersions) + `,`,
+ `MatchPolicy:` + valueToStringGenerated(this.MatchPolicy) + `,`,
+ `ReinvocationPolicy:` + valueToStringGenerated(this.ReinvocationPolicy) + `,`,
+ `ObjectSelector:` + strings.Replace(fmt.Sprintf("%v", this.ObjectSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `MatchConditions:` + repeatedStringForMatchConditions + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingWebhookConfiguration) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForWebhooks := "[]MutatingWebhook{"
+ for _, f := range this.Webhooks {
+ repeatedStringForWebhooks += strings.Replace(strings.Replace(f.String(), "MutatingWebhook", "MutatingWebhook", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForWebhooks += "}"
+ s := strings.Join([]string{`&MutatingWebhookConfiguration{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Webhooks:` + repeatedStringForWebhooks + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingWebhookConfigurationList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]MutatingWebhookConfiguration{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "MutatingWebhookConfiguration", "MutatingWebhookConfiguration", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&MutatingWebhookConfigurationList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *Mutation) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Mutation{`,
+ `PatchType:` + fmt.Sprintf("%v", this.PatchType) + `,`,
+ `ApplyConfiguration:` + strings.Replace(this.ApplyConfiguration.String(), "ApplyConfiguration", "ApplyConfiguration", 1) + `,`,
+ `JSONPatch:` + strings.Replace(this.JSONPatch.String(), "JSONPatch", "JSONPatch", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *NamedRuleWithOperations) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&NamedRuleWithOperations{`,
+ `ResourceNames:` + fmt.Sprintf("%v", this.ResourceNames) + `,`,
+ `RuleWithOperations:` + strings.Replace(strings.Replace(this.RuleWithOperations.String(), "RuleWithOperations", "RuleWithOperations", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ParamKind) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ParamKind{`,
+ `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`,
+ `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ParamRef) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ParamRef{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`,
+ `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `ParameterNotFoundAction:` + valueToStringGenerated(this.ParameterNotFoundAction) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *Rule) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Rule{`,
+ `APIGroups:` + fmt.Sprintf("%v", this.APIGroups) + `,`,
+ `APIVersions:` + fmt.Sprintf("%v", this.APIVersions) + `,`,
+ `Resources:` + fmt.Sprintf("%v", this.Resources) + `,`,
+ `Scope:` + valueToStringGenerated(this.Scope) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *RuleWithOperations) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&RuleWithOperations{`,
+ `Operations:` + fmt.Sprintf("%v", this.Operations) + `,`,
+ `Rule:` + strings.Replace(strings.Replace(this.Rule.String(), "Rule", "Rule", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ServiceReference) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ServiceReference{`,
+ `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Path:` + valueToStringGenerated(this.Path) + `,`,
+ `Port:` + valueToStringGenerated(this.Port) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *TypeChecking) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForExpressionWarnings := "[]ExpressionWarning{"
+ for _, f := range this.ExpressionWarnings {
+ repeatedStringForExpressionWarnings += strings.Replace(strings.Replace(f.String(), "ExpressionWarning", "ExpressionWarning", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForExpressionWarnings += "}"
+ s := strings.Join([]string{`&TypeChecking{`,
+ `ExpressionWarnings:` + repeatedStringForExpressionWarnings + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicy) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ValidatingAdmissionPolicy{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ValidatingAdmissionPolicySpec", "ValidatingAdmissionPolicySpec", 1), `&`, ``, 1) + `,`,
+ `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ValidatingAdmissionPolicyStatus", "ValidatingAdmissionPolicyStatus", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyBinding) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyBinding{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ValidatingAdmissionPolicyBindingSpec", "ValidatingAdmissionPolicyBindingSpec", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyBindingList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]ValidatingAdmissionPolicyBinding{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingAdmissionPolicyBinding", "ValidatingAdmissionPolicyBinding", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyBindingList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyBindingSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyBindingSpec{`,
+ `PolicyName:` + fmt.Sprintf("%v", this.PolicyName) + `,`,
+ `ParamRef:` + strings.Replace(this.ParamRef.String(), "ParamRef", "ParamRef", 1) + `,`,
+ `MatchResources:` + strings.Replace(this.MatchResources.String(), "MatchResources", "MatchResources", 1) + `,`,
+ `ValidationActions:` + fmt.Sprintf("%v", this.ValidationActions) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]ValidatingAdmissionPolicy{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingAdmissionPolicy", "ValidatingAdmissionPolicy", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicySpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForValidations := "[]Validation{"
+ for _, f := range this.Validations {
+ repeatedStringForValidations += strings.Replace(strings.Replace(f.String(), "Validation", "Validation", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForValidations += "}"
+ repeatedStringForAuditAnnotations := "[]AuditAnnotation{"
+ for _, f := range this.AuditAnnotations {
+ repeatedStringForAuditAnnotations += strings.Replace(strings.Replace(f.String(), "AuditAnnotation", "AuditAnnotation", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForAuditAnnotations += "}"
+ repeatedStringForMatchConditions := "[]MatchCondition{"
+ for _, f := range this.MatchConditions {
+ repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMatchConditions += "}"
+ repeatedStringForVariables := "[]Variable{"
+ for _, f := range this.Variables {
+ repeatedStringForVariables += strings.Replace(strings.Replace(f.String(), "Variable", "Variable", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForVariables += "}"
+ s := strings.Join([]string{`&ValidatingAdmissionPolicySpec{`,
+ `ParamKind:` + strings.Replace(this.ParamKind.String(), "ParamKind", "ParamKind", 1) + `,`,
+ `MatchConstraints:` + strings.Replace(this.MatchConstraints.String(), "MatchResources", "MatchResources", 1) + `,`,
+ `Validations:` + repeatedStringForValidations + `,`,
+ `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
+ `AuditAnnotations:` + repeatedStringForAuditAnnotations + `,`,
+ `MatchConditions:` + repeatedStringForMatchConditions + `,`,
+ `Variables:` + repeatedStringForVariables + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForConditions := "[]Condition{"
+ for _, f := range this.Conditions {
+ repeatedStringForConditions += fmt.Sprintf("%v", f) + ","
+ }
+ repeatedStringForConditions += "}"
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyStatus{`,
+ `ObservedGeneration:` + fmt.Sprintf("%v", this.ObservedGeneration) + `,`,
+ `TypeChecking:` + strings.Replace(this.TypeChecking.String(), "TypeChecking", "TypeChecking", 1) + `,`,
+ `Conditions:` + repeatedStringForConditions + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingWebhook) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForRules := "[]RuleWithOperations{"
+ for _, f := range this.Rules {
+ repeatedStringForRules += strings.Replace(strings.Replace(f.String(), "RuleWithOperations", "RuleWithOperations", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForRules += "}"
+ repeatedStringForMatchConditions := "[]MatchCondition{"
+ for _, f := range this.MatchConditions {
+ repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMatchConditions += "}"
+ s := strings.Join([]string{`&ValidatingWebhook{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `ClientConfig:` + strings.Replace(strings.Replace(this.ClientConfig.String(), "WebhookClientConfig", "WebhookClientConfig", 1), `&`, ``, 1) + `,`,
+ `Rules:` + repeatedStringForRules + `,`,
+ `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
+ `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `SideEffects:` + valueToStringGenerated(this.SideEffects) + `,`,
+ `TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`,
+ `AdmissionReviewVersions:` + fmt.Sprintf("%v", this.AdmissionReviewVersions) + `,`,
+ `MatchPolicy:` + valueToStringGenerated(this.MatchPolicy) + `,`,
+ `ObjectSelector:` + strings.Replace(fmt.Sprintf("%v", this.ObjectSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `MatchConditions:` + repeatedStringForMatchConditions + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingWebhookConfiguration) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForWebhooks := "[]ValidatingWebhook{"
+ for _, f := range this.Webhooks {
+ repeatedStringForWebhooks += strings.Replace(strings.Replace(f.String(), "ValidatingWebhook", "ValidatingWebhook", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForWebhooks += "}"
+ s := strings.Join([]string{`&ValidatingWebhookConfiguration{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Webhooks:` + repeatedStringForWebhooks + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingWebhookConfigurationList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]ValidatingWebhookConfiguration{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingWebhookConfiguration", "ValidatingWebhookConfiguration", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&ValidatingWebhookConfigurationList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *Validation) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Validation{`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
+ `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
+ `Reason:` + valueToStringGenerated(this.Reason) + `,`,
+ `MessageExpression:` + fmt.Sprintf("%v", this.MessageExpression) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *Variable) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Variable{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *WebhookClientConfig) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&WebhookClientConfig{`,
+ `Service:` + strings.Replace(this.Service.String(), "ServiceReference", "ServiceReference", 1) + `,`,
+ `CABundle:` + valueToStringGenerated(this.CABundle) + `,`,
+ `URL:` + valueToStringGenerated(this.URL) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func valueToStringGenerated(v interface{}) string {
+ rv := reflect.ValueOf(v)
+ if rv.IsNil() {
+ return "nil"
+ }
+ pv := reflect.Indirect(rv).Interface()
+ return fmt.Sprintf("*%v", pv)
+}
+func (m *ApplyConfiguration) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ApplyConfiguration: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ApplyConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Expression = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: AuditAnnotation: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: AuditAnnotation: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Key = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ValueExpression", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ValueExpression = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ExpressionWarning: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ExpressionWarning: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field FieldRef", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.FieldRef = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Warning", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Warning = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *JSONPatch) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: JSONPatch: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: JSONPatch: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Expression = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MatchCondition) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MatchCondition: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MatchCondition: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Expression = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MatchResources) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MatchResources: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MatchResources: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field NamespaceSelector", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.NamespaceSelector == nil {
+ m.NamespaceSelector = &v1.LabelSelector{}
+ }
+ if err := m.NamespaceSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectSelector", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ObjectSelector == nil {
+ m.ObjectSelector = &v1.LabelSelector{}
+ }
+ if err := m.ObjectSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ResourceRules", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ResourceRules = append(m.ResourceRules, NamedRuleWithOperations{})
+ if err := m.ResourceRules[len(m.ResourceRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ExcludeResourceRules", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ExcludeResourceRules = append(m.ExcludeResourceRules, NamedRuleWithOperations{})
+ if err := m.ExcludeResourceRules[len(m.ExcludeResourceRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchPolicy", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := MatchPolicyType(dAtA[iNdEx:postIndex])
+ m.MatchPolicy = &s
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MutatingAdmissionPolicy) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicy: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
}
- s := strings.Join([]string{`&WebhookClientConfig{`,
- `Service:` + strings.Replace(this.Service.String(), "ServiceReference", "ServiceReference", 1) + `,`,
- `CABundle:` + valueToStringGenerated(this.CABundle) + `,`,
- `URL:` + valueToStringGenerated(this.URL) + `,`,
- `}`,
- }, "")
- return s
+ return nil
}
-func valueToStringGenerated(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
+func (m *MutatingAdmissionPolicyBinding) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBinding: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBinding: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
}
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
}
-func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
+func (m *MutatingAdmissionPolicyBindingList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -2625,17 +4335,17 @@ func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: AuditAnnotation: wiretype end group for non-group")
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBindingList: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: AuditAnnotation: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBindingList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2645,29 +4355,30 @@ func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Key = string(dAtA[iNdEx:postIndex])
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ValueExpression", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2677,23 +4388,25 @@ func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.ValueExpression = string(dAtA[iNdEx:postIndex])
+ m.Items = append(m.Items, MutatingAdmissionPolicyBinding{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -2716,7 +4429,7 @@ func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
+func (m *MutatingAdmissionPolicyBindingSpec) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -2739,15 +4452,15 @@ func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: ExpressionWarning: wiretype end group for non-group")
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBindingSpec: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: ExpressionWarning: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBindingSpec: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
- case 2:
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field FieldRef", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field PolicyName", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -2775,13 +4488,49 @@ func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.FieldRef = string(dAtA[iNdEx:postIndex])
+ m.PolicyName = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ParamRef", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ParamRef == nil {
+ m.ParamRef = &ParamRef{}
+ }
+ if err := m.ParamRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Warning", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchResources", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2791,23 +4540,27 @@ func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Warning = string(dAtA[iNdEx:postIndex])
+ if m.MatchResources == nil {
+ m.MatchResources = &MatchResources{}
+ }
+ if err := m.MatchResources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -2830,7 +4583,7 @@ func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *MatchCondition) Unmarshal(dAtA []byte) error {
+func (m *MutatingAdmissionPolicyList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -2853,17 +4606,17 @@ func (m *MatchCondition) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: MatchCondition: wiretype end group for non-group")
+ return fmt.Errorf("proto: MutatingAdmissionPolicyList: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: MatchCondition: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: MutatingAdmissionPolicyList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2873,29 +4626,30 @@ func (m *MatchCondition) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Name = string(dAtA[iNdEx:postIndex])
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2905,23 +4659,25 @@ func (m *MatchCondition) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Expression = string(dAtA[iNdEx:postIndex])
+ m.Items = append(m.Items, MutatingAdmissionPolicy{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -2944,7 +4700,7 @@ func (m *MatchCondition) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *MatchResources) Unmarshal(dAtA []byte) error {
+func (m *MutatingAdmissionPolicySpec) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -2967,15 +4723,15 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: MatchResources: wiretype end group for non-group")
+ return fmt.Errorf("proto: MutatingAdmissionPolicySpec: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: MatchResources: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: MutatingAdmissionPolicySpec: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field NamespaceSelector", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ParamKind", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -3002,16 +4758,16 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.NamespaceSelector == nil {
- m.NamespaceSelector = &v1.LabelSelector{}
+ if m.ParamKind == nil {
+ m.ParamKind = &ParamKind{}
}
- if err := m.NamespaceSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.ParamKind.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectSelector", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchConstraints", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -3038,16 +4794,16 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.ObjectSelector == nil {
- m.ObjectSelector = &v1.LabelSelector{}
+ if m.MatchConstraints == nil {
+ m.MatchConstraints = &MatchResources{}
}
- if err := m.ObjectSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.MatchConstraints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResourceRules", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Variables", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -3074,14 +4830,14 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.ResourceRules = append(m.ResourceRules, NamedRuleWithOperations{})
- if err := m.ResourceRules[len(m.ResourceRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ m.Variables = append(m.Variables, Variable{})
+ if err := m.Variables[len(m.Variables)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExcludeResourceRules", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Mutations", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -3108,14 +4864,81 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.ExcludeResourceRules = append(m.ExcludeResourceRules, NamedRuleWithOperations{})
- if err := m.ExcludeResourceRules[len(m.ExcludeResourceRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ m.Mutations = append(m.Mutations, Mutation{})
+ if err := m.Mutations[len(m.Mutations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field FailurePolicy", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := FailurePolicyType(dAtA[iNdEx:postIndex])
+ m.FailurePolicy = &s
+ iNdEx = postIndex
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchConditions", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.MatchConditions = append(m.MatchConditions, MatchCondition{})
+ if err := m.MatchConditions[len(m.MatchConditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 7:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MatchPolicy", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ReinvocationPolicy", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -3143,8 +4966,7 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := MatchPolicyType(dAtA[iNdEx:postIndex])
- m.MatchPolicy = &s
+ m.ReinvocationPolicy = ReinvocationPolicyType(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -3840,6 +5662,160 @@ func (m *MutatingWebhookConfigurationList) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *Mutation) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: Mutation: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: Mutation: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field PatchType", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.PatchType = PatchType(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ApplyConfiguration", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ApplyConfiguration == nil {
+ m.ApplyConfiguration = &ApplyConfiguration{}
+ }
+ if err := m.ApplyConfiguration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field JSONPatch", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.JSONPatch == nil {
+ m.JSONPatch = &JSONPatch{}
+ }
+ if err := m.JSONPatch.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *NamedRuleWithOperations) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
diff --git a/vendor/k8s.io/api/admissionregistration/v1/generated.proto b/vendor/k8s.io/api/admissionregistration/v1/generated.proto
index e856e9eaf..718b7c14e 100644
--- a/vendor/k8s.io/api/admissionregistration/v1/generated.proto
+++ b/vendor/k8s.io/api/admissionregistration/v1/generated.proto
@@ -28,6 +28,51 @@ import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "k8s.io/api/admissionregistration/v1";
+// ApplyConfiguration defines the desired configuration values of an object.
+message ApplyConfiguration {
+ // expression will be evaluated by CEL to create an apply configuration.
+ // ref: https://github.com/google/cel-spec
+ //
+ // Apply configurations are declared in CEL using object initialization. For example, this CEL expression
+ // returns an apply configuration to set a single field:
+ //
+ // Object{
+ // spec: Object.spec{
+ // serviceAccountName: "example"
+ // }
+ // }
+ //
+ // Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of
+ // values not included in the apply configuration.
+ //
+ // CEL expressions have access to the object types needed to create apply configurations:
+ //
+ // - 'Object' - CEL type of the resource object.
+ // - 'Object.' - CEL type of object field (such as 'Object.spec')
+ // - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')
+ //
+ // CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
+ //
+ // - 'object' - The object from the incoming request. The value is null for DELETE requests.
+ // - 'oldObject' - The existing object. The value is null for CREATE requests.
+ // - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
+ // - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
+ // - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources.
+ // - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
+ // For example, a variable named 'foo' can be accessed as 'variables.foo'.
+ // - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
+ // See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
+ // - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
+ // request resource.
+ //
+ // The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the
+ // object. No other metadata properties are accessible.
+ //
+ // Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.
+ // Required.
+ optional string expression = 1;
+}
+
// AuditAnnotation describes how to produce an audit annotation for an API request.
message AuditAnnotation {
// key specifies the audit annotation key. The audit annotation keys of
@@ -67,20 +112,89 @@ message AuditAnnotation {
// ExpressionWarning is a warning information that targets a specific expression.
message ExpressionWarning {
- // The path to the field that refers the expression.
+ // fieldRef is the path to the field that refers to the expression.
// For example, the reference to the expression of the first item of
// validations is "spec.validations[0].expression"
optional string fieldRef = 2;
- // The content of type checking information in a human-readable form.
+ // warning contains the content of type checking information in a human-readable form.
// Each line of the warning contains the type that the expression is checked
// against, followed by the type check error from the compiler.
optional string warning = 3;
}
+// JSONPatch defines a JSON Patch.
+message JSONPatch {
+ // expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/).
+ // ref: https://github.com/google/cel-spec
+ //
+ // expression must return an array of JSONPatch values.
+ //
+ // For example, this CEL expression returns a JSON patch to conditionally modify a value:
+ //
+ // [
+ // JSONPatch{op: "test", path: "/spec/example", value: "Red"},
+ // JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
+ // ]
+ //
+ // To define an object for the patch value, use Object types. For example:
+ //
+ // [
+ // JSONPatch{
+ // op: "add",
+ // path: "/spec/selector",
+ // value: Object.spec.selector{matchLabels: {"environment": "test"}}
+ // }
+ // ]
+ //
+ // To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
+ //
+ // [
+ // JSONPatch{
+ // op: "add",
+ // path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
+ // value: "test"
+ // },
+ // ]
+ //
+ // CEL expressions have access to the types needed to create JSON patches and objects:
+ //
+ // - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
+ // See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
+ // integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
+ // [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
+ // function may be used to escape path keys containing '/' and '~'.
+ // - 'Object' - CEL type of the resource object.
+ // - 'Object.' - CEL type of object field (such as 'Object.spec')
+ // - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')
+ //
+ // CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
+ //
+ // - 'object' - The object from the incoming request. The value is null for DELETE requests.
+ // - 'oldObject' - The existing object. The value is null for CREATE requests.
+ // - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
+ // - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
+ // - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources.
+ // - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
+ // For example, a variable named 'foo' can be accessed as 'variables.foo'.
+ // - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
+ // See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
+ // - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
+ // request resource.
+ //
+ // CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries)
+ // as well as:
+ //
+ // - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
+ //
+ // Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.
+ // Required.
+ optional string expression = 1;
+}
+
// MatchCondition represents a condition which must by fulfilled for a request to be sent to a webhook.
message MatchCondition {
- // Name is an identifier for this match condition, used for strategic merging of MatchConditions,
+ // name is an identifier for this match condition, used for strategic merging of MatchConditions,
// as well as providing an identifier for logging purposes. A good name should be descriptive of
// the associated expression.
// Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and
@@ -91,7 +205,7 @@ message MatchCondition {
// Required.
optional string name = 1;
- // Expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
+ // expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
// CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
//
// 'object' - The object from the incoming request. The value is null for DELETE requests.
@@ -112,7 +226,7 @@ message MatchCondition {
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +structType=atomic
message MatchResources {
- // NamespaceSelector decides whether to run the admission control policy on an object based
+ // namespaceSelector decides whether to run the admission control policy on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -158,7 +272,7 @@ message MatchResources {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1;
- // ObjectSelector decides whether to run the validation based on if the
+ // objectSelector decides whether to run the validation based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the cel validation, and
// is considered to match if either object matches the selector. A null
@@ -172,13 +286,13 @@ message MatchResources {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2;
- // ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches.
+ // resourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches.
// The policy cares about an operation if it matches _any_ Rule.
// +listType=atomic
// +optional
repeated NamedRuleWithOperations resourceRules = 3;
- // ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about.
+ // excludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about.
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +listType=atomic
// +optional
@@ -202,20 +316,187 @@ message MatchResources {
optional string matchPolicy = 7;
}
+// MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
+message MutatingAdmissionPolicy {
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+
+ // spec defines the desired behavior of the MutatingAdmissionPolicy.
+ optional MutatingAdmissionPolicySpec spec = 2;
+}
+
+// MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources.
+// MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators
+// configure policies for clusters.
+//
+// For a given admission request, each binding will cause its policy to be
+// evaluated N times, where N is 1 for policies/bindings that don't use
+// params, otherwise N is the number of parameters selected by the binding.
+// Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).
+//
+// Adding/removing policies, bindings, or params can not affect whether a
+// given (policy, binding, param) combination is within its own CEL budget.
+message MutatingAdmissionPolicyBinding {
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+
+ // spec defines the desired behavior of the MutatingAdmissionPolicyBinding.
+ optional MutatingAdmissionPolicyBindingSpec spec = 2;
+}
+
+// MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.
+message MutatingAdmissionPolicyBindingList {
+ // metadata is the standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
+
+ // List of PolicyBinding.
+ repeated MutatingAdmissionPolicyBinding items = 2;
+}
+
+// MutatingAdmissionPolicyBindingSpec defines the specification of the MutatingAdmissionPolicyBinding.
+message MutatingAdmissionPolicyBindingSpec {
+ // policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to.
+ // If the referenced resource does not exist, this binding is considered invalid and will be ignored
+ // Required.
+ optional string policyName = 1;
+
+ // paramRef specifies the parameter resource used to configure the admission control policy.
+ // It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy.
+ // If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied.
+ // If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
+ // +optional
+ optional ParamRef paramRef = 2;
+
+ // matchResources limits what resources match this binding and may be mutated by it.
+ // Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and
+ // matchConditions before the resource may be mutated.
+ // When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints
+ // and matchConditions must match for the resource to be mutated.
+ // Additionally, matchResources.resourceRules are optional and do not constraint matching when unset.
+ // Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required.
+ // The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched.
+ // '*' matches CREATE, UPDATE and CONNECT.
+ // +optional
+ optional MatchResources matchResources = 3;
+}
+
+// MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.
+message MutatingAdmissionPolicyList {
+ // metadata is the standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
+
+ // List of ValidatingAdmissionPolicy.
+ repeated MutatingAdmissionPolicy items = 2;
+}
+
+// MutatingAdmissionPolicySpec defines the desired behavior of the admission policy.
+message MutatingAdmissionPolicySpec {
+ // paramKind specifies the kind of resources used to parameterize this policy.
+ // If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
+ // If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
+ // If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
+ // +optional
+ optional ParamKind paramKind = 1;
+
+ // matchConstraints specifies what resources this policy is designed to validate.
+ // The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints.
+ // However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
+ // MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding.
+ // The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched.
+ // '*' matches CREATE, UPDATE and CONNECT.
+ // Required.
+ optional MatchResources matchConstraints = 2;
+
+ // variables contain definitions of variables that can be used in composition of other expressions.
+ // Each variable is defined as a named CEL expression.
+ // The variables defined here will be available under `variables` in other expressions of the policy
+ // except matchConditions because matchConditions are evaluated before the rest of the policy.
+ //
+ // The expression of a variable can refer to other variables defined earlier in the list but not those after.
+ // Thus, variables must be sorted by the order of first appearance and acyclic.
+ // +listType=atomic
+ // +optional
+ repeated Variable variables = 3;
+
+ // mutations contain operations to perform on matching objects.
+ // mutations may not be empty; a minimum of one mutation is required.
+ // mutations are evaluated in order, and are reinvoked according to
+ // the reinvocationPolicy.
+ // The mutations of a policy are invoked for each binding of this policy
+ // and reinvocation of mutations occurs on a per binding basis.
+ //
+ // +listType=atomic
+ // +optional
+ repeated Mutation mutations = 4;
+
+ // failurePolicy defines how to handle failures for the admission policy. Failures can
+ // occur from CEL expression parse errors, type check errors, runtime errors and invalid
+ // or mis-configured policy definitions or bindings.
+ //
+ // A policy is invalid if paramKind refers to a non-existent Kind.
+ // A binding is invalid if paramRef.name refers to a non-existent resource.
+ //
+ // failurePolicy does not define how validations that evaluate to false are handled.
+ //
+ // Allowed values are Ignore or Fail. Defaults to Fail.
+ // +optional
+ optional string failurePolicy = 5;
+
+ // matchConditions is a list of conditions that must be met for a request to be validated.
+ // Match conditions filter requests that have already been matched by the matchConstraints.
+ // An empty list of matchConditions matches all requests.
+ // There are a maximum of 64 match conditions allowed.
+ //
+ // If a parameter object is provided, it can be accessed via the `params` handle in the same
+ // manner as validation expressions.
+ //
+ // The exact matching logic is (in order):
+ // 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
+ // 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
+ // 3. If any matchCondition evaluates to an error (but none are FALSE):
+ // - If failurePolicy=Fail, reject the request
+ // - If failurePolicy=Ignore, the policy is skipped
+ //
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +optional
+ repeated MatchCondition matchConditions = 6;
+
+ // reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding
+ // as part of a single admission evaluation.
+ // Allowed values are "Never" and "IfNeeded".
+ //
+ // Never: These mutations will not be called more than once per binding in a single admission evaluation.
+ //
+ // IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of
+ // order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only
+ // reinvoked when mutations change the object after this mutation is invoked.
+ // Required.
+ optional string reinvocationPolicy = 7;
+}
+
// MutatingWebhook describes an admission webhook and the resources and operations it applies to.
message MutatingWebhook {
- // The name of the admission webhook.
+ // name is the name of the admission webhook.
// Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where
// "imagepolicy" is the name of the webhook, and kubernetes.io is the name
// of the organization.
// Required.
optional string name = 1;
- // ClientConfig defines how to communicate with the hook.
+ // clientConfig defines how to communicate with the hook.
// Required
optional WebhookClientConfig clientConfig = 2;
- // Rules describes what operations on what resources/subresources the webhook cares about.
+ // rules describes what operations on what resources/subresources the webhook cares about.
// The webhook cares about an operation if it matches _any_ Rule.
// However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
// from putting the cluster in a state which cannot be recovered from without completely
@@ -224,7 +505,7 @@ message MutatingWebhook {
// +listType=atomic
repeated RuleWithOperations rules = 3;
- // FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
+ // failurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Fail.
// +optional
optional string failurePolicy = 4;
@@ -246,7 +527,7 @@ message MutatingWebhook {
// +optional
optional string matchPolicy = 9;
- // NamespaceSelector decides whether to run the webhook on an object based
+ // namespaceSelector decides whether to run the webhook on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -292,7 +573,7 @@ message MutatingWebhook {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5;
- // ObjectSelector decides whether to run the webhook based on if the
+ // objectSelector decides whether to run the webhook based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the webhook, and
// is considered to match if either object matches the selector. A null
@@ -306,7 +587,7 @@ message MutatingWebhook {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 11;
- // SideEffects states whether this webhook has side effects.
+ // sideEffects states whether this webhook has side effects.
// Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown).
// Webhooks with side effects MUST implement a reconciliation system, since a request may be
// rejected by a future step in the admission chain and the side effects therefore need to be undone.
@@ -314,7 +595,7 @@ message MutatingWebhook {
// sideEffects == Unknown or Some.
optional string sideEffects = 6;
- // TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
+ // timeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// The timeout value must be between 1 and 30 seconds.
@@ -322,7 +603,7 @@ message MutatingWebhook {
// +optional
optional int32 timeoutSeconds = 7;
- // AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
+ // admissionReviewVersions is an ordered list of preferred `AdmissionReview`
// versions the Webhook expects. API server will try to use first version in
// the list which it supports. If none of the versions specified in this list
// supported by API server, validation will fail for this object.
@@ -350,7 +631,7 @@ message MutatingWebhook {
// +optional
optional string reinvocationPolicy = 10;
- // MatchConditions is a list of conditions that must be met for a request to be sent to this
+ // matchConditions is a list of conditions that must be met for a request to be sent to this
// webhook. Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -372,11 +653,11 @@ message MutatingWebhook {
// MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object.
message MutatingWebhookConfiguration {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Webhooks is a list of webhooks and the affected resources and operations.
+ // webhooks is a list of webhooks and the affected resources and operations.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
@@ -387,7 +668,7 @@ message MutatingWebhookConfiguration {
// MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.
message MutatingWebhookConfigurationList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -396,10 +677,30 @@ message MutatingWebhookConfigurationList {
repeated MutatingWebhookConfiguration items = 2;
}
+// Mutation specifies the CEL expression which is used to apply the Mutation.
+message Mutation {
+ // patchType indicates the patch strategy used.
+ // Allowed values are "ApplyConfiguration" and "JSONPatch".
+ // Required.
+ //
+ // +unionDiscriminator
+ optional string patchType = 2;
+
+ // applyConfiguration defines the desired configuration values of an object.
+ // The configuration is applied to the admission object using
+ // [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff).
+ // A CEL expression is used to create apply configuration.
+ optional ApplyConfiguration applyConfiguration = 3;
+
+ // jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object.
+ // A CEL expression is used to create the JSON patch.
+ optional JSONPatch jsonPatch = 4;
+}
+
// NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
// +structType=atomic
message NamedRuleWithOperations {
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
// +listType=atomic
// +optional
repeated string resourceNames = 1;
@@ -411,12 +712,12 @@ message NamedRuleWithOperations {
// ParamKind is a tuple of Group Kind and Version.
// +structType=atomic
message ParamKind {
- // APIVersion is the API group version the resources belong to.
+ // apiVersion is the API group version the resources belong to.
// In format of "group/version".
// Required.
optional string apiVersion = 1;
- // Kind is the API kind the resources belong to.
+ // kind is the API kind the resources belong to.
// Required.
optional string kind = 2;
}
@@ -465,7 +766,7 @@ message ParamRef {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
- // `parameterNotFoundAction` controls the behavior of the binding when the resource
+ // parameterNotFoundAction controls the behavior of the binding when the resource
// exists, and name or selector is valid, but there are no parameters
// matched by the binding. If the value is set to `Allow`, then no
// matched parameters will be treated as successful validation by the binding.
@@ -481,19 +782,19 @@ message ParamRef {
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
// to make sure that all the tuple expansions are valid.
message Rule {
- // APIGroups is the API groups the resources belong to. '*' is all groups.
+ // apiGroups is the API groups the resources belong to. '*' is all groups.
// If '*' is present, the length of the slice must be one.
// Required.
// +listType=atomic
repeated string apiGroups = 1;
- // APIVersions is the API versions the resources belong to. '*' is all versions.
+ // apiVersions is the API versions the resources belong to. '*' is all versions.
// If '*' is present, the length of the slice must be one.
// Required.
// +listType=atomic
repeated string apiVersions = 2;
- // Resources is a list of resources this rule applies to.
+ // resources is a list of resources this rule applies to.
//
// For example:
// 'pods' means pods.
@@ -527,7 +828,7 @@ message Rule {
// RuleWithOperations is a tuple of Operations and Resources. It is recommended to make
// sure that all the tuple expansions are valid.
message RuleWithOperations {
- // Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or *
+ // operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or *
// for all of those operations and any future admission operations that are added.
// If '*' is present, the length of the slice must be one.
// Required.
@@ -541,20 +842,20 @@ message RuleWithOperations {
// ServiceReference holds a reference to Service.legacy.k8s.io
message ServiceReference {
- // `namespace` is the namespace of the service.
+ // namespace is the namespace of the service.
// Required
optional string namespace = 1;
- // `name` is the name of the service.
+ // name is the name of the service.
// Required
optional string name = 2;
- // `path` is an optional URL path which will be sent in any request to
+ // path is an optional URL path which will be sent in any request to
// this service.
// +optional
optional string path = 3;
- // If specified, the port on the service that hosting webhook.
+ // port is the port on the service that hosts the webhook.
// Default to 443 for backward compatibility.
// `port` should be a valid port number (1-65535, inclusive).
// +optional
@@ -564,22 +865,23 @@ message ServiceReference {
// TypeChecking contains results of type checking the expressions in the
// ValidatingAdmissionPolicy
message TypeChecking {
- // The type checking warnings for each expression.
+ // expressionWarnings contains the type checking warnings for each expression.
// +optional
// +listType=atomic
repeated ExpressionWarning expressionWarnings = 1;
}
// ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
+// +k8s:supportsSubresource="/status"
message ValidatingAdmissionPolicy {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the ValidatingAdmissionPolicy.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicy.
optional ValidatingAdmissionPolicySpec spec = 2;
- // The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
+ // status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
// behaves in the expected way.
// Populated by the system.
// Read-only.
@@ -599,17 +901,18 @@ message ValidatingAdmissionPolicy {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
message ValidatingAdmissionPolicyBinding {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // +required
optional ValidatingAdmissionPolicyBindingSpec spec = 2;
}
// ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.
message ValidatingAdmissionPolicyBindingList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -620,9 +923,11 @@ message ValidatingAdmissionPolicyBindingList {
// ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.
message ValidatingAdmissionPolicyBindingSpec {
- // PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
+ // policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
// If the referenced resource does not exist, this binding is considered invalid and will be ignored
// Required.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string policyName = 1;
// paramRef specifies the parameter resource used to configure the admission control policy.
@@ -632,7 +937,7 @@ message ValidatingAdmissionPolicyBindingSpec {
// +optional
optional ParamRef paramRef = 2;
- // MatchResources declares what resources match this binding and will be validated by it.
+ // matchResources declares what resources match this binding and will be validated by it.
// Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this.
// If this is unset, all resources matched by the policy are validated by this binding
// When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated.
@@ -680,12 +985,14 @@ message ValidatingAdmissionPolicyBindingSpec {
//
// Required.
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
repeated string validationActions = 4;
}
// ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.
message ValidatingAdmissionPolicyList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -696,21 +1003,21 @@ message ValidatingAdmissionPolicyList {
// ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.
message ValidatingAdmissionPolicySpec {
- // ParamKind specifies the kind of resources used to parameterize this policy.
+ // paramKind specifies the kind of resources used to parameterize this policy.
// If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
// If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
// If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.
// +optional
optional ParamKind paramKind = 1;
- // MatchConstraints specifies what resources this policy is designed to validate.
+ // matchConstraints specifies what resources this policy is designed to validate.
// The AdmissionPolicy cares about a request if it matches _all_ Constraints.
// However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
// ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding.
// Required.
optional MatchResources matchConstraints = 2;
- // Validations contain CEL expressions which is used to apply the validation.
+ // validations contain CEL expressions which is used to apply the validation.
// Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is
// required.
// +listType=atomic
@@ -741,7 +1048,7 @@ message ValidatingAdmissionPolicySpec {
// +optional
repeated AuditAnnotation auditAnnotations = 5;
- // MatchConditions is a list of conditions that must be met for a request to be validated.
+ // matchConditions is a list of conditions that must be met for a request to be validated.
// Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -763,7 +1070,7 @@ message ValidatingAdmissionPolicySpec {
// +optional
repeated MatchCondition matchConditions = 6;
- // Variables contain definitions of variables that can be used in composition of other expressions.
+ // variables contain definitions of variables that can be used in composition of other expressions.
// Each variable is defined as a named CEL expression.
// The variables defined here will be available under `variables` in other expressions of the policy
// except MatchConditions because MatchConditions are evaluated before the rest of the policy.
@@ -780,36 +1087,39 @@ message ValidatingAdmissionPolicySpec {
// ValidatingAdmissionPolicyStatus represents the status of an admission validation policy.
message ValidatingAdmissionPolicyStatus {
- // The generation observed by the controller.
+ // observedGeneration is the generation observed by the controller.
// +optional
optional int64 observedGeneration = 1;
- // The results of type checking for each expression.
+ // typeChecking contains the results of type checking for each expression.
// Presence of this field indicates the completion of the type checking.
// +optional
optional TypeChecking typeChecking = 2;
- // The conditions represent the latest available observations of a policy's current state.
+ // conditions represent the latest available observations of a policy's current state.
// +optional
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 3;
}
// ValidatingWebhook describes an admission webhook and the resources and operations it applies to.
message ValidatingWebhook {
- // The name of the admission webhook.
+ // name is the name of the admission webhook.
// Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where
// "imagepolicy" is the name of the webhook, and kubernetes.io is the name
// of the organization.
// Required.
optional string name = 1;
- // ClientConfig defines how to communicate with the hook.
+ // clientConfig defines how to communicate with the hook.
// Required
optional WebhookClientConfig clientConfig = 2;
- // Rules describes what operations on what resources/subresources the webhook cares about.
+ // rules describes what operations on what resources/subresources the webhook cares about.
// The webhook cares about an operation if it matches _any_ Rule.
// However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
// from putting the cluster in a state which cannot be recovered from without completely
@@ -818,7 +1128,7 @@ message ValidatingWebhook {
// +listType=atomic
repeated RuleWithOperations rules = 3;
- // FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
+ // failurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Fail.
// +optional
optional string failurePolicy = 4;
@@ -840,7 +1150,7 @@ message ValidatingWebhook {
// +optional
optional string matchPolicy = 9;
- // NamespaceSelector decides whether to run the webhook on an object based
+ // namespaceSelector decides whether to run the webhook on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -886,7 +1196,7 @@ message ValidatingWebhook {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5;
- // ObjectSelector decides whether to run the webhook based on if the
+ // objectSelector decides whether to run the webhook based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the webhook, and
// is considered to match if either object matches the selector. A null
@@ -900,7 +1210,7 @@ message ValidatingWebhook {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 10;
- // SideEffects states whether this webhook has side effects.
+ // sideEffects states whether this webhook has side effects.
// Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown).
// Webhooks with side effects MUST implement a reconciliation system, since a request may be
// rejected by a future step in the admission chain and the side effects therefore need to be undone.
@@ -908,7 +1218,7 @@ message ValidatingWebhook {
// sideEffects == Unknown or Some.
optional string sideEffects = 6;
- // TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
+ // timeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// The timeout value must be between 1 and 30 seconds.
@@ -916,7 +1226,7 @@ message ValidatingWebhook {
// +optional
optional int32 timeoutSeconds = 7;
- // AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
+ // admissionReviewVersions is an ordered list of preferred `AdmissionReview`
// versions the Webhook expects. API server will try to use first version in
// the list which it supports. If none of the versions specified in this list
// supported by API server, validation will fail for this object.
@@ -926,7 +1236,7 @@ message ValidatingWebhook {
// +listType=atomic
repeated string admissionReviewVersions = 8;
- // MatchConditions is a list of conditions that must be met for a request to be sent to this
+ // matchConditions is a list of conditions that must be met for a request to be sent to this
// webhook. Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -948,11 +1258,11 @@ message ValidatingWebhook {
// ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.
message ValidatingWebhookConfiguration {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Webhooks is a list of webhooks and the affected resources and operations.
+ // webhooks is a list of webhooks and the affected resources and operations.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
@@ -963,7 +1273,7 @@ message ValidatingWebhookConfiguration {
// ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.
message ValidatingWebhookConfigurationList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -974,7 +1284,7 @@ message ValidatingWebhookConfigurationList {
// Validation specifies the CEL expression which is used to apply the validation.
message Validation {
- // Expression represents the expression which will be evaluated by CEL.
+ // expression represents the expression which will be evaluated by CEL.
// ref: https://github.com/google/cel-spec
// CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
//
@@ -1017,7 +1327,7 @@ message Validation {
// Required.
optional string Expression = 1;
- // Message represents the message displayed when validation fails. The message is required if the Expression contains
+ // message represents the message displayed when validation fails. The message is required if the Expression contains
// line breaks. The message must not contain line breaks.
// If unset, the message is "failed rule: {Rule}".
// e.g. "must be a URL with the host matching spec.host"
@@ -1027,7 +1337,7 @@ message Validation {
// +optional
optional string message = 2;
- // Reason represents a machine-readable description of why this validation failed.
+ // reason represents a machine-readable description of why this validation failed.
// If this is the first validation in the list to fail, this reason, as well as the
// corresponding HTTP response code, are used in the
// HTTP response to the client.
@@ -1053,12 +1363,12 @@ message Validation {
// Variable is the definition of a variable that is used for composition. A variable is defined as a named expression.
// +structType=atomic
message Variable {
- // Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
+ // name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
// The variable can be accessed in other expressions through `variables`
// For example, if name is "foo", the variable will be available as `variables.foo`
optional string Name = 1;
- // Expression is the expression that will be evaluated as the value of the variable.
+ // expression is the expression that will be evaluated as the value of the variable.
// The CEL expression has access to the same identifiers as the CEL expressions in Validation.
optional string Expression = 2;
}
@@ -1066,7 +1376,7 @@ message Variable {
// WebhookClientConfig contains the information to make a TLS
// connection with the webhook
message WebhookClientConfig {
- // `url` gives the location of the webhook, in standard URL form
+ // url gives the location of the webhook, in standard URL form
// (`scheme://host:port/path`). Exactly one of `url` or `service`
// must be specified.
//
@@ -1095,7 +1405,7 @@ message WebhookClientConfig {
// +optional
optional string url = 3;
- // `service` is a reference to the service for this webhook. Either
+ // service is a reference to the service for this webhook. Either
// `service` or `url` must be specified.
//
// If the webhook is running within the cluster, then you should use `service`.
@@ -1103,7 +1413,7 @@ message WebhookClientConfig {
// +optional
optional ServiceReference service = 1;
- // `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
+ // caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
// If unspecified, system trust roots on the apiserver are used.
// +optional
optional bytes caBundle = 2;
diff --git a/vendor/k8s.io/api/admissionregistration/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/admissionregistration/v1/generated.protomessage.pb.go
deleted file mode 100644
index 04a23c597..000000000
--- a/vendor/k8s.io/api/admissionregistration/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,76 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*AuditAnnotation) ProtoMessage() {}
-
-func (*ExpressionWarning) ProtoMessage() {}
-
-func (*MatchCondition) ProtoMessage() {}
-
-func (*MatchResources) ProtoMessage() {}
-
-func (*MutatingWebhook) ProtoMessage() {}
-
-func (*MutatingWebhookConfiguration) ProtoMessage() {}
-
-func (*MutatingWebhookConfigurationList) ProtoMessage() {}
-
-func (*NamedRuleWithOperations) ProtoMessage() {}
-
-func (*ParamKind) ProtoMessage() {}
-
-func (*ParamRef) ProtoMessage() {}
-
-func (*Rule) ProtoMessage() {}
-
-func (*RuleWithOperations) ProtoMessage() {}
-
-func (*ServiceReference) ProtoMessage() {}
-
-func (*TypeChecking) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicy) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBinding) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBindingList) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBindingSpec) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyList) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicySpec) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyStatus) ProtoMessage() {}
-
-func (*ValidatingWebhook) ProtoMessage() {}
-
-func (*ValidatingWebhookConfiguration) ProtoMessage() {}
-
-func (*ValidatingWebhookConfigurationList) ProtoMessage() {}
-
-func (*Validation) ProtoMessage() {}
-
-func (*Variable) ProtoMessage() {}
-
-func (*WebhookClientConfig) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/admissionregistration/v1/register.go b/vendor/k8s.io/api/admissionregistration/v1/register.go
index da74379ce..c1137d2bd 100644
--- a/vendor/k8s.io/api/admissionregistration/v1/register.go
+++ b/vendor/k8s.io/api/admissionregistration/v1/register.go
@@ -54,6 +54,10 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&ValidatingAdmissionPolicyList{},
&ValidatingAdmissionPolicyBinding{},
&ValidatingAdmissionPolicyBindingList{},
+ &MutatingAdmissionPolicy{},
+ &MutatingAdmissionPolicyList{},
+ &MutatingAdmissionPolicyBinding{},
+ &MutatingAdmissionPolicyBindingList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
diff --git a/vendor/k8s.io/api/admissionregistration/v1/types.go b/vendor/k8s.io/api/admissionregistration/v1/types.go
index 311c05c0f..8047d5c5f 100644
--- a/vendor/k8s.io/api/admissionregistration/v1/types.go
+++ b/vendor/k8s.io/api/admissionregistration/v1/types.go
@@ -23,19 +23,19 @@ import (
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
// to make sure that all the tuple expansions are valid.
type Rule struct {
- // APIGroups is the API groups the resources belong to. '*' is all groups.
+ // apiGroups is the API groups the resources belong to. '*' is all groups.
// If '*' is present, the length of the slice must be one.
// Required.
// +listType=atomic
APIGroups []string `json:"apiGroups,omitempty" protobuf:"bytes,1,rep,name=apiGroups"`
- // APIVersions is the API versions the resources belong to. '*' is all versions.
+ // apiVersions is the API versions the resources belong to. '*' is all versions.
// If '*' is present, the length of the slice must be one.
// Required.
// +listType=atomic
APIVersions []string `json:"apiVersions,omitempty" protobuf:"bytes,2,rep,name=apiVersions"`
- // Resources is a list of resources this rule applies to.
+ // resources is a list of resources this rule applies to.
//
// For example:
// 'pods' means pods.
@@ -139,14 +139,15 @@ const (
// +k8s:prerelease-lifecycle-gen:introduced=1.30
// ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
+// +k8s:supportsSubresource="/status"
type ValidatingAdmissionPolicy struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the ValidatingAdmissionPolicy.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicy.
Spec ValidatingAdmissionPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
- // The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
+ // status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
// behaves in the expected way.
// Populated by the system.
// Read-only.
@@ -156,17 +157,20 @@ type ValidatingAdmissionPolicy struct {
// ValidatingAdmissionPolicyStatus represents the status of an admission validation policy.
type ValidatingAdmissionPolicyStatus struct {
- // The generation observed by the controller.
+ // observedGeneration is the generation observed by the controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
- // The results of type checking for each expression.
+ // typeChecking contains the results of type checking for each expression.
// Presence of this field indicates the completion of the type checking.
// +optional
TypeChecking *TypeChecking `json:"typeChecking,omitempty" protobuf:"bytes,2,opt,name=typeChecking"`
- // The conditions represent the latest available observations of a policy's current state.
+ // conditions represent the latest available observations of a policy's current state.
// +optional
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}
@@ -176,7 +180,7 @@ type ValidatingAdmissionPolicyConditionType string
// TypeChecking contains results of type checking the expressions in the
// ValidatingAdmissionPolicy
type TypeChecking struct {
- // The type checking warnings for each expression.
+ // expressionWarnings contains the type checking warnings for each expression.
// +optional
// +listType=atomic
ExpressionWarnings []ExpressionWarning `json:"expressionWarnings,omitempty" protobuf:"bytes,1,rep,name=expressionWarnings"`
@@ -184,11 +188,11 @@ type TypeChecking struct {
// ExpressionWarning is a warning information that targets a specific expression.
type ExpressionWarning struct {
- // The path to the field that refers the expression.
+ // fieldRef is the path to the field that refers to the expression.
// For example, the reference to the expression of the first item of
// validations is "spec.validations[0].expression"
FieldRef string `json:"fieldRef" protobuf:"bytes,2,opt,name=fieldRef"`
- // The content of type checking information in a human-readable form.
+ // warning contains the content of type checking information in a human-readable form.
// Each line of the warning contains the type that the expression is checked
// against, followed by the type check error from the compiler.
Warning string `json:"warning" protobuf:"bytes,3,opt,name=warning"`
@@ -199,8 +203,8 @@ type ExpressionWarning struct {
// ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.
type ValidatingAdmissionPolicyList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -210,21 +214,21 @@ type ValidatingAdmissionPolicyList struct {
// ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.
type ValidatingAdmissionPolicySpec struct {
- // ParamKind specifies the kind of resources used to parameterize this policy.
+ // paramKind specifies the kind of resources used to parameterize this policy.
// If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
// If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
// If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.
// +optional
ParamKind *ParamKind `json:"paramKind,omitempty" protobuf:"bytes,1,rep,name=paramKind"`
- // MatchConstraints specifies what resources this policy is designed to validate.
+ // matchConstraints specifies what resources this policy is designed to validate.
// The AdmissionPolicy cares about a request if it matches _all_ Constraints.
// However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
// ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding.
// Required.
MatchConstraints *MatchResources `json:"matchConstraints,omitempty" protobuf:"bytes,2,rep,name=matchConstraints"`
- // Validations contain CEL expressions which is used to apply the validation.
+ // validations contain CEL expressions which is used to apply the validation.
// Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is
// required.
// +listType=atomic
@@ -255,7 +259,7 @@ type ValidatingAdmissionPolicySpec struct {
// +optional
AuditAnnotations []AuditAnnotation `json:"auditAnnotations,omitempty" protobuf:"bytes,5,rep,name=auditAnnotations"`
- // MatchConditions is a list of conditions that must be met for a request to be validated.
+ // matchConditions is a list of conditions that must be met for a request to be validated.
// Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -277,7 +281,7 @@ type ValidatingAdmissionPolicySpec struct {
// +optional
MatchConditions []MatchCondition `json:"matchConditions,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,rep,name=matchConditions"`
- // Variables contain definitions of variables that can be used in composition of other expressions.
+ // variables contain definitions of variables that can be used in composition of other expressions.
// Each variable is defined as a named CEL expression.
// The variables defined here will be available under `variables` in other expressions of the policy
// except MatchConditions because MatchConditions are evaluated before the rest of the policy.
@@ -295,19 +299,19 @@ type ValidatingAdmissionPolicySpec struct {
// ParamKind is a tuple of Group Kind and Version.
// +structType=atomic
type ParamKind struct {
- // APIVersion is the API group version the resources belong to.
+ // apiVersion is the API group version the resources belong to.
// In format of "group/version".
// Required.
APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,1,rep,name=apiVersion"`
- // Kind is the API kind the resources belong to.
+ // kind is the API kind the resources belong to.
// Required.
Kind string `json:"kind,omitempty" protobuf:"bytes,2,rep,name=kind"`
}
// Validation specifies the CEL expression which is used to apply the validation.
type Validation struct {
- // Expression represents the expression which will be evaluated by CEL.
+ // expression represents the expression which will be evaluated by CEL.
// ref: https://github.com/google/cel-spec
// CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
//
@@ -349,7 +353,7 @@ type Validation struct {
// non-intersecting keys are appended, retaining their partial order.
// Required.
Expression string `json:"expression" protobuf:"bytes,1,opt,name=Expression"`
- // Message represents the message displayed when validation fails. The message is required if the Expression contains
+ // message represents the message displayed when validation fails. The message is required if the Expression contains
// line breaks. The message must not contain line breaks.
// If unset, the message is "failed rule: {Rule}".
// e.g. "must be a URL with the host matching spec.host"
@@ -358,7 +362,7 @@ type Validation struct {
// If unset, the message is "failed Expression: {Expression}".
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"`
- // Reason represents a machine-readable description of why this validation failed.
+ // reason represents a machine-readable description of why this validation failed.
// If this is the first validation in the list to fail, this reason, as well as the
// corresponding HTTP response code, are used in the
// HTTP response to the client.
@@ -383,12 +387,12 @@ type Validation struct {
// Variable is the definition of a variable that is used for composition. A variable is defined as a named expression.
// +structType=atomic
type Variable struct {
- // Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
+ // name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
// The variable can be accessed in other expressions through `variables`
// For example, if name is "foo", the variable will be available as `variables.foo`
Name string `json:"name" protobuf:"bytes,1,opt,name=Name"`
- // Expression is the expression that will be evaluated as the value of the variable.
+ // expression is the expression that will be evaluated as the value of the variable.
// The CEL expression has access to the same identifiers as the CEL expressions in Validation.
Expression string `json:"expression" protobuf:"bytes,2,opt,name=Expression"`
}
@@ -447,11 +451,12 @@ type AuditAnnotation struct {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
type ValidatingAdmissionPolicyBinding struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // +required
Spec ValidatingAdmissionPolicyBindingSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
@@ -460,8 +465,8 @@ type ValidatingAdmissionPolicyBinding struct {
// ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.
type ValidatingAdmissionPolicyBindingList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -471,9 +476,11 @@ type ValidatingAdmissionPolicyBindingList struct {
// ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.
type ValidatingAdmissionPolicyBindingSpec struct {
- // PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
+ // policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
// If the referenced resource does not exist, this binding is considered invalid and will be ignored
// Required.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
PolicyName string `json:"policyName,omitempty" protobuf:"bytes,1,rep,name=policyName"`
// paramRef specifies the parameter resource used to configure the admission control policy.
@@ -483,7 +490,7 @@ type ValidatingAdmissionPolicyBindingSpec struct {
// +optional
ParamRef *ParamRef `json:"paramRef,omitempty" protobuf:"bytes,2,rep,name=paramRef"`
- // MatchResources declares what resources match this binding and will be validated by it.
+ // matchResources declares what resources match this binding and will be validated by it.
// Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this.
// If this is unset, all resources matched by the policy are validated by this binding
// When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated.
@@ -531,6 +538,8 @@ type ValidatingAdmissionPolicyBindingSpec struct {
//
// Required.
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
ValidationActions []ValidationAction `json:"validationActions,omitempty" protobuf:"bytes,4,rep,name=validationActions"`
}
@@ -579,7 +588,7 @@ type ParamRef struct {
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,3,rep,name=selector"`
- // `parameterNotFoundAction` controls the behavior of the binding when the resource
+ // parameterNotFoundAction controls the behavior of the binding when the resource
// exists, and name or selector is valid, but there are no parameters
// matched by the binding. If the value is set to `Allow`, then no
// matched parameters will be treated as successful validation by the binding.
@@ -597,7 +606,7 @@ type ParamRef struct {
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +structType=atomic
type MatchResources struct {
- // NamespaceSelector decides whether to run the admission control policy on an object based
+ // namespaceSelector decides whether to run the admission control policy on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -642,7 +651,7 @@ type MatchResources struct {
// Default to the empty LabelSelector, which matches everything.
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,1,opt,name=namespaceSelector"`
- // ObjectSelector decides whether to run the validation based on if the
+ // objectSelector decides whether to run the validation based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the cel validation, and
// is considered to match if either object matches the selector. A null
@@ -655,12 +664,12 @@ type MatchResources struct {
// Default to the empty LabelSelector, which matches everything.
// +optional
ObjectSelector *metav1.LabelSelector `json:"objectSelector,omitempty" protobuf:"bytes,2,opt,name=objectSelector"`
- // ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches.
+ // resourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches.
// The policy cares about an operation if it matches _any_ Rule.
// +listType=atomic
// +optional
ResourceRules []NamedRuleWithOperations `json:"resourceRules,omitempty" protobuf:"bytes,3,rep,name=resourceRules"`
- // ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about.
+ // excludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about.
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +listType=atomic
// +optional
@@ -704,12 +713,12 @@ const (
// NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
// +structType=atomic
type NamedRuleWithOperations struct {
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
// +listType=atomic
// +optional
ResourceNames []string `json:"resourceNames,omitempty" protobuf:"bytes,1,rep,name=resourceNames"`
// RuleWithOperations is a tuple of Operations and Resources.
- RuleWithOperations `json:",inline" protobuf:"bytes,2,opt,name=ruleWithOperations"`
+ RuleWithOperations `json:"" protobuf:"bytes,2,opt,name=ruleWithOperations"`
}
// +genclient
@@ -719,11 +728,11 @@ type NamedRuleWithOperations struct {
// ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.
type ValidatingWebhookConfiguration struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Webhooks is a list of webhooks and the affected resources and operations.
+ // webhooks is a list of webhooks and the affected resources and operations.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
@@ -737,8 +746,8 @@ type ValidatingWebhookConfiguration struct {
// ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.
type ValidatingWebhookConfigurationList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -753,11 +762,11 @@ type ValidatingWebhookConfigurationList struct {
// MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object.
type MutatingWebhookConfiguration struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Webhooks is a list of webhooks and the affected resources and operations.
+ // webhooks is a list of webhooks and the affected resources and operations.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
@@ -771,8 +780,8 @@ type MutatingWebhookConfiguration struct {
// MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.
type MutatingWebhookConfigurationList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -782,18 +791,18 @@ type MutatingWebhookConfigurationList struct {
// ValidatingWebhook describes an admission webhook and the resources and operations it applies to.
type ValidatingWebhook struct {
- // The name of the admission webhook.
+ // name is the name of the admission webhook.
// Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where
// "imagepolicy" is the name of the webhook, and kubernetes.io is the name
// of the organization.
// Required.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
- // ClientConfig defines how to communicate with the hook.
+ // clientConfig defines how to communicate with the hook.
// Required
ClientConfig WebhookClientConfig `json:"clientConfig" protobuf:"bytes,2,opt,name=clientConfig"`
- // Rules describes what operations on what resources/subresources the webhook cares about.
+ // rules describes what operations on what resources/subresources the webhook cares about.
// The webhook cares about an operation if it matches _any_ Rule.
// However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
// from putting the cluster in a state which cannot be recovered from without completely
@@ -802,7 +811,7 @@ type ValidatingWebhook struct {
// +listType=atomic
Rules []RuleWithOperations `json:"rules,omitempty" protobuf:"bytes,3,rep,name=rules"`
- // FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
+ // failurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Fail.
// +optional
FailurePolicy *FailurePolicyType `json:"failurePolicy,omitempty" protobuf:"bytes,4,opt,name=failurePolicy,casttype=FailurePolicyType"`
@@ -824,7 +833,7 @@ type ValidatingWebhook struct {
// +optional
MatchPolicy *MatchPolicyType `json:"matchPolicy,omitempty" protobuf:"bytes,9,opt,name=matchPolicy,casttype=MatchPolicyType"`
- // NamespaceSelector decides whether to run the webhook on an object based
+ // namespaceSelector decides whether to run the webhook on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -870,7 +879,7 @@ type ValidatingWebhook struct {
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,5,opt,name=namespaceSelector"`
- // ObjectSelector decides whether to run the webhook based on if the
+ // objectSelector decides whether to run the webhook based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the webhook, and
// is considered to match if either object matches the selector. A null
@@ -884,7 +893,7 @@ type ValidatingWebhook struct {
// +optional
ObjectSelector *metav1.LabelSelector `json:"objectSelector,omitempty" protobuf:"bytes,10,opt,name=objectSelector"`
- // SideEffects states whether this webhook has side effects.
+ // sideEffects states whether this webhook has side effects.
// Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown).
// Webhooks with side effects MUST implement a reconciliation system, since a request may be
// rejected by a future step in the admission chain and the side effects therefore need to be undone.
@@ -892,7 +901,7 @@ type ValidatingWebhook struct {
// sideEffects == Unknown or Some.
SideEffects *SideEffectClass `json:"sideEffects" protobuf:"bytes,6,opt,name=sideEffects,casttype=SideEffectClass"`
- // TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
+ // timeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// The timeout value must be between 1 and 30 seconds.
@@ -900,7 +909,7 @@ type ValidatingWebhook struct {
// +optional
TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty" protobuf:"varint,7,opt,name=timeoutSeconds"`
- // AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
+ // admissionReviewVersions is an ordered list of preferred `AdmissionReview`
// versions the Webhook expects. API server will try to use first version in
// the list which it supports. If none of the versions specified in this list
// supported by API server, validation will fail for this object.
@@ -910,7 +919,7 @@ type ValidatingWebhook struct {
// +listType=atomic
AdmissionReviewVersions []string `json:"admissionReviewVersions" protobuf:"bytes,8,rep,name=admissionReviewVersions"`
- // MatchConditions is a list of conditions that must be met for a request to be sent to this
+ // matchConditions is a list of conditions that must be met for a request to be sent to this
// webhook. Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -932,18 +941,18 @@ type ValidatingWebhook struct {
// MutatingWebhook describes an admission webhook and the resources and operations it applies to.
type MutatingWebhook struct {
- // The name of the admission webhook.
+ // name is the name of the admission webhook.
// Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where
// "imagepolicy" is the name of the webhook, and kubernetes.io is the name
// of the organization.
// Required.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
- // ClientConfig defines how to communicate with the hook.
+ // clientConfig defines how to communicate with the hook.
// Required
ClientConfig WebhookClientConfig `json:"clientConfig" protobuf:"bytes,2,opt,name=clientConfig"`
- // Rules describes what operations on what resources/subresources the webhook cares about.
+ // rules describes what operations on what resources/subresources the webhook cares about.
// The webhook cares about an operation if it matches _any_ Rule.
// However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
// from putting the cluster in a state which cannot be recovered from without completely
@@ -952,7 +961,7 @@ type MutatingWebhook struct {
// +listType=atomic
Rules []RuleWithOperations `json:"rules,omitempty" protobuf:"bytes,3,rep,name=rules"`
- // FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
+ // failurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Fail.
// +optional
FailurePolicy *FailurePolicyType `json:"failurePolicy,omitempty" protobuf:"bytes,4,opt,name=failurePolicy,casttype=FailurePolicyType"`
@@ -974,7 +983,7 @@ type MutatingWebhook struct {
// +optional
MatchPolicy *MatchPolicyType `json:"matchPolicy,omitempty" protobuf:"bytes,9,opt,name=matchPolicy,casttype=MatchPolicyType"`
- // NamespaceSelector decides whether to run the webhook on an object based
+ // namespaceSelector decides whether to run the webhook on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -1020,7 +1029,7 @@ type MutatingWebhook struct {
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,5,opt,name=namespaceSelector"`
- // ObjectSelector decides whether to run the webhook based on if the
+ // objectSelector decides whether to run the webhook based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the webhook, and
// is considered to match if either object matches the selector. A null
@@ -1034,7 +1043,7 @@ type MutatingWebhook struct {
// +optional
ObjectSelector *metav1.LabelSelector `json:"objectSelector,omitempty" protobuf:"bytes,11,opt,name=objectSelector"`
- // SideEffects states whether this webhook has side effects.
+ // sideEffects states whether this webhook has side effects.
// Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown).
// Webhooks with side effects MUST implement a reconciliation system, since a request may be
// rejected by a future step in the admission chain and the side effects therefore need to be undone.
@@ -1042,7 +1051,7 @@ type MutatingWebhook struct {
// sideEffects == Unknown or Some.
SideEffects *SideEffectClass `json:"sideEffects" protobuf:"bytes,6,opt,name=sideEffects,casttype=SideEffectClass"`
- // TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
+ // timeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// The timeout value must be between 1 and 30 seconds.
@@ -1050,7 +1059,7 @@ type MutatingWebhook struct {
// +optional
TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty" protobuf:"varint,7,opt,name=timeoutSeconds"`
- // AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
+ // admissionReviewVersions is an ordered list of preferred `AdmissionReview`
// versions the Webhook expects. API server will try to use first version in
// the list which it supports. If none of the versions specified in this list
// supported by API server, validation will fail for this object.
@@ -1078,7 +1087,7 @@ type MutatingWebhook struct {
// +optional
ReinvocationPolicy *ReinvocationPolicyType `json:"reinvocationPolicy,omitempty" protobuf:"bytes,10,opt,name=reinvocationPolicy,casttype=ReinvocationPolicyType"`
- // MatchConditions is a list of conditions that must be met for a request to be sent to this
+ // matchConditions is a list of conditions that must be met for a request to be sent to this
// webhook. Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -1098,6 +1107,335 @@ type MutatingWebhook struct {
MatchConditions []MatchCondition `json:"matchConditions,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,12,opt,name=matchConditions"`
}
+// +genclient
+// +genclient:nonNamespaced
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.36
+
+// MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
+type MutatingAdmissionPolicy struct {
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ // spec defines the desired behavior of the MutatingAdmissionPolicy.
+ Spec MutatingAdmissionPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.36
+
+// MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.
+type MutatingAdmissionPolicyList struct {
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +optional
+ metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ // List of ValidatingAdmissionPolicy.
+ Items []MutatingAdmissionPolicy `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
+
+// MutatingAdmissionPolicySpec defines the desired behavior of the admission policy.
+type MutatingAdmissionPolicySpec struct {
+ // paramKind specifies the kind of resources used to parameterize this policy.
+ // If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
+ // If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
+ // If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
+ // +optional
+ ParamKind *ParamKind `json:"paramKind,omitempty" protobuf:"bytes,1,rep,name=paramKind"`
+
+ // matchConstraints specifies what resources this policy is designed to validate.
+ // The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints.
+ // However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
+ // MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding.
+ // The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched.
+ // '*' matches CREATE, UPDATE and CONNECT.
+ // Required.
+ MatchConstraints *MatchResources `json:"matchConstraints,omitempty" protobuf:"bytes,2,rep,name=matchConstraints"`
+
+ // variables contain definitions of variables that can be used in composition of other expressions.
+ // Each variable is defined as a named CEL expression.
+ // The variables defined here will be available under `variables` in other expressions of the policy
+ // except matchConditions because matchConditions are evaluated before the rest of the policy.
+ //
+ // The expression of a variable can refer to other variables defined earlier in the list but not those after.
+ // Thus, variables must be sorted by the order of first appearance and acyclic.
+ // +listType=atomic
+ // +optional
+ Variables []Variable `json:"variables,omitempty" protobuf:"bytes,3,rep,name=variables"`
+
+ // mutations contain operations to perform on matching objects.
+ // mutations may not be empty; a minimum of one mutation is required.
+ // mutations are evaluated in order, and are reinvoked according to
+ // the reinvocationPolicy.
+ // The mutations of a policy are invoked for each binding of this policy
+ // and reinvocation of mutations occurs on a per binding basis.
+ //
+ // +listType=atomic
+ // +optional
+ Mutations []Mutation `json:"mutations,omitempty" protobuf:"bytes,4,rep,name=mutations"`
+
+ // failurePolicy defines how to handle failures for the admission policy. Failures can
+ // occur from CEL expression parse errors, type check errors, runtime errors and invalid
+ // or mis-configured policy definitions or bindings.
+ //
+ // A policy is invalid if paramKind refers to a non-existent Kind.
+ // A binding is invalid if paramRef.name refers to a non-existent resource.
+ //
+ // failurePolicy does not define how validations that evaluate to false are handled.
+ //
+ // Allowed values are Ignore or Fail. Defaults to Fail.
+ // +optional
+ FailurePolicy *FailurePolicyType `json:"failurePolicy,omitempty" protobuf:"bytes,5,opt,name=failurePolicy,casttype=FailurePolicyType"`
+
+ // matchConditions is a list of conditions that must be met for a request to be validated.
+ // Match conditions filter requests that have already been matched by the matchConstraints.
+ // An empty list of matchConditions matches all requests.
+ // There are a maximum of 64 match conditions allowed.
+ //
+ // If a parameter object is provided, it can be accessed via the `params` handle in the same
+ // manner as validation expressions.
+ //
+ // The exact matching logic is (in order):
+ // 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
+ // 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
+ // 3. If any matchCondition evaluates to an error (but none are FALSE):
+ // - If failurePolicy=Fail, reject the request
+ // - If failurePolicy=Ignore, the policy is skipped
+ //
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +optional
+ MatchConditions []MatchCondition `json:"matchConditions,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,rep,name=matchConditions"`
+
+ // reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding
+ // as part of a single admission evaluation.
+ // Allowed values are "Never" and "IfNeeded".
+ //
+ // Never: These mutations will not be called more than once per binding in a single admission evaluation.
+ //
+ // IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of
+ // order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only
+ // reinvoked when mutations change the object after this mutation is invoked.
+ // Required.
+ ReinvocationPolicy ReinvocationPolicyType `json:"reinvocationPolicy,omitempty" protobuf:"bytes,7,opt,name=reinvocationPolicy,casttype=ReinvocationPolicyType"`
+}
+
+// Mutation specifies the CEL expression which is used to apply the Mutation.
+type Mutation struct {
+ // patchType indicates the patch strategy used.
+ // Allowed values are "ApplyConfiguration" and "JSONPatch".
+ // Required.
+ //
+ // +unionDiscriminator
+ PatchType PatchType `json:"patchType" protobuf:"bytes,2,opt,name=patchType,casttype=PatchType"`
+
+ // applyConfiguration defines the desired configuration values of an object.
+ // The configuration is applied to the admission object using
+ // [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff).
+ // A CEL expression is used to create apply configuration.
+ ApplyConfiguration *ApplyConfiguration `json:"applyConfiguration,omitempty" protobuf:"bytes,3,opt,name=applyConfiguration"`
+
+ // jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object.
+ // A CEL expression is used to create the JSON patch.
+ JSONPatch *JSONPatch `json:"jsonPatch,omitempty" protobuf:"bytes,4,opt,name=jsonPatch"`
+}
+
+// PatchType specifies the type of patch operation for a mutation.
+// +enum
+type PatchType string
+
+const (
+ // ApplyConfiguration indicates that the mutation is using apply configuration to mutate the object.
+ PatchTypeApplyConfiguration PatchType = "ApplyConfiguration"
+ // JSONPatch indicates that the object is mutated through JSON Patch.
+ PatchTypeJSONPatch PatchType = "JSONPatch"
+)
+
+// ApplyConfiguration defines the desired configuration values of an object.
+type ApplyConfiguration struct {
+ // expression will be evaluated by CEL to create an apply configuration.
+ // ref: https://github.com/google/cel-spec
+ //
+ // Apply configurations are declared in CEL using object initialization. For example, this CEL expression
+ // returns an apply configuration to set a single field:
+ //
+ // Object{
+ // spec: Object.spec{
+ // serviceAccountName: "example"
+ // }
+ // }
+ //
+ // Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of
+ // values not included in the apply configuration.
+ //
+ // CEL expressions have access to the object types needed to create apply configurations:
+ //
+ // - 'Object' - CEL type of the resource object.
+ // - 'Object.' - CEL type of object field (such as 'Object.spec')
+ // - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')
+ //
+ // CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
+ //
+ // - 'object' - The object from the incoming request. The value is null for DELETE requests.
+ // - 'oldObject' - The existing object. The value is null for CREATE requests.
+ // - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
+ // - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
+ // - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources.
+ // - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
+ // For example, a variable named 'foo' can be accessed as 'variables.foo'.
+ // - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
+ // See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
+ // - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
+ // request resource.
+ //
+ // The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the
+ // object. No other metadata properties are accessible.
+ //
+ // Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.
+ // Required.
+ Expression string `json:"expression,omitempty" protobuf:"bytes,1,opt,name=expression"`
+}
+
+// JSONPatch defines a JSON Patch.
+type JSONPatch struct {
+ // expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/).
+ // ref: https://github.com/google/cel-spec
+ //
+ // expression must return an array of JSONPatch values.
+ //
+ // For example, this CEL expression returns a JSON patch to conditionally modify a value:
+ //
+ // [
+ // JSONPatch{op: "test", path: "/spec/example", value: "Red"},
+ // JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
+ // ]
+ //
+ // To define an object for the patch value, use Object types. For example:
+ //
+ // [
+ // JSONPatch{
+ // op: "add",
+ // path: "/spec/selector",
+ // value: Object.spec.selector{matchLabels: {"environment": "test"}}
+ // }
+ // ]
+ //
+ // To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
+ //
+ // [
+ // JSONPatch{
+ // op: "add",
+ // path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
+ // value: "test"
+ // },
+ // ]
+ //
+ // CEL expressions have access to the types needed to create JSON patches and objects:
+ //
+ // - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
+ // See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
+ // integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
+ // [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
+ // function may be used to escape path keys containing '/' and '~'.
+ // - 'Object' - CEL type of the resource object.
+ // - 'Object.' - CEL type of object field (such as 'Object.spec')
+ // - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')
+ //
+ // CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
+ //
+ // - 'object' - The object from the incoming request. The value is null for DELETE requests.
+ // - 'oldObject' - The existing object. The value is null for CREATE requests.
+ // - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
+ // - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
+ // - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources.
+ // - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
+ // For example, a variable named 'foo' can be accessed as 'variables.foo'.
+ // - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
+ // See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
+ // - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
+ // request resource.
+ //
+ // CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries)
+ // as well as:
+ //
+ // - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
+ //
+ //
+ // Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.
+ // Required.
+ Expression string `json:"expression,omitempty" protobuf:"bytes,1,opt,name=expression"`
+}
+
+// +genclient
+// +genclient:nonNamespaced
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.36
+
+// MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources.
+// MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators
+// configure policies for clusters.
+//
+// For a given admission request, each binding will cause its policy to be
+// evaluated N times, where N is 1 for policies/bindings that don't use
+// params, otherwise N is the number of parameters selected by the binding.
+// Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).
+//
+// Adding/removing policies, bindings, or params can not affect whether a
+// given (policy, binding, param) combination is within its own CEL budget.
+type MutatingAdmissionPolicyBinding struct {
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ // spec defines the desired behavior of the MutatingAdmissionPolicyBinding.
+ Spec MutatingAdmissionPolicyBindingSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.36
+
+// MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.
+type MutatingAdmissionPolicyBindingList struct {
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +optional
+ metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ // List of PolicyBinding.
+ Items []MutatingAdmissionPolicyBinding `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
+
+// MutatingAdmissionPolicyBindingSpec defines the specification of the MutatingAdmissionPolicyBinding.
+type MutatingAdmissionPolicyBindingSpec struct {
+ // policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to.
+ // If the referenced resource does not exist, this binding is considered invalid and will be ignored
+ // Required.
+ PolicyName string `json:"policyName,omitempty" protobuf:"bytes,1,rep,name=policyName"`
+
+ // paramRef specifies the parameter resource used to configure the admission control policy.
+ // It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy.
+ // If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied.
+ // If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
+ // +optional
+ ParamRef *ParamRef `json:"paramRef,omitempty" protobuf:"bytes,2,rep,name=paramRef"`
+
+ // matchResources limits what resources match this binding and may be mutated by it.
+ // Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and
+ // matchConditions before the resource may be mutated.
+ // When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints
+ // and matchConditions must match for the resource to be mutated.
+ // Additionally, matchResources.resourceRules are optional and do not constraint matching when unset.
+ // Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required.
+ // The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched.
+ // '*' matches CREATE, UPDATE and CONNECT.
+ // +optional
+ MatchResources *MatchResources `json:"matchResources,omitempty" protobuf:"bytes,3,rep,name=matchResources"`
+}
+
// ReinvocationPolicyType specifies what type of policy is used when other admission plugins also perform
// modifications.
// +enum
@@ -1116,7 +1454,7 @@ const (
// RuleWithOperations is a tuple of Operations and Resources. It is recommended to make
// sure that all the tuple expansions are valid.
type RuleWithOperations struct {
- // Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or *
+ // operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or *
// for all of those operations and any future admission operations that are added.
// If '*' is present, the length of the slice must be one.
// Required.
@@ -1124,7 +1462,7 @@ type RuleWithOperations struct {
Operations []OperationType `json:"operations,omitempty" protobuf:"bytes,1,rep,name=operations,casttype=OperationType"`
// Rule is embedded, it describes other criteria of the rule, like
// APIGroups, APIVersions, Resources, etc.
- Rule `json:",inline" protobuf:"bytes,2,opt,name=rule"`
+ Rule `json:"" protobuf:"bytes,2,opt,name=rule"`
}
// OperationType specifies an operation for a request.
@@ -1143,7 +1481,7 @@ const (
// WebhookClientConfig contains the information to make a TLS
// connection with the webhook
type WebhookClientConfig struct {
- // `url` gives the location of the webhook, in standard URL form
+ // url gives the location of the webhook, in standard URL form
// (`scheme://host:port/path`). Exactly one of `url` or `service`
// must be specified.
//
@@ -1172,7 +1510,7 @@ type WebhookClientConfig struct {
// +optional
URL *string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"`
- // `service` is a reference to the service for this webhook. Either
+ // service is a reference to the service for this webhook. Either
// `service` or `url` must be specified.
//
// If the webhook is running within the cluster, then you should use `service`.
@@ -1180,7 +1518,7 @@ type WebhookClientConfig struct {
// +optional
Service *ServiceReference `json:"service,omitempty" protobuf:"bytes,1,opt,name=service"`
- // `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
+ // caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
// If unspecified, system trust roots on the apiserver are used.
// +optional
CABundle []byte `json:"caBundle,omitempty" protobuf:"bytes,2,opt,name=caBundle"`
@@ -1188,19 +1526,19 @@ type WebhookClientConfig struct {
// ServiceReference holds a reference to Service.legacy.k8s.io
type ServiceReference struct {
- // `namespace` is the namespace of the service.
+ // namespace is the namespace of the service.
// Required
Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
- // `name` is the name of the service.
+ // name is the name of the service.
// Required
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
- // `path` is an optional URL path which will be sent in any request to
+ // path is an optional URL path which will be sent in any request to
// this service.
// +optional
Path *string `json:"path,omitempty" protobuf:"bytes,3,opt,name=path"`
- // If specified, the port on the service that hosting webhook.
+ // port is the port on the service that hosts the webhook.
// Default to 443 for backward compatibility.
// `port` should be a valid port number (1-65535, inclusive).
// +optional
@@ -1209,7 +1547,7 @@ type ServiceReference struct {
// MatchCondition represents a condition which must by fulfilled for a request to be sent to a webhook.
type MatchCondition struct {
- // Name is an identifier for this match condition, used for strategic merging of MatchConditions,
+ // name is an identifier for this match condition, used for strategic merging of MatchConditions,
// as well as providing an identifier for logging purposes. A good name should be descriptive of
// the associated expression.
// Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and
@@ -1220,7 +1558,7 @@ type MatchCondition struct {
// Required.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
- // Expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
+ // expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
// CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
//
// 'object' - The object from the incoming request. The value is null for DELETE requests.
diff --git a/vendor/k8s.io/api/admissionregistration/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/admissionregistration/v1/types_swagger_doc_generated.go
index f43139505..182f8ad0f 100644
--- a/vendor/k8s.io/api/admissionregistration/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/admissionregistration/v1/types_swagger_doc_generated.go
@@ -27,6 +27,15 @@ package v1
// Those methods can be generated by using hack/update-codegen.sh
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
+var map_ApplyConfiguration = map[string]string{
+ "": "ApplyConfiguration defines the desired configuration values of an object.",
+ "expression": "expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec\n\nApply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field:\n\n\tObject{\n\t spec: Object.spec{\n\t serviceAccountName: \"example\"\n\t }\n\t}\n\nApply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration.\n\nCEL expressions have access to the object types needed to create apply configurations:\n\n- 'Object' - CEL type of the resource object. - 'Object.' - CEL type of object field (such as 'Object.spec') - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')\n\nCEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.",
+}
+
+func (ApplyConfiguration) SwaggerDoc() map[string]string {
+ return map_ApplyConfiguration
+}
+
var map_AuditAnnotation = map[string]string{
"": "AuditAnnotation describes how to produce an audit annotation for an API request.",
"key": "key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.\n\nThe key is combined with the resource name of the ValidatingAdmissionPolicy to construct an audit annotation key: \"{ValidatingAdmissionPolicy name}/{key}\".\n\nIf an admission webhook uses the same resource name as this ValidatingAdmissionPolicy and the same audit annotation key, the annotation key will be identical. In this case, the first annotation written with the key will be included in the audit event and all subsequent annotations with the same key will be discarded.\n\nRequired.",
@@ -39,18 +48,27 @@ func (AuditAnnotation) SwaggerDoc() map[string]string {
var map_ExpressionWarning = map[string]string{
"": "ExpressionWarning is a warning information that targets a specific expression.",
- "fieldRef": "The path to the field that refers the expression. For example, the reference to the expression of the first item of validations is \"spec.validations[0].expression\"",
- "warning": "The content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.",
+ "fieldRef": "fieldRef is the path to the field that refers to the expression. For example, the reference to the expression of the first item of validations is \"spec.validations[0].expression\"",
+ "warning": "warning contains the content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.",
}
func (ExpressionWarning) SwaggerDoc() map[string]string {
return map_ExpressionWarning
}
+var map_JSONPatch = map[string]string{
+ "": "JSONPatch defines a JSON Patch.",
+ "expression": "expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/). ref: https://github.com/google/cel-spec\n\nexpression must return an array of JSONPatch values.\n\nFor example, this CEL expression returns a JSON patch to conditionally modify a value:\n\n\t [\n\t JSONPatch{op: \"test\", path: \"/spec/example\", value: \"Red\"},\n\t JSONPatch{op: \"replace\", path: \"/spec/example\", value: \"Green\"}\n\t ]\n\nTo define an object for the patch value, use Object types. For example:\n\n\t [\n\t JSONPatch{\n\t op: \"add\",\n\t path: \"/spec/selector\",\n\t value: Object.spec.selector{matchLabels: {\"environment\": \"test\"}}\n\t }\n\t ]\n\nTo use strings containing '/' and '~' as JSONPatch path keys, use \"jsonpatch.escapeKey\". For example:\n\n\t [\n\t JSONPatch{\n\t op: \"add\",\n\t path: \"/metadata/labels/\" + jsonpatch.escapeKey(\"example.com/environment\"),\n\t value: \"test\"\n\t },\n\t ]\n\nCEL expressions have access to the types needed to create JSON patches and objects:\n\n- 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.\n See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,\n integer, array, map or object. If set, the 'path' and 'from' fields must be set to a\n [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL\n function may be used to escape path keys containing '/' and '~'.\n- 'Object' - CEL type of the resource object. - 'Object.' - CEL type of object field (such as 'Object.spec') - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')\n\nCEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nCEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries) as well as:\n\n- 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.",
+}
+
+func (JSONPatch) SwaggerDoc() map[string]string {
+ return map_JSONPatch
+}
+
var map_MatchCondition = map[string]string{
"": "MatchCondition represents a condition which must by fulfilled for a request to be sent to a webhook.",
- "name": "Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')\n\nRequired.",
- "expression": "Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:\n\n'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\nDocumentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/\n\nRequired.",
+ "name": "name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')\n\nRequired.",
+ "expression": "expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:\n\n'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\nDocumentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/\n\nRequired.",
}
func (MatchCondition) SwaggerDoc() map[string]string {
@@ -59,10 +77,10 @@ func (MatchCondition) SwaggerDoc() map[string]string {
var map_MatchResources = map[string]string{
"": "MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
- "namespaceSelector": "NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the policy on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
- "objectSelector": "ObjectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
- "resourceRules": "ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.",
- "excludeResourceRules": "ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
+ "namespaceSelector": "namespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the policy on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
+ "objectSelector": "objectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
+ "resourceRules": "resourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.",
+ "excludeResourceRules": "excludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
"matchPolicy": "matchPolicy defines how the \"MatchResources\" list is used to match incoming requests. Allowed values are \"Exact\" or \"Equivalent\".\n\n- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.\n\n- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.\n\nDefaults to \"Equivalent\"",
}
@@ -70,20 +88,86 @@ func (MatchResources) SwaggerDoc() map[string]string {
return map_MatchResources
}
+var map_MutatingAdmissionPolicy = map[string]string{
+ "": "MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the MutatingAdmissionPolicy.",
+}
+
+func (MutatingAdmissionPolicy) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicy
+}
+
+var map_MutatingAdmissionPolicyBinding = map[string]string{
+ "": "MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources. MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators configure policies for clusters.\n\nFor a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding. Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).\n\nAdding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the MutatingAdmissionPolicyBinding.",
+}
+
+func (MutatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicyBinding
+}
+
+var map_MutatingAdmissionPolicyBindingList = map[string]string{
+ "": "MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "items": "List of PolicyBinding.",
+}
+
+func (MutatingAdmissionPolicyBindingList) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicyBindingList
+}
+
+var map_MutatingAdmissionPolicyBindingSpec = map[string]string{
+ "": "MutatingAdmissionPolicyBindingSpec defines the specification of the MutatingAdmissionPolicyBinding.",
+ "policyName": "policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.",
+ "paramRef": "paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.",
+ "matchResources": "matchResources limits what resources match this binding and may be mutated by it. Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and matchConditions before the resource may be mutated. When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints and matchConditions must match for the resource to be mutated. Additionally, matchResources.resourceRules are optional and do not constraint matching when unset. Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT.",
+}
+
+func (MutatingAdmissionPolicyBindingSpec) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicyBindingSpec
+}
+
+var map_MutatingAdmissionPolicyList = map[string]string{
+ "": "MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "items": "List of ValidatingAdmissionPolicy.",
+}
+
+func (MutatingAdmissionPolicyList) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicyList
+}
+
+var map_MutatingAdmissionPolicySpec = map[string]string{
+ "": "MutatingAdmissionPolicySpec defines the desired behavior of the admission policy.",
+ "paramKind": "paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.",
+ "matchConstraints": "matchConstraints specifies what resources this policy is designed to validate. The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT. Required.",
+ "variables": "variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except matchConditions because matchConditions are evaluated before the rest of the policy.\n\nThe expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, variables must be sorted by the order of first appearance and acyclic.",
+ "mutations": "mutations contain operations to perform on matching objects. mutations may not be empty; a minimum of one mutation is required. mutations are evaluated in order, and are reinvoked according to the reinvocationPolicy. The mutations of a policy are invoked for each binding of this policy and reinvocation of mutations occurs on a per binding basis.",
+ "failurePolicy": "failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.\n\nA policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource.\n\nfailurePolicy does not define how validations that evaluate to false are handled.\n\nAllowed values are Ignore or Fail. Defaults to Fail.",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the matchConstraints. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nIf a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the policy is skipped",
+ "reinvocationPolicy": "reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are \"Never\" and \"IfNeeded\".\n\nNever: These mutations will not be called more than once per binding in a single admission evaluation.\n\nIfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required.",
+}
+
+func (MutatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicySpec
+}
+
var map_MutatingWebhook = map[string]string{
"": "MutatingWebhook describes an admission webhook and the resources and operations it applies to.",
- "name": "The name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where \"imagepolicy\" is the name of the webhook, and kubernetes.io is the name of the organization. Required.",
- "clientConfig": "ClientConfig defines how to communicate with the hook. Required",
- "rules": "Rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches _any_ Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.",
- "failurePolicy": "FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Fail.",
+ "name": "name is the name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where \"imagepolicy\" is the name of the webhook, and kubernetes.io is the name of the organization. Required.",
+ "clientConfig": "clientConfig defines how to communicate with the hook. Required",
+ "rules": "rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches _any_ Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.",
+ "failurePolicy": "failurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Fail.",
"matchPolicy": "matchPolicy defines how the \"rules\" list is used to match incoming requests. Allowed values are \"Exact\" or \"Equivalent\".\n\n- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.\n\n- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook.\n\nDefaults to \"Equivalent\"",
- "namespaceSelector": "NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
- "objectSelector": "ObjectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
- "sideEffects": "SideEffects states whether this webhook has side effects. Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown). Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some.",
- "timeoutSeconds": "TimeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 10 seconds.",
- "admissionReviewVersions": "AdmissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy.",
+ "namespaceSelector": "namespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
+ "objectSelector": "objectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
+ "sideEffects": "sideEffects states whether this webhook has side effects. Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown). Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some.",
+ "timeoutSeconds": "timeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 10 seconds.",
+ "admissionReviewVersions": "admissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy.",
"reinvocationPolicy": "reinvocationPolicy indicates whether this webhook should be called multiple times as part of a single admission evaluation. Allowed values are \"Never\" and \"IfNeeded\".\n\nNever: the webhook will not be called more than once in a single admission evaluation.\n\nIfNeeded: the webhook will be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial webhook call. Webhooks that specify this option *must* be idempotent, able to process objects they previously admitted. Note: * the number of additional invocations is not guaranteed to be exactly one. * if additional invocations result in further modifications to the object, webhooks are not guaranteed to be invoked again. * webhooks that use this option may be reordered to minimize the number of additional invocations. * to validate an object after all mutations are guaranteed complete, use a validating admission webhook instead.\n\nDefaults to \"Never\".",
- "matchConditions": "MatchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the webhook is called.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the error is ignored and the webhook is skipped",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the webhook is called.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the error is ignored and the webhook is skipped",
}
func (MutatingWebhook) SwaggerDoc() map[string]string {
@@ -92,8 +176,8 @@ func (MutatingWebhook) SwaggerDoc() map[string]string {
var map_MutatingWebhookConfiguration = map[string]string{
"": "MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "webhooks": "Webhooks is a list of webhooks and the affected resources and operations.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "webhooks": "webhooks is a list of webhooks and the affected resources and operations.",
}
func (MutatingWebhookConfiguration) SwaggerDoc() map[string]string {
@@ -102,7 +186,7 @@ func (MutatingWebhookConfiguration) SwaggerDoc() map[string]string {
var map_MutatingWebhookConfigurationList = map[string]string{
"": "MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of MutatingWebhookConfiguration.",
}
@@ -110,9 +194,20 @@ func (MutatingWebhookConfigurationList) SwaggerDoc() map[string]string {
return map_MutatingWebhookConfigurationList
}
+var map_Mutation = map[string]string{
+ "": "Mutation specifies the CEL expression which is used to apply the Mutation.",
+ "patchType": "patchType indicates the patch strategy used. Allowed values are \"ApplyConfiguration\" and \"JSONPatch\". Required.",
+ "applyConfiguration": "applyConfiguration defines the desired configuration values of an object. The configuration is applied to the admission object using [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff). A CEL expression is used to create apply configuration.",
+ "jsonPatch": "jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object. A CEL expression is used to create the JSON patch.",
+}
+
+func (Mutation) SwaggerDoc() map[string]string {
+ return map_Mutation
+}
+
var map_NamedRuleWithOperations = map[string]string{
"": "NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.",
- "resourceNames": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.",
+ "resourceNames": "resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.",
}
func (NamedRuleWithOperations) SwaggerDoc() map[string]string {
@@ -121,8 +216,8 @@ func (NamedRuleWithOperations) SwaggerDoc() map[string]string {
var map_ParamKind = map[string]string{
"": "ParamKind is a tuple of Group Kind and Version.",
- "apiVersion": "APIVersion is the API group version the resources belong to. In format of \"group/version\". Required.",
- "kind": "Kind is the API kind the resources belong to. Required.",
+ "apiVersion": "apiVersion is the API group version the resources belong to. In format of \"group/version\". Required.",
+ "kind": "kind is the API kind the resources belong to. Required.",
}
func (ParamKind) SwaggerDoc() map[string]string {
@@ -134,7 +229,7 @@ var map_ParamRef = map[string]string{
"name": "name is the name of the resource being referenced.\n\nOne of `name` or `selector` must be set, but `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.\n\nA single parameter used for all admission requests can be configured by setting the `name` field, leaving `selector` blank, and setting namespace if `paramKind` is namespace-scoped.",
"namespace": "namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.\n\nA per-namespace parameter may be used by specifying a namespace-scoped `paramKind` in the policy and leaving this field empty.\n\n- If `paramKind` is cluster-scoped, this field MUST be unset. Setting this field results in a configuration error.\n\n- If `paramKind` is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.",
"selector": "selector can be used to match multiple param objects based on their labels. Supply selector: {} to match all resources of the ParamKind.\n\nIf multiple params are found, they are all evaluated with the policy expressions and the results are ANDed together.\n\nOne of `name` or `selector` must be set, but `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.",
- "parameterNotFoundAction": "`parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.\n\nAllowed values are `Allow` or `Deny`\n\nRequired",
+ "parameterNotFoundAction": "parameterNotFoundAction controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.\n\nAllowed values are `Allow` or `Deny`\n\nRequired",
}
func (ParamRef) SwaggerDoc() map[string]string {
@@ -143,9 +238,9 @@ func (ParamRef) SwaggerDoc() map[string]string {
var map_Rule = map[string]string{
"": "Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended to make sure that all the tuple expansions are valid.",
- "apiGroups": "APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.",
- "apiVersions": "APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.",
- "resources": "Resources is a list of resources this rule applies to.\n\nFor example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.\n\nIf wildcard is present, the validation rule will ensure resources do not overlap with each other.\n\nDepending on the enclosing object, subresources might not be allowed. Required.",
+ "apiGroups": "apiGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.",
+ "apiVersions": "apiVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.",
+ "resources": "resources is a list of resources this rule applies to.\n\nFor example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.\n\nIf wildcard is present, the validation rule will ensure resources do not overlap with each other.\n\nDepending on the enclosing object, subresources might not be allowed. Required.",
"scope": "scope specifies the scope of this rule. Valid values are \"Cluster\", \"Namespaced\", and \"*\" \"Cluster\" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. \"Namespaced\" means that only namespaced resources will match this rule. \"*\" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is \"*\".",
}
@@ -155,7 +250,7 @@ func (Rule) SwaggerDoc() map[string]string {
var map_RuleWithOperations = map[string]string{
"": "RuleWithOperations is a tuple of Operations and Resources. It is recommended to make sure that all the tuple expansions are valid.",
- "operations": "Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.",
+ "operations": "operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.",
}
func (RuleWithOperations) SwaggerDoc() map[string]string {
@@ -164,10 +259,10 @@ func (RuleWithOperations) SwaggerDoc() map[string]string {
var map_ServiceReference = map[string]string{
"": "ServiceReference holds a reference to Service.legacy.k8s.io",
- "namespace": "`namespace` is the namespace of the service. Required",
- "name": "`name` is the name of the service. Required",
- "path": "`path` is an optional URL path which will be sent in any request to this service.",
- "port": "If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. `port` should be a valid port number (1-65535, inclusive).",
+ "namespace": "namespace is the namespace of the service. Required",
+ "name": "name is the name of the service. Required",
+ "path": "path is an optional URL path which will be sent in any request to this service.",
+ "port": "port is the port on the service that hosts the webhook. Default to 443 for backward compatibility. `port` should be a valid port number (1-65535, inclusive).",
}
func (ServiceReference) SwaggerDoc() map[string]string {
@@ -176,7 +271,7 @@ func (ServiceReference) SwaggerDoc() map[string]string {
var map_TypeChecking = map[string]string{
"": "TypeChecking contains results of type checking the expressions in the ValidatingAdmissionPolicy",
- "expressionWarnings": "The type checking warnings for each expression.",
+ "expressionWarnings": "expressionWarnings contains the type checking warnings for each expression.",
}
func (TypeChecking) SwaggerDoc() map[string]string {
@@ -185,9 +280,9 @@ func (TypeChecking) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicy = map[string]string{
"": "ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the ValidatingAdmissionPolicy.",
- "status": "The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy behaves in the expected way. Populated by the system. Read-only.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the ValidatingAdmissionPolicy.",
+ "status": "status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy behaves in the expected way. Populated by the system. Read-only.",
}
func (ValidatingAdmissionPolicy) SwaggerDoc() map[string]string {
@@ -196,8 +291,8 @@ func (ValidatingAdmissionPolicy) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBinding = map[string]string{
"": "ValidatingAdmissionPolicyBinding binds the ValidatingAdmissionPolicy with paramerized resources. ValidatingAdmissionPolicyBinding and parameter CRDs together define how cluster administrators configure policies for clusters.\n\nFor a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding.\n\nThe CEL expressions of a policy must have a computed CEL cost below the maximum CEL budget. Each evaluation of the policy is given an independent CEL cost budget. Adding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.",
}
func (ValidatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
@@ -206,7 +301,7 @@ func (ValidatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBindingList = map[string]string{
"": "ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of PolicyBinding.",
}
@@ -216,9 +311,9 @@ func (ValidatingAdmissionPolicyBindingList) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBindingSpec = map[string]string{
"": "ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.",
- "policyName": "PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.",
+ "policyName": "policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.",
"paramRef": "paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.",
- "matchResources": "MatchResources declares what resources match this binding and will be validated by it. Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this. If this is unset, all resources matched by the policy are validated by this binding When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated. Note that this is differs from ValidatingAdmissionPolicy matchConstraints, where resourceRules are required.",
+ "matchResources": "matchResources declares what resources match this binding and will be validated by it. Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this. If this is unset, all resources matched by the policy are validated by this binding When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated. Note that this is differs from ValidatingAdmissionPolicy matchConstraints, where resourceRules are required.",
"validationActions": "validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.\n\nFailures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according to these actions only if the FailurePolicy is set to Fail, otherwise the failures are ignored. This includes compilation errors, runtime errors and misconfigurations of the policy.\n\nvalidationActions is declared as a set of action values. Order does not matter. validationActions may not contain duplicates of the same action.\n\nThe supported actions values are:\n\n\"Deny\" specifies that a validation failure results in a denied request.\n\n\"Warn\" specifies that a validation failure is reported to the request client in HTTP Warning headers, with a warning code of 299. Warnings can be sent both for allowed or denied admission responses.\n\n\"Audit\" specifies that a validation failure is included in the published audit event for the request. The audit event will contain a `validation.policy.admission.k8s.io/validation_failure` audit annotation with a value containing the details of the validation failures, formatted as a JSON list of objects, each with the following fields: - message: The validation failure message string - policy: The resource name of the ValidatingAdmissionPolicy - binding: The resource name of the ValidatingAdmissionPolicyBinding - expressionIndex: The index of the failed validations in the ValidatingAdmissionPolicy - validationActions: The enforcement actions enacted for the validation failure Example audit annotation: `\"validation.policy.admission.k8s.io/validation_failure\": \"[{\"message\": \"Invalid value\", {\"policy\": \"policy.example.com\", {\"binding\": \"policybinding.example.com\", {\"expressionIndex\": \"1\", {\"validationActions\": [\"Audit\"]}]\"`\n\nClients should expect to handle additional values by ignoring any values not recognized.\n\n\"Deny\" and \"Warn\" may not be used together since this combination needlessly duplicates the validation failure both in the API response body and the HTTP warning headers.\n\nRequired.",
}
@@ -228,7 +323,7 @@ func (ValidatingAdmissionPolicyBindingSpec) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyList = map[string]string{
"": "ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of ValidatingAdmissionPolicy.",
}
@@ -238,13 +333,13 @@ func (ValidatingAdmissionPolicyList) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicySpec = map[string]string{
"": "ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.",
- "paramKind": "ParamKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.",
- "matchConstraints": "MatchConstraints specifies what resources this policy is designed to validate. The AdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding. Required.",
- "validations": "Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.",
+ "paramKind": "paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.",
+ "matchConstraints": "matchConstraints specifies what resources this policy is designed to validate. The AdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding. Required.",
+ "validations": "validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.",
"failurePolicy": "failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.\n\nA policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.\n\nfailurePolicy does not define how validations that evaluate to false are handled.\n\nWhen failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.\n\nAllowed values are Ignore or Fail. Defaults to Fail.",
"auditAnnotations": "auditAnnotations contains CEL expressions which are used to produce audit annotations for the audit event of the API request. validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is required.",
- "matchConditions": "MatchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nIf a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the policy is skipped",
- "variables": "Variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except MatchConditions because MatchConditions are evaluated before the rest of the policy.\n\nThe expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, Variables must be sorted by the order of first appearance and acyclic.",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nIf a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the policy is skipped",
+ "variables": "variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except MatchConditions because MatchConditions are evaluated before the rest of the policy.\n\nThe expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, Variables must be sorted by the order of first appearance and acyclic.",
}
func (ValidatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
@@ -253,9 +348,9 @@ func (ValidatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyStatus = map[string]string{
"": "ValidatingAdmissionPolicyStatus represents the status of an admission validation policy.",
- "observedGeneration": "The generation observed by the controller.",
- "typeChecking": "The results of type checking for each expression. Presence of this field indicates the completion of the type checking.",
- "conditions": "The conditions represent the latest available observations of a policy's current state.",
+ "observedGeneration": "observedGeneration is the generation observed by the controller.",
+ "typeChecking": "typeChecking contains the results of type checking for each expression. Presence of this field indicates the completion of the type checking.",
+ "conditions": "conditions represent the latest available observations of a policy's current state.",
}
func (ValidatingAdmissionPolicyStatus) SwaggerDoc() map[string]string {
@@ -264,17 +359,17 @@ func (ValidatingAdmissionPolicyStatus) SwaggerDoc() map[string]string {
var map_ValidatingWebhook = map[string]string{
"": "ValidatingWebhook describes an admission webhook and the resources and operations it applies to.",
- "name": "The name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where \"imagepolicy\" is the name of the webhook, and kubernetes.io is the name of the organization. Required.",
- "clientConfig": "ClientConfig defines how to communicate with the hook. Required",
- "rules": "Rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches _any_ Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.",
- "failurePolicy": "FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Fail.",
+ "name": "name is the name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where \"imagepolicy\" is the name of the webhook, and kubernetes.io is the name of the organization. Required.",
+ "clientConfig": "clientConfig defines how to communicate with the hook. Required",
+ "rules": "rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches _any_ Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.",
+ "failurePolicy": "failurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Fail.",
"matchPolicy": "matchPolicy defines how the \"rules\" list is used to match incoming requests. Allowed values are \"Exact\" or \"Equivalent\".\n\n- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.\n\n- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook.\n\nDefaults to \"Equivalent\"",
- "namespaceSelector": "NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
- "objectSelector": "ObjectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
- "sideEffects": "SideEffects states whether this webhook has side effects. Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown). Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some.",
- "timeoutSeconds": "TimeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 10 seconds.",
- "admissionReviewVersions": "AdmissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy.",
- "matchConditions": "MatchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the webhook is called.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the error is ignored and the webhook is skipped",
+ "namespaceSelector": "namespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
+ "objectSelector": "objectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
+ "sideEffects": "sideEffects states whether this webhook has side effects. Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown). Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some.",
+ "timeoutSeconds": "timeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 10 seconds.",
+ "admissionReviewVersions": "admissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy.",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the webhook is called.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the error is ignored and the webhook is skipped",
}
func (ValidatingWebhook) SwaggerDoc() map[string]string {
@@ -283,8 +378,8 @@ func (ValidatingWebhook) SwaggerDoc() map[string]string {
var map_ValidatingWebhookConfiguration = map[string]string{
"": "ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "webhooks": "Webhooks is a list of webhooks and the affected resources and operations.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "webhooks": "webhooks is a list of webhooks and the affected resources and operations.",
}
func (ValidatingWebhookConfiguration) SwaggerDoc() map[string]string {
@@ -293,7 +388,7 @@ func (ValidatingWebhookConfiguration) SwaggerDoc() map[string]string {
var map_ValidatingWebhookConfigurationList = map[string]string{
"": "ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of ValidatingWebhookConfiguration.",
}
@@ -303,9 +398,9 @@ func (ValidatingWebhookConfigurationList) SwaggerDoc() map[string]string {
var map_Validation = map[string]string{
"": "Validation specifies the CEL expression which is used to apply the validation.",
- "expression": "Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", \"const\", \"continue\", \"else\", \"for\", \"function\", \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", \"return\".\nExamples:\n - Expression accessing a property named \"namespace\": {\"Expression\": \"object.__namespace__ > 0\"}\n - Expression accessing a property named \"x-prop\": {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression accessing a property named \"redact__d\": {\"Expression\": \"object.redact__underscores__d > 0\"}\n\nEquality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:\n - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and\n non-intersecting elements in `Y` are appended, retaining their partial order.\n - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values\n are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with\n non-intersecting keys are appended, retaining their partial order.\nRequired.",
- "message": "Message represents the message displayed when validation fails. The message is required if the Expression contains line breaks. The message must not contain line breaks. If unset, the message is \"failed rule: {Rule}\". e.g. \"must be a URL with the host matching spec.host\" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is \"failed Expression: {Expression}\".",
- "reason": "Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: \"Unauthorized\", \"Forbidden\", \"Invalid\", \"RequestEntityTooLarge\". If not set, StatusReasonInvalid is used in the response to the client.",
+ "expression": "expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", \"const\", \"continue\", \"else\", \"for\", \"function\", \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", \"return\".\nExamples:\n - Expression accessing a property named \"namespace\": {\"Expression\": \"object.__namespace__ > 0\"}\n - Expression accessing a property named \"x-prop\": {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression accessing a property named \"redact__d\": {\"Expression\": \"object.redact__underscores__d > 0\"}\n\nEquality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:\n - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and\n non-intersecting elements in `Y` are appended, retaining their partial order.\n - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values\n are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with\n non-intersecting keys are appended, retaining their partial order.\nRequired.",
+ "message": "message represents the message displayed when validation fails. The message is required if the Expression contains line breaks. The message must not contain line breaks. If unset, the message is \"failed rule: {Rule}\". e.g. \"must be a URL with the host matching spec.host\" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is \"failed Expression: {Expression}\".",
+ "reason": "reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: \"Unauthorized\", \"Forbidden\", \"Invalid\", \"RequestEntityTooLarge\". If not set, StatusReasonInvalid is used in the response to the client.",
"messageExpression": "messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: \"object.x must be less than max (\"+string(params.max)+\")\"",
}
@@ -315,8 +410,8 @@ func (Validation) SwaggerDoc() map[string]string {
var map_Variable = map[string]string{
"": "Variable is the definition of a variable that is used for composition. A variable is defined as a named expression.",
- "name": "Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is \"foo\", the variable will be available as `variables.foo`",
- "expression": "Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.",
+ "name": "name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is \"foo\", the variable will be available as `variables.foo`",
+ "expression": "expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.",
}
func (Variable) SwaggerDoc() map[string]string {
@@ -325,9 +420,9 @@ func (Variable) SwaggerDoc() map[string]string {
var map_WebhookClientConfig = map[string]string{
"": "WebhookClientConfig contains the information to make a TLS connection with the webhook",
- "url": "`url` gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified.\n\nThe `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.\n\nPlease note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.\n\nThe scheme must be \"https\"; the URL must begin with \"https://\".\n\nA path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.\n\nAttempting to use a user or basic auth e.g. \"user:password@\" is not allowed. Fragments (\"#...\") and query parameters (\"?...\") are not allowed, either.",
- "service": "`service` is a reference to the service for this webhook. Either `service` or `url` must be specified.\n\nIf the webhook is running within the cluster, then you should use `service`.",
- "caBundle": "`caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.",
+ "url": "url gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified.\n\nThe `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.\n\nPlease note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.\n\nThe scheme must be \"https\"; the URL must begin with \"https://\".\n\nA path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.\n\nAttempting to use a user or basic auth e.g. \"user:password@\" is not allowed. Fragments (\"#...\") and query parameters (\"?...\") are not allowed, either.",
+ "service": "service is a reference to the service for this webhook. Either `service` or `url` must be specified.\n\nIf the webhook is running within the cluster, then you should use `service`.",
+ "caBundle": "caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.",
}
func (WebhookClientConfig) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/admissionregistration/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/admissionregistration/v1/zz_generated.deepcopy.go
index bfe599c1d..afdbfd914 100644
--- a/vendor/k8s.io/api/admissionregistration/v1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/admissionregistration/v1/zz_generated.deepcopy.go
@@ -26,6 +26,22 @@ import (
runtime "k8s.io/apimachinery/pkg/runtime"
)
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ApplyConfiguration) DeepCopyInto(out *ApplyConfiguration) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplyConfiguration.
+func (in *ApplyConfiguration) DeepCopy() *ApplyConfiguration {
+ if in == nil {
+ return nil
+ }
+ out := new(ApplyConfiguration)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AuditAnnotation) DeepCopyInto(out *AuditAnnotation) {
*out = *in
@@ -58,6 +74,22 @@ func (in *ExpressionWarning) DeepCopy() *ExpressionWarning {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *JSONPatch) DeepCopyInto(out *JSONPatch) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatch.
+func (in *JSONPatch) DeepCopy() *JSONPatch {
+ if in == nil {
+ return nil
+ }
+ out := new(JSONPatch)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MatchCondition) DeepCopyInto(out *MatchCondition) {
*out = *in
@@ -119,6 +151,200 @@ func (in *MatchResources) DeepCopy() *MatchResources {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicy) DeepCopyInto(out *MutatingAdmissionPolicy) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicy.
+func (in *MutatingAdmissionPolicy) DeepCopy() *MutatingAdmissionPolicy {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicy)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MutatingAdmissionPolicy) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicyBinding) DeepCopyInto(out *MutatingAdmissionPolicyBinding) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicyBinding.
+func (in *MutatingAdmissionPolicyBinding) DeepCopy() *MutatingAdmissionPolicyBinding {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicyBinding)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MutatingAdmissionPolicyBinding) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicyBindingList) DeepCopyInto(out *MutatingAdmissionPolicyBindingList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]MutatingAdmissionPolicyBinding, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicyBindingList.
+func (in *MutatingAdmissionPolicyBindingList) DeepCopy() *MutatingAdmissionPolicyBindingList {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicyBindingList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MutatingAdmissionPolicyBindingList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicyBindingSpec) DeepCopyInto(out *MutatingAdmissionPolicyBindingSpec) {
+ *out = *in
+ if in.ParamRef != nil {
+ in, out := &in.ParamRef, &out.ParamRef
+ *out = new(ParamRef)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.MatchResources != nil {
+ in, out := &in.MatchResources, &out.MatchResources
+ *out = new(MatchResources)
+ (*in).DeepCopyInto(*out)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicyBindingSpec.
+func (in *MutatingAdmissionPolicyBindingSpec) DeepCopy() *MutatingAdmissionPolicyBindingSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicyBindingSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicyList) DeepCopyInto(out *MutatingAdmissionPolicyList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]MutatingAdmissionPolicy, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicyList.
+func (in *MutatingAdmissionPolicyList) DeepCopy() *MutatingAdmissionPolicyList {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicyList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MutatingAdmissionPolicyList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicySpec) DeepCopyInto(out *MutatingAdmissionPolicySpec) {
+ *out = *in
+ if in.ParamKind != nil {
+ in, out := &in.ParamKind, &out.ParamKind
+ *out = new(ParamKind)
+ **out = **in
+ }
+ if in.MatchConstraints != nil {
+ in, out := &in.MatchConstraints, &out.MatchConstraints
+ *out = new(MatchResources)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.Variables != nil {
+ in, out := &in.Variables, &out.Variables
+ *out = make([]Variable, len(*in))
+ copy(*out, *in)
+ }
+ if in.Mutations != nil {
+ in, out := &in.Mutations, &out.Mutations
+ *out = make([]Mutation, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.FailurePolicy != nil {
+ in, out := &in.FailurePolicy, &out.FailurePolicy
+ *out = new(FailurePolicyType)
+ **out = **in
+ }
+ if in.MatchConditions != nil {
+ in, out := &in.MatchConditions, &out.MatchConditions
+ *out = make([]MatchCondition, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicySpec.
+func (in *MutatingAdmissionPolicySpec) DeepCopy() *MutatingAdmissionPolicySpec {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicySpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MutatingWebhook) DeepCopyInto(out *MutatingWebhook) {
*out = *in
@@ -254,6 +480,32 @@ func (in *MutatingWebhookConfigurationList) DeepCopyObject() runtime.Object {
return nil
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *Mutation) DeepCopyInto(out *Mutation) {
+ *out = *in
+ if in.ApplyConfiguration != nil {
+ in, out := &in.ApplyConfiguration, &out.ApplyConfiguration
+ *out = new(ApplyConfiguration)
+ **out = **in
+ }
+ if in.JSONPatch != nil {
+ in, out := &in.JSONPatch, &out.JSONPatch
+ *out = new(JSONPatch)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mutation.
+func (in *Mutation) DeepCopy() *Mutation {
+ if in == nil {
+ return nil
+ }
+ out := new(Mutation)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NamedRuleWithOperations) DeepCopyInto(out *NamedRuleWithOperations) {
*out = *in
diff --git a/vendor/k8s.io/api/admissionregistration/v1/zz_generated.model_name.go b/vendor/k8s.io/api/admissionregistration/v1/zz_generated.model_name.go
index 3264285cd..b7baac8d1 100644
--- a/vendor/k8s.io/api/admissionregistration/v1/zz_generated.model_name.go
+++ b/vendor/k8s.io/api/admissionregistration/v1/zz_generated.model_name.go
@@ -21,6 +21,11 @@ limitations under the License.
package v1
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in ApplyConfiguration) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.ApplyConfiguration"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in AuditAnnotation) OpenAPIModelName() string {
return "io.k8s.api.admissionregistration.v1.AuditAnnotation"
@@ -31,6 +36,11 @@ func (in ExpressionWarning) OpenAPIModelName() string {
return "io.k8s.api.admissionregistration.v1.ExpressionWarning"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in JSONPatch) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.JSONPatch"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in MatchCondition) OpenAPIModelName() string {
return "io.k8s.api.admissionregistration.v1.MatchCondition"
@@ -41,6 +51,36 @@ func (in MatchResources) OpenAPIModelName() string {
return "io.k8s.api.admissionregistration.v1.MatchResources"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in MutatingAdmissionPolicy) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.MutatingAdmissionPolicy"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in MutatingAdmissionPolicyBinding) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.MutatingAdmissionPolicyBinding"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in MutatingAdmissionPolicyBindingList) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.MutatingAdmissionPolicyBindingList"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in MutatingAdmissionPolicyBindingSpec) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.MutatingAdmissionPolicyBindingSpec"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in MutatingAdmissionPolicyList) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.MutatingAdmissionPolicyList"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in MutatingAdmissionPolicySpec) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.MutatingAdmissionPolicySpec"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in MutatingWebhook) OpenAPIModelName() string {
return "io.k8s.api.admissionregistration.v1.MutatingWebhook"
@@ -56,6 +96,11 @@ func (in MutatingWebhookConfigurationList) OpenAPIModelName() string {
return "io.k8s.api.admissionregistration.v1.MutatingWebhookConfigurationList"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in Mutation) OpenAPIModelName() string {
+ return "io.k8s.api.admissionregistration.v1.Mutation"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in NamedRuleWithOperations) OpenAPIModelName() string {
return "io.k8s.api.admissionregistration.v1.NamedRuleWithOperations"
diff --git a/vendor/k8s.io/api/admissionregistration/v1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/admissionregistration/v1/zz_generated.prerelease-lifecycle.go
index 0862bb1f2..5fde55f15 100644
--- a/vendor/k8s.io/api/admissionregistration/v1/zz_generated.prerelease-lifecycle.go
+++ b/vendor/k8s.io/api/admissionregistration/v1/zz_generated.prerelease-lifecycle.go
@@ -21,6 +21,30 @@ limitations under the License.
package v1
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *MutatingAdmissionPolicy) APILifecycleIntroduced() (major, minor int) {
+ return 1, 36
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *MutatingAdmissionPolicyBinding) APILifecycleIntroduced() (major, minor int) {
+ return 1, 36
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *MutatingAdmissionPolicyBindingList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 36
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *MutatingAdmissionPolicyList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 36
+}
+
// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
func (in *MutatingWebhookConfiguration) APILifecycleIntroduced() (major, minor int) {
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto b/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
index d23f21cc8..8802ac92d 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
@@ -113,12 +113,12 @@ message AuditAnnotation {
// ExpressionWarning is a warning information that targets a specific expression.
message ExpressionWarning {
- // The path to the field that refers the expression.
+ // fieldRef is the path to the field that refers to the expression.
// For example, the reference to the expression of the first item of
// validations is "spec.validations[0].expression"
optional string fieldRef = 2;
- // The content of type checking information in a human-readable form.
+ // warning contains the content of type checking information in a human-readable form.
// Each line of the warning contains the type that the expression is checked
// against, followed by the type check error from the compiler.
optional string warning = 3;
@@ -194,7 +194,7 @@ message JSONPatch {
}
message MatchCondition {
- // Name is an identifier for this match condition, used for strategic merging of MatchConditions,
+ // name is an identifier for this match condition, used for strategic merging of MatchConditions,
// as well as providing an identifier for logging purposes. A good name should be descriptive of
// the associated expression.
// Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and
@@ -205,7 +205,7 @@ message MatchCondition {
// Required.
optional string name = 1;
- // Expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
+ // expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
// CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
//
// 'object' - The object from the incoming request. The value is null for DELETE requests.
@@ -226,7 +226,7 @@ message MatchCondition {
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +structType=atomic
message MatchResources {
- // NamespaceSelector decides whether to run the admission control policy on an object based
+ // namespaceSelector decides whether to run the admission control policy on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -272,7 +272,7 @@ message MatchResources {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1;
- // ObjectSelector decides whether to run the policy based on if the
+ // objectSelector decides whether to run the policy based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the policy's expression (CEL), and
// is considered to match if either object matches the selector. A null
@@ -286,13 +286,13 @@ message MatchResources {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2;
- // ResourceRules describes what operations on what resources/subresources the admission policy matches.
+ // resourceRules describes what operations on what resources/subresources the admission policy matches.
// The policy cares about an operation if it matches _any_ Rule.
// +listType=atomic
// +optional
repeated NamedRuleWithOperations resourceRules = 3;
- // ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about.
+ // excludeResourceRules describes what operations on what resources/subresources the policy should not care about.
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +listType=atomic
// +optional
@@ -319,11 +319,11 @@ message MatchResources {
// MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
message MutatingAdmissionPolicy {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the MutatingAdmissionPolicy.
+ // spec defines the desired behavior of the MutatingAdmissionPolicy.
optional MutatingAdmissionPolicySpec spec = 2;
}
@@ -339,17 +339,17 @@ message MutatingAdmissionPolicy {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
message MutatingAdmissionPolicyBinding {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the MutatingAdmissionPolicyBinding.
optional MutatingAdmissionPolicyBindingSpec spec = 2;
}
// MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.
message MutatingAdmissionPolicyBindingList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -387,7 +387,7 @@ message MutatingAdmissionPolicyBindingSpec {
// MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.
message MutatingAdmissionPolicyList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -507,7 +507,7 @@ message Mutation {
// NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
// +structType=atomic
message NamedRuleWithOperations {
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
// +listType=atomic
// +optional
repeated string resourceNames = 1;
@@ -519,12 +519,12 @@ message NamedRuleWithOperations {
// ParamKind is a tuple of Group Kind and Version.
// +structType=atomic
message ParamKind {
- // APIVersion is the API group version the resources belong to.
+ // apiVersion is the API group version the resources belong to.
// In format of "group/version".
// Required.
optional string apiVersion = 1;
- // Kind is the API kind the resources belong to.
+ // kind is the API kind the resources belong to.
// Required.
optional string kind = 2;
}
@@ -533,7 +533,7 @@ message ParamKind {
// expressions of rules applied by a policy binding.
// +structType=atomic
message ParamRef {
- // `name` is the name of the resource being referenced.
+ // name is the name of the resource being referenced.
//
// `name` and `selector` are mutually exclusive properties. If one is set,
// the other must be unset.
@@ -571,7 +571,7 @@ message ParamRef {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
- // `parameterNotFoundAction` controls the behavior of the binding when the resource
+ // parameterNotFoundAction controls the behavior of the binding when the resource
// exists, and name or selector is valid, but there are no parameters
// matched by the binding. If the value is set to `Allow`, then no
// matched parameters will be treated as successful validation by the binding.
@@ -587,22 +587,23 @@ message ParamRef {
// TypeChecking contains results of type checking the expressions in the
// ValidatingAdmissionPolicy
message TypeChecking {
- // The type checking warnings for each expression.
+ // expressionWarnings contains the type checking warnings for each expression.
// +optional
// +listType=atomic
repeated ExpressionWarning expressionWarnings = 1;
}
// ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
+// +k8s:supportsSubresource="/status"
message ValidatingAdmissionPolicy {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the ValidatingAdmissionPolicy.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicy.
optional ValidatingAdmissionPolicySpec spec = 2;
- // The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
+ // status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
// behaves in the expected way.
// Populated by the system.
// Read-only.
@@ -622,17 +623,18 @@ message ValidatingAdmissionPolicy {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
message ValidatingAdmissionPolicyBinding {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // +required
optional ValidatingAdmissionPolicyBindingSpec spec = 2;
}
// ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.
message ValidatingAdmissionPolicyBindingList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -643,9 +645,11 @@ message ValidatingAdmissionPolicyBindingList {
// ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.
message ValidatingAdmissionPolicyBindingSpec {
- // PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
+ // policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
// If the referenced resource does not exist, this binding is considered invalid and will be ignored
// Required.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string policyName = 1;
// paramRef specifies the parameter resource used to configure the admission control policy.
@@ -655,7 +659,7 @@ message ValidatingAdmissionPolicyBindingSpec {
// +optional
optional ParamRef paramRef = 2;
- // MatchResources declares what resources match this binding and will be validated by it.
+ // matchResources declares what resources match this binding and will be validated by it.
// Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this.
// If this is unset, all resources matched by the policy are validated by this binding
// When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated.
@@ -703,12 +707,14 @@ message ValidatingAdmissionPolicyBindingSpec {
//
// Required.
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
repeated string validationActions = 4;
}
// ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.
message ValidatingAdmissionPolicyList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -719,21 +725,21 @@ message ValidatingAdmissionPolicyList {
// ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.
message ValidatingAdmissionPolicySpec {
- // ParamKind specifies the kind of resources used to parameterize this policy.
+ // paramKind specifies the kind of resources used to parameterize this policy.
// If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
// If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
// If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.
// +optional
optional ParamKind paramKind = 1;
- // MatchConstraints specifies what resources this policy is designed to validate.
+ // matchConstraints specifies what resources this policy is designed to validate.
// The AdmissionPolicy cares about a request if it matches _all_ Constraints.
// However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
// ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding.
// Required.
optional MatchResources matchConstraints = 2;
- // Validations contain CEL expressions which is used to apply the validation.
+ // validations contain CEL expressions which is used to apply the validation.
// Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is
// required.
// +listType=atomic
@@ -764,7 +770,7 @@ message ValidatingAdmissionPolicySpec {
// +optional
repeated AuditAnnotation auditAnnotations = 5;
- // MatchConditions is a list of conditions that must be met for a request to be validated.
+ // matchConditions is a list of conditions that must be met for a request to be validated.
// Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -786,7 +792,7 @@ message ValidatingAdmissionPolicySpec {
// +optional
repeated MatchCondition matchConditions = 6;
- // Variables contain definitions of variables that can be used in composition of other expressions.
+ // variables contain definitions of variables that can be used in composition of other expressions.
// Each variable is defined as a named CEL expression.
// The variables defined here will be available under `variables` in other expressions of the policy
// except MatchConditions because MatchConditions are evaluated before the rest of the policy.
@@ -803,25 +809,28 @@ message ValidatingAdmissionPolicySpec {
// ValidatingAdmissionPolicyStatus represents the status of a ValidatingAdmissionPolicy.
message ValidatingAdmissionPolicyStatus {
- // The generation observed by the controller.
+ // observedGeneration is the generation observed by the controller.
// +optional
optional int64 observedGeneration = 1;
- // The results of type checking for each expression.
+ // typeChecking contains the results of type checking for each expression.
// Presence of this field indicates the completion of the type checking.
// +optional
optional TypeChecking typeChecking = 2;
- // The conditions represent the latest available observations of a policy's current state.
+ // conditions represent the latest available observations of a policy's current state.
// +optional
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 3;
}
// Validation specifies the CEL expression which is used to apply the validation.
message Validation {
- // Expression represents the expression which will be evaluated by CEL.
+ // expression represents the expression which will be evaluated by CEL.
// ref: https://github.com/google/cel-spec
// CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
//
@@ -864,7 +873,7 @@ message Validation {
// Required.
optional string Expression = 1;
- // Message represents the message displayed when validation fails. The message is required if the Expression contains
+ // message represents the message displayed when validation fails. The message is required if the Expression contains
// line breaks. The message must not contain line breaks.
// If unset, the message is "failed rule: {Rule}".
// e.g. "must be a URL with the host matching spec.host"
@@ -874,7 +883,7 @@ message Validation {
// +optional
optional string message = 2;
- // Reason represents a machine-readable description of why this validation failed.
+ // reason represents a machine-readable description of why this validation failed.
// If this is the first validation in the list to fail, this reason, as well as the
// corresponding HTTP response code, are used in the
// HTTP response to the client.
@@ -899,12 +908,12 @@ message Validation {
// Variable is the definition of a variable that is used for composition.
message Variable {
- // Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
+ // name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
// The variable can be accessed in other expressions through `variables`
// For example, if name is "foo", the variable will be available as `variables.foo`
optional string Name = 1;
- // Expression is the expression that will be evaluated as the value of the variable.
+ // expression is the expression that will be evaluated as the value of the variable.
// The CEL expression has access to the same identifiers as the CEL expressions in Validation.
optional string Expression = 2;
}
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.protomessage.pb.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.protomessage.pb.go
deleted file mode 100644
index 651a01f0b..000000000
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,74 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1alpha1
-
-func (*ApplyConfiguration) ProtoMessage() {}
-
-func (*AuditAnnotation) ProtoMessage() {}
-
-func (*ExpressionWarning) ProtoMessage() {}
-
-func (*JSONPatch) ProtoMessage() {}
-
-func (*MatchCondition) ProtoMessage() {}
-
-func (*MatchResources) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicy) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicyBinding) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicyBindingList) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicyBindingSpec) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicyList) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicySpec) ProtoMessage() {}
-
-func (*Mutation) ProtoMessage() {}
-
-func (*NamedRuleWithOperations) ProtoMessage() {}
-
-func (*ParamKind) ProtoMessage() {}
-
-func (*ParamRef) ProtoMessage() {}
-
-func (*TypeChecking) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicy) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBinding) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBindingList) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBindingSpec) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyList) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicySpec) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyStatus) ProtoMessage() {}
-
-func (*Validation) ProtoMessage() {}
-
-func (*Variable) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/types.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/types.go
index 459f7944c..39ff0abdc 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/types.go
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/types.go
@@ -81,14 +81,15 @@ const (
// +k8s:prerelease-lifecycle-gen:introduced=1.26
// ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
+// +k8s:supportsSubresource="/status"
type ValidatingAdmissionPolicy struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the ValidatingAdmissionPolicy.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicy.
Spec ValidatingAdmissionPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
- // The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
+ // status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
// behaves in the expected way.
// Populated by the system.
// Read-only.
@@ -98,24 +99,27 @@ type ValidatingAdmissionPolicy struct {
// ValidatingAdmissionPolicyStatus represents the status of a ValidatingAdmissionPolicy.
type ValidatingAdmissionPolicyStatus struct {
- // The generation observed by the controller.
+ // observedGeneration is the generation observed by the controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
- // The results of type checking for each expression.
+ // typeChecking contains the results of type checking for each expression.
// Presence of this field indicates the completion of the type checking.
// +optional
TypeChecking *TypeChecking `json:"typeChecking,omitempty" protobuf:"bytes,2,opt,name=typeChecking"`
- // The conditions represent the latest available observations of a policy's current state.
+ // conditions represent the latest available observations of a policy's current state.
// +optional
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}
// TypeChecking contains results of type checking the expressions in the
// ValidatingAdmissionPolicy
type TypeChecking struct {
- // The type checking warnings for each expression.
+ // expressionWarnings contains the type checking warnings for each expression.
// +optional
// +listType=atomic
ExpressionWarnings []ExpressionWarning `json:"expressionWarnings,omitempty" protobuf:"bytes,1,rep,name=expressionWarnings"`
@@ -123,11 +127,11 @@ type TypeChecking struct {
// ExpressionWarning is a warning information that targets a specific expression.
type ExpressionWarning struct {
- // The path to the field that refers the expression.
+ // fieldRef is the path to the field that refers to the expression.
// For example, the reference to the expression of the first item of
// validations is "spec.validations[0].expression"
FieldRef string `json:"fieldRef" protobuf:"bytes,2,opt,name=fieldRef"`
- // The content of type checking information in a human-readable form.
+ // warning contains the content of type checking information in a human-readable form.
// Each line of the warning contains the type that the expression is checked
// against, followed by the type check error from the compiler.
Warning string `json:"warning" protobuf:"bytes,3,opt,name=warning"`
@@ -138,8 +142,8 @@ type ExpressionWarning struct {
// ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.
type ValidatingAdmissionPolicyList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -149,21 +153,21 @@ type ValidatingAdmissionPolicyList struct {
// ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.
type ValidatingAdmissionPolicySpec struct {
- // ParamKind specifies the kind of resources used to parameterize this policy.
+ // paramKind specifies the kind of resources used to parameterize this policy.
// If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
// If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
// If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.
// +optional
ParamKind *ParamKind `json:"paramKind,omitempty" protobuf:"bytes,1,rep,name=paramKind"`
- // MatchConstraints specifies what resources this policy is designed to validate.
+ // matchConstraints specifies what resources this policy is designed to validate.
// The AdmissionPolicy cares about a request if it matches _all_ Constraints.
// However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
// ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding.
// Required.
MatchConstraints *MatchResources `json:"matchConstraints,omitempty" protobuf:"bytes,2,rep,name=matchConstraints"`
- // Validations contain CEL expressions which is used to apply the validation.
+ // validations contain CEL expressions which is used to apply the validation.
// Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is
// required.
// +listType=atomic
@@ -194,7 +198,7 @@ type ValidatingAdmissionPolicySpec struct {
// +optional
AuditAnnotations []AuditAnnotation `json:"auditAnnotations,omitempty" protobuf:"bytes,5,rep,name=auditAnnotations"`
- // MatchConditions is a list of conditions that must be met for a request to be validated.
+ // matchConditions is a list of conditions that must be met for a request to be validated.
// Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -216,7 +220,7 @@ type ValidatingAdmissionPolicySpec struct {
// +optional
MatchConditions []MatchCondition `json:"matchConditions,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,rep,name=matchConditions"`
- // Variables contain definitions of variables that can be used in composition of other expressions.
+ // variables contain definitions of variables that can be used in composition of other expressions.
// Each variable is defined as a named CEL expression.
// The variables defined here will be available under `variables` in other expressions of the policy
// except MatchConditions because MatchConditions are evaluated before the rest of the policy.
@@ -236,19 +240,19 @@ type MatchCondition v1.MatchCondition
// ParamKind is a tuple of Group Kind and Version.
// +structType=atomic
type ParamKind struct {
- // APIVersion is the API group version the resources belong to.
+ // apiVersion is the API group version the resources belong to.
// In format of "group/version".
// Required.
APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,1,rep,name=apiVersion"`
- // Kind is the API kind the resources belong to.
+ // kind is the API kind the resources belong to.
// Required.
Kind string `json:"kind,omitempty" protobuf:"bytes,2,rep,name=kind"`
}
// Validation specifies the CEL expression which is used to apply the validation.
type Validation struct {
- // Expression represents the expression which will be evaluated by CEL.
+ // expression represents the expression which will be evaluated by CEL.
// ref: https://github.com/google/cel-spec
// CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
//
@@ -290,7 +294,7 @@ type Validation struct {
// non-intersecting keys are appended, retaining their partial order.
// Required.
Expression string `json:"expression" protobuf:"bytes,1,opt,name=Expression"`
- // Message represents the message displayed when validation fails. The message is required if the Expression contains
+ // message represents the message displayed when validation fails. The message is required if the Expression contains
// line breaks. The message must not contain line breaks.
// If unset, the message is "failed rule: {Rule}".
// e.g. "must be a URL with the host matching spec.host"
@@ -299,7 +303,7 @@ type Validation struct {
// If unset, the message is "failed Expression: {Expression}".
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"`
- // Reason represents a machine-readable description of why this validation failed.
+ // reason represents a machine-readable description of why this validation failed.
// If this is the first validation in the list to fail, this reason, as well as the
// corresponding HTTP response code, are used in the
// HTTP response to the client.
@@ -323,12 +327,12 @@ type Validation struct {
// Variable is the definition of a variable that is used for composition.
type Variable struct {
- // Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
+ // name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
// The variable can be accessed in other expressions through `variables`
// For example, if name is "foo", the variable will be available as `variables.foo`
Name string `json:"name" protobuf:"bytes,1,opt,name=Name"`
- // Expression is the expression that will be evaluated as the value of the variable.
+ // expression is the expression that will be evaluated as the value of the variable.
// The CEL expression has access to the same identifiers as the CEL expressions in Validation.
Expression string `json:"expression" protobuf:"bytes,2,opt,name=Expression"`
}
@@ -387,11 +391,12 @@ type AuditAnnotation struct {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
type ValidatingAdmissionPolicyBinding struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // +required
Spec ValidatingAdmissionPolicyBindingSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
@@ -400,8 +405,8 @@ type ValidatingAdmissionPolicyBinding struct {
// ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.
type ValidatingAdmissionPolicyBindingList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -411,9 +416,11 @@ type ValidatingAdmissionPolicyBindingList struct {
// ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.
type ValidatingAdmissionPolicyBindingSpec struct {
- // PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
+ // policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
// If the referenced resource does not exist, this binding is considered invalid and will be ignored
// Required.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
PolicyName string `json:"policyName,omitempty" protobuf:"bytes,1,rep,name=policyName"`
// paramRef specifies the parameter resource used to configure the admission control policy.
@@ -423,7 +430,7 @@ type ValidatingAdmissionPolicyBindingSpec struct {
// +optional
ParamRef *ParamRef `json:"paramRef,omitempty" protobuf:"bytes,2,rep,name=paramRef"`
- // MatchResources declares what resources match this binding and will be validated by it.
+ // matchResources declares what resources match this binding and will be validated by it.
// Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this.
// If this is unset, all resources matched by the policy are validated by this binding
// When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated.
@@ -471,6 +478,8 @@ type ValidatingAdmissionPolicyBindingSpec struct {
//
// Required.
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
ValidationActions []ValidationAction `json:"validationActions,omitempty" protobuf:"bytes,4,rep,name=validationActions"`
}
@@ -478,7 +487,7 @@ type ValidatingAdmissionPolicyBindingSpec struct {
// expressions of rules applied by a policy binding.
// +structType=atomic
type ParamRef struct {
- // `name` is the name of the resource being referenced.
+ // name is the name of the resource being referenced.
//
// `name` and `selector` are mutually exclusive properties. If one is set,
// the other must be unset.
@@ -516,7 +525,7 @@ type ParamRef struct {
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,3,rep,name=selector"`
- // `parameterNotFoundAction` controls the behavior of the binding when the resource
+ // parameterNotFoundAction controls the behavior of the binding when the resource
// exists, and name or selector is valid, but there are no parameters
// matched by the binding. If the value is set to `Allow`, then no
// matched parameters will be treated as successful validation by the binding.
@@ -534,7 +543,7 @@ type ParamRef struct {
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +structType=atomic
type MatchResources struct {
- // NamespaceSelector decides whether to run the admission control policy on an object based
+ // namespaceSelector decides whether to run the admission control policy on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -579,7 +588,7 @@ type MatchResources struct {
// Default to the empty LabelSelector, which matches everything.
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,1,opt,name=namespaceSelector"`
- // ObjectSelector decides whether to run the policy based on if the
+ // objectSelector decides whether to run the policy based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the policy's expression (CEL), and
// is considered to match if either object matches the selector. A null
@@ -592,12 +601,12 @@ type MatchResources struct {
// Default to the empty LabelSelector, which matches everything.
// +optional
ObjectSelector *metav1.LabelSelector `json:"objectSelector,omitempty" protobuf:"bytes,2,opt,name=objectSelector"`
- // ResourceRules describes what operations on what resources/subresources the admission policy matches.
+ // resourceRules describes what operations on what resources/subresources the admission policy matches.
// The policy cares about an operation if it matches _any_ Rule.
// +listType=atomic
// +optional
ResourceRules []NamedRuleWithOperations `json:"resourceRules,omitempty" protobuf:"bytes,3,rep,name=resourceRules"`
- // ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about.
+ // excludeResourceRules describes what operations on what resources/subresources the policy should not care about.
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +listType=atomic
// +optional
@@ -642,12 +651,12 @@ const (
// NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
// +structType=atomic
type NamedRuleWithOperations struct {
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
// +listType=atomic
// +optional
ResourceNames []string `json:"resourceNames,omitempty" protobuf:"bytes,1,rep,name=resourceNames"`
// RuleWithOperations is a tuple of Operations and Resources.
- RuleWithOperations `json:",inline" protobuf:"bytes,2,opt,name=ruleWithOperations"`
+ RuleWithOperations `json:"" protobuf:"bytes,2,opt,name=ruleWithOperations"`
}
// RuleWithOperations is a tuple of Operations and Resources. It is recommended to make
@@ -674,11 +683,11 @@ const (
// MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
type MutatingAdmissionPolicy struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the MutatingAdmissionPolicy.
+ // spec defines the desired behavior of the MutatingAdmissionPolicy.
Spec MutatingAdmissionPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
@@ -687,8 +696,8 @@ type MutatingAdmissionPolicy struct {
// MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.
type MutatingAdmissionPolicyList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -962,11 +971,11 @@ const (
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
type MutatingAdmissionPolicyBinding struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the MutatingAdmissionPolicyBinding.
Spec MutatingAdmissionPolicyBindingSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
@@ -975,8 +984,8 @@ type MutatingAdmissionPolicyBinding struct {
// MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.
type MutatingAdmissionPolicyBindingList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go
index 116e56e06..4b2b13bc4 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go
@@ -48,8 +48,8 @@ func (AuditAnnotation) SwaggerDoc() map[string]string {
var map_ExpressionWarning = map[string]string{
"": "ExpressionWarning is a warning information that targets a specific expression.",
- "fieldRef": "The path to the field that refers the expression. For example, the reference to the expression of the first item of validations is \"spec.validations[0].expression\"",
- "warning": "The content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.",
+ "fieldRef": "fieldRef is the path to the field that refers to the expression. For example, the reference to the expression of the first item of validations is \"spec.validations[0].expression\"",
+ "warning": "warning contains the content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.",
}
func (ExpressionWarning) SwaggerDoc() map[string]string {
@@ -67,10 +67,10 @@ func (JSONPatch) SwaggerDoc() map[string]string {
var map_MatchResources = map[string]string{
"": "MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
- "namespaceSelector": "NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the policy on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
- "objectSelector": "ObjectSelector decides whether to run the policy based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the policy's expression (CEL), and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
- "resourceRules": "ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.",
- "excludeResourceRules": "ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
+ "namespaceSelector": "namespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the policy on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
+ "objectSelector": "objectSelector decides whether to run the policy based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the policy's expression (CEL), and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
+ "resourceRules": "resourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.",
+ "excludeResourceRules": "excludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
"matchPolicy": "matchPolicy defines how the \"MatchResources\" list is used to match incoming requests. Allowed values are \"Exact\" or \"Equivalent\".\n\n- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.\n\n- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, the admission policy **does** consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.\n\nDefaults to \"Equivalent\"",
}
@@ -80,8 +80,8 @@ func (MatchResources) SwaggerDoc() map[string]string {
var map_MutatingAdmissionPolicy = map[string]string{
"": "MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the MutatingAdmissionPolicy.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the MutatingAdmissionPolicy.",
}
func (MutatingAdmissionPolicy) SwaggerDoc() map[string]string {
@@ -90,8 +90,8 @@ func (MutatingAdmissionPolicy) SwaggerDoc() map[string]string {
var map_MutatingAdmissionPolicyBinding = map[string]string{
"": "MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources. MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators configure policies for clusters.\n\nFor a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding. Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).\n\nAdding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the MutatingAdmissionPolicyBinding.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the MutatingAdmissionPolicyBinding.",
}
func (MutatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
@@ -100,7 +100,7 @@ func (MutatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
var map_MutatingAdmissionPolicyBindingList = map[string]string{
"": "MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of PolicyBinding.",
}
@@ -121,7 +121,7 @@ func (MutatingAdmissionPolicyBindingSpec) SwaggerDoc() map[string]string {
var map_MutatingAdmissionPolicyList = map[string]string{
"": "MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of ValidatingAdmissionPolicy.",
}
@@ -157,7 +157,7 @@ func (Mutation) SwaggerDoc() map[string]string {
var map_NamedRuleWithOperations = map[string]string{
"": "NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.",
- "resourceNames": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.",
+ "resourceNames": "resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.",
}
func (NamedRuleWithOperations) SwaggerDoc() map[string]string {
@@ -166,8 +166,8 @@ func (NamedRuleWithOperations) SwaggerDoc() map[string]string {
var map_ParamKind = map[string]string{
"": "ParamKind is a tuple of Group Kind and Version.",
- "apiVersion": "APIVersion is the API group version the resources belong to. In format of \"group/version\". Required.",
- "kind": "Kind is the API kind the resources belong to. Required.",
+ "apiVersion": "apiVersion is the API group version the resources belong to. In format of \"group/version\". Required.",
+ "kind": "kind is the API kind the resources belong to. Required.",
}
func (ParamKind) SwaggerDoc() map[string]string {
@@ -176,10 +176,10 @@ func (ParamKind) SwaggerDoc() map[string]string {
var map_ParamRef = map[string]string{
"": "ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.",
- "name": "`name` is the name of the resource being referenced.\n\n`name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.",
+ "name": "name is the name of the resource being referenced.\n\n`name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.",
"namespace": "namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.\n\nA per-namespace parameter may be used by specifying a namespace-scoped `paramKind` in the policy and leaving this field empty.\n\n- If `paramKind` is cluster-scoped, this field MUST be unset. Setting this field results in a configuration error.\n\n- If `paramKind` is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.",
"selector": "selector can be used to match multiple param objects based on their labels. Supply selector: {} to match all resources of the ParamKind.\n\nIf multiple params are found, they are all evaluated with the policy expressions and the results are ANDed together.\n\nOne of `name` or `selector` must be set, but `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.",
- "parameterNotFoundAction": "`parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.\n\nAllowed values are `Allow` or `Deny` Default to `Deny`",
+ "parameterNotFoundAction": "parameterNotFoundAction controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.\n\nAllowed values are `Allow` or `Deny` Default to `Deny`",
}
func (ParamRef) SwaggerDoc() map[string]string {
@@ -188,7 +188,7 @@ func (ParamRef) SwaggerDoc() map[string]string {
var map_TypeChecking = map[string]string{
"": "TypeChecking contains results of type checking the expressions in the ValidatingAdmissionPolicy",
- "expressionWarnings": "The type checking warnings for each expression.",
+ "expressionWarnings": "expressionWarnings contains the type checking warnings for each expression.",
}
func (TypeChecking) SwaggerDoc() map[string]string {
@@ -197,9 +197,9 @@ func (TypeChecking) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicy = map[string]string{
"": "ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the ValidatingAdmissionPolicy.",
- "status": "The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy behaves in the expected way. Populated by the system. Read-only.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the ValidatingAdmissionPolicy.",
+ "status": "status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy behaves in the expected way. Populated by the system. Read-only.",
}
func (ValidatingAdmissionPolicy) SwaggerDoc() map[string]string {
@@ -208,8 +208,8 @@ func (ValidatingAdmissionPolicy) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBinding = map[string]string{
"": "ValidatingAdmissionPolicyBinding binds the ValidatingAdmissionPolicy with paramerized resources. ValidatingAdmissionPolicyBinding and parameter CRDs together define how cluster administrators configure policies for clusters.\n\nFor a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding.\n\nThe CEL expressions of a policy must have a computed CEL cost below the maximum CEL budget. Each evaluation of the policy is given an independent CEL cost budget. Adding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.",
}
func (ValidatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
@@ -218,7 +218,7 @@ func (ValidatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBindingList = map[string]string{
"": "ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of PolicyBinding.",
}
@@ -228,9 +228,9 @@ func (ValidatingAdmissionPolicyBindingList) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBindingSpec = map[string]string{
"": "ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.",
- "policyName": "PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.",
+ "policyName": "policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.",
"paramRef": "paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.",
- "matchResources": "MatchResources declares what resources match this binding and will be validated by it. Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this. If this is unset, all resources matched by the policy are validated by this binding When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated. Note that this is differs from ValidatingAdmissionPolicy matchConstraints, where resourceRules are required.",
+ "matchResources": "matchResources declares what resources match this binding and will be validated by it. Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this. If this is unset, all resources matched by the policy are validated by this binding When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated. Note that this is differs from ValidatingAdmissionPolicy matchConstraints, where resourceRules are required.",
"validationActions": "validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.\n\nFailures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according to these actions only if the FailurePolicy is set to Fail, otherwise the failures are ignored. This includes compilation errors, runtime errors and misconfigurations of the policy.\n\nvalidationActions is declared as a set of action values. Order does not matter. validationActions may not contain duplicates of the same action.\n\nThe supported actions values are:\n\n\"Deny\" specifies that a validation failure results in a denied request.\n\n\"Warn\" specifies that a validation failure is reported to the request client in HTTP Warning headers, with a warning code of 299. Warnings can be sent both for allowed or denied admission responses.\n\n\"Audit\" specifies that a validation failure is included in the published audit event for the request. The audit event will contain a `validation.policy.admission.k8s.io/validation_failure` audit annotation with a value containing the details of the validation failures, formatted as a JSON list of objects, each with the following fields: - message: The validation failure message string - policy: The resource name of the ValidatingAdmissionPolicy - binding: The resource name of the ValidatingAdmissionPolicyBinding - expressionIndex: The index of the failed validations in the ValidatingAdmissionPolicy - validationActions: The enforcement actions enacted for the validation failure Example audit annotation: `\"validation.policy.admission.k8s.io/validation_failure\": \"[{\"message\": \"Invalid value\", {\"policy\": \"policy.example.com\", {\"binding\": \"policybinding.example.com\", {\"expressionIndex\": \"1\", {\"validationActions\": [\"Audit\"]}]\"`\n\nClients should expect to handle additional values by ignoring any values not recognized.\n\n\"Deny\" and \"Warn\" may not be used together since this combination needlessly duplicates the validation failure both in the API response body and the HTTP warning headers.\n\nRequired.",
}
@@ -240,7 +240,7 @@ func (ValidatingAdmissionPolicyBindingSpec) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyList = map[string]string{
"": "ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of ValidatingAdmissionPolicy.",
}
@@ -250,13 +250,13 @@ func (ValidatingAdmissionPolicyList) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicySpec = map[string]string{
"": "ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.",
- "paramKind": "ParamKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.",
- "matchConstraints": "MatchConstraints specifies what resources this policy is designed to validate. The AdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding. Required.",
- "validations": "Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.",
+ "paramKind": "paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.",
+ "matchConstraints": "matchConstraints specifies what resources this policy is designed to validate. The AdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding. Required.",
+ "validations": "validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.",
"failurePolicy": "failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.\n\nA policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.\n\nfailurePolicy does not define how validations that evaluate to false are handled.\n\nWhen failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.\n\nAllowed values are Ignore or Fail. Defaults to Fail.",
"auditAnnotations": "auditAnnotations contains CEL expressions which are used to produce audit annotations for the audit event of the API request. validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is required.",
- "matchConditions": "MatchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nIf a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the policy is skipped",
- "variables": "Variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except MatchConditions because MatchConditions are evaluated before the rest of the policy.\n\nThe expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, Variables must be sorted by the order of first appearance and acyclic.",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nIf a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the policy is skipped",
+ "variables": "variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except MatchConditions because MatchConditions are evaluated before the rest of the policy.\n\nThe expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, Variables must be sorted by the order of first appearance and acyclic.",
}
func (ValidatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
@@ -265,9 +265,9 @@ func (ValidatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyStatus = map[string]string{
"": "ValidatingAdmissionPolicyStatus represents the status of a ValidatingAdmissionPolicy.",
- "observedGeneration": "The generation observed by the controller.",
- "typeChecking": "The results of type checking for each expression. Presence of this field indicates the completion of the type checking.",
- "conditions": "The conditions represent the latest available observations of a policy's current state.",
+ "observedGeneration": "observedGeneration is the generation observed by the controller.",
+ "typeChecking": "typeChecking contains the results of type checking for each expression. Presence of this field indicates the completion of the type checking.",
+ "conditions": "conditions represent the latest available observations of a policy's current state.",
}
func (ValidatingAdmissionPolicyStatus) SwaggerDoc() map[string]string {
@@ -276,9 +276,9 @@ func (ValidatingAdmissionPolicyStatus) SwaggerDoc() map[string]string {
var map_Validation = map[string]string{
"": "Validation specifies the CEL expression which is used to apply the validation.",
- "expression": "Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", \"const\", \"continue\", \"else\", \"for\", \"function\", \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", \"return\".\nExamples:\n - Expression accessing a property named \"namespace\": {\"Expression\": \"object.__namespace__ > 0\"}\n - Expression accessing a property named \"x-prop\": {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression accessing a property named \"redact__d\": {\"Expression\": \"object.redact__underscores__d > 0\"}\n\nEquality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:\n - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and\n non-intersecting elements in `Y` are appended, retaining their partial order.\n - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values\n are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with\n non-intersecting keys are appended, retaining their partial order.\nRequired.",
- "message": "Message represents the message displayed when validation fails. The message is required if the Expression contains line breaks. The message must not contain line breaks. If unset, the message is \"failed rule: {Rule}\". e.g. \"must be a URL with the host matching spec.host\" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is \"failed Expression: {Expression}\".",
- "reason": "Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: \"Unauthorized\", \"Forbidden\", \"Invalid\", \"RequestEntityTooLarge\". If not set, StatusReasonInvalid is used in the response to the client.",
+ "expression": "expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", \"const\", \"continue\", \"else\", \"for\", \"function\", \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", \"return\".\nExamples:\n - Expression accessing a property named \"namespace\": {\"Expression\": \"object.__namespace__ > 0\"}\n - Expression accessing a property named \"x-prop\": {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression accessing a property named \"redact__d\": {\"Expression\": \"object.redact__underscores__d > 0\"}\n\nEquality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:\n - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and\n non-intersecting elements in `Y` are appended, retaining their partial order.\n - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values\n are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with\n non-intersecting keys are appended, retaining their partial order.\nRequired.",
+ "message": "message represents the message displayed when validation fails. The message is required if the Expression contains line breaks. The message must not contain line breaks. If unset, the message is \"failed rule: {Rule}\". e.g. \"must be a URL with the host matching spec.host\" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is \"failed Expression: {Expression}\".",
+ "reason": "reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: \"Unauthorized\", \"Forbidden\", \"Invalid\", \"RequestEntityTooLarge\". If not set, StatusReasonInvalid is used in the response to the client.",
"messageExpression": "messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: \"object.x must be less than max (\"+string(params.max)+\")\"",
}
@@ -288,8 +288,8 @@ func (Validation) SwaggerDoc() map[string]string {
var map_Variable = map[string]string{
"": "Variable is the definition of a variable that is used for composition.",
- "name": "Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is \"foo\", the variable will be available as `variables.foo`",
- "expression": "Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.",
+ "name": "name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is \"foo\", the variable will be available as `variables.foo`",
+ "expression": "expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.",
}
func (Variable) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto b/vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto
index d184664e5..465429231 100644
--- a/vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto
@@ -113,12 +113,12 @@ message AuditAnnotation {
// ExpressionWarning is a warning information that targets a specific expression.
message ExpressionWarning {
- // The path to the field that refers the expression.
+ // fieldRef is the path to the field that refers to the expression.
// For example, the reference to the expression of the first item of
// validations is "spec.validations[0].expression"
optional string fieldRef = 2;
- // The content of type checking information in a human-readable form.
+ // warning contains the content of type checking information in a human-readable form.
// Each line of the warning contains the type that the expression is checked
// against, followed by the type check error from the compiler.
optional string warning = 3;
@@ -195,7 +195,7 @@ message JSONPatch {
// MatchCondition represents a condition which must be fulfilled for a request to be sent to a webhook.
message MatchCondition {
- // Name is an identifier for this match condition, used for strategic merging of MatchConditions,
+ // name is an identifier for this match condition, used for strategic merging of MatchConditions,
// as well as providing an identifier for logging purposes. A good name should be descriptive of
// the associated expression.
// Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and
@@ -206,7 +206,7 @@ message MatchCondition {
// Required.
optional string name = 1;
- // Expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
+ // expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
// CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
//
// 'object' - The object from the incoming request. The value is null for DELETE requests.
@@ -227,7 +227,7 @@ message MatchCondition {
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +structType=atomic
message MatchResources {
- // NamespaceSelector decides whether to run the admission control policy on an object based
+ // namespaceSelector decides whether to run the admission control policy on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -273,7 +273,7 @@ message MatchResources {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1;
- // ObjectSelector decides whether to run the validation based on if the
+ // objectSelector decides whether to run the validation based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the cel validation, and
// is considered to match if either object matches the selector. A null
@@ -287,13 +287,13 @@ message MatchResources {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2;
- // ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches.
+ // resourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches.
// The policy cares about an operation if it matches _any_ Rule.
// +listType=atomic
// +optional
repeated NamedRuleWithOperations resourceRules = 3;
- // ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about.
+ // excludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about.
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +listType=atomic
// +optional
@@ -319,11 +319,11 @@ message MatchResources {
// MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
message MutatingAdmissionPolicy {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the MutatingAdmissionPolicy.
+ // spec defines the desired behavior of the MutatingAdmissionPolicy.
optional MutatingAdmissionPolicySpec spec = 2;
}
@@ -339,17 +339,17 @@ message MutatingAdmissionPolicy {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
message MutatingAdmissionPolicyBinding {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the MutatingAdmissionPolicyBinding.
optional MutatingAdmissionPolicyBindingSpec spec = 2;
}
// MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.
message MutatingAdmissionPolicyBindingList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -387,7 +387,7 @@ message MutatingAdmissionPolicyBindingSpec {
// MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.
message MutatingAdmissionPolicyList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -486,18 +486,18 @@ message MutatingAdmissionPolicySpec {
// MutatingWebhook describes an admission webhook and the resources and operations it applies to.
message MutatingWebhook {
- // The name of the admission webhook.
+ // name is the name of the admission webhook.
// Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where
// "imagepolicy" is the name of the webhook, and kubernetes.io is the name
// of the organization.
// Required.
optional string name = 1;
- // ClientConfig defines how to communicate with the hook.
+ // clientConfig defines how to communicate with the hook.
// Required
optional WebhookClientConfig clientConfig = 2;
- // Rules describes what operations on what resources/subresources the webhook cares about.
+ // rules describes what operations on what resources/subresources the webhook cares about.
// The webhook cares about an operation if it matches _any_ Rule.
// However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
// from putting the cluster in a state which cannot be recovered from without completely
@@ -506,7 +506,7 @@ message MutatingWebhook {
// +listType=atomic
repeated .k8s.io.api.admissionregistration.v1.RuleWithOperations rules = 3;
- // FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
+ // failurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Ignore.
// +optional
optional string failurePolicy = 4;
@@ -528,7 +528,7 @@ message MutatingWebhook {
// +optional
optional string matchPolicy = 9;
- // NamespaceSelector decides whether to run the webhook on an object based
+ // namespaceSelector decides whether to run the webhook on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -574,7 +574,7 @@ message MutatingWebhook {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5;
- // ObjectSelector decides whether to run the webhook based on if the
+ // objectSelector decides whether to run the webhook based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the webhook, and
// is considered to match if either object matches the selector. A null
@@ -588,7 +588,7 @@ message MutatingWebhook {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 11;
- // SideEffects states whether this webhook has side effects.
+ // sideEffects states whether this webhook has side effects.
// Acceptable values are: Unknown, None, Some, NoneOnDryRun
// Webhooks with side effects MUST implement a reconciliation system, since a request may be
// rejected by a future step in the admission chain and the side effects therefore need to be undone.
@@ -597,7 +597,7 @@ message MutatingWebhook {
// +optional
optional string sideEffects = 6;
- // TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
+ // timeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// The timeout value must be between 1 and 30 seconds.
@@ -605,7 +605,7 @@ message MutatingWebhook {
// +optional
optional int32 timeoutSeconds = 7;
- // AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
+ // admissionReviewVersions is an ordered list of preferred `AdmissionReview`
// versions the Webhook expects. API server will try to use first version in
// the list which it supports. If none of the versions specified in this list
// supported by API server, validation will fail for this object.
@@ -635,7 +635,7 @@ message MutatingWebhook {
// +optional
optional string reinvocationPolicy = 10;
- // MatchConditions is a list of conditions that must be met for a request to be sent to this
+ // matchConditions is a list of conditions that must be met for a request to be sent to this
// webhook. Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -658,11 +658,11 @@ message MutatingWebhook {
// MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object.
// Deprecated in v1.16, planned for removal in v1.19. Use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration instead.
message MutatingWebhookConfiguration {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Webhooks is a list of webhooks and the affected resources and operations.
+ // webhooks is a list of webhooks and the affected resources and operations.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
@@ -673,7 +673,7 @@ message MutatingWebhookConfiguration {
// MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.
message MutatingWebhookConfigurationList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -705,7 +705,7 @@ message Mutation {
// NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
// +structType=atomic
message NamedRuleWithOperations {
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
// +listType=atomic
// +optional
repeated string resourceNames = 1;
@@ -717,12 +717,12 @@ message NamedRuleWithOperations {
// ParamKind is a tuple of Group Kind and Version.
// +structType=atomic
message ParamKind {
- // APIVersion is the API group version the resources belong to.
+ // apiVersion is the API group version the resources belong to.
// In format of "group/version".
// Required.
optional string apiVersion = 1;
- // Kind is the API kind the resources belong to.
+ // kind is the API kind the resources belong to.
// Required.
optional string kind = 2;
}
@@ -771,7 +771,7 @@ message ParamRef {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
- // `parameterNotFoundAction` controls the behavior of the binding when the resource
+ // parameterNotFoundAction controls the behavior of the binding when the resource
// exists, and name or selector is valid, but there are no parameters
// matched by the binding. If the value is set to `Allow`, then no
// matched parameters will be treated as successful validation by the binding.
@@ -786,22 +786,22 @@ message ParamRef {
// ServiceReference holds a reference to Service.legacy.k8s.io
message ServiceReference {
- // `namespace` is the namespace of the service.
+ // namespace is the namespace of the service.
// Required
optional string namespace = 1;
- // `name` is the name of the service.
+ // name is the name of the service.
// Required
optional string name = 2;
- // `path` is an optional URL path which will be sent in any request to
+ // path is an optional URL path which will be sent in any request to
// this service.
// +optional
optional string path = 3;
- // If specified, the port on the service that hosting webhook.
+ // port is the port on the service that hosts the webhook.
// Default to 443 for backward compatibility.
- // `port` should be a valid port number (1-65535, inclusive).
+ // port should be a valid port number (1-65535, inclusive).
// +optional
optional int32 port = 4;
}
@@ -809,7 +809,7 @@ message ServiceReference {
// TypeChecking contains results of type checking the expressions in the
// ValidatingAdmissionPolicy
message TypeChecking {
- // The type checking warnings for each expression.
+ // expressionWarnings contains the type checking warnings for each expression.
// +optional
// +listType=atomic
repeated ExpressionWarning expressionWarnings = 1;
@@ -820,15 +820,16 @@ message TypeChecking {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.28
// ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
+// +k8s:supportsSubresource="/status"
message ValidatingAdmissionPolicy {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the ValidatingAdmissionPolicy.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicy.
optional ValidatingAdmissionPolicySpec spec = 2;
- // The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
+ // status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
// behaves in the expected way.
// Populated by the system.
// Read-only.
@@ -848,17 +849,18 @@ message ValidatingAdmissionPolicy {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
message ValidatingAdmissionPolicyBinding {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // +required
optional ValidatingAdmissionPolicyBindingSpec spec = 2;
}
// ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.
message ValidatingAdmissionPolicyBindingList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -869,9 +871,11 @@ message ValidatingAdmissionPolicyBindingList {
// ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.
message ValidatingAdmissionPolicyBindingSpec {
- // PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
+ // policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
// If the referenced resource does not exist, this binding is considered invalid and will be ignored
// Required.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string policyName = 1;
// paramRef specifies the parameter resource used to configure the admission control policy.
@@ -881,7 +885,7 @@ message ValidatingAdmissionPolicyBindingSpec {
// +optional
optional ParamRef paramRef = 2;
- // MatchResources declares what resources match this binding and will be validated by it.
+ // matchResources declares what resources match this binding and will be validated by it.
// Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this.
// If this is unset, all resources matched by the policy are validated by this binding
// When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated.
@@ -929,6 +933,8 @@ message ValidatingAdmissionPolicyBindingSpec {
//
// Required.
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
repeated string validationActions = 4;
}
@@ -936,7 +942,7 @@ message ValidatingAdmissionPolicyBindingSpec {
// +k8s:prerelease-lifecycle-gen:introduced=1.28
// ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.
message ValidatingAdmissionPolicyList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -947,21 +953,21 @@ message ValidatingAdmissionPolicyList {
// ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.
message ValidatingAdmissionPolicySpec {
- // ParamKind specifies the kind of resources used to parameterize this policy.
+ // paramKind specifies the kind of resources used to parameterize this policy.
// If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
// If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
// If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.
// +optional
optional ParamKind paramKind = 1;
- // MatchConstraints specifies what resources this policy is designed to validate.
+ // matchConstraints specifies what resources this policy is designed to validate.
// The AdmissionPolicy cares about a request if it matches _all_ Constraints.
// However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
// ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding.
// Required.
optional MatchResources matchConstraints = 2;
- // Validations contain CEL expressions which is used to apply the validation.
+ // validations contain CEL expressions which is used to apply the validation.
// Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is
// required.
// +listType=atomic
@@ -992,7 +998,7 @@ message ValidatingAdmissionPolicySpec {
// +optional
repeated AuditAnnotation auditAnnotations = 5;
- // MatchConditions is a list of conditions that must be met for a request to be validated.
+ // matchConditions is a list of conditions that must be met for a request to be validated.
// Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -1014,7 +1020,7 @@ message ValidatingAdmissionPolicySpec {
// +optional
repeated MatchCondition matchConditions = 6;
- // Variables contain definitions of variables that can be used in composition of other expressions.
+ // variables contain definitions of variables that can be used in composition of other expressions.
// Each variable is defined as a named CEL expression.
// The variables defined here will be available under `variables` in other expressions of the policy
// except MatchConditions because MatchConditions are evaluated before the rest of the policy.
@@ -1031,36 +1037,39 @@ message ValidatingAdmissionPolicySpec {
// ValidatingAdmissionPolicyStatus represents the status of an admission validation policy.
message ValidatingAdmissionPolicyStatus {
- // The generation observed by the controller.
+ // observedGeneration is the generation observed by the controller.
// +optional
optional int64 observedGeneration = 1;
- // The results of type checking for each expression.
+ // typeChecking contains the results of type checking for each expression.
// Presence of this field indicates the completion of the type checking.
// +optional
optional TypeChecking typeChecking = 2;
- // The conditions represent the latest available observations of a policy's current state.
+ // conditions represent the latest available observations of a policy's current state.
// +optional
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 3;
}
// ValidatingWebhook describes an admission webhook and the resources and operations it applies to.
message ValidatingWebhook {
- // The name of the admission webhook.
+ // name is the name of the admission webhook.
// Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where
// "imagepolicy" is the name of the webhook, and kubernetes.io is the name
// of the organization.
// Required.
optional string name = 1;
- // ClientConfig defines how to communicate with the hook.
+ // clientConfig defines how to communicate with the hook.
// Required
optional WebhookClientConfig clientConfig = 2;
- // Rules describes what operations on what resources/subresources the webhook cares about.
+ // rules describes what operations on what resources/subresources the webhook cares about.
// The webhook cares about an operation if it matches _any_ Rule.
// However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
// from putting the cluster in a state which cannot be recovered from without completely
@@ -1069,7 +1078,7 @@ message ValidatingWebhook {
// +listType=atomic
repeated .k8s.io.api.admissionregistration.v1.RuleWithOperations rules = 3;
- // FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
+ // failurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Ignore.
// +optional
optional string failurePolicy = 4;
@@ -1091,7 +1100,7 @@ message ValidatingWebhook {
// +optional
optional string matchPolicy = 9;
- // NamespaceSelector decides whether to run the webhook on an object based
+ // namespaceSelector decides whether to run the webhook on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -1137,7 +1146,7 @@ message ValidatingWebhook {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5;
- // ObjectSelector decides whether to run the webhook based on if the
+ // objectSelector decides whether to run the webhook based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the webhook, and
// is considered to match if either object matches the selector. A null
@@ -1151,7 +1160,7 @@ message ValidatingWebhook {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 10;
- // SideEffects states whether this webhook has side effects.
+ // sideEffects states whether this webhook has side effects.
// Acceptable values are: Unknown, None, Some, NoneOnDryRun
// Webhooks with side effects MUST implement a reconciliation system, since a request may be
// rejected by a future step in the admission chain and the side effects therefore need to be undone.
@@ -1161,7 +1170,7 @@ message ValidatingWebhook {
// +listType=atomic
optional string sideEffects = 6;
- // TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
+ // timeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// The timeout value must be between 1 and 30 seconds.
@@ -1169,7 +1178,7 @@ message ValidatingWebhook {
// +optional
optional int32 timeoutSeconds = 7;
- // AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
+ // admissionReviewVersions is an ordered list of preferred `AdmissionReview`
// versions the Webhook expects. API server will try to use first version in
// the list which it supports. If none of the versions specified in this list
// supported by API server, validation will fail for this object.
@@ -1181,7 +1190,7 @@ message ValidatingWebhook {
// +listType=atomic
repeated string admissionReviewVersions = 8;
- // MatchConditions is a list of conditions that must be met for a request to be sent to this
+ // matchConditions is a list of conditions that must be met for a request to be sent to this
// webhook. Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -1204,11 +1213,11 @@ message ValidatingWebhook {
// ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.
// Deprecated in v1.16, planned for removal in v1.19. Use admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration instead.
message ValidatingWebhookConfiguration {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Webhooks is a list of webhooks and the affected resources and operations.
+ // webhooks is a list of webhooks and the affected resources and operations.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
@@ -1219,7 +1228,7 @@ message ValidatingWebhookConfiguration {
// ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.
message ValidatingWebhookConfigurationList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
@@ -1230,7 +1239,7 @@ message ValidatingWebhookConfigurationList {
// Validation specifies the CEL expression which is used to apply the validation.
message Validation {
- // Expression represents the expression which will be evaluated by CEL.
+ // expression represents the expression which will be evaluated by CEL.
// ref: https://github.com/google/cel-spec
// CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
//
@@ -1273,7 +1282,7 @@ message Validation {
// Required.
optional string Expression = 1;
- // Message represents the message displayed when validation fails. The message is required if the Expression contains
+ // message represents the message displayed when validation fails. The message is required if the Expression contains
// line breaks. The message must not contain line breaks.
// If unset, the message is "failed rule: {Rule}".
// e.g. "must be a URL with the host matching spec.host"
@@ -1283,7 +1292,7 @@ message Validation {
// +optional
optional string message = 2;
- // Reason represents a machine-readable description of why this validation failed.
+ // reason represents a machine-readable description of why this validation failed.
// If this is the first validation in the list to fail, this reason, as well as the
// corresponding HTTP response code, are used in the
// HTTP response to the client.
@@ -1309,12 +1318,12 @@ message Validation {
// Variable is the definition of a variable that is used for composition. A variable is defined as a named expression.
// +structType=atomic
message Variable {
- // Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
+ // name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
// The variable can be accessed in other expressions through `variables`
// For example, if name is "foo", the variable will be available as `variables.foo`
optional string Name = 1;
- // Expression is the expression that will be evaluated as the value of the variable.
+ // expression is the expression that will be evaluated as the value of the variable.
// The CEL expression has access to the same identifiers as the CEL expressions in Validation.
optional string Expression = 2;
}
@@ -1322,7 +1331,7 @@ message Variable {
// WebhookClientConfig contains the information to make a TLS
// connection with the webhook
message WebhookClientConfig {
- // `url` gives the location of the webhook, in standard URL form
+ // url gives the location of the webhook, in standard URL form
// (`scheme://host:port/path`). Exactly one of `url` or `service`
// must be specified.
//
@@ -1351,7 +1360,7 @@ message WebhookClientConfig {
// +optional
optional string url = 3;
- // `service` is a reference to the service for this webhook. Either
+ // service is a reference to the service for this webhook. Either
// `service` or `url` must be specified.
//
// If the webhook is running within the cluster, then you should use `service`.
@@ -1359,7 +1368,7 @@ message WebhookClientConfig {
// +optional
optional ServiceReference service = 1;
- // `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
+ // caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
// If unspecified, system trust roots on the apiserver are used.
// +optional
optional bytes caBundle = 2;
diff --git a/vendor/k8s.io/api/admissionregistration/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/admissionregistration/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index 67b85ac62..000000000
--- a/vendor/k8s.io/api/admissionregistration/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,90 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*ApplyConfiguration) ProtoMessage() {}
-
-func (*AuditAnnotation) ProtoMessage() {}
-
-func (*ExpressionWarning) ProtoMessage() {}
-
-func (*JSONPatch) ProtoMessage() {}
-
-func (*MatchCondition) ProtoMessage() {}
-
-func (*MatchResources) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicy) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicyBinding) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicyBindingList) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicyBindingSpec) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicyList) ProtoMessage() {}
-
-func (*MutatingAdmissionPolicySpec) ProtoMessage() {}
-
-func (*MutatingWebhook) ProtoMessage() {}
-
-func (*MutatingWebhookConfiguration) ProtoMessage() {}
-
-func (*MutatingWebhookConfigurationList) ProtoMessage() {}
-
-func (*Mutation) ProtoMessage() {}
-
-func (*NamedRuleWithOperations) ProtoMessage() {}
-
-func (*ParamKind) ProtoMessage() {}
-
-func (*ParamRef) ProtoMessage() {}
-
-func (*ServiceReference) ProtoMessage() {}
-
-func (*TypeChecking) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicy) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBinding) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBindingList) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyBindingSpec) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyList) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicySpec) ProtoMessage() {}
-
-func (*ValidatingAdmissionPolicyStatus) ProtoMessage() {}
-
-func (*ValidatingWebhook) ProtoMessage() {}
-
-func (*ValidatingWebhookConfiguration) ProtoMessage() {}
-
-func (*ValidatingWebhookConfigurationList) ProtoMessage() {}
-
-func (*Validation) ProtoMessage() {}
-
-func (*Variable) ProtoMessage() {}
-
-func (*WebhookClientConfig) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/admissionregistration/v1beta1/types.go b/vendor/k8s.io/api/admissionregistration/v1beta1/types.go
index c7259d3d3..1fb6728fc 100644
--- a/vendor/k8s.io/api/admissionregistration/v1beta1/types.go
+++ b/vendor/k8s.io/api/admissionregistration/v1beta1/types.go
@@ -93,14 +93,15 @@ const (
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.28
// ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
+// +k8s:supportsSubresource="/status"
type ValidatingAdmissionPolicy struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the ValidatingAdmissionPolicy.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicy.
Spec ValidatingAdmissionPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
- // The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
+ // status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy
// behaves in the expected way.
// Populated by the system.
// Read-only.
@@ -110,17 +111,20 @@ type ValidatingAdmissionPolicy struct {
// ValidatingAdmissionPolicyStatus represents the status of an admission validation policy.
type ValidatingAdmissionPolicyStatus struct {
- // The generation observed by the controller.
+ // observedGeneration is the generation observed by the controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
- // The results of type checking for each expression.
+ // typeChecking contains the results of type checking for each expression.
// Presence of this field indicates the completion of the type checking.
// +optional
TypeChecking *TypeChecking `json:"typeChecking,omitempty" protobuf:"bytes,2,opt,name=typeChecking"`
- // The conditions represent the latest available observations of a policy's current state.
+ // conditions represent the latest available observations of a policy's current state.
// +optional
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}
@@ -130,7 +134,7 @@ type ValidatingAdmissionPolicyConditionType string
// TypeChecking contains results of type checking the expressions in the
// ValidatingAdmissionPolicy
type TypeChecking struct {
- // The type checking warnings for each expression.
+ // expressionWarnings contains the type checking warnings for each expression.
// +optional
// +listType=atomic
ExpressionWarnings []ExpressionWarning `json:"expressionWarnings,omitempty" protobuf:"bytes,1,rep,name=expressionWarnings"`
@@ -138,11 +142,11 @@ type TypeChecking struct {
// ExpressionWarning is a warning information that targets a specific expression.
type ExpressionWarning struct {
- // The path to the field that refers the expression.
+ // fieldRef is the path to the field that refers to the expression.
// For example, the reference to the expression of the first item of
// validations is "spec.validations[0].expression"
FieldRef string `json:"fieldRef" protobuf:"bytes,2,opt,name=fieldRef"`
- // The content of type checking information in a human-readable form.
+ // warning contains the content of type checking information in a human-readable form.
// Each line of the warning contains the type that the expression is checked
// against, followed by the type check error from the compiler.
Warning string `json:"warning" protobuf:"bytes,3,opt,name=warning"`
@@ -152,8 +156,8 @@ type ExpressionWarning struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.28
// ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.
type ValidatingAdmissionPolicyList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -163,21 +167,21 @@ type ValidatingAdmissionPolicyList struct {
// ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.
type ValidatingAdmissionPolicySpec struct {
- // ParamKind specifies the kind of resources used to parameterize this policy.
+ // paramKind specifies the kind of resources used to parameterize this policy.
// If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
// If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
// If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.
// +optional
ParamKind *ParamKind `json:"paramKind,omitempty" protobuf:"bytes,1,rep,name=paramKind"`
- // MatchConstraints specifies what resources this policy is designed to validate.
+ // matchConstraints specifies what resources this policy is designed to validate.
// The AdmissionPolicy cares about a request if it matches _all_ Constraints.
// However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
// ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding.
// Required.
MatchConstraints *MatchResources `json:"matchConstraints,omitempty" protobuf:"bytes,2,rep,name=matchConstraints"`
- // Validations contain CEL expressions which is used to apply the validation.
+ // validations contain CEL expressions which is used to apply the validation.
// Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is
// required.
// +listType=atomic
@@ -208,7 +212,7 @@ type ValidatingAdmissionPolicySpec struct {
// +optional
AuditAnnotations []AuditAnnotation `json:"auditAnnotations,omitempty" protobuf:"bytes,5,rep,name=auditAnnotations"`
- // MatchConditions is a list of conditions that must be met for a request to be validated.
+ // matchConditions is a list of conditions that must be met for a request to be validated.
// Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -230,7 +234,7 @@ type ValidatingAdmissionPolicySpec struct {
// +optional
MatchConditions []MatchCondition `json:"matchConditions,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,rep,name=matchConditions"`
- // Variables contain definitions of variables that can be used in composition of other expressions.
+ // variables contain definitions of variables that can be used in composition of other expressions.
// Each variable is defined as a named CEL expression.
// The variables defined here will be available under `variables` in other expressions of the policy
// except MatchConditions because MatchConditions are evaluated before the rest of the policy.
@@ -248,19 +252,19 @@ type ValidatingAdmissionPolicySpec struct {
// ParamKind is a tuple of Group Kind and Version.
// +structType=atomic
type ParamKind struct {
- // APIVersion is the API group version the resources belong to.
+ // apiVersion is the API group version the resources belong to.
// In format of "group/version".
// Required.
APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,1,rep,name=apiVersion"`
- // Kind is the API kind the resources belong to.
+ // kind is the API kind the resources belong to.
// Required.
Kind string `json:"kind,omitempty" protobuf:"bytes,2,rep,name=kind"`
}
// Validation specifies the CEL expression which is used to apply the validation.
type Validation struct {
- // Expression represents the expression which will be evaluated by CEL.
+ // expression represents the expression which will be evaluated by CEL.
// ref: https://github.com/google/cel-spec
// CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
//
@@ -302,7 +306,7 @@ type Validation struct {
// non-intersecting keys are appended, retaining their partial order.
// Required.
Expression string `json:"expression" protobuf:"bytes,1,opt,name=Expression"`
- // Message represents the message displayed when validation fails. The message is required if the Expression contains
+ // message represents the message displayed when validation fails. The message is required if the Expression contains
// line breaks. The message must not contain line breaks.
// If unset, the message is "failed rule: {Rule}".
// e.g. "must be a URL with the host matching spec.host"
@@ -311,7 +315,7 @@ type Validation struct {
// If unset, the message is "failed Expression: {Expression}".
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"`
- // Reason represents a machine-readable description of why this validation failed.
+ // reason represents a machine-readable description of why this validation failed.
// If this is the first validation in the list to fail, this reason, as well as the
// corresponding HTTP response code, are used in the
// HTTP response to the client.
@@ -336,12 +340,12 @@ type Validation struct {
// Variable is the definition of a variable that is used for composition. A variable is defined as a named expression.
// +structType=atomic
type Variable struct {
- // Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
+ // name is the name of the variable. The name must be a valid CEL identifier and unique among all variables.
// The variable can be accessed in other expressions through `variables`
// For example, if name is "foo", the variable will be available as `variables.foo`
Name string `json:"name" protobuf:"bytes,1,opt,name=Name"`
- // Expression is the expression that will be evaluated as the value of the variable.
+ // expression is the expression that will be evaluated as the value of the variable.
// The CEL expression has access to the same identifiers as the CEL expressions in Validation.
Expression string `json:"expression" protobuf:"bytes,2,opt,name=Expression"`
}
@@ -400,11 +404,12 @@ type AuditAnnotation struct {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
type ValidatingAdmissionPolicyBinding struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.
+ // +required
Spec ValidatingAdmissionPolicyBindingSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
@@ -413,8 +418,8 @@ type ValidatingAdmissionPolicyBinding struct {
// ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.
type ValidatingAdmissionPolicyBindingList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -424,9 +429,11 @@ type ValidatingAdmissionPolicyBindingList struct {
// ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.
type ValidatingAdmissionPolicyBindingSpec struct {
- // PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
+ // policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to.
// If the referenced resource does not exist, this binding is considered invalid and will be ignored
// Required.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
PolicyName string `json:"policyName,omitempty" protobuf:"bytes,1,rep,name=policyName"`
// paramRef specifies the parameter resource used to configure the admission control policy.
@@ -436,7 +443,7 @@ type ValidatingAdmissionPolicyBindingSpec struct {
// +optional
ParamRef *ParamRef `json:"paramRef,omitempty" protobuf:"bytes,2,rep,name=paramRef"`
- // MatchResources declares what resources match this binding and will be validated by it.
+ // matchResources declares what resources match this binding and will be validated by it.
// Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this.
// If this is unset, all resources matched by the policy are validated by this binding
// When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated.
@@ -484,6 +491,8 @@ type ValidatingAdmissionPolicyBindingSpec struct {
//
// Required.
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
ValidationActions []ValidationAction `json:"validationActions,omitempty" protobuf:"bytes,4,rep,name=validationActions"`
}
@@ -532,7 +541,7 @@ type ParamRef struct {
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,3,rep,name=selector"`
- // `parameterNotFoundAction` controls the behavior of the binding when the resource
+ // parameterNotFoundAction controls the behavior of the binding when the resource
// exists, and name or selector is valid, but there are no parameters
// matched by the binding. If the value is set to `Allow`, then no
// matched parameters will be treated as successful validation by the binding.
@@ -550,7 +559,7 @@ type ParamRef struct {
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +structType=atomic
type MatchResources struct {
- // NamespaceSelector decides whether to run the admission control policy on an object based
+ // namespaceSelector decides whether to run the admission control policy on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -595,7 +604,7 @@ type MatchResources struct {
// Default to the empty LabelSelector, which matches everything.
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,1,opt,name=namespaceSelector"`
- // ObjectSelector decides whether to run the validation based on if the
+ // objectSelector decides whether to run the validation based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the cel validation, and
// is considered to match if either object matches the selector. A null
@@ -608,12 +617,12 @@ type MatchResources struct {
// Default to the empty LabelSelector, which matches everything.
// +optional
ObjectSelector *metav1.LabelSelector `json:"objectSelector,omitempty" protobuf:"bytes,2,opt,name=objectSelector"`
- // ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches.
+ // resourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches.
// The policy cares about an operation if it matches _any_ Rule.
// +listType=atomic
// +optional
ResourceRules []NamedRuleWithOperations `json:"resourceRules,omitempty" protobuf:"bytes,3,rep,name=resourceRules"`
- // ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about.
+ // excludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about.
// The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
// +listType=atomic
// +optional
@@ -657,12 +666,12 @@ const (
// NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
// +structType=atomic
type NamedRuleWithOperations struct {
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
// +listType=atomic
// +optional
ResourceNames []string `json:"resourceNames,omitempty" protobuf:"bytes,1,rep,name=resourceNames"`
// RuleWithOperations is a tuple of Operations and Resources.
- RuleWithOperations `json:",inline" protobuf:"bytes,2,opt,name=ruleWithOperations"`
+ RuleWithOperations `json:"" protobuf:"bytes,2,opt,name=ruleWithOperations"`
}
// +genclient
@@ -676,11 +685,11 @@ type NamedRuleWithOperations struct {
// ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.
// Deprecated in v1.16, planned for removal in v1.19. Use admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration instead.
type ValidatingWebhookConfiguration struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Webhooks is a list of webhooks and the affected resources and operations.
+ // webhooks is a list of webhooks and the affected resources and operations.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
@@ -697,8 +706,8 @@ type ValidatingWebhookConfiguration struct {
// ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.
type ValidatingWebhookConfigurationList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -717,11 +726,11 @@ type ValidatingWebhookConfigurationList struct {
// MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object.
// Deprecated in v1.16, planned for removal in v1.19. Use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration instead.
type MutatingWebhookConfiguration struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Webhooks is a list of webhooks and the affected resources and operations.
+ // webhooks is a list of webhooks and the affected resources and operations.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
@@ -738,8 +747,8 @@ type MutatingWebhookConfiguration struct {
// MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.
type MutatingWebhookConfigurationList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -749,18 +758,18 @@ type MutatingWebhookConfigurationList struct {
// ValidatingWebhook describes an admission webhook and the resources and operations it applies to.
type ValidatingWebhook struct {
- // The name of the admission webhook.
+ // name is the name of the admission webhook.
// Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where
// "imagepolicy" is the name of the webhook, and kubernetes.io is the name
// of the organization.
// Required.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
- // ClientConfig defines how to communicate with the hook.
+ // clientConfig defines how to communicate with the hook.
// Required
ClientConfig WebhookClientConfig `json:"clientConfig" protobuf:"bytes,2,opt,name=clientConfig"`
- // Rules describes what operations on what resources/subresources the webhook cares about.
+ // rules describes what operations on what resources/subresources the webhook cares about.
// The webhook cares about an operation if it matches _any_ Rule.
// However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
// from putting the cluster in a state which cannot be recovered from without completely
@@ -769,7 +778,7 @@ type ValidatingWebhook struct {
// +listType=atomic
Rules []RuleWithOperations `json:"rules,omitempty" protobuf:"bytes,3,rep,name=rules"`
- // FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
+ // failurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Ignore.
// +optional
FailurePolicy *FailurePolicyType `json:"failurePolicy,omitempty" protobuf:"bytes,4,opt,name=failurePolicy,casttype=FailurePolicyType"`
@@ -791,7 +800,7 @@ type ValidatingWebhook struct {
// +optional
MatchPolicy *MatchPolicyType `json:"matchPolicy,omitempty" protobuf:"bytes,9,opt,name=matchPolicy,casttype=MatchPolicyType"`
- // NamespaceSelector decides whether to run the webhook on an object based
+ // namespaceSelector decides whether to run the webhook on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -837,7 +846,7 @@ type ValidatingWebhook struct {
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,5,opt,name=namespaceSelector"`
- // ObjectSelector decides whether to run the webhook based on if the
+ // objectSelector decides whether to run the webhook based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the webhook, and
// is considered to match if either object matches the selector. A null
@@ -851,7 +860,7 @@ type ValidatingWebhook struct {
// +optional
ObjectSelector *metav1.LabelSelector `json:"objectSelector,omitempty" protobuf:"bytes,10,opt,name=objectSelector"`
- // SideEffects states whether this webhook has side effects.
+ // sideEffects states whether this webhook has side effects.
// Acceptable values are: Unknown, None, Some, NoneOnDryRun
// Webhooks with side effects MUST implement a reconciliation system, since a request may be
// rejected by a future step in the admission chain and the side effects therefore need to be undone.
@@ -861,7 +870,7 @@ type ValidatingWebhook struct {
// +listType=atomic
SideEffects *SideEffectClass `json:"sideEffects,omitempty" protobuf:"bytes,6,opt,name=sideEffects,casttype=SideEffectClass"`
- // TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
+ // timeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// The timeout value must be between 1 and 30 seconds.
@@ -869,7 +878,7 @@ type ValidatingWebhook struct {
// +optional
TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty" protobuf:"varint,7,opt,name=timeoutSeconds"`
- // AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
+ // admissionReviewVersions is an ordered list of preferred `AdmissionReview`
// versions the Webhook expects. API server will try to use first version in
// the list which it supports. If none of the versions specified in this list
// supported by API server, validation will fail for this object.
@@ -881,7 +890,7 @@ type ValidatingWebhook struct {
// +listType=atomic
AdmissionReviewVersions []string `json:"admissionReviewVersions,omitempty" protobuf:"bytes,8,rep,name=admissionReviewVersions"`
- // MatchConditions is a list of conditions that must be met for a request to be sent to this
+ // matchConditions is a list of conditions that must be met for a request to be sent to this
// webhook. Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -903,18 +912,18 @@ type ValidatingWebhook struct {
// MutatingWebhook describes an admission webhook and the resources and operations it applies to.
type MutatingWebhook struct {
- // The name of the admission webhook.
+ // name is the name of the admission webhook.
// Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where
// "imagepolicy" is the name of the webhook, and kubernetes.io is the name
// of the organization.
// Required.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
- // ClientConfig defines how to communicate with the hook.
+ // clientConfig defines how to communicate with the hook.
// Required
ClientConfig WebhookClientConfig `json:"clientConfig" protobuf:"bytes,2,opt,name=clientConfig"`
- // Rules describes what operations on what resources/subresources the webhook cares about.
+ // rules describes what operations on what resources/subresources the webhook cares about.
// The webhook cares about an operation if it matches _any_ Rule.
// However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
// from putting the cluster in a state which cannot be recovered from without completely
@@ -923,7 +932,7 @@ type MutatingWebhook struct {
// +listType=atomic
Rules []RuleWithOperations `json:"rules,omitempty" protobuf:"bytes,3,rep,name=rules"`
- // FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
+ // failurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Ignore.
// +optional
FailurePolicy *FailurePolicyType `json:"failurePolicy,omitempty" protobuf:"bytes,4,opt,name=failurePolicy,casttype=FailurePolicyType"`
@@ -945,7 +954,7 @@ type MutatingWebhook struct {
// +optional
MatchPolicy *MatchPolicyType `json:"matchPolicy,omitempty" protobuf:"bytes,9,opt,name=matchPolicy,casttype=MatchPolicyType"`
- // NamespaceSelector decides whether to run the webhook on an object based
+ // namespaceSelector decides whether to run the webhook on an object based
// on whether the namespace for that object matches the selector. If the
// object itself is a namespace, the matching is performed on
// object.metadata.labels. If the object is another cluster scoped resource,
@@ -991,7 +1000,7 @@ type MutatingWebhook struct {
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,5,opt,name=namespaceSelector"`
- // ObjectSelector decides whether to run the webhook based on if the
+ // objectSelector decides whether to run the webhook based on if the
// object has matching labels. objectSelector is evaluated against both
// the oldObject and newObject that would be sent to the webhook, and
// is considered to match if either object matches the selector. A null
@@ -1005,7 +1014,7 @@ type MutatingWebhook struct {
// +optional
ObjectSelector *metav1.LabelSelector `json:"objectSelector,omitempty" protobuf:"bytes,11,opt,name=objectSelector"`
- // SideEffects states whether this webhook has side effects.
+ // sideEffects states whether this webhook has side effects.
// Acceptable values are: Unknown, None, Some, NoneOnDryRun
// Webhooks with side effects MUST implement a reconciliation system, since a request may be
// rejected by a future step in the admission chain and the side effects therefore need to be undone.
@@ -1014,7 +1023,7 @@ type MutatingWebhook struct {
// +optional
SideEffects *SideEffectClass `json:"sideEffects,omitempty" protobuf:"bytes,6,opt,name=sideEffects,casttype=SideEffectClass"`
- // TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
+ // timeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// The timeout value must be between 1 and 30 seconds.
@@ -1022,7 +1031,7 @@ type MutatingWebhook struct {
// +optional
TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty" protobuf:"varint,7,opt,name=timeoutSeconds"`
- // AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
+ // admissionReviewVersions is an ordered list of preferred `AdmissionReview`
// versions the Webhook expects. API server will try to use first version in
// the list which it supports. If none of the versions specified in this list
// supported by API server, validation will fail for this object.
@@ -1052,7 +1061,7 @@ type MutatingWebhook struct {
// +optional
ReinvocationPolicy *ReinvocationPolicyType `json:"reinvocationPolicy,omitempty" protobuf:"bytes,10,opt,name=reinvocationPolicy,casttype=ReinvocationPolicyType"`
- // MatchConditions is a list of conditions that must be met for a request to be sent to this
+ // matchConditions is a list of conditions that must be met for a request to be sent to this
// webhook. Match conditions filter requests that have already been matched by the rules,
// namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests.
// There are a maximum of 64 match conditions allowed.
@@ -1107,7 +1116,7 @@ const (
// WebhookClientConfig contains the information to make a TLS
// connection with the webhook
type WebhookClientConfig struct {
- // `url` gives the location of the webhook, in standard URL form
+ // url gives the location of the webhook, in standard URL form
// (`scheme://host:port/path`). Exactly one of `url` or `service`
// must be specified.
//
@@ -1136,7 +1145,7 @@ type WebhookClientConfig struct {
// +optional
URL *string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"`
- // `service` is a reference to the service for this webhook. Either
+ // service is a reference to the service for this webhook. Either
// `service` or `url` must be specified.
//
// If the webhook is running within the cluster, then you should use `service`.
@@ -1144,7 +1153,7 @@ type WebhookClientConfig struct {
// +optional
Service *ServiceReference `json:"service,omitempty" protobuf:"bytes,1,opt,name=service"`
- // `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
+ // caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
// If unspecified, system trust roots on the apiserver are used.
// +optional
CABundle []byte `json:"caBundle,omitempty" protobuf:"bytes,2,opt,name=caBundle"`
@@ -1152,28 +1161,28 @@ type WebhookClientConfig struct {
// ServiceReference holds a reference to Service.legacy.k8s.io
type ServiceReference struct {
- // `namespace` is the namespace of the service.
+ // namespace is the namespace of the service.
// Required
Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
- // `name` is the name of the service.
+ // name is the name of the service.
// Required
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
- // `path` is an optional URL path which will be sent in any request to
+ // path is an optional URL path which will be sent in any request to
// this service.
// +optional
Path *string `json:"path,omitempty" protobuf:"bytes,3,opt,name=path"`
- // If specified, the port on the service that hosting webhook.
+ // port is the port on the service that hosts the webhook.
// Default to 443 for backward compatibility.
- // `port` should be a valid port number (1-65535, inclusive).
+ // port should be a valid port number (1-65535, inclusive).
// +optional
Port *int32 `json:"port,omitempty" protobuf:"varint,4,opt,name=port"`
}
// MatchCondition represents a condition which must be fulfilled for a request to be sent to a webhook.
type MatchCondition struct {
- // Name is an identifier for this match condition, used for strategic merging of MatchConditions,
+ // name is an identifier for this match condition, used for strategic merging of MatchConditions,
// as well as providing an identifier for logging purposes. A good name should be descriptive of
// the associated expression.
// Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and
@@ -1184,7 +1193,7 @@ type MatchCondition struct {
// Required.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
- // Expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
+ // expression represents the expression which will be evaluated by CEL. Must evaluate to bool.
// CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
//
// 'object' - The object from the incoming request. The value is null for DELETE requests.
@@ -1204,24 +1213,26 @@ type MatchCondition struct {
// +genclient:nonNamespaced
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.34
+// +k8s:prerelease-lifecycle-gen:replacement=admissionregistration.k8s.io,v1,MutatingAdmissionPolicy
// MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
type MutatingAdmissionPolicy struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the MutatingAdmissionPolicy.
+ // spec defines the desired behavior of the MutatingAdmissionPolicy.
Spec MutatingAdmissionPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.34
+// +k8s:prerelease-lifecycle-gen:replacement=admissionregistration.k8s.io,v1,MutatingAdmissionPolicyList
// MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.
type MutatingAdmissionPolicyList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -1467,6 +1478,7 @@ type JSONPatch struct {
// +genclient:nonNamespaced
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.34
+// +k8s:prerelease-lifecycle-gen:replacement=admissionregistration.k8s.io,v1,MutatingAdmissionPolicyBinding
// MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources.
// MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators
@@ -1480,21 +1492,22 @@ type JSONPatch struct {
// Adding/removing policies, bindings, or params can not affect whether a
// given (policy, binding, param) combination is within its own CEL budget.
type MutatingAdmissionPolicyBinding struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
+ // spec defines the desired behavior of the MutatingAdmissionPolicyBinding.
Spec MutatingAdmissionPolicyBindingSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.34
+// +k8s:prerelease-lifecycle-gen:replacement=admissionregistration.k8s.io,v1,MutatingAdmissionPolicyBindingList
// MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.
type MutatingAdmissionPolicyBindingList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
diff --git a/vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go
index 1a97c9472..0fcf37aa1 100644
--- a/vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go
@@ -48,8 +48,8 @@ func (AuditAnnotation) SwaggerDoc() map[string]string {
var map_ExpressionWarning = map[string]string{
"": "ExpressionWarning is a warning information that targets a specific expression.",
- "fieldRef": "The path to the field that refers the expression. For example, the reference to the expression of the first item of validations is \"spec.validations[0].expression\"",
- "warning": "The content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.",
+ "fieldRef": "fieldRef is the path to the field that refers to the expression. For example, the reference to the expression of the first item of validations is \"spec.validations[0].expression\"",
+ "warning": "warning contains the content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.",
}
func (ExpressionWarning) SwaggerDoc() map[string]string {
@@ -67,8 +67,8 @@ func (JSONPatch) SwaggerDoc() map[string]string {
var map_MatchCondition = map[string]string{
"": "MatchCondition represents a condition which must be fulfilled for a request to be sent to a webhook.",
- "name": "Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')\n\nRequired.",
- "expression": "Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:\n\n'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\nDocumentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/\n\nRequired.",
+ "name": "name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')\n\nRequired.",
+ "expression": "expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:\n\n'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\nDocumentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/\n\nRequired.",
}
func (MatchCondition) SwaggerDoc() map[string]string {
@@ -77,10 +77,10 @@ func (MatchCondition) SwaggerDoc() map[string]string {
var map_MatchResources = map[string]string{
"": "MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
- "namespaceSelector": "NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the policy on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
- "objectSelector": "ObjectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
- "resourceRules": "ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.",
- "excludeResourceRules": "ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
+ "namespaceSelector": "namespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the policy on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
+ "objectSelector": "objectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
+ "resourceRules": "resourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.",
+ "excludeResourceRules": "excludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
"matchPolicy": "matchPolicy defines how the \"MatchResources\" list is used to match incoming requests. Allowed values are \"Exact\" or \"Equivalent\".\n\n- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.\n\n- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.\n\nDefaults to \"Equivalent\"",
}
@@ -90,8 +90,8 @@ func (MatchResources) SwaggerDoc() map[string]string {
var map_MutatingAdmissionPolicy = map[string]string{
"": "MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the MutatingAdmissionPolicy.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the MutatingAdmissionPolicy.",
}
func (MutatingAdmissionPolicy) SwaggerDoc() map[string]string {
@@ -100,8 +100,8 @@ func (MutatingAdmissionPolicy) SwaggerDoc() map[string]string {
var map_MutatingAdmissionPolicyBinding = map[string]string{
"": "MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources. MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators configure policies for clusters.\n\nFor a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding. Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).\n\nAdding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the MutatingAdmissionPolicyBinding.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the MutatingAdmissionPolicyBinding.",
}
func (MutatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
@@ -110,7 +110,7 @@ func (MutatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
var map_MutatingAdmissionPolicyBindingList = map[string]string{
"": "MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of PolicyBinding.",
}
@@ -131,7 +131,7 @@ func (MutatingAdmissionPolicyBindingSpec) SwaggerDoc() map[string]string {
var map_MutatingAdmissionPolicyList = map[string]string{
"": "MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of ValidatingAdmissionPolicy.",
}
@@ -156,18 +156,18 @@ func (MutatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
var map_MutatingWebhook = map[string]string{
"": "MutatingWebhook describes an admission webhook and the resources and operations it applies to.",
- "name": "The name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where \"imagepolicy\" is the name of the webhook, and kubernetes.io is the name of the organization. Required.",
- "clientConfig": "ClientConfig defines how to communicate with the hook. Required",
- "rules": "Rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches _any_ Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.",
- "failurePolicy": "FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.",
+ "name": "name is the name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where \"imagepolicy\" is the name of the webhook, and kubernetes.io is the name of the organization. Required.",
+ "clientConfig": "clientConfig defines how to communicate with the hook. Required",
+ "rules": "rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches _any_ Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.",
+ "failurePolicy": "failurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.",
"matchPolicy": "matchPolicy defines how the \"rules\" list is used to match incoming requests. Allowed values are \"Exact\" or \"Equivalent\".\n\n- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.\n\n- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook.\n\nDefaults to \"Exact\"",
- "namespaceSelector": "NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
- "objectSelector": "ObjectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
- "sideEffects": "SideEffects states whether this webhook has side effects. Acceptable values are: Unknown, None, Some, NoneOnDryRun Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some. Defaults to Unknown.",
- "timeoutSeconds": "TimeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 30 seconds.",
- "admissionReviewVersions": "AdmissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy. Default to `['v1beta1']`.",
+ "namespaceSelector": "namespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
+ "objectSelector": "objectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
+ "sideEffects": "sideEffects states whether this webhook has side effects. Acceptable values are: Unknown, None, Some, NoneOnDryRun Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some. Defaults to Unknown.",
+ "timeoutSeconds": "timeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 30 seconds.",
+ "admissionReviewVersions": "admissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy. Default to `['v1beta1']`.",
"reinvocationPolicy": "reinvocationPolicy indicates whether this webhook should be called multiple times as part of a single admission evaluation. Allowed values are \"Never\" and \"IfNeeded\".\n\nNever: the webhook will not be called more than once in a single admission evaluation.\n\nIfNeeded: the webhook will be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial webhook call. Webhooks that specify this option *must* be idempotent, able to process objects they previously admitted. Note: * the number of additional invocations is not guaranteed to be exactly one. * if additional invocations result in further modifications to the object, webhooks are not guaranteed to be invoked again. * webhooks that use this option may be reordered to minimize the number of additional invocations. * to validate an object after all mutations are guaranteed complete, use a validating admission webhook instead.\n\nDefaults to \"Never\".",
- "matchConditions": "MatchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the webhook is called.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the error is ignored and the webhook is skipped",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the webhook is called.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the error is ignored and the webhook is skipped",
}
func (MutatingWebhook) SwaggerDoc() map[string]string {
@@ -176,8 +176,8 @@ func (MutatingWebhook) SwaggerDoc() map[string]string {
var map_MutatingWebhookConfiguration = map[string]string{
"": "MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object. Deprecated in v1.16, planned for removal in v1.19. Use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration instead.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "webhooks": "Webhooks is a list of webhooks and the affected resources and operations.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "webhooks": "webhooks is a list of webhooks and the affected resources and operations.",
}
func (MutatingWebhookConfiguration) SwaggerDoc() map[string]string {
@@ -186,7 +186,7 @@ func (MutatingWebhookConfiguration) SwaggerDoc() map[string]string {
var map_MutatingWebhookConfigurationList = map[string]string{
"": "MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of MutatingWebhookConfiguration.",
}
@@ -207,7 +207,7 @@ func (Mutation) SwaggerDoc() map[string]string {
var map_NamedRuleWithOperations = map[string]string{
"": "NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.",
- "resourceNames": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.",
+ "resourceNames": "resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.",
}
func (NamedRuleWithOperations) SwaggerDoc() map[string]string {
@@ -216,8 +216,8 @@ func (NamedRuleWithOperations) SwaggerDoc() map[string]string {
var map_ParamKind = map[string]string{
"": "ParamKind is a tuple of Group Kind and Version.",
- "apiVersion": "APIVersion is the API group version the resources belong to. In format of \"group/version\". Required.",
- "kind": "Kind is the API kind the resources belong to. Required.",
+ "apiVersion": "apiVersion is the API group version the resources belong to. In format of \"group/version\". Required.",
+ "kind": "kind is the API kind the resources belong to. Required.",
}
func (ParamKind) SwaggerDoc() map[string]string {
@@ -229,7 +229,7 @@ var map_ParamRef = map[string]string{
"name": "name is the name of the resource being referenced.\n\nOne of `name` or `selector` must be set, but `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.\n\nA single parameter used for all admission requests can be configured by setting the `name` field, leaving `selector` blank, and setting namespace if `paramKind` is namespace-scoped.",
"namespace": "namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.\n\nA per-namespace parameter may be used by specifying a namespace-scoped `paramKind` in the policy and leaving this field empty.\n\n- If `paramKind` is cluster-scoped, this field MUST be unset. Setting this field results in a configuration error.\n\n- If `paramKind` is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.",
"selector": "selector can be used to match multiple param objects based on their labels. Supply selector: {} to match all resources of the ParamKind.\n\nIf multiple params are found, they are all evaluated with the policy expressions and the results are ANDed together.\n\nOne of `name` or `selector` must be set, but `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.",
- "parameterNotFoundAction": "`parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.\n\nAllowed values are `Allow` or `Deny`\n\nRequired",
+ "parameterNotFoundAction": "parameterNotFoundAction controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.\n\nAllowed values are `Allow` or `Deny`\n\nRequired",
}
func (ParamRef) SwaggerDoc() map[string]string {
@@ -238,10 +238,10 @@ func (ParamRef) SwaggerDoc() map[string]string {
var map_ServiceReference = map[string]string{
"": "ServiceReference holds a reference to Service.legacy.k8s.io",
- "namespace": "`namespace` is the namespace of the service. Required",
- "name": "`name` is the name of the service. Required",
- "path": "`path` is an optional URL path which will be sent in any request to this service.",
- "port": "If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. `port` should be a valid port number (1-65535, inclusive).",
+ "namespace": "namespace is the namespace of the service. Required",
+ "name": "name is the name of the service. Required",
+ "path": "path is an optional URL path which will be sent in any request to this service.",
+ "port": "port is the port on the service that hosts the webhook. Default to 443 for backward compatibility. port should be a valid port number (1-65535, inclusive).",
}
func (ServiceReference) SwaggerDoc() map[string]string {
@@ -250,7 +250,7 @@ func (ServiceReference) SwaggerDoc() map[string]string {
var map_TypeChecking = map[string]string{
"": "TypeChecking contains results of type checking the expressions in the ValidatingAdmissionPolicy",
- "expressionWarnings": "The type checking warnings for each expression.",
+ "expressionWarnings": "expressionWarnings contains the type checking warnings for each expression.",
}
func (TypeChecking) SwaggerDoc() map[string]string {
@@ -259,9 +259,9 @@ func (TypeChecking) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicy = map[string]string{
"": "ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the ValidatingAdmissionPolicy.",
- "status": "The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy behaves in the expected way. Populated by the system. Read-only.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the ValidatingAdmissionPolicy.",
+ "status": "status represents the current status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy behaves in the expected way. Populated by the system. Read-only.",
}
func (ValidatingAdmissionPolicy) SwaggerDoc() map[string]string {
@@ -270,8 +270,8 @@ func (ValidatingAdmissionPolicy) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBinding = map[string]string{
"": "ValidatingAdmissionPolicyBinding binds the ValidatingAdmissionPolicy with paramerized resources. ValidatingAdmissionPolicyBinding and parameter CRDs together define how cluster administrators configure policies for clusters.\n\nFor a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding.\n\nThe CEL expressions of a policy must have a computed CEL cost below the maximum CEL budget. Each evaluation of the policy is given an independent CEL cost budget. Adding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "spec": "Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the desired behavior of the ValidatingAdmissionPolicyBinding.",
}
func (ValidatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
@@ -280,7 +280,7 @@ func (ValidatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBindingList = map[string]string{
"": "ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of PolicyBinding.",
}
@@ -290,9 +290,9 @@ func (ValidatingAdmissionPolicyBindingList) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyBindingSpec = map[string]string{
"": "ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.",
- "policyName": "PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.",
+ "policyName": "policyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.",
"paramRef": "paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.",
- "matchResources": "MatchResources declares what resources match this binding and will be validated by it. Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this. If this is unset, all resources matched by the policy are validated by this binding When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated. Note that this is differs from ValidatingAdmissionPolicy matchConstraints, where resourceRules are required.",
+ "matchResources": "matchResources declares what resources match this binding and will be validated by it. Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this. If this is unset, all resources matched by the policy are validated by this binding When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated. Note that this is differs from ValidatingAdmissionPolicy matchConstraints, where resourceRules are required.",
"validationActions": "validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.\n\nFailures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according to these actions only if the FailurePolicy is set to Fail, otherwise the failures are ignored. This includes compilation errors, runtime errors and misconfigurations of the policy.\n\nvalidationActions is declared as a set of action values. Order does not matter. validationActions may not contain duplicates of the same action.\n\nThe supported actions values are:\n\n\"Deny\" specifies that a validation failure results in a denied request.\n\n\"Warn\" specifies that a validation failure is reported to the request client in HTTP Warning headers, with a warning code of 299. Warnings can be sent both for allowed or denied admission responses.\n\n\"Audit\" specifies that a validation failure is included in the published audit event for the request. The audit event will contain a `validation.policy.admission.k8s.io/validation_failure` audit annotation with a value containing the details of the validation failures, formatted as a JSON list of objects, each with the following fields: - message: The validation failure message string - policy: The resource name of the ValidatingAdmissionPolicy - binding: The resource name of the ValidatingAdmissionPolicyBinding - expressionIndex: The index of the failed validations in the ValidatingAdmissionPolicy - validationActions: The enforcement actions enacted for the validation failure Example audit annotation: `\"validation.policy.admission.k8s.io/validation_failure\": \"[{\"message\": \"Invalid value\", {\"policy\": \"policy.example.com\", {\"binding\": \"policybinding.example.com\", {\"expressionIndex\": \"1\", {\"validationActions\": [\"Audit\"]}]\"`\n\nClients should expect to handle additional values by ignoring any values not recognized.\n\n\"Deny\" and \"Warn\" may not be used together since this combination needlessly duplicates the validation failure both in the API response body and the HTTP warning headers.\n\nRequired.",
}
@@ -302,7 +302,7 @@ func (ValidatingAdmissionPolicyBindingSpec) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyList = map[string]string{
"": "ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of ValidatingAdmissionPolicy.",
}
@@ -312,13 +312,13 @@ func (ValidatingAdmissionPolicyList) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicySpec = map[string]string{
"": "ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.",
- "paramKind": "ParamKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.",
- "matchConstraints": "MatchConstraints specifies what resources this policy is designed to validate. The AdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding. Required.",
- "validations": "Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.",
+ "paramKind": "paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.",
+ "matchConstraints": "matchConstraints specifies what resources this policy is designed to validate. The AdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding. Required.",
+ "validations": "validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.",
"failurePolicy": "failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.\n\nA policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.\n\nfailurePolicy does not define how validations that evaluate to false are handled.\n\nWhen failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.\n\nAllowed values are Ignore or Fail. Defaults to Fail.",
"auditAnnotations": "auditAnnotations contains CEL expressions which are used to produce audit annotations for the audit event of the API request. validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is required.",
- "matchConditions": "MatchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nIf a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the policy is skipped",
- "variables": "Variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except MatchConditions because MatchConditions are evaluated before the rest of the policy.\n\nThe expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, Variables must be sorted by the order of first appearance and acyclic.",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nIf a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the policy is skipped",
+ "variables": "variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except MatchConditions because MatchConditions are evaluated before the rest of the policy.\n\nThe expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, Variables must be sorted by the order of first appearance and acyclic.",
}
func (ValidatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
@@ -327,9 +327,9 @@ func (ValidatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
var map_ValidatingAdmissionPolicyStatus = map[string]string{
"": "ValidatingAdmissionPolicyStatus represents the status of an admission validation policy.",
- "observedGeneration": "The generation observed by the controller.",
- "typeChecking": "The results of type checking for each expression. Presence of this field indicates the completion of the type checking.",
- "conditions": "The conditions represent the latest available observations of a policy's current state.",
+ "observedGeneration": "observedGeneration is the generation observed by the controller.",
+ "typeChecking": "typeChecking contains the results of type checking for each expression. Presence of this field indicates the completion of the type checking.",
+ "conditions": "conditions represent the latest available observations of a policy's current state.",
}
func (ValidatingAdmissionPolicyStatus) SwaggerDoc() map[string]string {
@@ -338,17 +338,17 @@ func (ValidatingAdmissionPolicyStatus) SwaggerDoc() map[string]string {
var map_ValidatingWebhook = map[string]string{
"": "ValidatingWebhook describes an admission webhook and the resources and operations it applies to.",
- "name": "The name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where \"imagepolicy\" is the name of the webhook, and kubernetes.io is the name of the organization. Required.",
- "clientConfig": "ClientConfig defines how to communicate with the hook. Required",
- "rules": "Rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches _any_ Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.",
- "failurePolicy": "FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.",
+ "name": "name is the name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where \"imagepolicy\" is the name of the webhook, and kubernetes.io is the name of the organization. Required.",
+ "clientConfig": "clientConfig defines how to communicate with the hook. Required",
+ "rules": "rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches _any_ Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.",
+ "failurePolicy": "failurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.",
"matchPolicy": "matchPolicy defines how the \"rules\" list is used to match incoming requests. Allowed values are \"Exact\" or \"Equivalent\".\n\n- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.\n\n- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and \"rules\" only included `apiGroups:[\"apps\"], apiVersions:[\"v1\"], resources: [\"deployments\"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook.\n\nDefaults to \"Exact\"",
- "namespaceSelector": "NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
- "objectSelector": "ObjectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
- "sideEffects": "SideEffects states whether this webhook has side effects. Acceptable values are: Unknown, None, Some, NoneOnDryRun Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some. Defaults to Unknown.",
- "timeoutSeconds": "TimeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 30 seconds.",
- "admissionReviewVersions": "AdmissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy. Default to `['v1beta1']`.",
- "matchConditions": "MatchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the webhook is called.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the error is ignored and the webhook is skipped",
+ "namespaceSelector": "namespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
+ "objectSelector": "objectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.",
+ "sideEffects": "sideEffects states whether this webhook has side effects. Acceptable values are: Unknown, None, Some, NoneOnDryRun Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some. Defaults to Unknown.",
+ "timeoutSeconds": "timeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 30 seconds.",
+ "admissionReviewVersions": "admissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy. Default to `['v1beta1']`.",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the webhook is called.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the error is ignored and the webhook is skipped",
}
func (ValidatingWebhook) SwaggerDoc() map[string]string {
@@ -357,8 +357,8 @@ func (ValidatingWebhook) SwaggerDoc() map[string]string {
var map_ValidatingWebhookConfiguration = map[string]string{
"": "ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it. Deprecated in v1.16, planned for removal in v1.19. Use admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration instead.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
- "webhooks": "Webhooks is a list of webhooks and the affected resources and operations.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "webhooks": "webhooks is a list of webhooks and the affected resources and operations.",
}
func (ValidatingWebhookConfiguration) SwaggerDoc() map[string]string {
@@ -367,7 +367,7 @@ func (ValidatingWebhookConfiguration) SwaggerDoc() map[string]string {
var map_ValidatingWebhookConfigurationList = map[string]string{
"": "ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"items": "List of ValidatingWebhookConfiguration.",
}
@@ -377,9 +377,9 @@ func (ValidatingWebhookConfigurationList) SwaggerDoc() map[string]string {
var map_Validation = map[string]string{
"": "Validation specifies the CEL expression which is used to apply the validation.",
- "expression": "Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", \"const\", \"continue\", \"else\", \"for\", \"function\", \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", \"return\".\nExamples:\n - Expression accessing a property named \"namespace\": {\"Expression\": \"object.__namespace__ > 0\"}\n - Expression accessing a property named \"x-prop\": {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression accessing a property named \"redact__d\": {\"Expression\": \"object.redact__underscores__d > 0\"}\n\nEquality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:\n - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and\n non-intersecting elements in `Y` are appended, retaining their partial order.\n - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values\n are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with\n non-intersecting keys are appended, retaining their partial order.\nRequired.",
- "message": "Message represents the message displayed when validation fails. The message is required if the Expression contains line breaks. The message must not contain line breaks. If unset, the message is \"failed rule: {Rule}\". e.g. \"must be a URL with the host matching spec.host\" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is \"failed Expression: {Expression}\".",
- "reason": "Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: \"Unauthorized\", \"Forbidden\", \"Invalid\", \"RequestEntityTooLarge\". If not set, StatusReasonInvalid is used in the response to the client.",
+ "expression": "expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", \"const\", \"continue\", \"else\", \"for\", \"function\", \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", \"return\".\nExamples:\n - Expression accessing a property named \"namespace\": {\"Expression\": \"object.__namespace__ > 0\"}\n - Expression accessing a property named \"x-prop\": {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression accessing a property named \"redact__d\": {\"Expression\": \"object.redact__underscores__d > 0\"}\n\nEquality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:\n - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and\n non-intersecting elements in `Y` are appended, retaining their partial order.\n - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values\n are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with\n non-intersecting keys are appended, retaining their partial order.\nRequired.",
+ "message": "message represents the message displayed when validation fails. The message is required if the Expression contains line breaks. The message must not contain line breaks. If unset, the message is \"failed rule: {Rule}\". e.g. \"must be a URL with the host matching spec.host\" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is \"failed Expression: {Expression}\".",
+ "reason": "reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: \"Unauthorized\", \"Forbidden\", \"Invalid\", \"RequestEntityTooLarge\". If not set, StatusReasonInvalid is used in the response to the client.",
"messageExpression": "messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: \"object.x must be less than max (\"+string(params.max)+\")\"",
}
@@ -389,8 +389,8 @@ func (Validation) SwaggerDoc() map[string]string {
var map_Variable = map[string]string{
"": "Variable is the definition of a variable that is used for composition. A variable is defined as a named expression.",
- "name": "Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is \"foo\", the variable will be available as `variables.foo`",
- "expression": "Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.",
+ "name": "name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is \"foo\", the variable will be available as `variables.foo`",
+ "expression": "expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.",
}
func (Variable) SwaggerDoc() map[string]string {
@@ -399,9 +399,9 @@ func (Variable) SwaggerDoc() map[string]string {
var map_WebhookClientConfig = map[string]string{
"": "WebhookClientConfig contains the information to make a TLS connection with the webhook",
- "url": "`url` gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified.\n\nThe `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.\n\nPlease note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.\n\nThe scheme must be \"https\"; the URL must begin with \"https://\".\n\nA path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.\n\nAttempting to use a user or basic auth e.g. \"user:password@\" is not allowed. Fragments (\"#...\") and query parameters (\"?...\") are not allowed, either.",
- "service": "`service` is a reference to the service for this webhook. Either `service` or `url` must be specified.\n\nIf the webhook is running within the cluster, then you should use `service`.",
- "caBundle": "`caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.",
+ "url": "url gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified.\n\nThe `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.\n\nPlease note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.\n\nThe scheme must be \"https\"; the URL must begin with \"https://\".\n\nA path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.\n\nAttempting to use a user or basic auth e.g. \"user:password@\" is not allowed. Fragments (\"#...\") and query parameters (\"?...\") are not allowed, either.",
+ "service": "service is a reference to the service for this webhook. Either `service` or `url` must be specified.\n\nIf the webhook is running within the cluster, then you should use `service`.",
+ "caBundle": "caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.",
}
func (WebhookClientConfig) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.prerelease-lifecycle.go
index 4fc0596b3..80064734e 100644
--- a/vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.prerelease-lifecycle.go
+++ b/vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.prerelease-lifecycle.go
@@ -37,6 +37,12 @@ func (in *MutatingAdmissionPolicy) APILifecycleDeprecated() (major, minor int) {
return 1, 37
}
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
+func (in *MutatingAdmissionPolicy) APILifecycleReplacement() schema.GroupVersionKind {
+ return schema.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1", Kind: "MutatingAdmissionPolicy"}
+}
+
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *MutatingAdmissionPolicy) APILifecycleRemoved() (major, minor int) {
@@ -55,6 +61,12 @@ func (in *MutatingAdmissionPolicyBinding) APILifecycleDeprecated() (major, minor
return 1, 37
}
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
+func (in *MutatingAdmissionPolicyBinding) APILifecycleReplacement() schema.GroupVersionKind {
+ return schema.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1", Kind: "MutatingAdmissionPolicyBinding"}
+}
+
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *MutatingAdmissionPolicyBinding) APILifecycleRemoved() (major, minor int) {
@@ -73,6 +85,12 @@ func (in *MutatingAdmissionPolicyBindingList) APILifecycleDeprecated() (major, m
return 1, 37
}
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
+func (in *MutatingAdmissionPolicyBindingList) APILifecycleReplacement() schema.GroupVersionKind {
+ return schema.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1", Kind: "MutatingAdmissionPolicyBindingList"}
+}
+
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *MutatingAdmissionPolicyBindingList) APILifecycleRemoved() (major, minor int) {
@@ -91,6 +109,12 @@ func (in *MutatingAdmissionPolicyList) APILifecycleDeprecated() (major, minor in
return 1, 37
}
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
+func (in *MutatingAdmissionPolicyList) APILifecycleReplacement() schema.GroupVersionKind {
+ return schema.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1", Kind: "MutatingAdmissionPolicyList"}
+}
+
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *MutatingAdmissionPolicyList) APILifecycleRemoved() (major, minor int) {
diff --git a/vendor/k8s.io/api/apidiscovery/v2/generated.proto b/vendor/k8s.io/api/apidiscovery/v2/generated.proto
index 62f2d7f2c..e42fec471 100644
--- a/vendor/k8s.io/api/apidiscovery/v2/generated.proto
+++ b/vendor/k8s.io/api/apidiscovery/v2/generated.proto
@@ -32,18 +32,20 @@ option go_package = "k8s.io/api/apidiscovery/v2";
// It contains a list of APIVersionDiscovery that holds a list of APIResourceDiscovery types served for a version.
// Versions are in descending order of preference, with the first version being the preferred entry.
message APIGroupDiscovery {
- // Standard object's metadata.
+ // metadata is standard object's metadata.
// The only field completed will be name. For instance, resourceVersion will be empty.
// name is the name of the API group whose discovery information is presented here.
// name is allowed to be "" to represent the legacy, ungroupified resources.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// versions are the versions supported in this group. They are sorted in descending order of preference,
// with the preferred version being the first entry.
// +listType=map
// +listMapKey=version
+ // +optional
repeated APIVersionDiscovery versions = 2;
}
@@ -58,6 +60,7 @@ message APIGroupDiscoveryList {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
// items is the list of groups for discovery. The groups are listed in priority order.
+ // +optional
repeated APIGroupDiscovery items = 2;
}
@@ -67,40 +70,48 @@ message APIResourceDiscovery {
// for this resource across all versions in the API group.
// Resources with non-empty groups are located at /apis///
// Resources with empty groups are located at /api/v1/
+ // +optional
optional string resource = 1;
// responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
// APIs may return other objects types at their discretion, such as error conditions, requests for alternate representations, or other operation specific behavior.
// This value will be null or empty if an APIService reports subresources but supports no operations on the parent resource
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2;
// scope indicates the scope of a resource, either Cluster or Namespaced
+ // +optional
optional string scope = 3;
// singularResource is the singular name of the resource. This allows clients to handle plural and singular opaquely.
// For many clients the singular form of the resource will be more understandable to users reading messages and should be used when integrating the name of the resource into a sentence.
// The command line tool kubectl, for example, allows use of the singular resource name in place of plurals.
// The singular form of a resource should always be an optional element - when in doubt use the canonical resource name.
+ // +optional
optional string singularResource = 4;
// verbs is a list of supported API operation types (this includes
// but is not limited to get, list, watch, create, update, patch,
// delete, deletecollection, and proxy).
// +listType=set
+ // +optional
repeated string verbs = 5;
// shortNames is a list of suggested short names of the resource.
// +listType=set
+ // +optional
repeated string shortNames = 6;
// categories is a list of the grouped resources this resource belongs to (e.g. 'all').
// Clients may use this to simplify acting on multiple resource types at once.
// +listType=set
+ // +optional
repeated string categories = 7;
// subresources is a list of subresources provided by this resource. Subresources are located at /apis////name-of-instance/
// +listType=map
// +listMapKey=subresource
+ // +optional
repeated APISubresourceDiscovery subresources = 8;
}
@@ -108,10 +119,12 @@ message APIResourceDiscovery {
message APISubresourceDiscovery {
// subresource is the name of the subresource. This is used in the URL path and is the unique identifier
// for this resource across all versions.
+ // +optional
optional string subresource = 1;
// responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
// Some subresources do not return normal resources, these will have null or empty return types.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2;
// acceptedTypes describes the kinds that this endpoint accepts.
@@ -122,6 +135,7 @@ message APISubresourceDiscovery {
// +listMapKey=group
// +listMapKey=version
// +listMapKey=kind
+ // +optional
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind acceptedTypes = 3;
// verbs is a list of supported API operation types (this includes
@@ -131,17 +145,20 @@ message APISubresourceDiscovery {
// should expect the behavior of standard verbs to align with
// Kubernetes interaction conventions.
// +listType=set
+ // +optional
repeated string verbs = 4;
}
// APIVersionDiscovery holds a list of APIResourceDiscovery types that are served for a particular version within an API Group.
message APIVersionDiscovery {
// version is the name of the version within a group version.
+ // +optional
optional string version = 1;
// resources is a list of APIResourceDiscovery objects for the corresponding group version.
// +listType=map
// +listMapKey=resource
+ // +optional
repeated APIResourceDiscovery resources = 2;
// freshness marks whether a group version's discovery document is up to date.
@@ -151,6 +168,7 @@ message APIVersionDiscovery {
// significantly out of date. Clients that require the latest
// version of the discovery information be retrieved before
// performing an operation should not use the aggregated document
+ // +optional
optional string freshness = 3;
}
diff --git a/vendor/k8s.io/api/apidiscovery/v2/types.go b/vendor/k8s.io/api/apidiscovery/v2/types.go
index 449679b61..5cf6d9c55 100644
--- a/vendor/k8s.io/api/apidiscovery/v2/types.go
+++ b/vendor/k8s.io/api/apidiscovery/v2/types.go
@@ -28,12 +28,13 @@ import (
// list of API resources (built-ins, Custom Resource Definitions, resources from aggregated servers)
// that a cluster supports.
type APIGroupDiscoveryList struct {
- v1.TypeMeta `json:",inline"`
+ v1.TypeMeta `json:""`
// ResourceVersion will not be set, because this does not have a replayable ordering among multiple apiservers.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// items is the list of groups for discovery. The groups are listed in priority order.
+ // +optional
Items []APIGroupDiscovery `json:"items" protobuf:"bytes,2,rep,name=items"`
}
@@ -44,28 +45,32 @@ type APIGroupDiscoveryList struct {
// It contains a list of APIVersionDiscovery that holds a list of APIResourceDiscovery types served for a version.
// Versions are in descending order of preference, with the first version being the preferred entry.
type APIGroupDiscovery struct {
- v1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ v1.TypeMeta `json:""`
+ // metadata is standard object's metadata.
// The only field completed will be name. For instance, resourceVersion will be empty.
// name is the name of the API group whose discovery information is presented here.
// name is allowed to be "" to represent the legacy, ungroupified resources.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// versions are the versions supported in this group. They are sorted in descending order of preference,
// with the preferred version being the first entry.
// +listType=map
// +listMapKey=version
+ // +optional
Versions []APIVersionDiscovery `json:"versions,omitempty" protobuf:"bytes,2,rep,name=versions"`
}
// APIVersionDiscovery holds a list of APIResourceDiscovery types that are served for a particular version within an API Group.
type APIVersionDiscovery struct {
// version is the name of the version within a group version.
+ // +optional
Version string `json:"version" protobuf:"bytes,1,opt,name=version"`
// resources is a list of APIResourceDiscovery objects for the corresponding group version.
// +listType=map
// +listMapKey=resource
+ // +optional
Resources []APIResourceDiscovery `json:"resources,omitempty" protobuf:"bytes,2,rep,name=resources"`
// freshness marks whether a group version's discovery document is up to date.
// "Current" indicates the discovery document was recently
@@ -74,6 +79,7 @@ type APIVersionDiscovery struct {
// significantly out of date. Clients that require the latest
// version of the discovery information be retrieved before
// performing an operation should not use the aggregated document
+ // +optional
Freshness DiscoveryFreshness `json:"freshness,omitempty" protobuf:"bytes,3,opt,name=freshness"`
}
@@ -83,33 +89,41 @@ type APIResourceDiscovery struct {
// for this resource across all versions in the API group.
// Resources with non-empty groups are located at /apis///
// Resources with empty groups are located at /api/v1/
+ // +optional
Resource string `json:"resource" protobuf:"bytes,1,opt,name=resource"`
// responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
// APIs may return other objects types at their discretion, such as error conditions, requests for alternate representations, or other operation specific behavior.
// This value will be null or empty if an APIService reports subresources but supports no operations on the parent resource
+ // +optional
ResponseKind *v1.GroupVersionKind `json:"responseKind,omitempty" protobuf:"bytes,2,opt,name=responseKind"`
// scope indicates the scope of a resource, either Cluster or Namespaced
+ // +optional
Scope ResourceScope `json:"scope" protobuf:"bytes,3,opt,name=scope"`
// singularResource is the singular name of the resource. This allows clients to handle plural and singular opaquely.
// For many clients the singular form of the resource will be more understandable to users reading messages and should be used when integrating the name of the resource into a sentence.
// The command line tool kubectl, for example, allows use of the singular resource name in place of plurals.
// The singular form of a resource should always be an optional element - when in doubt use the canonical resource name.
+ // +optional
SingularResource string `json:"singularResource" protobuf:"bytes,4,opt,name=singularResource"`
// verbs is a list of supported API operation types (this includes
// but is not limited to get, list, watch, create, update, patch,
// delete, deletecollection, and proxy).
// +listType=set
+ // +optional
Verbs []string `json:"verbs" protobuf:"bytes,5,opt,name=verbs"`
// shortNames is a list of suggested short names of the resource.
// +listType=set
+ // +optional
ShortNames []string `json:"shortNames,omitempty" protobuf:"bytes,6,rep,name=shortNames"`
// categories is a list of the grouped resources this resource belongs to (e.g. 'all').
// Clients may use this to simplify acting on multiple resource types at once.
// +listType=set
+ // +optional
Categories []string `json:"categories,omitempty" protobuf:"bytes,7,rep,name=categories"`
// subresources is a list of subresources provided by this resource. Subresources are located at /apis////name-of-instance/
// +listType=map
// +listMapKey=subresource
+ // +optional
Subresources []APISubresourceDiscovery `json:"subresources,omitempty" protobuf:"bytes,8,rep,name=subresources"`
}
@@ -133,9 +147,11 @@ const (
type APISubresourceDiscovery struct {
// subresource is the name of the subresource. This is used in the URL path and is the unique identifier
// for this resource across all versions.
+ // +optional
Subresource string `json:"subresource" protobuf:"bytes,1,opt,name=subresource"`
// responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
// Some subresources do not return normal resources, these will have null or empty return types.
+ // +optional
ResponseKind *v1.GroupVersionKind `json:"responseKind,omitempty" protobuf:"bytes,2,opt,name=responseKind"`
// acceptedTypes describes the kinds that this endpoint accepts.
// Subresources may accept the standard content types or define
@@ -145,6 +161,7 @@ type APISubresourceDiscovery struct {
// +listMapKey=group
// +listMapKey=version
// +listMapKey=kind
+ // +optional
AcceptedTypes []v1.GroupVersionKind `json:"acceptedTypes,omitempty" protobuf:"bytes,3,rep,name=acceptedTypes"`
// verbs is a list of supported API operation types (this includes
// but is not limited to get, list, watch, create, update, patch,
@@ -153,5 +170,6 @@ type APISubresourceDiscovery struct {
// should expect the behavior of standard verbs to align with
// Kubernetes interaction conventions.
// +listType=set
+ // +optional
Verbs []string `json:"verbs" protobuf:"bytes,4,opt,name=verbs"`
}
diff --git a/vendor/k8s.io/api/apidiscovery/v2beta1/doc.go b/vendor/k8s.io/api/apidiscovery/v2beta1/doc.go
deleted file mode 100644
index 244986bb4..000000000
--- a/vendor/k8s.io/api/apidiscovery/v2beta1/doc.go
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright 2022 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// +k8s:deepcopy-gen=package
-// +k8s:protobuf-gen=package
-// +k8s:openapi-gen=true
-// +k8s:prerelease-lifecycle-gen=true
-// +k8s:openapi-model-package=io.k8s.api.apidiscovery.v2beta1
-
-// +groupName=apidiscovery.k8s.io
-
-package v2beta1
diff --git a/vendor/k8s.io/api/apidiscovery/v2beta1/generated.pb.go b/vendor/k8s.io/api/apidiscovery/v2beta1/generated.pb.go
deleted file mode 100644
index 8994f570f..000000000
--- a/vendor/k8s.io/api/apidiscovery/v2beta1/generated.pb.go
+++ /dev/null
@@ -1,1537 +0,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: k8s.io/api/apidiscovery/v2beta1/generated.proto
-
-package v2beta1
-
-import (
- fmt "fmt"
-
- io "io"
-
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-func (m *APIGroupDiscovery) Reset() { *m = APIGroupDiscovery{} }
-
-func (m *APIGroupDiscoveryList) Reset() { *m = APIGroupDiscoveryList{} }
-
-func (m *APIResourceDiscovery) Reset() { *m = APIResourceDiscovery{} }
-
-func (m *APISubresourceDiscovery) Reset() { *m = APISubresourceDiscovery{} }
-
-func (m *APIVersionDiscovery) Reset() { *m = APIVersionDiscovery{} }
-
-func (m *APIGroupDiscovery) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *APIGroupDiscovery) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *APIGroupDiscovery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Versions) > 0 {
- for iNdEx := len(m.Versions) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Versions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- {
- size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *APIGroupDiscoveryList) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *APIGroupDiscoveryList) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *APIGroupDiscoveryList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Items) > 0 {
- for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- {
- size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *APIResourceDiscovery) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *APIResourceDiscovery) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *APIResourceDiscovery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Subresources) > 0 {
- for iNdEx := len(m.Subresources) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Subresources[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x42
- }
- }
- if len(m.Categories) > 0 {
- for iNdEx := len(m.Categories) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Categories[iNdEx])
- copy(dAtA[i:], m.Categories[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Categories[iNdEx])))
- i--
- dAtA[i] = 0x3a
- }
- }
- if len(m.ShortNames) > 0 {
- for iNdEx := len(m.ShortNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ShortNames[iNdEx])
- copy(dAtA[i:], m.ShortNames[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.ShortNames[iNdEx])))
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.Verbs) > 0 {
- for iNdEx := len(m.Verbs) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Verbs[iNdEx])
- copy(dAtA[i:], m.Verbs[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Verbs[iNdEx])))
- i--
- dAtA[i] = 0x2a
- }
- }
- i -= len(m.SingularResource)
- copy(dAtA[i:], m.SingularResource)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.SingularResource)))
- i--
- dAtA[i] = 0x22
- i -= len(m.Scope)
- copy(dAtA[i:], m.Scope)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Scope)))
- i--
- dAtA[i] = 0x1a
- if m.ResponseKind != nil {
- {
- size, err := m.ResponseKind.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.Resource)
- copy(dAtA[i:], m.Resource)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Resource)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *APISubresourceDiscovery) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *APISubresourceDiscovery) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *APISubresourceDiscovery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Verbs) > 0 {
- for iNdEx := len(m.Verbs) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Verbs[iNdEx])
- copy(dAtA[i:], m.Verbs[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Verbs[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.AcceptedTypes) > 0 {
- for iNdEx := len(m.AcceptedTypes) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.AcceptedTypes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if m.ResponseKind != nil {
- {
- size, err := m.ResponseKind.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.Subresource)
- copy(dAtA[i:], m.Subresource)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Subresource)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *APIVersionDiscovery) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *APIVersionDiscovery) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *APIVersionDiscovery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.Freshness)
- copy(dAtA[i:], m.Freshness)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Freshness)))
- i--
- dAtA[i] = 0x1a
- if len(m.Resources) > 0 {
- for iNdEx := len(m.Resources) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Resources[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- i -= len(m.Version)
- copy(dAtA[i:], m.Version)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Version)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
- offset -= sovGenerated(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *APIGroupDiscovery) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Versions) > 0 {
- for _, e := range m.Versions {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *APIGroupDiscoveryList) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ListMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Items) > 0 {
- for _, e := range m.Items {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *APIResourceDiscovery) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Resource)
- n += 1 + l + sovGenerated(uint64(l))
- if m.ResponseKind != nil {
- l = m.ResponseKind.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- l = len(m.Scope)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.SingularResource)
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Verbs) > 0 {
- for _, s := range m.Verbs {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if len(m.ShortNames) > 0 {
- for _, s := range m.ShortNames {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if len(m.Categories) > 0 {
- for _, s := range m.Categories {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if len(m.Subresources) > 0 {
- for _, e := range m.Subresources {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *APISubresourceDiscovery) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Subresource)
- n += 1 + l + sovGenerated(uint64(l))
- if m.ResponseKind != nil {
- l = m.ResponseKind.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if len(m.AcceptedTypes) > 0 {
- for _, e := range m.AcceptedTypes {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if len(m.Verbs) > 0 {
- for _, s := range m.Verbs {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *APIVersionDiscovery) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Version)
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Resources) > 0 {
- for _, e := range m.Resources {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- l = len(m.Freshness)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func sovGenerated(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGenerated(x uint64) (n int) {
- return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *APIGroupDiscovery) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForVersions := "[]APIVersionDiscovery{"
- for _, f := range this.Versions {
- repeatedStringForVersions += strings.Replace(strings.Replace(f.String(), "APIVersionDiscovery", "APIVersionDiscovery", 1), `&`, ``, 1) + ","
- }
- repeatedStringForVersions += "}"
- s := strings.Join([]string{`&APIGroupDiscovery{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Versions:` + repeatedStringForVersions + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *APIGroupDiscoveryList) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForItems := "[]APIGroupDiscovery{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "APIGroupDiscovery", "APIGroupDiscovery", 1), `&`, ``, 1) + ","
- }
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&APIGroupDiscoveryList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *APIResourceDiscovery) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForSubresources := "[]APISubresourceDiscovery{"
- for _, f := range this.Subresources {
- repeatedStringForSubresources += strings.Replace(strings.Replace(f.String(), "APISubresourceDiscovery", "APISubresourceDiscovery", 1), `&`, ``, 1) + ","
- }
- repeatedStringForSubresources += "}"
- s := strings.Join([]string{`&APIResourceDiscovery{`,
- `Resource:` + fmt.Sprintf("%v", this.Resource) + `,`,
- `ResponseKind:` + strings.Replace(fmt.Sprintf("%v", this.ResponseKind), "GroupVersionKind", "v1.GroupVersionKind", 1) + `,`,
- `Scope:` + fmt.Sprintf("%v", this.Scope) + `,`,
- `SingularResource:` + fmt.Sprintf("%v", this.SingularResource) + `,`,
- `Verbs:` + fmt.Sprintf("%v", this.Verbs) + `,`,
- `ShortNames:` + fmt.Sprintf("%v", this.ShortNames) + `,`,
- `Categories:` + fmt.Sprintf("%v", this.Categories) + `,`,
- `Subresources:` + repeatedStringForSubresources + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *APISubresourceDiscovery) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForAcceptedTypes := "[]GroupVersionKind{"
- for _, f := range this.AcceptedTypes {
- repeatedStringForAcceptedTypes += fmt.Sprintf("%v", f) + ","
- }
- repeatedStringForAcceptedTypes += "}"
- s := strings.Join([]string{`&APISubresourceDiscovery{`,
- `Subresource:` + fmt.Sprintf("%v", this.Subresource) + `,`,
- `ResponseKind:` + strings.Replace(fmt.Sprintf("%v", this.ResponseKind), "GroupVersionKind", "v1.GroupVersionKind", 1) + `,`,
- `AcceptedTypes:` + repeatedStringForAcceptedTypes + `,`,
- `Verbs:` + fmt.Sprintf("%v", this.Verbs) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *APIVersionDiscovery) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForResources := "[]APIResourceDiscovery{"
- for _, f := range this.Resources {
- repeatedStringForResources += strings.Replace(strings.Replace(f.String(), "APIResourceDiscovery", "APIResourceDiscovery", 1), `&`, ``, 1) + ","
- }
- repeatedStringForResources += "}"
- s := strings.Join([]string{`&APIVersionDiscovery{`,
- `Version:` + fmt.Sprintf("%v", this.Version) + `,`,
- `Resources:` + repeatedStringForResources + `,`,
- `Freshness:` + fmt.Sprintf("%v", this.Freshness) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringGenerated(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *APIGroupDiscovery) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: APIGroupDiscovery: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: APIGroupDiscovery: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Versions", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Versions = append(m.Versions, APIVersionDiscovery{})
- if err := m.Versions[len(m.Versions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *APIGroupDiscoveryList) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: APIGroupDiscoveryList: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: APIGroupDiscoveryList: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Items = append(m.Items, APIGroupDiscovery{})
- if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *APIResourceDiscovery) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: APIResourceDiscovery: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: APIResourceDiscovery: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Resource = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResponseKind", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ResponseKind == nil {
- m.ResponseKind = &v1.GroupVersionKind{}
- }
- if err := m.ResponseKind.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Scope", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Scope = ResourceScope(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SingularResource", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SingularResource = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Verbs", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Verbs = append(m.Verbs, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ShortNames", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ShortNames = append(m.ShortNames, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Categories", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Categories = append(m.Categories, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Subresources", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Subresources = append(m.Subresources, APISubresourceDiscovery{})
- if err := m.Subresources[len(m.Subresources)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *APISubresourceDiscovery) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: APISubresourceDiscovery: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: APISubresourceDiscovery: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Subresource", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Subresource = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResponseKind", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ResponseKind == nil {
- m.ResponseKind = &v1.GroupVersionKind{}
- }
- if err := m.ResponseKind.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AcceptedTypes", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AcceptedTypes = append(m.AcceptedTypes, v1.GroupVersionKind{})
- if err := m.AcceptedTypes[len(m.AcceptedTypes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Verbs", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Verbs = append(m.Verbs, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *APIVersionDiscovery) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: APIVersionDiscovery: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: APIVersionDiscovery: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Version = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Resources = append(m.Resources, APIResourceDiscovery{})
- if err := m.Resources[len(m.Resources)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Freshness", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Freshness = DiscoveryFreshness(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipGenerated(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthGenerated
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupGenerated
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthGenerated
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupGenerated = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto b/vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto
deleted file mode 100644
index e9ae88072..000000000
--- a/vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-
-// This file was autogenerated by go-to-protobuf. Do not edit it manually!
-
-syntax = "proto2";
-
-package k8s.io.api.apidiscovery.v2beta1;
-
-import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
-import "k8s.io/apimachinery/pkg/runtime/generated.proto";
-import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
-
-// Package-wide variables from generator "generated".
-option go_package = "k8s.io/api/apidiscovery/v2beta1";
-
-// APIGroupDiscovery holds information about which resources are being served for all version of the API Group.
-// It contains a list of APIVersionDiscovery that holds a list of APIResourceDiscovery types served for a version.
-// Versions are in descending order of preference, with the first version being the preferred entry.
-message APIGroupDiscovery {
- // Standard object's metadata.
- // The only field completed will be name. For instance, resourceVersion will be empty.
- // name is the name of the API group whose discovery information is presented here.
- // name is allowed to be "" to represent the legacy, ungroupified resources.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
-
- // versions are the versions supported in this group. They are sorted in descending order of preference,
- // with the preferred version being the first entry.
- // +listType=map
- // +listMapKey=version
- repeated APIVersionDiscovery versions = 2;
-}
-
-// APIGroupDiscoveryList is a resource containing a list of APIGroupDiscovery.
-// This is one of the types able to be returned from the /api and /apis endpoint and contains an aggregated
-// list of API resources (built-ins, Custom Resource Definitions, resources from aggregated servers)
-// that a cluster supports.
-message APIGroupDiscoveryList {
- // ResourceVersion will not be set, because this does not have a replayable ordering among multiple apiservers.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
-
- // items is the list of groups for discovery. The groups are listed in priority order.
- repeated APIGroupDiscovery items = 2;
-}
-
-// APIResourceDiscovery provides information about an API resource for discovery.
-message APIResourceDiscovery {
- // resource is the plural name of the resource. This is used in the URL path and is the unique identifier
- // for this resource across all versions in the API group.
- // Resources with non-empty groups are located at /apis///
- // Resources with empty groups are located at /api/v1/
- optional string resource = 1;
-
- // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
- // APIs may return other objects types at their discretion, such as error conditions, requests for alternate representations, or other operation specific behavior.
- // This value will be null or empty if an APIService reports subresources but supports no operations on the parent resource
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2;
-
- // scope indicates the scope of a resource, either Cluster or Namespaced
- optional string scope = 3;
-
- // singularResource is the singular name of the resource. This allows clients to handle plural and singular opaquely.
- // For many clients the singular form of the resource will be more understandable to users reading messages and should be used when integrating the name of the resource into a sentence.
- // The command line tool kubectl, for example, allows use of the singular resource name in place of plurals.
- // The singular form of a resource should always be an optional element - when in doubt use the canonical resource name.
- optional string singularResource = 4;
-
- // verbs is a list of supported API operation types (this includes
- // but is not limited to get, list, watch, create, update, patch,
- // delete, deletecollection, and proxy).
- // +listType=set
- repeated string verbs = 5;
-
- // shortNames is a list of suggested short names of the resource.
- // +listType=set
- repeated string shortNames = 6;
-
- // categories is a list of the grouped resources this resource belongs to (e.g. 'all').
- // Clients may use this to simplify acting on multiple resource types at once.
- // +listType=set
- repeated string categories = 7;
-
- // subresources is a list of subresources provided by this resource. Subresources are located at /apis////name-of-instance/
- // +listType=map
- // +listMapKey=subresource
- repeated APISubresourceDiscovery subresources = 8;
-}
-
-// APISubresourceDiscovery provides information about an API subresource for discovery.
-message APISubresourceDiscovery {
- // subresource is the name of the subresource. This is used in the URL path and is the unique identifier
- // for this resource across all versions.
- optional string subresource = 1;
-
- // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
- // Some subresources do not return normal resources, these will have null or empty return types.
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2;
-
- // acceptedTypes describes the kinds that this endpoint accepts.
- // Subresources may accept the standard content types or define
- // custom negotiation schemes. The list may not be exhaustive for
- // all operations.
- // +listType=map
- // +listMapKey=group
- // +listMapKey=version
- // +listMapKey=kind
- repeated .k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind acceptedTypes = 3;
-
- // verbs is a list of supported API operation types (this includes
- // but is not limited to get, list, watch, create, update, patch,
- // delete, deletecollection, and proxy). Subresources may define
- // custom verbs outside the standard Kubernetes verb set. Clients
- // should expect the behavior of standard verbs to align with
- // Kubernetes interaction conventions.
- // +listType=set
- repeated string verbs = 4;
-}
-
-// APIVersionDiscovery holds a list of APIResourceDiscovery types that are served for a particular version within an API Group.
-message APIVersionDiscovery {
- // version is the name of the version within a group version.
- optional string version = 1;
-
- // resources is a list of APIResourceDiscovery objects for the corresponding group version.
- // +listType=map
- // +listMapKey=resource
- repeated APIResourceDiscovery resources = 2;
-
- // freshness marks whether a group version's discovery document is up to date.
- // "Current" indicates the discovery document was recently
- // refreshed. "Stale" indicates the discovery document could not
- // be retrieved and the returned discovery document may be
- // significantly out of date. Clients that require the latest
- // version of the discovery information be retrieved before
- // performing an operation should not use the aggregated document
- optional string freshness = 3;
-}
-
diff --git a/vendor/k8s.io/api/apidiscovery/v2beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/apidiscovery/v2beta1/generated.protomessage.pb.go
deleted file mode 100644
index 0998c461b..000000000
--- a/vendor/k8s.io/api/apidiscovery/v2beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,32 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v2beta1
-
-func (*APIGroupDiscovery) ProtoMessage() {}
-
-func (*APIGroupDiscoveryList) ProtoMessage() {}
-
-func (*APIResourceDiscovery) ProtoMessage() {}
-
-func (*APISubresourceDiscovery) ProtoMessage() {}
-
-func (*APIVersionDiscovery) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/apidiscovery/v2beta1/register.go b/vendor/k8s.io/api/apidiscovery/v2beta1/register.go
deleted file mode 100644
index f7cef1081..000000000
--- a/vendor/k8s.io/api/apidiscovery/v2beta1/register.go
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2022 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v2beta1
-
-import (
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/apimachinery/pkg/runtime"
- "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-// GroupName is the group name for this API.
-const GroupName = "apidiscovery.k8s.io"
-
-// SchemeGroupVersion is group version used to register these objects
-var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v2beta1"}
-
-// Kind takes an unqualified kind and returns a Group qualified GroupKind
-func Kind(kind string) schema.GroupKind {
- return SchemeGroupVersion.WithKind(kind).GroupKind()
-}
-
-// Resource takes an unqualified resource and returns a Group qualified GroupResource
-func Resource(resource string) schema.GroupResource {
- return SchemeGroupVersion.WithResource(resource).GroupResource()
-}
-
-var (
- // SchemeBuilder installs the api group to a scheme
- SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
- // AddToScheme adds api to a scheme
- AddToScheme = SchemeBuilder.AddToScheme
-)
-
-// Adds the list of known types to the given scheme.
-func addKnownTypes(scheme *runtime.Scheme) error {
- scheme.AddKnownTypes(SchemeGroupVersion,
- &APIGroupDiscoveryList{},
- &APIGroupDiscovery{},
- )
- metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
- return nil
-}
diff --git a/vendor/k8s.io/api/apidiscovery/v2beta1/types.go b/vendor/k8s.io/api/apidiscovery/v2beta1/types.go
deleted file mode 100644
index 834293773..000000000
--- a/vendor/k8s.io/api/apidiscovery/v2beta1/types.go
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
-Copyright 2022 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v2beta1
-
-import (
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
-// +k8s:prerelease-lifecycle-gen:deprecated=1.32
-// +k8s:prerelease-lifecycle-gen:removed=1.35
-// The deprecate and remove versions stated above are rough estimates and may be subject to change. We are estimating v2 types will be available in 1.28 and will support 4 versions where both v2beta1 and v2 are supported before deprecation.
-
-// APIGroupDiscoveryList is a resource containing a list of APIGroupDiscovery.
-// This is one of the types able to be returned from the /api and /apis endpoint and contains an aggregated
-// list of API resources (built-ins, Custom Resource Definitions, resources from aggregated servers)
-// that a cluster supports.
-type APIGroupDiscoveryList struct {
- v1.TypeMeta `json:",inline"`
- // ResourceVersion will not be set, because this does not have a replayable ordering among multiple apiservers.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- // +optional
- v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // items is the list of groups for discovery. The groups are listed in priority order.
- Items []APIGroupDiscovery `json:"items" protobuf:"bytes,2,rep,name=items"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
-// +k8s:prerelease-lifecycle-gen:deprecated=1.32
-// +k8s:prerelease-lifecycle-gen:removed=1.35
-// The deprecate and remove versions stated above are rough estimates and may be subject to change. We are estimating v2 types will be available in 1.28 and will support 4 versions where both v2beta1 and v2 are supported before deprecation.
-
-// APIGroupDiscovery holds information about which resources are being served for all version of the API Group.
-// It contains a list of APIVersionDiscovery that holds a list of APIResourceDiscovery types served for a version.
-// Versions are in descending order of preference, with the first version being the preferred entry.
-type APIGroupDiscovery struct {
- v1.TypeMeta `json:",inline"`
- // Standard object's metadata.
- // The only field completed will be name. For instance, resourceVersion will be empty.
- // name is the name of the API group whose discovery information is presented here.
- // name is allowed to be "" to represent the legacy, ungroupified resources.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- // +optional
- v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // versions are the versions supported in this group. They are sorted in descending order of preference,
- // with the preferred version being the first entry.
- // +listType=map
- // +listMapKey=version
- Versions []APIVersionDiscovery `json:"versions,omitempty" protobuf:"bytes,2,rep,name=versions"`
-}
-
-// APIVersionDiscovery holds a list of APIResourceDiscovery types that are served for a particular version within an API Group.
-type APIVersionDiscovery struct {
- // version is the name of the version within a group version.
- Version string `json:"version" protobuf:"bytes,1,opt,name=version"`
- // resources is a list of APIResourceDiscovery objects for the corresponding group version.
- // +listType=map
- // +listMapKey=resource
- Resources []APIResourceDiscovery `json:"resources,omitempty" protobuf:"bytes,2,rep,name=resources"`
- // freshness marks whether a group version's discovery document is up to date.
- // "Current" indicates the discovery document was recently
- // refreshed. "Stale" indicates the discovery document could not
- // be retrieved and the returned discovery document may be
- // significantly out of date. Clients that require the latest
- // version of the discovery information be retrieved before
- // performing an operation should not use the aggregated document
- Freshness DiscoveryFreshness `json:"freshness,omitempty" protobuf:"bytes,3,opt,name=freshness"`
-}
-
-// APIResourceDiscovery provides information about an API resource for discovery.
-type APIResourceDiscovery struct {
- // resource is the plural name of the resource. This is used in the URL path and is the unique identifier
- // for this resource across all versions in the API group.
- // Resources with non-empty groups are located at /apis///
- // Resources with empty groups are located at /api/v1/
- Resource string `json:"resource" protobuf:"bytes,1,opt,name=resource"`
- // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
- // APIs may return other objects types at their discretion, such as error conditions, requests for alternate representations, or other operation specific behavior.
- // This value will be null or empty if an APIService reports subresources but supports no operations on the parent resource
- ResponseKind *v1.GroupVersionKind `json:"responseKind,omitempty" protobuf:"bytes,2,opt,name=responseKind"`
- // scope indicates the scope of a resource, either Cluster or Namespaced
- Scope ResourceScope `json:"scope" protobuf:"bytes,3,opt,name=scope"`
- // singularResource is the singular name of the resource. This allows clients to handle plural and singular opaquely.
- // For many clients the singular form of the resource will be more understandable to users reading messages and should be used when integrating the name of the resource into a sentence.
- // The command line tool kubectl, for example, allows use of the singular resource name in place of plurals.
- // The singular form of a resource should always be an optional element - when in doubt use the canonical resource name.
- SingularResource string `json:"singularResource" protobuf:"bytes,4,opt,name=singularResource"`
- // verbs is a list of supported API operation types (this includes
- // but is not limited to get, list, watch, create, update, patch,
- // delete, deletecollection, and proxy).
- // +listType=set
- Verbs []string `json:"verbs" protobuf:"bytes,5,opt,name=verbs"`
- // shortNames is a list of suggested short names of the resource.
- // +listType=set
- ShortNames []string `json:"shortNames,omitempty" protobuf:"bytes,6,rep,name=shortNames"`
- // categories is a list of the grouped resources this resource belongs to (e.g. 'all').
- // Clients may use this to simplify acting on multiple resource types at once.
- // +listType=set
- Categories []string `json:"categories,omitempty" protobuf:"bytes,7,rep,name=categories"`
- // subresources is a list of subresources provided by this resource. Subresources are located at /apis////name-of-instance/
- // +listType=map
- // +listMapKey=subresource
- Subresources []APISubresourceDiscovery `json:"subresources,omitempty" protobuf:"bytes,8,rep,name=subresources"`
-}
-
-// ResourceScope is an enum defining the different scopes available to a resource.
-type ResourceScope string
-
-const (
- ScopeCluster ResourceScope = "Cluster"
- ScopeNamespace ResourceScope = "Namespaced"
-)
-
-// DiscoveryFreshness is an enum defining whether the Discovery document published by an apiservice is up to date (fresh).
-type DiscoveryFreshness string
-
-const (
- DiscoveryFreshnessCurrent DiscoveryFreshness = "Current"
- DiscoveryFreshnessStale DiscoveryFreshness = "Stale"
-)
-
-// APISubresourceDiscovery provides information about an API subresource for discovery.
-type APISubresourceDiscovery struct {
- // subresource is the name of the subresource. This is used in the URL path and is the unique identifier
- // for this resource across all versions.
- Subresource string `json:"subresource" protobuf:"bytes,1,opt,name=subresource"`
- // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
- // Some subresources do not return normal resources, these will have null or empty return types.
- ResponseKind *v1.GroupVersionKind `json:"responseKind,omitempty" protobuf:"bytes,2,opt,name=responseKind"`
- // acceptedTypes describes the kinds that this endpoint accepts.
- // Subresources may accept the standard content types or define
- // custom negotiation schemes. The list may not be exhaustive for
- // all operations.
- // +listType=map
- // +listMapKey=group
- // +listMapKey=version
- // +listMapKey=kind
- AcceptedTypes []v1.GroupVersionKind `json:"acceptedTypes,omitempty" protobuf:"bytes,3,rep,name=acceptedTypes"`
- // verbs is a list of supported API operation types (this includes
- // but is not limited to get, list, watch, create, update, patch,
- // delete, deletecollection, and proxy). Subresources may define
- // custom verbs outside the standard Kubernetes verb set. Clients
- // should expect the behavior of standard verbs to align with
- // Kubernetes interaction conventions.
- // +listType=set
- Verbs []string `json:"verbs" protobuf:"bytes,4,opt,name=verbs"`
-}
diff --git a/vendor/k8s.io/api/apidiscovery/v2beta1/zz_generated.deepcopy.go b/vendor/k8s.io/api/apidiscovery/v2beta1/zz_generated.deepcopy.go
deleted file mode 100644
index cf8f98c6f..000000000
--- a/vendor/k8s.io/api/apidiscovery/v2beta1/zz_generated.deepcopy.go
+++ /dev/null
@@ -1,190 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by deepcopy-gen. DO NOT EDIT.
-
-package v2beta1
-
-import (
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
-)
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *APIGroupDiscovery) DeepCopyInto(out *APIGroupDiscovery) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
- if in.Versions != nil {
- in, out := &in.Versions, &out.Versions
- *out = make([]APIVersionDiscovery, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIGroupDiscovery.
-func (in *APIGroupDiscovery) DeepCopy() *APIGroupDiscovery {
- if in == nil {
- return nil
- }
- out := new(APIGroupDiscovery)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *APIGroupDiscovery) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *APIGroupDiscoveryList) DeepCopyInto(out *APIGroupDiscoveryList) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ListMeta.DeepCopyInto(&out.ListMeta)
- if in.Items != nil {
- in, out := &in.Items, &out.Items
- *out = make([]APIGroupDiscovery, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIGroupDiscoveryList.
-func (in *APIGroupDiscoveryList) DeepCopy() *APIGroupDiscoveryList {
- if in == nil {
- return nil
- }
- out := new(APIGroupDiscoveryList)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *APIGroupDiscoveryList) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *APIResourceDiscovery) DeepCopyInto(out *APIResourceDiscovery) {
- *out = *in
- if in.ResponseKind != nil {
- in, out := &in.ResponseKind, &out.ResponseKind
- *out = new(v1.GroupVersionKind)
- **out = **in
- }
- if in.Verbs != nil {
- in, out := &in.Verbs, &out.Verbs
- *out = make([]string, len(*in))
- copy(*out, *in)
- }
- if in.ShortNames != nil {
- in, out := &in.ShortNames, &out.ShortNames
- *out = make([]string, len(*in))
- copy(*out, *in)
- }
- if in.Categories != nil {
- in, out := &in.Categories, &out.Categories
- *out = make([]string, len(*in))
- copy(*out, *in)
- }
- if in.Subresources != nil {
- in, out := &in.Subresources, &out.Subresources
- *out = make([]APISubresourceDiscovery, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIResourceDiscovery.
-func (in *APIResourceDiscovery) DeepCopy() *APIResourceDiscovery {
- if in == nil {
- return nil
- }
- out := new(APIResourceDiscovery)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *APISubresourceDiscovery) DeepCopyInto(out *APISubresourceDiscovery) {
- *out = *in
- if in.ResponseKind != nil {
- in, out := &in.ResponseKind, &out.ResponseKind
- *out = new(v1.GroupVersionKind)
- **out = **in
- }
- if in.AcceptedTypes != nil {
- in, out := &in.AcceptedTypes, &out.AcceptedTypes
- *out = make([]v1.GroupVersionKind, len(*in))
- copy(*out, *in)
- }
- if in.Verbs != nil {
- in, out := &in.Verbs, &out.Verbs
- *out = make([]string, len(*in))
- copy(*out, *in)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APISubresourceDiscovery.
-func (in *APISubresourceDiscovery) DeepCopy() *APISubresourceDiscovery {
- if in == nil {
- return nil
- }
- out := new(APISubresourceDiscovery)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *APIVersionDiscovery) DeepCopyInto(out *APIVersionDiscovery) {
- *out = *in
- if in.Resources != nil {
- in, out := &in.Resources, &out.Resources
- *out = make([]APIResourceDiscovery, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIVersionDiscovery.
-func (in *APIVersionDiscovery) DeepCopy() *APIVersionDiscovery {
- if in == nil {
- return nil
- }
- out := new(APIVersionDiscovery)
- in.DeepCopyInto(out)
- return out
-}
diff --git a/vendor/k8s.io/api/apidiscovery/v2beta1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/apidiscovery/v2beta1/zz_generated.prerelease-lifecycle.go
deleted file mode 100644
index aa8f15fb4..000000000
--- a/vendor/k8s.io/api/apidiscovery/v2beta1/zz_generated.prerelease-lifecycle.go
+++ /dev/null
@@ -1,58 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by prerelease-lifecycle-gen. DO NOT EDIT.
-
-package v2beta1
-
-// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
-func (in *APIGroupDiscovery) APILifecycleIntroduced() (major, minor int) {
- return 1, 26
-}
-
-// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
-func (in *APIGroupDiscovery) APILifecycleDeprecated() (major, minor int) {
- return 1, 32
-}
-
-// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
-func (in *APIGroupDiscovery) APILifecycleRemoved() (major, minor int) {
- return 1, 35
-}
-
-// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
-func (in *APIGroupDiscoveryList) APILifecycleIntroduced() (major, minor int) {
- return 1, 26
-}
-
-// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
-func (in *APIGroupDiscoveryList) APILifecycleDeprecated() (major, minor int) {
- return 1, 32
-}
-
-// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
-func (in *APIGroupDiscoveryList) APILifecycleRemoved() (major, minor int) {
- return 1, 35
-}
diff --git a/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto b/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto
index 8a7786072..73f007a65 100644
--- a/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto
+++ b/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto
@@ -31,59 +31,70 @@ option go_package = "k8s.io/api/apiserverinternal/v1alpha1";
// An API server instance reports the version it can decode and the version it
// encodes objects to when persisting objects in the backend.
message ServerStorageVersion {
- // The ID of the reporting API server.
+ // apiServerID is the ID of the reporting API server.
+ // +required
optional string apiServerID = 1;
- // The API server encodes the object to this version when persisting it in
+ // encodingVersion the API server encodes the object to when persisting it in
// the backend (e.g., etcd).
+ // +required
optional string encodingVersion = 2;
+ // decodableVersions are the encoding versions the API server can handle to decode.
// The API server can decode objects encoded in these versions.
// The encodingVersion must be included in the decodableVersions.
// +listType=set
+ // +required
repeated string decodableVersions = 3;
- // The API server can serve these versions.
+ // servedVersions lists all versions the API server can serve.
// DecodableVersions must include all ServedVersions.
// +listType=set
+ // +optional
repeated string servedVersions = 4;
}
// Storage version of a specific resource.
+// +k8s:supportsSubresource="/status"
message StorageVersion {
+ // metadata is the standard object metadata.
// The name is ..
+ // +required
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec is an empty spec. It is here to comply with Kubernetes API style.
+ // spec is an empty spec. It is here to comply with Kubernetes API style.
+ // +optional
optional StorageVersionSpec spec = 2;
- // API server instances report the version they can decode and the version they
+ // status on the version the API server instance can decode from and
// encode objects to when persisting objects in the backend.
+ // +optional
optional StorageVersionStatus status = 3;
}
// Describes the state of the storageVersion at a certain point.
message StorageVersionCondition {
- // Type of the condition.
+ // type of the condition.
// +required
optional string type = 1;
- // Status of the condition, one of True, False, Unknown.
+ // status of the condition, one of True, False, Unknown.
// +required
optional string status = 2;
- // If set, this represents the .metadata.generation that the condition was set based upon.
+ // observedGeneration represents the .metadata.generation that the condition was set based upon, if field is set.
// +optional
optional int64 observedGeneration = 3;
- // Last time the condition transitioned from one status to another.
+ // lastTransitionTime is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4;
- // The reason for the condition's last transition.
+ // reason for the condition's last transition.
// +required
optional string reason = 5;
- // A human readable message indicating details about the transition.
+ // message is a human readable string indicating details about the transition.
// +required
optional string message = 6;
}
@@ -106,20 +117,21 @@ message StorageVersionSpec {
// API server instances report the versions they can decode and the version they
// encode objects to when persisting objects in the backend.
message StorageVersionStatus {
- // The reported versions per API server instance.
+ // storageVersions lists the reported versions per API server instance.
// +optional
// +listType=map
// +listMapKey=apiServerID
repeated ServerStorageVersion storageVersions = 1;
- // If all API server instances agree on the same encoding storage version,
- // then this field is set to that version. Otherwise this field is left empty.
+ // commonEncodingVersion is set to an encoding storage version if all API server
+ // instances share that same version. If they don't share one storage version, this
+ // field is left empty.
// API servers should finish updating its storageVersionStatus entry before
// serving write operations, so that this field will be in sync with the reality.
// +optional
optional string commonEncodingVersion = 2;
- // The latest available observations of the storageVersion's state.
+ // conditions lists the latest available observations of the storageVersion's state.
// +optional
// +listType=map
// +listMapKey=type
diff --git a/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.protomessage.pb.go b/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.protomessage.pb.go
deleted file mode 100644
index b0839952b..000000000
--- a/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,34 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1alpha1
-
-func (*ServerStorageVersion) ProtoMessage() {}
-
-func (*StorageVersion) ProtoMessage() {}
-
-func (*StorageVersionCondition) ProtoMessage() {}
-
-func (*StorageVersionList) ProtoMessage() {}
-
-func (*StorageVersionSpec) ProtoMessage() {}
-
-func (*StorageVersionStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/apiserverinternal/v1alpha1/types.go b/vendor/k8s.io/api/apiserverinternal/v1alpha1/types.go
index 31a419abf..f30cc5381 100644
--- a/vendor/k8s.io/api/apiserverinternal/v1alpha1/types.go
+++ b/vendor/k8s.io/api/apiserverinternal/v1alpha1/types.go
@@ -25,16 +25,21 @@ import (
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// Storage version of a specific resource.
+// +k8s:supportsSubresource="/status"
type StorageVersion struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// The name is ..
+ // +required
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec is an empty spec. It is here to comply with Kubernetes API style.
+ // spec is an empty spec. It is here to comply with Kubernetes API style.
+ // +optional
Spec StorageVersionSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // API server instances report the version they can decode and the version they
+ // status on the version the API server instance can decode from and
// encode objects to when persisting objects in the backend.
+ // +optional
Status StorageVersionStatus `json:"status" protobuf:"bytes,3,opt,name=status"`
}
@@ -44,19 +49,20 @@ type StorageVersionSpec struct{}
// API server instances report the versions they can decode and the version they
// encode objects to when persisting objects in the backend.
type StorageVersionStatus struct {
- // The reported versions per API server instance.
+ // storageVersions lists the reported versions per API server instance.
// +optional
// +listType=map
// +listMapKey=apiServerID
StorageVersions []ServerStorageVersion `json:"storageVersions,omitempty" protobuf:"bytes,1,opt,name=storageVersions"`
- // If all API server instances agree on the same encoding storage version,
- // then this field is set to that version. Otherwise this field is left empty.
+ // commonEncodingVersion is set to an encoding storage version if all API server
+ // instances share that same version. If they don't share one storage version, this
+ // field is left empty.
// API servers should finish updating its storageVersionStatus entry before
// serving write operations, so that this field will be in sync with the reality.
// +optional
CommonEncodingVersion *string `json:"commonEncodingVersion,omitempty" protobuf:"bytes,2,opt,name=commonEncodingVersion"`
- // The latest available observations of the storageVersion's state.
+ // conditions lists the latest available observations of the storageVersion's state.
// +optional
// +listType=map
// +listMapKey=type
@@ -66,21 +72,26 @@ type StorageVersionStatus struct {
// An API server instance reports the version it can decode and the version it
// encodes objects to when persisting objects in the backend.
type ServerStorageVersion struct {
- // The ID of the reporting API server.
+ // apiServerID is the ID of the reporting API server.
+ // +required
APIServerID string `json:"apiServerID,omitempty" protobuf:"bytes,1,opt,name=apiServerID"`
- // The API server encodes the object to this version when persisting it in
+ // encodingVersion the API server encodes the object to when persisting it in
// the backend (e.g., etcd).
+ // +required
EncodingVersion string `json:"encodingVersion,omitempty" protobuf:"bytes,2,opt,name=encodingVersion"`
+ // decodableVersions are the encoding versions the API server can handle to decode.
// The API server can decode objects encoded in these versions.
// The encodingVersion must be included in the decodableVersions.
// +listType=set
+ // +required
DecodableVersions []string `json:"decodableVersions,omitempty" protobuf:"bytes,3,opt,name=decodableVersions"`
- // The API server can serve these versions.
+ // servedVersions lists all versions the API server can serve.
// DecodableVersions must include all ServedVersions.
// +listType=set
+ // +optional
ServedVersions []string `json:"servedVersions,omitempty" protobuf:"bytes,4,opt,name=servedVersions"`
}
@@ -101,21 +112,22 @@ const (
// Describes the state of the storageVersion at a certain point.
type StorageVersionCondition struct {
- // Type of the condition.
+ // type of the condition.
// +required
Type StorageVersionConditionType `json:"type" protobuf:"bytes,1,opt,name=type"`
- // Status of the condition, one of True, False, Unknown.
+ // status of the condition, one of True, False, Unknown.
// +required
Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status"`
- // If set, this represents the .metadata.generation that the condition was set based upon.
+ // observedGeneration represents the .metadata.generation that the condition was set based upon, if field is set.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,3,opt,name=observedGeneration"`
- // Last time the condition transitioned from one status to another.
+ // lastTransitionTime is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"`
- // The reason for the condition's last transition.
+ // reason for the condition's last transition.
// +required
Reason string `json:"reason" protobuf:"bytes,5,opt,name=reason"`
- // A human readable message indicating details about the transition.
+ // message is a human readable string indicating details about the transition.
// +required
Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}
@@ -124,7 +136,7 @@ type StorageVersionCondition struct {
// A list of StorageVersions.
type StorageVersionList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/apiserverinternal/v1alpha1/types_swagger_doc_generated.go b/vendor/k8s.io/api/apiserverinternal/v1alpha1/types_swagger_doc_generated.go
index 6fd1c3ebe..b74035e50 100644
--- a/vendor/k8s.io/api/apiserverinternal/v1alpha1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/apiserverinternal/v1alpha1/types_swagger_doc_generated.go
@@ -29,10 +29,10 @@ package v1alpha1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_ServerStorageVersion = map[string]string{
"": "An API server instance reports the version it can decode and the version it encodes objects to when persisting objects in the backend.",
- "apiServerID": "The ID of the reporting API server.",
- "encodingVersion": "The API server encodes the object to this version when persisting it in the backend (e.g., etcd).",
- "decodableVersions": "The API server can decode objects encoded in these versions. The encodingVersion must be included in the decodableVersions.",
- "servedVersions": "The API server can serve these versions. DecodableVersions must include all ServedVersions.",
+ "apiServerID": "apiServerID is the ID of the reporting API server.",
+ "encodingVersion": "encodingVersion the API server encodes the object to when persisting it in the backend (e.g., etcd).",
+ "decodableVersions": "decodableVersions are the encoding versions the API server can handle to decode. The API server can decode objects encoded in these versions. The encodingVersion must be included in the decodableVersions.",
+ "servedVersions": "servedVersions lists all versions the API server can serve. DecodableVersions must include all ServedVersions.",
}
func (ServerStorageVersion) SwaggerDoc() map[string]string {
@@ -41,9 +41,9 @@ func (ServerStorageVersion) SwaggerDoc() map[string]string {
var map_StorageVersion = map[string]string{
"": "Storage version of a specific resource.",
- "metadata": "The name is ..",
- "spec": "Spec is an empty spec. It is here to comply with Kubernetes API style.",
- "status": "API server instances report the version they can decode and the version they encode objects to when persisting objects in the backend.",
+ "metadata": "metadata is the standard object metadata. The name is ..",
+ "spec": "spec is an empty spec. It is here to comply with Kubernetes API style.",
+ "status": "status on the version the API server instance can decode from and encode objects to when persisting objects in the backend.",
}
func (StorageVersion) SwaggerDoc() map[string]string {
@@ -52,12 +52,12 @@ func (StorageVersion) SwaggerDoc() map[string]string {
var map_StorageVersionCondition = map[string]string{
"": "Describes the state of the storageVersion at a certain point.",
- "type": "Type of the condition.",
- "status": "Status of the condition, one of True, False, Unknown.",
- "observedGeneration": "If set, this represents the .metadata.generation that the condition was set based upon.",
- "lastTransitionTime": "Last time the condition transitioned from one status to another.",
- "reason": "The reason for the condition's last transition.",
- "message": "A human readable message indicating details about the transition.",
+ "type": "type of the condition.",
+ "status": "status of the condition, one of True, False, Unknown.",
+ "observedGeneration": "observedGeneration represents the .metadata.generation that the condition was set based upon, if field is set.",
+ "lastTransitionTime": "lastTransitionTime is the last time the condition transitioned from one status to another.",
+ "reason": "reason for the condition's last transition.",
+ "message": "message is a human readable string indicating details about the transition.",
}
func (StorageVersionCondition) SwaggerDoc() map[string]string {
@@ -84,9 +84,9 @@ func (StorageVersionSpec) SwaggerDoc() map[string]string {
var map_StorageVersionStatus = map[string]string{
"": "API server instances report the versions they can decode and the version they encode objects to when persisting objects in the backend.",
- "storageVersions": "The reported versions per API server instance.",
- "commonEncodingVersion": "If all API server instances agree on the same encoding storage version, then this field is set to that version. Otherwise this field is left empty. API servers should finish updating its storageVersionStatus entry before serving write operations, so that this field will be in sync with the reality.",
- "conditions": "The latest available observations of the storageVersion's state.",
+ "storageVersions": "storageVersions lists the reported versions per API server instance.",
+ "commonEncodingVersion": "commonEncodingVersion is set to an encoding storage version if all API server instances share that same version. If they don't share one storage version, this field is left empty. API servers should finish updating its storageVersionStatus entry before serving write operations, so that this field will be in sync with the reality.",
+ "conditions": "conditions lists the latest available observations of the storageVersion's state.",
}
func (StorageVersionStatus) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/apps/v1/generated.proto b/vendor/k8s.io/api/apps/v1/generated.proto
index 42d5415c2..0c55e2ebc 100644
--- a/vendor/k8s.io/api/apps/v1/generated.proto
+++ b/vendor/k8s.io/api/apps/v1/generated.proto
@@ -46,9 +46,11 @@ message ControllerRevision {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Data is the serialized representation of the state.
+ // +required
optional .k8s.io.apimachinery.pkg.runtime.RawExtension data = 2;
// Revision indicates the revision of the state represented by Data.
+ // +optional
optional int64 revision = 3;
}
@@ -63,6 +65,7 @@ message ControllerRevisionList {
}
// DaemonSet represents the configuration of a daemon set.
+// +k8s:supportsSubresource="/status"
message DaemonSet {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -71,7 +74,7 @@ message DaemonSet {
// The desired behavior of this daemon set.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional DaemonSetSpec spec = 2;
// The current status of this daemon set. This data may be
@@ -86,9 +89,11 @@ message DaemonSet {
// DaemonSetCondition describes the state of a DaemonSet at a certain point.
message DaemonSetCondition {
// Type of DaemonSet condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// Last time the condition transitioned from one status to another.
@@ -121,6 +126,7 @@ message DaemonSetSpec {
// Must match in order to be controlled.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1;
// An object that describes the pod that will be created.
@@ -129,6 +135,7 @@ message DaemonSetSpec {
// selector is specified).
// The only allowed template.spec.restartPolicy value is "Always".
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
+ // +required
optional .k8s.io.api.core.v1.PodTemplateSpec template = 2;
// An update strategy to replace existing DaemonSet pods with new pods.
@@ -221,6 +228,8 @@ message DaemonSetUpdateStrategy {
}
// Deployment enables declarative updates for Pods and ReplicaSets.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
message Deployment {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -228,7 +237,7 @@ message Deployment {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Specification of the desired behavior of the Deployment.
- // +optional
+ // +required
optional DeploymentSpec spec = 2;
// Most recently observed status of the Deployment.
@@ -239,21 +248,27 @@ message Deployment {
// DeploymentCondition describes the state of a deployment at a certain point.
message DeploymentCondition {
// Type of deployment condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// The last time this condition was updated.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6;
// Last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7;
// The reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// A human readable message indicating details about the transition.
+ // +optional
optional string message = 5;
}
@@ -277,10 +292,12 @@ message DeploymentSpec {
// Label selector for pods. Existing ReplicaSets whose pods are
// selected by this will be the ones affected by this deployment.
// It must match the pod template's labels.
+ // +required
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
// Template describes the pods that will be created.
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
optional .k8s.io.api.core.v1.PodTemplateSpec template = 3;
// The deployment strategy to use to replace existing pods with new ones.
@@ -309,6 +326,7 @@ message DeploymentSpec {
// process failed deployments and a condition with a ProgressDeadlineExceeded
// reason will be surfaced in the deployment status. Note that progress will
// not be estimated during the time a deployment is paused. Defaults to 600s.
+ // +optional
optional int32 progressDeadlineSeconds = 9;
}
@@ -377,6 +395,8 @@ message DeploymentStrategy {
}
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
message ReplicaSet {
// If the Labels of a ReplicaSet are empty, they are defaulted to
// be the same as the Pod(s) that the ReplicaSet manages.
@@ -387,7 +407,7 @@ message ReplicaSet {
// Spec defines the specification of the desired behavior of the ReplicaSet.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional ReplicaSetSpec spec = 2;
// Status is the most recently observed status of the ReplicaSet.
@@ -402,9 +422,11 @@ message ReplicaSet {
// ReplicaSetCondition describes the state of a replica set at a certain point.
message ReplicaSetCondition {
// Type of replica set condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// The last time the condition transitioned from one status to another.
@@ -451,6 +473,7 @@ message ReplicaSetSpec {
// Label keys and values that must match in order to be controlled by this replica set.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
// Template is the object that describes the pod that will be created if
@@ -598,6 +621,8 @@ message RollingUpdateStatefulSetStrategy {
//
// The StatefulSet guarantees that a given network identity will always
// map to the same storage identity.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
message StatefulSet {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -605,7 +630,7 @@ message StatefulSet {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Spec defines the desired identities of pods in this set.
- // +optional
+ // +required
optional StatefulSetSpec spec = 2;
// Status is the current status of Pods in this StatefulSet. This data
@@ -617,9 +642,11 @@ message StatefulSet {
// StatefulSetCondition describes the state of a statefulset at a certain point.
message StatefulSetCondition {
// Type of statefulset condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// Last time the condition transitioned from one status to another.
@@ -668,6 +695,7 @@ message StatefulSetPersistentVolumeClaimRetentionPolicy {
// VolumeClaimTemplates when the StatefulSet is deleted. The default policy
// of `Retain` causes PVCs to not be affected by StatefulSet deletion. The
// `Delete` policy causes those PVCs to be deleted.
+ // +optional
optional string whenDeleted = 1;
// WhenScaled specifies what happens to PVCs created from StatefulSet
@@ -675,6 +703,7 @@ message StatefulSetPersistentVolumeClaimRetentionPolicy {
// policy of `Retain` causes PVCs to not be affected by a scaledown. The
// `Delete` policy causes the associated PVCs for any excess pods above
// the replica count to be deleted.
+ // +optional
optional string whenScaled = 2;
}
@@ -691,6 +720,9 @@ message StatefulSetSpec {
// selector is a label query over pods that should match the replica count.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
+ // +k8s:alpha(since: "1.37")=+k8s:required
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
// template is the object that describes the pod that will be created if
@@ -700,6 +732,7 @@ message StatefulSetSpec {
// -. For example, a pod in a StatefulSet named
// "web" with index number "3" would be named "web-3".
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
optional .k8s.io.api.core.v1.PodTemplateSpec template = 3;
// volumeClaimTemplates is a list of claims that pods are allowed to reference.
@@ -710,6 +743,9 @@ message StatefulSetSpec {
// any volumes in the template, with the same name.
// TODO: Define the behavior if a claim already exists with the same name.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
// +listType=atomic
repeated .k8s.io.api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4;
@@ -719,6 +755,8 @@ message StatefulSetSpec {
// pattern: pod-specific-string.serviceName.default.svc.cluster.local
// where "pod-specific-string" is managed by the StatefulSet controller.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional string serviceName = 5;
// podManagementPolicy controls how pods are created during initial scale up,
@@ -730,17 +768,21 @@ message StatefulSetSpec {
// to match the desired scale without waiting, and on scale down will delete
// all pods at once.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional string podManagementPolicy = 6;
// updateStrategy indicates the StatefulSetUpdateStrategy that will be
// employed to update Pods in the StatefulSet when a revision is made to
// Template.
+ // +optional
optional StatefulSetUpdateStrategy updateStrategy = 7;
// revisionHistoryLimit is the maximum number of revisions that will
// be maintained in the StatefulSet's revision history. The revision history
// consists of all revisions not represented by a currently applied
// StatefulSetSpec version. The default value is 10.
+ // +optional
optional int32 revisionHistoryLimit = 8;
// Minimum number of seconds for which a newly created pod should be ready
diff --git a/vendor/k8s.io/api/apps/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/apps/v1/generated.protomessage.pb.go
deleted file mode 100644
index f9faa4e13..000000000
--- a/vendor/k8s.io/api/apps/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,82 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*ControllerRevision) ProtoMessage() {}
-
-func (*ControllerRevisionList) ProtoMessage() {}
-
-func (*DaemonSet) ProtoMessage() {}
-
-func (*DaemonSetCondition) ProtoMessage() {}
-
-func (*DaemonSetList) ProtoMessage() {}
-
-func (*DaemonSetSpec) ProtoMessage() {}
-
-func (*DaemonSetStatus) ProtoMessage() {}
-
-func (*DaemonSetUpdateStrategy) ProtoMessage() {}
-
-func (*Deployment) ProtoMessage() {}
-
-func (*DeploymentCondition) ProtoMessage() {}
-
-func (*DeploymentList) ProtoMessage() {}
-
-func (*DeploymentSpec) ProtoMessage() {}
-
-func (*DeploymentStatus) ProtoMessage() {}
-
-func (*DeploymentStrategy) ProtoMessage() {}
-
-func (*ReplicaSet) ProtoMessage() {}
-
-func (*ReplicaSetCondition) ProtoMessage() {}
-
-func (*ReplicaSetList) ProtoMessage() {}
-
-func (*ReplicaSetSpec) ProtoMessage() {}
-
-func (*ReplicaSetStatus) ProtoMessage() {}
-
-func (*RollingUpdateDaemonSet) ProtoMessage() {}
-
-func (*RollingUpdateDeployment) ProtoMessage() {}
-
-func (*RollingUpdateStatefulSetStrategy) ProtoMessage() {}
-
-func (*StatefulSet) ProtoMessage() {}
-
-func (*StatefulSetCondition) ProtoMessage() {}
-
-func (*StatefulSetList) ProtoMessage() {}
-
-func (*StatefulSetOrdinals) ProtoMessage() {}
-
-func (*StatefulSetPersistentVolumeClaimRetentionPolicy) ProtoMessage() {}
-
-func (*StatefulSetSpec) ProtoMessage() {}
-
-func (*StatefulSetStatus) ProtoMessage() {}
-
-func (*StatefulSetUpdateStrategy) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/apps/v1/types.go b/vendor/k8s.io/api/apps/v1/types.go
index b8989c140..c43afb881 100644
--- a/vendor/k8s.io/api/apps/v1/types.go
+++ b/vendor/k8s.io/api/apps/v1/types.go
@@ -46,15 +46,17 @@ const (
//
// The StatefulSet guarantees that a given network identity will always
// map to the same storage identity.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
type StatefulSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec defines the desired identities of pods in this set.
- // +optional
+ // +required
Spec StatefulSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Status is the current status of Pods in this StatefulSet. This data
@@ -104,12 +106,22 @@ const (
// strategy, new Pods will be created from the specification version indicated
// by the StatefulSet's updateRevision.
RollingUpdateStatefulSetStrategyType StatefulSetUpdateStrategyType = "RollingUpdate"
- // OnDeleteStatefulSetStrategyType triggers the legacy behavior. Version
- // tracking and ordered rolling restarts are disabled. Pods are recreated
- // from the StatefulSetSpec when they are manually deleted. When a scale
- // operation is performed with this strategy,specification version indicated
- // by the StatefulSet's currentRevision.
+ // OnDeleteStatefulSetStrategyType disables ordered rolling restarts. Version
+ // tracking is done on a best-effort basis - the controller will try to
+ // eventually converge StatefulSet's currentRevision with updateRevision.
+ // Pods are recreated from the StatefulSetSpec when they are manually deleted.
+ // When a scale operation is performed with this strategy, new Pods will be
+ // created from the specification version indicated by the StatefulSet's updateRevision.
OnDeleteStatefulSetStrategyType StatefulSetUpdateStrategyType = "OnDelete"
+ // RecreateStatefulSetStrategyType indicates that all existing pods will be
+ // deleted and fully terminated before any new-revision pods are created.
+ // This ensures that old and new revision Pods never run at the same time.
+ // This is an alpha type and requires enabling StatefulSetRecreateStrategy feature gate.
+ // Switching to the Recreate strategy is allowed when the feature gate is enabled,
+ // and switching away from it to a different update strategy is also allowed.
+ //
+ // +featureGate=StatefulSetRecreateStrategy
+ RecreateStatefulSetStrategyType StatefulSetUpdateStrategyType = "Recreate"
)
// RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType.
@@ -158,12 +170,14 @@ type StatefulSetPersistentVolumeClaimRetentionPolicy struct {
// VolumeClaimTemplates when the StatefulSet is deleted. The default policy
// of `Retain` causes PVCs to not be affected by StatefulSet deletion. The
// `Delete` policy causes those PVCs to be deleted.
+ // +optional
WhenDeleted PersistentVolumeClaimRetentionPolicyType `json:"whenDeleted,omitempty" protobuf:"bytes,1,opt,name=whenDeleted,casttype=PersistentVolumeClaimRetentionPolicyType"`
// WhenScaled specifies what happens to PVCs created from StatefulSet
// VolumeClaimTemplates when the StatefulSet is scaled down. The default
// policy of `Retain` causes PVCs to not be affected by a scaledown. The
// `Delete` policy causes the associated PVCs for any excess pods above
// the replica count to be deleted.
+ // +optional
WhenScaled PersistentVolumeClaimRetentionPolicyType `json:"whenScaled,omitempty" protobuf:"bytes,2,opt,name=whenScaled,casttype=PersistentVolumeClaimRetentionPolicyType"`
}
@@ -195,6 +209,9 @@ type StatefulSetSpec struct {
// selector is a label query over pods that should match the replica count.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
+ // +k8s:alpha(since: "1.37")=+k8s:required
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`
// template is the object that describes the pod that will be created if
@@ -204,6 +221,7 @@ type StatefulSetSpec struct {
// -. For example, a pod in a StatefulSet named
// "web" with index number "3" would be named "web-3".
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`
// volumeClaimTemplates is a list of claims that pods are allowed to reference.
@@ -214,6 +232,9 @@ type StatefulSetSpec struct {
// any volumes in the template, with the same name.
// TODO: Define the behavior if a claim already exists with the same name.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
// +listType=atomic
VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty" protobuf:"bytes,4,rep,name=volumeClaimTemplates"`
@@ -223,6 +244,8 @@ type StatefulSetSpec struct {
// pattern: pod-specific-string.serviceName.default.svc.cluster.local
// where "pod-specific-string" is managed by the StatefulSet controller.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
ServiceName string `json:"serviceName" protobuf:"bytes,5,opt,name=serviceName"`
// podManagementPolicy controls how pods are created during initial scale up,
@@ -234,17 +257,21 @@ type StatefulSetSpec struct {
// to match the desired scale without waiting, and on scale down will delete
// all pods at once.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
PodManagementPolicy PodManagementPolicyType `json:"podManagementPolicy,omitempty" protobuf:"bytes,6,opt,name=podManagementPolicy,casttype=PodManagementPolicyType"`
// updateStrategy indicates the StatefulSetUpdateStrategy that will be
// employed to update Pods in the StatefulSet when a revision is made to
// Template.
+ // +optional
UpdateStrategy StatefulSetUpdateStrategy `json:"updateStrategy,omitempty" protobuf:"bytes,7,opt,name=updateStrategy"`
// revisionHistoryLimit is the maximum number of revisions that will
// be maintained in the StatefulSet's revision history. The revision history
// consists of all revisions not represented by a currently applied
// StatefulSetSpec version. The default value is 10.
+ // +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,8,opt,name=revisionHistoryLimit"`
// Minimum number of seconds for which a newly created pod should be ready
@@ -319,11 +346,19 @@ type StatefulSetStatus struct {
type StatefulSetConditionType string
+const (
+ // StatefulSetProgressing means the StatefulSet is progressing through an update.
+ // This condition is an alpha type and requires enabling StatefulSetRecreateStrategy feature gate.
+ StatefulSetProgressing StatefulSetConditionType = "Progressing"
+)
+
// StatefulSetCondition describes the state of a statefulset at a certain point.
type StatefulSetCondition struct {
// Type of statefulset condition.
+ // +optional
Type StatefulSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=StatefulSetConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// Last time the condition transitioned from one status to another.
// +optional
@@ -341,7 +376,7 @@ type StatefulSetCondition struct {
// StatefulSetList is a collection of StatefulSets.
type StatefulSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -359,15 +394,17 @@ type StatefulSetList struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.9
// Deployment enables declarative updates for Pods and ReplicaSets.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
type Deployment struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the Deployment.
- // +optional
+ // +required
Spec DeploymentSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Most recently observed status of the Deployment.
@@ -385,10 +422,12 @@ type DeploymentSpec struct {
// Label selector for pods. Existing ReplicaSets whose pods are
// selected by this will be the ones affected by this deployment.
// It must match the pod template's labels.
+ // +required
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`
// Template describes the pods that will be created.
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`
// The deployment strategy to use to replace existing pods with new ones.
@@ -417,6 +456,7 @@ type DeploymentSpec struct {
// process failed deployments and a condition with a ProgressDeadlineExceeded
// reason will be surfaced in the deployment status. Note that progress will
// not be estimated during the time a deployment is paused. Defaults to 600s.
+ // +optional
ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"`
}
@@ -552,16 +592,22 @@ const (
// DeploymentCondition describes the state of a deployment at a certain point.
type DeploymentCondition struct {
// Type of deployment condition.
+ // +optional
Type DeploymentConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DeploymentConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// The last time this condition was updated.
+ // +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty" protobuf:"bytes,6,opt,name=lastUpdateTime"`
// Last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,7,opt,name=lastTransitionTime"`
// The reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// A human readable message indicating details about the transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
@@ -570,7 +616,7 @@ type DeploymentCondition struct {
// DeploymentList is a list of Deployments.
type DeploymentList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -652,6 +698,7 @@ type DaemonSetSpec struct {
// Must match in order to be controlled.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,1,opt,name=selector"`
// An object that describes the pod that will be created.
@@ -660,6 +707,7 @@ type DaemonSetSpec struct {
// selector is specified).
// The only allowed template.spec.restartPolicy value is "Always".
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
+ // +required
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,2,opt,name=template"`
// An update strategy to replace existing DaemonSet pods with new pods.
@@ -743,8 +791,10 @@ type DaemonSetConditionType string
// DaemonSetCondition describes the state of a DaemonSet at a certain point.
type DaemonSetCondition struct {
// Type of DaemonSet condition.
+ // +optional
Type DaemonSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DaemonSetConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// Last time the condition transitioned from one status to another.
// +optional
@@ -762,8 +812,9 @@ type DaemonSetCondition struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.9
// DaemonSet represents the configuration of a daemon set.
+// +k8s:supportsSubresource="/status"
type DaemonSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -771,7 +822,7 @@ type DaemonSet struct {
// The desired behavior of this daemon set.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec DaemonSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// The current status of this daemon set. This data may be
@@ -795,7 +846,7 @@ const (
// DaemonSetList is a collection of daemon sets.
type DaemonSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -813,8 +864,10 @@ type DaemonSetList struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.9
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
type ReplicaSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// If the Labels of a ReplicaSet are empty, they are defaulted to
// be the same as the Pod(s) that the ReplicaSet manages.
@@ -825,7 +878,7 @@ type ReplicaSet struct {
// Spec defines the specification of the desired behavior of the ReplicaSet.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec ReplicaSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Status is the most recently observed status of the ReplicaSet.
@@ -842,7 +895,7 @@ type ReplicaSet struct {
// ReplicaSetList is a collection of ReplicaSets.
type ReplicaSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -872,6 +925,7 @@ type ReplicaSetSpec struct {
// Label keys and values that must match in order to be controlled by this replica set.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`
// Template is the object that describes the pod that will be created if
@@ -932,8 +986,10 @@ const (
// ReplicaSetCondition describes the state of a replica set at a certain point.
type ReplicaSetCondition struct {
// Type of replica set condition.
+ // +optional
Type ReplicaSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=ReplicaSetConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// The last time the condition transitioned from one status to another.
// +optional
@@ -960,16 +1016,18 @@ type ReplicaSetCondition struct {
// it may be subject to name and representation changes in future releases, and clients should not
// depend on its stability. It is primarily for internal use by controllers.
type ControllerRevision struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Data is the serialized representation of the state.
- Data runtime.RawExtension `json:"data,omitempty" protobuf:"bytes,2,opt,name=data"`
+ // +required
+ Data runtime.RawExtension `json:"data" protobuf:"bytes,2,opt,name=data"`
// Revision indicates the revision of the state represented by Data.
+ // +optional
Revision int64 `json:"revision" protobuf:"varint,3,opt,name=revision"`
}
@@ -978,7 +1036,7 @@ type ControllerRevision struct {
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
type ControllerRevisionList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/apps/v1beta1/generated.proto b/vendor/k8s.io/api/apps/v1beta1/generated.proto
index b47d61e20..9d2388334 100644
--- a/vendor/k8s.io/api/apps/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/apps/v1beta1/generated.proto
@@ -48,9 +48,11 @@ message ControllerRevision {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// data is the serialized representation of the state.
+ // +required
optional .k8s.io.apimachinery.pkg.runtime.RawExtension data = 2;
// revision indicates the revision of the state represented by Data.
+ // +optional
optional int64 revision = 3;
}
@@ -67,13 +69,15 @@ message ControllerRevisionList {
// DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for
// more information.
// Deployment enables declarative updates for Pods and ReplicaSets.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
message Deployment {
// Standard object metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Specification of the desired behavior of the Deployment.
- // +optional
+ // +required
optional DeploymentSpec spec = 2;
// Most recently observed status of the Deployment.
@@ -84,21 +88,27 @@ message Deployment {
// DeploymentCondition describes the state of a deployment at a certain point.
message DeploymentCondition {
// Type of deployment condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// The last time this condition was updated.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6;
// Last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7;
// The reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// A human readable message indicating details about the transition.
+ // +optional
optional string message = 5;
}
@@ -116,6 +126,7 @@ message DeploymentList {
// DeploymentRollback stores the information required to rollback a deployment.
message DeploymentRollback {
// Required: This must match the Name of a deployment.
+ // +required
optional string name = 1;
// The annotations to be updated to a deployment
@@ -123,6 +134,7 @@ message DeploymentRollback {
map updatedAnnotations = 2;
// The config of this deployment rollback.
+ // +optional
optional RollbackConfig rollbackTo = 3;
}
@@ -140,6 +152,7 @@ message DeploymentSpec {
// Template describes the pods that will be created.
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
optional .k8s.io.api.core.v1.PodTemplateSpec template = 3;
// The deployment strategy to use to replace existing pods with new ones.
@@ -284,6 +297,7 @@ message RollingUpdateStatefulSetStrategy {
// for updates. During a rolling update, all pods from ordinal Replicas-1 to
// Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched.
// This is helpful in being able to do a canary based deployment. The default value is 0.
+ // +optional
optional int32 partition = 1;
// maxUnavailable is the maximum number of pods that can be unavailable during the update.
@@ -303,6 +317,7 @@ message RollingUpdateStatefulSetStrategy {
message Scale {
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
@@ -318,15 +333,16 @@ message Scale {
message ScaleSpec {
// replicas is the number of observed instances of the scaled object.
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
optional int32 replicas = 1;
}
// ScaleStatus represents the current status of a scale subresource.
message ScaleStatus {
// replias is the actual number of observed instances of the scaled object.
+ // +optional
optional int32 replicas = 1;
// selector is a label query over pods that should match the replicas count. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
@@ -352,12 +368,14 @@ message ScaleStatus {
//
// The StatefulSet guarantees that a given network identity will always
// map to the same storage identity.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
message StatefulSet {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Spec defines the desired identities of pods in this set.
- // +optional
+ // +required
optional StatefulSetSpec spec = 2;
// Status is the current status of Pods in this StatefulSet. This data
@@ -369,9 +387,11 @@ message StatefulSet {
// StatefulSetCondition describes the state of a statefulset at a certain point.
message StatefulSetCondition {
// Type of statefulset condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// Last time the condition transitioned from one status to another.
@@ -417,6 +437,7 @@ message StatefulSetPersistentVolumeClaimRetentionPolicy {
// VolumeClaimTemplates when the StatefulSet is deleted. The default policy
// of `Retain` causes PVCs to not be affected by StatefulSet deletion. The
// `Delete` policy causes those PVCs to be deleted.
+ // +optional
optional string whenDeleted = 1;
// whenScaled specifies what happens to PVCs created from StatefulSet
@@ -424,6 +445,7 @@ message StatefulSetPersistentVolumeClaimRetentionPolicy {
// policy of `Retain` causes PVCs to not be affected by a scaledown. The
// `Delete` policy causes the associated PVCs for any excess pods above
// the replica count to be deleted.
+ // +optional
optional string whenScaled = 2;
}
@@ -438,9 +460,11 @@ message StatefulSetSpec {
optional int32 replicas = 1;
// selector is a label query over pods that should match the replica count.
- // If empty, defaulted to labels on the pod template.
+ // It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
- // +optional
+ // +required
+ // +k8s:alpha(since: "1.37")=+k8s:required
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
// template is the object that describes the pod that will be created if
@@ -449,6 +473,7 @@ message StatefulSetSpec {
// of the StatefulSet. Each pod will be named with the format
// -. For example, a pod in a StatefulSet named
// "web" with index number "3" would be named "web-3".
+ // +required
optional .k8s.io.api.core.v1.PodTemplateSpec template = 3;
// volumeClaimTemplates is a list of claims that pods are allowed to reference.
@@ -459,7 +484,10 @@ message StatefulSetSpec {
// any volumes in the template, with the same name.
// TODO: Define the behavior if a claim already exists with the same name.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
repeated .k8s.io.api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4;
// serviceName is the name of the service that governs this StatefulSet.
@@ -468,6 +496,8 @@ message StatefulSetSpec {
// pattern: pod-specific-string.serviceName.default.svc.cluster.local
// where "pod-specific-string" is managed by the StatefulSet controller.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional string serviceName = 5;
// podManagementPolicy controls how pods are created during initial scale up,
@@ -479,17 +509,21 @@ message StatefulSetSpec {
// to match the desired scale without waiting, and on scale down will delete
// all pods at once.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional string podManagementPolicy = 6;
// updateStrategy indicates the StatefulSetUpdateStrategy that will be
// employed to update Pods in the StatefulSet when a revision is made to
// Template.
+ // +optional
optional StatefulSetUpdateStrategy updateStrategy = 7;
// revisionHistoryLimit is the maximum number of revisions that will
// be maintained in the StatefulSet's revision history. The revision history
// consists of all revisions not represented by a currently applied
// StatefulSetSpec version. The default value is 10.
+ // +optional
optional int32 revisionHistoryLimit = 8;
// minReadySeconds is the minimum number of seconds for which a newly created pod should be ready
@@ -567,9 +601,11 @@ message StatefulSetStatus {
// necessary to perform the update for the indicated strategy.
message StatefulSetUpdateStrategy {
// Type indicates the type of the StatefulSetUpdateStrategy.
+ // +optional
optional string type = 1;
// RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
+ // +optional
optional RollingUpdateStatefulSetStrategy rollingUpdate = 2;
}
diff --git a/vendor/k8s.io/api/apps/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/apps/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index 3127ea3ca..000000000
--- a/vendor/k8s.io/api/apps/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,68 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*ControllerRevision) ProtoMessage() {}
-
-func (*ControllerRevisionList) ProtoMessage() {}
-
-func (*Deployment) ProtoMessage() {}
-
-func (*DeploymentCondition) ProtoMessage() {}
-
-func (*DeploymentList) ProtoMessage() {}
-
-func (*DeploymentRollback) ProtoMessage() {}
-
-func (*DeploymentSpec) ProtoMessage() {}
-
-func (*DeploymentStatus) ProtoMessage() {}
-
-func (*DeploymentStrategy) ProtoMessage() {}
-
-func (*RollbackConfig) ProtoMessage() {}
-
-func (*RollingUpdateDeployment) ProtoMessage() {}
-
-func (*RollingUpdateStatefulSetStrategy) ProtoMessage() {}
-
-func (*Scale) ProtoMessage() {}
-
-func (*ScaleSpec) ProtoMessage() {}
-
-func (*ScaleStatus) ProtoMessage() {}
-
-func (*StatefulSet) ProtoMessage() {}
-
-func (*StatefulSetCondition) ProtoMessage() {}
-
-func (*StatefulSetList) ProtoMessage() {}
-
-func (*StatefulSetOrdinals) ProtoMessage() {}
-
-func (*StatefulSetPersistentVolumeClaimRetentionPolicy) ProtoMessage() {}
-
-func (*StatefulSetSpec) ProtoMessage() {}
-
-func (*StatefulSetStatus) ProtoMessage() {}
-
-func (*StatefulSetUpdateStrategy) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/apps/v1beta1/types.go b/vendor/k8s.io/api/apps/v1beta1/types.go
index b1e6b3368..9960ac0b3 100644
--- a/vendor/k8s.io/api/apps/v1beta1/types.go
+++ b/vendor/k8s.io/api/apps/v1beta1/types.go
@@ -33,15 +33,16 @@ const (
type ScaleSpec struct {
// replicas is the number of observed instances of the scaled object.
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
Replicas int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
}
// ScaleStatus represents the current status of a scale subresource.
type ScaleStatus struct {
// replias is the actual number of observed instances of the scaled object.
+ // +optional
Replicas int32 `json:"replicas" protobuf:"varint,1,opt,name=replicas"`
// selector is a label query over pods that should match the replicas count. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
@@ -63,13 +64,14 @@ type ScaleStatus struct {
// +k8s:prerelease-lifecycle-gen:deprecated=1.8
// +k8s:prerelease-lifecycle-gen:removed=1.16
// +k8s:prerelease-lifecycle-gen:replacement=autoscaling,v1,Scale
-// +k8s:isSubresource=/scale
+// +k8s:isSubresource="/scale"
// Scale represents a scaling request for a resource.
type Scale struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
@@ -97,13 +99,15 @@ type Scale struct {
//
// The StatefulSet guarantees that a given network identity will always
// map to the same storage identity.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
type StatefulSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec defines the desired identities of pods in this set.
- // +optional
+ // +required
Spec StatefulSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Status is the current status of Pods in this StatefulSet. This data
@@ -132,8 +136,10 @@ const (
// necessary to perform the update for the indicated strategy.
type StatefulSetUpdateStrategy struct {
// Type indicates the type of the StatefulSetUpdateStrategy.
+ // +optional
Type StatefulSetUpdateStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=StatefulSetStrategyType"`
// RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
+ // +optional
RollingUpdate *RollingUpdateStatefulSetStrategy `json:"rollingUpdate,omitempty" protobuf:"bytes,2,opt,name=rollingUpdate"`
}
@@ -148,11 +154,12 @@ const (
// strategy, new Pods will be created from the specification version indicated
// by the StatefulSet's updateRevision.
RollingUpdateStatefulSetStrategyType StatefulSetUpdateStrategyType = "RollingUpdate"
- // OnDeleteStatefulSetStrategyType triggers the legacy behavior. Version
- // tracking and ordered rolling restarts are disabled. Pods are recreated
- // from the StatefulSetSpec when they are manually deleted. When a scale
- // operation is performed with this strategy,specification version indicated
- // by the StatefulSet's currentRevision.
+ // OnDeleteStatefulSetStrategyType disables ordered rolling restarts. Version
+ // tracking is done on a best-effort basis - the controller will try to
+ // eventually converge StatefulSet's currentRevision with updateRevision.
+ // Pods are recreated from the StatefulSetSpec when they are manually deleted.
+ // When a scale operation is performed with this strategy, new Pods will be
+ // created from the specification version indicated by the StatefulSet's updateRevision.
OnDeleteStatefulSetStrategyType StatefulSetUpdateStrategyType = "OnDelete"
)
@@ -162,6 +169,7 @@ type RollingUpdateStatefulSetStrategy struct {
// for updates. During a rolling update, all pods from ordinal Replicas-1 to
// Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched.
// This is helpful in being able to do a canary based deployment. The default value is 0.
+ // +optional
Partition *int32 `json:"partition,omitempty" protobuf:"varint,1,opt,name=partition"`
// maxUnavailable is the maximum number of pods that can be unavailable during the update.
// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
@@ -201,12 +209,14 @@ type StatefulSetPersistentVolumeClaimRetentionPolicy struct {
// VolumeClaimTemplates when the StatefulSet is deleted. The default policy
// of `Retain` causes PVCs to not be affected by StatefulSet deletion. The
// `Delete` policy causes those PVCs to be deleted.
+ // +optional
WhenDeleted PersistentVolumeClaimRetentionPolicyType `json:"whenDeleted,omitempty" protobuf:"bytes,1,opt,name=whenDeleted,casttype=PersistentVolumeClaimRetentionPolicyType"`
// whenScaled specifies what happens to PVCs created from StatefulSet
// VolumeClaimTemplates when the StatefulSet is scaled down. The default
// policy of `Retain` causes PVCs to not be affected by a scaledown. The
// `Delete` policy causes the associated PVCs for any excess pods above
// the replica count to be deleted.
+ // +optional
WhenScaled PersistentVolumeClaimRetentionPolicyType `json:"whenScaled,omitempty" protobuf:"bytes,2,opt,name=whenScaled,casttype=PersistentVolumeClaimRetentionPolicyType"`
}
@@ -236,9 +246,11 @@ type StatefulSetSpec struct {
Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
// selector is a label query over pods that should match the replica count.
- // If empty, defaulted to labels on the pod template.
+ // It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
- // +optional
+ // +required
+ // +k8s:alpha(since: "1.37")=+k8s:required
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"`
// template is the object that describes the pod that will be created if
@@ -247,6 +259,7 @@ type StatefulSetSpec struct {
// of the StatefulSet. Each pod will be named with the format
// -. For example, a pod in a StatefulSet named
// "web" with index number "3" would be named "web-3".
+ // +required
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`
// volumeClaimTemplates is a list of claims that pods are allowed to reference.
@@ -257,7 +270,10 @@ type StatefulSetSpec struct {
// any volumes in the template, with the same name.
// TODO: Define the behavior if a claim already exists with the same name.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty" protobuf:"bytes,4,rep,name=volumeClaimTemplates"`
// serviceName is the name of the service that governs this StatefulSet.
@@ -266,6 +282,8 @@ type StatefulSetSpec struct {
// pattern: pod-specific-string.serviceName.default.svc.cluster.local
// where "pod-specific-string" is managed by the StatefulSet controller.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
ServiceName string `json:"serviceName" protobuf:"bytes,5,opt,name=serviceName"`
// podManagementPolicy controls how pods are created during initial scale up,
@@ -277,17 +295,21 @@ type StatefulSetSpec struct {
// to match the desired scale without waiting, and on scale down will delete
// all pods at once.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
PodManagementPolicy PodManagementPolicyType `json:"podManagementPolicy,omitempty" protobuf:"bytes,6,opt,name=podManagementPolicy,casttype=PodManagementPolicyType"`
// updateStrategy indicates the StatefulSetUpdateStrategy that will be
// employed to update Pods in the StatefulSet when a revision is made to
// Template.
+ // +optional
UpdateStrategy StatefulSetUpdateStrategy `json:"updateStrategy,omitempty" protobuf:"bytes,7,opt,name=updateStrategy"`
// revisionHistoryLimit is the maximum number of revisions that will
// be maintained in the StatefulSet's revision history. The revision history
// consists of all revisions not represented by a currently applied
// StatefulSetSpec version. The default value is 10.
+ // +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,8,opt,name=revisionHistoryLimit"`
// minReadySeconds is the minimum number of seconds for which a newly created pod should be ready
@@ -365,8 +387,10 @@ type StatefulSetConditionType string
// StatefulSetCondition describes the state of a statefulset at a certain point.
type StatefulSetCondition struct {
// Type of statefulset condition.
+ // +optional
Type StatefulSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=StatefulSetConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// Last time the condition transitioned from one status to another.
// +optional
@@ -387,7 +411,7 @@ type StatefulSetCondition struct {
// StatefulSetList is a collection of StatefulSets.
type StatefulSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
Items []StatefulSet `json:"items" protobuf:"bytes,2,rep,name=items"`
@@ -403,14 +427,16 @@ type StatefulSetList struct {
// DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for
// more information.
// Deployment enables declarative updates for Pods and ReplicaSets.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
type Deployment struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the Deployment.
- // +optional
+ // +required
Spec DeploymentSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Most recently observed status of the Deployment.
@@ -432,6 +458,7 @@ type DeploymentSpec struct {
// Template describes the pods that will be created.
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`
// The deployment strategy to use to replace existing pods with new ones.
@@ -478,13 +505,15 @@ type DeploymentSpec struct {
// DEPRECATED.
// DeploymentRollback stores the information required to rollback a deployment.
type DeploymentRollback struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Required: This must match the Name of a deployment.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// The annotations to be updated to a deployment
// +optional
UpdatedAnnotations map[string]string `json:"updatedAnnotations,omitempty" protobuf:"bytes,2,rep,name=updatedAnnotations"`
// The config of this deployment rollback.
+ // +optional
RollbackTo RollbackConfig `json:"rollbackTo" protobuf:"bytes,3,opt,name=rollbackTo"`
}
@@ -626,16 +655,22 @@ const (
// DeploymentCondition describes the state of a deployment at a certain point.
type DeploymentCondition struct {
// Type of deployment condition.
+ // +optional
Type DeploymentConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DeploymentConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// The last time this condition was updated.
+ // +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty" protobuf:"bytes,6,opt,name=lastUpdateTime"`
// Last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,7,opt,name=lastTransitionTime"`
// The reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// A human readable message indicating details about the transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
@@ -647,7 +682,7 @@ type DeploymentCondition struct {
// DeploymentList is a list of Deployments.
type DeploymentList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -675,16 +710,18 @@ type DeploymentList struct {
// it may be subject to name and representation changes in future releases, and clients should not
// depend on its stability. It is primarily for internal use by controllers.
type ControllerRevision struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// data is the serialized representation of the state.
- Data runtime.RawExtension `json:"data,omitempty" protobuf:"bytes,2,opt,name=data"`
+ // +required
+ Data runtime.RawExtension `json:"data" protobuf:"bytes,2,opt,name=data"`
// revision indicates the revision of the state represented by Data.
+ // +optional
Revision int64 `json:"revision" protobuf:"varint,3,opt,name=revision"`
}
@@ -696,7 +733,7 @@ type ControllerRevision struct {
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
type ControllerRevisionList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
index a6f7a1192..e0efc96cd 100644
--- a/vendor/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
@@ -251,7 +251,7 @@ func (StatefulSetPersistentVolumeClaimRetentionPolicy) SwaggerDoc() map[string]s
var map_StatefulSetSpec = map[string]string{
"": "A StatefulSetSpec is the specification of a StatefulSet.",
"replicas": "replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.",
- "selector": "selector is a label query over pods that should match the replica count. If empty, defaulted to labels on the pod template. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors",
+ "selector": "selector is a label query over pods that should match the replica count. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors",
"template": "template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet. Each pod will be named with the format -. For example, a pod in a StatefulSet named \"web\" with index number \"3\" would be named \"web-3\".",
"volumeClaimTemplates": "volumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.",
"serviceName": "serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where \"pod-specific-string\" is managed by the StatefulSet controller.",
diff --git a/vendor/k8s.io/api/apps/v1beta2/generated.proto b/vendor/k8s.io/api/apps/v1beta2/generated.proto
index 1cdd0a43f..738b1236e 100644
--- a/vendor/k8s.io/api/apps/v1beta2/generated.proto
+++ b/vendor/k8s.io/api/apps/v1beta2/generated.proto
@@ -48,9 +48,11 @@ message ControllerRevision {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Data is the serialized representation of the state.
+ // +required
optional .k8s.io.apimachinery.pkg.runtime.RawExtension data = 2;
// Revision indicates the revision of the state represented by Data.
+ // +optional
optional int64 revision = 3;
}
@@ -67,6 +69,7 @@ message ControllerRevisionList {
// DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for
// more information.
// DaemonSet represents the configuration of a daemon set.
+// +k8s:supportsSubresource="/status"
message DaemonSet {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -75,7 +78,7 @@ message DaemonSet {
// The desired behavior of this daemon set.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional DaemonSetSpec spec = 2;
// The current status of this daemon set. This data may be
@@ -90,9 +93,11 @@ message DaemonSet {
// DaemonSetCondition describes the state of a DaemonSet at a certain point.
message DaemonSetCondition {
// Type of DaemonSet condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// Last time the condition transitioned from one status to another.
@@ -125,6 +130,7 @@ message DaemonSetSpec {
// Must match in order to be controlled.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1;
// An object that describes the pod that will be created.
@@ -133,6 +139,7 @@ message DaemonSetSpec {
// selector is specified).
// The only allowed template.spec.restartPolicy value is "Always".
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
+ // +required
optional .k8s.io.api.core.v1.PodTemplateSpec template = 2;
// An update strategy to replace existing DaemonSet pods with new pods.
@@ -227,13 +234,15 @@ message DaemonSetUpdateStrategy {
// DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for
// more information.
// Deployment enables declarative updates for Pods and ReplicaSets.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
message Deployment {
// Standard object metadata.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Specification of the desired behavior of the Deployment.
- // +optional
+ // +required
optional DeploymentSpec spec = 2;
// Most recently observed status of the Deployment.
@@ -244,21 +253,27 @@ message Deployment {
// DeploymentCondition describes the state of a deployment at a certain point.
message DeploymentCondition {
// Type of deployment condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// The last time this condition was updated.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6;
// Last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7;
// The reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// A human readable message indicating details about the transition.
+ // +optional
optional string message = 5;
}
@@ -282,10 +297,12 @@ message DeploymentSpec {
// Label selector for pods. Existing ReplicaSets whose pods are
// selected by this will be the ones affected by this deployment.
// It must match the pod template's labels.
+ // +required
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
// Template describes the pods that will be created.
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
optional .k8s.io.api.core.v1.PodTemplateSpec template = 3;
// The deployment strategy to use to replace existing pods with new ones.
@@ -314,6 +331,7 @@ message DeploymentSpec {
// process failed deployments and a condition with a ProgressDeadlineExceeded
// reason will be surfaced in the deployment status. Note that progress will
// not be estimated during the time a deployment is paused. Defaults to 600s.
+ // +optional
optional int32 progressDeadlineSeconds = 9;
}
@@ -384,6 +402,8 @@ message DeploymentStrategy {
// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for
// more information.
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
message ReplicaSet {
// If the Labels of a ReplicaSet are empty, they are defaulted to
// be the same as the Pod(s) that the ReplicaSet manages.
@@ -393,7 +413,7 @@ message ReplicaSet {
// Spec defines the specification of the desired behavior of the ReplicaSet.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional ReplicaSetSpec spec = 2;
// Status is the most recently observed status of the ReplicaSet.
@@ -408,9 +428,11 @@ message ReplicaSet {
// ReplicaSetCondition describes the state of a replica set at a certain point.
message ReplicaSetCondition {
// Type of replica set condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// The last time the condition transitioned from one status to another.
@@ -457,6 +479,7 @@ message ReplicaSetSpec {
// Label keys and values that must match in order to be controlled by this replica set.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
// Template is the object that describes the pod that will be created if
@@ -601,6 +624,7 @@ message RollingUpdateStatefulSetStrategy {
message Scale {
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
@@ -616,15 +640,16 @@ message Scale {
message ScaleSpec {
// desired number of instances for the scaled object.
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
optional int32 replicas = 1;
}
// ScaleStatus represents the current status of a scale subresource.
message ScaleStatus {
// actual number of observed instances of the scaled object.
+ // +optional
optional int32 replicas = 1;
// selector is a label query over pods that should match the replicas count. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
@@ -651,12 +676,14 @@ message ScaleStatus {
//
// The StatefulSet guarantees that a given network identity will always
// map to the same storage identity.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
message StatefulSet {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Spec defines the desired identities of pods in this set.
- // +optional
+ // +required
optional StatefulSetSpec spec = 2;
// Status is the current status of Pods in this StatefulSet. This data
@@ -668,9 +695,11 @@ message StatefulSet {
// StatefulSetCondition describes the state of a statefulset at a certain point.
message StatefulSetCondition {
// Type of statefulset condition.
+ // +optional
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
+ // +optional
optional string status = 2;
// Last time the condition transitioned from one status to another.
@@ -716,6 +745,7 @@ message StatefulSetPersistentVolumeClaimRetentionPolicy {
// VolumeClaimTemplates when the StatefulSet is deleted. The default policy
// of `Retain` causes PVCs to not be affected by StatefulSet deletion. The
// `Delete` policy causes those PVCs to be deleted.
+ // +optional
optional string whenDeleted = 1;
// WhenScaled specifies what happens to PVCs created from StatefulSet
@@ -723,6 +753,7 @@ message StatefulSetPersistentVolumeClaimRetentionPolicy {
// policy of `Retain` causes PVCs to not be affected by a scaledown. The
// `Delete` policy causes the associated PVCs for any excess pods above
// the replica count to be deleted.
+ // +optional
optional string whenScaled = 2;
}
@@ -739,6 +770,9 @@ message StatefulSetSpec {
// selector is a label query over pods that should match the replica count.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
+ // +k8s:alpha(since: "1.37")=+k8s:required
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
// template is the object that describes the pod that will be created if
@@ -748,6 +782,7 @@ message StatefulSetSpec {
// -. For example, a pod in a StatefulSet named
// "web" with index number "3" would be named "web-3".
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
optional .k8s.io.api.core.v1.PodTemplateSpec template = 3;
// volumeClaimTemplates is a list of claims that pods are allowed to reference.
@@ -758,7 +793,10 @@ message StatefulSetSpec {
// any volumes in the template, with the same name.
// TODO: Define the behavior if a claim already exists with the same name.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
repeated .k8s.io.api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4;
// serviceName is the name of the service that governs this StatefulSet.
@@ -767,6 +805,8 @@ message StatefulSetSpec {
// pattern: pod-specific-string.serviceName.default.svc.cluster.local
// where "pod-specific-string" is managed by the StatefulSet controller.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional string serviceName = 5;
// podManagementPolicy controls how pods are created during initial scale up,
@@ -778,17 +818,21 @@ message StatefulSetSpec {
// to match the desired scale without waiting, and on scale down will delete
// all pods at once.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional string podManagementPolicy = 6;
// updateStrategy indicates the StatefulSetUpdateStrategy that will be
// employed to update Pods in the StatefulSet when a revision is made to
// Template.
+ // +optional
optional StatefulSetUpdateStrategy updateStrategy = 7;
// revisionHistoryLimit is the maximum number of revisions that will
// be maintained in the StatefulSet's revision history. The revision history
// consists of all revisions not represented by a currently applied
// StatefulSetSpec version. The default value is 10.
+ // +optional
optional int32 revisionHistoryLimit = 8;
// Minimum number of seconds for which a newly created pod should be ready
diff --git a/vendor/k8s.io/api/apps/v1beta2/generated.protomessage.pb.go b/vendor/k8s.io/api/apps/v1beta2/generated.protomessage.pb.go
deleted file mode 100644
index 18582bf29..000000000
--- a/vendor/k8s.io/api/apps/v1beta2/generated.protomessage.pb.go
+++ /dev/null
@@ -1,88 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta2
-
-func (*ControllerRevision) ProtoMessage() {}
-
-func (*ControllerRevisionList) ProtoMessage() {}
-
-func (*DaemonSet) ProtoMessage() {}
-
-func (*DaemonSetCondition) ProtoMessage() {}
-
-func (*DaemonSetList) ProtoMessage() {}
-
-func (*DaemonSetSpec) ProtoMessage() {}
-
-func (*DaemonSetStatus) ProtoMessage() {}
-
-func (*DaemonSetUpdateStrategy) ProtoMessage() {}
-
-func (*Deployment) ProtoMessage() {}
-
-func (*DeploymentCondition) ProtoMessage() {}
-
-func (*DeploymentList) ProtoMessage() {}
-
-func (*DeploymentSpec) ProtoMessage() {}
-
-func (*DeploymentStatus) ProtoMessage() {}
-
-func (*DeploymentStrategy) ProtoMessage() {}
-
-func (*ReplicaSet) ProtoMessage() {}
-
-func (*ReplicaSetCondition) ProtoMessage() {}
-
-func (*ReplicaSetList) ProtoMessage() {}
-
-func (*ReplicaSetSpec) ProtoMessage() {}
-
-func (*ReplicaSetStatus) ProtoMessage() {}
-
-func (*RollingUpdateDaemonSet) ProtoMessage() {}
-
-func (*RollingUpdateDeployment) ProtoMessage() {}
-
-func (*RollingUpdateStatefulSetStrategy) ProtoMessage() {}
-
-func (*Scale) ProtoMessage() {}
-
-func (*ScaleSpec) ProtoMessage() {}
-
-func (*ScaleStatus) ProtoMessage() {}
-
-func (*StatefulSet) ProtoMessage() {}
-
-func (*StatefulSetCondition) ProtoMessage() {}
-
-func (*StatefulSetList) ProtoMessage() {}
-
-func (*StatefulSetOrdinals) ProtoMessage() {}
-
-func (*StatefulSetPersistentVolumeClaimRetentionPolicy) ProtoMessage() {}
-
-func (*StatefulSetSpec) ProtoMessage() {}
-
-func (*StatefulSetStatus) ProtoMessage() {}
-
-func (*StatefulSetUpdateStrategy) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/apps/v1beta2/types.go b/vendor/k8s.io/api/apps/v1beta2/types.go
index 18c74a4aa..138039f02 100644
--- a/vendor/k8s.io/api/apps/v1beta2/types.go
+++ b/vendor/k8s.io/api/apps/v1beta2/types.go
@@ -35,15 +35,16 @@ const (
type ScaleSpec struct {
// desired number of instances for the scaled object.
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
Replicas int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
}
// ScaleStatus represents the current status of a scale subresource.
type ScaleStatus struct {
// actual number of observed instances of the scaled object.
+ // +optional
Replicas int32 `json:"replicas" protobuf:"varint,1,opt,name=replicas"`
// selector is a label query over pods that should match the replicas count. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
@@ -66,13 +67,14 @@ type ScaleStatus struct {
// +k8s:prerelease-lifecycle-gen:deprecated=1.9
// +k8s:prerelease-lifecycle-gen:removed=1.16
// +k8s:prerelease-lifecycle-gen:replacement=autoscaling,v1,Scale
-// +k8s:isSubresource=/scale
+// +k8s:isSubresource="/scale"
// Scale represents a scaling request for a resource.
type Scale struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
@@ -103,13 +105,15 @@ type Scale struct {
//
// The StatefulSet guarantees that a given network identity will always
// map to the same storage identity.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
type StatefulSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec defines the desired identities of pods in this set.
- // +optional
+ // +required
Spec StatefulSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Status is the current status of Pods in this StatefulSet. This data
@@ -157,11 +161,12 @@ const (
// strategy, new Pods will be created from the specification version indicated
// by the StatefulSet's updateRevision.
RollingUpdateStatefulSetStrategyType StatefulSetUpdateStrategyType = "RollingUpdate"
- // OnDeleteStatefulSetStrategyType triggers the legacy behavior. Version
- // tracking and ordered rolling restarts are disabled. Pods are recreated
- // from the StatefulSetSpec when they are manually deleted. When a scale
- // operation is performed with this strategy,specification version indicated
- // by the StatefulSet's currentRevision.
+ // OnDeleteStatefulSetStrategyType disables ordered rolling restarts. Version
+ // tracking is done on a best-effort basis - the controller will try to
+ // eventually converge StatefulSet's currentRevision with updateRevision.
+ // Pods are recreated from the StatefulSetSpec when they are manually deleted.
+ // When a scale operation is performed with this strategy, new Pods will be
+ // created from the specification version indicated by the StatefulSet's updateRevision.
OnDeleteStatefulSetStrategyType StatefulSetUpdateStrategyType = "OnDelete"
)
@@ -211,12 +216,14 @@ type StatefulSetPersistentVolumeClaimRetentionPolicy struct {
// VolumeClaimTemplates when the StatefulSet is deleted. The default policy
// of `Retain` causes PVCs to not be affected by StatefulSet deletion. The
// `Delete` policy causes those PVCs to be deleted.
+ // +optional
WhenDeleted PersistentVolumeClaimRetentionPolicyType `json:"whenDeleted,omitempty" protobuf:"bytes,1,opt,name=whenDeleted,casttype=PersistentVolumeClaimRetentionPolicyType"`
// WhenScaled specifies what happens to PVCs created from StatefulSet
// VolumeClaimTemplates when the StatefulSet is scaled down. The default
// policy of `Retain` causes PVCs to not be affected by a scaledown. The
// `Delete` policy causes the associated PVCs for any excess pods above
// the replica count to be deleted.
+ // +optional
WhenScaled PersistentVolumeClaimRetentionPolicyType `json:"whenScaled,omitempty" protobuf:"bytes,2,opt,name=whenScaled,casttype=PersistentVolumeClaimRetentionPolicyType"`
}
@@ -248,6 +255,9 @@ type StatefulSetSpec struct {
// selector is a label query over pods that should match the replica count.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
+ // +k8s:alpha(since: "1.37")=+k8s:required
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`
// template is the object that describes the pod that will be created if
@@ -257,6 +267,7 @@ type StatefulSetSpec struct {
// -. For example, a pod in a StatefulSet named
// "web" with index number "3" would be named "web-3".
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`
// volumeClaimTemplates is a list of claims that pods are allowed to reference.
@@ -267,7 +278,10 @@ type StatefulSetSpec struct {
// any volumes in the template, with the same name.
// TODO: Define the behavior if a claim already exists with the same name.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty" protobuf:"bytes,4,rep,name=volumeClaimTemplates"`
// serviceName is the name of the service that governs this StatefulSet.
@@ -276,6 +290,8 @@ type StatefulSetSpec struct {
// pattern: pod-specific-string.serviceName.default.svc.cluster.local
// where "pod-specific-string" is managed by the StatefulSet controller.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
ServiceName string `json:"serviceName" protobuf:"bytes,5,opt,name=serviceName"`
// podManagementPolicy controls how pods are created during initial scale up,
@@ -287,17 +303,21 @@ type StatefulSetSpec struct {
// to match the desired scale without waiting, and on scale down will delete
// all pods at once.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
+ // +k8s:alpha(since: "1.37")=+k8s:optional
PodManagementPolicy PodManagementPolicyType `json:"podManagementPolicy,omitempty" protobuf:"bytes,6,opt,name=podManagementPolicy,casttype=PodManagementPolicyType"`
// updateStrategy indicates the StatefulSetUpdateStrategy that will be
// employed to update Pods in the StatefulSet when a revision is made to
// Template.
+ // +optional
UpdateStrategy StatefulSetUpdateStrategy `json:"updateStrategy,omitempty" protobuf:"bytes,7,opt,name=updateStrategy"`
// revisionHistoryLimit is the maximum number of revisions that will
// be maintained in the StatefulSet's revision history. The revision history
// consists of all revisions not represented by a currently applied
// StatefulSetSpec version. The default value is 10.
+ // +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,8,opt,name=revisionHistoryLimit"`
// Minimum number of seconds for which a newly created pod should be ready
@@ -375,8 +395,10 @@ type StatefulSetConditionType string
// StatefulSetCondition describes the state of a statefulset at a certain point.
type StatefulSetCondition struct {
// Type of statefulset condition.
+ // +optional
Type StatefulSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=StatefulSetConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// Last time the condition transitioned from one status to another.
// +optional
@@ -397,7 +419,7 @@ type StatefulSetCondition struct {
// StatefulSetList is a collection of StatefulSets.
type StatefulSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
Items []StatefulSet `json:"items" protobuf:"bytes,2,rep,name=items"`
@@ -413,14 +435,16 @@ type StatefulSetList struct {
// DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for
// more information.
// Deployment enables declarative updates for Pods and ReplicaSets.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
type Deployment struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the Deployment.
- // +optional
+ // +required
Spec DeploymentSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Most recently observed status of the Deployment.
@@ -438,10 +462,12 @@ type DeploymentSpec struct {
// Label selector for pods. Existing ReplicaSets whose pods are
// selected by this will be the ones affected by this deployment.
// It must match the pod template's labels.
+ // +required
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`
// Template describes the pods that will be created.
// The only allowed template.spec.restartPolicy value is "Always".
+ // +required
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`
// The deployment strategy to use to replace existing pods with new ones.
@@ -470,6 +496,7 @@ type DeploymentSpec struct {
// process failed deployments and a condition with a ProgressDeadlineExceeded
// reason will be surfaced in the deployment status. Note that progress will
// not be estimated during the time a deployment is paused. Defaults to 600s.
+ // +optional
ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"`
}
@@ -604,16 +631,22 @@ const (
// DeploymentCondition describes the state of a deployment at a certain point.
type DeploymentCondition struct {
// Type of deployment condition.
+ // +optional
Type DeploymentConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DeploymentConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// The last time this condition was updated.
+ // +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty" protobuf:"bytes,6,opt,name=lastUpdateTime"`
// Last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,7,opt,name=lastTransitionTime"`
// The reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// A human readable message indicating details about the transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
@@ -625,7 +658,7 @@ type DeploymentCondition struct {
// DeploymentList is a list of Deployments.
type DeploymentList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -706,6 +739,7 @@ type DaemonSetSpec struct {
// Must match in order to be controlled.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,1,opt,name=selector"`
// An object that describes the pod that will be created.
@@ -714,6 +748,7 @@ type DaemonSetSpec struct {
// selector is specified).
// The only allowed template.spec.restartPolicy value is "Always".
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
+ // +required
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,2,opt,name=template"`
// An update strategy to replace existing DaemonSet pods with new pods.
@@ -797,8 +832,10 @@ type DaemonSetConditionType string
// DaemonSetCondition describes the state of a DaemonSet at a certain point.
type DaemonSetCondition struct {
// Type of DaemonSet condition.
+ // +optional
Type DaemonSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DaemonSetConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// Last time the condition transitioned from one status to another.
// +optional
@@ -821,8 +858,9 @@ type DaemonSetCondition struct {
// DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for
// more information.
// DaemonSet represents the configuration of a daemon set.
+// +k8s:supportsSubresource="/status"
type DaemonSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -830,7 +868,7 @@ type DaemonSet struct {
// The desired behavior of this daemon set.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec DaemonSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// The current status of this daemon set. This data may be
@@ -857,7 +895,7 @@ const (
// DaemonSetList is a collection of daemon sets.
type DaemonSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -877,8 +915,10 @@ type DaemonSetList struct {
// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for
// more information.
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
type ReplicaSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// If the Labels of a ReplicaSet are empty, they are defaulted to
// be the same as the Pod(s) that the ReplicaSet manages.
@@ -888,7 +928,7 @@ type ReplicaSet struct {
// Spec defines the specification of the desired behavior of the ReplicaSet.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec ReplicaSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Status is the most recently observed status of the ReplicaSet.
@@ -908,7 +948,7 @@ type ReplicaSet struct {
// ReplicaSetList is a collection of ReplicaSets.
type ReplicaSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -938,6 +978,7 @@ type ReplicaSetSpec struct {
// Label keys and values that must match in order to be controlled by this replica set.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+ // +required
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`
// Template is the object that describes the pod that will be created if
@@ -998,8 +1039,10 @@ const (
// ReplicaSetCondition describes the state of a replica set at a certain point.
type ReplicaSetCondition struct {
// Type of replica set condition.
+ // +optional
Type ReplicaSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=ReplicaSetConditionType"`
// Status of the condition, one of True, False, Unknown.
+ // +optional
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// The last time the condition transitioned from one status to another.
// +optional
@@ -1031,16 +1074,18 @@ type ReplicaSetCondition struct {
// it may be subject to name and representation changes in future releases, and clients should not
// depend on its stability. It is primarily for internal use by controllers.
type ControllerRevision struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Data is the serialized representation of the state.
- Data runtime.RawExtension `json:"data,omitempty" protobuf:"bytes,2,opt,name=data"`
+ // +required
+ Data runtime.RawExtension `json:"data" protobuf:"bytes,2,opt,name=data"`
// Revision indicates the revision of the state represented by Data.
+ // +optional
Revision int64 `json:"revision" protobuf:"varint,3,opt,name=revision"`
}
@@ -1052,7 +1097,7 @@ type ControllerRevision struct {
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
type ControllerRevisionList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/authentication/v1/generated.pb.go b/vendor/k8s.io/api/authentication/v1/generated.pb.go
index 2b872c453..8547b769f 100644
--- a/vendor/k8s.io/api/authentication/v1/generated.pb.go
+++ b/vendor/k8s.io/api/authentication/v1/generated.pb.go
@@ -32,6 +32,8 @@ import (
k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types"
)
+func (m *AttestationValue) Reset() { *m = AttestationValue{} }
+
func (m *BoundObjectReference) Reset() { *m = BoundObjectReference{} }
func (m *ExtraValue) Reset() { *m = ExtraValue{} }
@@ -54,6 +56,38 @@ func (m *TokenReviewStatus) Reset() { *m = TokenReviewStatus{} }
func (m *UserInfo) Reset() { *m = UserInfo{} }
+func (m AttestationValue) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m AttestationValue) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m AttestationValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m) > 0 {
+ for iNdEx := len(m) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m[iNdEx])
+ copy(dAtA[i:], m[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m[iNdEx])))
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
+}
+
func (m *BoundObjectReference) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -278,6 +312,35 @@ func (m *TokenRequestSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if len(m.Attestations) > 0 {
+ keysForAttestations := make([]string, 0, len(m.Attestations))
+ for k := range m.Attestations {
+ keysForAttestations = append(keysForAttestations, string(k))
+ }
+ sort.Strings(keysForAttestations)
+ for iNdEx := len(keysForAttestations) - 1; iNdEx >= 0; iNdEx-- {
+ v := m.Attestations[string(keysForAttestations[iNdEx])]
+ baseI := i
+ {
+ size, err := (&v).MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ i -= len(keysForAttestations[iNdEx])
+ copy(dAtA[i:], keysForAttestations[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(keysForAttestations[iNdEx])))
+ i--
+ dAtA[i] = 0xa
+ i = encodeVarintGenerated(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0x2a
+ }
+ }
if m.ExpirationSeconds != nil {
i = encodeVarintGenerated(dAtA, i, uint64(*m.ExpirationSeconds))
i--
@@ -572,6 +635,21 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
dAtA[offset] = uint8(v)
return base
}
+func (m AttestationValue) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m) > 0 {
+ for _, s := range m {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
func (m *BoundObjectReference) Size() (n int) {
if m == nil {
return 0
@@ -662,6 +740,15 @@ func (m *TokenRequestSpec) Size() (n int) {
if m.ExpirationSeconds != nil {
n += 1 + sovGenerated(uint64(*m.ExpirationSeconds))
}
+ if len(m.Attestations) > 0 {
+ for k, v := range m.Attestations {
+ _ = k
+ _ = v
+ l = v.Size()
+ mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l))
+ n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
+ }
+ }
return n
}
@@ -814,10 +901,21 @@ func (this *TokenRequestSpec) String() string {
if this == nil {
return "nil"
}
+ keysForAttestations := make([]string, 0, len(this.Attestations))
+ for k := range this.Attestations {
+ keysForAttestations = append(keysForAttestations, k)
+ }
+ sort.Strings(keysForAttestations)
+ mapStringForAttestations := "map[string]AttestationValue{"
+ for _, k := range keysForAttestations {
+ mapStringForAttestations += fmt.Sprintf("%v: %v,", k, this.Attestations[k])
+ }
+ mapStringForAttestations += "}"
s := strings.Join([]string{`&TokenRequestSpec{`,
`Audiences:` + fmt.Sprintf("%v", this.Audiences) + `,`,
`BoundObjectRef:` + strings.Replace(this.BoundObjectRef.String(), "BoundObjectReference", "BoundObjectReference", 1) + `,`,
`ExpirationSeconds:` + valueToStringGenerated(this.ExpirationSeconds) + `,`,
+ `Attestations:` + mapStringForAttestations + `,`,
`}`,
}, "")
return s
@@ -900,6 +998,88 @@ func valueToStringGenerated(v interface{}) string {
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
+func (m *AttestationValue) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: AttestationValue: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: AttestationValue: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ *m = append(*m, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *BoundObjectReference) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -1625,6 +1805,135 @@ func (m *TokenRequestSpec) Unmarshal(dAtA []byte) error {
}
}
m.ExpirationSeconds = &v
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Attestations", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Attestations == nil {
+ m.Attestations = make(map[string]AttestationValue)
+ }
+ var mapkey string
+ mapvalue := &AttestationValue{}
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var mapmsglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ mapmsglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if mapmsglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postmsgIndex := iNdEx + mapmsglen
+ if postmsgIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postmsgIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = &AttestationValue{}
+ if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
+ return err
+ }
+ iNdEx = postmsgIndex
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.Attestations[mapkey] = *mapvalue
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/vendor/k8s.io/api/authentication/v1/generated.proto b/vendor/k8s.io/api/authentication/v1/generated.proto
index ae9763576..c7b99158a 100644
--- a/vendor/k8s.io/api/authentication/v1/generated.proto
+++ b/vendor/k8s.io/api/authentication/v1/generated.proto
@@ -28,21 +28,31 @@ import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "k8s.io/api/authentication/v1";
+// AttestationValue masks the value so protobuf can generate
+// +protobuf.nullable=true
+// +protobuf.options.(gogoproto.goproto_stringer)=false
+message AttestationValue {
+ // items, if empty, will result in an empty slice
+
+ repeated string items = 1;
+}
+
// BoundObjectReference is a reference to an object that a token is bound to.
message BoundObjectReference {
- // Kind of the referent. Valid kinds are 'Pod' and 'Secret'.
+ // kind of the referent. Valid kinds are 'Pod', 'Secret', 'Node',
+ // 'ValidatingWebhookConfiguration', and 'MutatingWebhookConfiguration'.
// +optional
optional string kind = 1;
- // API version of the referent.
+ // apiVersion is API version of the referent.
// +optional
optional string apiVersion = 2;
- // Name of the referent.
+ // name of the referent.
// +optional
optional string name = 3;
- // UID of the referent.
+ // uid of the referent.
// +optional
optional string uID = 4;
}
@@ -59,97 +69,116 @@ message ExtraValue {
// SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request.
// When using impersonation, users will receive the user info of the user being impersonated. If impersonation or
// request header authentication is used, any extra keys will have their case ignored and returned as lowercase.
+// +k8s:supportsSubresource="/status"
message SelfSubjectReview {
- // Standard object's metadata.
+ // metadata is standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Status is filled in by the server with the user attributes.
+ // status is filled in by the server with the user attributes.
+ // +optional
optional SelfSubjectReviewStatus status = 2;
}
// SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.
message SelfSubjectReviewStatus {
- // User attributes of the user making this request.
+ // userInfo is a set of attributes belonging to the user making this request.
// +optional
optional UserInfo userInfo = 1;
}
// TokenRequest requests a token for a given service account.
message TokenRequest {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
+ // +optional
optional TokenRequestSpec spec = 2;
- // Status is filled in by the server and indicates whether the token can be authenticated.
+ // status is filled in by the server and indicates whether the token can be authenticated.
// +optional
optional TokenRequestStatus status = 3;
}
// TokenRequestSpec contains client provided parameters of a token request.
message TokenRequestSpec {
- // Audiences are the intendend audiences of the token. A recipient of a
+ // audiences are the intendend audiences of the token. A recipient of a
// token must identify themself with an identifier in the list of
// audiences of the token, and otherwise should reject the token. A
// token issued for multiple audiences may be used to authenticate
// against any of the audiences listed but implies a high degree of
// trust between the target audiences.
+ // +optional
// +listType=atomic
repeated string audiences = 1;
- // ExpirationSeconds is the requested duration of validity of the request. The
+ // expirationSeconds is the requested duration of validity of the request. The
// token issuer may return a token with a different validity duration so a
// client needs to check the 'expiration' field in a response.
// +optional
optional int64 expirationSeconds = 4;
- // BoundObjectRef is a reference to an object that the token will be bound to.
+ // boundObjectRef is a reference to an object that the token will be bound to.
// The token will only be valid for as long as the bound object exists.
// NOTE: The API server's TokenReview endpoint will validate the
// BoundObjectRef, but other audiences may not. Keep ExpirationSeconds
// small if you want prompt revocation.
// +optional
optional BoundObjectReference boundObjectRef = 3;
+
+ // attestations is a map of well-known keys to string-slice values.
+ // The values for each key have a specific semantic meaning, which is
+ // documented on the key definition. Requesters of tokens may ask
+ // the Kubernetes API Server to attest to certain claims. The API Server
+ // may perform authorization checks depending on the key of this map.
+ // +optional
+ map attestations = 5;
}
// TokenRequestStatus is the result of a token request.
message TokenRequestStatus {
- // Token is the opaque bearer token.
+ // token is the opaque bearer token.
+ // +optional
optional string token = 1;
- // ExpirationTimestamp is the time of expiration of the returned token.
+ // expirationTimestamp is the time of expiration of the returned token.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time expirationTimestamp = 2;
}
// TokenReview attempts to authenticate a token to a known user.
// Note: TokenReview requests may be cached by the webhook token authenticator
// plugin in the kube-apiserver.
+// +k8s:supportsSubresource="/status"
message TokenReview {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
+ // +required
optional TokenReviewSpec spec = 2;
- // Status is filled in by the server and indicates whether the request can be authenticated.
+ // status is filled in by the server and indicates whether the request can be authenticated.
// +optional
optional TokenReviewStatus status = 3;
}
// TokenReviewSpec is a description of the token authentication request.
message TokenReviewSpec {
- // Token is the opaque bearer token.
- // +optional
+ // token is the opaque bearer token.
+ // +required
optional string token = 1;
- // Audiences is a list of the identifiers that the resource server presented
+ // audiences is a list of the identifiers that the resource server presented
// with the token identifies as. Audience-aware token authenticators will
// verify that the token was intended for at least one of the audiences in
// this list. If no audiences are provided, the audience will default to the
@@ -161,15 +190,15 @@ message TokenReviewSpec {
// TokenReviewStatus is the result of the token authentication request.
message TokenReviewStatus {
- // Authenticated indicates that the token was associated with a known user.
+ // authenticated indicates that the token was associated with a known user.
// +optional
optional bool authenticated = 1;
- // User is the UserInfo associated with the provided token.
+ // user is the UserInfo associated with the provided token.
// +optional
optional UserInfo user = 2;
- // Audiences are audience identifiers chosen by the authenticator that are
+ // audiences are audience identifiers chosen by the authenticator that are
// compatible with both the TokenReview and token. An identifier is any
// identifier in the intersection of the TokenReviewSpec audiences and the
// token's audiences. A client of the TokenReview API that sets the
@@ -182,7 +211,7 @@ message TokenReviewStatus {
// +listType=atomic
repeated string audiences = 4;
- // Error indicates that the token couldn't be checked
+ // error indicates that the token couldn't be checked
// +optional
optional string error = 3;
}
@@ -190,22 +219,22 @@ message TokenReviewStatus {
// UserInfo holds the information about the user needed to implement the
// user.Info interface.
message UserInfo {
- // The name that uniquely identifies this user among all active users.
+ // username is the name that uniquely identifies this user among all active users.
// +optional
optional string username = 1;
- // A unique value that identifies this user across time. If this user is
+ // uid is a unique value that identifies this user across time. If this user is
// deleted and another user by the same name is added, they will have
// different UIDs.
// +optional
optional string uid = 2;
- // The names of groups this user is a part of.
+ // groups is the names of groups this user is a part of.
// +optional
// +listType=atomic
repeated string groups = 3;
- // Any additional information provided by the authenticator.
+ // extra is any additional information provided by the authenticator.
// +optional
map extra = 4;
}
diff --git a/vendor/k8s.io/api/authentication/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/authentication/v1/generated.protomessage.pb.go
deleted file mode 100644
index 7003a8084..000000000
--- a/vendor/k8s.io/api/authentication/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,44 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*BoundObjectReference) ProtoMessage() {}
-
-func (*ExtraValue) ProtoMessage() {}
-
-func (*SelfSubjectReview) ProtoMessage() {}
-
-func (*SelfSubjectReviewStatus) ProtoMessage() {}
-
-func (*TokenRequest) ProtoMessage() {}
-
-func (*TokenRequestSpec) ProtoMessage() {}
-
-func (*TokenRequestStatus) ProtoMessage() {}
-
-func (*TokenReview) ProtoMessage() {}
-
-func (*TokenReviewSpec) ProtoMessage() {}
-
-func (*TokenReviewStatus) ProtoMessage() {}
-
-func (*UserInfo) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/authentication/v1/types.go b/vendor/k8s.io/api/authentication/v1/types.go
index 2dc0707c4..1eee2b504 100644
--- a/vendor/k8s.io/api/authentication/v1/types.go
+++ b/vendor/k8s.io/api/authentication/v1/types.go
@@ -39,6 +39,33 @@ const (
// It can be repeated multiplied times for multiple map keys and the same key can be repeated multiple
// times to have multiple elements in the slice under a single key
ImpersonateUserExtraHeaderPrefix = "Impersonate-Extra-"
+
+ // AttestationAdmissionReviewAPIGroups is the map key for the
+ // admissionReviewAPIGroups claim. It represents the APIGroup that a token
+ // authorizes its bearer to query admission webhooks about. The value
+ // corresponding to this key must be a slice of length 1, and the first and
+ // only element of this slice must match the APIGroup of the AdmissionReview
+ // request being made of the webhook. The empty string is invalid as the
+ // first and only element of the value slice. The special value "*" means
+ // "all api groups", and requires matching permissions (described below).
+ //
+ // For this claim to be considered valid, the TokenRequest must meet two
+ // conditions. First, the BoundObjectRef must be one of
+ // ValidatingWebhookConfiguration or MutatingWebhookConfiguration; the
+ // Webhook Configuration in question must have a Rule governing a resource
+ // under the APIGroup named in the value to this key. Second, the requested
+ // audience must match one of the following patterns:
+ // 1. When the webhook is configured with a URL, the audience must match
+ // the URL field exactly.
+ // 2. When the webhook is configured with a service, the audience must
+ // match the pattern `https://$name.$namespace.svc:$port[/$path]`, where
+ // `/$path` is optional.
+ //
+ // The service account for which the TokenRequest is being made must have
+ // "attest" permissions on group "authentication.k8s.io", resource
+ // "admissionReviewAPIGroups", and a resource name matching exactly either
+ // "*", or the API group named in the value to this key.
+ AttestationAdmissionReviewAPIGroups = "admissionReviewAPIGroups"
)
// +genclient
@@ -50,27 +77,30 @@ const (
// TokenReview attempts to authenticate a token to a known user.
// Note: TokenReview requests may be cached by the webhook token authenticator
// plugin in the kube-apiserver.
+// +k8s:supportsSubresource="/status"
type TokenReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
+ // +required
Spec TokenReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the request can be authenticated.
+ // status is filled in by the server and indicates whether the request can be authenticated.
// +optional
Status TokenReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// TokenReviewSpec is a description of the token authentication request.
type TokenReviewSpec struct {
- // Token is the opaque bearer token.
- // +optional
+ // token is the opaque bearer token.
+ // +required
Token string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
- // Audiences is a list of the identifiers that the resource server presented
+ // audiences is a list of the identifiers that the resource server presented
// with the token identifies as. Audience-aware token authenticators will
// verify that the token was intended for at least one of the audiences in
// this list. If no audiences are provided, the audience will default to the
@@ -82,13 +112,13 @@ type TokenReviewSpec struct {
// TokenReviewStatus is the result of the token authentication request.
type TokenReviewStatus struct {
- // Authenticated indicates that the token was associated with a known user.
+ // authenticated indicates that the token was associated with a known user.
// +optional
Authenticated bool `json:"authenticated,omitempty" protobuf:"varint,1,opt,name=authenticated"`
- // User is the UserInfo associated with the provided token.
+ // user is the UserInfo associated with the provided token.
// +optional
User UserInfo `json:"user,omitempty" protobuf:"bytes,2,opt,name=user"`
- // Audiences are audience identifiers chosen by the authenticator that are
+ // audiences are audience identifiers chosen by the authenticator that are
// compatible with both the TokenReview and token. An identifier is any
// identifier in the intersection of the TokenReviewSpec audiences and the
// token's audiences. A client of the TokenReview API that sets the
@@ -100,7 +130,7 @@ type TokenReviewStatus struct {
// +optional
// +listType=atomic
Audiences []string `json:"audiences,omitempty" protobuf:"bytes,4,rep,name=audiences"`
- // Error indicates that the token couldn't be checked
+ // error indicates that the token couldn't be checked
// +optional
Error string `json:"error,omitempty" protobuf:"bytes,3,opt,name=error"`
}
@@ -108,19 +138,19 @@ type TokenReviewStatus struct {
// UserInfo holds the information about the user needed to implement the
// user.Info interface.
type UserInfo struct {
- // The name that uniquely identifies this user among all active users.
+ // username is the name that uniquely identifies this user among all active users.
// +optional
Username string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"`
- // A unique value that identifies this user across time. If this user is
+ // uid is a unique value that identifies this user across time. If this user is
// deleted and another user by the same name is added, they will have
// different UIDs.
// +optional
UID string `json:"uid,omitempty" protobuf:"bytes,2,opt,name=uid"`
- // The names of groups this user is a part of.
+ // groups is the names of groups this user is a part of.
// +optional
// +listType=atomic
Groups []string `json:"groups,omitempty" protobuf:"bytes,3,rep,name=groups"`
- // Any additional information provided by the authenticator.
+ // extra is any additional information provided by the authenticator.
// +optional
Extra map[string]ExtraValue `json:"extra,omitempty" protobuf:"bytes,4,rep,name=extra"`
}
@@ -134,72 +164,95 @@ func (t ExtraValue) String() string {
return fmt.Sprintf("%v", []string(t))
}
+// AttestationValue masks the value so protobuf can generate
+// +protobuf.nullable=true
+// +protobuf.options.(gogoproto.goproto_stringer)=false
+type AttestationValue []string
+
+func (a AttestationValue) String() string {
+ return fmt.Sprintf("%v", []string(a))
+}
+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.10
// TokenRequest requests a token for a given service account.
type TokenRequest struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
+ // +optional
Spec TokenRequestSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the token can be authenticated.
+ // status is filled in by the server and indicates whether the token can be authenticated.
// +optional
Status TokenRequestStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// TokenRequestSpec contains client provided parameters of a token request.
type TokenRequestSpec struct {
- // Audiences are the intendend audiences of the token. A recipient of a
+ // audiences are the intendend audiences of the token. A recipient of a
// token must identify themself with an identifier in the list of
// audiences of the token, and otherwise should reject the token. A
// token issued for multiple audiences may be used to authenticate
// against any of the audiences listed but implies a high degree of
// trust between the target audiences.
+ // +optional
// +listType=atomic
Audiences []string `json:"audiences" protobuf:"bytes,1,rep,name=audiences"`
- // ExpirationSeconds is the requested duration of validity of the request. The
+ // expirationSeconds is the requested duration of validity of the request. The
// token issuer may return a token with a different validity duration so a
// client needs to check the 'expiration' field in a response.
// +optional
ExpirationSeconds *int64 `json:"expirationSeconds" protobuf:"varint,4,opt,name=expirationSeconds"`
- // BoundObjectRef is a reference to an object that the token will be bound to.
+ // boundObjectRef is a reference to an object that the token will be bound to.
// The token will only be valid for as long as the bound object exists.
// NOTE: The API server's TokenReview endpoint will validate the
// BoundObjectRef, but other audiences may not. Keep ExpirationSeconds
// small if you want prompt revocation.
// +optional
BoundObjectRef *BoundObjectReference `json:"boundObjectRef" protobuf:"bytes,3,opt,name=boundObjectRef"`
+
+ // attestations is a map of well-known keys to string-slice values.
+ // The values for each key have a specific semantic meaning, which is
+ // documented on the key definition. Requesters of tokens may ask
+ // the Kubernetes API Server to attest to certain claims. The API Server
+ // may perform authorization checks depending on the key of this map.
+ // +optional
+ Attestations map[string]AttestationValue `json:"attestations,omitempty" protobuf:"bytes,5,rep,name=attestations"`
}
// TokenRequestStatus is the result of a token request.
type TokenRequestStatus struct {
- // Token is the opaque bearer token.
+ // token is the opaque bearer token.
+ // +optional
Token string `json:"token" protobuf:"bytes,1,opt,name=token"`
- // ExpirationTimestamp is the time of expiration of the returned token.
+ // expirationTimestamp is the time of expiration of the returned token.
+ // +optional
ExpirationTimestamp metav1.Time `json:"expirationTimestamp" protobuf:"bytes,2,opt,name=expirationTimestamp"`
}
// BoundObjectReference is a reference to an object that a token is bound to.
type BoundObjectReference struct {
- // Kind of the referent. Valid kinds are 'Pod' and 'Secret'.
+ // kind of the referent. Valid kinds are 'Pod', 'Secret', 'Node',
+ // 'ValidatingWebhookConfiguration', and 'MutatingWebhookConfiguration'.
// +optional
Kind string `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"`
- // API version of the referent.
+ // apiVersion is API version of the referent.
// +optional
APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,2,opt,name=apiVersion"`
- // Name of the referent.
+ // name of the referent.
// +optional
Name string `json:"name,omitempty" protobuf:"bytes,3,opt,name=name"`
- // UID of the referent.
+ // uid of the referent.
// +optional
UID types.UID `json:"uid,omitempty" protobuf:"bytes,4,opt,name=uID,casttype=k8s.io/apimachinery/pkg/types.UID"`
}
@@ -213,19 +266,22 @@ type BoundObjectReference struct {
// SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request.
// When using impersonation, users will receive the user info of the user being impersonated. If impersonation or
// request header authentication is used, any extra keys will have their case ignored and returned as lowercase.
+// +k8s:supportsSubresource="/status"
type SelfSubjectReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Status is filled in by the server with the user attributes.
+ // status is filled in by the server with the user attributes.
+ // +optional
Status SelfSubjectReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
}
// SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.
type SelfSubjectReviewStatus struct {
- // User attributes of the user making this request.
+ // userInfo is a set of attributes belonging to the user making this request.
// +optional
UserInfo UserInfo `json:"userInfo,omitempty" protobuf:"bytes,1,opt,name=userInfo"`
}
diff --git a/vendor/k8s.io/api/authentication/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/authentication/v1/types_swagger_doc_generated.go
index ebfd4852c..eb50e7154 100644
--- a/vendor/k8s.io/api/authentication/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/authentication/v1/types_swagger_doc_generated.go
@@ -29,10 +29,10 @@ package v1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_BoundObjectReference = map[string]string{
"": "BoundObjectReference is a reference to an object that a token is bound to.",
- "kind": "Kind of the referent. Valid kinds are 'Pod' and 'Secret'.",
- "apiVersion": "API version of the referent.",
- "name": "Name of the referent.",
- "uid": "UID of the referent.",
+ "kind": "kind of the referent. Valid kinds are 'Pod', 'Secret', 'Node', 'ValidatingWebhookConfiguration', and 'MutatingWebhookConfiguration'.",
+ "apiVersion": "apiVersion is API version of the referent.",
+ "name": "name of the referent.",
+ "uid": "uid of the referent.",
}
func (BoundObjectReference) SwaggerDoc() map[string]string {
@@ -41,8 +41,8 @@ func (BoundObjectReference) SwaggerDoc() map[string]string {
var map_SelfSubjectReview = map[string]string{
"": "SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request. When using impersonation, users will receive the user info of the user being impersonated. If impersonation or request header authentication is used, any extra keys will have their case ignored and returned as lowercase.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "status": "Status is filled in by the server with the user attributes.",
+ "metadata": "metadata is standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "status": "status is filled in by the server with the user attributes.",
}
func (SelfSubjectReview) SwaggerDoc() map[string]string {
@@ -51,7 +51,7 @@ func (SelfSubjectReview) SwaggerDoc() map[string]string {
var map_SelfSubjectReviewStatus = map[string]string{
"": "SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.",
- "userInfo": "User attributes of the user making this request.",
+ "userInfo": "userInfo is a set of attributes belonging to the user making this request.",
}
func (SelfSubjectReviewStatus) SwaggerDoc() map[string]string {
@@ -60,9 +60,9 @@ func (SelfSubjectReviewStatus) SwaggerDoc() map[string]string {
var map_TokenRequest = map[string]string{
"": "TokenRequest requests a token for a given service account.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated",
- "status": "Status is filled in by the server and indicates whether the token can be authenticated.",
+ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated",
+ "status": "status is filled in by the server and indicates whether the token can be authenticated.",
}
func (TokenRequest) SwaggerDoc() map[string]string {
@@ -71,9 +71,10 @@ func (TokenRequest) SwaggerDoc() map[string]string {
var map_TokenRequestSpec = map[string]string{
"": "TokenRequestSpec contains client provided parameters of a token request.",
- "audiences": "Audiences are the intendend audiences of the token. A recipient of a token must identify themself with an identifier in the list of audiences of the token, and otherwise should reject the token. A token issued for multiple audiences may be used to authenticate against any of the audiences listed but implies a high degree of trust between the target audiences.",
- "expirationSeconds": "ExpirationSeconds is the requested duration of validity of the request. The token issuer may return a token with a different validity duration so a client needs to check the 'expiration' field in a response.",
- "boundObjectRef": "BoundObjectRef is a reference to an object that the token will be bound to. The token will only be valid for as long as the bound object exists. NOTE: The API server's TokenReview endpoint will validate the BoundObjectRef, but other audiences may not. Keep ExpirationSeconds small if you want prompt revocation.",
+ "audiences": "audiences are the intendend audiences of the token. A recipient of a token must identify themself with an identifier in the list of audiences of the token, and otherwise should reject the token. A token issued for multiple audiences may be used to authenticate against any of the audiences listed but implies a high degree of trust between the target audiences.",
+ "expirationSeconds": "expirationSeconds is the requested duration of validity of the request. The token issuer may return a token with a different validity duration so a client needs to check the 'expiration' field in a response.",
+ "boundObjectRef": "boundObjectRef is a reference to an object that the token will be bound to. The token will only be valid for as long as the bound object exists. NOTE: The API server's TokenReview endpoint will validate the BoundObjectRef, but other audiences may not. Keep ExpirationSeconds small if you want prompt revocation.",
+ "attestations": "attestations is a map of well-known keys to string-slice values. The values for each key have a specific semantic meaning, which is documented on the key definition. Requesters of tokens may ask the Kubernetes API Server to attest to certain claims. The API Server may perform authorization checks depending on the key of this map.",
}
func (TokenRequestSpec) SwaggerDoc() map[string]string {
@@ -82,8 +83,8 @@ func (TokenRequestSpec) SwaggerDoc() map[string]string {
var map_TokenRequestStatus = map[string]string{
"": "TokenRequestStatus is the result of a token request.",
- "token": "Token is the opaque bearer token.",
- "expirationTimestamp": "ExpirationTimestamp is the time of expiration of the returned token.",
+ "token": "token is the opaque bearer token.",
+ "expirationTimestamp": "expirationTimestamp is the time of expiration of the returned token.",
}
func (TokenRequestStatus) SwaggerDoc() map[string]string {
@@ -92,9 +93,9 @@ func (TokenRequestStatus) SwaggerDoc() map[string]string {
var map_TokenReview = map[string]string{
"": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated",
- "status": "Status is filled in by the server and indicates whether the request can be authenticated.",
+ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated",
+ "status": "status is filled in by the server and indicates whether the request can be authenticated.",
}
func (TokenReview) SwaggerDoc() map[string]string {
@@ -103,8 +104,8 @@ func (TokenReview) SwaggerDoc() map[string]string {
var map_TokenReviewSpec = map[string]string{
"": "TokenReviewSpec is a description of the token authentication request.",
- "token": "Token is the opaque bearer token.",
- "audiences": "Audiences is a list of the identifiers that the resource server presented with the token identifies as. Audience-aware token authenticators will verify that the token was intended for at least one of the audiences in this list. If no audiences are provided, the audience will default to the audience of the Kubernetes apiserver.",
+ "token": "token is the opaque bearer token.",
+ "audiences": "audiences is a list of the identifiers that the resource server presented with the token identifies as. Audience-aware token authenticators will verify that the token was intended for at least one of the audiences in this list. If no audiences are provided, the audience will default to the audience of the Kubernetes apiserver.",
}
func (TokenReviewSpec) SwaggerDoc() map[string]string {
@@ -113,10 +114,10 @@ func (TokenReviewSpec) SwaggerDoc() map[string]string {
var map_TokenReviewStatus = map[string]string{
"": "TokenReviewStatus is the result of the token authentication request.",
- "authenticated": "Authenticated indicates that the token was associated with a known user.",
- "user": "User is the UserInfo associated with the provided token.",
- "audiences": "Audiences are audience identifiers chosen by the authenticator that are compatible with both the TokenReview and token. An identifier is any identifier in the intersection of the TokenReviewSpec audiences and the token's audiences. A client of the TokenReview API that sets the spec.audiences field should validate that a compatible audience identifier is returned in the status.audiences field to ensure that the TokenReview server is audience aware. If a TokenReview returns an empty status.audience field where status.authenticated is \"true\", the token is valid against the audience of the Kubernetes API server.",
- "error": "Error indicates that the token couldn't be checked",
+ "authenticated": "authenticated indicates that the token was associated with a known user.",
+ "user": "user is the UserInfo associated with the provided token.",
+ "audiences": "audiences are audience identifiers chosen by the authenticator that are compatible with both the TokenReview and token. An identifier is any identifier in the intersection of the TokenReviewSpec audiences and the token's audiences. A client of the TokenReview API that sets the spec.audiences field should validate that a compatible audience identifier is returned in the status.audiences field to ensure that the TokenReview server is audience aware. If a TokenReview returns an empty status.audience field where status.authenticated is \"true\", the token is valid against the audience of the Kubernetes API server.",
+ "error": "error indicates that the token couldn't be checked",
}
func (TokenReviewStatus) SwaggerDoc() map[string]string {
@@ -125,10 +126,10 @@ func (TokenReviewStatus) SwaggerDoc() map[string]string {
var map_UserInfo = map[string]string{
"": "UserInfo holds the information about the user needed to implement the user.Info interface.",
- "username": "The name that uniquely identifies this user among all active users.",
- "uid": "A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.",
- "groups": "The names of groups this user is a part of.",
- "extra": "Any additional information provided by the authenticator.",
+ "username": "username is the name that uniquely identifies this user among all active users.",
+ "uid": "uid is a unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.",
+ "groups": "groups is the names of groups this user is a part of.",
+ "extra": "extra is any additional information provided by the authenticator.",
}
func (UserInfo) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/authentication/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/authentication/v1/zz_generated.deepcopy.go
index 369c89b86..6bc649268 100644
--- a/vendor/k8s.io/api/authentication/v1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/authentication/v1/zz_generated.deepcopy.go
@@ -25,6 +25,26 @@ import (
runtime "k8s.io/apimachinery/pkg/runtime"
)
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in AttestationValue) DeepCopyInto(out *AttestationValue) {
+ {
+ in := &in
+ *out = make(AttestationValue, len(*in))
+ copy(*out, *in)
+ return
+ }
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationValue.
+func (in AttestationValue) DeepCopy() AttestationValue {
+ if in == nil {
+ return nil
+ }
+ out := new(AttestationValue)
+ in.DeepCopyInto(out)
+ return *out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BoundObjectReference) DeepCopyInto(out *BoundObjectReference) {
*out = *in
@@ -151,6 +171,21 @@ func (in *TokenRequestSpec) DeepCopyInto(out *TokenRequestSpec) {
*out = new(BoundObjectReference)
**out = **in
}
+ if in.Attestations != nil {
+ in, out := &in.Attestations, &out.Attestations
+ *out = make(map[string]AttestationValue, len(*in))
+ for key, val := range *in {
+ var outVal []string
+ if val == nil {
+ (*out)[key] = nil
+ } else {
+ in, out := &val, &outVal
+ *out = make(AttestationValue, len(*in))
+ copy(*out, *in)
+ }
+ (*out)[key] = outVal
+ }
+ }
return
}
diff --git a/vendor/k8s.io/api/authentication/v1alpha1/generated.proto b/vendor/k8s.io/api/authentication/v1alpha1/generated.proto
index 4585e5cdd..cd806bb8a 100644
--- a/vendor/k8s.io/api/authentication/v1alpha1/generated.proto
+++ b/vendor/k8s.io/api/authentication/v1alpha1/generated.proto
@@ -32,19 +32,22 @@ option go_package = "k8s.io/api/authentication/v1alpha1";
// SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request.
// When using impersonation, users will receive the user info of the user being impersonated. If impersonation or
// request header authentication is used, any extra keys will have their case ignored and returned as lowercase.
+// +k8s:supportsSubresource="/status"
message SelfSubjectReview {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Status is filled in by the server with the user attributes.
+ // status is filled in by the server with the user attributes.
+ // +optional
optional SelfSubjectReviewStatus status = 2;
}
// SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.
message SelfSubjectReviewStatus {
- // User attributes of the user making this request.
+ // userInfo is a set of attributes belonging to the user making this request.
// +optional
optional .k8s.io.api.authentication.v1.UserInfo userInfo = 1;
}
diff --git a/vendor/k8s.io/api/authentication/v1alpha1/generated.protomessage.pb.go b/vendor/k8s.io/api/authentication/v1alpha1/generated.protomessage.pb.go
deleted file mode 100644
index d0e9c4e56..000000000
--- a/vendor/k8s.io/api/authentication/v1alpha1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,26 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1alpha1
-
-func (*SelfSubjectReview) ProtoMessage() {}
-
-func (*SelfSubjectReviewStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/authentication/v1alpha1/types.go b/vendor/k8s.io/api/authentication/v1alpha1/types.go
index 1ee3612fb..5a76a91a3 100644
--- a/vendor/k8s.io/api/authentication/v1alpha1/types.go
+++ b/vendor/k8s.io/api/authentication/v1alpha1/types.go
@@ -30,19 +30,22 @@ import (
// SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request.
// When using impersonation, users will receive the user info of the user being impersonated. If impersonation or
// request header authentication is used, any extra keys will have their case ignored and returned as lowercase.
+// +k8s:supportsSubresource="/status"
type SelfSubjectReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Status is filled in by the server with the user attributes.
+ // status is filled in by the server with the user attributes.
+ // +optional
Status SelfSubjectReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
}
// SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.
type SelfSubjectReviewStatus struct {
- // User attributes of the user making this request.
+ // userInfo is a set of attributes belonging to the user making this request.
// +optional
UserInfo v1.UserInfo `json:"userInfo,omitempty" protobuf:"bytes,1,opt,name=userInfo"`
}
diff --git a/vendor/k8s.io/api/authentication/v1alpha1/types_swagger_doc_generated.go b/vendor/k8s.io/api/authentication/v1alpha1/types_swagger_doc_generated.go
index 1ffcc99e7..95ce0287c 100644
--- a/vendor/k8s.io/api/authentication/v1alpha1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/authentication/v1alpha1/types_swagger_doc_generated.go
@@ -29,8 +29,8 @@ package v1alpha1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_SelfSubjectReview = map[string]string{
"": "SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request. When using impersonation, users will receive the user info of the user being impersonated. If impersonation or request header authentication is used, any extra keys will have their case ignored and returned as lowercase.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "status": "Status is filled in by the server with the user attributes.",
+ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "status": "status is filled in by the server with the user attributes.",
}
func (SelfSubjectReview) SwaggerDoc() map[string]string {
@@ -39,7 +39,7 @@ func (SelfSubjectReview) SwaggerDoc() map[string]string {
var map_SelfSubjectReviewStatus = map[string]string{
"": "SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.",
- "userInfo": "User attributes of the user making this request.",
+ "userInfo": "userInfo is a set of attributes belonging to the user making this request.",
}
func (SelfSubjectReviewStatus) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/authentication/v1beta1/generated.proto b/vendor/k8s.io/api/authentication/v1beta1/generated.proto
index d0f6fe440..e5992bcaa 100644
--- a/vendor/k8s.io/api/authentication/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/authentication/v1beta1/generated.proto
@@ -41,19 +41,22 @@ message ExtraValue {
// SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request.
// When using impersonation, users will receive the user info of the user being impersonated. If impersonation or
// request header authentication is used, any extra keys will have their case ignored and returned as lowercase.
+// +k8s:supportsSubresource="/status"
message SelfSubjectReview {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Status is filled in by the server with the user attributes.
+ // status is filled in by the server with the user attributes.
+ // +optional
optional SelfSubjectReviewStatus status = 2;
}
// SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.
message SelfSubjectReviewStatus {
- // User attributes of the user making this request.
+ // userInfo is a set of attributes belonging to the user making this request.
// +optional
optional .k8s.io.api.authentication.v1.UserInfo userInfo = 1;
}
@@ -61,27 +64,30 @@ message SelfSubjectReviewStatus {
// TokenReview attempts to authenticate a token to a known user.
// Note: TokenReview requests may be cached by the webhook token authenticator
// plugin in the kube-apiserver.
+// +k8s:supportsSubresource="/status"
message TokenReview {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
+ // +required
optional TokenReviewSpec spec = 2;
- // Status is filled in by the server and indicates whether the token can be authenticated.
+ // status is filled in by the server and indicates whether the token can be authenticated.
// +optional
optional TokenReviewStatus status = 3;
}
// TokenReviewSpec is a description of the token authentication request.
message TokenReviewSpec {
- // Token is the opaque bearer token.
- // +optional
+ // token is the opaque bearer token.
+ // +required
optional string token = 1;
- // Audiences is a list of the identifiers that the resource server presented
+ // audiences is a list of the identifiers that the resource server presented
// with the token identifies as. Audience-aware token authenticators will
// verify that the token was intended for at least one of the audiences in
// this list. If no audiences are provided, the audience will default to the
@@ -93,15 +99,15 @@ message TokenReviewSpec {
// TokenReviewStatus is the result of the token authentication request.
message TokenReviewStatus {
- // Authenticated indicates that the token was associated with a known user.
+ // authenticated indicates that the token was associated with a known user.
// +optional
optional bool authenticated = 1;
- // User is the UserInfo associated with the provided token.
+ // user is the UserInfo associated with the provided token.
// +optional
optional UserInfo user = 2;
- // Audiences are audience identifiers chosen by the authenticator that are
+ // audiences are audience identifiers chosen by the authenticator that are
// compatible with both the TokenReview and token. An identifier is any
// identifier in the intersection of the TokenReviewSpec audiences and the
// token's audiences. A client of the TokenReview API that sets the
@@ -114,7 +120,7 @@ message TokenReviewStatus {
// +listType=atomic
repeated string audiences = 4;
- // Error indicates that the token couldn't be checked
+ // error indicates that the token couldn't be checked
// +optional
optional string error = 3;
}
@@ -122,22 +128,22 @@ message TokenReviewStatus {
// UserInfo holds the information about the user needed to implement the
// user.Info interface.
message UserInfo {
- // The name that uniquely identifies this user among all active users.
+ // username is the name that uniquely identifies this user among all active users.
// +optional
optional string username = 1;
- // A unique value that identifies this user across time. If this user is
+ // uid is a unique value that identifies this user across time. If this user is
// deleted and another user by the same name is added, they will have
// different UIDs.
// +optional
optional string uid = 2;
- // The names of groups this user is a part of.
+ // groups is the names of groups this user is a part of.
// +optional
// +listType=atomic
repeated string groups = 3;
- // Any additional information provided by the authenticator.
+ // extra is any additional information provided by the authenticator.
// +optional
map extra = 4;
}
diff --git a/vendor/k8s.io/api/authentication/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/authentication/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index a55034da9..000000000
--- a/vendor/k8s.io/api/authentication/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,36 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*ExtraValue) ProtoMessage() {}
-
-func (*SelfSubjectReview) ProtoMessage() {}
-
-func (*SelfSubjectReviewStatus) ProtoMessage() {}
-
-func (*TokenReview) ProtoMessage() {}
-
-func (*TokenReviewSpec) ProtoMessage() {}
-
-func (*TokenReviewStatus) ProtoMessage() {}
-
-func (*UserInfo) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/authentication/v1beta1/types.go b/vendor/k8s.io/api/authentication/v1beta1/types.go
index 8038ef7d3..8873d5d2a 100644
--- a/vendor/k8s.io/api/authentication/v1beta1/types.go
+++ b/vendor/k8s.io/api/authentication/v1beta1/types.go
@@ -34,27 +34,30 @@ import (
// TokenReview attempts to authenticate a token to a known user.
// Note: TokenReview requests may be cached by the webhook token authenticator
// plugin in the kube-apiserver.
+// +k8s:supportsSubresource="/status"
type TokenReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
+ // +required
Spec TokenReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the token can be authenticated.
+ // status is filled in by the server and indicates whether the token can be authenticated.
// +optional
Status TokenReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// TokenReviewSpec is a description of the token authentication request.
type TokenReviewSpec struct {
- // Token is the opaque bearer token.
- // +optional
+ // token is the opaque bearer token.
+ // +required
Token string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
- // Audiences is a list of the identifiers that the resource server presented
+ // audiences is a list of the identifiers that the resource server presented
// with the token identifies as. Audience-aware token authenticators will
// verify that the token was intended for at least one of the audiences in
// this list. If no audiences are provided, the audience will default to the
@@ -66,13 +69,13 @@ type TokenReviewSpec struct {
// TokenReviewStatus is the result of the token authentication request.
type TokenReviewStatus struct {
- // Authenticated indicates that the token was associated with a known user.
+ // authenticated indicates that the token was associated with a known user.
// +optional
Authenticated bool `json:"authenticated,omitempty" protobuf:"varint,1,opt,name=authenticated"`
- // User is the UserInfo associated with the provided token.
+ // user is the UserInfo associated with the provided token.
// +optional
User UserInfo `json:"user,omitempty" protobuf:"bytes,2,opt,name=user"`
- // Audiences are audience identifiers chosen by the authenticator that are
+ // audiences are audience identifiers chosen by the authenticator that are
// compatible with both the TokenReview and token. An identifier is any
// identifier in the intersection of the TokenReviewSpec audiences and the
// token's audiences. A client of the TokenReview API that sets the
@@ -84,7 +87,7 @@ type TokenReviewStatus struct {
// +optional
// +listType=atomic
Audiences []string `json:"audiences,omitempty" protobuf:"bytes,4,rep,name=audiences"`
- // Error indicates that the token couldn't be checked
+ // error indicates that the token couldn't be checked
// +optional
Error string `json:"error,omitempty" protobuf:"bytes,3,opt,name=error"`
}
@@ -92,19 +95,19 @@ type TokenReviewStatus struct {
// UserInfo holds the information about the user needed to implement the
// user.Info interface.
type UserInfo struct {
- // The name that uniquely identifies this user among all active users.
+ // username is the name that uniquely identifies this user among all active users.
// +optional
Username string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"`
- // A unique value that identifies this user across time. If this user is
+ // uid is a unique value that identifies this user across time. If this user is
// deleted and another user by the same name is added, they will have
// different UIDs.
// +optional
UID string `json:"uid,omitempty" protobuf:"bytes,2,opt,name=uid"`
- // The names of groups this user is a part of.
+ // groups is the names of groups this user is a part of.
// +optional
// +listType=atomic
Groups []string `json:"groups,omitempty" protobuf:"bytes,3,rep,name=groups"`
- // Any additional information provided by the authenticator.
+ // extra is any additional information provided by the authenticator.
// +optional
Extra map[string]ExtraValue `json:"extra,omitempty" protobuf:"bytes,4,rep,name=extra"`
}
@@ -127,19 +130,22 @@ func (t ExtraValue) String() string {
// SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request.
// When using impersonation, users will receive the user info of the user being impersonated. If impersonation or
// request header authentication is used, any extra keys will have their case ignored and returned as lowercase.
+// +k8s:supportsSubresource="/status"
type SelfSubjectReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Status is filled in by the server with the user attributes.
+ // status is filled in by the server with the user attributes.
+ // +optional
Status SelfSubjectReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
}
// SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.
type SelfSubjectReviewStatus struct {
- // User attributes of the user making this request.
+ // userInfo is a set of attributes belonging to the user making this request.
// +optional
UserInfo v1.UserInfo `json:"userInfo,omitempty" protobuf:"bytes,1,opt,name=userInfo"`
}
diff --git a/vendor/k8s.io/api/authentication/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/authentication/v1beta1/types_swagger_doc_generated.go
index d6644f2cf..31dadf968 100644
--- a/vendor/k8s.io/api/authentication/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/authentication/v1beta1/types_swagger_doc_generated.go
@@ -29,8 +29,8 @@ package v1beta1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_SelfSubjectReview = map[string]string{
"": "SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request. When using impersonation, users will receive the user info of the user being impersonated. If impersonation or request header authentication is used, any extra keys will have their case ignored and returned as lowercase.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "status": "Status is filled in by the server with the user attributes.",
+ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "status": "status is filled in by the server with the user attributes.",
}
func (SelfSubjectReview) SwaggerDoc() map[string]string {
@@ -39,7 +39,7 @@ func (SelfSubjectReview) SwaggerDoc() map[string]string {
var map_SelfSubjectReviewStatus = map[string]string{
"": "SelfSubjectReviewStatus is filled by the kube-apiserver and sent back to a user.",
- "userInfo": "User attributes of the user making this request.",
+ "userInfo": "userInfo is a set of attributes belonging to the user making this request.",
}
func (SelfSubjectReviewStatus) SwaggerDoc() map[string]string {
@@ -48,9 +48,9 @@ func (SelfSubjectReviewStatus) SwaggerDoc() map[string]string {
var map_TokenReview = map[string]string{
"": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated",
- "status": "Status is filled in by the server and indicates whether the token can be authenticated.",
+ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated",
+ "status": "status is filled in by the server and indicates whether the token can be authenticated.",
}
func (TokenReview) SwaggerDoc() map[string]string {
@@ -59,8 +59,8 @@ func (TokenReview) SwaggerDoc() map[string]string {
var map_TokenReviewSpec = map[string]string{
"": "TokenReviewSpec is a description of the token authentication request.",
- "token": "Token is the opaque bearer token.",
- "audiences": "Audiences is a list of the identifiers that the resource server presented with the token identifies as. Audience-aware token authenticators will verify that the token was intended for at least one of the audiences in this list. If no audiences are provided, the audience will default to the audience of the Kubernetes apiserver.",
+ "token": "token is the opaque bearer token.",
+ "audiences": "audiences is a list of the identifiers that the resource server presented with the token identifies as. Audience-aware token authenticators will verify that the token was intended for at least one of the audiences in this list. If no audiences are provided, the audience will default to the audience of the Kubernetes apiserver.",
}
func (TokenReviewSpec) SwaggerDoc() map[string]string {
@@ -69,10 +69,10 @@ func (TokenReviewSpec) SwaggerDoc() map[string]string {
var map_TokenReviewStatus = map[string]string{
"": "TokenReviewStatus is the result of the token authentication request.",
- "authenticated": "Authenticated indicates that the token was associated with a known user.",
- "user": "User is the UserInfo associated with the provided token.",
- "audiences": "Audiences are audience identifiers chosen by the authenticator that are compatible with both the TokenReview and token. An identifier is any identifier in the intersection of the TokenReviewSpec audiences and the token's audiences. A client of the TokenReview API that sets the spec.audiences field should validate that a compatible audience identifier is returned in the status.audiences field to ensure that the TokenReview server is audience aware. If a TokenReview returns an empty status.audience field where status.authenticated is \"true\", the token is valid against the audience of the Kubernetes API server.",
- "error": "Error indicates that the token couldn't be checked",
+ "authenticated": "authenticated indicates that the token was associated with a known user.",
+ "user": "user is the UserInfo associated with the provided token.",
+ "audiences": "audiences are audience identifiers chosen by the authenticator that are compatible with both the TokenReview and token. An identifier is any identifier in the intersection of the TokenReviewSpec audiences and the token's audiences. A client of the TokenReview API that sets the spec.audiences field should validate that a compatible audience identifier is returned in the status.audiences field to ensure that the TokenReview server is audience aware. If a TokenReview returns an empty status.audience field where status.authenticated is \"true\", the token is valid against the audience of the Kubernetes API server.",
+ "error": "error indicates that the token couldn't be checked",
}
func (TokenReviewStatus) SwaggerDoc() map[string]string {
@@ -81,10 +81,10 @@ func (TokenReviewStatus) SwaggerDoc() map[string]string {
var map_UserInfo = map[string]string{
"": "UserInfo holds the information about the user needed to implement the user.Info interface.",
- "username": "The name that uniquely identifies this user among all active users.",
- "uid": "A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.",
- "groups": "The names of groups this user is a part of.",
- "extra": "Any additional information provided by the authenticator.",
+ "username": "username is the name that uniquely identifies this user among all active users.",
+ "uid": "uid is a unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.",
+ "groups": "groups is the names of groups this user is a part of.",
+ "extra": "extra is any additional information provided by the authenticator.",
}
func (UserInfo) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/authorization/v1/generated.proto b/vendor/k8s.io/api/authorization/v1/generated.proto
index ff529c969..40753aa43 100644
--- a/vendor/k8s.io/api/authorization/v1/generated.proto
+++ b/vendor/k8s.io/api/authorization/v1/generated.proto
@@ -94,39 +94,41 @@ message LabelSelectorAttributes {
// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace.
// Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions
// checking.
+// +k8s:supportsSubresource="/status"
message LocalSubjectAccessReview {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
+ // spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
// you made the request against. If empty, it is defaulted.
optional SubjectAccessReviewSpec spec = 2;
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
optional SubjectAccessReviewStatus status = 3;
}
// NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface
message NonResourceAttributes {
- // Path is the URL path of the request
+ // path is the URL path of the request
// +optional
optional string path = 1;
- // Verb is the standard HTTP verb
+ // verb is the standard HTTP verb
// +optional
optional string verb = 2;
}
// NonResourceRule holds information that describes a rule for the non-resource
message NonResourceRule {
- // Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
+ // verbs is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
// +listType=atomic
repeated string verbs = 1;
- // NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full,
+ // nonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full,
// final step in the path. "*" means all.
// +optional
// +listType=atomic
@@ -135,34 +137,34 @@ message NonResourceRule {
// ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface
message ResourceAttributes {
- // Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
+ // namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
// "" (empty) is defaulted for LocalSubjectAccessReviews
// "" (empty) is empty for cluster-scoped resources
// "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview
// +optional
optional string namespace = 1;
- // Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
+ // verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
// +optional
optional string verb = 2;
- // Group is the API Group of the Resource. "*" means all.
+ // group is the API Group of the Resource. "*" means all.
// +optional
optional string group = 3;
- // Version is the API Version of the Resource. "*" means all.
+ // version is the API Version of the Resource. "*" means all.
// +optional
optional string version = 4;
- // Resource is one of the existing resource types. "*" means all.
+ // resource is one of the existing resource types. "*" means all.
// +optional
optional string resource = 5;
- // Subresource is one of the existing resource types. "" means none.
+ // subresource is one of the existing resource types. "" means none.
// +optional
optional string subresource = 6;
- // Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
+ // name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
// +optional
optional string name = 7;
@@ -178,23 +180,23 @@ message ResourceAttributes {
// ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant,
// may contain duplicates, and possibly be incomplete.
message ResourceRule {
- // Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
+ // verbs is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
// +listType=atomic
repeated string verbs = 1;
- // APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
+ // apiGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
// the enumerated resources in any API group will be allowed. "*" means all.
// +optional
// +listType=atomic
repeated string apiGroups = 2;
- // Resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
+ // resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
// "*/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
// +optional
// +listType=atomic
repeated string resources = 3;
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
// +optional
// +listType=atomic
repeated string resourceNames = 4;
@@ -203,29 +205,35 @@ message ResourceRule {
// SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a
// spec.namespace means "in all namespaces". Self is a special case, because users should always be able
// to check whether they can perform an action
+// +k8s:supportsSubresource="/status"
message SelfSubjectAccessReview {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated. user and groups must be empty
+ // spec holds information about the request being evaluated. user and groups must be empty
optional SelfSubjectAccessReviewSpec spec = 2;
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
optional SubjectAccessReviewStatus status = 3;
}
-// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
-// and NonResourceAuthorizationAttributes must be set
+// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes
+// and nonResourceAttributes must be set
message SelfSubjectAccessReviewSpec {
- // ResourceAuthorizationAttributes describes information for a resource access request
+ // resourceAttributes describes information for a resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
optional ResourceAttributes resourceAttributes = 1;
- // NonResourceAttributes describes information for a non-resource access request
+ // nonResourceAttributes describes information for a non-resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
optional NonResourceAttributes nonResourceAttributes = 2;
}
@@ -235,89 +243,97 @@ message SelfSubjectAccessReviewSpec {
// or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to
// drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns.
// SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.
+// +k8s:supportsSubresource="/status"
message SelfSubjectRulesReview {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated.
+ // spec holds information about the request being evaluated.
optional SelfSubjectRulesReviewSpec spec = 2;
- // Status is filled in by the server and indicates the set of actions a user can perform.
+ // status is filled in by the server and indicates the set of actions a user can perform.
// +optional
optional SubjectRulesReviewStatus status = 3;
}
// SelfSubjectRulesReviewSpec defines the specification for SelfSubjectRulesReview.
message SelfSubjectRulesReviewSpec {
- // Namespace to evaluate rules for. Required.
+ // namespace to evaluate rules for. Required.
optional string namespace = 1;
}
// SubjectAccessReview checks whether or not a user or group can perform an action.
+// +k8s:supportsSubresource="/status"
message SubjectAccessReview {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
optional SubjectAccessReviewSpec spec = 2;
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
optional SubjectAccessReviewStatus status = 3;
}
-// SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
-// and NonResourceAuthorizationAttributes must be set
+// SubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes
+// and nonResourceAttributes must be set
message SubjectAccessReviewSpec {
- // ResourceAuthorizationAttributes describes information for a resource access request
+ // resourceAttributes describes information for a resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
optional ResourceAttributes resourceAttributes = 1;
- // NonResourceAttributes describes information for a non-resource access request
+ // nonResourceAttributes describes information for a non-resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
optional NonResourceAttributes nonResourceAttributes = 2;
- // User is the user you're testing for.
+ // user is the user you're testing for.
// If you specify "User" but not "Groups", then is it interpreted as "What if User were not a member of any groups
// +optional
optional string user = 3;
- // Groups is the groups you're testing for.
+ // groups is the groups you're testing for.
// +optional
// +listType=atomic
repeated string groups = 4;
- // Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
+ // extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
// it needs a reflection here.
// +optional
map extra = 5;
- // UID information about the requesting user.
+ // uid information about the requesting user.
// +optional
optional string uid = 6;
}
// SubjectAccessReviewStatus
message SubjectAccessReviewStatus {
- // Allowed is required. True if the action would be allowed, false otherwise.
+ // allowed is required. True if the action would be allowed, false otherwise.
optional bool allowed = 1;
- // Denied is optional. True if the action would be denied, otherwise
+ // denied is optional. True if the action would be denied, otherwise
// false. If both allowed is false and denied is false, then the
// authorizer has no opinion on whether to authorize the action. Denied
// may not be true if Allowed is true.
// +optional
optional bool denied = 4;
- // Reason is optional. It indicates why a request was allowed or denied.
+ // reason is optional. It indicates why a request was allowed or denied.
// +optional
optional string reason = 2;
- // EvaluationError is an indication that some error occurred during the authorization check.
+ // evaluationError is an indication that some error occurred during the authorization check.
// It is entirely possible to get an error and be able to continue determine authorization status in spite of it.
// For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
// +optional
@@ -329,21 +345,21 @@ message SubjectAccessReviewStatus {
// Because authorization rules are additive, if a rule appears in a list it's safe to assume the subject has that permission,
// even if that list is incomplete.
message SubjectRulesReviewStatus {
- // ResourceRules is the list of actions the subject is allowed to perform on resources.
+ // resourceRules is the list of actions the subject is allowed to perform on resources.
// The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
// +listType=atomic
repeated ResourceRule resourceRules = 1;
- // NonResourceRules is the list of actions the subject is allowed to perform on non-resources.
+ // nonResourceRules is the list of actions the subject is allowed to perform on non-resources.
// The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
// +listType=atomic
repeated NonResourceRule nonResourceRules = 2;
- // Incomplete is true when the rules returned by this call are incomplete. This is most commonly
+ // incomplete is true when the rules returned by this call are incomplete. This is most commonly
// encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.
optional bool incomplete = 3;
- // EvaluationError can appear in combination with Rules. It indicates an error occurred during
+ // evaluationError can appear in combination with Rules. It indicates an error occurred during
// rule evaluation, such as an authorizer that doesn't support rule evaluation, and that
// ResourceRules and/or NonResourceRules may be incomplete.
// +optional
diff --git a/vendor/k8s.io/api/authorization/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/authorization/v1/generated.protomessage.pb.go
deleted file mode 100644
index dc1e1028c..000000000
--- a/vendor/k8s.io/api/authorization/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,54 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*ExtraValue) ProtoMessage() {}
-
-func (*FieldSelectorAttributes) ProtoMessage() {}
-
-func (*LabelSelectorAttributes) ProtoMessage() {}
-
-func (*LocalSubjectAccessReview) ProtoMessage() {}
-
-func (*NonResourceAttributes) ProtoMessage() {}
-
-func (*NonResourceRule) ProtoMessage() {}
-
-func (*ResourceAttributes) ProtoMessage() {}
-
-func (*ResourceRule) ProtoMessage() {}
-
-func (*SelfSubjectAccessReview) ProtoMessage() {}
-
-func (*SelfSubjectAccessReviewSpec) ProtoMessage() {}
-
-func (*SelfSubjectRulesReview) ProtoMessage() {}
-
-func (*SelfSubjectRulesReviewSpec) ProtoMessage() {}
-
-func (*SubjectAccessReview) ProtoMessage() {}
-
-func (*SubjectAccessReviewSpec) ProtoMessage() {}
-
-func (*SubjectAccessReviewStatus) ProtoMessage() {}
-
-func (*SubjectRulesReviewStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/authorization/v1/types.go b/vendor/k8s.io/api/authorization/v1/types.go
index 251e776b0..eb9f808cf 100644
--- a/vendor/k8s.io/api/authorization/v1/types.go
+++ b/vendor/k8s.io/api/authorization/v1/types.go
@@ -29,17 +29,19 @@ import (
// +k8s:prerelease-lifecycle-gen:introduced=1.6
// SubjectAccessReview checks whether or not a user or group can perform an action.
+// +k8s:supportsSubresource="/status"
type SubjectAccessReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
Spec SubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
@@ -53,17 +55,19 @@ type SubjectAccessReview struct {
// SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a
// spec.namespace means "in all namespaces". Self is a special case, because users should always be able
// to check whether they can perform an action
+// +k8s:supportsSubresource="/status"
type SelfSubjectAccessReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated. user and groups must be empty
+ // spec holds information about the request being evaluated. user and groups must be empty
Spec SelfSubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
@@ -76,46 +80,48 @@ type SelfSubjectAccessReview struct {
// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace.
// Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions
// checking.
+// +k8s:supportsSubresource="/status"
type LocalSubjectAccessReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
+ // spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
// you made the request against. If empty, it is defaulted.
Spec SubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface
type ResourceAttributes struct {
- // Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
+ // namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
// "" (empty) is defaulted for LocalSubjectAccessReviews
// "" (empty) is empty for cluster-scoped resources
// "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview
// +optional
Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"`
- // Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
+ // verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
// +optional
Verb string `json:"verb,omitempty" protobuf:"bytes,2,opt,name=verb"`
- // Group is the API Group of the Resource. "*" means all.
+ // group is the API Group of the Resource. "*" means all.
// +optional
Group string `json:"group,omitempty" protobuf:"bytes,3,opt,name=group"`
- // Version is the API Version of the Resource. "*" means all.
+ // version is the API Version of the Resource. "*" means all.
// +optional
Version string `json:"version,omitempty" protobuf:"bytes,4,opt,name=version"`
- // Resource is one of the existing resource types. "*" means all.
+ // resource is one of the existing resource types. "*" means all.
// +optional
Resource string `json:"resource,omitempty" protobuf:"bytes,5,opt,name=resource"`
- // Subresource is one of the existing resource types. "" means none.
+ // subresource is one of the existing resource types. "" means none.
// +optional
Subresource string `json:"subresource,omitempty" protobuf:"bytes,6,opt,name=subresource"`
- // Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
+ // name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
// +optional
Name string `json:"name,omitempty" protobuf:"bytes,7,opt,name=name"`
// fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it.
@@ -182,37 +188,41 @@ type FieldSelectorAttributes struct {
// NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface
type NonResourceAttributes struct {
- // Path is the URL path of the request
+ // path is the URL path of the request
// +optional
Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
- // Verb is the standard HTTP verb
+ // verb is the standard HTTP verb
// +optional
Verb string `json:"verb,omitempty" protobuf:"bytes,2,opt,name=verb"`
}
-// SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
-// and NonResourceAuthorizationAttributes must be set
+// SubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes
+// and nonResourceAttributes must be set
type SubjectAccessReviewSpec struct {
- // ResourceAuthorizationAttributes describes information for a resource access request
+ // resourceAttributes describes information for a resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
ResourceAttributes *ResourceAttributes `json:"resourceAttributes,omitempty" protobuf:"bytes,1,opt,name=resourceAttributes"`
- // NonResourceAttributes describes information for a non-resource access request
+ // nonResourceAttributes describes information for a non-resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
NonResourceAttributes *NonResourceAttributes `json:"nonResourceAttributes,omitempty" protobuf:"bytes,2,opt,name=nonResourceAttributes"`
- // User is the user you're testing for.
+ // user is the user you're testing for.
// If you specify "User" but not "Groups", then is it interpreted as "What if User were not a member of any groups
// +optional
User string `json:"user,omitempty" protobuf:"bytes,3,opt,name=user"`
- // Groups is the groups you're testing for.
+ // groups is the groups you're testing for.
// +optional
// +listType=atomic
Groups []string `json:"groups,omitempty" protobuf:"bytes,4,rep,name=groups"`
- // Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
+ // extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
// it needs a reflection here.
// +optional
Extra map[string]ExtraValue `json:"extra,omitempty" protobuf:"bytes,5,rep,name=extra"`
- // UID information about the requesting user.
+ // uid information about the requesting user.
// +optional
UID string `json:"uid,omitempty" protobuf:"bytes,6,opt,name=uid"`
}
@@ -226,31 +236,35 @@ func (t ExtraValue) String() string {
return fmt.Sprintf("%v", []string(t))
}
-// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
-// and NonResourceAuthorizationAttributes must be set
+// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes
+// and nonResourceAttributes must be set
type SelfSubjectAccessReviewSpec struct {
- // ResourceAuthorizationAttributes describes information for a resource access request
+ // resourceAttributes describes information for a resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
ResourceAttributes *ResourceAttributes `json:"resourceAttributes,omitempty" protobuf:"bytes,1,opt,name=resourceAttributes"`
- // NonResourceAttributes describes information for a non-resource access request
+ // nonResourceAttributes describes information for a non-resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
NonResourceAttributes *NonResourceAttributes `json:"nonResourceAttributes,omitempty" protobuf:"bytes,2,opt,name=nonResourceAttributes"`
}
// SubjectAccessReviewStatus
type SubjectAccessReviewStatus struct {
- // Allowed is required. True if the action would be allowed, false otherwise.
+ // allowed is required. True if the action would be allowed, false otherwise.
Allowed bool `json:"allowed" protobuf:"varint,1,opt,name=allowed"`
- // Denied is optional. True if the action would be denied, otherwise
+ // denied is optional. True if the action would be denied, otherwise
// false. If both allowed is false and denied is false, then the
// authorizer has no opinion on whether to authorize the action. Denied
// may not be true if Allowed is true.
// +optional
Denied bool `json:"denied,omitempty" protobuf:"varint,4,opt,name=denied"`
- // Reason is optional. It indicates why a request was allowed or denied.
+ // reason is optional. It indicates why a request was allowed or denied.
// +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,2,opt,name=reason"`
- // EvaluationError is an indication that some error occurred during the authorization check.
+ // evaluationError is an indication that some error occurred during the authorization check.
// It is entirely possible to get an error and be able to continue determine authorization status in spite of it.
// For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
// +optional
@@ -269,24 +283,26 @@ type SubjectAccessReviewStatus struct {
// or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to
// drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns.
// SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.
+// +k8s:supportsSubresource="/status"
type SelfSubjectRulesReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated.
+ // spec holds information about the request being evaluated.
Spec SelfSubjectRulesReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates the set of actions a user can perform.
+ // status is filled in by the server and indicates the set of actions a user can perform.
// +optional
Status SubjectRulesReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// SelfSubjectRulesReviewSpec defines the specification for SelfSubjectRulesReview.
type SelfSubjectRulesReviewSpec struct {
- // Namespace to evaluate rules for. Required.
+ // namespace to evaluate rules for. Required.
Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"`
}
@@ -295,18 +311,18 @@ type SelfSubjectRulesReviewSpec struct {
// Because authorization rules are additive, if a rule appears in a list it's safe to assume the subject has that permission,
// even if that list is incomplete.
type SubjectRulesReviewStatus struct {
- // ResourceRules is the list of actions the subject is allowed to perform on resources.
+ // resourceRules is the list of actions the subject is allowed to perform on resources.
// The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
// +listType=atomic
ResourceRules []ResourceRule `json:"resourceRules" protobuf:"bytes,1,rep,name=resourceRules"`
- // NonResourceRules is the list of actions the subject is allowed to perform on non-resources.
+ // nonResourceRules is the list of actions the subject is allowed to perform on non-resources.
// The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
// +listType=atomic
NonResourceRules []NonResourceRule `json:"nonResourceRules" protobuf:"bytes,2,rep,name=nonResourceRules"`
- // Incomplete is true when the rules returned by this call are incomplete. This is most commonly
+ // incomplete is true when the rules returned by this call are incomplete. This is most commonly
// encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.
Incomplete bool `json:"incomplete" protobuf:"bytes,3,rep,name=incomplete"`
- // EvaluationError can appear in combination with Rules. It indicates an error occurred during
+ // evaluationError can appear in combination with Rules. It indicates an error occurred during
// rule evaluation, such as an authorizer that doesn't support rule evaluation, and that
// ResourceRules and/or NonResourceRules may be incomplete.
// +optional
@@ -316,21 +332,21 @@ type SubjectRulesReviewStatus struct {
// ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant,
// may contain duplicates, and possibly be incomplete.
type ResourceRule struct {
- // Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
+ // verbs is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
// +listType=atomic
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
- // APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
+ // apiGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
// the enumerated resources in any API group will be allowed. "*" means all.
// +optional
// +listType=atomic
APIGroups []string `json:"apiGroups,omitempty" protobuf:"bytes,2,rep,name=apiGroups"`
- // Resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
+ // resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
// "*/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
// +optional
// +listType=atomic
Resources []string `json:"resources,omitempty" protobuf:"bytes,3,rep,name=resources"`
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
// +optional
// +listType=atomic
ResourceNames []string `json:"resourceNames,omitempty" protobuf:"bytes,4,rep,name=resourceNames"`
@@ -338,11 +354,11 @@ type ResourceRule struct {
// NonResourceRule holds information that describes a rule for the non-resource
type NonResourceRule struct {
- // Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
+ // verbs is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
// +listType=atomic
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
- // NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full,
+ // nonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full,
// final step in the path. "*" means all.
// +optional
// +listType=atomic
diff --git a/vendor/k8s.io/api/authorization/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/authorization/v1/types_swagger_doc_generated.go
index 29d0aa846..0b3ae19a5 100644
--- a/vendor/k8s.io/api/authorization/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/authorization/v1/types_swagger_doc_generated.go
@@ -49,9 +49,9 @@ func (LabelSelectorAttributes) SwaggerDoc() map[string]string {
var map_LocalSubjectAccessReview = map[string]string{
"": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.",
- "status": "Status is filled in by the server and indicates whether the request is allowed or not",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.",
+ "status": "status is filled in by the server and indicates whether the request is allowed or not",
}
func (LocalSubjectAccessReview) SwaggerDoc() map[string]string {
@@ -60,8 +60,8 @@ func (LocalSubjectAccessReview) SwaggerDoc() map[string]string {
var map_NonResourceAttributes = map[string]string{
"": "NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface",
- "path": "Path is the URL path of the request",
- "verb": "Verb is the standard HTTP verb",
+ "path": "path is the URL path of the request",
+ "verb": "verb is the standard HTTP verb",
}
func (NonResourceAttributes) SwaggerDoc() map[string]string {
@@ -70,8 +70,8 @@ func (NonResourceAttributes) SwaggerDoc() map[string]string {
var map_NonResourceRule = map[string]string{
"": "NonResourceRule holds information that describes a rule for the non-resource",
- "verbs": "Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. \"*\" means all.",
- "nonResourceURLs": "NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path. \"*\" means all.",
+ "verbs": "verbs is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. \"*\" means all.",
+ "nonResourceURLs": "nonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path. \"*\" means all.",
}
func (NonResourceRule) SwaggerDoc() map[string]string {
@@ -80,13 +80,13 @@ func (NonResourceRule) SwaggerDoc() map[string]string {
var map_ResourceAttributes = map[string]string{
"": "ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface",
- "namespace": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces \"\" (empty) is defaulted for LocalSubjectAccessReviews \"\" (empty) is empty for cluster-scoped resources \"\" (empty) means \"all\" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview",
- "verb": "Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. \"*\" means all.",
- "group": "Group is the API Group of the Resource. \"*\" means all.",
- "version": "Version is the API Version of the Resource. \"*\" means all.",
- "resource": "Resource is one of the existing resource types. \"*\" means all.",
- "subresource": "Subresource is one of the existing resource types. \"\" means none.",
- "name": "Name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.",
+ "namespace": "namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces \"\" (empty) is defaulted for LocalSubjectAccessReviews \"\" (empty) is empty for cluster-scoped resources \"\" (empty) means \"all\" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview",
+ "verb": "verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. \"*\" means all.",
+ "group": "group is the API Group of the Resource. \"*\" means all.",
+ "version": "version is the API Version of the Resource. \"*\" means all.",
+ "resource": "resource is one of the existing resource types. \"*\" means all.",
+ "subresource": "subresource is one of the existing resource types. \"\" means none.",
+ "name": "name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.",
"fieldSelector": "fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it.",
"labelSelector": "labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it.",
}
@@ -97,10 +97,10 @@ func (ResourceAttributes) SwaggerDoc() map[string]string {
var map_ResourceRule = map[string]string{
"": "ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
- "verbs": "Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. \"*\" means all.",
- "apiGroups": "APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. \"*\" means all.",
- "resources": "Resources is a list of resources this rule applies to. \"*\" means all in the specified apiGroups.\n \"*/foo\" represents the subresource 'foo' for all resources in the specified apiGroups.",
- "resourceNames": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. \"*\" means all.",
+ "verbs": "verbs is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. \"*\" means all.",
+ "apiGroups": "apiGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. \"*\" means all.",
+ "resources": "resources is a list of resources this rule applies to. \"*\" means all in the specified apiGroups.\n \"*/foo\" represents the subresource 'foo' for all resources in the specified apiGroups.",
+ "resourceNames": "resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. \"*\" means all.",
}
func (ResourceRule) SwaggerDoc() map[string]string {
@@ -109,9 +109,9 @@ func (ResourceRule) SwaggerDoc() map[string]string {
var map_SelfSubjectAccessReview = map[string]string{
"": "SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means \"in all namespaces\". Self is a special case, because users should always be able to check whether they can perform an action",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated. user and groups must be empty",
- "status": "Status is filled in by the server and indicates whether the request is allowed or not",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated. user and groups must be empty",
+ "status": "status is filled in by the server and indicates whether the request is allowed or not",
}
func (SelfSubjectAccessReview) SwaggerDoc() map[string]string {
@@ -119,9 +119,9 @@ func (SelfSubjectAccessReview) SwaggerDoc() map[string]string {
}
var map_SelfSubjectAccessReviewSpec = map[string]string{
- "": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set",
- "resourceAttributes": "ResourceAuthorizationAttributes describes information for a resource access request",
- "nonResourceAttributes": "NonResourceAttributes describes information for a non-resource access request",
+ "": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes and nonResourceAttributes must be set",
+ "resourceAttributes": "resourceAttributes describes information for a resource access request",
+ "nonResourceAttributes": "nonResourceAttributes describes information for a non-resource access request",
}
func (SelfSubjectAccessReviewSpec) SwaggerDoc() map[string]string {
@@ -130,9 +130,9 @@ func (SelfSubjectAccessReviewSpec) SwaggerDoc() map[string]string {
var map_SelfSubjectRulesReview = map[string]string{
"": "SelfSubjectRulesReview enumerates the set of actions the current user can perform within a namespace. The returned list of actions may be incomplete depending on the server's authorization mode, and any errors experienced during the evaluation. SelfSubjectRulesReview should be used by UIs to show/hide actions, or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns. SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated.",
- "status": "Status is filled in by the server and indicates the set of actions a user can perform.",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated.",
+ "status": "status is filled in by the server and indicates the set of actions a user can perform.",
}
func (SelfSubjectRulesReview) SwaggerDoc() map[string]string {
@@ -141,7 +141,7 @@ func (SelfSubjectRulesReview) SwaggerDoc() map[string]string {
var map_SelfSubjectRulesReviewSpec = map[string]string{
"": "SelfSubjectRulesReviewSpec defines the specification for SelfSubjectRulesReview.",
- "namespace": "Namespace to evaluate rules for. Required.",
+ "namespace": "namespace to evaluate rules for. Required.",
}
func (SelfSubjectRulesReviewSpec) SwaggerDoc() map[string]string {
@@ -150,9 +150,9 @@ func (SelfSubjectRulesReviewSpec) SwaggerDoc() map[string]string {
var map_SubjectAccessReview = map[string]string{
"": "SubjectAccessReview checks whether or not a user or group can perform an action.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated",
- "status": "Status is filled in by the server and indicates whether the request is allowed or not",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated",
+ "status": "status is filled in by the server and indicates whether the request is allowed or not",
}
func (SubjectAccessReview) SwaggerDoc() map[string]string {
@@ -160,13 +160,13 @@ func (SubjectAccessReview) SwaggerDoc() map[string]string {
}
var map_SubjectAccessReviewSpec = map[string]string{
- "": "SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set",
- "resourceAttributes": "ResourceAuthorizationAttributes describes information for a resource access request",
- "nonResourceAttributes": "NonResourceAttributes describes information for a non-resource access request",
- "user": "User is the user you're testing for. If you specify \"User\" but not \"Groups\", then is it interpreted as \"What if User were not a member of any groups",
- "groups": "Groups is the groups you're testing for.",
- "extra": "Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.",
- "uid": "UID information about the requesting user.",
+ "": "SubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes and nonResourceAttributes must be set",
+ "resourceAttributes": "resourceAttributes describes information for a resource access request",
+ "nonResourceAttributes": "nonResourceAttributes describes information for a non-resource access request",
+ "user": "user is the user you're testing for. If you specify \"User\" but not \"Groups\", then is it interpreted as \"What if User were not a member of any groups",
+ "groups": "groups is the groups you're testing for.",
+ "extra": "extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.",
+ "uid": "uid information about the requesting user.",
}
func (SubjectAccessReviewSpec) SwaggerDoc() map[string]string {
@@ -175,10 +175,10 @@ func (SubjectAccessReviewSpec) SwaggerDoc() map[string]string {
var map_SubjectAccessReviewStatus = map[string]string{
"": "SubjectAccessReviewStatus",
- "allowed": "Allowed is required. True if the action would be allowed, false otherwise.",
- "denied": "Denied is optional. True if the action would be denied, otherwise false. If both allowed is false and denied is false, then the authorizer has no opinion on whether to authorize the action. Denied may not be true if Allowed is true.",
- "reason": "Reason is optional. It indicates why a request was allowed or denied.",
- "evaluationError": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.",
+ "allowed": "allowed is required. True if the action would be allowed, false otherwise.",
+ "denied": "denied is optional. True if the action would be denied, otherwise false. If both allowed is false and denied is false, then the authorizer has no opinion on whether to authorize the action. Denied may not be true if Allowed is true.",
+ "reason": "reason is optional. It indicates why a request was allowed or denied.",
+ "evaluationError": "evaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.",
}
func (SubjectAccessReviewStatus) SwaggerDoc() map[string]string {
@@ -187,10 +187,10 @@ func (SubjectAccessReviewStatus) SwaggerDoc() map[string]string {
var map_SubjectRulesReviewStatus = map[string]string{
"": "SubjectRulesReviewStatus contains the result of a rules check. This check can be incomplete depending on the set of authorizers the server is configured with and any errors experienced during evaluation. Because authorization rules are additive, if a rule appears in a list it's safe to assume the subject has that permission, even if that list is incomplete.",
- "resourceRules": "ResourceRules is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
- "nonResourceRules": "NonResourceRules is the list of actions the subject is allowed to perform on non-resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
- "incomplete": "Incomplete is true when the rules returned by this call are incomplete. This is most commonly encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.",
- "evaluationError": "EvaluationError can appear in combination with Rules. It indicates an error occurred during rule evaluation, such as an authorizer that doesn't support rule evaluation, and that ResourceRules and/or NonResourceRules may be incomplete.",
+ "resourceRules": "resourceRules is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
+ "nonResourceRules": "nonResourceRules is the list of actions the subject is allowed to perform on non-resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
+ "incomplete": "incomplete is true when the rules returned by this call are incomplete. This is most commonly encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.",
+ "evaluationError": "evaluationError can appear in combination with Rules. It indicates an error occurred during rule evaluation, such as an authorizer that doesn't support rule evaluation, and that ResourceRules and/or NonResourceRules may be incomplete.",
}
func (SubjectRulesReviewStatus) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/authorization/v1beta1/generated.proto b/vendor/k8s.io/api/authorization/v1beta1/generated.proto
index 8738768b8..37618f077 100644
--- a/vendor/k8s.io/api/authorization/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/authorization/v1beta1/generated.proto
@@ -41,39 +41,41 @@ message ExtraValue {
// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace.
// Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions
// checking.
+// +k8s:supportsSubresource="/status"
message LocalSubjectAccessReview {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
+ // spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
// you made the request against. If empty, it is defaulted.
optional SubjectAccessReviewSpec spec = 2;
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
optional SubjectAccessReviewStatus status = 3;
}
// NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface
message NonResourceAttributes {
- // Path is the URL path of the request
+ // path is the URL path of the request
// +optional
optional string path = 1;
- // Verb is the standard HTTP verb
+ // verb is the standard HTTP verb
// +optional
optional string verb = 2;
}
// NonResourceRule holds information that describes a rule for the non-resource
message NonResourceRule {
- // Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
+ // verbs is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
// +listType=atomic
repeated string verbs = 1;
- // NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full,
+ // nonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full,
// final step in the path. "*" means all.
// +optional
// +listType=atomic
@@ -82,34 +84,34 @@ message NonResourceRule {
// ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface
message ResourceAttributes {
- // Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
+ // namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
// "" (empty) is defaulted for LocalSubjectAccessReviews
// "" (empty) is empty for cluster-scoped resources
// "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview
// +optional
optional string namespace = 1;
- // Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
+ // verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
// +optional
optional string verb = 2;
- // Group is the API Group of the Resource. "*" means all.
+ // group is the API Group of the Resource. "*" means all.
// +optional
optional string group = 3;
- // Version is the API Version of the Resource. "*" means all.
+ // version is the API Version of the Resource. "*" means all.
// +optional
optional string version = 4;
- // Resource is one of the existing resource types. "*" means all.
+ // resource is one of the existing resource types. "*" means all.
// +optional
optional string resource = 5;
- // Subresource is one of the existing resource types. "" means none.
+ // subresource is one of the existing resource types. "" means none.
// +optional
optional string subresource = 6;
- // Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
+ // name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
// +optional
optional string name = 7;
@@ -125,23 +127,23 @@ message ResourceAttributes {
// ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant,
// may contain duplicates, and possibly be incomplete.
message ResourceRule {
- // Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
+ // verbs is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
// +listType=atomic
repeated string verbs = 1;
- // APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
+ // apiGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
// the enumerated resources in any API group will be allowed. "*" means all.
// +optional
// +listType=atomic
repeated string apiGroups = 2;
- // Resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
+ // resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
// "*/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
// +optional
// +listType=atomic
repeated string resources = 3;
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
// +optional
// +listType=atomic
repeated string resourceNames = 4;
@@ -150,29 +152,35 @@ message ResourceRule {
// SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a
// spec.namespace means "in all namespaces". Self is a special case, because users should always be able
// to check whether they can perform an action
+// +k8s:supportsSubresource="/status"
message SelfSubjectAccessReview {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated. user and groups must be empty
+ // spec holds information about the request being evaluated. user and groups must be empty
optional SelfSubjectAccessReviewSpec spec = 2;
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
optional SubjectAccessReviewStatus status = 3;
}
-// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
-// and NonResourceAuthorizationAttributes must be set
+// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes
+// and nonResourceAttributes must be set
message SelfSubjectAccessReviewSpec {
- // ResourceAuthorizationAttributes describes information for a resource access request
+ // resourceAttributes describes information for a resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
optional ResourceAttributes resourceAttributes = 1;
- // NonResourceAttributes describes information for a non-resource access request
+ // nonResourceAttributes describes information for a non-resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
optional NonResourceAttributes nonResourceAttributes = 2;
}
@@ -182,89 +190,97 @@ message SelfSubjectAccessReviewSpec {
// or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to
// drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns.
// SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.
+// +k8s:supportsSubresource="/status"
message SelfSubjectRulesReview {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated.
+ // spec holds information about the request being evaluated.
optional SelfSubjectRulesReviewSpec spec = 2;
- // Status is filled in by the server and indicates the set of actions a user can perform.
+ // status is filled in by the server and indicates the set of actions a user can perform.
// +optional
optional SubjectRulesReviewStatus status = 3;
}
// SelfSubjectRulesReviewSpec defines the specification for SelfSubjectRulesReview.
message SelfSubjectRulesReviewSpec {
- // Namespace to evaluate rules for. Required.
+ // namespace to evaluate rules for. Required.
optional string namespace = 1;
}
// SubjectAccessReview checks whether or not a user or group can perform an action.
+// +k8s:supportsSubresource="/status"
message SubjectAccessReview {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
optional SubjectAccessReviewSpec spec = 2;
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
optional SubjectAccessReviewStatus status = 3;
}
-// SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
-// and NonResourceAuthorizationAttributes must be set
+// SubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes
+// and nonResourceAttributes must be set
message SubjectAccessReviewSpec {
- // ResourceAuthorizationAttributes describes information for a resource access request
+ // resourceAttributes describes information for a resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
optional ResourceAttributes resourceAttributes = 1;
- // NonResourceAttributes describes information for a non-resource access request
+ // nonResourceAttributes describes information for a non-resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
optional NonResourceAttributes nonResourceAttributes = 2;
- // User is the user you're testing for.
+ // user is the user you're testing for.
// If you specify "User" but not "Group", then is it interpreted as "What if User were not a member of any groups
// +optional
optional string user = 3;
- // Groups is the groups you're testing for.
+ // group is the groups you're testing for.
// +optional
// +listType=atomic
repeated string group = 4;
- // Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
+ // extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
// it needs a reflection here.
// +optional
map extra = 5;
- // UID information about the requesting user.
+ // uid information about the requesting user.
// +optional
optional string uid = 6;
}
// SubjectAccessReviewStatus
message SubjectAccessReviewStatus {
- // Allowed is required. True if the action would be allowed, false otherwise.
+ // allowed is required. True if the action would be allowed, false otherwise.
optional bool allowed = 1;
- // Denied is optional. True if the action would be denied, otherwise
+ // denied is optional. True if the action would be denied, otherwise
// false. If both allowed is false and denied is false, then the
// authorizer has no opinion on whether to authorize the action. Denied
// may not be true if Allowed is true.
// +optional
optional bool denied = 4;
- // Reason is optional. It indicates why a request was allowed or denied.
+ // reason is optional. It indicates why a request was allowed or denied.
// +optional
optional string reason = 2;
- // EvaluationError is an indication that some error occurred during the authorization check.
+ // evaluationError is an indication that some error occurred during the authorization check.
// It is entirely possible to get an error and be able to continue determine authorization status in spite of it.
// For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
// +optional
@@ -276,21 +292,21 @@ message SubjectAccessReviewStatus {
// Because authorization rules are additive, if a rule appears in a list it's safe to assume the subject has that permission,
// even if that list is incomplete.
message SubjectRulesReviewStatus {
- // ResourceRules is the list of actions the subject is allowed to perform on resources.
+ // resourceRules is the list of actions the subject is allowed to perform on resources.
// The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
// +listType=atomic
repeated ResourceRule resourceRules = 1;
- // NonResourceRules is the list of actions the subject is allowed to perform on non-resources.
+ // nonResourceRules is the list of actions the subject is allowed to perform on non-resources.
// The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
// +listType=atomic
repeated NonResourceRule nonResourceRules = 2;
- // Incomplete is true when the rules returned by this call are incomplete. This is most commonly
+ // incomplete is true when the rules returned by this call are incomplete. This is most commonly
// encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.
optional bool incomplete = 3;
- // EvaluationError can appear in combination with Rules. It indicates an error occurred during
+ // evaluationError can appear in combination with Rules. It indicates an error occurred during
// rule evaluation, such as an authorizer that doesn't support rule evaluation, and that
// ResourceRules and/or NonResourceRules may be incomplete.
// +optional
diff --git a/vendor/k8s.io/api/authorization/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/authorization/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index 69af1b6c9..000000000
--- a/vendor/k8s.io/api/authorization/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,50 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*ExtraValue) ProtoMessage() {}
-
-func (*LocalSubjectAccessReview) ProtoMessage() {}
-
-func (*NonResourceAttributes) ProtoMessage() {}
-
-func (*NonResourceRule) ProtoMessage() {}
-
-func (*ResourceAttributes) ProtoMessage() {}
-
-func (*ResourceRule) ProtoMessage() {}
-
-func (*SelfSubjectAccessReview) ProtoMessage() {}
-
-func (*SelfSubjectAccessReviewSpec) ProtoMessage() {}
-
-func (*SelfSubjectRulesReview) ProtoMessage() {}
-
-func (*SelfSubjectRulesReviewSpec) ProtoMessage() {}
-
-func (*SubjectAccessReview) ProtoMessage() {}
-
-func (*SubjectAccessReviewSpec) ProtoMessage() {}
-
-func (*SubjectAccessReviewStatus) ProtoMessage() {}
-
-func (*SubjectRulesReviewStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/authorization/v1beta1/types.go b/vendor/k8s.io/api/authorization/v1beta1/types.go
index 8b8e5a986..7dc8409af 100644
--- a/vendor/k8s.io/api/authorization/v1beta1/types.go
+++ b/vendor/k8s.io/api/authorization/v1beta1/types.go
@@ -32,17 +32,19 @@ import (
// +k8s:prerelease-lifecycle-gen:replacement=authorization.k8s.io,v1,SubjectAccessReview
// SubjectAccessReview checks whether or not a user or group can perform an action.
+// +k8s:supportsSubresource="/status"
type SubjectAccessReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated
+ // spec holds information about the request being evaluated
Spec SubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
@@ -58,17 +60,19 @@ type SubjectAccessReview struct {
// SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a
// spec.namespace means "in all namespaces". Self is a special case, because users should always be able
// to check whether they can perform an action
+// +k8s:supportsSubresource="/status"
type SelfSubjectAccessReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated. user and groups must be empty
+ // spec holds information about the request being evaluated. user and groups must be empty
Spec SelfSubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
@@ -83,46 +87,48 @@ type SelfSubjectAccessReview struct {
// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace.
// Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions
// checking.
+// +k8s:supportsSubresource="/status"
type LocalSubjectAccessReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
+ // spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
// you made the request against. If empty, it is defaulted.
Spec SubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates whether the request is allowed or not
+ // status is filled in by the server and indicates whether the request is allowed or not
// +optional
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface
type ResourceAttributes struct {
- // Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
+ // namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
// "" (empty) is defaulted for LocalSubjectAccessReviews
// "" (empty) is empty for cluster-scoped resources
// "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview
// +optional
Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"`
- // Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
+ // verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
// +optional
Verb string `json:"verb,omitempty" protobuf:"bytes,2,opt,name=verb"`
- // Group is the API Group of the Resource. "*" means all.
+ // group is the API Group of the Resource. "*" means all.
// +optional
Group string `json:"group,omitempty" protobuf:"bytes,3,opt,name=group"`
- // Version is the API Version of the Resource. "*" means all.
+ // version is the API Version of the Resource. "*" means all.
// +optional
Version string `json:"version,omitempty" protobuf:"bytes,4,opt,name=version"`
- // Resource is one of the existing resource types. "*" means all.
+ // resource is one of the existing resource types. "*" means all.
// +optional
Resource string `json:"resource,omitempty" protobuf:"bytes,5,opt,name=resource"`
- // Subresource is one of the existing resource types. "" means none.
+ // subresource is one of the existing resource types. "" means none.
// +optional
Subresource string `json:"subresource,omitempty" protobuf:"bytes,6,opt,name=subresource"`
- // Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
+ // name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
// +optional
Name string `json:"name,omitempty" protobuf:"bytes,7,opt,name=name"`
// fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it.
@@ -135,37 +141,41 @@ type ResourceAttributes struct {
// NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface
type NonResourceAttributes struct {
- // Path is the URL path of the request
+ // path is the URL path of the request
// +optional
Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
- // Verb is the standard HTTP verb
+ // verb is the standard HTTP verb
// +optional
Verb string `json:"verb,omitempty" protobuf:"bytes,2,opt,name=verb"`
}
-// SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
-// and NonResourceAuthorizationAttributes must be set
+// SubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes
+// and nonResourceAttributes must be set
type SubjectAccessReviewSpec struct {
- // ResourceAuthorizationAttributes describes information for a resource access request
+ // resourceAttributes describes information for a resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
ResourceAttributes *ResourceAttributes `json:"resourceAttributes,omitempty" protobuf:"bytes,1,opt,name=resourceAttributes"`
- // NonResourceAttributes describes information for a non-resource access request
+ // nonResourceAttributes describes information for a non-resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
NonResourceAttributes *NonResourceAttributes `json:"nonResourceAttributes,omitempty" protobuf:"bytes,2,opt,name=nonResourceAttributes"`
- // User is the user you're testing for.
+ // user is the user you're testing for.
// If you specify "User" but not "Group", then is it interpreted as "What if User were not a member of any groups
// +optional
User string `json:"user,omitempty" protobuf:"bytes,3,opt,name=user"`
- // Groups is the groups you're testing for.
+ // group is the groups you're testing for.
// +optional
// +listType=atomic
Groups []string `json:"group,omitempty" protobuf:"bytes,4,rep,name=group"`
- // Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
+ // extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
// it needs a reflection here.
// +optional
Extra map[string]ExtraValue `json:"extra,omitempty" protobuf:"bytes,5,rep,name=extra"`
- // UID information about the requesting user.
+ // uid information about the requesting user.
// +optional
UID string `json:"uid,omitempty" protobuf:"bytes,6,opt,name=uid"`
}
@@ -179,31 +189,35 @@ func (t ExtraValue) String() string {
return fmt.Sprintf("%v", []string(t))
}
-// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
-// and NonResourceAuthorizationAttributes must be set
+// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes
+// and nonResourceAttributes must be set
type SelfSubjectAccessReviewSpec struct {
- // ResourceAuthorizationAttributes describes information for a resource access request
+ // resourceAttributes describes information for a resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
ResourceAttributes *ResourceAttributes `json:"resourceAttributes,omitempty" protobuf:"bytes,1,opt,name=resourceAttributes"`
- // NonResourceAttributes describes information for a non-resource access request
+ // nonResourceAttributes describes information for a non-resource access request
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:unionMember
NonResourceAttributes *NonResourceAttributes `json:"nonResourceAttributes,omitempty" protobuf:"bytes,2,opt,name=nonResourceAttributes"`
}
// SubjectAccessReviewStatus
type SubjectAccessReviewStatus struct {
- // Allowed is required. True if the action would be allowed, false otherwise.
+ // allowed is required. True if the action would be allowed, false otherwise.
Allowed bool `json:"allowed" protobuf:"varint,1,opt,name=allowed"`
- // Denied is optional. True if the action would be denied, otherwise
+ // denied is optional. True if the action would be denied, otherwise
// false. If both allowed is false and denied is false, then the
// authorizer has no opinion on whether to authorize the action. Denied
// may not be true if Allowed is true.
// +optional
Denied bool `json:"denied,omitempty" protobuf:"varint,4,opt,name=denied"`
- // Reason is optional. It indicates why a request was allowed or denied.
+ // reason is optional. It indicates why a request was allowed or denied.
// +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,2,opt,name=reason"`
- // EvaluationError is an indication that some error occurred during the authorization check.
+ // evaluationError is an indication that some error occurred during the authorization check.
// It is entirely possible to get an error and be able to continue determine authorization status in spite of it.
// For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
// +optional
@@ -224,24 +238,26 @@ type SubjectAccessReviewStatus struct {
// or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to
// drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns.
// SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.
+// +k8s:supportsSubresource="/status"
type SelfSubjectRulesReview struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Spec holds information about the request being evaluated.
+ // spec holds information about the request being evaluated.
Spec SelfSubjectRulesReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
- // Status is filled in by the server and indicates the set of actions a user can perform.
+ // status is filled in by the server and indicates the set of actions a user can perform.
// +optional
Status SubjectRulesReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// SelfSubjectRulesReviewSpec defines the specification for SelfSubjectRulesReview.
type SelfSubjectRulesReviewSpec struct {
- // Namespace to evaluate rules for. Required.
+ // namespace to evaluate rules for. Required.
Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"`
}
@@ -250,18 +266,18 @@ type SelfSubjectRulesReviewSpec struct {
// Because authorization rules are additive, if a rule appears in a list it's safe to assume the subject has that permission,
// even if that list is incomplete.
type SubjectRulesReviewStatus struct {
- // ResourceRules is the list of actions the subject is allowed to perform on resources.
+ // resourceRules is the list of actions the subject is allowed to perform on resources.
// The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
// +listType=atomic
ResourceRules []ResourceRule `json:"resourceRules" protobuf:"bytes,1,rep,name=resourceRules"`
- // NonResourceRules is the list of actions the subject is allowed to perform on non-resources.
+ // nonResourceRules is the list of actions the subject is allowed to perform on non-resources.
// The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
// +listType=atomic
NonResourceRules []NonResourceRule `json:"nonResourceRules" protobuf:"bytes,2,rep,name=nonResourceRules"`
- // Incomplete is true when the rules returned by this call are incomplete. This is most commonly
+ // incomplete is true when the rules returned by this call are incomplete. This is most commonly
// encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.
Incomplete bool `json:"incomplete" protobuf:"bytes,3,rep,name=incomplete"`
- // EvaluationError can appear in combination with Rules. It indicates an error occurred during
+ // evaluationError can appear in combination with Rules. It indicates an error occurred during
// rule evaluation, such as an authorizer that doesn't support rule evaluation, and that
// ResourceRules and/or NonResourceRules may be incomplete.
// +optional
@@ -271,21 +287,21 @@ type SubjectRulesReviewStatus struct {
// ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant,
// may contain duplicates, and possibly be incomplete.
type ResourceRule struct {
- // Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
+ // verbs is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
// +listType=atomic
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
- // APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
+ // apiGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
// the enumerated resources in any API group will be allowed. "*" means all.
// +optional
// +listType=atomic
APIGroups []string `json:"apiGroups,omitempty" protobuf:"bytes,2,rep,name=apiGroups"`
- // Resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
+ // resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
// "*/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
// +optional
// +listType=atomic
Resources []string `json:"resources,omitempty" protobuf:"bytes,3,rep,name=resources"`
- // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
+ // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
// +optional
// +listType=atomic
ResourceNames []string `json:"resourceNames,omitempty" protobuf:"bytes,4,rep,name=resourceNames"`
@@ -293,11 +309,11 @@ type ResourceRule struct {
// NonResourceRule holds information that describes a rule for the non-resource
type NonResourceRule struct {
- // Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
+ // verbs is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
// +listType=atomic
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
- // NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full,
+ // nonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full,
// final step in the path. "*" means all.
// +optional
// +listType=atomic
diff --git a/vendor/k8s.io/api/authorization/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/authorization/v1beta1/types_swagger_doc_generated.go
index bb1352a2d..5667187c9 100644
--- a/vendor/k8s.io/api/authorization/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/authorization/v1beta1/types_swagger_doc_generated.go
@@ -29,9 +29,9 @@ package v1beta1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_LocalSubjectAccessReview = map[string]string{
"": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.",
- "status": "Status is filled in by the server and indicates whether the request is allowed or not",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.",
+ "status": "status is filled in by the server and indicates whether the request is allowed or not",
}
func (LocalSubjectAccessReview) SwaggerDoc() map[string]string {
@@ -40,8 +40,8 @@ func (LocalSubjectAccessReview) SwaggerDoc() map[string]string {
var map_NonResourceAttributes = map[string]string{
"": "NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface",
- "path": "Path is the URL path of the request",
- "verb": "Verb is the standard HTTP verb",
+ "path": "path is the URL path of the request",
+ "verb": "verb is the standard HTTP verb",
}
func (NonResourceAttributes) SwaggerDoc() map[string]string {
@@ -50,8 +50,8 @@ func (NonResourceAttributes) SwaggerDoc() map[string]string {
var map_NonResourceRule = map[string]string{
"": "NonResourceRule holds information that describes a rule for the non-resource",
- "verbs": "Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. \"*\" means all.",
- "nonResourceURLs": "NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path. \"*\" means all.",
+ "verbs": "verbs is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. \"*\" means all.",
+ "nonResourceURLs": "nonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path. \"*\" means all.",
}
func (NonResourceRule) SwaggerDoc() map[string]string {
@@ -60,13 +60,13 @@ func (NonResourceRule) SwaggerDoc() map[string]string {
var map_ResourceAttributes = map[string]string{
"": "ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface",
- "namespace": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces \"\" (empty) is defaulted for LocalSubjectAccessReviews \"\" (empty) is empty for cluster-scoped resources \"\" (empty) means \"all\" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview",
- "verb": "Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. \"*\" means all.",
- "group": "Group is the API Group of the Resource. \"*\" means all.",
- "version": "Version is the API Version of the Resource. \"*\" means all.",
- "resource": "Resource is one of the existing resource types. \"*\" means all.",
- "subresource": "Subresource is one of the existing resource types. \"\" means none.",
- "name": "Name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.",
+ "namespace": "namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces \"\" (empty) is defaulted for LocalSubjectAccessReviews \"\" (empty) is empty for cluster-scoped resources \"\" (empty) means \"all\" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview",
+ "verb": "verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. \"*\" means all.",
+ "group": "group is the API Group of the Resource. \"*\" means all.",
+ "version": "version is the API Version of the Resource. \"*\" means all.",
+ "resource": "resource is one of the existing resource types. \"*\" means all.",
+ "subresource": "subresource is one of the existing resource types. \"\" means none.",
+ "name": "name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.",
"fieldSelector": "fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it.",
"labelSelector": "labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it.",
}
@@ -77,10 +77,10 @@ func (ResourceAttributes) SwaggerDoc() map[string]string {
var map_ResourceRule = map[string]string{
"": "ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
- "verbs": "Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. \"*\" means all.",
- "apiGroups": "APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. \"*\" means all.",
- "resources": "Resources is a list of resources this rule applies to. \"*\" means all in the specified apiGroups.\n \"*/foo\" represents the subresource 'foo' for all resources in the specified apiGroups.",
- "resourceNames": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. \"*\" means all.",
+ "verbs": "verbs is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. \"*\" means all.",
+ "apiGroups": "apiGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. \"*\" means all.",
+ "resources": "resources is a list of resources this rule applies to. \"*\" means all in the specified apiGroups.\n \"*/foo\" represents the subresource 'foo' for all resources in the specified apiGroups.",
+ "resourceNames": "resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. \"*\" means all.",
}
func (ResourceRule) SwaggerDoc() map[string]string {
@@ -89,9 +89,9 @@ func (ResourceRule) SwaggerDoc() map[string]string {
var map_SelfSubjectAccessReview = map[string]string{
"": "SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means \"in all namespaces\". Self is a special case, because users should always be able to check whether they can perform an action",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated. user and groups must be empty",
- "status": "Status is filled in by the server and indicates whether the request is allowed or not",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated. user and groups must be empty",
+ "status": "status is filled in by the server and indicates whether the request is allowed or not",
}
func (SelfSubjectAccessReview) SwaggerDoc() map[string]string {
@@ -99,9 +99,9 @@ func (SelfSubjectAccessReview) SwaggerDoc() map[string]string {
}
var map_SelfSubjectAccessReviewSpec = map[string]string{
- "": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set",
- "resourceAttributes": "ResourceAuthorizationAttributes describes information for a resource access request",
- "nonResourceAttributes": "NonResourceAttributes describes information for a non-resource access request",
+ "": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes and nonResourceAttributes must be set",
+ "resourceAttributes": "resourceAttributes describes information for a resource access request",
+ "nonResourceAttributes": "nonResourceAttributes describes information for a non-resource access request",
}
func (SelfSubjectAccessReviewSpec) SwaggerDoc() map[string]string {
@@ -110,9 +110,9 @@ func (SelfSubjectAccessReviewSpec) SwaggerDoc() map[string]string {
var map_SelfSubjectRulesReview = map[string]string{
"": "SelfSubjectRulesReview enumerates the set of actions the current user can perform within a namespace. The returned list of actions may be incomplete depending on the server's authorization mode, and any errors experienced during the evaluation. SelfSubjectRulesReview should be used by UIs to show/hide actions, or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns. SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated.",
- "status": "Status is filled in by the server and indicates the set of actions a user can perform.",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated.",
+ "status": "status is filled in by the server and indicates the set of actions a user can perform.",
}
func (SelfSubjectRulesReview) SwaggerDoc() map[string]string {
@@ -121,7 +121,7 @@ func (SelfSubjectRulesReview) SwaggerDoc() map[string]string {
var map_SelfSubjectRulesReviewSpec = map[string]string{
"": "SelfSubjectRulesReviewSpec defines the specification for SelfSubjectRulesReview.",
- "namespace": "Namespace to evaluate rules for. Required.",
+ "namespace": "namespace to evaluate rules for. Required.",
}
func (SelfSubjectRulesReviewSpec) SwaggerDoc() map[string]string {
@@ -130,9 +130,9 @@ func (SelfSubjectRulesReviewSpec) SwaggerDoc() map[string]string {
var map_SubjectAccessReview = map[string]string{
"": "SubjectAccessReview checks whether or not a user or group can perform an action.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Spec holds information about the request being evaluated",
- "status": "Status is filled in by the server and indicates whether the request is allowed or not",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec holds information about the request being evaluated",
+ "status": "status is filled in by the server and indicates whether the request is allowed or not",
}
func (SubjectAccessReview) SwaggerDoc() map[string]string {
@@ -140,13 +140,13 @@ func (SubjectAccessReview) SwaggerDoc() map[string]string {
}
var map_SubjectAccessReviewSpec = map[string]string{
- "": "SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set",
- "resourceAttributes": "ResourceAuthorizationAttributes describes information for a resource access request",
- "nonResourceAttributes": "NonResourceAttributes describes information for a non-resource access request",
- "user": "User is the user you're testing for. If you specify \"User\" but not \"Group\", then is it interpreted as \"What if User were not a member of any groups",
- "group": "Groups is the groups you're testing for.",
- "extra": "Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.",
- "uid": "UID information about the requesting user.",
+ "": "SubjectAccessReviewSpec is a description of the access request. Exactly one of resourceAttributes and nonResourceAttributes must be set",
+ "resourceAttributes": "resourceAttributes describes information for a resource access request",
+ "nonResourceAttributes": "nonResourceAttributes describes information for a non-resource access request",
+ "user": "user is the user you're testing for. If you specify \"User\" but not \"Group\", then is it interpreted as \"What if User were not a member of any groups",
+ "group": "group is the groups you're testing for.",
+ "extra": "extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.",
+ "uid": "uid information about the requesting user.",
}
func (SubjectAccessReviewSpec) SwaggerDoc() map[string]string {
@@ -155,10 +155,10 @@ func (SubjectAccessReviewSpec) SwaggerDoc() map[string]string {
var map_SubjectAccessReviewStatus = map[string]string{
"": "SubjectAccessReviewStatus",
- "allowed": "Allowed is required. True if the action would be allowed, false otherwise.",
- "denied": "Denied is optional. True if the action would be denied, otherwise false. If both allowed is false and denied is false, then the authorizer has no opinion on whether to authorize the action. Denied may not be true if Allowed is true.",
- "reason": "Reason is optional. It indicates why a request was allowed or denied.",
- "evaluationError": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.",
+ "allowed": "allowed is required. True if the action would be allowed, false otherwise.",
+ "denied": "denied is optional. True if the action would be denied, otherwise false. If both allowed is false and denied is false, then the authorizer has no opinion on whether to authorize the action. Denied may not be true if Allowed is true.",
+ "reason": "reason is optional. It indicates why a request was allowed or denied.",
+ "evaluationError": "evaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.",
}
func (SubjectAccessReviewStatus) SwaggerDoc() map[string]string {
@@ -167,10 +167,10 @@ func (SubjectAccessReviewStatus) SwaggerDoc() map[string]string {
var map_SubjectRulesReviewStatus = map[string]string{
"": "SubjectRulesReviewStatus contains the result of a rules check. This check can be incomplete depending on the set of authorizers the server is configured with and any errors experienced during evaluation. Because authorization rules are additive, if a rule appears in a list it's safe to assume the subject has that permission, even if that list is incomplete.",
- "resourceRules": "ResourceRules is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
- "nonResourceRules": "NonResourceRules is the list of actions the subject is allowed to perform on non-resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
- "incomplete": "Incomplete is true when the rules returned by this call are incomplete. This is most commonly encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.",
- "evaluationError": "EvaluationError can appear in combination with Rules. It indicates an error occurred during rule evaluation, such as an authorizer that doesn't support rule evaluation, and that ResourceRules and/or NonResourceRules may be incomplete.",
+ "resourceRules": "resourceRules is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
+ "nonResourceRules": "nonResourceRules is the list of actions the subject is allowed to perform on non-resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
+ "incomplete": "incomplete is true when the rules returned by this call are incomplete. This is most commonly encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.",
+ "evaluationError": "evaluationError can appear in combination with Rules. It indicates an error occurred during rule evaluation, such as an authorizer that doesn't support rule evaluation, and that ResourceRules and/or NonResourceRules may be incomplete.",
}
func (SubjectRulesReviewStatus) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/autoscaling/v1/generated.pb.go b/vendor/k8s.io/api/autoscaling/v1/generated.pb.go
index 6028054ae..681c0c44c 100644
--- a/vendor/k8s.io/api/autoscaling/v1/generated.pb.go
+++ b/vendor/k8s.io/api/autoscaling/v1/generated.pb.go
@@ -410,6 +410,11 @@ func (m *HorizontalPodAutoscalerCondition) MarshalToSizedBuffer(dAtA []byte) (in
_ = i
var l int
_ = l
+ if m.ObservedGeneration != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.ObservedGeneration))
+ i--
+ dAtA[i] = 0x30
+ }
i -= len(m.Message)
copy(dAtA[i:], m.Message)
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
@@ -1344,6 +1349,9 @@ func (m *HorizontalPodAutoscalerCondition) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Message)
n += 1 + l + sovGenerated(uint64(l))
+ if m.ObservedGeneration != nil {
+ n += 1 + sovGenerated(uint64(*m.ObservedGeneration))
+ }
return n
}
@@ -1708,6 +1716,7 @@ func (this *HorizontalPodAutoscalerCondition) String() string {
`LastTransitionTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
+ `ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
`}`,
}, "")
return s
@@ -3101,6 +3110,26 @@ func (m *HorizontalPodAutoscalerCondition) Unmarshal(dAtA []byte) error {
}
m.Message = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 6:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.ObservedGeneration = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/vendor/k8s.io/api/autoscaling/v1/generated.proto b/vendor/k8s.io/api/autoscaling/v1/generated.proto
index a17d7989d..a20b92a79 100644
--- a/vendor/k8s.io/api/autoscaling/v1/generated.proto
+++ b/vendor/k8s.io/api/autoscaling/v1/generated.proto
@@ -88,9 +88,11 @@ message ContainerResourceMetricStatus {
// +structType=atomic
message CrossVersionObjectReference {
// kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +k8s:alpha(since: "1.37")=+k8s:required
optional string kind = 1;
// name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ // +k8s:alpha(since: "1.37")=+k8s:required
optional string name = 2;
// apiVersion is the API version of the referent
@@ -142,13 +144,14 @@ message ExternalMetricStatus {
}
// configuration of a horizontal pod autoscaler.
+// +k8s:supportsSubresource="/status"
message HorizontalPodAutoscaler {
- // Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
+ // metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec defines the behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
- // +optional
+ // +required
optional HorizontalPodAutoscalerSpec spec = 2;
// status is the current information about the autoscaler.
@@ -178,6 +181,12 @@ message HorizontalPodAutoscalerCondition {
// the transition
// +optional
optional string message = 5;
+
+ // observedGeneration represents the .metadata.generation that the condition was set based upon.
+ // For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
+ // with respect to the current state of the instance.
+ // +optional
+ optional int64 observedGeneration = 6;
}
// list of horizontal pod autoscaler objects.
@@ -192,7 +201,7 @@ message HorizontalPodAutoscalerList {
// specification of a horizontal pod autoscaler.
message HorizontalPodAutoscalerSpec {
- // reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption
+ // scaleTargetRef is the reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption
// and will set the desired number of pods by using its Scale subresource.
optional CrossVersionObjectReference scaleTargetRef = 1;
@@ -202,9 +211,15 @@ message HorizontalPodAutoscalerSpec {
// metric is configured. Scaling is active as long as at least one metric value is
// available.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifEnabled(HPAScaleToZero)=+k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:ifDisabled(HPAScaleToZero)=+k8s:minimum=1
optional int32 minReplicas = 2;
// maxReplicas is the upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:minimum=1
optional int32 maxReplicas = 3;
// targetCPUUtilizationPercentage is the target average CPU utilization (represented as a percentage of requested CPU) over all the pods;
@@ -455,8 +470,9 @@ message ResourceMetricStatus {
// Scale represents a scaling request for a resource.
message Scale {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
@@ -472,9 +488,9 @@ message Scale {
message ScaleSpec {
// replicas is the desired number of instances for the scaled object.
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
optional int32 replicas = 1;
}
diff --git a/vendor/k8s.io/api/autoscaling/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/autoscaling/v1/generated.protomessage.pb.go
deleted file mode 100644
index 7b073f92c..000000000
--- a/vendor/k8s.io/api/autoscaling/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,64 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*ContainerResourceMetricSource) ProtoMessage() {}
-
-func (*ContainerResourceMetricStatus) ProtoMessage() {}
-
-func (*CrossVersionObjectReference) ProtoMessage() {}
-
-func (*ExternalMetricSource) ProtoMessage() {}
-
-func (*ExternalMetricStatus) ProtoMessage() {}
-
-func (*HorizontalPodAutoscaler) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerCondition) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerList) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerSpec) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerStatus) ProtoMessage() {}
-
-func (*MetricSpec) ProtoMessage() {}
-
-func (*MetricStatus) ProtoMessage() {}
-
-func (*ObjectMetricSource) ProtoMessage() {}
-
-func (*ObjectMetricStatus) ProtoMessage() {}
-
-func (*PodsMetricSource) ProtoMessage() {}
-
-func (*PodsMetricStatus) ProtoMessage() {}
-
-func (*ResourceMetricSource) ProtoMessage() {}
-
-func (*ResourceMetricStatus) ProtoMessage() {}
-
-func (*Scale) ProtoMessage() {}
-
-func (*ScaleSpec) ProtoMessage() {}
-
-func (*ScaleStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/autoscaling/v1/types.go b/vendor/k8s.io/api/autoscaling/v1/types.go
index e1e8809fe..5554e6271 100644
--- a/vendor/k8s.io/api/autoscaling/v1/types.go
+++ b/vendor/k8s.io/api/autoscaling/v1/types.go
@@ -26,9 +26,11 @@ import (
// +structType=atomic
type CrossVersionObjectReference struct {
// kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +k8s:alpha(since: "1.37")=+k8s:required
Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"`
// name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ // +k8s:alpha(since: "1.37")=+k8s:required
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
// apiVersion is the API version of the referent
@@ -38,7 +40,7 @@ type CrossVersionObjectReference struct {
// specification of a horizontal pod autoscaler.
type HorizontalPodAutoscalerSpec struct {
- // reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption
+ // scaleTargetRef is the reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption
// and will set the desired number of pods by using its Scale subresource.
ScaleTargetRef CrossVersionObjectReference `json:"scaleTargetRef" protobuf:"bytes,1,opt,name=scaleTargetRef"`
// minReplicas is the lower limit for the number of replicas to which the autoscaler
@@ -47,9 +49,15 @@ type HorizontalPodAutoscalerSpec struct {
// metric is configured. Scaling is active as long as at least one metric value is
// available.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifEnabled(HPAScaleToZero)=+k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:ifDisabled(HPAScaleToZero)=+k8s:minimum=1
MinReplicas *int32 `json:"minReplicas,omitempty" protobuf:"varint,2,opt,name=minReplicas"`
// maxReplicas is the upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:minimum=1
MaxReplicas int32 `json:"maxReplicas" protobuf:"varint,3,opt,name=maxReplicas"`
// targetCPUUtilizationPercentage is the target average CPU utilization (represented as a percentage of requested CPU) over all the pods;
@@ -86,14 +94,15 @@ type HorizontalPodAutoscalerStatus struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.2
// configuration of a horizontal pod autoscaler.
+// +k8s:supportsSubresource="/status"
type HorizontalPodAutoscaler struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec defines the behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
- // +optional
+ // +required
Spec HorizontalPodAutoscalerSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// status is the current information about the autoscaler.
@@ -106,7 +115,7 @@ type HorizontalPodAutoscaler struct {
// list of horizontal pod autoscaler objects.
type HorizontalPodAutoscalerList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -117,13 +126,14 @@ type HorizontalPodAutoscalerList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.2
-// +k8s:isSubresource=/scale
+// +k8s:isSubresource="/scale"
// Scale represents a scaling request for a resource.
type Scale struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
@@ -139,9 +149,9 @@ type Scale struct {
type ScaleSpec struct {
// replicas is the desired number of instances for the scaled object.
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
Replicas int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
}
@@ -408,6 +418,8 @@ const (
// ScalingLimited indicates that the calculated scale based on metrics would be above or
// below the range for the HPA, and has thus been capped.
ScalingLimited HorizontalPodAutoscalerConditionType = "ScalingLimited"
+ // ScaledToZero indicates that the HPA controller scaled the workload to zero.
+ ScaledToZero HorizontalPodAutoscalerConditionType = "ScaledToZero"
)
// HorizontalPodAutoscalerCondition describes the state of
@@ -432,6 +444,12 @@ type HorizontalPodAutoscalerCondition struct {
// the transition
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
+
+ // observedGeneration represents the .metadata.generation that the condition was set based upon.
+ // For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
+ // with respect to the current state of the instance.
+ // +optional
+ ObservedGeneration *int64 `json:"observedGeneration,omitempty" protobuf:"varint,6,opt,name=observedGeneration"`
}
// ObjectMetricStatus indicates the current value of a metric describing a
diff --git a/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go
index ba43d06c1..4132f42d6 100644
--- a/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go
@@ -88,7 +88,7 @@ func (ExternalMetricStatus) SwaggerDoc() map[string]string {
var map_HorizontalPodAutoscaler = map[string]string{
"": "configuration of a horizontal pod autoscaler.",
- "metadata": "Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec defines the behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.",
"status": "status is the current information about the autoscaler.",
}
@@ -104,6 +104,7 @@ var map_HorizontalPodAutoscalerCondition = map[string]string{
"lastTransitionTime": "lastTransitionTime is the last time the condition transitioned from one status to another",
"reason": "reason is the reason for the condition's last transition.",
"message": "message is a human-readable explanation containing details about the transition",
+ "observedGeneration": "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.",
}
func (HorizontalPodAutoscalerCondition) SwaggerDoc() map[string]string {
@@ -122,7 +123,7 @@ func (HorizontalPodAutoscalerList) SwaggerDoc() map[string]string {
var map_HorizontalPodAutoscalerSpec = map[string]string{
"": "specification of a horizontal pod autoscaler.",
- "scaleTargetRef": "reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption and will set the desired number of pods by using its Scale subresource.",
+ "scaleTargetRef": "scaleTargetRef is the reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption and will set the desired number of pods by using its Scale subresource.",
"minReplicas": "minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled and at least one Object or External metric is configured. Scaling is active as long as at least one metric value is available.",
"maxReplicas": "maxReplicas is the upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.",
"targetCPUUtilizationPercentage": "targetCPUUtilizationPercentage is the target average CPU utilization (represented as a percentage of requested CPU) over all the pods; if not specified the default autoscaling policy will be used.",
@@ -245,7 +246,7 @@ func (ResourceMetricStatus) SwaggerDoc() map[string]string {
var map_Scale = map[string]string{
"": "Scale represents a scaling request for a resource.",
- "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
"spec": "spec defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.",
"status": "status is the current status of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. Read-only.",
}
diff --git a/vendor/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go
index 603e6aa8c..e0ad1668c 100644
--- a/vendor/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go
@@ -180,6 +180,11 @@ func (in *HorizontalPodAutoscaler) DeepCopyObject() runtime.Object {
func (in *HorizontalPodAutoscalerCondition) DeepCopyInto(out *HorizontalPodAutoscalerCondition) {
*out = *in
in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
+ if in.ObservedGeneration != nil {
+ in, out := &in.ObservedGeneration, &out.ObservedGeneration
+ *out = new(int64)
+ **out = **in
+ }
return
}
diff --git a/vendor/k8s.io/api/autoscaling/v2/generated.pb.go b/vendor/k8s.io/api/autoscaling/v2/generated.pb.go
index 7505c7592..0f663d46e 100644
--- a/vendor/k8s.io/api/autoscaling/v2/generated.pb.go
+++ b/vendor/k8s.io/api/autoscaling/v2/generated.pb.go
@@ -506,6 +506,11 @@ func (m *HorizontalPodAutoscalerCondition) MarshalToSizedBuffer(dAtA []byte) (in
_ = i
var l int
_ = l
+ if m.ObservedGeneration != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.ObservedGeneration))
+ i--
+ dAtA[i] = 0x30
+ }
i -= len(m.Message)
copy(dAtA[i:], m.Message)
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
@@ -1489,6 +1494,9 @@ func (m *HorizontalPodAutoscalerCondition) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Message)
n += 1 + l + sovGenerated(uint64(l))
+ if m.ObservedGeneration != nil {
+ n += 1 + sovGenerated(uint64(*m.ObservedGeneration))
+ }
return n
}
@@ -1892,6 +1900,7 @@ func (this *HorizontalPodAutoscalerCondition) String() string {
`LastTransitionTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
+ `ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
`}`,
}, "")
return s
@@ -3524,6 +3533,26 @@ func (m *HorizontalPodAutoscalerCondition) Unmarshal(dAtA []byte) error {
}
m.Message = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 6:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.ObservedGeneration = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/vendor/k8s.io/api/autoscaling/v2/generated.proto b/vendor/k8s.io/api/autoscaling/v2/generated.proto
index a007676a7..d9a31f941 100644
--- a/vendor/k8s.io/api/autoscaling/v2/generated.proto
+++ b/vendor/k8s.io/api/autoscaling/v2/generated.proto
@@ -67,9 +67,11 @@ message ContainerResourceMetricStatus {
// CrossVersionObjectReference contains enough information to let you identify the referred resource.
message CrossVersionObjectReference {
// kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +k8s:alpha(since: "1.37")=+k8s:required
optional string kind = 1;
// name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ // +k8s:alpha(since: "1.37")=+k8s:required
optional string name = 2;
// apiVersion is the API version of the referent
@@ -122,8 +124,7 @@ message HPAScalingPolicy {
// window is chosen.
//
// The tolerance is applied to the metric values and prevents scaling too
-// eagerly for small metric variations. (Note that setting a tolerance requires
-// the beta HPAConfigurableTolerance feature gate to be enabled.)
+// eagerly for small metric variations.
message HPAScalingRules {
// stabilizationWindowSeconds is the number of seconds for which past recommendations should be
// considered while scaling up or scaling down.
@@ -156,9 +157,6 @@ message HPAScalingRules {
// and scale-down and scale-up tolerances of 5% and 1% respectively, scaling will be
// triggered when the actual consumption falls below 95Mi or exceeds 101Mi.
//
- // This is an beta field and requires the HPAConfigurableTolerance feature
- // gate to be enabled.
- //
// +featureGate=HPAConfigurableTolerance
// +optional
optional .k8s.io.apimachinery.pkg.api.resource.Quantity tolerance = 4;
@@ -167,6 +165,7 @@ message HPAScalingRules {
// HorizontalPodAutoscaler is the configuration for a horizontal pod
// autoscaler, which automatically manages the replica count of any resource
// implementing the scale subresource based on the metrics specified.
+// +k8s:supportsSubresource="/status"
message HorizontalPodAutoscaler {
// metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -175,7 +174,7 @@ message HorizontalPodAutoscaler {
// spec is the specification for the behaviour of the autoscaler.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
- // +optional
+ // +required
optional HorizontalPodAutoscalerSpec spec = 2;
// status is the current information about the autoscaler.
@@ -224,6 +223,12 @@ message HorizontalPodAutoscalerCondition {
// the transition
// +optional
optional string message = 5;
+
+ // observedGeneration represents the .metadata.generation that the condition was set based upon.
+ // For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
+ // with respect to the current state of the instance.
+ // +optional
+ optional int64 observedGeneration = 6;
}
// HorizontalPodAutoscalerList is a list of horizontal pod autoscaler objects.
@@ -248,10 +253,16 @@ message HorizontalPodAutoscalerSpec {
// metric is configured. Scaling is active as long as at least one metric value is
// available.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifEnabled(HPAScaleToZero)=+k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:ifDisabled(HPAScaleToZero)=+k8s:minimum=1
optional int32 minReplicas = 2;
// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
// It cannot be less that minReplicas.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:minimum=1
optional int32 maxReplicas = 3;
// metrics contains the specifications for which to use to calculate the
@@ -264,6 +275,7 @@ message HorizontalPodAutoscalerSpec {
// If not set, the default metric will be set to 80% average CPU utilization.
// +listType=atomic
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
repeated MetricSpec metrics = 4;
// behavior configures the scaling behavior of the target
@@ -296,6 +308,7 @@ message HorizontalPodAutoscalerStatus {
// currentMetrics is the last read state of the metrics used by this autoscaler.
// +listType=atomic
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
repeated MetricStatus currentMetrics = 5;
// conditions is the set of conditions required for this autoscaler to scale its target,
@@ -330,6 +343,8 @@ message MetricSpec {
// object refers to a metric describing a single kubernetes object
// (for example, hits-per-second on an Ingress object).
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:opaqueType
optional ObjectMetricSource object = 2;
// pods refers to a metric describing each pod in the current scale target
@@ -372,6 +387,8 @@ message MetricStatus {
// object refers to a metric describing a single kubernetes object
// (for example, hits-per-second on an Ingress object).
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:opaqueType
optional ObjectMetricStatus object = 2;
// pods refers to a metric describing each pod in the current scale target
@@ -388,7 +405,7 @@ message MetricStatus {
// +optional
optional ResourceMetricStatus resource = 4;
- // container resource refers to a resource metric (such as those specified in
+ // containerResource refers to a resource metric (such as those specified in
// requests and limits) known to Kubernetes describing a single container in each pod in the
// current scale target (e.g. CPU or memory). Such metrics are built in to
// Kubernetes, and have special scaling options on top of those available
@@ -438,7 +455,7 @@ message MetricValueStatus {
// +optional
optional .k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 2;
- // currentAverageUtilization is the current value of the average of the
+ // averageUtilization is the current value of the average of the
// resource metric across all relevant pods, represented as a percentage of
// the requested value of the resource for the pods.
// +optional
@@ -467,7 +484,7 @@ message ObjectMetricStatus {
// current contains the current value for the given metric
optional MetricValueStatus current = 2;
- // DescribedObject specifies the descriptions of a object,such as kind,name apiVersion
+ // describedObject specifies the descriptions of a object,such as kind,name apiVersion
optional CrossVersionObjectReference describedObject = 3;
}
diff --git a/vendor/k8s.io/api/autoscaling/v2/generated.protomessage.pb.go b/vendor/k8s.io/api/autoscaling/v2/generated.protomessage.pb.go
deleted file mode 100644
index 0a73d526b..000000000
--- a/vendor/k8s.io/api/autoscaling/v2/generated.protomessage.pb.go
+++ /dev/null
@@ -1,70 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v2
-
-func (*ContainerResourceMetricSource) ProtoMessage() {}
-
-func (*ContainerResourceMetricStatus) ProtoMessage() {}
-
-func (*CrossVersionObjectReference) ProtoMessage() {}
-
-func (*ExternalMetricSource) ProtoMessage() {}
-
-func (*ExternalMetricStatus) ProtoMessage() {}
-
-func (*HPAScalingPolicy) ProtoMessage() {}
-
-func (*HPAScalingRules) ProtoMessage() {}
-
-func (*HorizontalPodAutoscaler) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerBehavior) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerCondition) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerList) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerSpec) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerStatus) ProtoMessage() {}
-
-func (*MetricIdentifier) ProtoMessage() {}
-
-func (*MetricSpec) ProtoMessage() {}
-
-func (*MetricStatus) ProtoMessage() {}
-
-func (*MetricTarget) ProtoMessage() {}
-
-func (*MetricValueStatus) ProtoMessage() {}
-
-func (*ObjectMetricSource) ProtoMessage() {}
-
-func (*ObjectMetricStatus) ProtoMessage() {}
-
-func (*PodsMetricSource) ProtoMessage() {}
-
-func (*PodsMetricStatus) ProtoMessage() {}
-
-func (*ResourceMetricSource) ProtoMessage() {}
-
-func (*ResourceMetricStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/autoscaling/v2/types.go b/vendor/k8s.io/api/autoscaling/v2/types.go
index 03a06dc8b..49c9e751c 100644
--- a/vendor/k8s.io/api/autoscaling/v2/types.go
+++ b/vendor/k8s.io/api/autoscaling/v2/types.go
@@ -31,8 +31,9 @@ import (
// HorizontalPodAutoscaler is the configuration for a horizontal pod
// autoscaler, which automatically manages the replica count of any resource
// implementing the scale subresource based on the metrics specified.
+// +k8s:supportsSubresource="/status"
type HorizontalPodAutoscaler struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -40,7 +41,7 @@ type HorizontalPodAutoscaler struct {
// spec is the specification for the behaviour of the autoscaler.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
- // +optional
+ // +required
Spec HorizontalPodAutoscalerSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// status is the current information about the autoscaler.
@@ -59,10 +60,16 @@ type HorizontalPodAutoscalerSpec struct {
// metric is configured. Scaling is active as long as at least one metric value is
// available.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifEnabled(HPAScaleToZero)=+k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:ifDisabled(HPAScaleToZero)=+k8s:minimum=1
MinReplicas *int32 `json:"minReplicas,omitempty" protobuf:"varint,2,opt,name=minReplicas"`
// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
// It cannot be less that minReplicas.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:minimum=1
MaxReplicas int32 `json:"maxReplicas" protobuf:"varint,3,opt,name=maxReplicas"`
// metrics contains the specifications for which to use to calculate the
@@ -75,6 +82,7 @@ type HorizontalPodAutoscalerSpec struct {
// If not set, the default metric will be set to 80% average CPU utilization.
// +listType=atomic
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Metrics []MetricSpec `json:"metrics,omitempty" protobuf:"bytes,4,rep,name=metrics"`
// behavior configures the scaling behavior of the target
@@ -87,9 +95,11 @@ type HorizontalPodAutoscalerSpec struct {
// CrossVersionObjectReference contains enough information to let you identify the referred resource.
type CrossVersionObjectReference struct {
// kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +k8s:alpha(since: "1.37")=+k8s:required
Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"`
// name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ // +k8s:alpha(since: "1.37")=+k8s:required
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
// apiVersion is the API version of the referent
@@ -107,6 +117,8 @@ type MetricSpec struct {
// object refers to a metric describing a single kubernetes object
// (for example, hits-per-second on an Ingress object).
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:opaqueType
Object *ObjectMetricSource `json:"object,omitempty" protobuf:"bytes,2,opt,name=object"`
// pods refers to a metric describing each pod in the current scale target
@@ -181,8 +193,7 @@ const (
// window is chosen.
//
// The tolerance is applied to the metric values and prevents scaling too
-// eagerly for small metric variations. (Note that setting a tolerance requires
-// the beta HPAConfigurableTolerance feature gate to be enabled.)
+// eagerly for small metric variations.
type HPAScalingRules struct {
// stabilizationWindowSeconds is the number of seconds for which past recommendations should be
// considered while scaling up or scaling down.
@@ -215,9 +226,6 @@ type HPAScalingRules struct {
// and scale-down and scale-up tolerances of 5% and 1% respectively, scaling will be
// triggered when the actual consumption falls below 95Mi or exceeds 101Mi.
//
- // This is an beta field and requires the HPAConfigurableTolerance feature
- // gate to be enabled.
- //
// +featureGate=HPAConfigurableTolerance
// +optional
Tolerance *resource.Quantity `json:"tolerance,omitempty" protobuf:"bytes,4,opt,name=tolerance"`
@@ -418,6 +426,7 @@ type HorizontalPodAutoscalerStatus struct {
// currentMetrics is the last read state of the metrics used by this autoscaler.
// +listType=atomic
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
CurrentMetrics []MetricStatus `json:"currentMetrics" protobuf:"bytes,5,rep,name=currentMetrics"`
// conditions is the set of conditions required for this autoscaler to scale its target,
@@ -444,6 +453,8 @@ const (
// ScalingLimited indicates that the calculated scale based on metrics would be above or
// below the range for the HPA, and has thus been capped.
ScalingLimited HorizontalPodAutoscalerConditionType = "ScalingLimited"
+ // ScaledToZero indicates that the HPA controller scaled the workload to zero.
+ ScaledToZero HorizontalPodAutoscalerConditionType = "ScaledToZero"
)
// HorizontalPodAutoscalerCondition describes the state of
@@ -468,6 +479,12 @@ type HorizontalPodAutoscalerCondition struct {
// the transition
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
+
+ // observedGeneration represents the .metadata.generation that the condition was set based upon.
+ // For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
+ // with respect to the current state of the instance.
+ // +optional
+ ObservedGeneration *int64 `json:"observedGeneration,omitempty" protobuf:"varint,6,opt,name=observedGeneration"`
}
// MetricStatus describes the last-read state of a single metric.
@@ -479,6 +496,8 @@ type MetricStatus struct {
// object refers to a metric describing a single kubernetes object
// (for example, hits-per-second on an Ingress object).
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:opaqueType
Object *ObjectMetricStatus `json:"object,omitempty" protobuf:"bytes,2,opt,name=object"`
// pods refers to a metric describing each pod in the current scale target
@@ -495,7 +514,7 @@ type MetricStatus struct {
// +optional
Resource *ResourceMetricStatus `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"`
- // container resource refers to a resource metric (such as those specified in
+ // containerResource refers to a resource metric (such as those specified in
// requests and limits) known to Kubernetes describing a single container in each pod in the
// current scale target (e.g. CPU or memory). Such metrics are built in to
// Kubernetes, and have special scaling options on top of those available
@@ -521,7 +540,7 @@ type ObjectMetricStatus struct {
// current contains the current value for the given metric
Current MetricValueStatus `json:"current" protobuf:"bytes,2,name=current"`
- // DescribedObject specifies the descriptions of a object,such as kind,name apiVersion
+ // describedObject specifies the descriptions of a object,such as kind,name apiVersion
DescribedObject CrossVersionObjectReference `json:"describedObject" protobuf:"bytes,3,name=describedObject"`
}
@@ -585,7 +604,7 @@ type MetricValueStatus struct {
// +optional
AverageValue *resource.Quantity `json:"averageValue,omitempty" protobuf:"bytes,2,opt,name=averageValue"`
- // currentAverageUtilization is the current value of the average of the
+ // averageUtilization is the current value of the average of the
// resource metric across all relevant pods, represented as a percentage of
// the requested value of the resource for the pods.
// +optional
@@ -597,7 +616,7 @@ type MetricValueStatus struct {
// HorizontalPodAutoscalerList is a list of horizontal pod autoscaler objects.
type HorizontalPodAutoscalerList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// metadata is the standard list metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
diff --git a/vendor/k8s.io/api/autoscaling/v2/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v2/types_swagger_doc_generated.go
index af3f3022d..de5a6b389 100644
--- a/vendor/k8s.io/api/autoscaling/v2/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/autoscaling/v2/types_swagger_doc_generated.go
@@ -92,11 +92,11 @@ func (HPAScalingPolicy) SwaggerDoc() map[string]string {
}
var map_HPAScalingRules = map[string]string{
- "": "HPAScalingRules configures the scaling behavior for one direction via scaling Policy Rules and a configurable metric tolerance.\n\nScaling Policy Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.\n\nThe tolerance is applied to the metric values and prevents scaling too eagerly for small metric variations. (Note that setting a tolerance requires the beta HPAConfigurableTolerance feature gate to be enabled.)",
+ "": "HPAScalingRules configures the scaling behavior for one direction via scaling Policy Rules and a configurable metric tolerance.\n\nScaling Policy Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.\n\nThe tolerance is applied to the metric values and prevents scaling too eagerly for small metric variations.",
"stabilizationWindowSeconds": "stabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long).",
"selectPolicy": "selectPolicy is used to specify which policy should be used. If not set, the default value Max is used.",
"policies": "policies is a list of potential scaling polices which can be used during scaling. If not set, use the default values: - For scale up: allow doubling the number of pods, or an absolute change of 4 pods in a 15s window. - For scale down: allow all pods to be removed in a 15s window.",
- "tolerance": "tolerance is the tolerance on the ratio between the current and desired metric value under which no updates are made to the desired number of replicas (e.g. 0.01 for 1%). Must be greater than or equal to zero. If not set, the default cluster-wide tolerance is applied (by default 10%).\n\nFor example, if autoscaling is configured with a memory consumption target of 100Mi, and scale-down and scale-up tolerances of 5% and 1% respectively, scaling will be triggered when the actual consumption falls below 95Mi or exceeds 101Mi.\n\nThis is an beta field and requires the HPAConfigurableTolerance feature gate to be enabled.",
+ "tolerance": "tolerance is the tolerance on the ratio between the current and desired metric value under which no updates are made to the desired number of replicas (e.g. 0.01 for 1%). Must be greater than or equal to zero. If not set, the default cluster-wide tolerance is applied (by default 10%).\n\nFor example, if autoscaling is configured with a memory consumption target of 100Mi, and scale-down and scale-up tolerances of 5% and 1% respectively, scaling will be triggered when the actual consumption falls below 95Mi or exceeds 101Mi.",
}
func (HPAScalingRules) SwaggerDoc() map[string]string {
@@ -131,6 +131,7 @@ var map_HorizontalPodAutoscalerCondition = map[string]string{
"lastTransitionTime": "lastTransitionTime is the last time the condition transitioned from one status to another",
"reason": "reason is the reason for the condition's last transition.",
"message": "message is a human-readable explanation containing details about the transition",
+ "observedGeneration": "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.",
}
func (HorizontalPodAutoscalerCondition) SwaggerDoc() map[string]string {
@@ -204,7 +205,7 @@ var map_MetricStatus = map[string]string{
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "container resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
+ "containerResource": "containerResource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
"external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
}
@@ -228,7 +229,7 @@ var map_MetricValueStatus = map[string]string{
"": "MetricValueStatus holds the current value for a metric",
"value": "value is the current value of the metric (as a quantity).",
"averageValue": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
- "averageUtilization": "currentAverageUtilization is the current value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods.",
+ "averageUtilization": "averageUtilization is the current value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods.",
}
func (MetricValueStatus) SwaggerDoc() map[string]string {
@@ -250,7 +251,7 @@ var map_ObjectMetricStatus = map[string]string{
"": "ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).",
"metric": "metric identifies the target metric by name and selector",
"current": "current contains the current value for the given metric",
- "describedObject": "DescribedObject specifies the descriptions of a object,such as kind,name apiVersion",
+ "describedObject": "describedObject specifies the descriptions of a object,such as kind,name apiVersion",
}
func (ObjectMetricStatus) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/autoscaling/v2/zz_generated.deepcopy.go b/vendor/k8s.io/api/autoscaling/v2/zz_generated.deepcopy.go
index 5fbcf9f80..ace4fa2fd 100644
--- a/vendor/k8s.io/api/autoscaling/v2/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/autoscaling/v2/zz_generated.deepcopy.go
@@ -222,6 +222,11 @@ func (in *HorizontalPodAutoscalerBehavior) DeepCopy() *HorizontalPodAutoscalerBe
func (in *HorizontalPodAutoscalerCondition) DeepCopyInto(out *HorizontalPodAutoscalerCondition) {
*out = *in
in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
+ if in.ObservedGeneration != nil {
+ in, out := &in.ObservedGeneration, &out.ObservedGeneration
+ *out = new(int64)
+ **out = **in
+ }
return
}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go b/vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go
deleted file mode 100644
index b3b535adc..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go
+++ /dev/null
@@ -1,5106 +0,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: k8s.io/api/autoscaling/v2beta1/generated.proto
-
-package v2beta1
-
-import (
- fmt "fmt"
-
- io "io"
-
- k8s_io_api_core_v1 "k8s.io/api/core/v1"
- resource "k8s.io/apimachinery/pkg/api/resource"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-func (m *ContainerResourceMetricSource) Reset() { *m = ContainerResourceMetricSource{} }
-
-func (m *ContainerResourceMetricStatus) Reset() { *m = ContainerResourceMetricStatus{} }
-
-func (m *CrossVersionObjectReference) Reset() { *m = CrossVersionObjectReference{} }
-
-func (m *ExternalMetricSource) Reset() { *m = ExternalMetricSource{} }
-
-func (m *ExternalMetricStatus) Reset() { *m = ExternalMetricStatus{} }
-
-func (m *HorizontalPodAutoscaler) Reset() { *m = HorizontalPodAutoscaler{} }
-
-func (m *HorizontalPodAutoscalerCondition) Reset() { *m = HorizontalPodAutoscalerCondition{} }
-
-func (m *HorizontalPodAutoscalerList) Reset() { *m = HorizontalPodAutoscalerList{} }
-
-func (m *HorizontalPodAutoscalerSpec) Reset() { *m = HorizontalPodAutoscalerSpec{} }
-
-func (m *HorizontalPodAutoscalerStatus) Reset() { *m = HorizontalPodAutoscalerStatus{} }
-
-func (m *MetricSpec) Reset() { *m = MetricSpec{} }
-
-func (m *MetricStatus) Reset() { *m = MetricStatus{} }
-
-func (m *ObjectMetricSource) Reset() { *m = ObjectMetricSource{} }
-
-func (m *ObjectMetricStatus) Reset() { *m = ObjectMetricStatus{} }
-
-func (m *PodsMetricSource) Reset() { *m = PodsMetricSource{} }
-
-func (m *PodsMetricStatus) Reset() { *m = PodsMetricStatus{} }
-
-func (m *ResourceMetricSource) Reset() { *m = ResourceMetricSource{} }
-
-func (m *ResourceMetricStatus) Reset() { *m = ResourceMetricStatus{} }
-
-func (m *ContainerResourceMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ContainerResourceMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ContainerResourceMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.Container)
- copy(dAtA[i:], m.Container)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Container)))
- i--
- dAtA[i] = 0x22
- if m.TargetAverageValue != nil {
- {
- size, err := m.TargetAverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.TargetAverageUtilization != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.TargetAverageUtilization))
- i--
- dAtA[i] = 0x10
- }
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ContainerResourceMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ContainerResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ContainerResourceMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.Container)
- copy(dAtA[i:], m.Container)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Container)))
- i--
- dAtA[i] = 0x22
- {
- size, err := m.CurrentAverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- if m.CurrentAverageUtilization != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.CurrentAverageUtilization))
- i--
- dAtA[i] = 0x10
- }
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *CrossVersionObjectReference) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *CrossVersionObjectReference) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *CrossVersionObjectReference) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.APIVersion)
- copy(dAtA[i:], m.APIVersion)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersion)))
- i--
- dAtA[i] = 0x1a
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Kind)
- copy(dAtA[i:], m.Kind)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ExternalMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ExternalMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ExternalMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.TargetAverageValue != nil {
- {
- size, err := m.TargetAverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.TargetValue != nil {
- {
- size, err := m.TargetValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.MetricSelector != nil {
- {
- size, err := m.MetricSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.MetricName)
- copy(dAtA[i:], m.MetricName)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ExternalMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ExternalMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ExternalMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.CurrentAverageValue != nil {
- {
- size, err := m.CurrentAverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- {
- size, err := m.CurrentValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- if m.MetricSelector != nil {
- {
- size, err := m.MetricSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.MetricName)
- copy(dAtA[i:], m.MetricName)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscaler) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscaler) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscaler) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- {
- size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerCondition) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerCondition) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerCondition) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.Message)
- copy(dAtA[i:], m.Message)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
- i--
- dAtA[i] = 0x2a
- i -= len(m.Reason)
- copy(dAtA[i:], m.Reason)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason)))
- i--
- dAtA[i] = 0x22
- {
- size, err := m.LastTransitionTime.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- i -= len(m.Status)
- copy(dAtA[i:], m.Status)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerList) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerList) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Items) > 0 {
- for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- {
- size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerSpec) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerSpec) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Metrics) > 0 {
- for iNdEx := len(m.Metrics) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Metrics[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- }
- i = encodeVarintGenerated(dAtA, i, uint64(m.MaxReplicas))
- i--
- dAtA[i] = 0x18
- if m.MinReplicas != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.MinReplicas))
- i--
- dAtA[i] = 0x10
- }
- {
- size, err := m.ScaleTargetRef.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Conditions) > 0 {
- for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.CurrentMetrics) > 0 {
- for iNdEx := len(m.CurrentMetrics) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.CurrentMetrics[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- }
- i = encodeVarintGenerated(dAtA, i, uint64(m.DesiredReplicas))
- i--
- dAtA[i] = 0x20
- i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentReplicas))
- i--
- dAtA[i] = 0x18
- if m.LastScaleTime != nil {
- {
- size, err := m.LastScaleTime.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.ObservedGeneration != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.ObservedGeneration))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *MetricSpec) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *MetricSpec) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MetricSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.ContainerResource != nil {
- {
- size, err := m.ContainerResource.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.External != nil {
- {
- size, err := m.External.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.Resource != nil {
- {
- size, err := m.Resource.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.Pods != nil {
- {
- size, err := m.Pods.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Object != nil {
- {
- size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *MetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *MetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.ContainerResource != nil {
- {
- size, err := m.ContainerResource.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.External != nil {
- {
- size, err := m.External.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.Resource != nil {
- {
- size, err := m.Resource.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.Pods != nil {
- {
- size, err := m.Pods.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Object != nil {
- {
- size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ObjectMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ObjectMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.AverageValue != nil {
- {
- size, err := m.AverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.Selector != nil {
- {
- size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- {
- size, err := m.TargetValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- i -= len(m.MetricName)
- copy(dAtA[i:], m.MetricName)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
- i--
- dAtA[i] = 0x12
- {
- size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ObjectMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ObjectMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.AverageValue != nil {
- {
- size, err := m.AverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.Selector != nil {
- {
- size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- {
- size, err := m.CurrentValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- i -= len(m.MetricName)
- copy(dAtA[i:], m.MetricName)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
- i--
- dAtA[i] = 0x12
- {
- size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *PodsMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PodsMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PodsMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.Selector != nil {
- {
- size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- {
- size, err := m.TargetAverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- i -= len(m.MetricName)
- copy(dAtA[i:], m.MetricName)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *PodsMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PodsMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PodsMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.Selector != nil {
- {
- size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- {
- size, err := m.CurrentAverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- i -= len(m.MetricName)
- copy(dAtA[i:], m.MetricName)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ResourceMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ResourceMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ResourceMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.TargetAverageValue != nil {
- {
- size, err := m.TargetAverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.TargetAverageUtilization != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.TargetAverageUtilization))
- i--
- dAtA[i] = 0x10
- }
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ResourceMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ResourceMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.CurrentAverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- if m.CurrentAverageUtilization != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.CurrentAverageUtilization))
- i--
- dAtA[i] = 0x10
- }
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
- offset -= sovGenerated(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *ContainerResourceMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- if m.TargetAverageUtilization != nil {
- n += 1 + sovGenerated(uint64(*m.TargetAverageUtilization))
- }
- if m.TargetAverageValue != nil {
- l = m.TargetAverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- l = len(m.Container)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ContainerResourceMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- if m.CurrentAverageUtilization != nil {
- n += 1 + sovGenerated(uint64(*m.CurrentAverageUtilization))
- }
- l = m.CurrentAverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Container)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *CrossVersionObjectReference) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Kind)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.APIVersion)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ExternalMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.MetricName)
- n += 1 + l + sovGenerated(uint64(l))
- if m.MetricSelector != nil {
- l = m.MetricSelector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.TargetValue != nil {
- l = m.TargetValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.TargetAverageValue != nil {
- l = m.TargetAverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *ExternalMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.MetricName)
- n += 1 + l + sovGenerated(uint64(l))
- if m.MetricSelector != nil {
- l = m.MetricSelector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- l = m.CurrentValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if m.CurrentAverageValue != nil {
- l = m.CurrentAverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *HorizontalPodAutoscaler) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Spec.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Status.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *HorizontalPodAutoscalerCondition) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Status)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.LastTransitionTime.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Reason)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Message)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *HorizontalPodAutoscalerList) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ListMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Items) > 0 {
- for _, e := range m.Items {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *HorizontalPodAutoscalerSpec) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ScaleTargetRef.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if m.MinReplicas != nil {
- n += 1 + sovGenerated(uint64(*m.MinReplicas))
- }
- n += 1 + sovGenerated(uint64(m.MaxReplicas))
- if len(m.Metrics) > 0 {
- for _, e := range m.Metrics {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *HorizontalPodAutoscalerStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ObservedGeneration != nil {
- n += 1 + sovGenerated(uint64(*m.ObservedGeneration))
- }
- if m.LastScaleTime != nil {
- l = m.LastScaleTime.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- n += 1 + sovGenerated(uint64(m.CurrentReplicas))
- n += 1 + sovGenerated(uint64(m.DesiredReplicas))
- if len(m.CurrentMetrics) > 0 {
- for _, e := range m.CurrentMetrics {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if len(m.Conditions) > 0 {
- for _, e := range m.Conditions {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *MetricSpec) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Object != nil {
- l = m.Object.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Pods != nil {
- l = m.Pods.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Resource != nil {
- l = m.Resource.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.External != nil {
- l = m.External.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ContainerResource != nil {
- l = m.ContainerResource.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *MetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Object != nil {
- l = m.Object.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Pods != nil {
- l = m.Pods.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Resource != nil {
- l = m.Resource.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.External != nil {
- l = m.External.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ContainerResource != nil {
- l = m.ContainerResource.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *ObjectMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.Target.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.MetricName)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.TargetValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if m.Selector != nil {
- l = m.Selector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.AverageValue != nil {
- l = m.AverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *ObjectMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.Target.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.MetricName)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.CurrentValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if m.Selector != nil {
- l = m.Selector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.AverageValue != nil {
- l = m.AverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *PodsMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.MetricName)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.TargetAverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if m.Selector != nil {
- l = m.Selector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *PodsMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.MetricName)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.CurrentAverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if m.Selector != nil {
- l = m.Selector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *ResourceMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- if m.TargetAverageUtilization != nil {
- n += 1 + sovGenerated(uint64(*m.TargetAverageUtilization))
- }
- if m.TargetAverageValue != nil {
- l = m.TargetAverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *ResourceMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- if m.CurrentAverageUtilization != nil {
- n += 1 + sovGenerated(uint64(*m.CurrentAverageUtilization))
- }
- l = m.CurrentAverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func sovGenerated(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGenerated(x uint64) (n int) {
- return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *ContainerResourceMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ContainerResourceMetricSource{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `TargetAverageUtilization:` + valueToStringGenerated(this.TargetAverageUtilization) + `,`,
- `TargetAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetAverageValue), "Quantity", "resource.Quantity", 1) + `,`,
- `Container:` + fmt.Sprintf("%v", this.Container) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ContainerResourceMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ContainerResourceMetricStatus{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `CurrentAverageUtilization:` + valueToStringGenerated(this.CurrentAverageUtilization) + `,`,
- `CurrentAverageValue:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CurrentAverageValue), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`,
- `Container:` + fmt.Sprintf("%v", this.Container) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *CrossVersionObjectReference) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&CrossVersionObjectReference{`,
- `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ExternalMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ExternalMetricSource{`,
- `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
- `MetricSelector:` + strings.Replace(fmt.Sprintf("%v", this.MetricSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `TargetValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetValue), "Quantity", "resource.Quantity", 1) + `,`,
- `TargetAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetAverageValue), "Quantity", "resource.Quantity", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ExternalMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ExternalMetricStatus{`,
- `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
- `MetricSelector:` + strings.Replace(fmt.Sprintf("%v", this.MetricSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `CurrentValue:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CurrentValue), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`,
- `CurrentAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.CurrentAverageValue), "Quantity", "resource.Quantity", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscaler) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HorizontalPodAutoscaler{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "HorizontalPodAutoscalerSpec", "HorizontalPodAutoscalerSpec", 1), `&`, ``, 1) + `,`,
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "HorizontalPodAutoscalerStatus", "HorizontalPodAutoscalerStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerCondition) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HorizontalPodAutoscalerCondition{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Status:` + fmt.Sprintf("%v", this.Status) + `,`,
- `LastTransitionTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
- `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
- `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerList) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForItems := "[]HorizontalPodAutoscaler{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "HorizontalPodAutoscaler", "HorizontalPodAutoscaler", 1), `&`, ``, 1) + ","
- }
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&HorizontalPodAutoscalerList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerSpec) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForMetrics := "[]MetricSpec{"
- for _, f := range this.Metrics {
- repeatedStringForMetrics += strings.Replace(strings.Replace(f.String(), "MetricSpec", "MetricSpec", 1), `&`, ``, 1) + ","
- }
- repeatedStringForMetrics += "}"
- s := strings.Join([]string{`&HorizontalPodAutoscalerSpec{`,
- `ScaleTargetRef:` + strings.Replace(strings.Replace(this.ScaleTargetRef.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
- `MinReplicas:` + valueToStringGenerated(this.MinReplicas) + `,`,
- `MaxReplicas:` + fmt.Sprintf("%v", this.MaxReplicas) + `,`,
- `Metrics:` + repeatedStringForMetrics + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerStatus) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForCurrentMetrics := "[]MetricStatus{"
- for _, f := range this.CurrentMetrics {
- repeatedStringForCurrentMetrics += strings.Replace(strings.Replace(f.String(), "MetricStatus", "MetricStatus", 1), `&`, ``, 1) + ","
- }
- repeatedStringForCurrentMetrics += "}"
- repeatedStringForConditions := "[]HorizontalPodAutoscalerCondition{"
- for _, f := range this.Conditions {
- repeatedStringForConditions += strings.Replace(strings.Replace(f.String(), "HorizontalPodAutoscalerCondition", "HorizontalPodAutoscalerCondition", 1), `&`, ``, 1) + ","
- }
- repeatedStringForConditions += "}"
- s := strings.Join([]string{`&HorizontalPodAutoscalerStatus{`,
- `ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
- `LastScaleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScaleTime), "Time", "v1.Time", 1) + `,`,
- `CurrentReplicas:` + fmt.Sprintf("%v", this.CurrentReplicas) + `,`,
- `DesiredReplicas:` + fmt.Sprintf("%v", this.DesiredReplicas) + `,`,
- `CurrentMetrics:` + repeatedStringForCurrentMetrics + `,`,
- `Conditions:` + repeatedStringForConditions + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MetricSpec) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&MetricSpec{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Object:` + strings.Replace(this.Object.String(), "ObjectMetricSource", "ObjectMetricSource", 1) + `,`,
- `Pods:` + strings.Replace(this.Pods.String(), "PodsMetricSource", "PodsMetricSource", 1) + `,`,
- `Resource:` + strings.Replace(this.Resource.String(), "ResourceMetricSource", "ResourceMetricSource", 1) + `,`,
- `External:` + strings.Replace(this.External.String(), "ExternalMetricSource", "ExternalMetricSource", 1) + `,`,
- `ContainerResource:` + strings.Replace(this.ContainerResource.String(), "ContainerResourceMetricSource", "ContainerResourceMetricSource", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&MetricStatus{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Object:` + strings.Replace(this.Object.String(), "ObjectMetricStatus", "ObjectMetricStatus", 1) + `,`,
- `Pods:` + strings.Replace(this.Pods.String(), "PodsMetricStatus", "PodsMetricStatus", 1) + `,`,
- `Resource:` + strings.Replace(this.Resource.String(), "ResourceMetricStatus", "ResourceMetricStatus", 1) + `,`,
- `External:` + strings.Replace(this.External.String(), "ExternalMetricStatus", "ExternalMetricStatus", 1) + `,`,
- `ContainerResource:` + strings.Replace(this.ContainerResource.String(), "ContainerResourceMetricStatus", "ContainerResourceMetricStatus", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ObjectMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ObjectMetricSource{`,
- `Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
- `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
- `TargetValue:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.TargetValue), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`,
- `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "resource.Quantity", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ObjectMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ObjectMetricStatus{`,
- `Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
- `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
- `CurrentValue:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CurrentValue), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`,
- `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "resource.Quantity", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *PodsMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&PodsMetricSource{`,
- `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
- `TargetAverageValue:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.TargetAverageValue), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`,
- `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *PodsMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&PodsMetricStatus{`,
- `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
- `CurrentAverageValue:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CurrentAverageValue), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`,
- `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ResourceMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ResourceMetricSource{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `TargetAverageUtilization:` + valueToStringGenerated(this.TargetAverageUtilization) + `,`,
- `TargetAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetAverageValue), "Quantity", "resource.Quantity", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ResourceMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ResourceMetricStatus{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `CurrentAverageUtilization:` + valueToStringGenerated(this.CurrentAverageUtilization) + `,`,
- `CurrentAverageValue:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CurrentAverageValue), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringGenerated(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *ContainerResourceMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ContainerResourceMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ContainerResourceMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageUtilization", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.TargetAverageUtilization = &v
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TargetAverageValue == nil {
- m.TargetAverageValue = &resource.Quantity{}
- }
- if err := m.TargetAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Container = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ContainerResourceMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ContainerResourceMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ContainerResourceMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageUtilization", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.CurrentAverageUtilization = &v
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.CurrentAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Container = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *CrossVersionObjectReference) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: CrossVersionObjectReference: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: CrossVersionObjectReference: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Kind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field APIVersion", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.APIVersion = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ExternalMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ExternalMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ExternalMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MetricName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MetricSelector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MetricSelector == nil {
- m.MetricSelector = &v1.LabelSelector{}
- }
- if err := m.MetricSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TargetValue == nil {
- m.TargetValue = &resource.Quantity{}
- }
- if err := m.TargetValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TargetAverageValue == nil {
- m.TargetAverageValue = &resource.Quantity{}
- }
- if err := m.TargetAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ExternalMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ExternalMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ExternalMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MetricName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MetricSelector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MetricSelector == nil {
- m.MetricSelector = &v1.LabelSelector{}
- }
- if err := m.MetricSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.CurrentValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.CurrentAverageValue == nil {
- m.CurrentAverageValue = &resource.Quantity{}
- }
- if err := m.CurrentAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscaler) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscaler: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscaler: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerCondition) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerCondition: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerCondition: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = HorizontalPodAutoscalerConditionType(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Reason = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Message = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerList) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerList: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerList: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Items = append(m.Items, HorizontalPodAutoscaler{})
- if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerSpec) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerSpec: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerSpec: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ScaleTargetRef", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ScaleTargetRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinReplicas", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.MinReplicas = &v
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxReplicas", wireType)
- }
- m.MaxReplicas = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxReplicas |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Metrics = append(m.Metrics, MetricSpec{})
- if err := m.Metrics[len(m.Metrics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
- }
- var v int64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.ObservedGeneration = &v
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastScaleTime", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LastScaleTime == nil {
- m.LastScaleTime = &v1.Time{}
- }
- if err := m.LastScaleTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentReplicas", wireType)
- }
- m.CurrentReplicas = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.CurrentReplicas |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field DesiredReplicas", wireType)
- }
- m.DesiredReplicas = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.DesiredReplicas |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentMetrics", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CurrentMetrics = append(m.CurrentMetrics, MetricStatus{})
- if err := m.CurrentMetrics[len(m.CurrentMetrics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Conditions = append(m.Conditions, HorizontalPodAutoscalerCondition{})
- if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *MetricSpec) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: MetricSpec: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: MetricSpec: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = MetricSourceType(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Object == nil {
- m.Object = &ObjectMetricSource{}
- }
- if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Pods == nil {
- m.Pods = &PodsMetricSource{}
- }
- if err := m.Pods.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Resource == nil {
- m.Resource = &ResourceMetricSource{}
- }
- if err := m.Resource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field External", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.External == nil {
- m.External = &ExternalMetricSource{}
- }
- if err := m.External.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ContainerResource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ContainerResource == nil {
- m.ContainerResource = &ContainerResourceMetricSource{}
- }
- if err := m.ContainerResource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *MetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: MetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: MetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = MetricSourceType(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Object == nil {
- m.Object = &ObjectMetricStatus{}
- }
- if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Pods == nil {
- m.Pods = &PodsMetricStatus{}
- }
- if err := m.Pods.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Resource == nil {
- m.Resource = &ResourceMetricStatus{}
- }
- if err := m.Resource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field External", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.External == nil {
- m.External = &ExternalMetricStatus{}
- }
- if err := m.External.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ContainerResource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ContainerResource == nil {
- m.ContainerResource = &ContainerResourceMetricStatus{}
- }
- if err := m.ContainerResource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ObjectMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ObjectMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ObjectMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MetricName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.TargetValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Selector == nil {
- m.Selector = &v1.LabelSelector{}
- }
- if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.AverageValue == nil {
- m.AverageValue = &resource.Quantity{}
- }
- if err := m.AverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ObjectMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ObjectMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ObjectMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MetricName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.CurrentValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Selector == nil {
- m.Selector = &v1.LabelSelector{}
- }
- if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.AverageValue == nil {
- m.AverageValue = &resource.Quantity{}
- }
- if err := m.AverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *PodsMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: PodsMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PodsMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MetricName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.TargetAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Selector == nil {
- m.Selector = &v1.LabelSelector{}
- }
- if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *PodsMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: PodsMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PodsMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MetricName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.CurrentAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Selector == nil {
- m.Selector = &v1.LabelSelector{}
- }
- if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ResourceMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ResourceMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ResourceMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageUtilization", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.TargetAverageUtilization = &v
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TargetAverageValue == nil {
- m.TargetAverageValue = &resource.Quantity{}
- }
- if err := m.TargetAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ResourceMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ResourceMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ResourceMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageUtilization", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.CurrentAverageUtilization = &v
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.CurrentAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipGenerated(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthGenerated
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupGenerated
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthGenerated
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupGenerated = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto b/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
deleted file mode 100644
index 4b71732ab..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-
-// This file was autogenerated by go-to-protobuf. Do not edit it manually!
-
-syntax = "proto2";
-
-package k8s.io.api.autoscaling.v2beta1;
-
-import "k8s.io/api/core/v1/generated.proto";
-import "k8s.io/apimachinery/pkg/api/resource/generated.proto";
-import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
-import "k8s.io/apimachinery/pkg/runtime/generated.proto";
-import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
-
-// Package-wide variables from generator "generated".
-option go_package = "k8s.io/api/autoscaling/v2beta1";
-
-// ContainerResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-message ContainerResourceMetricSource {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // targetAverageUtilization is the target value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // +optional
- optional int32 targetAverageUtilization = 2;
-
- // targetAverageValue is the target value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 3;
-
- // container is the name of the container in the pods of the scaling target
- optional string container = 4;
-}
-
-// ContainerResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing a single container in each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-message ContainerResourceMetricStatus {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // currentAverageUtilization is the current value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods. It will only be
- // present if `targetAverageValue` was set in the corresponding metric
- // specification.
- // +optional
- optional int32 currentAverageUtilization = 2;
-
- // currentAverageValue is the current value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // It will always be set, regardless of the corresponding metric specification.
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 3;
-
- // container is the name of the container in the pods of the scaling target
- optional string container = 4;
-}
-
-// CrossVersionObjectReference contains enough information to let you identify the referred resource.
-message CrossVersionObjectReference {
- // Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- optional string kind = 1;
-
- // Name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- optional string name = 2;
-
- // API version of the referent
- // +optional
- optional string apiVersion = 3;
-}
-
-// ExternalMetricSource indicates how to scale on a metric not associated with
-// any Kubernetes object (for example length of queue in cloud
-// messaging service, or QPS from loadbalancer running outside of cluster).
-// Exactly one "target" type should be set.
-message ExternalMetricSource {
- // metricName is the name of the metric in question.
- optional string metricName = 1;
-
- // metricSelector is used to identify a specific time series
- // within a given metric.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2;
-
- // targetValue is the target value of the metric (as a quantity).
- // Mutually exclusive with TargetAverageValue.
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3;
-
- // targetAverageValue is the target per-pod value of global metric (as a quantity).
- // Mutually exclusive with TargetValue.
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 4;
-}
-
-// ExternalMetricStatus indicates the current value of a global metric
-// not associated with any Kubernetes object.
-message ExternalMetricStatus {
- // metricName is the name of a metric used for autoscaling in
- // metric system.
- optional string metricName = 1;
-
- // metricSelector is used to identify a specific time series
- // within a given metric.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2;
-
- // currentValue is the current value of the metric (as a quantity)
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3;
-
- // currentAverageValue is the current value of metric averaged over autoscaled pods.
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 4;
-}
-
-// HorizontalPodAutoscaler is the configuration for a horizontal pod
-// autoscaler, which automatically manages the replica count of any resource
-// implementing the scale subresource based on the metrics specified.
-message HorizontalPodAutoscaler {
- // metadata is the standard object metadata.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
-
- // spec is the specification for the behaviour of the autoscaler.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
- // +optional
- optional HorizontalPodAutoscalerSpec spec = 2;
-
- // status is the current information about the autoscaler.
- // +optional
- optional HorizontalPodAutoscalerStatus status = 3;
-}
-
-// HorizontalPodAutoscalerCondition describes the state of
-// a HorizontalPodAutoscaler at a certain point.
-message HorizontalPodAutoscalerCondition {
- // type describes the current condition
- optional string type = 1;
-
- // status is the status of the condition (True, False, Unknown)
- optional string status = 2;
-
- // lastTransitionTime is the last time the condition transitioned from
- // one status to another
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
-
- // reason is the reason for the condition's last transition.
- // +optional
- optional string reason = 4;
-
- // message is a human-readable explanation containing details about
- // the transition
- // +optional
- optional string message = 5;
-}
-
-// HorizontalPodAutoscaler is a list of horizontal pod autoscaler objects.
-message HorizontalPodAutoscalerList {
- // metadata is the standard list metadata.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
-
- // items is the list of horizontal pod autoscaler objects.
- repeated HorizontalPodAutoscaler items = 2;
-}
-
-// HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.
-message HorizontalPodAutoscalerSpec {
- // scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics
- // should be collected, as well as to actually change the replica count.
- optional CrossVersionObjectReference scaleTargetRef = 1;
-
- // minReplicas is the lower limit for the number of replicas to which the autoscaler
- // can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the
- // alpha feature gate HPAScaleToZero is enabled and at least one Object or External
- // metric is configured. Scaling is active as long as at least one metric value is
- // available.
- // +optional
- optional int32 minReplicas = 2;
-
- // maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
- // It cannot be less that minReplicas.
- optional int32 maxReplicas = 3;
-
- // metrics contains the specifications for which to use to calculate the
- // desired replica count (the maximum replica count across all metrics will
- // be used). The desired replica count is calculated multiplying the
- // ratio between the target value and the current value by the current
- // number of pods. Ergo, metrics used must decrease as the pod count is
- // increased, and vice-versa. See the individual metric source types for
- // more information about how each type of metric must respond.
- // +optional
- // +listType=atomic
- repeated MetricSpec metrics = 4;
-}
-
-// HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.
-message HorizontalPodAutoscalerStatus {
- // observedGeneration is the most recent generation observed by this autoscaler.
- // +optional
- optional int64 observedGeneration = 1;
-
- // lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods,
- // used by the autoscaler to control how often the number of pods is changed.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2;
-
- // currentReplicas is current number of replicas of pods managed by this autoscaler,
- // as last seen by the autoscaler.
- optional int32 currentReplicas = 3;
-
- // desiredReplicas is the desired number of replicas of pods managed by this autoscaler,
- // as last calculated by the autoscaler.
- optional int32 desiredReplicas = 4;
-
- // currentMetrics is the last read state of the metrics used by this autoscaler.
- // +optional
- // +listType=atomic
- repeated MetricStatus currentMetrics = 5;
-
- // conditions is the set of conditions required for this autoscaler to scale its target,
- // and indicates whether or not those conditions are met.
- // +optional
- // +listType=atomic
- repeated HorizontalPodAutoscalerCondition conditions = 6;
-}
-
-// MetricSpec specifies how to scale based on a single metric
-// (only `type` and one other matching field should be set at once).
-message MetricSpec {
- // type is the type of metric source. It should be one of "ContainerResource",
- // "External", "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- optional string type = 1;
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- optional ObjectMetricSource object = 2;
-
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- optional PodsMetricSource pods = 3;
-
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- optional ResourceMetricSource resource = 4;
-
- // container resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing a single container in
- // each pod of the current scale target (e.g. CPU or memory). Such metrics are
- // built in to Kubernetes, and have special scaling options on top of those
- // available to normal per-pod metrics using the "pods" source.
- // +optional
- optional ContainerResourceMetricSource containerResource = 7;
-
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- optional ExternalMetricSource external = 5;
-}
-
-// MetricStatus describes the last-read state of a single metric.
-message MetricStatus {
- // type is the type of metric source. It will be one of "ContainerResource",
- // "External", "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- optional string type = 1;
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- optional ObjectMetricStatus object = 2;
-
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- optional PodsMetricStatus pods = 3;
-
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- optional ResourceMetricStatus resource = 4;
-
- // container resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing a single container in each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- optional ContainerResourceMetricStatus containerResource = 7;
-
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- optional ExternalMetricStatus external = 5;
-}
-
-// ObjectMetricSource indicates how to scale on a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-message ObjectMetricSource {
- // target is the described Kubernetes object.
- optional CrossVersionObjectReference target = 1;
-
- // metricName is the name of the metric in question.
- optional string metricName = 2;
-
- // targetValue is the target value of the metric (as a quantity).
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3;
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
-
- // averageValue is the target value of the average of the
- // metric across all relevant pods (as a quantity)
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 5;
-}
-
-// ObjectMetricStatus indicates the current value of a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-message ObjectMetricStatus {
- // target is the described Kubernetes object.
- optional CrossVersionObjectReference target = 1;
-
- // metricName is the name of the metric in question.
- optional string metricName = 2;
-
- // currentValue is the current value of the metric (as a quantity).
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3;
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
-
- // averageValue is the current value of the average of the
- // metric across all relevant pods (as a quantity)
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 5;
-}
-
-// PodsMetricSource indicates how to scale on a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-// The values will be averaged together before being compared to the target
-// value.
-message PodsMetricSource {
- // metricName is the name of the metric in question
- optional string metricName = 1;
-
- // targetAverageValue is the target value of the average of the
- // metric across all relevant pods (as a quantity)
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 2;
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
-}
-
-// PodsMetricStatus indicates the current value of a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-message PodsMetricStatus {
- // metricName is the name of the metric in question
- optional string metricName = 1;
-
- // currentAverageValue is the current value of the average of the
- // metric across all relevant pods (as a quantity)
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 2;
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
-}
-
-// ResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-message ResourceMetricSource {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // targetAverageUtilization is the target value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // +optional
- optional int32 targetAverageUtilization = 2;
-
- // targetAverageValue is the target value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 3;
-}
-
-// ResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-message ResourceMetricStatus {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // currentAverageUtilization is the current value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods. It will only be
- // present if `targetAverageValue` was set in the corresponding metric
- // specification.
- // +optional
- optional int32 currentAverageUtilization = 2;
-
- // currentAverageValue is the current value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // It will always be set, regardless of the corresponding metric specification.
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 3;
-}
-
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/autoscaling/v2beta1/generated.protomessage.pb.go
deleted file mode 100644
index ab1fe8c8b..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,58 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v2beta1
-
-func (*ContainerResourceMetricSource) ProtoMessage() {}
-
-func (*ContainerResourceMetricStatus) ProtoMessage() {}
-
-func (*CrossVersionObjectReference) ProtoMessage() {}
-
-func (*ExternalMetricSource) ProtoMessage() {}
-
-func (*ExternalMetricStatus) ProtoMessage() {}
-
-func (*HorizontalPodAutoscaler) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerCondition) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerList) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerSpec) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerStatus) ProtoMessage() {}
-
-func (*MetricSpec) ProtoMessage() {}
-
-func (*MetricStatus) ProtoMessage() {}
-
-func (*ObjectMetricSource) ProtoMessage() {}
-
-func (*ObjectMetricStatus) ProtoMessage() {}
-
-func (*PodsMetricSource) ProtoMessage() {}
-
-func (*PodsMetricStatus) ProtoMessage() {}
-
-func (*ResourceMetricSource) ProtoMessage() {}
-
-func (*ResourceMetricStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/types.go b/vendor/k8s.io/api/autoscaling/v2beta1/types.go
deleted file mode 100644
index c3abdd9bd..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta1/types.go
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
-Copyright 2016 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v2beta1
-
-import (
- v1 "k8s.io/api/core/v1"
- "k8s.io/apimachinery/pkg/api/resource"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-// CrossVersionObjectReference contains enough information to let you identify the referred resource.
-type CrossVersionObjectReference struct {
- // Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"`
- // Name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
- // API version of the referent
- // +optional
- APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,3,opt,name=apiVersion"`
-}
-
-// HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.
-type HorizontalPodAutoscalerSpec struct {
- // scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics
- // should be collected, as well as to actually change the replica count.
- ScaleTargetRef CrossVersionObjectReference `json:"scaleTargetRef" protobuf:"bytes,1,opt,name=scaleTargetRef"`
- // minReplicas is the lower limit for the number of replicas to which the autoscaler
- // can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the
- // alpha feature gate HPAScaleToZero is enabled and at least one Object or External
- // metric is configured. Scaling is active as long as at least one metric value is
- // available.
- // +optional
- MinReplicas *int32 `json:"minReplicas,omitempty" protobuf:"varint,2,opt,name=minReplicas"`
- // maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
- // It cannot be less that minReplicas.
- MaxReplicas int32 `json:"maxReplicas" protobuf:"varint,3,opt,name=maxReplicas"`
- // metrics contains the specifications for which to use to calculate the
- // desired replica count (the maximum replica count across all metrics will
- // be used). The desired replica count is calculated multiplying the
- // ratio between the target value and the current value by the current
- // number of pods. Ergo, metrics used must decrease as the pod count is
- // increased, and vice-versa. See the individual metric source types for
- // more information about how each type of metric must respond.
- // +optional
- // +listType=atomic
- Metrics []MetricSpec `json:"metrics,omitempty" protobuf:"bytes,4,rep,name=metrics"`
-}
-
-// MetricSourceType indicates the type of metric.
-type MetricSourceType string
-
-const (
- // ObjectMetricSourceType is a metric describing a kubernetes object
- // (for example, hits-per-second on an Ingress object).
- ObjectMetricSourceType MetricSourceType = "Object"
- // PodsMetricSourceType is a metric describing each pod in the current scale
- // target (for example, transactions-processed-per-second). The values
- // will be averaged together before being compared to the target value.
- PodsMetricSourceType MetricSourceType = "Pods"
- // ResourceMetricSourceType is a resource metric known to Kubernetes, as
- // specified in requests and limits, describing each pod in the current
- // scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics (the "pods" source).
- ResourceMetricSourceType MetricSourceType = "Resource"
- // ContainerResourceMetricSourceType is a resource metric known to Kubernetes, as
- // specified in requests and limits, describing a single container in each pod in the current
- // scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics (the "pods" source).
- ContainerResourceMetricSourceType MetricSourceType = "ContainerResource"
- // ExternalMetricSourceType is a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- ExternalMetricSourceType MetricSourceType = "External"
-)
-
-// MetricSpec specifies how to scale based on a single metric
-// (only `type` and one other matching field should be set at once).
-type MetricSpec struct {
- // type is the type of metric source. It should be one of "ContainerResource",
- // "External", "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- Object *ObjectMetricSource `json:"object,omitempty" protobuf:"bytes,2,opt,name=object"`
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- Pods *PodsMetricSource `json:"pods,omitempty" protobuf:"bytes,3,opt,name=pods"`
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- Resource *ResourceMetricSource `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"`
- // container resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing a single container in
- // each pod of the current scale target (e.g. CPU or memory). Such metrics are
- // built in to Kubernetes, and have special scaling options on top of those
- // available to normal per-pod metrics using the "pods" source.
- // +optional
- ContainerResource *ContainerResourceMetricSource `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"`
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- External *ExternalMetricSource `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"`
-}
-
-// ObjectMetricSource indicates how to scale on a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-type ObjectMetricSource struct {
- // target is the described Kubernetes object.
- Target CrossVersionObjectReference `json:"target" protobuf:"bytes,1,name=target"`
-
- // metricName is the name of the metric in question.
- MetricName string `json:"metricName" protobuf:"bytes,2,name=metricName"`
- // targetValue is the target value of the metric (as a quantity).
- TargetValue resource.Quantity `json:"targetValue" protobuf:"bytes,3,name=targetValue"`
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,name=selector"`
- // averageValue is the target value of the average of the
- // metric across all relevant pods (as a quantity)
- // +optional
- AverageValue *resource.Quantity `json:"averageValue,omitempty" protobuf:"bytes,5,name=averageValue"`
-}
-
-// PodsMetricSource indicates how to scale on a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-// The values will be averaged together before being compared to the target
-// value.
-type PodsMetricSource struct {
- // metricName is the name of the metric in question
- MetricName string `json:"metricName" protobuf:"bytes,1,name=metricName"`
- // targetAverageValue is the target value of the average of the
- // metric across all relevant pods (as a quantity)
- TargetAverageValue resource.Quantity `json:"targetAverageValue" protobuf:"bytes,2,name=targetAverageValue"`
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,3,name=selector"`
-}
-
-// ResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-type ResourceMetricSource struct {
- // name is the name of the resource in question.
- Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"`
- // targetAverageUtilization is the target value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // +optional
- TargetAverageUtilization *int32 `json:"targetAverageUtilization,omitempty" protobuf:"varint,2,opt,name=targetAverageUtilization"`
- // targetAverageValue is the target value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // +optional
- TargetAverageValue *resource.Quantity `json:"targetAverageValue,omitempty" protobuf:"bytes,3,opt,name=targetAverageValue"`
-}
-
-// ContainerResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-type ContainerResourceMetricSource struct {
- // name is the name of the resource in question.
- Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"`
- // targetAverageUtilization is the target value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // +optional
- TargetAverageUtilization *int32 `json:"targetAverageUtilization,omitempty" protobuf:"varint,2,opt,name=targetAverageUtilization"`
- // targetAverageValue is the target value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // +optional
- TargetAverageValue *resource.Quantity `json:"targetAverageValue,omitempty" protobuf:"bytes,3,opt,name=targetAverageValue"`
- // container is the name of the container in the pods of the scaling target
- Container string `json:"container" protobuf:"bytes,4,opt,name=container"`
-}
-
-// ExternalMetricSource indicates how to scale on a metric not associated with
-// any Kubernetes object (for example length of queue in cloud
-// messaging service, or QPS from loadbalancer running outside of cluster).
-// Exactly one "target" type should be set.
-type ExternalMetricSource struct {
- // metricName is the name of the metric in question.
- MetricName string `json:"metricName" protobuf:"bytes,1,name=metricName"`
- // metricSelector is used to identify a specific time series
- // within a given metric.
- // +optional
- MetricSelector *metav1.LabelSelector `json:"metricSelector,omitempty" protobuf:"bytes,2,opt,name=metricSelector"`
- // targetValue is the target value of the metric (as a quantity).
- // Mutually exclusive with TargetAverageValue.
- // +optional
- TargetValue *resource.Quantity `json:"targetValue,omitempty" protobuf:"bytes,3,opt,name=targetValue"`
- // targetAverageValue is the target per-pod value of global metric (as a quantity).
- // Mutually exclusive with TargetValue.
- // +optional
- TargetAverageValue *resource.Quantity `json:"targetAverageValue,omitempty" protobuf:"bytes,4,opt,name=targetAverageValue"`
-}
-
-// HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.
-type HorizontalPodAutoscalerStatus struct {
- // observedGeneration is the most recent generation observed by this autoscaler.
- // +optional
- ObservedGeneration *int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
-
- // lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods,
- // used by the autoscaler to control how often the number of pods is changed.
- // +optional
- LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty" protobuf:"bytes,2,opt,name=lastScaleTime"`
-
- // currentReplicas is current number of replicas of pods managed by this autoscaler,
- // as last seen by the autoscaler.
- CurrentReplicas int32 `json:"currentReplicas" protobuf:"varint,3,opt,name=currentReplicas"`
-
- // desiredReplicas is the desired number of replicas of pods managed by this autoscaler,
- // as last calculated by the autoscaler.
- DesiredReplicas int32 `json:"desiredReplicas" protobuf:"varint,4,opt,name=desiredReplicas"`
-
- // currentMetrics is the last read state of the metrics used by this autoscaler.
- // +optional
- // +listType=atomic
- CurrentMetrics []MetricStatus `json:"currentMetrics" protobuf:"bytes,5,rep,name=currentMetrics"`
-
- // conditions is the set of conditions required for this autoscaler to scale its target,
- // and indicates whether or not those conditions are met.
- // +optional
- // +listType=atomic
- Conditions []HorizontalPodAutoscalerCondition `json:"conditions" protobuf:"bytes,6,rep,name=conditions"`
-}
-
-// HorizontalPodAutoscalerConditionType are the valid conditions of
-// a HorizontalPodAutoscaler.
-type HorizontalPodAutoscalerConditionType string
-
-const (
- // ScalingActive indicates that the HPA controller is able to scale if necessary:
- // it's correctly configured, can fetch the desired metrics, and isn't disabled.
- ScalingActive HorizontalPodAutoscalerConditionType = "ScalingActive"
- // AbleToScale indicates a lack of transient issues which prevent scaling from occurring,
- // such as being in a backoff window, or being unable to access/update the target scale.
- AbleToScale HorizontalPodAutoscalerConditionType = "AbleToScale"
- // ScalingLimited indicates that the calculated scale based on metrics would be above or
- // below the range for the HPA, and has thus been capped.
- ScalingLimited HorizontalPodAutoscalerConditionType = "ScalingLimited"
-)
-
-// HorizontalPodAutoscalerCondition describes the state of
-// a HorizontalPodAutoscaler at a certain point.
-type HorizontalPodAutoscalerCondition struct {
- // type describes the current condition
- Type HorizontalPodAutoscalerConditionType `json:"type" protobuf:"bytes,1,name=type"`
- // status is the status of the condition (True, False, Unknown)
- Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,name=status"`
- // lastTransitionTime is the last time the condition transitioned from
- // one status to another
- // +optional
- LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
- // reason is the reason for the condition's last transition.
- // +optional
- Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
- // message is a human-readable explanation containing details about
- // the transition
- // +optional
- Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
-}
-
-// MetricStatus describes the last-read state of a single metric.
-type MetricStatus struct {
- // type is the type of metric source. It will be one of "ContainerResource",
- // "External", "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- Object *ObjectMetricStatus `json:"object,omitempty" protobuf:"bytes,2,opt,name=object"`
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- Pods *PodsMetricStatus `json:"pods,omitempty" protobuf:"bytes,3,opt,name=pods"`
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- Resource *ResourceMetricStatus `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"`
- // container resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing a single container in each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- ContainerResource *ContainerResourceMetricStatus `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"`
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- External *ExternalMetricStatus `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"`
-}
-
-// ObjectMetricStatus indicates the current value of a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-type ObjectMetricStatus struct {
- // target is the described Kubernetes object.
- Target CrossVersionObjectReference `json:"target" protobuf:"bytes,1,name=target"`
-
- // metricName is the name of the metric in question.
- MetricName string `json:"metricName" protobuf:"bytes,2,name=metricName"`
- // currentValue is the current value of the metric (as a quantity).
- CurrentValue resource.Quantity `json:"currentValue" protobuf:"bytes,3,name=currentValue"`
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,name=selector"`
- // averageValue is the current value of the average of the
- // metric across all relevant pods (as a quantity)
- // +optional
- AverageValue *resource.Quantity `json:"averageValue,omitempty" protobuf:"bytes,5,name=averageValue"`
-}
-
-// PodsMetricStatus indicates the current value of a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-type PodsMetricStatus struct {
- // metricName is the name of the metric in question
- MetricName string `json:"metricName" protobuf:"bytes,1,name=metricName"`
- // currentAverageValue is the current value of the average of the
- // metric across all relevant pods (as a quantity)
- CurrentAverageValue resource.Quantity `json:"currentAverageValue" protobuf:"bytes,2,name=currentAverageValue"`
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,3,name=selector"`
-}
-
-// ResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-type ResourceMetricStatus struct {
- // name is the name of the resource in question.
- Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"`
- // currentAverageUtilization is the current value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods. It will only be
- // present if `targetAverageValue` was set in the corresponding metric
- // specification.
- // +optional
- CurrentAverageUtilization *int32 `json:"currentAverageUtilization,omitempty" protobuf:"bytes,2,opt,name=currentAverageUtilization"`
- // currentAverageValue is the current value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // It will always be set, regardless of the corresponding metric specification.
- CurrentAverageValue resource.Quantity `json:"currentAverageValue" protobuf:"bytes,3,name=currentAverageValue"`
-}
-
-// ContainerResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing a single container in each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-type ContainerResourceMetricStatus struct {
- // name is the name of the resource in question.
- Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"`
- // currentAverageUtilization is the current value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods. It will only be
- // present if `targetAverageValue` was set in the corresponding metric
- // specification.
- // +optional
- CurrentAverageUtilization *int32 `json:"currentAverageUtilization,omitempty" protobuf:"bytes,2,opt,name=currentAverageUtilization"`
- // currentAverageValue is the current value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // It will always be set, regardless of the corresponding metric specification.
- CurrentAverageValue resource.Quantity `json:"currentAverageValue" protobuf:"bytes,3,name=currentAverageValue"`
- // container is the name of the container in the pods of the scaling target
- Container string `json:"container" protobuf:"bytes,4,opt,name=container"`
-}
-
-// ExternalMetricStatus indicates the current value of a global metric
-// not associated with any Kubernetes object.
-type ExternalMetricStatus struct {
- // metricName is the name of a metric used for autoscaling in
- // metric system.
- MetricName string `json:"metricName" protobuf:"bytes,1,name=metricName"`
- // metricSelector is used to identify a specific time series
- // within a given metric.
- // +optional
- MetricSelector *metav1.LabelSelector `json:"metricSelector,omitempty" protobuf:"bytes,2,opt,name=metricSelector"`
- // currentValue is the current value of the metric (as a quantity)
- CurrentValue resource.Quantity `json:"currentValue" protobuf:"bytes,3,name=currentValue"`
- // currentAverageValue is the current value of metric averaged over autoscaled pods.
- // +optional
- CurrentAverageValue *resource.Quantity `json:"currentAverageValue,omitempty" protobuf:"bytes,4,opt,name=currentAverageValue"`
-}
-
-// +genclient
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.8
-// +k8s:prerelease-lifecycle-gen:deprecated=1.22
-// +k8s:prerelease-lifecycle-gen:replacement=autoscaling,v2,HorizontalPodAutoscaler
-
-// HorizontalPodAutoscaler is the configuration for a horizontal pod
-// autoscaler, which automatically manages the replica count of any resource
-// implementing the scale subresource based on the metrics specified.
-type HorizontalPodAutoscaler struct {
- metav1.TypeMeta `json:",inline"`
- // metadata is the standard object metadata.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- // +optional
- metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
- // spec is the specification for the behaviour of the autoscaler.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
- // +optional
- Spec HorizontalPodAutoscalerSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
-
- // status is the current information about the autoscaler.
- // +optional
- Status HorizontalPodAutoscalerStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.8
-// +k8s:prerelease-lifecycle-gen:deprecated=1.22
-// +k8s:prerelease-lifecycle-gen:replacement=autoscaling,v2beta2,HorizontalPodAutoscalerList
-
-// HorizontalPodAutoscaler is a list of horizontal pod autoscaler objects.
-type HorizontalPodAutoscalerList struct {
- metav1.TypeMeta `json:",inline"`
- // metadata is the standard list metadata.
- // +optional
- metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
- // items is the list of horizontal pod autoscaler objects.
- Items []HorizontalPodAutoscaler `json:"items" protobuf:"bytes,2,rep,name=items"`
-}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go
deleted file mode 100644
index c7c72bf35..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v2beta1
-
-// This file contains a collection of methods that can be used from go-restful to
-// generate Swagger API documentation for its models. Please read this PR for more
-// information on the implementation: https://github.com/emicklei/go-restful/pull/215
-//
-// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
-// they are on one line! For multiple line or blocks that you want to ignore use ---.
-// Any context after a --- is ignored.
-//
-// Those methods can be generated by using hack/update-codegen.sh
-
-// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
-var map_ContainerResourceMetricSource = map[string]string{
- "": "ContainerResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. Only one \"target\" type should be set.",
- "name": "name is the name of the resource in question.",
- "targetAverageUtilization": "targetAverageUtilization is the target value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods.",
- "targetAverageValue": "targetAverageValue is the target value of the average of the resource metric across all relevant pods, as a raw value (instead of as a percentage of the request), similar to the \"pods\" metric source type.",
- "container": "container is the name of the container in the pods of the scaling target",
-}
-
-func (ContainerResourceMetricSource) SwaggerDoc() map[string]string {
- return map_ContainerResourceMetricSource
-}
-
-var map_ContainerResourceMetricStatus = map[string]string{
- "": "ContainerResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing a single container in each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "name": "name is the name of the resource in question.",
- "currentAverageUtilization": "currentAverageUtilization is the current value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods. It will only be present if `targetAverageValue` was set in the corresponding metric specification.",
- "currentAverageValue": "currentAverageValue is the current value of the average of the resource metric across all relevant pods, as a raw value (instead of as a percentage of the request), similar to the \"pods\" metric source type. It will always be set, regardless of the corresponding metric specification.",
- "container": "container is the name of the container in the pods of the scaling target",
-}
-
-func (ContainerResourceMetricStatus) SwaggerDoc() map[string]string {
- return map_ContainerResourceMetricStatus
-}
-
-var map_CrossVersionObjectReference = map[string]string{
- "": "CrossVersionObjectReference contains enough information to let you identify the referred resource.",
- "kind": "Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
- "name": "Name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
- "apiVersion": "API version of the referent",
-}
-
-func (CrossVersionObjectReference) SwaggerDoc() map[string]string {
- return map_CrossVersionObjectReference
-}
-
-var map_ExternalMetricSource = map[string]string{
- "": "ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster). Exactly one \"target\" type should be set.",
- "metricName": "metricName is the name of the metric in question.",
- "metricSelector": "metricSelector is used to identify a specific time series within a given metric.",
- "targetValue": "targetValue is the target value of the metric (as a quantity). Mutually exclusive with TargetAverageValue.",
- "targetAverageValue": "targetAverageValue is the target per-pod value of global metric (as a quantity). Mutually exclusive with TargetValue.",
-}
-
-func (ExternalMetricSource) SwaggerDoc() map[string]string {
- return map_ExternalMetricSource
-}
-
-var map_ExternalMetricStatus = map[string]string{
- "": "ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.",
- "metricName": "metricName is the name of a metric used for autoscaling in metric system.",
- "metricSelector": "metricSelector is used to identify a specific time series within a given metric.",
- "currentValue": "currentValue is the current value of the metric (as a quantity)",
- "currentAverageValue": "currentAverageValue is the current value of metric averaged over autoscaled pods.",
-}
-
-func (ExternalMetricStatus) SwaggerDoc() map[string]string {
- return map_ExternalMetricStatus
-}
-
-var map_HorizontalPodAutoscaler = map[string]string{
- "": "HorizontalPodAutoscaler is the configuration for a horizontal pod autoscaler, which automatically manages the replica count of any resource implementing the scale subresource based on the metrics specified.",
- "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.",
- "status": "status is the current information about the autoscaler.",
-}
-
-func (HorizontalPodAutoscaler) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscaler
-}
-
-var map_HorizontalPodAutoscalerCondition = map[string]string{
- "": "HorizontalPodAutoscalerCondition describes the state of a HorizontalPodAutoscaler at a certain point.",
- "type": "type describes the current condition",
- "status": "status is the status of the condition (True, False, Unknown)",
- "lastTransitionTime": "lastTransitionTime is the last time the condition transitioned from one status to another",
- "reason": "reason is the reason for the condition's last transition.",
- "message": "message is a human-readable explanation containing details about the transition",
-}
-
-func (HorizontalPodAutoscalerCondition) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerCondition
-}
-
-var map_HorizontalPodAutoscalerList = map[string]string{
- "": "HorizontalPodAutoscaler is a list of horizontal pod autoscaler objects.",
- "metadata": "metadata is the standard list metadata.",
- "items": "items is the list of horizontal pod autoscaler objects.",
-}
-
-func (HorizontalPodAutoscalerList) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerList
-}
-
-var map_HorizontalPodAutoscalerSpec = map[string]string{
- "": "HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.",
- "scaleTargetRef": "scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count.",
- "minReplicas": "minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled and at least one Object or External metric is configured. Scaling is active as long as at least one metric value is available.",
- "maxReplicas": "maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.",
- "metrics": "metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond.",
-}
-
-func (HorizontalPodAutoscalerSpec) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerSpec
-}
-
-var map_HorizontalPodAutoscalerStatus = map[string]string{
- "": "HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.",
- "observedGeneration": "observedGeneration is the most recent generation observed by this autoscaler.",
- "lastScaleTime": "lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.",
- "currentReplicas": "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.",
- "desiredReplicas": "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.",
- "currentMetrics": "currentMetrics is the last read state of the metrics used by this autoscaler.",
- "conditions": "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.",
-}
-
-func (HorizontalPodAutoscalerStatus) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerStatus
-}
-
-var map_MetricSpec = map[string]string{
- "": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
- "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object.",
- "object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
- "pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
- "resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "container resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
-}
-
-func (MetricSpec) SwaggerDoc() map[string]string {
- return map_MetricSpec
-}
-
-var map_MetricStatus = map[string]string{
- "": "MetricStatus describes the last-read state of a single metric.",
- "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object.",
- "object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
- "pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
- "resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "container resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
-}
-
-func (MetricStatus) SwaggerDoc() map[string]string {
- return map_MetricStatus
-}
-
-var map_ObjectMetricSource = map[string]string{
- "": "ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).",
- "target": "target is the described Kubernetes object.",
- "metricName": "metricName is the name of the metric in question.",
- "targetValue": "targetValue is the target value of the metric (as a quantity).",
- "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics.",
- "averageValue": "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)",
-}
-
-func (ObjectMetricSource) SwaggerDoc() map[string]string {
- return map_ObjectMetricSource
-}
-
-var map_ObjectMetricStatus = map[string]string{
- "": "ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).",
- "target": "target is the described Kubernetes object.",
- "metricName": "metricName is the name of the metric in question.",
- "currentValue": "currentValue is the current value of the metric (as a quantity).",
- "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.",
- "averageValue": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
-}
-
-func (ObjectMetricStatus) SwaggerDoc() map[string]string {
- return map_ObjectMetricStatus
-}
-
-var map_PodsMetricSource = map[string]string{
- "": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
- "metricName": "metricName is the name of the metric in question",
- "targetAverageValue": "targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)",
- "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics.",
-}
-
-func (PodsMetricSource) SwaggerDoc() map[string]string {
- return map_PodsMetricSource
-}
-
-var map_PodsMetricStatus = map[string]string{
- "": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).",
- "metricName": "metricName is the name of the metric in question",
- "currentAverageValue": "currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
- "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.",
-}
-
-func (PodsMetricStatus) SwaggerDoc() map[string]string {
- return map_PodsMetricStatus
-}
-
-var map_ResourceMetricSource = map[string]string{
- "": "ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. Only one \"target\" type should be set.",
- "name": "name is the name of the resource in question.",
- "targetAverageUtilization": "targetAverageUtilization is the target value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods.",
- "targetAverageValue": "targetAverageValue is the target value of the average of the resource metric across all relevant pods, as a raw value (instead of as a percentage of the request), similar to the \"pods\" metric source type.",
-}
-
-func (ResourceMetricSource) SwaggerDoc() map[string]string {
- return map_ResourceMetricSource
-}
-
-var map_ResourceMetricStatus = map[string]string{
- "": "ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "name": "name is the name of the resource in question.",
- "currentAverageUtilization": "currentAverageUtilization is the current value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods. It will only be present if `targetAverageValue` was set in the corresponding metric specification.",
- "currentAverageValue": "currentAverageValue is the current value of the average of the resource metric across all relevant pods, as a raw value (instead of as a percentage of the request), similar to the \"pods\" metric source type. It will always be set, regardless of the corresponding metric specification.",
-}
-
-func (ResourceMetricStatus) SwaggerDoc() map[string]string {
- return map_ResourceMetricStatus
-}
-
-// AUTO-GENERATED FUNCTIONS END HERE
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go b/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go
deleted file mode 100644
index 610e81f81..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go
+++ /dev/null
@@ -1,525 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by deepcopy-gen. DO NOT EDIT.
-
-package v2beta1
-
-import (
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
-)
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ContainerResourceMetricSource) DeepCopyInto(out *ContainerResourceMetricSource) {
- *out = *in
- if in.TargetAverageUtilization != nil {
- in, out := &in.TargetAverageUtilization, &out.TargetAverageUtilization
- *out = new(int32)
- **out = **in
- }
- if in.TargetAverageValue != nil {
- in, out := &in.TargetAverageValue, &out.TargetAverageValue
- x := (*in).DeepCopy()
- *out = &x
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourceMetricSource.
-func (in *ContainerResourceMetricSource) DeepCopy() *ContainerResourceMetricSource {
- if in == nil {
- return nil
- }
- out := new(ContainerResourceMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ContainerResourceMetricStatus) DeepCopyInto(out *ContainerResourceMetricStatus) {
- *out = *in
- if in.CurrentAverageUtilization != nil {
- in, out := &in.CurrentAverageUtilization, &out.CurrentAverageUtilization
- *out = new(int32)
- **out = **in
- }
- out.CurrentAverageValue = in.CurrentAverageValue.DeepCopy()
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourceMetricStatus.
-func (in *ContainerResourceMetricStatus) DeepCopy() *ContainerResourceMetricStatus {
- if in == nil {
- return nil
- }
- out := new(ContainerResourceMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *CrossVersionObjectReference) DeepCopyInto(out *CrossVersionObjectReference) {
- *out = *in
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossVersionObjectReference.
-func (in *CrossVersionObjectReference) DeepCopy() *CrossVersionObjectReference {
- if in == nil {
- return nil
- }
- out := new(CrossVersionObjectReference)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource) {
- *out = *in
- if in.MetricSelector != nil {
- in, out := &in.MetricSelector, &out.MetricSelector
- *out = new(v1.LabelSelector)
- (*in).DeepCopyInto(*out)
- }
- if in.TargetValue != nil {
- in, out := &in.TargetValue, &out.TargetValue
- x := (*in).DeepCopy()
- *out = &x
- }
- if in.TargetAverageValue != nil {
- in, out := &in.TargetAverageValue, &out.TargetAverageValue
- x := (*in).DeepCopy()
- *out = &x
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricSource.
-func (in *ExternalMetricSource) DeepCopy() *ExternalMetricSource {
- if in == nil {
- return nil
- }
- out := new(ExternalMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ExternalMetricStatus) DeepCopyInto(out *ExternalMetricStatus) {
- *out = *in
- if in.MetricSelector != nil {
- in, out := &in.MetricSelector, &out.MetricSelector
- *out = new(v1.LabelSelector)
- (*in).DeepCopyInto(*out)
- }
- out.CurrentValue = in.CurrentValue.DeepCopy()
- if in.CurrentAverageValue != nil {
- in, out := &in.CurrentAverageValue, &out.CurrentAverageValue
- x := (*in).DeepCopy()
- *out = &x
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricStatus.
-func (in *ExternalMetricStatus) DeepCopy() *ExternalMetricStatus {
- if in == nil {
- return nil
- }
- out := new(ExternalMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscaler) DeepCopyInto(out *HorizontalPodAutoscaler) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
- in.Spec.DeepCopyInto(&out.Spec)
- in.Status.DeepCopyInto(&out.Status)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscaler.
-func (in *HorizontalPodAutoscaler) DeepCopy() *HorizontalPodAutoscaler {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscaler)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *HorizontalPodAutoscaler) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerCondition) DeepCopyInto(out *HorizontalPodAutoscalerCondition) {
- *out = *in
- in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerCondition.
-func (in *HorizontalPodAutoscalerCondition) DeepCopy() *HorizontalPodAutoscalerCondition {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerCondition)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerList) DeepCopyInto(out *HorizontalPodAutoscalerList) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ListMeta.DeepCopyInto(&out.ListMeta)
- if in.Items != nil {
- in, out := &in.Items, &out.Items
- *out = make([]HorizontalPodAutoscaler, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerList.
-func (in *HorizontalPodAutoscalerList) DeepCopy() *HorizontalPodAutoscalerList {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerList)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *HorizontalPodAutoscalerList) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerSpec) DeepCopyInto(out *HorizontalPodAutoscalerSpec) {
- *out = *in
- out.ScaleTargetRef = in.ScaleTargetRef
- if in.MinReplicas != nil {
- in, out := &in.MinReplicas, &out.MinReplicas
- *out = new(int32)
- **out = **in
- }
- if in.Metrics != nil {
- in, out := &in.Metrics, &out.Metrics
- *out = make([]MetricSpec, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerSpec.
-func (in *HorizontalPodAutoscalerSpec) DeepCopy() *HorizontalPodAutoscalerSpec {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerSpec)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerStatus) DeepCopyInto(out *HorizontalPodAutoscalerStatus) {
- *out = *in
- if in.ObservedGeneration != nil {
- in, out := &in.ObservedGeneration, &out.ObservedGeneration
- *out = new(int64)
- **out = **in
- }
- if in.LastScaleTime != nil {
- in, out := &in.LastScaleTime, &out.LastScaleTime
- *out = (*in).DeepCopy()
- }
- if in.CurrentMetrics != nil {
- in, out := &in.CurrentMetrics, &out.CurrentMetrics
- *out = make([]MetricStatus, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- if in.Conditions != nil {
- in, out := &in.Conditions, &out.Conditions
- *out = make([]HorizontalPodAutoscalerCondition, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerStatus.
-func (in *HorizontalPodAutoscalerStatus) DeepCopy() *HorizontalPodAutoscalerStatus {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *MetricSpec) DeepCopyInto(out *MetricSpec) {
- *out = *in
- if in.Object != nil {
- in, out := &in.Object, &out.Object
- *out = new(ObjectMetricSource)
- (*in).DeepCopyInto(*out)
- }
- if in.Pods != nil {
- in, out := &in.Pods, &out.Pods
- *out = new(PodsMetricSource)
- (*in).DeepCopyInto(*out)
- }
- if in.Resource != nil {
- in, out := &in.Resource, &out.Resource
- *out = new(ResourceMetricSource)
- (*in).DeepCopyInto(*out)
- }
- if in.ContainerResource != nil {
- in, out := &in.ContainerResource, &out.ContainerResource
- *out = new(ContainerResourceMetricSource)
- (*in).DeepCopyInto(*out)
- }
- if in.External != nil {
- in, out := &in.External, &out.External
- *out = new(ExternalMetricSource)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSpec.
-func (in *MetricSpec) DeepCopy() *MetricSpec {
- if in == nil {
- return nil
- }
- out := new(MetricSpec)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *MetricStatus) DeepCopyInto(out *MetricStatus) {
- *out = *in
- if in.Object != nil {
- in, out := &in.Object, &out.Object
- *out = new(ObjectMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- if in.Pods != nil {
- in, out := &in.Pods, &out.Pods
- *out = new(PodsMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- if in.Resource != nil {
- in, out := &in.Resource, &out.Resource
- *out = new(ResourceMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- if in.ContainerResource != nil {
- in, out := &in.ContainerResource, &out.ContainerResource
- *out = new(ContainerResourceMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- if in.External != nil {
- in, out := &in.External, &out.External
- *out = new(ExternalMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricStatus.
-func (in *MetricStatus) DeepCopy() *MetricStatus {
- if in == nil {
- return nil
- }
- out := new(MetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ObjectMetricSource) DeepCopyInto(out *ObjectMetricSource) {
- *out = *in
- out.Target = in.Target
- out.TargetValue = in.TargetValue.DeepCopy()
- if in.Selector != nil {
- in, out := &in.Selector, &out.Selector
- *out = new(v1.LabelSelector)
- (*in).DeepCopyInto(*out)
- }
- if in.AverageValue != nil {
- in, out := &in.AverageValue, &out.AverageValue
- x := (*in).DeepCopy()
- *out = &x
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMetricSource.
-func (in *ObjectMetricSource) DeepCopy() *ObjectMetricSource {
- if in == nil {
- return nil
- }
- out := new(ObjectMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ObjectMetricStatus) DeepCopyInto(out *ObjectMetricStatus) {
- *out = *in
- out.Target = in.Target
- out.CurrentValue = in.CurrentValue.DeepCopy()
- if in.Selector != nil {
- in, out := &in.Selector, &out.Selector
- *out = new(v1.LabelSelector)
- (*in).DeepCopyInto(*out)
- }
- if in.AverageValue != nil {
- in, out := &in.AverageValue, &out.AverageValue
- x := (*in).DeepCopy()
- *out = &x
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMetricStatus.
-func (in *ObjectMetricStatus) DeepCopy() *ObjectMetricStatus {
- if in == nil {
- return nil
- }
- out := new(ObjectMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) {
- *out = *in
- out.TargetAverageValue = in.TargetAverageValue.DeepCopy()
- if in.Selector != nil {
- in, out := &in.Selector, &out.Selector
- *out = new(v1.LabelSelector)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodsMetricSource.
-func (in *PodsMetricSource) DeepCopy() *PodsMetricSource {
- if in == nil {
- return nil
- }
- out := new(PodsMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) {
- *out = *in
- out.CurrentAverageValue = in.CurrentAverageValue.DeepCopy()
- if in.Selector != nil {
- in, out := &in.Selector, &out.Selector
- *out = new(v1.LabelSelector)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodsMetricStatus.
-func (in *PodsMetricStatus) DeepCopy() *PodsMetricStatus {
- if in == nil {
- return nil
- }
- out := new(PodsMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ResourceMetricSource) DeepCopyInto(out *ResourceMetricSource) {
- *out = *in
- if in.TargetAverageUtilization != nil {
- in, out := &in.TargetAverageUtilization, &out.TargetAverageUtilization
- *out = new(int32)
- **out = **in
- }
- if in.TargetAverageValue != nil {
- in, out := &in.TargetAverageValue, &out.TargetAverageValue
- x := (*in).DeepCopy()
- *out = &x
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetricSource.
-func (in *ResourceMetricSource) DeepCopy() *ResourceMetricSource {
- if in == nil {
- return nil
- }
- out := new(ResourceMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ResourceMetricStatus) DeepCopyInto(out *ResourceMetricStatus) {
- *out = *in
- if in.CurrentAverageUtilization != nil {
- in, out := &in.CurrentAverageUtilization, &out.CurrentAverageUtilization
- *out = new(int32)
- **out = **in
- }
- out.CurrentAverageValue = in.CurrentAverageValue.DeepCopy()
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetricStatus.
-func (in *ResourceMetricStatus) DeepCopy() *ResourceMetricStatus {
- if in == nil {
- return nil
- }
- out := new(ResourceMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.model_name.go b/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.model_name.go
deleted file mode 100644
index 2b8674e65..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.model_name.go
+++ /dev/null
@@ -1,112 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by openapi-gen. DO NOT EDIT.
-
-package v2beta1
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ContainerResourceMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.ContainerResourceMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ContainerResourceMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.ContainerResourceMetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in CrossVersionObjectReference) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.CrossVersionObjectReference"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ExternalMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.ExternalMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ExternalMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.ExternalMetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscaler) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscaler"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerCondition) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerCondition"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerList) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerList"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerSpec) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in MetricSpec) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.MetricSpec"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in MetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.MetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ObjectMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.ObjectMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ObjectMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.ObjectMetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in PodsMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.PodsMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in PodsMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.PodsMetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ResourceMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.ResourceMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ResourceMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta1.ResourceMetricStatus"
-}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go
deleted file mode 100644
index 3437454ee..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go
+++ /dev/null
@@ -1,74 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by prerelease-lifecycle-gen. DO NOT EDIT.
-
-package v2beta1
-
-import (
- schema "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
-func (in *HorizontalPodAutoscaler) APILifecycleIntroduced() (major, minor int) {
- return 1, 8
-}
-
-// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
-func (in *HorizontalPodAutoscaler) APILifecycleDeprecated() (major, minor int) {
- return 1, 22
-}
-
-// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
-// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
-func (in *HorizontalPodAutoscaler) APILifecycleReplacement() schema.GroupVersionKind {
- return schema.GroupVersionKind{Group: "autoscaling", Version: "v2", Kind: "HorizontalPodAutoscaler"}
-}
-
-// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
-func (in *HorizontalPodAutoscaler) APILifecycleRemoved() (major, minor int) {
- return 1, 25
-}
-
-// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
-func (in *HorizontalPodAutoscalerList) APILifecycleIntroduced() (major, minor int) {
- return 1, 8
-}
-
-// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
-func (in *HorizontalPodAutoscalerList) APILifecycleDeprecated() (major, minor int) {
- return 1, 22
-}
-
-// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
-// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
-func (in *HorizontalPodAutoscalerList) APILifecycleReplacement() schema.GroupVersionKind {
- return schema.GroupVersionKind{Group: "autoscaling", Version: "v2beta2", Kind: "HorizontalPodAutoscalerList"}
-}
-
-// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
-func (in *HorizontalPodAutoscalerList) APILifecycleRemoved() (major, minor int) {
- return 1, 25
-}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/generated.pb.go b/vendor/k8s.io/api/autoscaling/v2beta2/generated.pb.go
deleted file mode 100644
index 87c873867..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta2/generated.pb.go
+++ /dev/null
@@ -1,5817 +0,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: k8s.io/api/autoscaling/v2beta2/generated.proto
-
-package v2beta2
-
-import (
- fmt "fmt"
-
- io "io"
-
- k8s_io_api_core_v1 "k8s.io/api/core/v1"
- resource "k8s.io/apimachinery/pkg/api/resource"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-func (m *ContainerResourceMetricSource) Reset() { *m = ContainerResourceMetricSource{} }
-
-func (m *ContainerResourceMetricStatus) Reset() { *m = ContainerResourceMetricStatus{} }
-
-func (m *CrossVersionObjectReference) Reset() { *m = CrossVersionObjectReference{} }
-
-func (m *ExternalMetricSource) Reset() { *m = ExternalMetricSource{} }
-
-func (m *ExternalMetricStatus) Reset() { *m = ExternalMetricStatus{} }
-
-func (m *HPAScalingPolicy) Reset() { *m = HPAScalingPolicy{} }
-
-func (m *HPAScalingRules) Reset() { *m = HPAScalingRules{} }
-
-func (m *HorizontalPodAutoscaler) Reset() { *m = HorizontalPodAutoscaler{} }
-
-func (m *HorizontalPodAutoscalerBehavior) Reset() { *m = HorizontalPodAutoscalerBehavior{} }
-
-func (m *HorizontalPodAutoscalerCondition) Reset() { *m = HorizontalPodAutoscalerCondition{} }
-
-func (m *HorizontalPodAutoscalerList) Reset() { *m = HorizontalPodAutoscalerList{} }
-
-func (m *HorizontalPodAutoscalerSpec) Reset() { *m = HorizontalPodAutoscalerSpec{} }
-
-func (m *HorizontalPodAutoscalerStatus) Reset() { *m = HorizontalPodAutoscalerStatus{} }
-
-func (m *MetricIdentifier) Reset() { *m = MetricIdentifier{} }
-
-func (m *MetricSpec) Reset() { *m = MetricSpec{} }
-
-func (m *MetricStatus) Reset() { *m = MetricStatus{} }
-
-func (m *MetricTarget) Reset() { *m = MetricTarget{} }
-
-func (m *MetricValueStatus) Reset() { *m = MetricValueStatus{} }
-
-func (m *ObjectMetricSource) Reset() { *m = ObjectMetricSource{} }
-
-func (m *ObjectMetricStatus) Reset() { *m = ObjectMetricStatus{} }
-
-func (m *PodsMetricSource) Reset() { *m = PodsMetricSource{} }
-
-func (m *PodsMetricStatus) Reset() { *m = PodsMetricStatus{} }
-
-func (m *ResourceMetricSource) Reset() { *m = ResourceMetricSource{} }
-
-func (m *ResourceMetricStatus) Reset() { *m = ResourceMetricStatus{} }
-
-func (m *ContainerResourceMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ContainerResourceMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ContainerResourceMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.Container)
- copy(dAtA[i:], m.Container)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Container)))
- i--
- dAtA[i] = 0x1a
- {
- size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ContainerResourceMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ContainerResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ContainerResourceMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.Container)
- copy(dAtA[i:], m.Container)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Container)))
- i--
- dAtA[i] = 0x1a
- {
- size, err := m.Current.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *CrossVersionObjectReference) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *CrossVersionObjectReference) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *CrossVersionObjectReference) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.APIVersion)
- copy(dAtA[i:], m.APIVersion)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersion)))
- i--
- dAtA[i] = 0x1a
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Kind)
- copy(dAtA[i:], m.Kind)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ExternalMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ExternalMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ExternalMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.Metric.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ExternalMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ExternalMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ExternalMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Current.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.Metric.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HPAScalingPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HPAScalingPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HPAScalingPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i = encodeVarintGenerated(dAtA, i, uint64(m.PeriodSeconds))
- i--
- dAtA[i] = 0x18
- i = encodeVarintGenerated(dAtA, i, uint64(m.Value))
- i--
- dAtA[i] = 0x10
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HPAScalingRules) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HPAScalingRules) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HPAScalingRules) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.StabilizationWindowSeconds != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.StabilizationWindowSeconds))
- i--
- dAtA[i] = 0x18
- }
- if len(m.Policies) > 0 {
- for iNdEx := len(m.Policies) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Policies[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if m.SelectPolicy != nil {
- i -= len(*m.SelectPolicy)
- copy(dAtA[i:], *m.SelectPolicy)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.SelectPolicy)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscaler) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscaler) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscaler) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- {
- size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerBehavior) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerBehavior) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerBehavior) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.ScaleDown != nil {
- {
- size, err := m.ScaleDown.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.ScaleUp != nil {
- {
- size, err := m.ScaleUp.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerCondition) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerCondition) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerCondition) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.Message)
- copy(dAtA[i:], m.Message)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
- i--
- dAtA[i] = 0x2a
- i -= len(m.Reason)
- copy(dAtA[i:], m.Reason)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason)))
- i--
- dAtA[i] = 0x22
- {
- size, err := m.LastTransitionTime.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- i -= len(m.Status)
- copy(dAtA[i:], m.Status)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerList) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerList) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Items) > 0 {
- for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- {
- size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerSpec) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerSpec) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.Behavior != nil {
- {
- size, err := m.Behavior.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if len(m.Metrics) > 0 {
- for iNdEx := len(m.Metrics) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Metrics[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- }
- i = encodeVarintGenerated(dAtA, i, uint64(m.MaxReplicas))
- i--
- dAtA[i] = 0x18
- if m.MinReplicas != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.MinReplicas))
- i--
- dAtA[i] = 0x10
- }
- {
- size, err := m.ScaleTargetRef.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *HorizontalPodAutoscalerStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HorizontalPodAutoscalerStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HorizontalPodAutoscalerStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Conditions) > 0 {
- for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.CurrentMetrics) > 0 {
- for iNdEx := len(m.CurrentMetrics) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.CurrentMetrics[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- }
- i = encodeVarintGenerated(dAtA, i, uint64(m.DesiredReplicas))
- i--
- dAtA[i] = 0x20
- i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentReplicas))
- i--
- dAtA[i] = 0x18
- if m.LastScaleTime != nil {
- {
- size, err := m.LastScaleTime.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.ObservedGeneration != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.ObservedGeneration))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *MetricIdentifier) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *MetricIdentifier) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MetricIdentifier) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.Selector != nil {
- {
- size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *MetricSpec) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *MetricSpec) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MetricSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.ContainerResource != nil {
- {
- size, err := m.ContainerResource.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.External != nil {
- {
- size, err := m.External.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.Resource != nil {
- {
- size, err := m.Resource.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.Pods != nil {
- {
- size, err := m.Pods.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Object != nil {
- {
- size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *MetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *MetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.ContainerResource != nil {
- {
- size, err := m.ContainerResource.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.External != nil {
- {
- size, err := m.External.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.Resource != nil {
- {
- size, err := m.Resource.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.Pods != nil {
- {
- size, err := m.Pods.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Object != nil {
- {
- size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *MetricTarget) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *MetricTarget) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MetricTarget) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.AverageUtilization != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.AverageUtilization))
- i--
- dAtA[i] = 0x20
- }
- if m.AverageValue != nil {
- {
- size, err := m.AverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Value != nil {
- {
- size, err := m.Value.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *MetricValueStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *MetricValueStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MetricValueStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.AverageUtilization != nil {
- i = encodeVarintGenerated(dAtA, i, uint64(*m.AverageUtilization))
- i--
- dAtA[i] = 0x18
- }
- if m.AverageValue != nil {
- {
- size, err := m.AverageValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Value != nil {
- {
- size, err := m.Value.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *ObjectMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ObjectMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Metric.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- {
- size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.DescribedObject.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ObjectMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ObjectMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.DescribedObject.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- {
- size, err := m.Current.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.Metric.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *PodsMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PodsMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PodsMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.Metric.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *PodsMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PodsMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PodsMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Current.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.Metric.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ResourceMetricSource) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ResourceMetricSource) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ResourceMetricSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ResourceMetricStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ResourceMetricStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Current.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
- offset -= sovGenerated(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *ContainerResourceMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Target.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Container)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ContainerResourceMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Current.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Container)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *CrossVersionObjectReference) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Kind)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.APIVersion)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ExternalMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.Metric.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Target.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ExternalMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.Metric.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Current.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *HPAScalingPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- n += 1 + sovGenerated(uint64(m.Value))
- n += 1 + sovGenerated(uint64(m.PeriodSeconds))
- return n
-}
-
-func (m *HPAScalingRules) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.SelectPolicy != nil {
- l = len(*m.SelectPolicy)
- n += 1 + l + sovGenerated(uint64(l))
- }
- if len(m.Policies) > 0 {
- for _, e := range m.Policies {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if m.StabilizationWindowSeconds != nil {
- n += 1 + sovGenerated(uint64(*m.StabilizationWindowSeconds))
- }
- return n
-}
-
-func (m *HorizontalPodAutoscaler) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Spec.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Status.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *HorizontalPodAutoscalerBehavior) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ScaleUp != nil {
- l = m.ScaleUp.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ScaleDown != nil {
- l = m.ScaleDown.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *HorizontalPodAutoscalerCondition) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Status)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.LastTransitionTime.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Reason)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Message)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *HorizontalPodAutoscalerList) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ListMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Items) > 0 {
- for _, e := range m.Items {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *HorizontalPodAutoscalerSpec) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ScaleTargetRef.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if m.MinReplicas != nil {
- n += 1 + sovGenerated(uint64(*m.MinReplicas))
- }
- n += 1 + sovGenerated(uint64(m.MaxReplicas))
- if len(m.Metrics) > 0 {
- for _, e := range m.Metrics {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if m.Behavior != nil {
- l = m.Behavior.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *HorizontalPodAutoscalerStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ObservedGeneration != nil {
- n += 1 + sovGenerated(uint64(*m.ObservedGeneration))
- }
- if m.LastScaleTime != nil {
- l = m.LastScaleTime.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- n += 1 + sovGenerated(uint64(m.CurrentReplicas))
- n += 1 + sovGenerated(uint64(m.DesiredReplicas))
- if len(m.CurrentMetrics) > 0 {
- for _, e := range m.CurrentMetrics {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- if len(m.Conditions) > 0 {
- for _, e := range m.Conditions {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *MetricIdentifier) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Selector != nil {
- l = m.Selector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *MetricSpec) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Object != nil {
- l = m.Object.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Pods != nil {
- l = m.Pods.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Resource != nil {
- l = m.Resource.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.External != nil {
- l = m.External.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ContainerResource != nil {
- l = m.ContainerResource.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *MetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Object != nil {
- l = m.Object.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Pods != nil {
- l = m.Pods.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.Resource != nil {
- l = m.Resource.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.External != nil {
- l = m.External.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ContainerResource != nil {
- l = m.ContainerResource.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *MetricTarget) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Value != nil {
- l = m.Value.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.AverageValue != nil {
- l = m.AverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.AverageUtilization != nil {
- n += 1 + sovGenerated(uint64(*m.AverageUtilization))
- }
- return n
-}
-
-func (m *MetricValueStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != nil {
- l = m.Value.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.AverageValue != nil {
- l = m.AverageValue.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.AverageUtilization != nil {
- n += 1 + sovGenerated(uint64(*m.AverageUtilization))
- }
- return n
-}
-
-func (m *ObjectMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.DescribedObject.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Target.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Metric.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ObjectMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.Metric.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Current.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.DescribedObject.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *PodsMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.Metric.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Target.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *PodsMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.Metric.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Current.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ResourceMetricSource) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Target.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ResourceMetricStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Current.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func sovGenerated(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGenerated(x uint64) (n int) {
- return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *ContainerResourceMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ContainerResourceMetricSource{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`,
- `Container:` + fmt.Sprintf("%v", this.Container) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ContainerResourceMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ContainerResourceMetricStatus{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`,
- `Container:` + fmt.Sprintf("%v", this.Container) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *CrossVersionObjectReference) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&CrossVersionObjectReference{`,
- `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ExternalMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ExternalMetricSource{`,
- `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
- `Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ExternalMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ExternalMetricStatus{`,
- `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
- `Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HPAScalingPolicy) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HPAScalingPolicy{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `PeriodSeconds:` + fmt.Sprintf("%v", this.PeriodSeconds) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HPAScalingRules) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForPolicies := "[]HPAScalingPolicy{"
- for _, f := range this.Policies {
- repeatedStringForPolicies += strings.Replace(strings.Replace(f.String(), "HPAScalingPolicy", "HPAScalingPolicy", 1), `&`, ``, 1) + ","
- }
- repeatedStringForPolicies += "}"
- s := strings.Join([]string{`&HPAScalingRules{`,
- `SelectPolicy:` + valueToStringGenerated(this.SelectPolicy) + `,`,
- `Policies:` + repeatedStringForPolicies + `,`,
- `StabilizationWindowSeconds:` + valueToStringGenerated(this.StabilizationWindowSeconds) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscaler) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HorizontalPodAutoscaler{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "HorizontalPodAutoscalerSpec", "HorizontalPodAutoscalerSpec", 1), `&`, ``, 1) + `,`,
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "HorizontalPodAutoscalerStatus", "HorizontalPodAutoscalerStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerBehavior) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HorizontalPodAutoscalerBehavior{`,
- `ScaleUp:` + strings.Replace(this.ScaleUp.String(), "HPAScalingRules", "HPAScalingRules", 1) + `,`,
- `ScaleDown:` + strings.Replace(this.ScaleDown.String(), "HPAScalingRules", "HPAScalingRules", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerCondition) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HorizontalPodAutoscalerCondition{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Status:` + fmt.Sprintf("%v", this.Status) + `,`,
- `LastTransitionTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
- `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
- `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerList) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForItems := "[]HorizontalPodAutoscaler{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "HorizontalPodAutoscaler", "HorizontalPodAutoscaler", 1), `&`, ``, 1) + ","
- }
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&HorizontalPodAutoscalerList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerSpec) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForMetrics := "[]MetricSpec{"
- for _, f := range this.Metrics {
- repeatedStringForMetrics += strings.Replace(strings.Replace(f.String(), "MetricSpec", "MetricSpec", 1), `&`, ``, 1) + ","
- }
- repeatedStringForMetrics += "}"
- s := strings.Join([]string{`&HorizontalPodAutoscalerSpec{`,
- `ScaleTargetRef:` + strings.Replace(strings.Replace(this.ScaleTargetRef.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
- `MinReplicas:` + valueToStringGenerated(this.MinReplicas) + `,`,
- `MaxReplicas:` + fmt.Sprintf("%v", this.MaxReplicas) + `,`,
- `Metrics:` + repeatedStringForMetrics + `,`,
- `Behavior:` + strings.Replace(this.Behavior.String(), "HorizontalPodAutoscalerBehavior", "HorizontalPodAutoscalerBehavior", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HorizontalPodAutoscalerStatus) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForCurrentMetrics := "[]MetricStatus{"
- for _, f := range this.CurrentMetrics {
- repeatedStringForCurrentMetrics += strings.Replace(strings.Replace(f.String(), "MetricStatus", "MetricStatus", 1), `&`, ``, 1) + ","
- }
- repeatedStringForCurrentMetrics += "}"
- repeatedStringForConditions := "[]HorizontalPodAutoscalerCondition{"
- for _, f := range this.Conditions {
- repeatedStringForConditions += strings.Replace(strings.Replace(f.String(), "HorizontalPodAutoscalerCondition", "HorizontalPodAutoscalerCondition", 1), `&`, ``, 1) + ","
- }
- repeatedStringForConditions += "}"
- s := strings.Join([]string{`&HorizontalPodAutoscalerStatus{`,
- `ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
- `LastScaleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScaleTime), "Time", "v1.Time", 1) + `,`,
- `CurrentReplicas:` + fmt.Sprintf("%v", this.CurrentReplicas) + `,`,
- `DesiredReplicas:` + fmt.Sprintf("%v", this.DesiredReplicas) + `,`,
- `CurrentMetrics:` + repeatedStringForCurrentMetrics + `,`,
- `Conditions:` + repeatedStringForConditions + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MetricIdentifier) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&MetricIdentifier{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MetricSpec) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&MetricSpec{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Object:` + strings.Replace(this.Object.String(), "ObjectMetricSource", "ObjectMetricSource", 1) + `,`,
- `Pods:` + strings.Replace(this.Pods.String(), "PodsMetricSource", "PodsMetricSource", 1) + `,`,
- `Resource:` + strings.Replace(this.Resource.String(), "ResourceMetricSource", "ResourceMetricSource", 1) + `,`,
- `External:` + strings.Replace(this.External.String(), "ExternalMetricSource", "ExternalMetricSource", 1) + `,`,
- `ContainerResource:` + strings.Replace(this.ContainerResource.String(), "ContainerResourceMetricSource", "ContainerResourceMetricSource", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&MetricStatus{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Object:` + strings.Replace(this.Object.String(), "ObjectMetricStatus", "ObjectMetricStatus", 1) + `,`,
- `Pods:` + strings.Replace(this.Pods.String(), "PodsMetricStatus", "PodsMetricStatus", 1) + `,`,
- `Resource:` + strings.Replace(this.Resource.String(), "ResourceMetricStatus", "ResourceMetricStatus", 1) + `,`,
- `External:` + strings.Replace(this.External.String(), "ExternalMetricStatus", "ExternalMetricStatus", 1) + `,`,
- `ContainerResource:` + strings.Replace(this.ContainerResource.String(), "ContainerResourceMetricStatus", "ContainerResourceMetricStatus", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MetricTarget) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&MetricTarget{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Quantity", "resource.Quantity", 1) + `,`,
- `AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "resource.Quantity", 1) + `,`,
- `AverageUtilization:` + valueToStringGenerated(this.AverageUtilization) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *MetricValueStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&MetricValueStatus{`,
- `Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Quantity", "resource.Quantity", 1) + `,`,
- `AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "resource.Quantity", 1) + `,`,
- `AverageUtilization:` + valueToStringGenerated(this.AverageUtilization) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ObjectMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ObjectMetricSource{`,
- `DescribedObject:` + strings.Replace(strings.Replace(this.DescribedObject.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
- `Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`,
- `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ObjectMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ObjectMetricStatus{`,
- `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
- `Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`,
- `DescribedObject:` + strings.Replace(strings.Replace(this.DescribedObject.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *PodsMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&PodsMetricSource{`,
- `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
- `Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *PodsMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&PodsMetricStatus{`,
- `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
- `Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ResourceMetricSource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ResourceMetricSource{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ResourceMetricStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ResourceMetricStatus{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringGenerated(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *ContainerResourceMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ContainerResourceMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ContainerResourceMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Container = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ContainerResourceMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ContainerResourceMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ContainerResourceMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Current.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Container = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *CrossVersionObjectReference) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: CrossVersionObjectReference: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: CrossVersionObjectReference: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Kind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field APIVersion", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.APIVersion = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ExternalMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ExternalMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ExternalMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metric", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Metric.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ExternalMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ExternalMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ExternalMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metric", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Metric.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Current.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HPAScalingPolicy) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HPAScalingPolicy: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HPAScalingPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = HPAScalingPolicyType(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- m.Value = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Value |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field PeriodSeconds", wireType)
- }
- m.PeriodSeconds = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.PeriodSeconds |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HPAScalingRules) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HPAScalingRules: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HPAScalingRules: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SelectPolicy", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- s := ScalingPolicySelect(dAtA[iNdEx:postIndex])
- m.SelectPolicy = &s
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Policies", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Policies = append(m.Policies, HPAScalingPolicy{})
- if err := m.Policies[len(m.Policies)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field StabilizationWindowSeconds", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.StabilizationWindowSeconds = &v
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscaler) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscaler: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscaler: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerBehavior) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerBehavior: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerBehavior: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ScaleUp", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ScaleUp == nil {
- m.ScaleUp = &HPAScalingRules{}
- }
- if err := m.ScaleUp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ScaleDown", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ScaleDown == nil {
- m.ScaleDown = &HPAScalingRules{}
- }
- if err := m.ScaleDown.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerCondition) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerCondition: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerCondition: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = HorizontalPodAutoscalerConditionType(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Reason = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Message = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerList) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerList: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerList: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Items = append(m.Items, HorizontalPodAutoscaler{})
- if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerSpec) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerSpec: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerSpec: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ScaleTargetRef", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ScaleTargetRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinReplicas", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.MinReplicas = &v
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxReplicas", wireType)
- }
- m.MaxReplicas = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxReplicas |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Metrics = append(m.Metrics, MetricSpec{})
- if err := m.Metrics[len(m.Metrics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Behavior", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Behavior == nil {
- m.Behavior = &HorizontalPodAutoscalerBehavior{}
- }
- if err := m.Behavior.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HorizontalPodAutoscalerStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HorizontalPodAutoscalerStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
- }
- var v int64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.ObservedGeneration = &v
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastScaleTime", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LastScaleTime == nil {
- m.LastScaleTime = &v1.Time{}
- }
- if err := m.LastScaleTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentReplicas", wireType)
- }
- m.CurrentReplicas = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.CurrentReplicas |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field DesiredReplicas", wireType)
- }
- m.DesiredReplicas = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.DesiredReplicas |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CurrentMetrics", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CurrentMetrics = append(m.CurrentMetrics, MetricStatus{})
- if err := m.CurrentMetrics[len(m.CurrentMetrics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Conditions = append(m.Conditions, HorizontalPodAutoscalerCondition{})
- if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *MetricIdentifier) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: MetricIdentifier: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: MetricIdentifier: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Selector == nil {
- m.Selector = &v1.LabelSelector{}
- }
- if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *MetricSpec) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: MetricSpec: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: MetricSpec: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = MetricSourceType(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Object == nil {
- m.Object = &ObjectMetricSource{}
- }
- if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Pods == nil {
- m.Pods = &PodsMetricSource{}
- }
- if err := m.Pods.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Resource == nil {
- m.Resource = &ResourceMetricSource{}
- }
- if err := m.Resource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field External", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.External == nil {
- m.External = &ExternalMetricSource{}
- }
- if err := m.External.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ContainerResource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ContainerResource == nil {
- m.ContainerResource = &ContainerResourceMetricSource{}
- }
- if err := m.ContainerResource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *MetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: MetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: MetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = MetricSourceType(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Object == nil {
- m.Object = &ObjectMetricStatus{}
- }
- if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Pods == nil {
- m.Pods = &PodsMetricStatus{}
- }
- if err := m.Pods.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Resource == nil {
- m.Resource = &ResourceMetricStatus{}
- }
- if err := m.Resource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field External", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.External == nil {
- m.External = &ExternalMetricStatus{}
- }
- if err := m.External.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ContainerResource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ContainerResource == nil {
- m.ContainerResource = &ContainerResourceMetricStatus{}
- }
- if err := m.ContainerResource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *MetricTarget) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: MetricTarget: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: MetricTarget: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = MetricTargetType(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Value == nil {
- m.Value = &resource.Quantity{}
- }
- if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.AverageValue == nil {
- m.AverageValue = &resource.Quantity{}
- }
- if err := m.AverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field AverageUtilization", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.AverageUtilization = &v
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *MetricValueStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: MetricValueStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: MetricValueStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Value == nil {
- m.Value = &resource.Quantity{}
- }
- if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AverageValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.AverageValue == nil {
- m.AverageValue = &resource.Quantity{}
- }
- if err := m.AverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field AverageUtilization", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.AverageUtilization = &v
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ObjectMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ObjectMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ObjectMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DescribedObject", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.DescribedObject.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metric", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Metric.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ObjectMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ObjectMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ObjectMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metric", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Metric.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Current.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DescribedObject", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.DescribedObject.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *PodsMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: PodsMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PodsMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metric", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Metric.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *PodsMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: PodsMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PodsMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metric", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Metric.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Current.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ResourceMetricSource) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ResourceMetricSource: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ResourceMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ResourceMetricStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ResourceMetricStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ResourceMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Current.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipGenerated(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthGenerated
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupGenerated
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthGenerated
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupGenerated = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto b/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto
deleted file mode 100644
index 941d9752a..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto
+++ /dev/null
@@ -1,493 +0,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-
-// This file was autogenerated by go-to-protobuf. Do not edit it manually!
-
-syntax = "proto2";
-
-package k8s.io.api.autoscaling.v2beta2;
-
-import "k8s.io/api/core/v1/generated.proto";
-import "k8s.io/apimachinery/pkg/api/resource/generated.proto";
-import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
-import "k8s.io/apimachinery/pkg/runtime/generated.proto";
-import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
-
-// Package-wide variables from generator "generated".
-option go_package = "k8s.io/api/autoscaling/v2beta2";
-
-// ContainerResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-message ContainerResourceMetricSource {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // target specifies the target value for the given metric
- optional MetricTarget target = 2;
-
- // container is the name of the container in the pods of the scaling target
- optional string container = 3;
-}
-
-// ContainerResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing a single container in each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-message ContainerResourceMetricStatus {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // current contains the current value for the given metric
- optional MetricValueStatus current = 2;
-
- // container is the name of the container in the pods of the scaling target
- optional string container = 3;
-}
-
-// CrossVersionObjectReference contains enough information to let you identify the referred resource.
-message CrossVersionObjectReference {
- // kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- optional string kind = 1;
-
- // name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- optional string name = 2;
-
- // apiVersion is the API version of the referent
- // +optional
- optional string apiVersion = 3;
-}
-
-// ExternalMetricSource indicates how to scale on a metric not associated with
-// any Kubernetes object (for example length of queue in cloud
-// messaging service, or QPS from loadbalancer running outside of cluster).
-message ExternalMetricSource {
- // metric identifies the target metric by name and selector
- optional MetricIdentifier metric = 1;
-
- // target specifies the target value for the given metric
- optional MetricTarget target = 2;
-}
-
-// ExternalMetricStatus indicates the current value of a global metric
-// not associated with any Kubernetes object.
-message ExternalMetricStatus {
- // metric identifies the target metric by name and selector
- optional MetricIdentifier metric = 1;
-
- // current contains the current value for the given metric
- optional MetricValueStatus current = 2;
-}
-
-// HPAScalingPolicy is a single policy which must hold true for a specified past interval.
-message HPAScalingPolicy {
- // type is used to specify the scaling policy.
- optional string type = 1;
-
- // value contains the amount of change which is permitted by the policy.
- // It must be greater than zero
- optional int32 value = 2;
-
- // periodSeconds specifies the window of time for which the policy should hold true.
- // PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).
- optional int32 periodSeconds = 3;
-}
-
-// HPAScalingRules configures the scaling behavior for one direction.
-// These Rules are applied after calculating DesiredReplicas from metrics for the HPA.
-// They can limit the scaling velocity by specifying scaling policies.
-// They can prevent flapping by specifying the stabilization window, so that the
-// number of replicas is not set instantly, instead, the safest value from the stabilization
-// window is chosen.
-message HPAScalingRules {
- // stabilizationWindowSeconds is the number of seconds for which past recommendations should be
- // considered while scaling up or scaling down.
- // StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour).
- // If not set, use the default values:
- // - For scale up: 0 (i.e. no stabilization is done).
- // - For scale down: 300 (i.e. the stabilization window is 300 seconds long).
- // +optional
- optional int32 stabilizationWindowSeconds = 3;
-
- // selectPolicy is used to specify which policy should be used.
- // If not set, the default value MaxPolicySelect is used.
- // +optional
- optional string selectPolicy = 1;
-
- // policies is a list of potential scaling polices which can be used during scaling.
- // At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid
- // +optional
- // +listType=atomic
- repeated HPAScalingPolicy policies = 2;
-}
-
-// HorizontalPodAutoscaler is the configuration for a horizontal pod
-// autoscaler, which automatically manages the replica count of any resource
-// implementing the scale subresource based on the metrics specified.
-message HorizontalPodAutoscaler {
- // metadata is the standard object metadata.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
-
- // spec is the specification for the behaviour of the autoscaler.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
- // +optional
- optional HorizontalPodAutoscalerSpec spec = 2;
-
- // status is the current information about the autoscaler.
- // +optional
- optional HorizontalPodAutoscalerStatus status = 3;
-}
-
-// HorizontalPodAutoscalerBehavior configures the scaling behavior of the target
-// in both Up and Down directions (scaleUp and scaleDown fields respectively).
-message HorizontalPodAutoscalerBehavior {
- // scaleUp is scaling policy for scaling Up.
- // If not set, the default value is the higher of:
- // * increase no more than 4 pods per 60 seconds
- // * double the number of pods per 60 seconds
- // No stabilization is used.
- // +optional
- optional HPAScalingRules scaleUp = 1;
-
- // scaleDown is scaling policy for scaling Down.
- // If not set, the default value is to allow to scale down to minReplicas pods, with a
- // 300 second stabilization window (i.e., the highest recommendation for
- // the last 300sec is used).
- // +optional
- optional HPAScalingRules scaleDown = 2;
-}
-
-// HorizontalPodAutoscalerCondition describes the state of
-// a HorizontalPodAutoscaler at a certain point.
-message HorizontalPodAutoscalerCondition {
- // type describes the current condition
- optional string type = 1;
-
- // status is the status of the condition (True, False, Unknown)
- optional string status = 2;
-
- // lastTransitionTime is the last time the condition transitioned from
- // one status to another
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
-
- // reason is the reason for the condition's last transition.
- // +optional
- optional string reason = 4;
-
- // message is a human-readable explanation containing details about
- // the transition
- // +optional
- optional string message = 5;
-}
-
-// HorizontalPodAutoscalerList is a list of horizontal pod autoscaler objects.
-message HorizontalPodAutoscalerList {
- // metadata is the standard list metadata.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
-
- // items is the list of horizontal pod autoscaler objects.
- repeated HorizontalPodAutoscaler items = 2;
-}
-
-// HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.
-message HorizontalPodAutoscalerSpec {
- // scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics
- // should be collected, as well as to actually change the replica count.
- optional CrossVersionObjectReference scaleTargetRef = 1;
-
- // minReplicas is the lower limit for the number of replicas to which the autoscaler
- // can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the
- // alpha feature gate HPAScaleToZero is enabled and at least one Object or External
- // metric is configured. Scaling is active as long as at least one metric value is
- // available.
- // +optional
- optional int32 minReplicas = 2;
-
- // maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
- // It cannot be less that minReplicas.
- optional int32 maxReplicas = 3;
-
- // metrics contains the specifications for which to use to calculate the
- // desired replica count (the maximum replica count across all metrics will
- // be used). The desired replica count is calculated multiplying the
- // ratio between the target value and the current value by the current
- // number of pods. Ergo, metrics used must decrease as the pod count is
- // increased, and vice-versa. See the individual metric source types for
- // more information about how each type of metric must respond.
- // If not set, the default metric will be set to 80% average CPU utilization.
- // +optional
- // +listType=atomic
- repeated MetricSpec metrics = 4;
-
- // behavior configures the scaling behavior of the target
- // in both Up and Down directions (scaleUp and scaleDown fields respectively).
- // If not set, the default HPAScalingRules for scale up and scale down are used.
- // +optional
- optional HorizontalPodAutoscalerBehavior behavior = 5;
-}
-
-// HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.
-message HorizontalPodAutoscalerStatus {
- // observedGeneration is the most recent generation observed by this autoscaler.
- // +optional
- optional int64 observedGeneration = 1;
-
- // lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods,
- // used by the autoscaler to control how often the number of pods is changed.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2;
-
- // currentReplicas is current number of replicas of pods managed by this autoscaler,
- // as last seen by the autoscaler.
- optional int32 currentReplicas = 3;
-
- // desiredReplicas is the desired number of replicas of pods managed by this autoscaler,
- // as last calculated by the autoscaler.
- optional int32 desiredReplicas = 4;
-
- // currentMetrics is the last read state of the metrics used by this autoscaler.
- // +optional
- // +listType=atomic
- repeated MetricStatus currentMetrics = 5;
-
- // conditions is the set of conditions required for this autoscaler to scale its target,
- // and indicates whether or not those conditions are met.
- // +optional
- // +listType=atomic
- repeated HorizontalPodAutoscalerCondition conditions = 6;
-}
-
-// MetricIdentifier defines the name and optionally selector for a metric
-message MetricIdentifier {
- // name is the name of the given metric
- optional string name = 1;
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
-}
-
-// MetricSpec specifies how to scale based on a single metric
-// (only `type` and one other matching field should be set at once).
-message MetricSpec {
- // type is the type of metric source. It should be one of "ContainerResource", "External",
- // "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- optional string type = 1;
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- optional ObjectMetricSource object = 2;
-
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- optional PodsMetricSource pods = 3;
-
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- optional ResourceMetricSource resource = 4;
-
- // container resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing a single container in
- // each pod of the current scale target (e.g. CPU or memory). Such metrics are
- // built in to Kubernetes, and have special scaling options on top of those
- // available to normal per-pod metrics using the "pods" source.
- // +optional
- optional ContainerResourceMetricSource containerResource = 7;
-
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- optional ExternalMetricSource external = 5;
-}
-
-// MetricStatus describes the last-read state of a single metric.
-message MetricStatus {
- // type is the type of metric source. It will be one of "ContainerResource", "External",
- // "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- optional string type = 1;
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- optional ObjectMetricStatus object = 2;
-
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- optional PodsMetricStatus pods = 3;
-
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- optional ResourceMetricStatus resource = 4;
-
- // containerResource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing a single container in each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- optional ContainerResourceMetricStatus containerResource = 7;
-
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- optional ExternalMetricStatus external = 5;
-}
-
-// MetricTarget defines the target value, average value, or average utilization of a specific metric
-message MetricTarget {
- // type represents whether the metric type is Utilization, Value, or AverageValue
- optional string type = 1;
-
- // value is the target value of the metric (as a quantity).
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity value = 2;
-
- // averageValue is the target value of the average of the
- // metric across all relevant pods (as a quantity)
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 3;
-
- // averageUtilization is the target value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // Currently only valid for Resource metric source type
- // +optional
- optional int32 averageUtilization = 4;
-}
-
-// MetricValueStatus holds the current value for a metric
-message MetricValueStatus {
- // value is the current value of the metric (as a quantity).
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity value = 1;
-
- // averageValue is the current value of the average of the
- // metric across all relevant pods (as a quantity)
- // +optional
- optional .k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 2;
-
- // averageUtilization is the current value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // +optional
- optional int32 averageUtilization = 3;
-}
-
-// ObjectMetricSource indicates how to scale on a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-message ObjectMetricSource {
- optional CrossVersionObjectReference describedObject = 1;
-
- // target specifies the target value for the given metric
- optional MetricTarget target = 2;
-
- // metric identifies the target metric by name and selector
- optional MetricIdentifier metric = 3;
-}
-
-// ObjectMetricStatus indicates the current value of a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-message ObjectMetricStatus {
- // metric identifies the target metric by name and selector
- optional MetricIdentifier metric = 1;
-
- // current contains the current value for the given metric
- optional MetricValueStatus current = 2;
-
- optional CrossVersionObjectReference describedObject = 3;
-}
-
-// PodsMetricSource indicates how to scale on a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-// The values will be averaged together before being compared to the target
-// value.
-message PodsMetricSource {
- // metric identifies the target metric by name and selector
- optional MetricIdentifier metric = 1;
-
- // target specifies the target value for the given metric
- optional MetricTarget target = 2;
-}
-
-// PodsMetricStatus indicates the current value of a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-message PodsMetricStatus {
- // metric identifies the target metric by name and selector
- optional MetricIdentifier metric = 1;
-
- // current contains the current value for the given metric
- optional MetricValueStatus current = 2;
-}
-
-// ResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-message ResourceMetricSource {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // target specifies the target value for the given metric
- optional MetricTarget target = 2;
-}
-
-// ResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-message ResourceMetricStatus {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // current contains the current value for the given metric
- optional MetricValueStatus current = 2;
-}
-
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/generated.protomessage.pb.go b/vendor/k8s.io/api/autoscaling/v2beta2/generated.protomessage.pb.go
deleted file mode 100644
index 6064b1eb0..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta2/generated.protomessage.pb.go
+++ /dev/null
@@ -1,70 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v2beta2
-
-func (*ContainerResourceMetricSource) ProtoMessage() {}
-
-func (*ContainerResourceMetricStatus) ProtoMessage() {}
-
-func (*CrossVersionObjectReference) ProtoMessage() {}
-
-func (*ExternalMetricSource) ProtoMessage() {}
-
-func (*ExternalMetricStatus) ProtoMessage() {}
-
-func (*HPAScalingPolicy) ProtoMessage() {}
-
-func (*HPAScalingRules) ProtoMessage() {}
-
-func (*HorizontalPodAutoscaler) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerBehavior) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerCondition) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerList) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerSpec) ProtoMessage() {}
-
-func (*HorizontalPodAutoscalerStatus) ProtoMessage() {}
-
-func (*MetricIdentifier) ProtoMessage() {}
-
-func (*MetricSpec) ProtoMessage() {}
-
-func (*MetricStatus) ProtoMessage() {}
-
-func (*MetricTarget) ProtoMessage() {}
-
-func (*MetricValueStatus) ProtoMessage() {}
-
-func (*ObjectMetricSource) ProtoMessage() {}
-
-func (*ObjectMetricStatus) ProtoMessage() {}
-
-func (*PodsMetricSource) ProtoMessage() {}
-
-func (*PodsMetricStatus) ProtoMessage() {}
-
-func (*ResourceMetricSource) ProtoMessage() {}
-
-func (*ResourceMetricStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/types.go b/vendor/k8s.io/api/autoscaling/v2beta2/types.go
deleted file mode 100644
index bc9677b14..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta2/types.go
+++ /dev/null
@@ -1,578 +0,0 @@
-/*
-Copyright 2018 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// +k8s:openapi-gen=true
-
-package v2beta2
-
-import (
- v1 "k8s.io/api/core/v1"
- "k8s.io/apimachinery/pkg/api/resource"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-// +genclient
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.12
-// +k8s:prerelease-lifecycle-gen:deprecated=1.23
-// +k8s:prerelease-lifecycle-gen:replacement=autoscaling,v2,HorizontalPodAutoscaler
-
-// HorizontalPodAutoscaler is the configuration for a horizontal pod
-// autoscaler, which automatically manages the replica count of any resource
-// implementing the scale subresource based on the metrics specified.
-type HorizontalPodAutoscaler struct {
- metav1.TypeMeta `json:",inline"`
- // metadata is the standard object metadata.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- // +optional
- metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
- // spec is the specification for the behaviour of the autoscaler.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
- // +optional
- Spec HorizontalPodAutoscalerSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
-
- // status is the current information about the autoscaler.
- // +optional
- Status HorizontalPodAutoscalerStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
-}
-
-// HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.
-type HorizontalPodAutoscalerSpec struct {
- // scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics
- // should be collected, as well as to actually change the replica count.
- ScaleTargetRef CrossVersionObjectReference `json:"scaleTargetRef" protobuf:"bytes,1,opt,name=scaleTargetRef"`
- // minReplicas is the lower limit for the number of replicas to which the autoscaler
- // can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the
- // alpha feature gate HPAScaleToZero is enabled and at least one Object or External
- // metric is configured. Scaling is active as long as at least one metric value is
- // available.
- // +optional
- MinReplicas *int32 `json:"minReplicas,omitempty" protobuf:"varint,2,opt,name=minReplicas"`
-
- // maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
- // It cannot be less that minReplicas.
- MaxReplicas int32 `json:"maxReplicas" protobuf:"varint,3,opt,name=maxReplicas"`
-
- // metrics contains the specifications for which to use to calculate the
- // desired replica count (the maximum replica count across all metrics will
- // be used). The desired replica count is calculated multiplying the
- // ratio between the target value and the current value by the current
- // number of pods. Ergo, metrics used must decrease as the pod count is
- // increased, and vice-versa. See the individual metric source types for
- // more information about how each type of metric must respond.
- // If not set, the default metric will be set to 80% average CPU utilization.
- // +optional
- // +listType=atomic
- Metrics []MetricSpec `json:"metrics,omitempty" protobuf:"bytes,4,rep,name=metrics"`
-
- // behavior configures the scaling behavior of the target
- // in both Up and Down directions (scaleUp and scaleDown fields respectively).
- // If not set, the default HPAScalingRules for scale up and scale down are used.
- // +optional
- Behavior *HorizontalPodAutoscalerBehavior `json:"behavior,omitempty" protobuf:"bytes,5,opt,name=behavior"`
-}
-
-// CrossVersionObjectReference contains enough information to let you identify the referred resource.
-type CrossVersionObjectReference struct {
- // kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"`
-
- // name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
-
- // apiVersion is the API version of the referent
- // +optional
- APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,3,opt,name=apiVersion"`
-}
-
-// MetricSpec specifies how to scale based on a single metric
-// (only `type` and one other matching field should be set at once).
-type MetricSpec struct {
- // type is the type of metric source. It should be one of "ContainerResource", "External",
- // "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- Object *ObjectMetricSource `json:"object,omitempty" protobuf:"bytes,2,opt,name=object"`
-
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- Pods *PodsMetricSource `json:"pods,omitempty" protobuf:"bytes,3,opt,name=pods"`
-
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- Resource *ResourceMetricSource `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"`
-
- // container resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing a single container in
- // each pod of the current scale target (e.g. CPU or memory). Such metrics are
- // built in to Kubernetes, and have special scaling options on top of those
- // available to normal per-pod metrics using the "pods" source.
- // +optional
- ContainerResource *ContainerResourceMetricSource `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"`
-
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- External *ExternalMetricSource `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"`
-}
-
-// HorizontalPodAutoscalerBehavior configures the scaling behavior of the target
-// in both Up and Down directions (scaleUp and scaleDown fields respectively).
-type HorizontalPodAutoscalerBehavior struct {
- // scaleUp is scaling policy for scaling Up.
- // If not set, the default value is the higher of:
- // * increase no more than 4 pods per 60 seconds
- // * double the number of pods per 60 seconds
- // No stabilization is used.
- // +optional
- ScaleUp *HPAScalingRules `json:"scaleUp,omitempty" protobuf:"bytes,1,opt,name=scaleUp"`
-
- // scaleDown is scaling policy for scaling Down.
- // If not set, the default value is to allow to scale down to minReplicas pods, with a
- // 300 second stabilization window (i.e., the highest recommendation for
- // the last 300sec is used).
- // +optional
- ScaleDown *HPAScalingRules `json:"scaleDown,omitempty" protobuf:"bytes,2,opt,name=scaleDown"`
-}
-
-// ScalingPolicySelect is used to specify which policy should be used while scaling in a certain direction
-type ScalingPolicySelect string
-
-const (
- // MaxPolicySelect selects the policy with the highest possible change.
- MaxPolicySelect ScalingPolicySelect = "Max"
- // MinPolicySelect selects the policy with the lowest possible change.
- MinPolicySelect ScalingPolicySelect = "Min"
- // DisabledPolicySelect disables the scaling in this direction.
- DisabledPolicySelect ScalingPolicySelect = "Disabled"
-)
-
-// HPAScalingRules configures the scaling behavior for one direction.
-// These Rules are applied after calculating DesiredReplicas from metrics for the HPA.
-// They can limit the scaling velocity by specifying scaling policies.
-// They can prevent flapping by specifying the stabilization window, so that the
-// number of replicas is not set instantly, instead, the safest value from the stabilization
-// window is chosen.
-type HPAScalingRules struct {
- // stabilizationWindowSeconds is the number of seconds for which past recommendations should be
- // considered while scaling up or scaling down.
- // StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour).
- // If not set, use the default values:
- // - For scale up: 0 (i.e. no stabilization is done).
- // - For scale down: 300 (i.e. the stabilization window is 300 seconds long).
- // +optional
- StabilizationWindowSeconds *int32 `json:"stabilizationWindowSeconds,omitempty" protobuf:"varint,3,opt,name=stabilizationWindowSeconds"`
-
- // selectPolicy is used to specify which policy should be used.
- // If not set, the default value MaxPolicySelect is used.
- // +optional
- SelectPolicy *ScalingPolicySelect `json:"selectPolicy,omitempty" protobuf:"bytes,1,opt,name=selectPolicy"`
-
- // policies is a list of potential scaling polices which can be used during scaling.
- // At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid
- // +optional
- // +listType=atomic
- Policies []HPAScalingPolicy `json:"policies,omitempty" protobuf:"bytes,2,rep,name=policies"`
-}
-
-// HPAScalingPolicyType is the type of the policy which could be used while making scaling decisions.
-type HPAScalingPolicyType string
-
-const (
- // PodsScalingPolicy is a policy used to specify a change in absolute number of pods.
- PodsScalingPolicy HPAScalingPolicyType = "Pods"
- // PercentScalingPolicy is a policy used to specify a relative amount of change with respect to
- // the current number of pods.
- PercentScalingPolicy HPAScalingPolicyType = "Percent"
-)
-
-// HPAScalingPolicy is a single policy which must hold true for a specified past interval.
-type HPAScalingPolicy struct {
- // type is used to specify the scaling policy.
- Type HPAScalingPolicyType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=HPAScalingPolicyType"`
-
- // value contains the amount of change which is permitted by the policy.
- // It must be greater than zero
- Value int32 `json:"value" protobuf:"varint,2,opt,name=value"`
-
- // periodSeconds specifies the window of time for which the policy should hold true.
- // PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).
- PeriodSeconds int32 `json:"periodSeconds" protobuf:"varint,3,opt,name=periodSeconds"`
-}
-
-// MetricSourceType indicates the type of metric.
-type MetricSourceType string
-
-const (
- // ObjectMetricSourceType is a metric describing a kubernetes object
- // (for example, hits-per-second on an Ingress object).
- ObjectMetricSourceType MetricSourceType = "Object"
- // PodsMetricSourceType is a metric describing each pod in the current scale
- // target (for example, transactions-processed-per-second). The values
- // will be averaged together before being compared to the target value.
- PodsMetricSourceType MetricSourceType = "Pods"
- // ResourceMetricSourceType is a resource metric known to Kubernetes, as
- // specified in requests and limits, describing each pod in the current
- // scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics (the "pods" source).
- ResourceMetricSourceType MetricSourceType = "Resource"
- // ContainerResourceMetricSourceType is a resource metric known to Kubernetes, as
- // specified in requests and limits, describing a single container in each pod in the current
- // scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics (the "pods" source).
- ContainerResourceMetricSourceType MetricSourceType = "ContainerResource"
- // ExternalMetricSourceType is a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- ExternalMetricSourceType MetricSourceType = "External"
-)
-
-// ObjectMetricSource indicates how to scale on a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-type ObjectMetricSource struct {
- DescribedObject CrossVersionObjectReference `json:"describedObject" protobuf:"bytes,1,name=describedObject"`
- // target specifies the target value for the given metric
- Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"`
-
- // metric identifies the target metric by name and selector
- Metric MetricIdentifier `json:"metric" protobuf:"bytes,3,name=metric"`
-}
-
-// PodsMetricSource indicates how to scale on a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-// The values will be averaged together before being compared to the target
-// value.
-type PodsMetricSource struct {
- // metric identifies the target metric by name and selector
- Metric MetricIdentifier `json:"metric" protobuf:"bytes,1,name=metric"`
-
- // target specifies the target value for the given metric
- Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"`
-}
-
-// ResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-type ResourceMetricSource struct {
- // name is the name of the resource in question.
- Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"`
-
- // target specifies the target value for the given metric
- Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"`
-}
-
-// ContainerResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-type ContainerResourceMetricSource struct {
- // name is the name of the resource in question.
- Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"`
-
- // target specifies the target value for the given metric
- Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"`
-
- // container is the name of the container in the pods of the scaling target
- Container string `json:"container" protobuf:"bytes,3,opt,name=container"`
-}
-
-// ExternalMetricSource indicates how to scale on a metric not associated with
-// any Kubernetes object (for example length of queue in cloud
-// messaging service, or QPS from loadbalancer running outside of cluster).
-type ExternalMetricSource struct {
- // metric identifies the target metric by name and selector
- Metric MetricIdentifier `json:"metric" protobuf:"bytes,1,name=metric"`
-
- // target specifies the target value for the given metric
- Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"`
-}
-
-// MetricIdentifier defines the name and optionally selector for a metric
-type MetricIdentifier struct {
- // name is the name of the given metric
- Name string `json:"name" protobuf:"bytes,1,name=name"`
-
- // selector is the string-encoded form of a standard kubernetes label selector for the given metric
- // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
- // When unset, just the metricName will be used to gather metrics.
- // +optional
- Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,name=selector"`
-}
-
-// MetricTarget defines the target value, average value, or average utilization of a specific metric
-type MetricTarget struct {
- // type represents whether the metric type is Utilization, Value, or AverageValue
- Type MetricTargetType `json:"type" protobuf:"bytes,1,name=type"`
-
- // value is the target value of the metric (as a quantity).
- // +optional
- Value *resource.Quantity `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"`
-
- // averageValue is the target value of the average of the
- // metric across all relevant pods (as a quantity)
- // +optional
- AverageValue *resource.Quantity `json:"averageValue,omitempty" protobuf:"bytes,3,opt,name=averageValue"`
-
- // averageUtilization is the target value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // Currently only valid for Resource metric source type
- // +optional
- AverageUtilization *int32 `json:"averageUtilization,omitempty" protobuf:"bytes,4,opt,name=averageUtilization"`
-}
-
-// MetricTargetType specifies the type of metric being targeted, and should be either
-// "Value", "AverageValue", or "Utilization"
-type MetricTargetType string
-
-const (
- // UtilizationMetricType declares a MetricTarget is an AverageUtilization value
- UtilizationMetricType MetricTargetType = "Utilization"
- // ValueMetricType declares a MetricTarget is a raw value
- ValueMetricType MetricTargetType = "Value"
- // AverageValueMetricType declares a MetricTarget is an
- AverageValueMetricType MetricTargetType = "AverageValue"
-)
-
-// HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.
-type HorizontalPodAutoscalerStatus struct {
- // observedGeneration is the most recent generation observed by this autoscaler.
- // +optional
- ObservedGeneration *int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
-
- // lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods,
- // used by the autoscaler to control how often the number of pods is changed.
- // +optional
- LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty" protobuf:"bytes,2,opt,name=lastScaleTime"`
-
- // currentReplicas is current number of replicas of pods managed by this autoscaler,
- // as last seen by the autoscaler.
- CurrentReplicas int32 `json:"currentReplicas" protobuf:"varint,3,opt,name=currentReplicas"`
-
- // desiredReplicas is the desired number of replicas of pods managed by this autoscaler,
- // as last calculated by the autoscaler.
- DesiredReplicas int32 `json:"desiredReplicas" protobuf:"varint,4,opt,name=desiredReplicas"`
-
- // currentMetrics is the last read state of the metrics used by this autoscaler.
- // +optional
- // +listType=atomic
- CurrentMetrics []MetricStatus `json:"currentMetrics" protobuf:"bytes,5,rep,name=currentMetrics"`
-
- // conditions is the set of conditions required for this autoscaler to scale its target,
- // and indicates whether or not those conditions are met.
- // +optional
- // +listType=atomic
- Conditions []HorizontalPodAutoscalerCondition `json:"conditions" protobuf:"bytes,6,rep,name=conditions"`
-}
-
-// HorizontalPodAutoscalerConditionType are the valid conditions of
-// a HorizontalPodAutoscaler.
-type HorizontalPodAutoscalerConditionType string
-
-const (
- // ScalingActive indicates that the HPA controller is able to scale if necessary:
- // it's correctly configured, can fetch the desired metrics, and isn't disabled.
- ScalingActive HorizontalPodAutoscalerConditionType = "ScalingActive"
- // AbleToScale indicates a lack of transient issues which prevent scaling from occurring,
- // such as being in a backoff window, or being unable to access/update the target scale.
- AbleToScale HorizontalPodAutoscalerConditionType = "AbleToScale"
- // ScalingLimited indicates that the calculated scale based on metrics would be above or
- // below the range for the HPA, and has thus been capped.
- ScalingLimited HorizontalPodAutoscalerConditionType = "ScalingLimited"
-)
-
-// HorizontalPodAutoscalerCondition describes the state of
-// a HorizontalPodAutoscaler at a certain point.
-type HorizontalPodAutoscalerCondition struct {
- // type describes the current condition
- Type HorizontalPodAutoscalerConditionType `json:"type" protobuf:"bytes,1,name=type"`
-
- // status is the status of the condition (True, False, Unknown)
- Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,name=status"`
-
- // lastTransitionTime is the last time the condition transitioned from
- // one status to another
- // +optional
- LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
-
- // reason is the reason for the condition's last transition.
- // +optional
- Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
-
- // message is a human-readable explanation containing details about
- // the transition
- // +optional
- Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
-}
-
-// MetricStatus describes the last-read state of a single metric.
-type MetricStatus struct {
- // type is the type of metric source. It will be one of "ContainerResource", "External",
- // "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- Object *ObjectMetricStatus `json:"object,omitempty" protobuf:"bytes,2,opt,name=object"`
-
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- Pods *PodsMetricStatus `json:"pods,omitempty" protobuf:"bytes,3,opt,name=pods"`
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- Resource *ResourceMetricStatus `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"`
-
- // containerResource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing a single container in each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- ContainerResource *ContainerResourceMetricStatus `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"`
-
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- External *ExternalMetricStatus `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"`
-}
-
-// ObjectMetricStatus indicates the current value of a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-type ObjectMetricStatus struct {
- // metric identifies the target metric by name and selector
- Metric MetricIdentifier `json:"metric" protobuf:"bytes,1,name=metric"`
-
- // current contains the current value for the given metric
- Current MetricValueStatus `json:"current" protobuf:"bytes,2,name=current"`
-
- DescribedObject CrossVersionObjectReference `json:"describedObject" protobuf:"bytes,3,name=describedObject"`
-}
-
-// PodsMetricStatus indicates the current value of a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-type PodsMetricStatus struct {
- // metric identifies the target metric by name and selector
- Metric MetricIdentifier `json:"metric" protobuf:"bytes,1,name=metric"`
-
- // current contains the current value for the given metric
- Current MetricValueStatus `json:"current" protobuf:"bytes,2,name=current"`
-}
-
-// ResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-type ResourceMetricStatus struct {
- // name is the name of the resource in question.
- Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"`
-
- // current contains the current value for the given metric
- Current MetricValueStatus `json:"current" protobuf:"bytes,2,name=current"`
-}
-
-// ContainerResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing a single container in each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-type ContainerResourceMetricStatus struct {
- // name is the name of the resource in question.
- Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"`
-
- // current contains the current value for the given metric
- Current MetricValueStatus `json:"current" protobuf:"bytes,2,name=current"`
-
- // container is the name of the container in the pods of the scaling target
- Container string `json:"container" protobuf:"bytes,3,opt,name=container"`
-}
-
-// ExternalMetricStatus indicates the current value of a global metric
-// not associated with any Kubernetes object.
-type ExternalMetricStatus struct {
- // metric identifies the target metric by name and selector
- Metric MetricIdentifier `json:"metric" protobuf:"bytes,1,name=metric"`
-
- // current contains the current value for the given metric
- Current MetricValueStatus `json:"current" protobuf:"bytes,2,name=current"`
-}
-
-// MetricValueStatus holds the current value for a metric
-type MetricValueStatus struct {
- // value is the current value of the metric (as a quantity).
- // +optional
- Value *resource.Quantity `json:"value,omitempty" protobuf:"bytes,1,opt,name=value"`
-
- // averageValue is the current value of the average of the
- // metric across all relevant pods (as a quantity)
- // +optional
- AverageValue *resource.Quantity `json:"averageValue,omitempty" protobuf:"bytes,2,opt,name=averageValue"`
-
- // averageUtilization is the current value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // +optional
- AverageUtilization *int32 `json:"averageUtilization,omitempty" protobuf:"bytes,3,opt,name=averageUtilization"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.12
-// +k8s:prerelease-lifecycle-gen:deprecated=1.22
-
-// HorizontalPodAutoscalerList is a list of horizontal pod autoscaler objects.
-type HorizontalPodAutoscalerList struct {
- metav1.TypeMeta `json:",inline"`
- // metadata is the standard list metadata.
- // +optional
- metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
- // items is the list of horizontal pod autoscaler objects.
- Items []HorizontalPodAutoscaler `json:"items" protobuf:"bytes,2,rep,name=items"`
-}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go
deleted file mode 100644
index 5d4bb86b8..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v2beta2
-
-// This file contains a collection of methods that can be used from go-restful to
-// generate Swagger API documentation for its models. Please read this PR for more
-// information on the implementation: https://github.com/emicklei/go-restful/pull/215
-//
-// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
-// they are on one line! For multiple line or blocks that you want to ignore use ---.
-// Any context after a --- is ignored.
-//
-// Those methods can be generated by using hack/update-codegen.sh
-
-// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
-var map_ContainerResourceMetricSource = map[string]string{
- "": "ContainerResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. Only one \"target\" type should be set.",
- "name": "name is the name of the resource in question.",
- "target": "target specifies the target value for the given metric",
- "container": "container is the name of the container in the pods of the scaling target",
-}
-
-func (ContainerResourceMetricSource) SwaggerDoc() map[string]string {
- return map_ContainerResourceMetricSource
-}
-
-var map_ContainerResourceMetricStatus = map[string]string{
- "": "ContainerResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing a single container in each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "name": "name is the name of the resource in question.",
- "current": "current contains the current value for the given metric",
- "container": "container is the name of the container in the pods of the scaling target",
-}
-
-func (ContainerResourceMetricStatus) SwaggerDoc() map[string]string {
- return map_ContainerResourceMetricStatus
-}
-
-var map_CrossVersionObjectReference = map[string]string{
- "": "CrossVersionObjectReference contains enough information to let you identify the referred resource.",
- "kind": "kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
- "name": "name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
- "apiVersion": "apiVersion is the API version of the referent",
-}
-
-func (CrossVersionObjectReference) SwaggerDoc() map[string]string {
- return map_CrossVersionObjectReference
-}
-
-var map_ExternalMetricSource = map[string]string{
- "": "ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
- "metric": "metric identifies the target metric by name and selector",
- "target": "target specifies the target value for the given metric",
-}
-
-func (ExternalMetricSource) SwaggerDoc() map[string]string {
- return map_ExternalMetricSource
-}
-
-var map_ExternalMetricStatus = map[string]string{
- "": "ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.",
- "metric": "metric identifies the target metric by name and selector",
- "current": "current contains the current value for the given metric",
-}
-
-func (ExternalMetricStatus) SwaggerDoc() map[string]string {
- return map_ExternalMetricStatus
-}
-
-var map_HPAScalingPolicy = map[string]string{
- "": "HPAScalingPolicy is a single policy which must hold true for a specified past interval.",
- "type": "type is used to specify the scaling policy.",
- "value": "value contains the amount of change which is permitted by the policy. It must be greater than zero",
- "periodSeconds": "periodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).",
-}
-
-func (HPAScalingPolicy) SwaggerDoc() map[string]string {
- return map_HPAScalingPolicy
-}
-
-var map_HPAScalingRules = map[string]string{
- "": "HPAScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.",
- "stabilizationWindowSeconds": "stabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long).",
- "selectPolicy": "selectPolicy is used to specify which policy should be used. If not set, the default value MaxPolicySelect is used.",
- "policies": "policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid",
-}
-
-func (HPAScalingRules) SwaggerDoc() map[string]string {
- return map_HPAScalingRules
-}
-
-var map_HorizontalPodAutoscaler = map[string]string{
- "": "HorizontalPodAutoscaler is the configuration for a horizontal pod autoscaler, which automatically manages the replica count of any resource implementing the scale subresource based on the metrics specified.",
- "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.",
- "status": "status is the current information about the autoscaler.",
-}
-
-func (HorizontalPodAutoscaler) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscaler
-}
-
-var map_HorizontalPodAutoscalerBehavior = map[string]string{
- "": "HorizontalPodAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).",
- "scaleUp": "scaleUp is scaling policy for scaling Up. If not set, the default value is the higher of:\n * increase no more than 4 pods per 60 seconds\n * double the number of pods per 60 seconds\nNo stabilization is used.",
- "scaleDown": "scaleDown is scaling policy for scaling Down. If not set, the default value is to allow to scale down to minReplicas pods, with a 300 second stabilization window (i.e., the highest recommendation for the last 300sec is used).",
-}
-
-func (HorizontalPodAutoscalerBehavior) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerBehavior
-}
-
-var map_HorizontalPodAutoscalerCondition = map[string]string{
- "": "HorizontalPodAutoscalerCondition describes the state of a HorizontalPodAutoscaler at a certain point.",
- "type": "type describes the current condition",
- "status": "status is the status of the condition (True, False, Unknown)",
- "lastTransitionTime": "lastTransitionTime is the last time the condition transitioned from one status to another",
- "reason": "reason is the reason for the condition's last transition.",
- "message": "message is a human-readable explanation containing details about the transition",
-}
-
-func (HorizontalPodAutoscalerCondition) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerCondition
-}
-
-var map_HorizontalPodAutoscalerList = map[string]string{
- "": "HorizontalPodAutoscalerList is a list of horizontal pod autoscaler objects.",
- "metadata": "metadata is the standard list metadata.",
- "items": "items is the list of horizontal pod autoscaler objects.",
-}
-
-func (HorizontalPodAutoscalerList) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerList
-}
-
-var map_HorizontalPodAutoscalerSpec = map[string]string{
- "": "HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.",
- "scaleTargetRef": "scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count.",
- "minReplicas": "minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled and at least one Object or External metric is configured. Scaling is active as long as at least one metric value is available.",
- "maxReplicas": "maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.",
- "metrics": "metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond. If not set, the default metric will be set to 80% average CPU utilization.",
- "behavior": "behavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively). If not set, the default HPAScalingRules for scale up and scale down are used.",
-}
-
-func (HorizontalPodAutoscalerSpec) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerSpec
-}
-
-var map_HorizontalPodAutoscalerStatus = map[string]string{
- "": "HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.",
- "observedGeneration": "observedGeneration is the most recent generation observed by this autoscaler.",
- "lastScaleTime": "lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.",
- "currentReplicas": "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.",
- "desiredReplicas": "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.",
- "currentMetrics": "currentMetrics is the last read state of the metrics used by this autoscaler.",
- "conditions": "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.",
-}
-
-func (HorizontalPodAutoscalerStatus) SwaggerDoc() map[string]string {
- return map_HorizontalPodAutoscalerStatus
-}
-
-var map_MetricIdentifier = map[string]string{
- "": "MetricIdentifier defines the name and optionally selector for a metric",
- "name": "name is the name of the given metric",
- "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.",
-}
-
-func (MetricIdentifier) SwaggerDoc() map[string]string {
- return map_MetricIdentifier
-}
-
-var map_MetricSpec = map[string]string{
- "": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
- "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object.",
- "object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
- "pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
- "resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "container resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
-}
-
-func (MetricSpec) SwaggerDoc() map[string]string {
- return map_MetricSpec
-}
-
-var map_MetricStatus = map[string]string{
- "": "MetricStatus describes the last-read state of a single metric.",
- "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object.",
- "object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
- "pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
- "resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "containerResource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
-}
-
-func (MetricStatus) SwaggerDoc() map[string]string {
- return map_MetricStatus
-}
-
-var map_MetricTarget = map[string]string{
- "": "MetricTarget defines the target value, average value, or average utilization of a specific metric",
- "type": "type represents whether the metric type is Utilization, Value, or AverageValue",
- "value": "value is the target value of the metric (as a quantity).",
- "averageValue": "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)",
- "averageUtilization": "averageUtilization is the target value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods. Currently only valid for Resource metric source type",
-}
-
-func (MetricTarget) SwaggerDoc() map[string]string {
- return map_MetricTarget
-}
-
-var map_MetricValueStatus = map[string]string{
- "": "MetricValueStatus holds the current value for a metric",
- "value": "value is the current value of the metric (as a quantity).",
- "averageValue": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
- "averageUtilization": "averageUtilization is the current value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods.",
-}
-
-func (MetricValueStatus) SwaggerDoc() map[string]string {
- return map_MetricValueStatus
-}
-
-var map_ObjectMetricSource = map[string]string{
- "": "ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).",
- "target": "target specifies the target value for the given metric",
- "metric": "metric identifies the target metric by name and selector",
-}
-
-func (ObjectMetricSource) SwaggerDoc() map[string]string {
- return map_ObjectMetricSource
-}
-
-var map_ObjectMetricStatus = map[string]string{
- "": "ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).",
- "metric": "metric identifies the target metric by name and selector",
- "current": "current contains the current value for the given metric",
-}
-
-func (ObjectMetricStatus) SwaggerDoc() map[string]string {
- return map_ObjectMetricStatus
-}
-
-var map_PodsMetricSource = map[string]string{
- "": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
- "metric": "metric identifies the target metric by name and selector",
- "target": "target specifies the target value for the given metric",
-}
-
-func (PodsMetricSource) SwaggerDoc() map[string]string {
- return map_PodsMetricSource
-}
-
-var map_PodsMetricStatus = map[string]string{
- "": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).",
- "metric": "metric identifies the target metric by name and selector",
- "current": "current contains the current value for the given metric",
-}
-
-func (PodsMetricStatus) SwaggerDoc() map[string]string {
- return map_PodsMetricStatus
-}
-
-var map_ResourceMetricSource = map[string]string{
- "": "ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. Only one \"target\" type should be set.",
- "name": "name is the name of the resource in question.",
- "target": "target specifies the target value for the given metric",
-}
-
-func (ResourceMetricSource) SwaggerDoc() map[string]string {
- return map_ResourceMetricSource
-}
-
-var map_ResourceMetricStatus = map[string]string{
- "": "ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "name": "name is the name of the resource in question.",
- "current": "current contains the current value for the given metric",
-}
-
-func (ResourceMetricStatus) SwaggerDoc() map[string]string {
- return map_ResourceMetricStatus
-}
-
-// AUTO-GENERATED FUNCTIONS END HERE
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.deepcopy.go b/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.deepcopy.go
deleted file mode 100644
index 49838843c..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.deepcopy.go
+++ /dev/null
@@ -1,610 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by deepcopy-gen. DO NOT EDIT.
-
-package v2beta2
-
-import (
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
-)
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ContainerResourceMetricSource) DeepCopyInto(out *ContainerResourceMetricSource) {
- *out = *in
- in.Target.DeepCopyInto(&out.Target)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourceMetricSource.
-func (in *ContainerResourceMetricSource) DeepCopy() *ContainerResourceMetricSource {
- if in == nil {
- return nil
- }
- out := new(ContainerResourceMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ContainerResourceMetricStatus) DeepCopyInto(out *ContainerResourceMetricStatus) {
- *out = *in
- in.Current.DeepCopyInto(&out.Current)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourceMetricStatus.
-func (in *ContainerResourceMetricStatus) DeepCopy() *ContainerResourceMetricStatus {
- if in == nil {
- return nil
- }
- out := new(ContainerResourceMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *CrossVersionObjectReference) DeepCopyInto(out *CrossVersionObjectReference) {
- *out = *in
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossVersionObjectReference.
-func (in *CrossVersionObjectReference) DeepCopy() *CrossVersionObjectReference {
- if in == nil {
- return nil
- }
- out := new(CrossVersionObjectReference)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource) {
- *out = *in
- in.Metric.DeepCopyInto(&out.Metric)
- in.Target.DeepCopyInto(&out.Target)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricSource.
-func (in *ExternalMetricSource) DeepCopy() *ExternalMetricSource {
- if in == nil {
- return nil
- }
- out := new(ExternalMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ExternalMetricStatus) DeepCopyInto(out *ExternalMetricStatus) {
- *out = *in
- in.Metric.DeepCopyInto(&out.Metric)
- in.Current.DeepCopyInto(&out.Current)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricStatus.
-func (in *ExternalMetricStatus) DeepCopy() *ExternalMetricStatus {
- if in == nil {
- return nil
- }
- out := new(ExternalMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HPAScalingPolicy) DeepCopyInto(out *HPAScalingPolicy) {
- *out = *in
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPAScalingPolicy.
-func (in *HPAScalingPolicy) DeepCopy() *HPAScalingPolicy {
- if in == nil {
- return nil
- }
- out := new(HPAScalingPolicy)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HPAScalingRules) DeepCopyInto(out *HPAScalingRules) {
- *out = *in
- if in.StabilizationWindowSeconds != nil {
- in, out := &in.StabilizationWindowSeconds, &out.StabilizationWindowSeconds
- *out = new(int32)
- **out = **in
- }
- if in.SelectPolicy != nil {
- in, out := &in.SelectPolicy, &out.SelectPolicy
- *out = new(ScalingPolicySelect)
- **out = **in
- }
- if in.Policies != nil {
- in, out := &in.Policies, &out.Policies
- *out = make([]HPAScalingPolicy, len(*in))
- copy(*out, *in)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPAScalingRules.
-func (in *HPAScalingRules) DeepCopy() *HPAScalingRules {
- if in == nil {
- return nil
- }
- out := new(HPAScalingRules)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscaler) DeepCopyInto(out *HorizontalPodAutoscaler) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
- in.Spec.DeepCopyInto(&out.Spec)
- in.Status.DeepCopyInto(&out.Status)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscaler.
-func (in *HorizontalPodAutoscaler) DeepCopy() *HorizontalPodAutoscaler {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscaler)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *HorizontalPodAutoscaler) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerBehavior) DeepCopyInto(out *HorizontalPodAutoscalerBehavior) {
- *out = *in
- if in.ScaleUp != nil {
- in, out := &in.ScaleUp, &out.ScaleUp
- *out = new(HPAScalingRules)
- (*in).DeepCopyInto(*out)
- }
- if in.ScaleDown != nil {
- in, out := &in.ScaleDown, &out.ScaleDown
- *out = new(HPAScalingRules)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerBehavior.
-func (in *HorizontalPodAutoscalerBehavior) DeepCopy() *HorizontalPodAutoscalerBehavior {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerBehavior)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerCondition) DeepCopyInto(out *HorizontalPodAutoscalerCondition) {
- *out = *in
- in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerCondition.
-func (in *HorizontalPodAutoscalerCondition) DeepCopy() *HorizontalPodAutoscalerCondition {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerCondition)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerList) DeepCopyInto(out *HorizontalPodAutoscalerList) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ListMeta.DeepCopyInto(&out.ListMeta)
- if in.Items != nil {
- in, out := &in.Items, &out.Items
- *out = make([]HorizontalPodAutoscaler, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerList.
-func (in *HorizontalPodAutoscalerList) DeepCopy() *HorizontalPodAutoscalerList {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerList)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *HorizontalPodAutoscalerList) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerSpec) DeepCopyInto(out *HorizontalPodAutoscalerSpec) {
- *out = *in
- out.ScaleTargetRef = in.ScaleTargetRef
- if in.MinReplicas != nil {
- in, out := &in.MinReplicas, &out.MinReplicas
- *out = new(int32)
- **out = **in
- }
- if in.Metrics != nil {
- in, out := &in.Metrics, &out.Metrics
- *out = make([]MetricSpec, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- if in.Behavior != nil {
- in, out := &in.Behavior, &out.Behavior
- *out = new(HorizontalPodAutoscalerBehavior)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerSpec.
-func (in *HorizontalPodAutoscalerSpec) DeepCopy() *HorizontalPodAutoscalerSpec {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerSpec)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *HorizontalPodAutoscalerStatus) DeepCopyInto(out *HorizontalPodAutoscalerStatus) {
- *out = *in
- if in.ObservedGeneration != nil {
- in, out := &in.ObservedGeneration, &out.ObservedGeneration
- *out = new(int64)
- **out = **in
- }
- if in.LastScaleTime != nil {
- in, out := &in.LastScaleTime, &out.LastScaleTime
- *out = (*in).DeepCopy()
- }
- if in.CurrentMetrics != nil {
- in, out := &in.CurrentMetrics, &out.CurrentMetrics
- *out = make([]MetricStatus, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- if in.Conditions != nil {
- in, out := &in.Conditions, &out.Conditions
- *out = make([]HorizontalPodAutoscalerCondition, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerStatus.
-func (in *HorizontalPodAutoscalerStatus) DeepCopy() *HorizontalPodAutoscalerStatus {
- if in == nil {
- return nil
- }
- out := new(HorizontalPodAutoscalerStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *MetricIdentifier) DeepCopyInto(out *MetricIdentifier) {
- *out = *in
- if in.Selector != nil {
- in, out := &in.Selector, &out.Selector
- *out = new(v1.LabelSelector)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdentifier.
-func (in *MetricIdentifier) DeepCopy() *MetricIdentifier {
- if in == nil {
- return nil
- }
- out := new(MetricIdentifier)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *MetricSpec) DeepCopyInto(out *MetricSpec) {
- *out = *in
- if in.Object != nil {
- in, out := &in.Object, &out.Object
- *out = new(ObjectMetricSource)
- (*in).DeepCopyInto(*out)
- }
- if in.Pods != nil {
- in, out := &in.Pods, &out.Pods
- *out = new(PodsMetricSource)
- (*in).DeepCopyInto(*out)
- }
- if in.Resource != nil {
- in, out := &in.Resource, &out.Resource
- *out = new(ResourceMetricSource)
- (*in).DeepCopyInto(*out)
- }
- if in.ContainerResource != nil {
- in, out := &in.ContainerResource, &out.ContainerResource
- *out = new(ContainerResourceMetricSource)
- (*in).DeepCopyInto(*out)
- }
- if in.External != nil {
- in, out := &in.External, &out.External
- *out = new(ExternalMetricSource)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSpec.
-func (in *MetricSpec) DeepCopy() *MetricSpec {
- if in == nil {
- return nil
- }
- out := new(MetricSpec)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *MetricStatus) DeepCopyInto(out *MetricStatus) {
- *out = *in
- if in.Object != nil {
- in, out := &in.Object, &out.Object
- *out = new(ObjectMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- if in.Pods != nil {
- in, out := &in.Pods, &out.Pods
- *out = new(PodsMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- if in.Resource != nil {
- in, out := &in.Resource, &out.Resource
- *out = new(ResourceMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- if in.ContainerResource != nil {
- in, out := &in.ContainerResource, &out.ContainerResource
- *out = new(ContainerResourceMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- if in.External != nil {
- in, out := &in.External, &out.External
- *out = new(ExternalMetricStatus)
- (*in).DeepCopyInto(*out)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricStatus.
-func (in *MetricStatus) DeepCopy() *MetricStatus {
- if in == nil {
- return nil
- }
- out := new(MetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *MetricTarget) DeepCopyInto(out *MetricTarget) {
- *out = *in
- if in.Value != nil {
- in, out := &in.Value, &out.Value
- x := (*in).DeepCopy()
- *out = &x
- }
- if in.AverageValue != nil {
- in, out := &in.AverageValue, &out.AverageValue
- x := (*in).DeepCopy()
- *out = &x
- }
- if in.AverageUtilization != nil {
- in, out := &in.AverageUtilization, &out.AverageUtilization
- *out = new(int32)
- **out = **in
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricTarget.
-func (in *MetricTarget) DeepCopy() *MetricTarget {
- if in == nil {
- return nil
- }
- out := new(MetricTarget)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *MetricValueStatus) DeepCopyInto(out *MetricValueStatus) {
- *out = *in
- if in.Value != nil {
- in, out := &in.Value, &out.Value
- x := (*in).DeepCopy()
- *out = &x
- }
- if in.AverageValue != nil {
- in, out := &in.AverageValue, &out.AverageValue
- x := (*in).DeepCopy()
- *out = &x
- }
- if in.AverageUtilization != nil {
- in, out := &in.AverageUtilization, &out.AverageUtilization
- *out = new(int32)
- **out = **in
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricValueStatus.
-func (in *MetricValueStatus) DeepCopy() *MetricValueStatus {
- if in == nil {
- return nil
- }
- out := new(MetricValueStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ObjectMetricSource) DeepCopyInto(out *ObjectMetricSource) {
- *out = *in
- out.DescribedObject = in.DescribedObject
- in.Target.DeepCopyInto(&out.Target)
- in.Metric.DeepCopyInto(&out.Metric)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMetricSource.
-func (in *ObjectMetricSource) DeepCopy() *ObjectMetricSource {
- if in == nil {
- return nil
- }
- out := new(ObjectMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ObjectMetricStatus) DeepCopyInto(out *ObjectMetricStatus) {
- *out = *in
- in.Metric.DeepCopyInto(&out.Metric)
- in.Current.DeepCopyInto(&out.Current)
- out.DescribedObject = in.DescribedObject
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMetricStatus.
-func (in *ObjectMetricStatus) DeepCopy() *ObjectMetricStatus {
- if in == nil {
- return nil
- }
- out := new(ObjectMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) {
- *out = *in
- in.Metric.DeepCopyInto(&out.Metric)
- in.Target.DeepCopyInto(&out.Target)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodsMetricSource.
-func (in *PodsMetricSource) DeepCopy() *PodsMetricSource {
- if in == nil {
- return nil
- }
- out := new(PodsMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) {
- *out = *in
- in.Metric.DeepCopyInto(&out.Metric)
- in.Current.DeepCopyInto(&out.Current)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodsMetricStatus.
-func (in *PodsMetricStatus) DeepCopy() *PodsMetricStatus {
- if in == nil {
- return nil
- }
- out := new(PodsMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ResourceMetricSource) DeepCopyInto(out *ResourceMetricSource) {
- *out = *in
- in.Target.DeepCopyInto(&out.Target)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetricSource.
-func (in *ResourceMetricSource) DeepCopy() *ResourceMetricSource {
- if in == nil {
- return nil
- }
- out := new(ResourceMetricSource)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ResourceMetricStatus) DeepCopyInto(out *ResourceMetricStatus) {
- *out = *in
- in.Current.DeepCopyInto(&out.Current)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetricStatus.
-func (in *ResourceMetricStatus) DeepCopy() *ResourceMetricStatus {
- if in == nil {
- return nil
- }
- out := new(ResourceMetricStatus)
- in.DeepCopyInto(out)
- return out
-}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.model_name.go b/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.model_name.go
deleted file mode 100644
index 20e8a854c..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.model_name.go
+++ /dev/null
@@ -1,142 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by openapi-gen. DO NOT EDIT.
-
-package v2beta2
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ContainerResourceMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.ContainerResourceMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ContainerResourceMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.ContainerResourceMetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in CrossVersionObjectReference) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.CrossVersionObjectReference"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ExternalMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.ExternalMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ExternalMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.ExternalMetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HPAScalingPolicy) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.HPAScalingPolicy"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HPAScalingRules) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.HPAScalingRules"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscaler) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscaler"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerBehavior) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerBehavior"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerCondition) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerCondition"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerList) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerList"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerSpec) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerSpec"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in HorizontalPodAutoscalerStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in MetricIdentifier) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.MetricIdentifier"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in MetricSpec) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.MetricSpec"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in MetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.MetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in MetricTarget) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.MetricTarget"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in MetricValueStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.MetricValueStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ObjectMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.ObjectMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ObjectMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.ObjectMetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in PodsMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.PodsMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in PodsMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.PodsMetricStatus"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ResourceMetricSource) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.ResourceMetricSource"
-}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in ResourceMetricStatus) OpenAPIModelName() string {
- return "io.k8s.api.autoscaling.v2beta2.ResourceMetricStatus"
-}
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go
deleted file mode 100644
index 6d1c2504a..000000000
--- a/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go
+++ /dev/null
@@ -1,68 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by prerelease-lifecycle-gen. DO NOT EDIT.
-
-package v2beta2
-
-import (
- schema "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
-func (in *HorizontalPodAutoscaler) APILifecycleIntroduced() (major, minor int) {
- return 1, 12
-}
-
-// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
-func (in *HorizontalPodAutoscaler) APILifecycleDeprecated() (major, minor int) {
- return 1, 23
-}
-
-// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
-// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
-func (in *HorizontalPodAutoscaler) APILifecycleReplacement() schema.GroupVersionKind {
- return schema.GroupVersionKind{Group: "autoscaling", Version: "v2", Kind: "HorizontalPodAutoscaler"}
-}
-
-// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
-func (in *HorizontalPodAutoscaler) APILifecycleRemoved() (major, minor int) {
- return 1, 26
-}
-
-// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
-func (in *HorizontalPodAutoscalerList) APILifecycleIntroduced() (major, minor int) {
- return 1, 12
-}
-
-// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
-func (in *HorizontalPodAutoscalerList) APILifecycleDeprecated() (major, minor int) {
- return 1, 22
-}
-
-// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
-func (in *HorizontalPodAutoscalerList) APILifecycleRemoved() (major, minor int) {
- return 1, 25
-}
diff --git a/vendor/k8s.io/api/batch/v1/generated.pb.go b/vendor/k8s.io/api/batch/v1/generated.pb.go
index 099350e73..7c086a41c 100644
--- a/vendor/k8s.io/api/batch/v1/generated.pb.go
+++ b/vendor/k8s.io/api/batch/v1/generated.pb.go
@@ -26,6 +26,7 @@ import (
k8s_io_api_core_v1 "k8s.io/api/core/v1"
v11 "k8s.io/api/core/v1"
+ v1alpha3 "k8s.io/api/scheduling/v1alpha3"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
math_bits "math/bits"
@@ -49,6 +50,8 @@ func (m *JobCondition) Reset() { *m = JobCondition{} }
func (m *JobList) Reset() { *m = JobList{} }
+func (m *JobSchedulingConfiguration) Reset() { *m = JobSchedulingConfiguration{} }
+
func (m *JobSpec) Reset() { *m = JobSpec{} }
func (m *JobStatus) Reset() { *m = JobStatus{} }
@@ -472,6 +475,79 @@ func (m *JobList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *JobSchedulingConfiguration) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *JobSchedulingConfiguration) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *JobSchedulingConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.ResourceClaims) > 0 {
+ for iNdEx := len(m.ResourceClaims) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.ResourceClaims[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ if m.DisruptionMode != nil {
+ {
+ size, err := m.DisruptionMode.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
+ if m.SchedulingConstraints != nil {
+ {
+ size, err := m.SchedulingConstraints.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ if m.SchedulingPolicy != nil {
+ {
+ size, err := m.SchedulingPolicy.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
func (m *JobSpec) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -492,6 +568,20 @@ func (m *JobSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Scheduling != nil {
+ {
+ size, err := m.Scheduling.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0x8a
+ }
if m.SuccessPolicy != nil {
{
size, err := m.SuccessPolicy.MarshalToSizedBuffer(dAtA[:i])
@@ -1195,6 +1285,33 @@ func (m *JobList) Size() (n int) {
return n
}
+func (m *JobSchedulingConfiguration) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.SchedulingPolicy != nil {
+ l = m.SchedulingPolicy.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.SchedulingConstraints != nil {
+ l = m.SchedulingConstraints.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.DisruptionMode != nil {
+ l = m.DisruptionMode.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.ResourceClaims) > 0 {
+ for _, e := range m.ResourceClaims {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
func (m *JobSpec) Size() (n int) {
if m == nil {
return 0
@@ -1254,6 +1371,10 @@ func (m *JobSpec) Size() (n int) {
l = m.SuccessPolicy.Size()
n += 2 + l + sovGenerated(uint64(l))
}
+ if m.Scheduling != nil {
+ l = m.Scheduling.Size()
+ n += 2 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -1544,6 +1665,24 @@ func (this *JobList) String() string {
}, "")
return s
}
+func (this *JobSchedulingConfiguration) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForResourceClaims := "[]WorkloadPodGroupResourceClaim{"
+ for _, f := range this.ResourceClaims {
+ repeatedStringForResourceClaims += fmt.Sprintf("%v", f) + ","
+ }
+ repeatedStringForResourceClaims += "}"
+ s := strings.Join([]string{`&JobSchedulingConfiguration{`,
+ `SchedulingPolicy:` + strings.Replace(fmt.Sprintf("%v", this.SchedulingPolicy), "WorkloadPodGroupSchedulingPolicy", "v1alpha3.WorkloadPodGroupSchedulingPolicy", 1) + `,`,
+ `SchedulingConstraints:` + strings.Replace(fmt.Sprintf("%v", this.SchedulingConstraints), "WorkloadPodGroupSchedulingConstraints", "v1alpha3.WorkloadPodGroupSchedulingConstraints", 1) + `,`,
+ `DisruptionMode:` + strings.Replace(fmt.Sprintf("%v", this.DisruptionMode), "WorkloadPodGroupDisruptionMode", "v1alpha3.WorkloadPodGroupDisruptionMode", 1) + `,`,
+ `ResourceClaims:` + repeatedStringForResourceClaims + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *JobSpec) String() string {
if this == nil {
return "nil"
@@ -1565,6 +1704,7 @@ func (this *JobSpec) String() string {
`PodReplacementPolicy:` + valueToStringGenerated(this.PodReplacementPolicy) + `,`,
`ManagedBy:` + valueToStringGenerated(this.ManagedBy) + `,`,
`SuccessPolicy:` + strings.Replace(this.SuccessPolicy.String(), "SuccessPolicy", "SuccessPolicy", 1) + `,`,
+ `Scheduling:` + strings.Replace(this.Scheduling.String(), "JobSchedulingConfiguration", "JobSchedulingConfiguration", 1) + `,`,
`}`,
}, "")
return s
@@ -2898,6 +3038,198 @@ func (m *JobList) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *JobSchedulingConfiguration) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: JobSchedulingConfiguration: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: JobSchedulingConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SchedulingPolicy", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.SchedulingPolicy == nil {
+ m.SchedulingPolicy = &v1alpha3.WorkloadPodGroupSchedulingPolicy{}
+ }
+ if err := m.SchedulingPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SchedulingConstraints", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.SchedulingConstraints == nil {
+ m.SchedulingConstraints = &v1alpha3.WorkloadPodGroupSchedulingConstraints{}
+ }
+ if err := m.SchedulingConstraints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DisruptionMode", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.DisruptionMode == nil {
+ m.DisruptionMode = &v1alpha3.WorkloadPodGroupDisruptionMode{}
+ }
+ if err := m.DisruptionMode.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ResourceClaims", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ResourceClaims = append(m.ResourceClaims, v1alpha3.WorkloadPodGroupResourceClaim{})
+ if err := m.ResourceClaims[len(m.ResourceClaims)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *JobSpec) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -3349,6 +3681,42 @@ func (m *JobSpec) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 17:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Scheduling", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Scheduling == nil {
+ m.Scheduling = &JobSchedulingConfiguration{}
+ }
+ if err := m.Scheduling.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/vendor/k8s.io/api/batch/v1/generated.proto b/vendor/k8s.io/api/batch/v1/generated.proto
index ca8248ff5..da24d6d93 100644
--- a/vendor/k8s.io/api/batch/v1/generated.proto
+++ b/vendor/k8s.io/api/batch/v1/generated.proto
@@ -22,6 +22,7 @@ syntax = "proto2";
package k8s.io.api.batch.v1;
import "k8s.io/api/core/v1/generated.proto";
+import "k8s.io/api/scheduling/v1alpha3/generated.proto";
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
@@ -30,6 +31,7 @@ import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
option go_package = "k8s.io/api/batch/v1";
// CronJob represents the configuration of a single cron job.
+// +k8s:supportsSubresource="/status"
message CronJob {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -38,7 +40,7 @@ message CronJob {
// Specification of the desired behavior of a cron job, including the schedule.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional CronJobSpec spec = 2;
// Current status of a cron job.
@@ -61,6 +63,8 @@ message CronJobList {
// CronJobSpec describes how the job execution will look like and when it will actually run.
message CronJobSpec {
// The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string schedule = 1;
// The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
@@ -125,6 +129,7 @@ message CronJobStatus {
}
// Job represents the configuration of a single job.
+// +k8s:supportsSubresource="/status"
message Job {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -178,6 +183,62 @@ message JobList {
repeated Job items = 2;
}
+// JobSchedulingConfiguration composes the reusable workload-aware
+// scheduling building blocks.
+message JobSchedulingConfiguration {
+ // SchedulingPolicy defines the scheduling policy for this Job.
+ // Exactly one of Basic or Gang must be set.
+ // This field is immutable after creation: the policy may not be added or
+ // removed. The policy variant (basic/gang) is frozen by hand-written
+ // validation; only schedulingPolicy.gang.minCount may be changed.
+ //
+ // +optional
+ // +k8s:optional
+ // +k8s:update=NoSet
+ // +k8s:update=NoUnset
+ optional .k8s.io.api.scheduling.v1alpha3.WorkloadPodGroupSchedulingPolicy schedulingPolicy = 1;
+
+ // SchedulingConstraints defines scheduling constraints (e.g. topology)
+ // for the Job's pods.
+ // This field is immutable after creation.
+ //
+ // +optional
+ // +k8s:optional
+ // +k8s:immutable
+ optional .k8s.io.api.scheduling.v1alpha3.WorkloadPodGroupSchedulingConstraints schedulingConstraints = 2;
+
+ // DisruptionMode defines the mode in which the Job's pods can be disrupted.
+ // One of Single, All.
+ // This field is immutable after creation: it may not be added or removed,
+ // and the selected mode may not be changed.
+ //
+ // +optional
+ // +k8s:optional
+ // +k8s:immutable
+ optional .k8s.io.api.scheduling.v1alpha3.WorkloadPodGroupDisruptionMode disruptionMode = 3;
+
+ // ResourceClaims defines which ResourceClaims may be shared among Pods in
+ // the Job. Pods consume the devices allocated to a PodGroup's claim by
+ // defining a claim in its own Spec.ResourceClaims that matches the
+ // PodGroup's claim exactly. The claim must have the same name and refer to
+ // the same ResourceClaim or ResourceClaimTemplate.
+ // At most 4 claims may be set, matching the limit on the resulting PodGroup.
+ // This list is immutable after creation: entries may neither be added,
+ // removed, nor modified.
+ //
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=4
+ // +k8s:immutable
+ repeated .k8s.io.api.scheduling.v1alpha3.WorkloadPodGroupResourceClaim resourceClaims = 4;
+}
+
// JobSpec describes how the job execution will look like.
message JobSpec {
// Specifies the maximum desired number of pods the job should
@@ -249,6 +310,8 @@ message JobSpec {
// It can be null or up to completions. It is required and must be
// less than or equal to 10^4 when is completions greater than 10^5.
// +optional
+ // +k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:dependentRequired("backoffLimitPerIndex")
optional int32 maxFailedIndexes = 13;
// A label query over pods that should match the pod count.
@@ -344,6 +407,23 @@ message JobSpec {
// This field is immutable.
// +optional
optional string managedBy = 15;
+
+ // scheduling defines the Workload-aware Scheduling configuration for this Job.
+ // When set, it specifies the scheduling policy (basic or gang), topology
+ // constraints, disruption mode, and shared resource claims.
+ // When omitted, the Job defaults to the basic scheduling policy, which behaves
+ // as standard pod-by-pod scheduling.
+ // This field is alpha-level and requires the WorkloadWithJob feature gate.
+ // This field is immutable, including whether it is set at all, only
+ // policy.gang.minCount may be changed after creation.
+ //
+ // +featureGate=WorkloadWithJob
+ // +optional
+ // +k8s:ifDisabled(WorkloadWithJob)=+k8s:forbidden
+ // +k8s:optional
+ // +k8s:update=NoSet
+ // +k8s:update=NoUnset
+ optional JobSchedulingConfiguration scheduling = 17;
}
// JobStatus represents the current state of a Job.
@@ -406,9 +486,6 @@ message JobStatus {
// The number of pods which are terminating (in phase Pending or Running
// and have a deletionTimestamp).
- //
- // This field is beta-level. The job controller populates the field when
- // the feature gate JobPodReplacementPolicy is enabled (enabled by default).
// +optional
optional int32 terminating = 11;
@@ -463,6 +540,7 @@ message JobTemplateSpec {
// Standard object's metadata of the jobs created from this template.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Specification of the desired behavior of the job.
diff --git a/vendor/k8s.io/api/batch/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/batch/v1/generated.protomessage.pb.go
deleted file mode 100644
index 82928e07d..000000000
--- a/vendor/k8s.io/api/batch/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,56 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*CronJob) ProtoMessage() {}
-
-func (*CronJobList) ProtoMessage() {}
-
-func (*CronJobSpec) ProtoMessage() {}
-
-func (*CronJobStatus) ProtoMessage() {}
-
-func (*Job) ProtoMessage() {}
-
-func (*JobCondition) ProtoMessage() {}
-
-func (*JobList) ProtoMessage() {}
-
-func (*JobSpec) ProtoMessage() {}
-
-func (*JobStatus) ProtoMessage() {}
-
-func (*JobTemplateSpec) ProtoMessage() {}
-
-func (*PodFailurePolicy) ProtoMessage() {}
-
-func (*PodFailurePolicyOnExitCodesRequirement) ProtoMessage() {}
-
-func (*PodFailurePolicyOnPodConditionsPattern) ProtoMessage() {}
-
-func (*PodFailurePolicyRule) ProtoMessage() {}
-
-func (*SuccessPolicy) ProtoMessage() {}
-
-func (*SuccessPolicyRule) ProtoMessage() {}
-
-func (*UncountedTerminatedPods) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/batch/v1/types.go b/vendor/k8s.io/api/batch/v1/types.go
index 26d0ee6dc..8e35cb228 100644
--- a/vendor/k8s.io/api/batch/v1/types.go
+++ b/vendor/k8s.io/api/batch/v1/types.go
@@ -18,6 +18,7 @@ package v1
import (
corev1 "k8s.io/api/core/v1"
+ schedulingv1alpha3 "k8s.io/api/scheduling/v1alpha3"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
)
@@ -66,8 +67,9 @@ const (
// +k8s:prerelease-lifecycle-gen:introduced=1.2
// Job represents the configuration of a single job.
+// +k8s:supportsSubresource="/status"
type Job struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -89,7 +91,7 @@ type Job struct {
// JobList is a collection of jobs.
type JobList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -371,6 +373,8 @@ type JobSpec struct {
// It can be null or up to completions. It is required and must be
// less than or equal to 10^4 when is completions greater than 10^5.
// +optional
+ // +k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:dependentRequired("backoffLimitPerIndex")
MaxFailedIndexes *int32 `json:"maxFailedIndexes,omitempty" protobuf:"varint,13,opt,name=maxFailedIndexes"`
// TODO enabled it when https://github.com/kubernetes/kubernetes/issues/28486 has been fixed
@@ -471,6 +475,79 @@ type JobSpec struct {
// This field is immutable.
// +optional
ManagedBy *string `json:"managedBy,omitempty" protobuf:"bytes,15,opt,name=managedBy"`
+
+ // scheduling defines the Workload-aware Scheduling configuration for this Job.
+ // When set, it specifies the scheduling policy (basic or gang), topology
+ // constraints, disruption mode, and shared resource claims.
+ // When omitted, the Job defaults to the basic scheduling policy, which behaves
+ // as standard pod-by-pod scheduling.
+ // This field is alpha-level and requires the WorkloadWithJob feature gate.
+ // This field is immutable, including whether it is set at all, only
+ // policy.gang.minCount may be changed after creation.
+ //
+ // +featureGate=WorkloadWithJob
+ // +optional
+ // +k8s:ifDisabled(WorkloadWithJob)=+k8s:forbidden
+ // +k8s:optional
+ // +k8s:update=NoSet
+ // +k8s:update=NoUnset
+ Scheduling *JobSchedulingConfiguration `json:"scheduling,omitempty" protobuf:"bytes,17,opt,name=scheduling"`
+}
+
+// JobSchedulingConfiguration composes the reusable workload-aware
+// scheduling building blocks.
+type JobSchedulingConfiguration struct {
+ // SchedulingPolicy defines the scheduling policy for this Job.
+ // Exactly one of Basic or Gang must be set.
+ // This field is immutable after creation: the policy may not be added or
+ // removed. The policy variant (basic/gang) is frozen by hand-written
+ // validation; only schedulingPolicy.gang.minCount may be changed.
+ //
+ // +optional
+ // +k8s:optional
+ // +k8s:update=NoSet
+ // +k8s:update=NoUnset
+ SchedulingPolicy *schedulingv1alpha3.WorkloadPodGroupSchedulingPolicy `json:"schedulingPolicy,omitempty" protobuf:"bytes,1,opt,name=schedulingPolicy"`
+
+ // SchedulingConstraints defines scheduling constraints (e.g. topology)
+ // for the Job's pods.
+ // This field is immutable after creation.
+ //
+ // +optional
+ // +k8s:optional
+ // +k8s:immutable
+ SchedulingConstraints *schedulingv1alpha3.WorkloadPodGroupSchedulingConstraints `json:"schedulingConstraints,omitempty" protobuf:"bytes,2,opt,name=schedulingConstraints"`
+
+ // DisruptionMode defines the mode in which the Job's pods can be disrupted.
+ // One of Single, All.
+ // This field is immutable after creation: it may not be added or removed,
+ // and the selected mode may not be changed.
+ //
+ // +optional
+ // +k8s:optional
+ // +k8s:immutable
+ DisruptionMode *schedulingv1alpha3.WorkloadPodGroupDisruptionMode `json:"disruptionMode,omitempty" protobuf:"bytes,3,opt,name=disruptionMode"`
+
+ // ResourceClaims defines which ResourceClaims may be shared among Pods in
+ // the Job. Pods consume the devices allocated to a PodGroup's claim by
+ // defining a claim in its own Spec.ResourceClaims that matches the
+ // PodGroup's claim exactly. The claim must have the same name and refer to
+ // the same ResourceClaim or ResourceClaimTemplate.
+ // At most 4 claims may be set, matching the limit on the resulting PodGroup.
+ // This list is immutable after creation: entries may neither be added,
+ // removed, nor modified.
+ //
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=4
+ // +k8s:immutable
+ ResourceClaims []schedulingv1alpha3.WorkloadPodGroupResourceClaim `json:"resourceClaims,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,4,rep,name=resourceClaims"`
}
// JobStatus represents the current state of a Job.
@@ -533,9 +610,6 @@ type JobStatus struct {
// The number of pods which are terminating (in phase Pending or Running
// and have a deletionTimestamp).
- //
- // This field is beta-level. The job controller populates the field when
- // the feature gate JobPodReplacementPolicy is enabled (enabled by default).
// +optional
Terminating *int32 `json:"terminating,omitempty" protobuf:"varint,11,opt,name=terminating"`
@@ -626,10 +700,8 @@ const (
// JobReasponDeadlineExceeded means job duration is past ActiveDeadline
JobReasonDeadlineExceeded string = "DeadlineExceeded"
// JobReasonMaxFailedIndexesExceeded indicates that an indexed of a job failed
- // This const is used in beta-level feature: https://kep.k8s.io/3850.
JobReasonMaxFailedIndexesExceeded string = "MaxFailedIndexesExceeded"
// JobReasonFailedIndexes means Job has failed indexes.
- // This const is used in beta-level feature: https://kep.k8s.io/3850.
JobReasonFailedIndexes string = "FailedIndexes"
// JobReasonSuccessPolicy reason indicates a SuccessCriteriaMet condition is added due to
// a Job met successPolicy.
@@ -664,6 +736,7 @@ type JobTemplateSpec struct {
// Standard object's metadata of the jobs created from this template.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the job.
@@ -677,8 +750,9 @@ type JobTemplateSpec struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.21
// CronJob represents the configuration of a single cron job.
+// +k8s:supportsSubresource="/status"
type CronJob struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -686,7 +760,7 @@ type CronJob struct {
// Specification of the desired behavior of a cron job, including the schedule.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec CronJobSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Current status of a cron job.
@@ -700,7 +774,7 @@ type CronJob struct {
// CronJobList is a collection of cron jobs.
type CronJobList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -715,6 +789,8 @@ type CronJobList struct {
type CronJobSpec struct {
// The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Schedule string `json:"schedule" protobuf:"bytes,1,opt,name=schedule"`
// The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
diff --git a/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go
index 267df4292..ddf64555a 100644
--- a/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go
@@ -110,6 +110,18 @@ func (JobList) SwaggerDoc() map[string]string {
return map_JobList
}
+var map_JobSchedulingConfiguration = map[string]string{
+ "": "JobSchedulingConfiguration composes the reusable workload-aware scheduling building blocks.",
+ "schedulingPolicy": "SchedulingPolicy defines the scheduling policy for this Job. Exactly one of Basic or Gang must be set. This field is immutable after creation: the policy may not be added or removed. The policy variant (basic/gang) is frozen by hand-written validation; only schedulingPolicy.gang.minCount may be changed.",
+ "schedulingConstraints": "SchedulingConstraints defines scheduling constraints (e.g. topology) for the Job's pods. This field is immutable after creation.",
+ "disruptionMode": "DisruptionMode defines the mode in which the Job's pods can be disrupted. One of Single, All. This field is immutable after creation: it may not be added or removed, and the selected mode may not be changed.",
+ "resourceClaims": "ResourceClaims defines which ResourceClaims may be shared among Pods in the Job. Pods consume the devices allocated to a PodGroup's claim by defining a claim in its own Spec.ResourceClaims that matches the PodGroup's claim exactly. The claim must have the same name and refer to the same ResourceClaim or ResourceClaimTemplate. At most 4 claims may be set, matching the limit on the resulting PodGroup. This list is immutable after creation: entries may neither be added, removed, nor modified.",
+}
+
+func (JobSchedulingConfiguration) SwaggerDoc() map[string]string {
+ return map_JobSchedulingConfiguration
+}
+
var map_JobSpec = map[string]string{
"": "JobSpec describes how the job execution will look like.",
"parallelism": "Specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/",
@@ -128,6 +140,7 @@ var map_JobSpec = map[string]string{
"suspend": "suspend specifies whether the Job controller should create Pods or not. If a Job is created with suspend set to true, no Pods are created by the Job controller. If a Job is suspended after creation (i.e. the flag goes from false to true), the Job controller will delete all active Pods associated with this Job. Users must design their workload to gracefully handle this. Suspending a Job will reset the StartTime field of the Job, effectively resetting the ActiveDeadlineSeconds timer too. Defaults to false.",
"podReplacementPolicy": "podReplacementPolicy specifies when to create replacement Pods. Possible values are: - TerminatingOrFailed means that we recreate pods\n when they are terminating (has a metadata.deletionTimestamp) or failed.\n- Failed means to wait until a previously created Pod is fully terminated (has phase\n Failed or Succeeded) before creating a replacement Pod.\n\nWhen using podFailurePolicy, Failed is the the only allowed value. TerminatingOrFailed and Failed are allowed values when podFailurePolicy is not in use.",
"managedBy": "ManagedBy field indicates the controller that manages a Job. The k8s Job controller reconciles jobs which don't have this field at all or the field value is the reserved string `kubernetes.io/job-controller`, but skips reconciling Jobs with a custom value for this field. The value must be a valid domain-prefixed path (e.g. acme.io/foo) - all characters before the first \"/\" must be a valid subdomain as defined by RFC 1123. All characters trailing the first \"/\" must be valid HTTP Path characters as defined by RFC 3986. The value cannot exceed 63 characters. This field is immutable.",
+ "scheduling": "scheduling defines the Workload-aware Scheduling configuration for this Job. When set, it specifies the scheduling policy (basic or gang), topology constraints, disruption mode, and shared resource claims. When omitted, the Job defaults to the basic scheduling policy, which behaves as standard pod-by-pod scheduling. This field is alpha-level and requires the WorkloadWithJob feature gate. This field is immutable, including whether it is set at all, only policy.gang.minCount may be changed after creation.",
}
func (JobSpec) SwaggerDoc() map[string]string {
@@ -142,7 +155,7 @@ var map_JobStatus = map[string]string{
"active": "The number of pending and running pods which are not terminating (without a deletionTimestamp). The value is zero for finished jobs.",
"succeeded": "The number of pods which reached phase Succeeded. The value increases monotonically for a given spec. However, it may decrease in reaction to scale down of elastic indexed jobs.",
"failed": "The number of pods which reached phase Failed. The value increases monotonically.",
- "terminating": "The number of pods which are terminating (in phase Pending or Running and have a deletionTimestamp).\n\nThis field is beta-level. The job controller populates the field when the feature gate JobPodReplacementPolicy is enabled (enabled by default).",
+ "terminating": "The number of pods which are terminating (in phase Pending or Running and have a deletionTimestamp).",
"completedIndexes": "completedIndexes holds the completed indexes when .spec.completionMode = \"Indexed\" in a text format. The indexes are represented as decimal integers separated by commas. The numbers are listed in increasing order. Three or more consecutive numbers are compressed and represented by the first and last element of the series, separated by a hyphen. For example, if the completed indexes are 1, 3, 4, 5 and 7, they are represented as \"1,3-5,7\".",
"failedIndexes": "FailedIndexes holds the failed indexes when spec.backoffLimitPerIndex is set. The indexes are represented in the text format analogous as for the `completedIndexes` field, ie. they are kept as decimal integers separated by commas. The numbers are listed in increasing order. Three or more consecutive numbers are compressed and represented by the first and last element of the series, separated by a hyphen. For example, if the failed indexes are 1, 3, 4, 5 and 7, they are represented as \"1,3-5,7\". The set of failed indexes cannot overlap with the set of completed indexes.",
"uncountedTerminatedPods": "uncountedTerminatedPods holds the UIDs of Pods that have terminated but the job controller hasn't yet accounted for in the status counters.\n\nThe job controller creates pods with a finalizer. When a pod terminates (succeeded or failed), the controller does three steps to account for it in the job status:\n\n1. Add the pod UID to the arrays in this field. 2. Remove the pod finalizer. 3. Remove the pod UID from the arrays while increasing the corresponding\n counter.\n\nOld jobs might not be tracked using this field, in which case the field remains null. The structure is empty for finished jobs.",
diff --git a/vendor/k8s.io/api/batch/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/batch/v1/zz_generated.deepcopy.go
index 88c58b3d1..50d47596f 100644
--- a/vendor/k8s.io/api/batch/v1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/batch/v1/zz_generated.deepcopy.go
@@ -23,6 +23,7 @@ package v1
import (
corev1 "k8s.io/api/core/v1"
+ v1alpha3 "k8s.io/api/scheduling/v1alpha3"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
types "k8s.io/apimachinery/pkg/types"
@@ -239,6 +240,44 @@ func (in *JobList) DeepCopyObject() runtime.Object {
return nil
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *JobSchedulingConfiguration) DeepCopyInto(out *JobSchedulingConfiguration) {
+ *out = *in
+ if in.SchedulingPolicy != nil {
+ in, out := &in.SchedulingPolicy, &out.SchedulingPolicy
+ *out = new(v1alpha3.WorkloadPodGroupSchedulingPolicy)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.SchedulingConstraints != nil {
+ in, out := &in.SchedulingConstraints, &out.SchedulingConstraints
+ *out = new(v1alpha3.WorkloadPodGroupSchedulingConstraints)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.DisruptionMode != nil {
+ in, out := &in.DisruptionMode, &out.DisruptionMode
+ *out = new(v1alpha3.WorkloadPodGroupDisruptionMode)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.ResourceClaims != nil {
+ in, out := &in.ResourceClaims, &out.ResourceClaims
+ *out = make([]v1alpha3.WorkloadPodGroupResourceClaim, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobSchedulingConfiguration.
+func (in *JobSchedulingConfiguration) DeepCopy() *JobSchedulingConfiguration {
+ if in == nil {
+ return nil
+ }
+ out := new(JobSchedulingConfiguration)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *JobSpec) DeepCopyInto(out *JobSpec) {
*out = *in
@@ -318,6 +357,11 @@ func (in *JobSpec) DeepCopyInto(out *JobSpec) {
*out = new(string)
**out = **in
}
+ if in.Scheduling != nil {
+ in, out := &in.Scheduling, &out.Scheduling
+ *out = new(JobSchedulingConfiguration)
+ (*in).DeepCopyInto(*out)
+ }
return
}
diff --git a/vendor/k8s.io/api/batch/v1/zz_generated.model_name.go b/vendor/k8s.io/api/batch/v1/zz_generated.model_name.go
index c5b86f29c..d7305143a 100644
--- a/vendor/k8s.io/api/batch/v1/zz_generated.model_name.go
+++ b/vendor/k8s.io/api/batch/v1/zz_generated.model_name.go
@@ -56,6 +56,11 @@ func (in JobList) OpenAPIModelName() string {
return "io.k8s.api.batch.v1.JobList"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in JobSchedulingConfiguration) OpenAPIModelName() string {
+ return "io.k8s.api.batch.v1.JobSchedulingConfiguration"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in JobSpec) OpenAPIModelName() string {
return "io.k8s.api.batch.v1.JobSpec"
diff --git a/vendor/k8s.io/api/batch/v1beta1/generated.proto b/vendor/k8s.io/api/batch/v1beta1/generated.proto
index 6dd322128..411d681d0 100644
--- a/vendor/k8s.io/api/batch/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/batch/v1beta1/generated.proto
@@ -31,6 +31,7 @@ import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
option go_package = "k8s.io/api/batch/v1beta1";
// CronJob represents the configuration of a single cron job.
+// +k8s:supportsSubresource="/status"
message CronJob {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -39,7 +40,7 @@ message CronJob {
// Specification of the desired behavior of a cron job, including the schedule.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional CronJobSpec spec = 2;
// Current status of a cron job.
@@ -62,6 +63,8 @@ message CronJobList {
// CronJobSpec describes how the job execution will look like and when it will actually run.
message CronJobSpec {
// The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string schedule = 1;
// The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
@@ -132,6 +135,7 @@ message JobTemplateSpec {
// Standard object's metadata of the jobs created from this template.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Specification of the desired behavior of the job.
diff --git a/vendor/k8s.io/api/batch/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/batch/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index 57520d7af..000000000
--- a/vendor/k8s.io/api/batch/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,32 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*CronJob) ProtoMessage() {}
-
-func (*CronJobList) ProtoMessage() {}
-
-func (*CronJobSpec) ProtoMessage() {}
-
-func (*CronJobStatus) ProtoMessage() {}
-
-func (*JobTemplateSpec) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/batch/v1beta1/types.go b/vendor/k8s.io/api/batch/v1beta1/types.go
index 976752a92..dea910b82 100644
--- a/vendor/k8s.io/api/batch/v1beta1/types.go
+++ b/vendor/k8s.io/api/batch/v1beta1/types.go
@@ -27,6 +27,7 @@ type JobTemplateSpec struct {
// Standard object's metadata of the jobs created from this template.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the job.
@@ -43,8 +44,9 @@ type JobTemplateSpec struct {
// +k8s:prerelease-lifecycle-gen:replacement=batch,v1,CronJob
// CronJob represents the configuration of a single cron job.
+// +k8s:supportsSubresource="/status"
type CronJob struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -52,7 +54,7 @@ type CronJob struct {
// Specification of the desired behavior of a cron job, including the schedule.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec CronJobSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Current status of a cron job.
@@ -69,7 +71,7 @@ type CronJob struct {
// CronJobList is a collection of cron jobs.
type CronJobList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -84,6 +86,8 @@ type CronJobList struct {
type CronJobSpec struct {
// The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Schedule string `json:"schedule" protobuf:"bytes,1,opt,name=schedule"`
// The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
diff --git a/vendor/k8s.io/api/certificates/v1/generated.pb.go b/vendor/k8s.io/api/certificates/v1/generated.pb.go
index e47a42e62..5b103ff8d 100644
--- a/vendor/k8s.io/api/certificates/v1/generated.pb.go
+++ b/vendor/k8s.io/api/certificates/v1/generated.pb.go
@@ -26,10 +26,13 @@ import (
"sort"
k8s_io_api_core_v1 "k8s.io/api/core/v1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
math_bits "math/bits"
reflect "reflect"
strings "strings"
+
+ k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types"
)
func (m *CertificateSigningRequest) Reset() { *m = CertificateSigningRequest{} }
@@ -42,8 +45,22 @@ func (m *CertificateSigningRequestSpec) Reset() { *m = CertificateSigningRequest
func (m *CertificateSigningRequestStatus) Reset() { *m = CertificateSigningRequestStatus{} }
+func (m *ClusterTrustBundle) Reset() { *m = ClusterTrustBundle{} }
+
+func (m *ClusterTrustBundleList) Reset() { *m = ClusterTrustBundleList{} }
+
+func (m *ClusterTrustBundleSpec) Reset() { *m = ClusterTrustBundleSpec{} }
+
func (m *ExtraValue) Reset() { *m = ExtraValue{} }
+func (m *PodCertificateRequest) Reset() { *m = PodCertificateRequest{} }
+
+func (m *PodCertificateRequestList) Reset() { *m = PodCertificateRequestList{} }
+
+func (m *PodCertificateRequestSpec) Reset() { *m = PodCertificateRequestSpec{} }
+
+func (m *PodCertificateRequestStatus) Reset() { *m = PodCertificateRequestStatus{} }
+
func (m *CertificateSigningRequest) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -348,7 +365,7 @@ func (m *CertificateSigningRequestStatus) MarshalToSizedBuffer(dAtA []byte) (int
return len(dAtA) - i, nil
}
-func (m ExtraValue) Marshal() (dAtA []byte, err error) {
+func (m *ClusterTrustBundle) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -358,270 +375,2058 @@ func (m ExtraValue) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m ExtraValue) MarshalTo(dAtA []byte) (int, error) {
+func (m *ClusterTrustBundle) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m ExtraValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ClusterTrustBundle) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m) > 0 {
- for iNdEx := len(m) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m[iNdEx])
- copy(dAtA[i:], m[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m[iNdEx])))
- i--
- dAtA[i] = 0xa
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
- offset -= sovGenerated(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
+func (m *ClusterTrustBundleList) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- dAtA[offset] = uint8(v)
- return base
+ return dAtA[:n], nil
}
-func (m *CertificateSigningRequest) Size() (n int) {
- if m == nil {
- return 0
- }
+
+func (m *ClusterTrustBundleList) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ClusterTrustBundleList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Spec.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Status.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ if len(m.Items) > 0 {
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *CertificateSigningRequestCondition) Size() (n int) {
- if m == nil {
- return 0
+func (m *ClusterTrustBundleSpec) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *ClusterTrustBundleSpec) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ClusterTrustBundleSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = len(m.Type)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Reason)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Message)
- n += 1 + l + sovGenerated(uint64(l))
- l = m.LastUpdateTime.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.LastTransitionTime.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Status)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ i -= len(m.TrustBundle)
+ copy(dAtA[i:], m.TrustBundle)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.TrustBundle)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.SignerName)
+ copy(dAtA[i:], m.SignerName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.SignerName)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *CertificateSigningRequestList) Size() (n int) {
- if m == nil {
- return 0
+func (m ExtraValue) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m ExtraValue) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m ExtraValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = m.ListMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Items) > 0 {
- for _, e := range m.Items {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m) > 0 {
+ for iNdEx := len(m) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m[iNdEx])
+ copy(dAtA[i:], m[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m[iNdEx])))
+ i--
+ dAtA[i] = 0xa
}
}
- return n
+ return len(dAtA) - i, nil
}
-func (m *CertificateSigningRequestSpec) Size() (n int) {
- if m == nil {
- return 0
+func (m *PodCertificateRequest) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *PodCertificateRequest) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *PodCertificateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- if m.Request != nil {
- l = len(m.Request)
- n += 1 + l + sovGenerated(uint64(l))
- }
- l = len(m.Username)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.UID)
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Groups) > 0 {
- for _, s := range m.Groups {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
+ {
+ size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- if len(m.Usages) > 0 {
- for _, s := range m.Usages {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
+ i--
+ dAtA[i] = 0x1a
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- if len(m.Extra) > 0 {
- for k, v := range m.Extra {
- _ = k
- _ = v
- l = v.Size()
- mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l))
- n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- l = len(m.SignerName)
- n += 1 + l + sovGenerated(uint64(l))
- if m.ExpirationSeconds != nil {
- n += 1 + sovGenerated(uint64(*m.ExpirationSeconds))
- }
- return n
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *CertificateSigningRequestStatus) Size() (n int) {
- if m == nil {
- return 0
+func (m *PodCertificateRequestList) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *PodCertificateRequestList) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *PodCertificateRequestList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- if len(m.Conditions) > 0 {
- for _, e := range m.Conditions {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
}
}
- if m.Certificate != nil {
- l = len(m.Certificate)
- n += 1 + l + sovGenerated(uint64(l))
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- return n
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m ExtraValue) Size() (n int) {
- if m == nil {
- return 0
+func (m *PodCertificateRequestSpec) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *PodCertificateRequestSpec) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *PodCertificateRequestSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- if len(m) > 0 {
- for _, s := range m {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
+ if m.StubPKCS10Request != nil {
+ i -= len(m.StubPKCS10Request)
+ copy(dAtA[i:], m.StubPKCS10Request)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.StubPKCS10Request)))
+ i--
+ dAtA[i] = 0x62
+ }
+ if len(m.UnverifiedUserAnnotations) > 0 {
+ keysForUnverifiedUserAnnotations := make([]string, 0, len(m.UnverifiedUserAnnotations))
+ for k := range m.UnverifiedUserAnnotations {
+ keysForUnverifiedUserAnnotations = append(keysForUnverifiedUserAnnotations, string(k))
+ }
+ sort.Strings(keysForUnverifiedUserAnnotations)
+ for iNdEx := len(keysForUnverifiedUserAnnotations) - 1; iNdEx >= 0; iNdEx-- {
+ v := m.UnverifiedUserAnnotations[string(keysForUnverifiedUserAnnotations[iNdEx])]
+ baseI := i
+ i -= len(v)
+ copy(dAtA[i:], v)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(v)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(keysForUnverifiedUserAnnotations[iNdEx])
+ copy(dAtA[i:], keysForUnverifiedUserAnnotations[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(keysForUnverifiedUserAnnotations[iNdEx])))
+ i--
+ dAtA[i] = 0xa
+ i = encodeVarintGenerated(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0x5a
}
}
- return n
+ if m.MaxExpirationSeconds != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.MaxExpirationSeconds))
+ i--
+ dAtA[i] = 0x40
+ }
+ i -= len(m.NodeUID)
+ copy(dAtA[i:], m.NodeUID)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.NodeUID)))
+ i--
+ dAtA[i] = 0x3a
+ i -= len(m.NodeName)
+ copy(dAtA[i:], m.NodeName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.NodeName)))
+ i--
+ dAtA[i] = 0x32
+ i -= len(m.ServiceAccountUID)
+ copy(dAtA[i:], m.ServiceAccountUID)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ServiceAccountUID)))
+ i--
+ dAtA[i] = 0x2a
+ i -= len(m.ServiceAccountName)
+ copy(dAtA[i:], m.ServiceAccountName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ServiceAccountName)))
+ i--
+ dAtA[i] = 0x22
+ i -= len(m.PodUID)
+ copy(dAtA[i:], m.PodUID)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.PodUID)))
+ i--
+ dAtA[i] = 0x1a
+ i -= len(m.PodName)
+ copy(dAtA[i:], m.PodName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.PodName)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.SignerName)
+ copy(dAtA[i:], m.SignerName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.SignerName)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func sovGenerated(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGenerated(x uint64) (n int) {
- return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *CertificateSigningRequest) String() string {
- if this == nil {
- return "nil"
+func (m *PodCertificateRequestStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- s := strings.Join([]string{`&CertificateSigningRequest{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "CertificateSigningRequestSpec", "CertificateSigningRequestSpec", 1), `&`, ``, 1) + `,`,
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "CertificateSigningRequestStatus", "CertificateSigningRequestStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
+ return dAtA[:n], nil
}
-func (this *CertificateSigningRequestCondition) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&CertificateSigningRequestCondition{`,
- `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
- `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
- `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
- `LastUpdateTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastUpdateTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
- `LastTransitionTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
- `Status:` + fmt.Sprintf("%v", this.Status) + `,`,
- `}`,
- }, "")
- return s
+
+func (m *PodCertificateRequestStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (this *CertificateSigningRequestList) String() string {
- if this == nil {
- return "nil"
+
+func (m *PodCertificateRequestStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.NotAfter != nil {
+ {
+ size, err := m.NotAfter.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x32
}
- repeatedStringForItems := "[]CertificateSigningRequest{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "CertificateSigningRequest", "CertificateSigningRequest", 1), `&`, ``, 1) + ","
+ if m.BeginRefreshAt != nil {
+ {
+ size, err := m.BeginRefreshAt.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2a
}
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&CertificateSigningRequestList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *CertificateSigningRequestSpec) String() string {
- if this == nil {
- return "nil"
+ if m.NotBefore != nil {
+ {
+ size, err := m.NotBefore.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
}
- keysForExtra := make([]string, 0, len(this.Extra))
- for k := range this.Extra {
- keysForExtra = append(keysForExtra, k)
+ i -= len(m.CertificateChain)
+ copy(dAtA[i:], m.CertificateChain)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.CertificateChain)))
+ i--
+ dAtA[i] = 0x12
+ if len(m.Conditions) > 0 {
+ for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
}
- sort.Strings(keysForExtra)
- mapStringForExtra := "map[string]ExtraValue{"
- for _, k := range keysForExtra {
- mapStringForExtra += fmt.Sprintf("%v: %v,", k, this.Extra[k])
+ return len(dAtA) - i, nil
+}
+
+func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
+ offset -= sovGenerated(v)
+ base := offset
+ for v >= 1<<7 {
+ dAtA[offset] = uint8(v&0x7f | 0x80)
+ v >>= 7
+ offset++
}
- mapStringForExtra += "}"
- s := strings.Join([]string{`&CertificateSigningRequestSpec{`,
- `Request:` + valueToStringGenerated(this.Request) + `,`,
- `Username:` + fmt.Sprintf("%v", this.Username) + `,`,
- `UID:` + fmt.Sprintf("%v", this.UID) + `,`,
- `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`,
- `Usages:` + fmt.Sprintf("%v", this.Usages) + `,`,
- `Extra:` + mapStringForExtra + `,`,
- `SignerName:` + fmt.Sprintf("%v", this.SignerName) + `,`,
- `ExpirationSeconds:` + valueToStringGenerated(this.ExpirationSeconds) + `,`,
- `}`,
- }, "")
- return s
+ dAtA[offset] = uint8(v)
+ return base
}
-func (this *CertificateSigningRequestStatus) String() string {
- if this == nil {
- return "nil"
+func (m *CertificateSigningRequest) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForConditions := "[]CertificateSigningRequestCondition{"
- for _, f := range this.Conditions {
- repeatedStringForConditions += strings.Replace(strings.Replace(f.String(), "CertificateSigningRequestCondition", "CertificateSigningRequestCondition", 1), `&`, ``, 1) + ","
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Status.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *CertificateSigningRequestCondition) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForConditions += "}"
- s := strings.Join([]string{`&CertificateSigningRequestStatus{`,
- `Conditions:` + repeatedStringForConditions + `,`,
- `Certificate:` + valueToStringGenerated(this.Certificate) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = len(m.Type)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Reason)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Message)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.LastUpdateTime.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.LastTransitionTime.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Status)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func valueToStringGenerated(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
+
+func (m *CertificateSigningRequestList) Size() (n int) {
+ if m == nil {
+ return 0
}
- pv := reflect.Indirect(rv).Interface()
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *CertificateSigningRequestSpec) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.Request != nil {
+ l = len(m.Request)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ l = len(m.Username)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.UID)
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Groups) > 0 {
+ for _, s := range m.Groups {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.Usages) > 0 {
+ for _, s := range m.Usages {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.Extra) > 0 {
+ for k, v := range m.Extra {
+ _ = k
+ _ = v
+ l = v.Size()
+ mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l))
+ n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
+ }
+ }
+ l = len(m.SignerName)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.ExpirationSeconds != nil {
+ n += 1 + sovGenerated(uint64(*m.ExpirationSeconds))
+ }
+ return n
+}
+
+func (m *CertificateSigningRequestStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.Conditions) > 0 {
+ for _, e := range m.Conditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if m.Certificate != nil {
+ l = len(m.Certificate)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *ClusterTrustBundle) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *ClusterTrustBundleList) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *ClusterTrustBundleSpec) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.SignerName)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.TrustBundle)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m ExtraValue) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m) > 0 {
+ for _, s := range m {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *PodCertificateRequest) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Status.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *PodCertificateRequestList) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *PodCertificateRequestSpec) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.SignerName)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.PodName)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.PodUID)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.ServiceAccountName)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.ServiceAccountUID)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.NodeName)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.NodeUID)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.MaxExpirationSeconds != nil {
+ n += 1 + sovGenerated(uint64(*m.MaxExpirationSeconds))
+ }
+ if len(m.UnverifiedUserAnnotations) > 0 {
+ for k, v := range m.UnverifiedUserAnnotations {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v)))
+ n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
+ }
+ }
+ if m.StubPKCS10Request != nil {
+ l = len(m.StubPKCS10Request)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *PodCertificateRequestStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.Conditions) > 0 {
+ for _, e := range m.Conditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ l = len(m.CertificateChain)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.NotBefore != nil {
+ l = m.NotBefore.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.BeginRefreshAt != nil {
+ l = m.BeginRefreshAt.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.NotAfter != nil {
+ l = m.NotAfter.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func sovGenerated(x uint64) (n int) {
+ return (math_bits.Len64(x|1) + 6) / 7
+}
+func sozGenerated(x uint64) (n int) {
+ return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+}
+func (this *CertificateSigningRequest) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&CertificateSigningRequest{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "CertificateSigningRequestSpec", "CertificateSigningRequestSpec", 1), `&`, ``, 1) + `,`,
+ `Status:` + strings.Replace(strings.Replace(this.Status.String(), "CertificateSigningRequestStatus", "CertificateSigningRequestStatus", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *CertificateSigningRequestCondition) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&CertificateSigningRequestCondition{`,
+ `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
+ `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
+ `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
+ `LastUpdateTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastUpdateTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
+ `LastTransitionTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
+ `Status:` + fmt.Sprintf("%v", this.Status) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *CertificateSigningRequestList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]CertificateSigningRequest{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "CertificateSigningRequest", "CertificateSigningRequest", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&CertificateSigningRequestList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *CertificateSigningRequestSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ keysForExtra := make([]string, 0, len(this.Extra))
+ for k := range this.Extra {
+ keysForExtra = append(keysForExtra, k)
+ }
+ sort.Strings(keysForExtra)
+ mapStringForExtra := "map[string]ExtraValue{"
+ for _, k := range keysForExtra {
+ mapStringForExtra += fmt.Sprintf("%v: %v,", k, this.Extra[k])
+ }
+ mapStringForExtra += "}"
+ s := strings.Join([]string{`&CertificateSigningRequestSpec{`,
+ `Request:` + valueToStringGenerated(this.Request) + `,`,
+ `Username:` + fmt.Sprintf("%v", this.Username) + `,`,
+ `UID:` + fmt.Sprintf("%v", this.UID) + `,`,
+ `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`,
+ `Usages:` + fmt.Sprintf("%v", this.Usages) + `,`,
+ `Extra:` + mapStringForExtra + `,`,
+ `SignerName:` + fmt.Sprintf("%v", this.SignerName) + `,`,
+ `ExpirationSeconds:` + valueToStringGenerated(this.ExpirationSeconds) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *CertificateSigningRequestStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForConditions := "[]CertificateSigningRequestCondition{"
+ for _, f := range this.Conditions {
+ repeatedStringForConditions += strings.Replace(strings.Replace(f.String(), "CertificateSigningRequestCondition", "CertificateSigningRequestCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForConditions += "}"
+ s := strings.Join([]string{`&CertificateSigningRequestStatus{`,
+ `Conditions:` + repeatedStringForConditions + `,`,
+ `Certificate:` + valueToStringGenerated(this.Certificate) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ClusterTrustBundle) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ClusterTrustBundle{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ClusterTrustBundleSpec", "ClusterTrustBundleSpec", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ClusterTrustBundleList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]ClusterTrustBundle{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ClusterTrustBundle", "ClusterTrustBundle", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&ClusterTrustBundleList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ClusterTrustBundleSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ClusterTrustBundleSpec{`,
+ `SignerName:` + fmt.Sprintf("%v", this.SignerName) + `,`,
+ `TrustBundle:` + fmt.Sprintf("%v", this.TrustBundle) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *PodCertificateRequest) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&PodCertificateRequest{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PodCertificateRequestSpec", "PodCertificateRequestSpec", 1), `&`, ``, 1) + `,`,
+ `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodCertificateRequestStatus", "PodCertificateRequestStatus", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *PodCertificateRequestList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]PodCertificateRequest{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "PodCertificateRequest", "PodCertificateRequest", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&PodCertificateRequestList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *PodCertificateRequestSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ keysForUnverifiedUserAnnotations := make([]string, 0, len(this.UnverifiedUserAnnotations))
+ for k := range this.UnverifiedUserAnnotations {
+ keysForUnverifiedUserAnnotations = append(keysForUnverifiedUserAnnotations, k)
+ }
+ sort.Strings(keysForUnverifiedUserAnnotations)
+ mapStringForUnverifiedUserAnnotations := "map[string]string{"
+ for _, k := range keysForUnverifiedUserAnnotations {
+ mapStringForUnverifiedUserAnnotations += fmt.Sprintf("%v: %v,", k, this.UnverifiedUserAnnotations[k])
+ }
+ mapStringForUnverifiedUserAnnotations += "}"
+ s := strings.Join([]string{`&PodCertificateRequestSpec{`,
+ `SignerName:` + fmt.Sprintf("%v", this.SignerName) + `,`,
+ `PodName:` + fmt.Sprintf("%v", this.PodName) + `,`,
+ `PodUID:` + fmt.Sprintf("%v", this.PodUID) + `,`,
+ `ServiceAccountName:` + fmt.Sprintf("%v", this.ServiceAccountName) + `,`,
+ `ServiceAccountUID:` + fmt.Sprintf("%v", this.ServiceAccountUID) + `,`,
+ `NodeName:` + fmt.Sprintf("%v", this.NodeName) + `,`,
+ `NodeUID:` + fmt.Sprintf("%v", this.NodeUID) + `,`,
+ `MaxExpirationSeconds:` + valueToStringGenerated(this.MaxExpirationSeconds) + `,`,
+ `UnverifiedUserAnnotations:` + mapStringForUnverifiedUserAnnotations + `,`,
+ `StubPKCS10Request:` + valueToStringGenerated(this.StubPKCS10Request) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *PodCertificateRequestStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForConditions := "[]Condition{"
+ for _, f := range this.Conditions {
+ repeatedStringForConditions += fmt.Sprintf("%v", f) + ","
+ }
+ repeatedStringForConditions += "}"
+ s := strings.Join([]string{`&PodCertificateRequestStatus{`,
+ `Conditions:` + repeatedStringForConditions + `,`,
+ `CertificateChain:` + fmt.Sprintf("%v", this.CertificateChain) + `,`,
+ `NotBefore:` + strings.Replace(fmt.Sprintf("%v", this.NotBefore), "Time", "v1.Time", 1) + `,`,
+ `BeginRefreshAt:` + strings.Replace(fmt.Sprintf("%v", this.BeginRefreshAt), "Time", "v1.Time", 1) + `,`,
+ `NotAfter:` + strings.Replace(fmt.Sprintf("%v", this.NotAfter), "Time", "v1.Time", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func valueToStringGenerated(v interface{}) string {
+ rv := reflect.ValueOf(v)
+ if rv.IsNil() {
+ return "nil"
+ }
+ pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
-func (m *CertificateSigningRequest) Unmarshal(dAtA []byte) error {
+func (m *CertificateSigningRequest) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: CertificateSigningRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: CertificateSigningRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: CertificateSigningRequestCondition: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: CertificateSigningRequestCondition: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Type = RequestConditionType(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Reason = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Message = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field LastUpdateTime", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.LastUpdateTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *CertificateSigningRequestList) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: CertificateSigningRequestList: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: CertificateSigningRequestList: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Items = append(m.Items, CertificateSigningRequest{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: CertificateSigningRequestSpec: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: CertificateSigningRequestSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType)
+ }
+ var byteLen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ byteLen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if byteLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + byteLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Request = append(m.Request[:0], dAtA[iNdEx:postIndex]...)
+ if m.Request == nil {
+ m.Request = []byte{}
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Username = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field UID", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.UID = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Usages", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Usages = append(m.Usages, KeyUsage(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Extra", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Extra == nil {
+ m.Extra = make(map[string]ExtraValue)
+ }
+ var mapkey string
+ mapvalue := &ExtraValue{}
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var mapmsglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ mapmsglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if mapmsglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postmsgIndex := iNdEx + mapmsglen
+ if postmsgIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postmsgIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = &ExtraValue{}
+ if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
+ return err
+ }
+ iNdEx = postmsgIndex
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.Extra[mapkey] = *mapvalue
+ iNdEx = postIndex
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SignerName", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.SignerName = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 8:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ExpirationSeconds", wireType)
+ }
+ var v int32
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.ExpirationSeconds = &v
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *CertificateSigningRequestStatus) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: CertificateSigningRequestStatus: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: CertificateSigningRequestStatus: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Conditions = append(m.Conditions, CertificateSigningRequestCondition{})
+ if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Certificate", wireType)
+ }
+ var byteLen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ byteLen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if byteLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + byteLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Certificate = append(m.Certificate[:0], dAtA[iNdEx:postIndex]...)
+ if m.Certificate == nil {
+ m.Certificate = []byte{}
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ClusterTrustBundle) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ClusterTrustBundle: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ClusterTrustBundle: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ClusterTrustBundleList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -644,15 +2449,15 @@ func (m *CertificateSigningRequest) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: CertificateSigningRequest: wiretype end group for non-group")
+ return fmt.Errorf("proto: ClusterTrustBundleList: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: CertificateSigningRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: ClusterTrustBundleList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -679,46 +2484,13 @@ func (m *CertificateSigningRequest) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -745,7 +2517,8 @@ func (m *CertificateSigningRequest) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ m.Items = append(m.Items, ClusterTrustBundle{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -770,7 +2543,7 @@ func (m *CertificateSigningRequest) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
+func (m *ClusterTrustBundleSpec) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -793,15 +2566,15 @@ func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: CertificateSigningRequestCondition: wiretype end group for non-group")
+ return fmt.Errorf("proto: ClusterTrustBundleSpec: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: CertificateSigningRequestCondition: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: ClusterTrustBundleSpec: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field SignerName", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -829,11 +2602,11 @@ func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Type = RequestConditionType(dAtA[iNdEx:postIndex])
+ m.SignerName = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field TrustBundle", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -861,11 +2634,61 @@ func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Reason = string(dAtA[iNdEx:postIndex])
+ m.TrustBundle = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 3:
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ExtraValue) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ExtraValue: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ExtraValue: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -893,11 +2716,61 @@ func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Message = string(dAtA[iNdEx:postIndex])
+ *m = append(*m, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
- case 4:
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *PodCertificateRequest) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: PodCertificateRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: PodCertificateRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastUpdateTime", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -924,13 +2797,13 @@ func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.LastUpdateTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- case 5:
+ case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -957,15 +2830,15 @@ func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- case 6:
+ case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -975,23 +2848,24 @@ func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex])
+ if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -1014,7 +2888,7 @@ func (m *CertificateSigningRequestCondition) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *CertificateSigningRequestList) Unmarshal(dAtA []byte) error {
+func (m *PodCertificateRequestList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -1037,10 +2911,10 @@ func (m *CertificateSigningRequestList) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: CertificateSigningRequestList: wiretype end group for non-group")
+ return fmt.Errorf("proto: PodCertificateRequestList: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: CertificateSigningRequestList: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: PodCertificateRequestList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
@@ -1105,7 +2979,7 @@ func (m *CertificateSigningRequestList) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Items = append(m.Items, CertificateSigningRequest{})
+ m.Items = append(m.Items, PodCertificateRequest{})
if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
@@ -1131,7 +3005,7 @@ func (m *CertificateSigningRequestList) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
+func (m *PodCertificateRequestSpec) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -1141,30 +3015,94 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
if shift >= 64 {
return ErrIntOverflowGenerated
}
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: PodCertificateRequestSpec: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: PodCertificateRequestSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SignerName", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.SignerName = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field PodName", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
}
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
}
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: CertificateSigningRequestSpec: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: CertificateSigningRequestSpec: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ m.PodName = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field PodUID", wireType)
}
- var byteLen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -1174,29 +3112,27 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- byteLen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if byteLen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + byteLen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Request = append(m.Request[:0], dAtA[iNdEx:postIndex]...)
- if m.Request == nil {
- m.Request = []byte{}
- }
+ m.PodUID = k8s_io_apimachinery_pkg_types.UID(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 2:
+ case 4:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccountName", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -1224,11 +3160,11 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Username = string(dAtA[iNdEx:postIndex])
+ m.ServiceAccountName = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 3:
+ case 5:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field UID", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccountUID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -1256,11 +3192,11 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.UID = string(dAtA[iNdEx:postIndex])
+ m.ServiceAccountUID = k8s_io_apimachinery_pkg_types.UID(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 4:
+ case 6:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field NodeName", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -1288,11 +3224,11 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex]))
+ m.NodeName = k8s_io_apimachinery_pkg_types.NodeName(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 5:
+ case 7:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Usages", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field NodeUID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -1320,11 +3256,31 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Usages = append(m.Usages, KeyUsage(dAtA[iNdEx:postIndex]))
+ m.NodeUID = k8s_io_apimachinery_pkg_types.UID(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 6:
+ case 8:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MaxExpirationSeconds", wireType)
+ }
+ var v int32
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.MaxExpirationSeconds = &v
+ case 11:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Extra", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field UnverifiedUserAnnotations", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -1351,11 +3307,11 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.Extra == nil {
- m.Extra = make(map[string]ExtraValue)
+ if m.UnverifiedUserAnnotations == nil {
+ m.UnverifiedUserAnnotations = make(map[string]string)
}
var mapkey string
- mapvalue := &ExtraValue{}
+ var mapvalue string
for iNdEx < postIndex {
entryPreIndex := iNdEx
var wire uint64
@@ -1404,7 +3360,7 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
iNdEx = postStringIndexmapkey
} else if fieldNum == 2 {
- var mapmsglen int
+ var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -1414,26 +3370,24 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- mapmsglen |= int(b&0x7F) << shift
+ stringLenmapvalue |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if mapmsglen < 0 {
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
return ErrInvalidLengthGenerated
}
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue < 0 {
return ErrInvalidLengthGenerated
}
- if postmsgIndex > l {
+ if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
}
- mapvalue = &ExtraValue{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
+ mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -1449,13 +3403,13 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
iNdEx += skippy
}
}
- m.Extra[mapkey] = *mapvalue
+ m.UnverifiedUserAnnotations[mapkey] = mapvalue
iNdEx = postIndex
- case 7:
+ case 12:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SignerName", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field StubPKCS10Request", wireType)
}
- var stringLen uint64
+ var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -1465,44 +3419,26 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if byteLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.SignerName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 8:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExpirationSeconds", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
+ m.StubPKCS10Request = append(m.StubPKCS10Request[:0], dAtA[iNdEx:postIndex]...)
+ if m.StubPKCS10Request == nil {
+ m.StubPKCS10Request = []byte{}
}
- m.ExpirationSeconds = &v
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -1524,7 +3460,7 @@ func (m *CertificateSigningRequestSpec) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *CertificateSigningRequestStatus) Unmarshal(dAtA []byte) error {
+func (m *PodCertificateRequestStatus) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -1547,10 +3483,10 @@ func (m *CertificateSigningRequestStatus) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: CertificateSigningRequestStatus: wiretype end group for non-group")
+ return fmt.Errorf("proto: PodCertificateRequestStatus: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: CertificateSigningRequestStatus: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: PodCertificateRequestStatus: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
@@ -1582,16 +3518,16 @@ func (m *CertificateSigningRequestStatus) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Conditions = append(m.Conditions, CertificateSigningRequestCondition{})
+ m.Conditions = append(m.Conditions, v1.Condition{})
if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Certificate", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field CertificateChain", wireType)
}
- var byteLen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -1601,81 +3537,101 @@ func (m *CertificateSigningRequestStatus) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- byteLen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if byteLen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + byteLen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Certificate = append(m.Certificate[:0], dAtA[iNdEx:postIndex]...)
- if m.Certificate == nil {
- m.Certificate = []byte{}
- }
+ m.CertificateChain = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field NotBefore", wireType)
}
- if (skippy < 0) || (iNdEx+skippy) < 0 {
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- if (iNdEx + skippy) > l {
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
return io.ErrUnexpectedEOF
}
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ExtraValue) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
+ if m.NotBefore == nil {
+ m.NotBefore = &v1.Time{}
}
- if iNdEx >= l {
+ if err := m.NotBefore.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field BeginRefreshAt", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
return io.ErrUnexpectedEOF
}
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
+ if m.BeginRefreshAt == nil {
+ m.BeginRefreshAt = &v1.Time{}
}
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ExtraValue: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ExtraValue: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ if err := m.BeginRefreshAt.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 6:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field NotAfter", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -1685,23 +3641,27 @@ func (m *ExtraValue) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- *m = append(*m, string(dAtA[iNdEx:postIndex]))
+ if m.NotAfter == nil {
+ m.NotAfter = &v1.Time{}
+ }
+ if err := m.NotAfter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
diff --git a/vendor/k8s.io/api/certificates/v1/generated.proto b/vendor/k8s.io/api/certificates/v1/generated.proto
index a689f3e89..8c97f1239 100644
--- a/vendor/k8s.io/api/certificates/v1/generated.proto
+++ b/vendor/k8s.io/api/certificates/v1/generated.proto
@@ -39,8 +39,8 @@ option go_package = "k8s.io/api/certificates/v1";
// This API can be used to request client certificates to authenticate to kube-apiserver
// (with the "kubernetes.io/kube-apiserver-client" signerName),
// or to obtain certificates from custom non-Kubernetes signers.
-// +k8s:supportsSubresource=/status
-// +k8s:supportsSubresource=/approval
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/approval"
message CertificateSigningRequest {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -204,12 +204,12 @@ message CertificateSigningRequestStatus {
// +listType=map
// +listMapKey=type
// +optional
- // +k8s:listType=map
- // +k8s:listMapKey=type
- // +k8s:customUnique
- // +k8s:optional
- // +k8s:item(type: "Approved")=+k8s:zeroOrOneOfMember
- // +k8s:item(type: "Denied")=+k8s:zeroOrOneOfMember
+ // +k8s:beta(since: "1.37")=+k8s:listType=map
+ // +k8s:beta(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:beta(since: "1.37")=+k8s:customUnique
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:item(type: "Approved")=+k8s:zeroOrOneOfMember
+ // +k8s:beta(since: "1.37")=+k8s:item(type: "Denied")=+k8s:zeroOrOneOfMember
repeated CertificateSigningRequestCondition conditions = 1;
// certificate is populated with an issued certificate by the signer after an Approved condition is present.
@@ -243,6 +243,81 @@ message CertificateSigningRequestStatus {
optional bytes certificate = 2;
}
+// ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors
+// (root certificates).
+//
+// ClusterTrustBundle objects are considered to be readable by any authenticated
+// user in the cluster, because they can be mounted by pods using the
+// `clusterTrustBundle` projection. All service accounts have read access to
+// ClusterTrustBundles by default. Users who only have namespace-level access
+// to a cluster can read ClusterTrustBundles by impersonating a serviceaccount
+// that they have access to.
+//
+// It can be optionally associated with a particular signer, in which case it
+// contains one valid set of trust anchors for that signer. Signers may have
+// multiple associated ClusterTrustBundles; each is an independent set of trust
+// anchors for that signer. Admission control is used to enforce that only users
+// with permissions on the signer can create or modify the corresponding bundle.
+message ClusterTrustBundle {
+ // metadata contains the object metadata.
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+
+ // spec contains the signer (if any) and trust anchors.
+ optional ClusterTrustBundleSpec spec = 2;
+}
+
+// ClusterTrustBundleList is a collection of ClusterTrustBundle objects
+message ClusterTrustBundleList {
+ // metadata contains the list metadata.
+ //
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
+
+ // items is a collection of ClusterTrustBundle objects
+ repeated ClusterTrustBundle items = 2;
+}
+
+// ClusterTrustBundleSpec contains the signer and trust anchors.
+message ClusterTrustBundleSpec {
+ // signerName indicates the associated signer, if any.
+ //
+ // In order to create or update a ClusterTrustBundle that sets signerName,
+ // you must have the following cluster-scoped permission:
+ // group=certificates.k8s.io resource=signers resourceName=
+ // verb=attest.
+ //
+ // If signerName is not empty, then the ClusterTrustBundle object must be
+ // named with the signer name as a prefix (translating slashes to colons).
+ // For example, for the signer name `example.com/foo`, valid
+ // ClusterTrustBundle object names include `example.com:foo:abc` and
+ // `example.com:foo:v1`.
+ //
+ // If signerName is empty, then the ClusterTrustBundle object's name must
+ // not have such a prefix.
+ //
+ // List/watch requests for ClusterTrustBundles can filter on this field
+ // using a `spec.signerName=NAME` field selector.
+ //
+ // +optional
+ // +k8s:alpha(since:"1.37")=+k8s:optional
+ // +k8s:alpha(since:"1.37")=+k8s:immutable
+ optional string signerName = 1;
+
+ // trustBundle contains the individual X.509 trust anchors for this
+ // bundle, as PEM bundle of PEM-wrapped, DER-formatted X.509 certificates.
+ //
+ // The data must consist only of PEM certificate blocks that parse as valid
+ // X.509 certificates. Each certificate must include a basic constraints
+ // extension with the CA bit set. The API server will reject objects that
+ // contain duplicate certificates, or that use PEM block headers.
+ //
+ // Users of ClusterTrustBundles, including Kubelet, are free to reorder and
+ // deduplicate certificate blocks in this file according to their own logic,
+ // as well as to drop PEM block headers and inter-block data.
+ optional string trustBundle = 2;
+}
+
// ExtraValue masks the value so protobuf can generate
// +protobuf.nullable=true
// +protobuf.options.(gogoproto.goproto_stringer)=false
@@ -252,3 +327,209 @@ message ExtraValue {
repeated string items = 1;
}
+// PodCertificateRequest encodes a pod requesting a certificate from a given
+// signer.
+//
+// Kubelets use this API to implement podCertificate projected volumes
+// +k8s:supportsSubresource="/status"
+message PodCertificateRequest {
+ // metadata contains the object metadata.
+ //
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+
+ // spec contains the details about the certificate being requested.
+ // +required
+ optional PodCertificateRequestSpec spec = 2;
+
+ // status contains the issued certificate, and a standard set of conditions.
+ // +optional
+ optional PodCertificateRequestStatus status = 3;
+}
+
+// PodCertificateRequestList is a collection of PodCertificateRequest objects
+message PodCertificateRequestList {
+ // metadata contains the list metadata.
+ //
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
+
+ // items is a collection of PodCertificateRequest objects
+ repeated PodCertificateRequest items = 2;
+}
+
+// PodCertificateRequestSpec describes the certificate request. All fields are
+// immutable after creation.
+message PodCertificateRequestSpec {
+ // signerName indicates the requested signer.
+ //
+ // All signer names beginning with `kubernetes.io` are reserved for use by
+ // the Kubernetes project. There is currently one well-known signer
+ // documented by the Kubernetes project,
+ // `kubernetes.io/kube-apiserver-client-pod`, which will issue client
+ // certificates understood by kube-apiserver. It is currently
+ // unimplemented.
+ //
+ // +required
+ optional string signerName = 1;
+
+ // podName is the name of the pod into which the certificate will be mounted.
+ //
+ // +required
+ optional string podName = 2;
+
+ // podUID is the UID of the pod into which the certificate will be mounted.
+ //
+ // +required
+ optional string podUID = 3;
+
+ // serviceAccountName is the name of the service account the pod is running as.
+ //
+ // +required
+ optional string serviceAccountName = 4;
+
+ // serviceAccountUID is the UID of the service account the pod is running as.
+ //
+ // +required
+ optional string serviceAccountUID = 5;
+
+ // nodeName is the name of the node the pod is assigned to.
+ //
+ // +required
+ optional string nodeName = 6;
+
+ // nodeUID is the UID of the node the pod is assigned to.
+ //
+ // +required
+ optional string nodeUID = 7;
+
+ // maxExpirationSeconds is the maximum lifetime permitted for the
+ // certificate.
+ //
+ // If omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver
+ // will reject values shorter than 3600 (1 hour). The maximum allowable
+ // value is 7862400 (91 days).
+ //
+ // The signer implementation is then free to issue a certificate with any
+ // lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600
+ // seconds (1 hour). This constraint is enforced by kube-apiserver.
+ // `kubernetes.io` signers will never issue certificates with a lifetime
+ // longer than 24 hours.
+ //
+ // +optional
+ // +default=86400
+ optional int32 maxExpirationSeconds = 8;
+
+ // A PKCS#10 certificate signing request (DER-serialized) generated by
+ // Kubelet using the subject private key.
+ //
+ // Most signer implementations will ignore the contents of the CSR except to
+ // extract the subject public key. The API server automatically verifies the
+ // CSR signature during admission, so the signer does not need to repeat the
+ // verification. CSRs generated by kubelet are completely empty.
+ //
+ // The subject public key must be one of RSA3072, RSA4096, ECDSAP256,
+ // ECDSAP384, ECDSAP521, or ED25519. Note that this list may be expanded in
+ // the future.
+ //
+ // Signer implementations do not need to support all key types supported by
+ // kube-apiserver and kubelet. If a signer does not support the key type
+ // used for a given PodCertificateRequest, it must deny the request by
+ // setting a status.conditions entry with a type of "Denied" and a reason of
+ // "UnsupportedKeyType". It may also suggest a key type that it does support
+ // in the message field.
+ //
+ // +required
+ optional bytes stubPKCS10Request = 12;
+
+ // unverifiedUserAnnotations allow pod authors to pass additional information to
+ // the signer implementation. Kubernetes does not restrict or validate this
+ // metadata in any way.
+ //
+ // Entries are subject to the same validation as object metadata annotations,
+ // with the addition that all keys must be domain-prefixed. No restrictions
+ // are placed on values, except an overall size limitation on the entire field.
+ //
+ // Signers should document the keys and values they support. Signers should
+ // deny requests that contain keys they do not recognize.
+ //
+ // +optional
+ map unverifiedUserAnnotations = 11;
+}
+
+// PodCertificateRequestStatus describes the status of the request, and holds
+// the certificate data if the request is issued.
+message PodCertificateRequestStatus {
+ // conditions applied to the request.
+ //
+ // The types "Issued", "Denied", and "Failed" have special handling. At
+ // most one of these conditions may be present, and they must have status
+ // "True".
+ //
+ // If the request is denied with `Reason=UnsupportedKeyType`, the signer may
+ // suggest a key type that will work in the message field.
+ //
+ // +patchMergeKey=type
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=type
+ // +optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 1;
+
+ // certificateChain is populated with an issued certificate by the signer.
+ // This field is set via the /status subresource. Once populated, this field
+ // is immutable.
+ //
+ // If the certificate signing request is denied, a condition of type
+ // "Denied" is added and this field remains empty. If the signer cannot
+ // issue the certificate, a condition of type "Failed" is added and this
+ // field remains empty.
+ //
+ // Validation requirements:
+ // 1. certificateChain must consist of one or more PEM-formatted certificates.
+ // 2. Each entry must be a valid PEM-wrapped, DER-encoded ASN.1 Certificate as
+ // described in section 4 of RFC5280.
+ //
+ // If more than one block is present, and the definition of the requested
+ // spec.signerName does not indicate otherwise, the first block is the
+ // issued certificate, and subsequent blocks should be treated as
+ // intermediate certificates and presented in TLS handshakes. When
+ // projecting the chain into a pod volume, kubelet will drop any data
+ // in-between the PEM blocks, as well as any PEM block headers.
+ //
+ // +optional
+ optional string certificateChain = 2;
+
+ // notBefore is the time at which the certificate becomes valid. The value
+ // must be the same as the notBefore value in the leaf certificate in
+ // certificateChain. This field is set via the /status subresource. Once
+ // populated, it is immutable. The signer must set this field at the same
+ // time it sets certificateChain.
+ //
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time notBefore = 4;
+
+ // beginRefreshAt is the time at which the kubelet should begin trying to
+ // refresh the certificate. This field is set via the /status subresource,
+ // and must be set at the same time as certificateChain. Once populated,
+ // this field is immutable.
+ //
+ // This field is only a hint. Kubelet may start refreshing before or after
+ // this time if necessary.
+ //
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time beginRefreshAt = 5;
+
+ // notAfter is the time at which the certificate expires. The value must be
+ // the same as the notAfter value in the leaf certificate in
+ // certificateChain. This field is set via the /status subresource. Once
+ // populated, it is immutable. The signer must set this field at the same
+ // time it sets certificateChain.
+ //
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time notAfter = 6;
+}
+
diff --git a/vendor/k8s.io/api/certificates/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/certificates/v1/generated.protomessage.pb.go
deleted file mode 100644
index 527630582..000000000
--- a/vendor/k8s.io/api/certificates/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,34 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*CertificateSigningRequest) ProtoMessage() {}
-
-func (*CertificateSigningRequestCondition) ProtoMessage() {}
-
-func (*CertificateSigningRequestList) ProtoMessage() {}
-
-func (*CertificateSigningRequestSpec) ProtoMessage() {}
-
-func (*CertificateSigningRequestStatus) ProtoMessage() {}
-
-func (*ExtraValue) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/certificates/v1/register.go b/vendor/k8s.io/api/certificates/v1/register.go
index 2dac94ada..474b8b032 100644
--- a/vendor/k8s.io/api/certificates/v1/register.go
+++ b/vendor/k8s.io/api/certificates/v1/register.go
@@ -53,6 +53,10 @@ func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&CertificateSigningRequest{},
&CertificateSigningRequestList{},
+ &ClusterTrustBundle{},
+ &ClusterTrustBundleList{},
+ &PodCertificateRequest{},
+ &PodCertificateRequestList{},
)
// Add the watch version that applies
diff --git a/vendor/k8s.io/api/certificates/v1/types.go b/vendor/k8s.io/api/certificates/v1/types.go
index 8cd56e6db..b90179ea4 100644
--- a/vendor/k8s.io/api/certificates/v1/types.go
+++ b/vendor/k8s.io/api/certificates/v1/types.go
@@ -21,6 +21,7 @@ import (
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/types"
)
// +genclient
@@ -39,10 +40,10 @@ import (
// This API can be used to request client certificates to authenticate to kube-apiserver
// (with the "kubernetes.io/kube-apiserver-client" signerName),
// or to obtain certificates from custom non-Kubernetes signers.
-// +k8s:supportsSubresource=/status
-// +k8s:supportsSubresource=/approval
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/approval"
type CertificateSigningRequest struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -179,12 +180,12 @@ type CertificateSigningRequestStatus struct {
// +listType=map
// +listMapKey=type
// +optional
- // +k8s:listType=map
- // +k8s:listMapKey=type
- // +k8s:customUnique
- // +k8s:optional
- // +k8s:item(type: "Approved")=+k8s:zeroOrOneOfMember
- // +k8s:item(type: "Denied")=+k8s:zeroOrOneOfMember
+ // +k8s:beta(since: "1.37")=+k8s:listType=map
+ // +k8s:beta(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:beta(since: "1.37")=+k8s:customUnique
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:item(type: "Approved")=+k8s:zeroOrOneOfMember
+ // +k8s:beta(since: "1.37")=+k8s:item(type: "Denied")=+k8s:zeroOrOneOfMember
Conditions []CertificateSigningRequestCondition `json:"conditions,omitempty" protobuf:"bytes,1,rep,name=conditions"`
// certificate is populated with an issued certificate by the signer after an Approved condition is present.
@@ -273,7 +274,7 @@ type CertificateSigningRequestCondition struct {
// CertificateSigningRequestList is a collection of CertificateSigningRequest objects
type CertificateSigningRequestList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -316,3 +317,326 @@ const (
UsageMicrosoftSGC KeyUsage = "microsoft sgc"
UsageNetscapeSGC KeyUsage = "netscape sgc"
)
+
+// +genclient
+// +genclient:nonNamespaced
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.37
+
+// ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors
+// (root certificates).
+//
+// ClusterTrustBundle objects are considered to be readable by any authenticated
+// user in the cluster, because they can be mounted by pods using the
+// `clusterTrustBundle` projection. All service accounts have read access to
+// ClusterTrustBundles by default. Users who only have namespace-level access
+// to a cluster can read ClusterTrustBundles by impersonating a serviceaccount
+// that they have access to.
+//
+// It can be optionally associated with a particular signer, in which case it
+// contains one valid set of trust anchors for that signer. Signers may have
+// multiple associated ClusterTrustBundles; each is an independent set of trust
+// anchors for that signer. Admission control is used to enforce that only users
+// with permissions on the signer can create or modify the corresponding bundle.
+type ClusterTrustBundle struct {
+ metav1.TypeMeta `json:""`
+
+ // metadata contains the object metadata.
+ // +optional
+ metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // spec contains the signer (if any) and trust anchors.
+ Spec ClusterTrustBundleSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
+}
+
+// ClusterTrustBundleSpec contains the signer and trust anchors.
+type ClusterTrustBundleSpec struct {
+ // signerName indicates the associated signer, if any.
+ //
+ // In order to create or update a ClusterTrustBundle that sets signerName,
+ // you must have the following cluster-scoped permission:
+ // group=certificates.k8s.io resource=signers resourceName=
+ // verb=attest.
+ //
+ // If signerName is not empty, then the ClusterTrustBundle object must be
+ // named with the signer name as a prefix (translating slashes to colons).
+ // For example, for the signer name `example.com/foo`, valid
+ // ClusterTrustBundle object names include `example.com:foo:abc` and
+ // `example.com:foo:v1`.
+ //
+ // If signerName is empty, then the ClusterTrustBundle object's name must
+ // not have such a prefix.
+ //
+ // List/watch requests for ClusterTrustBundles can filter on this field
+ // using a `spec.signerName=NAME` field selector.
+ //
+ // +optional
+ // +k8s:alpha(since:"1.37")=+k8s:optional
+ // +k8s:alpha(since:"1.37")=+k8s:immutable
+ SignerName string `json:"signerName,omitempty" protobuf:"bytes,1,opt,name=signerName"`
+
+ // trustBundle contains the individual X.509 trust anchors for this
+ // bundle, as PEM bundle of PEM-wrapped, DER-formatted X.509 certificates.
+ //
+ // The data must consist only of PEM certificate blocks that parse as valid
+ // X.509 certificates. Each certificate must include a basic constraints
+ // extension with the CA bit set. The API server will reject objects that
+ // contain duplicate certificates, or that use PEM block headers.
+ //
+ // Users of ClusterTrustBundles, including Kubelet, are free to reorder and
+ // deduplicate certificate blocks in this file according to their own logic,
+ // as well as to drop PEM block headers and inter-block data.
+ TrustBundle string `json:"trustBundle" protobuf:"bytes,2,opt,name=trustBundle"`
+}
+
+// +k8s:prerelease-lifecycle-gen:introduced=1.37
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// ClusterTrustBundleList is a collection of ClusterTrustBundle objects
+type ClusterTrustBundleList struct {
+ metav1.TypeMeta `json:""`
+
+ // metadata contains the list metadata.
+ //
+ // +optional
+ metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // items is a collection of ClusterTrustBundle objects
+ Items []ClusterTrustBundle `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
+
+// +genclient
+// +k8s:prerelease-lifecycle-gen:introduced=1.37
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// PodCertificateRequest encodes a pod requesting a certificate from a given
+// signer.
+//
+// Kubelets use this API to implement podCertificate projected volumes
+// +k8s:supportsSubresource="/status"
+type PodCertificateRequest struct {
+ metav1.TypeMeta `json:""`
+
+ // metadata contains the object metadata.
+ //
+ // +optional
+ metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // spec contains the details about the certificate being requested.
+ // +required
+ Spec PodCertificateRequestSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
+
+ // status contains the issued certificate, and a standard set of conditions.
+ // +optional
+ Status PodCertificateRequestStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
+}
+
+// PodCertificateRequestSpec describes the certificate request. All fields are
+// immutable after creation.
+type PodCertificateRequestSpec struct {
+ // signerName indicates the requested signer.
+ //
+ // All signer names beginning with `kubernetes.io` are reserved for use by
+ // the Kubernetes project. There is currently one well-known signer
+ // documented by the Kubernetes project,
+ // `kubernetes.io/kube-apiserver-client-pod`, which will issue client
+ // certificates understood by kube-apiserver. It is currently
+ // unimplemented.
+ //
+ // +required
+ SignerName string `json:"signerName" protobuf:"bytes,1,opt,name=signerName"`
+
+ // podName is the name of the pod into which the certificate will be mounted.
+ //
+ // +required
+ PodName string `json:"podName" protobuf:"bytes,2,opt,name=podName"`
+ // podUID is the UID of the pod into which the certificate will be mounted.
+ //
+ // +required
+ PodUID types.UID `json:"podUID" protobuf:"bytes,3,opt,name=podUID"`
+
+ // serviceAccountName is the name of the service account the pod is running as.
+ //
+ // +required
+ ServiceAccountName string `json:"serviceAccountName" protobuf:"bytes,4,opt,name=serviceAccountName"`
+ // serviceAccountUID is the UID of the service account the pod is running as.
+ //
+ // +required
+ ServiceAccountUID types.UID `json:"serviceAccountUID" protobuf:"bytes,5,opt,name=serviceAccountUID"`
+
+ // nodeName is the name of the node the pod is assigned to.
+ //
+ // +required
+ NodeName types.NodeName `json:"nodeName" protobuf:"bytes,6,opt,name=nodeName"`
+ // nodeUID is the UID of the node the pod is assigned to.
+ //
+ // +required
+ NodeUID types.UID `json:"nodeUID" protobuf:"bytes,7,opt,name=nodeUID"`
+
+ // maxExpirationSeconds is the maximum lifetime permitted for the
+ // certificate.
+ //
+ // If omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver
+ // will reject values shorter than 3600 (1 hour). The maximum allowable
+ // value is 7862400 (91 days).
+ //
+ // The signer implementation is then free to issue a certificate with any
+ // lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600
+ // seconds (1 hour). This constraint is enforced by kube-apiserver.
+ // `kubernetes.io` signers will never issue certificates with a lifetime
+ // longer than 24 hours.
+ //
+ // +optional
+ // +default=86400
+ MaxExpirationSeconds *int32 `json:"maxExpirationSeconds,omitempty" protobuf:"varint,8,opt,name=maxExpirationSeconds"`
+
+ // A PKCS#10 certificate signing request (DER-serialized) generated by
+ // Kubelet using the subject private key.
+ //
+ // Most signer implementations will ignore the contents of the CSR except to
+ // extract the subject public key. The API server automatically verifies the
+ // CSR signature during admission, so the signer does not need to repeat the
+ // verification. CSRs generated by kubelet are completely empty.
+ //
+ // The subject public key must be one of RSA3072, RSA4096, ECDSAP256,
+ // ECDSAP384, ECDSAP521, or ED25519. Note that this list may be expanded in
+ // the future.
+ //
+ // Signer implementations do not need to support all key types supported by
+ // kube-apiserver and kubelet. If a signer does not support the key type
+ // used for a given PodCertificateRequest, it must deny the request by
+ // setting a status.conditions entry with a type of "Denied" and a reason of
+ // "UnsupportedKeyType". It may also suggest a key type that it does support
+ // in the message field.
+ //
+ // +required
+ StubPKCS10Request []byte `json:"stubPKCS10Request" protobuf:"bytes,12,opt,name=stubPKCS10Request"`
+
+ // unverifiedUserAnnotations allow pod authors to pass additional information to
+ // the signer implementation. Kubernetes does not restrict or validate this
+ // metadata in any way.
+ //
+ // Entries are subject to the same validation as object metadata annotations,
+ // with the addition that all keys must be domain-prefixed. No restrictions
+ // are placed on values, except an overall size limitation on the entire field.
+ //
+ // Signers should document the keys and values they support. Signers should
+ // deny requests that contain keys they do not recognize.
+ //
+ // +optional
+ UnverifiedUserAnnotations map[string]string `json:"unverifiedUserAnnotations,omitempty" protobuf:"bytes,11,opt,name=unverifiedUserAnnotations"`
+}
+
+// PodCertificateRequestStatus describes the status of the request, and holds
+// the certificate data if the request is issued.
+type PodCertificateRequestStatus struct {
+ // conditions applied to the request.
+ //
+ // The types "Issued", "Denied", and "Failed" have special handling. At
+ // most one of these conditions may be present, and they must have status
+ // "True".
+ //
+ // If the request is denied with `Reason=UnsupportedKeyType`, the signer may
+ // suggest a key type that will work in the message field.
+ //
+ // +patchMergeKey=type
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=type
+ // +optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
+
+ // certificateChain is populated with an issued certificate by the signer.
+ // This field is set via the /status subresource. Once populated, this field
+ // is immutable.
+ //
+ // If the certificate signing request is denied, a condition of type
+ // "Denied" is added and this field remains empty. If the signer cannot
+ // issue the certificate, a condition of type "Failed" is added and this
+ // field remains empty.
+ //
+ // Validation requirements:
+ // 1. certificateChain must consist of one or more PEM-formatted certificates.
+ // 2. Each entry must be a valid PEM-wrapped, DER-encoded ASN.1 Certificate as
+ // described in section 4 of RFC5280.
+ //
+ // If more than one block is present, and the definition of the requested
+ // spec.signerName does not indicate otherwise, the first block is the
+ // issued certificate, and subsequent blocks should be treated as
+ // intermediate certificates and presented in TLS handshakes. When
+ // projecting the chain into a pod volume, kubelet will drop any data
+ // in-between the PEM blocks, as well as any PEM block headers.
+ //
+ // +optional
+ CertificateChain string `json:"certificateChain,omitempty" protobuf:"bytes,2,opt,name=certificateChain"`
+
+ // notBefore is the time at which the certificate becomes valid. The value
+ // must be the same as the notBefore value in the leaf certificate in
+ // certificateChain. This field is set via the /status subresource. Once
+ // populated, it is immutable. The signer must set this field at the same
+ // time it sets certificateChain.
+ //
+ // +optional
+ NotBefore *metav1.Time `json:"notBefore,omitempty" protobuf:"bytes,4,opt,name=notBefore"`
+
+ // beginRefreshAt is the time at which the kubelet should begin trying to
+ // refresh the certificate. This field is set via the /status subresource,
+ // and must be set at the same time as certificateChain. Once populated,
+ // this field is immutable.
+ //
+ // This field is only a hint. Kubelet may start refreshing before or after
+ // this time if necessary.
+ //
+ // +optional
+ BeginRefreshAt *metav1.Time `json:"beginRefreshAt,omitempty" protobuf:"bytes,5,opt,name=beginRefreshAt"`
+
+ // notAfter is the time at which the certificate expires. The value must be
+ // the same as the notAfter value in the leaf certificate in
+ // certificateChain. This field is set via the /status subresource. Once
+ // populated, it is immutable. The signer must set this field at the same
+ // time it sets certificateChain.
+ //
+ // +optional
+ NotAfter *metav1.Time `json:"notAfter,omitempty" protobuf:"bytes,6,opt,name=notAfter"`
+}
+
+// Well-known condition types for PodCertificateRequests
+const (
+ // Denied indicates the request was denied by the signer.
+ PodCertificateRequestConditionTypeDenied string = "Denied"
+ // Failed indicates the signer failed to issue the certificate.
+ PodCertificateRequestConditionTypeFailed string = "Failed"
+ // Issued indicates the certificate has been issued.
+ PodCertificateRequestConditionTypeIssued string = "Issued"
+)
+
+// Well-known condition reasons for PodCertificateRequests
+const (
+ // UnsupportedKeyType should be set on "Denied" conditions when the signer
+ // doesn't support the key type of publicKey.
+ PodCertificateRequestConditionUnsupportedKeyType string = "UnsupportedKeyType"
+
+ // InvalidUnverifiedUserAnnotations should be set on "Denied" conditions when the signer
+ // does not recognize one of the keys passed in userConfig, or if the signer
+ // otherwise considers the userConfig of the request to be invalid.
+ PodCertificateRequestConditionInvalidUserConfig string = "InvalidUnverifiedUserAnnotations"
+)
+
+// +k8s:prerelease-lifecycle-gen:introduced=1.37
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// PodCertificateRequestList is a collection of PodCertificateRequest objects
+type PodCertificateRequestList struct {
+ metav1.TypeMeta `json:""`
+
+ // metadata contains the list metadata.
+ //
+ // +optional
+ metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // items is a collection of PodCertificateRequest objects
+ Items []PodCertificateRequest `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
diff --git a/vendor/k8s.io/api/certificates/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/certificates/v1/types_swagger_doc_generated.go
index 4bdf39ebb..503de052a 100644
--- a/vendor/k8s.io/api/certificates/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/certificates/v1/types_swagger_doc_generated.go
@@ -86,4 +86,86 @@ func (CertificateSigningRequestStatus) SwaggerDoc() map[string]string {
return map_CertificateSigningRequestStatus
}
+var map_ClusterTrustBundle = map[string]string{
+ "": "ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors (root certificates).\n\nClusterTrustBundle objects are considered to be readable by any authenticated user in the cluster, because they can be mounted by pods using the `clusterTrustBundle` projection. All service accounts have read access to ClusterTrustBundles by default. Users who only have namespace-level access to a cluster can read ClusterTrustBundles by impersonating a serviceaccount that they have access to.\n\nIt can be optionally associated with a particular signer, in which case it contains one valid set of trust anchors for that signer. Signers may have multiple associated ClusterTrustBundles; each is an independent set of trust anchors for that signer. Admission control is used to enforce that only users with permissions on the signer can create or modify the corresponding bundle.",
+ "metadata": "metadata contains the object metadata.",
+ "spec": "spec contains the signer (if any) and trust anchors.",
+}
+
+func (ClusterTrustBundle) SwaggerDoc() map[string]string {
+ return map_ClusterTrustBundle
+}
+
+var map_ClusterTrustBundleList = map[string]string{
+ "": "ClusterTrustBundleList is a collection of ClusterTrustBundle objects",
+ "metadata": "metadata contains the list metadata.",
+ "items": "items is a collection of ClusterTrustBundle objects",
+}
+
+func (ClusterTrustBundleList) SwaggerDoc() map[string]string {
+ return map_ClusterTrustBundleList
+}
+
+var map_ClusterTrustBundleSpec = map[string]string{
+ "": "ClusterTrustBundleSpec contains the signer and trust anchors.",
+ "signerName": "signerName indicates the associated signer, if any.\n\nIn order to create or update a ClusterTrustBundle that sets signerName, you must have the following cluster-scoped permission: group=certificates.k8s.io resource=signers resourceName= verb=attest.\n\nIf signerName is not empty, then the ClusterTrustBundle object must be named with the signer name as a prefix (translating slashes to colons). For example, for the signer name `example.com/foo`, valid ClusterTrustBundle object names include `example.com:foo:abc` and `example.com:foo:v1`.\n\nIf signerName is empty, then the ClusterTrustBundle object's name must not have such a prefix.\n\nList/watch requests for ClusterTrustBundles can filter on this field using a `spec.signerName=NAME` field selector.",
+ "trustBundle": "trustBundle contains the individual X.509 trust anchors for this bundle, as PEM bundle of PEM-wrapped, DER-formatted X.509 certificates.\n\nThe data must consist only of PEM certificate blocks that parse as valid X.509 certificates. Each certificate must include a basic constraints extension with the CA bit set. The API server will reject objects that contain duplicate certificates, or that use PEM block headers.\n\nUsers of ClusterTrustBundles, including Kubelet, are free to reorder and deduplicate certificate blocks in this file according to their own logic, as well as to drop PEM block headers and inter-block data.",
+}
+
+func (ClusterTrustBundleSpec) SwaggerDoc() map[string]string {
+ return map_ClusterTrustBundleSpec
+}
+
+var map_PodCertificateRequest = map[string]string{
+ "": "PodCertificateRequest encodes a pod requesting a certificate from a given signer.\n\nKubelets use this API to implement podCertificate projected volumes",
+ "metadata": "metadata contains the object metadata.",
+ "spec": "spec contains the details about the certificate being requested.",
+ "status": "status contains the issued certificate, and a standard set of conditions.",
+}
+
+func (PodCertificateRequest) SwaggerDoc() map[string]string {
+ return map_PodCertificateRequest
+}
+
+var map_PodCertificateRequestList = map[string]string{
+ "": "PodCertificateRequestList is a collection of PodCertificateRequest objects",
+ "metadata": "metadata contains the list metadata.",
+ "items": "items is a collection of PodCertificateRequest objects",
+}
+
+func (PodCertificateRequestList) SwaggerDoc() map[string]string {
+ return map_PodCertificateRequestList
+}
+
+var map_PodCertificateRequestSpec = map[string]string{
+ "": "PodCertificateRequestSpec describes the certificate request. All fields are immutable after creation.",
+ "signerName": "signerName indicates the requested signer.\n\nAll signer names beginning with `kubernetes.io` are reserved for use by the Kubernetes project. There is currently one well-known signer documented by the Kubernetes project, `kubernetes.io/kube-apiserver-client-pod`, which will issue client certificates understood by kube-apiserver. It is currently unimplemented.",
+ "podName": "podName is the name of the pod into which the certificate will be mounted.",
+ "podUID": "podUID is the UID of the pod into which the certificate will be mounted.",
+ "serviceAccountName": "serviceAccountName is the name of the service account the pod is running as.",
+ "serviceAccountUID": "serviceAccountUID is the UID of the service account the pod is running as.",
+ "nodeName": "nodeName is the name of the node the pod is assigned to.",
+ "nodeUID": "nodeUID is the UID of the node the pod is assigned to.",
+ "maxExpirationSeconds": "maxExpirationSeconds is the maximum lifetime permitted for the certificate.\n\nIf omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver will reject values shorter than 3600 (1 hour). The maximum allowable value is 7862400 (91 days).\n\nThe signer implementation is then free to issue a certificate with any lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600 seconds (1 hour). This constraint is enforced by kube-apiserver. `kubernetes.io` signers will never issue certificates with a lifetime longer than 24 hours.",
+ "stubPKCS10Request": "A PKCS#10 certificate signing request (DER-serialized) generated by Kubelet using the subject private key.\n\nMost signer implementations will ignore the contents of the CSR except to extract the subject public key. The API server automatically verifies the CSR signature during admission, so the signer does not need to repeat the verification. CSRs generated by kubelet are completely empty.\n\nThe subject public key must be one of RSA3072, RSA4096, ECDSAP256, ECDSAP384, ECDSAP521, or ED25519. Note that this list may be expanded in the future.\n\nSigner implementations do not need to support all key types supported by kube-apiserver and kubelet. If a signer does not support the key type used for a given PodCertificateRequest, it must deny the request by setting a status.conditions entry with a type of \"Denied\" and a reason of \"UnsupportedKeyType\". It may also suggest a key type that it does support in the message field.",
+ "unverifiedUserAnnotations": "unverifiedUserAnnotations allow pod authors to pass additional information to the signer implementation. Kubernetes does not restrict or validate this metadata in any way.\n\nEntries are subject to the same validation as object metadata annotations, with the addition that all keys must be domain-prefixed. No restrictions are placed on values, except an overall size limitation on the entire field.\n\nSigners should document the keys and values they support. Signers should deny requests that contain keys they do not recognize.",
+}
+
+func (PodCertificateRequestSpec) SwaggerDoc() map[string]string {
+ return map_PodCertificateRequestSpec
+}
+
+var map_PodCertificateRequestStatus = map[string]string{
+ "": "PodCertificateRequestStatus describes the status of the request, and holds the certificate data if the request is issued.",
+ "conditions": "conditions applied to the request.\n\nThe types \"Issued\", \"Denied\", and \"Failed\" have special handling. At most one of these conditions may be present, and they must have status \"True\".\n\nIf the request is denied with `Reason=UnsupportedKeyType`, the signer may suggest a key type that will work in the message field.",
+ "certificateChain": "certificateChain is populated with an issued certificate by the signer. This field is set via the /status subresource. Once populated, this field is immutable.\n\nIf the certificate signing request is denied, a condition of type \"Denied\" is added and this field remains empty. If the signer cannot issue the certificate, a condition of type \"Failed\" is added and this field remains empty.\n\nValidation requirements:\n 1. certificateChain must consist of one or more PEM-formatted certificates.\n 2. Each entry must be a valid PEM-wrapped, DER-encoded ASN.1 Certificate as\n described in section 4 of RFC5280.\n\nIf more than one block is present, and the definition of the requested spec.signerName does not indicate otherwise, the first block is the issued certificate, and subsequent blocks should be treated as intermediate certificates and presented in TLS handshakes. When projecting the chain into a pod volume, kubelet will drop any data in-between the PEM blocks, as well as any PEM block headers.",
+ "notBefore": "notBefore is the time at which the certificate becomes valid. The value must be the same as the notBefore value in the leaf certificate in certificateChain. This field is set via the /status subresource. Once populated, it is immutable. The signer must set this field at the same time it sets certificateChain.",
+ "beginRefreshAt": "beginRefreshAt is the time at which the kubelet should begin trying to refresh the certificate. This field is set via the /status subresource, and must be set at the same time as certificateChain. Once populated, this field is immutable.\n\nThis field is only a hint. Kubelet may start refreshing before or after this time if necessary.",
+ "notAfter": "notAfter is the time at which the certificate expires. The value must be the same as the notAfter value in the leaf certificate in certificateChain. This field is set via the /status subresource. Once populated, it is immutable. The signer must set this field at the same time it sets certificateChain.",
+}
+
+func (PodCertificateRequestStatus) SwaggerDoc() map[string]string {
+ return map_PodCertificateRequestStatus
+}
+
// AUTO-GENERATED FUNCTIONS END HERE
diff --git a/vendor/k8s.io/api/certificates/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/certificates/v1/zz_generated.deepcopy.go
index aefa60411..b25937758 100644
--- a/vendor/k8s.io/api/certificates/v1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/certificates/v1/zz_generated.deepcopy.go
@@ -22,6 +22,7 @@ limitations under the License.
package v1
import (
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
@@ -183,6 +184,82 @@ func (in *CertificateSigningRequestStatus) DeepCopy() *CertificateSigningRequest
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ClusterTrustBundle) DeepCopyInto(out *ClusterTrustBundle) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ out.Spec = in.Spec
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTrustBundle.
+func (in *ClusterTrustBundle) DeepCopy() *ClusterTrustBundle {
+ if in == nil {
+ return nil
+ }
+ out := new(ClusterTrustBundle)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ClusterTrustBundle) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ClusterTrustBundleList) DeepCopyInto(out *ClusterTrustBundleList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]ClusterTrustBundle, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTrustBundleList.
+func (in *ClusterTrustBundleList) DeepCopy() *ClusterTrustBundleList {
+ if in == nil {
+ return nil
+ }
+ out := new(ClusterTrustBundleList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ClusterTrustBundleList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ClusterTrustBundleSpec) DeepCopyInto(out *ClusterTrustBundleSpec) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTrustBundleSpec.
+func (in *ClusterTrustBundleSpec) DeepCopy() *ClusterTrustBundleSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(ClusterTrustBundleSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in ExtraValue) DeepCopyInto(out *ExtraValue) {
{
@@ -202,3 +279,132 @@ func (in ExtraValue) DeepCopy() ExtraValue {
in.DeepCopyInto(out)
return *out
}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *PodCertificateRequest) DeepCopyInto(out *PodCertificateRequest) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ in.Status.DeepCopyInto(&out.Status)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodCertificateRequest.
+func (in *PodCertificateRequest) DeepCopy() *PodCertificateRequest {
+ if in == nil {
+ return nil
+ }
+ out := new(PodCertificateRequest)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *PodCertificateRequest) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *PodCertificateRequestList) DeepCopyInto(out *PodCertificateRequestList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]PodCertificateRequest, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodCertificateRequestList.
+func (in *PodCertificateRequestList) DeepCopy() *PodCertificateRequestList {
+ if in == nil {
+ return nil
+ }
+ out := new(PodCertificateRequestList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *PodCertificateRequestList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *PodCertificateRequestSpec) DeepCopyInto(out *PodCertificateRequestSpec) {
+ *out = *in
+ if in.MaxExpirationSeconds != nil {
+ in, out := &in.MaxExpirationSeconds, &out.MaxExpirationSeconds
+ *out = new(int32)
+ **out = **in
+ }
+ if in.StubPKCS10Request != nil {
+ in, out := &in.StubPKCS10Request, &out.StubPKCS10Request
+ *out = make([]byte, len(*in))
+ copy(*out, *in)
+ }
+ if in.UnverifiedUserAnnotations != nil {
+ in, out := &in.UnverifiedUserAnnotations, &out.UnverifiedUserAnnotations
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodCertificateRequestSpec.
+func (in *PodCertificateRequestSpec) DeepCopy() *PodCertificateRequestSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(PodCertificateRequestSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *PodCertificateRequestStatus) DeepCopyInto(out *PodCertificateRequestStatus) {
+ *out = *in
+ if in.Conditions != nil {
+ in, out := &in.Conditions, &out.Conditions
+ *out = make([]metav1.Condition, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.NotBefore != nil {
+ in, out := &in.NotBefore, &out.NotBefore
+ *out = (*in).DeepCopy()
+ }
+ if in.BeginRefreshAt != nil {
+ in, out := &in.BeginRefreshAt, &out.BeginRefreshAt
+ *out = (*in).DeepCopy()
+ }
+ if in.NotAfter != nil {
+ in, out := &in.NotAfter, &out.NotAfter
+ *out = (*in).DeepCopy()
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodCertificateRequestStatus.
+func (in *PodCertificateRequestStatus) DeepCopy() *PodCertificateRequestStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(PodCertificateRequestStatus)
+ in.DeepCopyInto(out)
+ return out
+}
diff --git a/vendor/k8s.io/api/certificates/v1/zz_generated.model_name.go b/vendor/k8s.io/api/certificates/v1/zz_generated.model_name.go
index 9c7ad07a2..73457044c 100644
--- a/vendor/k8s.io/api/certificates/v1/zz_generated.model_name.go
+++ b/vendor/k8s.io/api/certificates/v1/zz_generated.model_name.go
@@ -45,3 +45,38 @@ func (in CertificateSigningRequestSpec) OpenAPIModelName() string {
func (in CertificateSigningRequestStatus) OpenAPIModelName() string {
return "io.k8s.api.certificates.v1.CertificateSigningRequestStatus"
}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in ClusterTrustBundle) OpenAPIModelName() string {
+ return "io.k8s.api.certificates.v1.ClusterTrustBundle"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in ClusterTrustBundleList) OpenAPIModelName() string {
+ return "io.k8s.api.certificates.v1.ClusterTrustBundleList"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in ClusterTrustBundleSpec) OpenAPIModelName() string {
+ return "io.k8s.api.certificates.v1.ClusterTrustBundleSpec"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in PodCertificateRequest) OpenAPIModelName() string {
+ return "io.k8s.api.certificates.v1.PodCertificateRequest"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in PodCertificateRequestList) OpenAPIModelName() string {
+ return "io.k8s.api.certificates.v1.PodCertificateRequestList"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in PodCertificateRequestSpec) OpenAPIModelName() string {
+ return "io.k8s.api.certificates.v1.PodCertificateRequestSpec"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in PodCertificateRequestStatus) OpenAPIModelName() string {
+ return "io.k8s.api.certificates.v1.PodCertificateRequestStatus"
+}
diff --git a/vendor/k8s.io/api/certificates/v1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/certificates/v1/zz_generated.prerelease-lifecycle.go
index 3a2b27403..522a9bee5 100644
--- a/vendor/k8s.io/api/certificates/v1/zz_generated.prerelease-lifecycle.go
+++ b/vendor/k8s.io/api/certificates/v1/zz_generated.prerelease-lifecycle.go
@@ -32,3 +32,27 @@ func (in *CertificateSigningRequest) APILifecycleIntroduced() (major, minor int)
func (in *CertificateSigningRequestList) APILifecycleIntroduced() (major, minor int) {
return 1, 19
}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *ClusterTrustBundle) APILifecycleIntroduced() (major, minor int) {
+ return 1, 37
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *ClusterTrustBundleList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 37
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *PodCertificateRequest) APILifecycleIntroduced() (major, minor int) {
+ return 1, 37
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *PodCertificateRequestList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 37
+}
diff --git a/vendor/k8s.io/api/certificates/v1alpha1/generated.proto b/vendor/k8s.io/api/certificates/v1alpha1/generated.proto
index 7155f778c..914d8e269 100644
--- a/vendor/k8s.io/api/certificates/v1alpha1/generated.proto
+++ b/vendor/k8s.io/api/certificates/v1alpha1/generated.proto
@@ -38,7 +38,7 @@ option go_package = "k8s.io/api/certificates/v1alpha1";
// to a cluster can read ClusterTrustBundles by impersonating a serviceaccount
// that they have access to.
//
-// It can be optionally associated with a particular assigner, in which case it
+// It can be optionally associated with a particular signer, in which case it
// contains one valid set of trust anchors for that signer. Signers may have
// multiple associated ClusterTrustBundles; each is an independent set of trust
// anchors for that signer. Admission control is used to enforce that only users
@@ -85,6 +85,8 @@ message ClusterTrustBundleSpec {
// using a `spec.signerName=NAME` field selector.
//
// +optional
+ // +k8s:alpha(since:"1.37")=+k8s:optional
+ // +k8s:alpha(since:"1.37")=+k8s:immutable
optional string signerName = 1;
// trustBundle contains the individual X.509 trust anchors for this
diff --git a/vendor/k8s.io/api/certificates/v1alpha1/generated.protomessage.pb.go b/vendor/k8s.io/api/certificates/v1alpha1/generated.protomessage.pb.go
deleted file mode 100644
index 81dd80e28..000000000
--- a/vendor/k8s.io/api/certificates/v1alpha1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,28 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1alpha1
-
-func (*ClusterTrustBundle) ProtoMessage() {}
-
-func (*ClusterTrustBundleList) ProtoMessage() {}
-
-func (*ClusterTrustBundleSpec) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/certificates/v1alpha1/types.go b/vendor/k8s.io/api/certificates/v1alpha1/types.go
index beef02599..bdac6657c 100644
--- a/vendor/k8s.io/api/certificates/v1alpha1/types.go
+++ b/vendor/k8s.io/api/certificates/v1alpha1/types.go
@@ -36,13 +36,13 @@ import (
// to a cluster can read ClusterTrustBundles by impersonating a serviceaccount
// that they have access to.
//
-// It can be optionally associated with a particular assigner, in which case it
+// It can be optionally associated with a particular signer, in which case it
// contains one valid set of trust anchors for that signer. Signers may have
// multiple associated ClusterTrustBundles; each is an independent set of trust
// anchors for that signer. Admission control is used to enforce that only users
// with permissions on the signer can create or modify the corresponding bundle.
type ClusterTrustBundle struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// metadata contains the object metadata.
// +optional
@@ -74,6 +74,8 @@ type ClusterTrustBundleSpec struct {
// using a `spec.signerName=NAME` field selector.
//
// +optional
+ // +k8s:alpha(since:"1.37")=+k8s:optional
+ // +k8s:alpha(since:"1.37")=+k8s:immutable
SignerName string `json:"signerName,omitempty" protobuf:"bytes,1,opt,name=signerName"`
// trustBundle contains the individual X.509 trust anchors for this
@@ -96,7 +98,7 @@ type ClusterTrustBundleSpec struct {
// ClusterTrustBundleList is a collection of ClusterTrustBundle objects
type ClusterTrustBundleList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// metadata contains the list metadata.
//
diff --git a/vendor/k8s.io/api/certificates/v1alpha1/types_swagger_doc_generated.go b/vendor/k8s.io/api/certificates/v1alpha1/types_swagger_doc_generated.go
index bff649e3c..862897e97 100644
--- a/vendor/k8s.io/api/certificates/v1alpha1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/certificates/v1alpha1/types_swagger_doc_generated.go
@@ -28,7 +28,7 @@ package v1alpha1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_ClusterTrustBundle = map[string]string{
- "": "ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors (root certificates).\n\nClusterTrustBundle objects are considered to be readable by any authenticated user in the cluster, because they can be mounted by pods using the `clusterTrustBundle` projection. All service accounts have read access to ClusterTrustBundles by default. Users who only have namespace-level access to a cluster can read ClusterTrustBundles by impersonating a serviceaccount that they have access to.\n\nIt can be optionally associated with a particular assigner, in which case it contains one valid set of trust anchors for that signer. Signers may have multiple associated ClusterTrustBundles; each is an independent set of trust anchors for that signer. Admission control is used to enforce that only users with permissions on the signer can create or modify the corresponding bundle.",
+ "": "ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors (root certificates).\n\nClusterTrustBundle objects are considered to be readable by any authenticated user in the cluster, because they can be mounted by pods using the `clusterTrustBundle` projection. All service accounts have read access to ClusterTrustBundles by default. Users who only have namespace-level access to a cluster can read ClusterTrustBundles by impersonating a serviceaccount that they have access to.\n\nIt can be optionally associated with a particular signer, in which case it contains one valid set of trust anchors for that signer. Signers may have multiple associated ClusterTrustBundles; each is an independent set of trust anchors for that signer. Admission control is used to enforce that only users with permissions on the signer can create or modify the corresponding bundle.",
"metadata": "metadata contains the object metadata.",
"spec": "spec contains the signer (if any) and trust anchors.",
}
diff --git a/vendor/k8s.io/api/certificates/v1beta1/generated.pb.go b/vendor/k8s.io/api/certificates/v1beta1/generated.pb.go
index 5a8b8f2d1..f375246a4 100644
--- a/vendor/k8s.io/api/certificates/v1beta1/generated.pb.go
+++ b/vendor/k8s.io/api/certificates/v1beta1/generated.pb.go
@@ -642,6 +642,13 @@ func (m *PodCertificateRequestSpec) MarshalToSizedBuffer(dAtA []byte) (int, erro
_ = i
var l int
_ = l
+ if m.StubPKCS10Request != nil {
+ i -= len(m.StubPKCS10Request)
+ copy(dAtA[i:], m.StubPKCS10Request)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.StubPKCS10Request)))
+ i--
+ dAtA[i] = 0x62
+ }
if len(m.UnverifiedUserAnnotations) > 0 {
keysForUnverifiedUserAnnotations := make([]string, 0, len(m.UnverifiedUserAnnotations))
for k := range m.UnverifiedUserAnnotations {
@@ -1058,6 +1065,10 @@ func (m *PodCertificateRequestSpec) Size() (n int) {
n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
}
}
+ if m.StubPKCS10Request != nil {
+ l = len(m.StubPKCS10Request)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -1274,6 +1285,7 @@ func (this *PodCertificateRequestSpec) String() string {
`PKIXPublicKey:` + valueToStringGenerated(this.PKIXPublicKey) + `,`,
`ProofOfPossession:` + valueToStringGenerated(this.ProofOfPossession) + `,`,
`UnverifiedUserAnnotations:` + mapStringForUnverifiedUserAnnotations + `,`,
+ `StubPKCS10Request:` + valueToStringGenerated(this.StubPKCS10Request) + `,`,
`}`,
}, "")
return s
@@ -3490,6 +3502,40 @@ func (m *PodCertificateRequestSpec) Unmarshal(dAtA []byte) error {
}
m.UnverifiedUserAnnotations[mapkey] = mapvalue
iNdEx = postIndex
+ case 12:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field StubPKCS10Request", wireType)
+ }
+ var byteLen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ byteLen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if byteLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + byteLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.StubPKCS10Request = append(m.StubPKCS10Request[:0], dAtA[iNdEx:postIndex]...)
+ if m.StubPKCS10Request == nil {
+ m.StubPKCS10Request = []byte{}
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/vendor/k8s.io/api/certificates/v1beta1/generated.proto b/vendor/k8s.io/api/certificates/v1beta1/generated.proto
index a8ffad472..25561abbc 100644
--- a/vendor/k8s.io/api/certificates/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/certificates/v1beta1/generated.proto
@@ -30,8 +30,8 @@ import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
option go_package = "k8s.io/api/certificates/v1beta1";
// Describes a certificate signing request
-// +k8s:supportsSubresource=/status
-// +k8s:supportsSubresource=/approval
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/approval"
message CertificateSigningRequest {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -183,12 +183,12 @@ message CertificateSigningRequestStatus {
// +listType=map
// +listMapKey=type
// +optional
- // +k8s:listType=map
- // +k8s:listMapKey=type
- // +k8s:customUnique
- // +k8s:optional
- // +k8s:item(type: "Approved")=+k8s:zeroOrOneOfMember
- // +k8s:item(type: "Denied")=+k8s:zeroOrOneOfMember
+ // +k8s:beta(since: "1.37")=+k8s:listType=map
+ // +k8s:beta(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:beta(since: "1.37")=+k8s:customUnique
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:item(type: "Approved")=+k8s:zeroOrOneOfMember
+ // +k8s:beta(since: "1.37")=+k8s:item(type: "Denied")=+k8s:zeroOrOneOfMember
repeated CertificateSigningRequestCondition conditions = 1;
// If request was approved, the controller will place the issued certificate here.
@@ -206,7 +206,7 @@ message CertificateSigningRequestStatus {
// to a cluster can read ClusterTrustBundles by impersonating a serviceaccount
// that they have access to.
//
-// It can be optionally associated with a particular assigner, in which case it
+// It can be optionally associated with a particular signer, in which case it
// contains one valid set of trust anchors for that signer. Signers may have
// multiple associated ClusterTrustBundles; each is an independent set of trust
// anchors for that signer. Admission control is used to enforce that only users
@@ -253,6 +253,8 @@ message ClusterTrustBundleSpec {
// using a `spec.signerName=NAME` field selector.
//
// +optional
+ // +k8s:alpha(since:"1.37")=+k8s:optional
+ // +k8s:alpha(since:"1.37")=+k8s:immutable
optional string signerName = 1;
// trustBundle contains the individual X.509 trust anchors for this
@@ -282,6 +284,7 @@ message ExtraValue {
// signer.
//
// Kubelets use this API to implement podCertificate projected volumes
+// +k8s:supportsSubresource="/status"
message PodCertificateRequest {
// metadata contains the object metadata.
//
@@ -289,6 +292,7 @@ message PodCertificateRequest {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec contains the details about the certificate being requested.
+ // +required
optional PodCertificateRequestSpec spec = 2;
// status contains the issued certificate, and a standard set of conditions.
@@ -369,8 +373,7 @@ message PodCertificateRequestSpec {
// +default=86400
optional int32 maxExpirationSeconds = 8;
- // pkixPublicKey is the PKIX-serialized public key the signer will issue the
- // certificate to.
+ // The PKIX-serialized public key the signer will issue the certificate to.
//
// The key must be one of RSA3072, RSA4096, ECDSAP256, ECDSAP384, ECDSAP521,
// or ED25519. Note that this list may be expanded in the future.
@@ -382,11 +385,16 @@ message PodCertificateRequestSpec {
// "UnsupportedKeyType". It may also suggest a key type that it does support
// in the message field.
//
- // +required
+ // Deprecated: This field is replaced by StubPKCS10Request. If
+ // StubPKCS10Request is set, this field must be empty. Signer
+ // implementations should extract the public key from the StubPKCS10Request
+ // field.
+ //
+ // +optional
optional bytes pkixPublicKey = 9;
- // proofOfPossession proves that the requesting kubelet holds the private
- // key corresponding to pkixPublicKey.
+ // A proof that the requesting kubelet holds the private key corresponding
+ // to pkixPublicKey.
//
// It is contructed by signing the ASCII bytes of the pod's UID using
// `pkixPublicKey`.
@@ -403,12 +411,35 @@ message PodCertificateRequestSpec {
// golang library function crypto/ecdsa.SignASN1)
//
// If the key is an ED25519 key, the the signature is as described by the
- // [ED25519 Specification](https://ed25519.cr.yp.to/) (as implemented by
- // the golang library crypto/ed25519.Sign).
+ // [ED25519 Specification](https://ed25519.cr.yp.to/) (as implemented by the
+ // golang library crypto/ed25519.Sign).
//
- // +required
+ // Deprecated: This field is replaced by StubPKCS10Request. If
+ // StubPKCS10Request is set, this field must be empty.
+ //
+ // +optional
optional bytes proofOfPossession = 10;
+ // A PKCS#10 certificate signing request (DER-serialized) generated by
+ // Kubelet using the subject private key.
+ //
+ // Most signer implementations will ignore the contents of the CSR except to
+ // extract the subject public key. The API server automatically verifies the
+ // CSR signature during admission, so the signer does not need to repeat the
+ // verification. CSRs generated by kubelet are completely empty.
+ //
+ // The subject public key must be one of RSA3072, RSA4096, ECDSAP256,
+ // ECDSAP384, ECDSAP521, or ED25519. Note that this list may be expanded in
+ // the future.
+ //
+ // Signer implementations do not need to support all key types supported by
+ // kube-apiserver and kubelet. If a signer does not support the key type
+ // used for a given PodCertificateRequest, it must deny the request by
+ // setting a status.conditions entry with a type of "Denied" and a reason of
+ // "UnsupportedKeyType". It may also suggest a key type that it does support
+ // in the message field.
+ optional bytes stubPKCS10Request = 12;
+
// unverifiedUserAnnotations allow pod authors to pass additional information to
// the signer implementation. Kubernetes does not restrict or validate this
// metadata in any way.
@@ -439,6 +470,9 @@ message PodCertificateRequestStatus {
// +listType=map
// +listMapKey=type
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 1;
// certificateChain is populated with an issued certificate by the signer.
diff --git a/vendor/k8s.io/api/certificates/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/certificates/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index 00ba7faae..000000000
--- a/vendor/k8s.io/api/certificates/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,48 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*CertificateSigningRequest) ProtoMessage() {}
-
-func (*CertificateSigningRequestCondition) ProtoMessage() {}
-
-func (*CertificateSigningRequestList) ProtoMessage() {}
-
-func (*CertificateSigningRequestSpec) ProtoMessage() {}
-
-func (*CertificateSigningRequestStatus) ProtoMessage() {}
-
-func (*ClusterTrustBundle) ProtoMessage() {}
-
-func (*ClusterTrustBundleList) ProtoMessage() {}
-
-func (*ClusterTrustBundleSpec) ProtoMessage() {}
-
-func (*ExtraValue) ProtoMessage() {}
-
-func (*PodCertificateRequest) ProtoMessage() {}
-
-func (*PodCertificateRequestList) ProtoMessage() {}
-
-func (*PodCertificateRequestSpec) ProtoMessage() {}
-
-func (*PodCertificateRequestStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/certificates/v1beta1/types.go b/vendor/k8s.io/api/certificates/v1beta1/types.go
index acfabbfe9..eaa77c194 100644
--- a/vendor/k8s.io/api/certificates/v1beta1/types.go
+++ b/vendor/k8s.io/api/certificates/v1beta1/types.go
@@ -32,10 +32,10 @@ import (
// +k8s:prerelease-lifecycle-gen:replacement=certificates.k8s.io,v1,CertificateSigningRequest
// Describes a certificate signing request
-// +k8s:supportsSubresource=/status
-// +k8s:supportsSubresource=/approval
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/approval"
type CertificateSigningRequest struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -177,12 +177,12 @@ type CertificateSigningRequestStatus struct {
// +listType=map
// +listMapKey=type
// +optional
- // +k8s:listType=map
- // +k8s:listMapKey=type
- // +k8s:customUnique
- // +k8s:optional
- // +k8s:item(type: "Approved")=+k8s:zeroOrOneOfMember
- // +k8s:item(type: "Denied")=+k8s:zeroOrOneOfMember
+ // +k8s:beta(since: "1.37")=+k8s:listType=map
+ // +k8s:beta(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:beta(since: "1.37")=+k8s:customUnique
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:item(type: "Approved")=+k8s:zeroOrOneOfMember
+ // +k8s:beta(since: "1.37")=+k8s:item(type: "Denied")=+k8s:zeroOrOneOfMember
Conditions []CertificateSigningRequestCondition `json:"conditions,omitempty" protobuf:"bytes,1,rep,name=conditions"`
// If request was approved, the controller will place the issued certificate here.
@@ -230,7 +230,7 @@ type CertificateSigningRequestCondition struct {
// +k8s:prerelease-lifecycle-gen:replacement=certificates.k8s.io,v1,CertificateSigningRequestList
type CertificateSigningRequestList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -273,6 +273,8 @@ const (
// +genclient
// +genclient:nonNamespaced
// +k8s:prerelease-lifecycle-gen:introduced=1.33
+// +k8s:prerelease-lifecycle-gen:deprecated=1.37
+// +k8s:prerelease-lifecycle-gen:replacement=certificates.k8s.io,v1,ClusterTrustBundle
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors
@@ -285,13 +287,13 @@ const (
// to a cluster can read ClusterTrustBundles by impersonating a serviceaccount
// that they have access to.
//
-// It can be optionally associated with a particular assigner, in which case it
+// It can be optionally associated with a particular signer, in which case it
// contains one valid set of trust anchors for that signer. Signers may have
// multiple associated ClusterTrustBundles; each is an independent set of trust
// anchors for that signer. Admission control is used to enforce that only users
// with permissions on the signer can create or modify the corresponding bundle.
type ClusterTrustBundle struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// metadata contains the object metadata.
// +optional
@@ -323,6 +325,8 @@ type ClusterTrustBundleSpec struct {
// using a `spec.signerName=NAME` field selector.
//
// +optional
+ // +k8s:alpha(since:"1.37")=+k8s:optional
+ // +k8s:alpha(since:"1.37")=+k8s:immutable
SignerName string `json:"signerName,omitempty" protobuf:"bytes,1,opt,name=signerName"`
// trustBundle contains the individual X.509 trust anchors for this
@@ -340,11 +344,13 @@ type ClusterTrustBundleSpec struct {
}
// +k8s:prerelease-lifecycle-gen:introduced=1.33
+// +k8s:prerelease-lifecycle-gen:deprecated=1.37
+// +k8s:prerelease-lifecycle-gen:replacement=certificates.k8s.io,v1,ClusterTrustBundleList
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ClusterTrustBundleList is a collection of ClusterTrustBundle objects
type ClusterTrustBundleList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// metadata contains the list metadata.
//
@@ -357,14 +363,17 @@ type ClusterTrustBundleList struct {
// +genclient
// +k8s:prerelease-lifecycle-gen:introduced=1.35
+// +k8s:prerelease-lifecycle-gen:deprecated=1.37
+// +k8s:prerelease-lifecycle-gen:replacement=certificates.k8s.io,v1,PodCertificateRequest
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// PodCertificateRequest encodes a pod requesting a certificate from a given
// signer.
//
// Kubelets use this API to implement podCertificate projected volumes
+// +k8s:supportsSubresource="/status"
type PodCertificateRequest struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// metadata contains the object metadata.
//
@@ -372,6 +381,7 @@ type PodCertificateRequest struct {
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec contains the details about the certificate being requested.
+ // +required
Spec PodCertificateRequestSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
// status contains the issued certificate, and a standard set of conditions.
@@ -438,8 +448,7 @@ type PodCertificateRequestSpec struct {
// +default=86400
MaxExpirationSeconds *int32 `json:"maxExpirationSeconds,omitempty" protobuf:"varint,8,opt,name=maxExpirationSeconds"`
- // pkixPublicKey is the PKIX-serialized public key the signer will issue the
- // certificate to.
+ // The PKIX-serialized public key the signer will issue the certificate to.
//
// The key must be one of RSA3072, RSA4096, ECDSAP256, ECDSAP384, ECDSAP521,
// or ED25519. Note that this list may be expanded in the future.
@@ -451,11 +460,16 @@ type PodCertificateRequestSpec struct {
// "UnsupportedKeyType". It may also suggest a key type that it does support
// in the message field.
//
- // +required
+ // Deprecated: This field is replaced by StubPKCS10Request. If
+ // StubPKCS10Request is set, this field must be empty. Signer
+ // implementations should extract the public key from the StubPKCS10Request
+ // field.
+ //
+ // +optional
PKIXPublicKey []byte `json:"pkixPublicKey" protobuf:"bytes,9,opt,name=pkixPublicKey"`
- // proofOfPossession proves that the requesting kubelet holds the private
- // key corresponding to pkixPublicKey.
+ // A proof that the requesting kubelet holds the private key corresponding
+ // to pkixPublicKey.
//
// It is contructed by signing the ASCII bytes of the pod's UID using
// `pkixPublicKey`.
@@ -472,12 +486,35 @@ type PodCertificateRequestSpec struct {
// golang library function crypto/ecdsa.SignASN1)
//
// If the key is an ED25519 key, the the signature is as described by the
- // [ED25519 Specification](https://ed25519.cr.yp.to/) (as implemented by
- // the golang library crypto/ed25519.Sign).
+ // [ED25519 Specification](https://ed25519.cr.yp.to/) (as implemented by the
+ // golang library crypto/ed25519.Sign).
//
- // +required
+ // Deprecated: This field is replaced by StubPKCS10Request. If
+ // StubPKCS10Request is set, this field must be empty.
+ //
+ // +optional
ProofOfPossession []byte `json:"proofOfPossession" protobuf:"bytes,10,opt,name=proofOfPossession"`
+ // A PKCS#10 certificate signing request (DER-serialized) generated by
+ // Kubelet using the subject private key.
+ //
+ // Most signer implementations will ignore the contents of the CSR except to
+ // extract the subject public key. The API server automatically verifies the
+ // CSR signature during admission, so the signer does not need to repeat the
+ // verification. CSRs generated by kubelet are completely empty.
+ //
+ // The subject public key must be one of RSA3072, RSA4096, ECDSAP256,
+ // ECDSAP384, ECDSAP521, or ED25519. Note that this list may be expanded in
+ // the future.
+ //
+ // Signer implementations do not need to support all key types supported by
+ // kube-apiserver and kubelet. If a signer does not support the key type
+ // used for a given PodCertificateRequest, it must deny the request by
+ // setting a status.conditions entry with a type of "Denied" and a reason of
+ // "UnsupportedKeyType". It may also suggest a key type that it does support
+ // in the message field.
+ StubPKCS10Request []byte `json:"stubPKCS10Request" protobuf:"bytes,12,opt,name=stubPKCS10Request"`
+
// unverifiedUserAnnotations allow pod authors to pass additional information to
// the signer implementation. Kubernetes does not restrict or validate this
// metadata in any way.
@@ -508,6 +545,9 @@ type PodCertificateRequestStatus struct {
// +listType=map
// +listMapKey=type
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// certificateChain is populated with an issued certificate by the signer.
@@ -588,10 +628,12 @@ const (
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.35
+// +k8s:prerelease-lifecycle-gen:deprecated=1.37
+// +k8s:prerelease-lifecycle-gen:replacement=certificates.k8s.io,v1,PodCertificateRequestList
// PodCertificateRequestList is a collection of PodCertificateRequest objects
type PodCertificateRequestList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// metadata contains the list metadata.
//
diff --git a/vendor/k8s.io/api/certificates/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/certificates/v1beta1/types_swagger_doc_generated.go
index bd829fb21..c5352a7ac 100644
--- a/vendor/k8s.io/api/certificates/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/certificates/v1beta1/types_swagger_doc_generated.go
@@ -76,7 +76,7 @@ func (CertificateSigningRequestStatus) SwaggerDoc() map[string]string {
}
var map_ClusterTrustBundle = map[string]string{
- "": "ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors (root certificates).\n\nClusterTrustBundle objects are considered to be readable by any authenticated user in the cluster, because they can be mounted by pods using the `clusterTrustBundle` projection. All service accounts have read access to ClusterTrustBundles by default. Users who only have namespace-level access to a cluster can read ClusterTrustBundles by impersonating a serviceaccount that they have access to.\n\nIt can be optionally associated with a particular assigner, in which case it contains one valid set of trust anchors for that signer. Signers may have multiple associated ClusterTrustBundles; each is an independent set of trust anchors for that signer. Admission control is used to enforce that only users with permissions on the signer can create or modify the corresponding bundle.",
+ "": "ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors (root certificates).\n\nClusterTrustBundle objects are considered to be readable by any authenticated user in the cluster, because they can be mounted by pods using the `clusterTrustBundle` projection. All service accounts have read access to ClusterTrustBundles by default. Users who only have namespace-level access to a cluster can read ClusterTrustBundles by impersonating a serviceaccount that they have access to.\n\nIt can be optionally associated with a particular signer, in which case it contains one valid set of trust anchors for that signer. Signers may have multiple associated ClusterTrustBundles; each is an independent set of trust anchors for that signer. Admission control is used to enforce that only users with permissions on the signer can create or modify the corresponding bundle.",
"metadata": "metadata contains the object metadata.",
"spec": "spec contains the signer (if any) and trust anchors.",
}
@@ -136,8 +136,9 @@ var map_PodCertificateRequestSpec = map[string]string{
"nodeName": "nodeName is the name of the node the pod is assigned to.",
"nodeUID": "nodeUID is the UID of the node the pod is assigned to.",
"maxExpirationSeconds": "maxExpirationSeconds is the maximum lifetime permitted for the certificate.\n\nIf omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver will reject values shorter than 3600 (1 hour). The maximum allowable value is 7862400 (91 days).\n\nThe signer implementation is then free to issue a certificate with any lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600 seconds (1 hour). This constraint is enforced by kube-apiserver. `kubernetes.io` signers will never issue certificates with a lifetime longer than 24 hours.",
- "pkixPublicKey": "pkixPublicKey is the PKIX-serialized public key the signer will issue the certificate to.\n\nThe key must be one of RSA3072, RSA4096, ECDSAP256, ECDSAP384, ECDSAP521, or ED25519. Note that this list may be expanded in the future.\n\nSigner implementations do not need to support all key types supported by kube-apiserver and kubelet. If a signer does not support the key type used for a given PodCertificateRequest, it must deny the request by setting a status.conditions entry with a type of \"Denied\" and a reason of \"UnsupportedKeyType\". It may also suggest a key type that it does support in the message field.",
- "proofOfPossession": "proofOfPossession proves that the requesting kubelet holds the private key corresponding to pkixPublicKey.\n\nIt is contructed by signing the ASCII bytes of the pod's UID using `pkixPublicKey`.\n\nkube-apiserver validates the proof of possession during creation of the PodCertificateRequest.\n\nIf the key is an RSA key, then the signature is over the ASCII bytes of the pod UID, using RSASSA-PSS from RFC 8017 (as implemented by the golang function crypto/rsa.SignPSS with nil options).\n\nIf the key is an ECDSA key, then the signature is as described by [SEC 1, Version 2.0](https://www.secg.org/sec1-v2.pdf) (as implemented by the golang library function crypto/ecdsa.SignASN1)\n\nIf the key is an ED25519 key, the the signature is as described by the [ED25519 Specification](https://ed25519.cr.yp.to/) (as implemented by the golang library crypto/ed25519.Sign).",
+ "pkixPublicKey": "The PKIX-serialized public key the signer will issue the certificate to.\n\nThe key must be one of RSA3072, RSA4096, ECDSAP256, ECDSAP384, ECDSAP521, or ED25519. Note that this list may be expanded in the future.\n\nSigner implementations do not need to support all key types supported by kube-apiserver and kubelet. If a signer does not support the key type used for a given PodCertificateRequest, it must deny the request by setting a status.conditions entry with a type of \"Denied\" and a reason of \"UnsupportedKeyType\". It may also suggest a key type that it does support in the message field.\n\nDeprecated: This field is replaced by StubPKCS10Request. If StubPKCS10Request is set, this field must be empty. Signer implementations should extract the public key from the StubPKCS10Request field.",
+ "proofOfPossession": "A proof that the requesting kubelet holds the private key corresponding to pkixPublicKey.\n\nIt is contructed by signing the ASCII bytes of the pod's UID using `pkixPublicKey`.\n\nkube-apiserver validates the proof of possession during creation of the PodCertificateRequest.\n\nIf the key is an RSA key, then the signature is over the ASCII bytes of the pod UID, using RSASSA-PSS from RFC 8017 (as implemented by the golang function crypto/rsa.SignPSS with nil options).\n\nIf the key is an ECDSA key, then the signature is as described by [SEC 1, Version 2.0](https://www.secg.org/sec1-v2.pdf) (as implemented by the golang library function crypto/ecdsa.SignASN1)\n\nIf the key is an ED25519 key, the the signature is as described by the [ED25519 Specification](https://ed25519.cr.yp.to/) (as implemented by the golang library crypto/ed25519.Sign).\n\nDeprecated: This field is replaced by StubPKCS10Request. If StubPKCS10Request is set, this field must be empty.",
+ "stubPKCS10Request": "A PKCS#10 certificate signing request (DER-serialized) generated by Kubelet using the subject private key.\n\nMost signer implementations will ignore the contents of the CSR except to extract the subject public key. The API server automatically verifies the CSR signature during admission, so the signer does not need to repeat the verification. CSRs generated by kubelet are completely empty.\n\nThe subject public key must be one of RSA3072, RSA4096, ECDSAP256, ECDSAP384, ECDSAP521, or ED25519. Note that this list may be expanded in the future.\n\nSigner implementations do not need to support all key types supported by kube-apiserver and kubelet. If a signer does not support the key type used for a given PodCertificateRequest, it must deny the request by setting a status.conditions entry with a type of \"Denied\" and a reason of \"UnsupportedKeyType\". It may also suggest a key type that it does support in the message field.",
"unverifiedUserAnnotations": "unverifiedUserAnnotations allow pod authors to pass additional information to the signer implementation. Kubernetes does not restrict or validate this metadata in any way.\n\nEntries are subject to the same validation as object metadata annotations, with the addition that all keys must be domain-prefixed. No restrictions are placed on values, except an overall size limitation on the entire field.\n\nSigners should document the keys and values they support. Signers should deny requests that contain keys they do not recognize.",
}
diff --git a/vendor/k8s.io/api/certificates/v1beta1/zz_generated.deepcopy.go b/vendor/k8s.io/api/certificates/v1beta1/zz_generated.deepcopy.go
index 20b5c2a24..417b8a3e6 100644
--- a/vendor/k8s.io/api/certificates/v1beta1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/certificates/v1beta1/zz_generated.deepcopy.go
@@ -364,6 +364,11 @@ func (in *PodCertificateRequestSpec) DeepCopyInto(out *PodCertificateRequestSpec
*out = make([]byte, len(*in))
copy(*out, *in)
}
+ if in.StubPKCS10Request != nil {
+ in, out := &in.StubPKCS10Request, &out.StubPKCS10Request
+ *out = make([]byte, len(*in))
+ copy(*out, *in)
+ }
if in.UnverifiedUserAnnotations != nil {
in, out := &in.UnverifiedUserAnnotations, &out.UnverifiedUserAnnotations
*out = make(map[string]string, len(*in))
diff --git a/vendor/k8s.io/api/certificates/v1beta1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/certificates/v1beta1/zz_generated.prerelease-lifecycle.go
index f95e329e2..3b6f17e3e 100644
--- a/vendor/k8s.io/api/certificates/v1beta1/zz_generated.prerelease-lifecycle.go
+++ b/vendor/k8s.io/api/certificates/v1beta1/zz_generated.prerelease-lifecycle.go
@@ -82,13 +82,19 @@ func (in *ClusterTrustBundle) APILifecycleIntroduced() (major, minor int) {
// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
func (in *ClusterTrustBundle) APILifecycleDeprecated() (major, minor int) {
- return 1, 36
+ return 1, 37
+}
+
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
+func (in *ClusterTrustBundle) APILifecycleReplacement() schema.GroupVersionKind {
+ return schema.GroupVersionKind{Group: "certificates.k8s.io", Version: "v1", Kind: "ClusterTrustBundle"}
}
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *ClusterTrustBundle) APILifecycleRemoved() (major, minor int) {
- return 1, 39
+ return 1, 40
}
// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
@@ -100,13 +106,19 @@ func (in *ClusterTrustBundleList) APILifecycleIntroduced() (major, minor int) {
// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
func (in *ClusterTrustBundleList) APILifecycleDeprecated() (major, minor int) {
- return 1, 36
+ return 1, 37
+}
+
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
+func (in *ClusterTrustBundleList) APILifecycleReplacement() schema.GroupVersionKind {
+ return schema.GroupVersionKind{Group: "certificates.k8s.io", Version: "v1", Kind: "ClusterTrustBundleList"}
}
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *ClusterTrustBundleList) APILifecycleRemoved() (major, minor int) {
- return 1, 39
+ return 1, 40
}
// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
@@ -118,13 +130,19 @@ func (in *PodCertificateRequest) APILifecycleIntroduced() (major, minor int) {
// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
func (in *PodCertificateRequest) APILifecycleDeprecated() (major, minor int) {
- return 1, 38
+ return 1, 37
+}
+
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
+func (in *PodCertificateRequest) APILifecycleReplacement() schema.GroupVersionKind {
+ return schema.GroupVersionKind{Group: "certificates.k8s.io", Version: "v1", Kind: "PodCertificateRequest"}
}
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *PodCertificateRequest) APILifecycleRemoved() (major, minor int) {
- return 1, 41
+ return 1, 40
}
// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
@@ -136,11 +154,17 @@ func (in *PodCertificateRequestList) APILifecycleIntroduced() (major, minor int)
// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
func (in *PodCertificateRequestList) APILifecycleDeprecated() (major, minor int) {
- return 1, 38
+ return 1, 37
+}
+
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go.
+func (in *PodCertificateRequestList) APILifecycleReplacement() schema.GroupVersionKind {
+ return schema.GroupVersionKind{Group: "certificates.k8s.io", Version: "v1", Kind: "PodCertificateRequestList"}
}
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *PodCertificateRequestList) APILifecycleRemoved() (major, minor int) {
- return 1, 41
+ return 1, 40
}
diff --git a/vendor/k8s.io/api/coordination/v1/generated.proto b/vendor/k8s.io/api/coordination/v1/generated.proto
index 4d4f7e08f..75f1c9acf 100644
--- a/vendor/k8s.io/api/coordination/v1/generated.proto
+++ b/vendor/k8s.io/api/coordination/v1/generated.proto
@@ -30,6 +30,7 @@ option go_package = "k8s.io/api/coordination/v1";
// Lease defines a lease concept.
message Lease {
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -79,14 +80,14 @@ message LeaseSpec {
// +optional
optional int32 leaseTransitions = 5;
- // Strategy indicates the strategy for picking the leader for coordinated leader election.
+ // strategy indicates the strategy for picking the leader for coordinated leader election.
// If the field is not specified, there is no active coordination for this lease.
// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.
// +featureGate=CoordinatedLeaderElection
// +optional
optional string strategy = 6;
- // PreferredHolder signals to a lease holder that the lease has a
+ // preferredHolder signals to a lease holder that the lease has a
// more optimal holder and should be given up.
// This field can only be set if Strategy is also set.
// +featureGate=CoordinatedLeaderElection
diff --git a/vendor/k8s.io/api/coordination/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/coordination/v1/generated.protomessage.pb.go
deleted file mode 100644
index f9210fce6..000000000
--- a/vendor/k8s.io/api/coordination/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,28 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*Lease) ProtoMessage() {}
-
-func (*LeaseList) ProtoMessage() {}
-
-func (*LeaseSpec) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/coordination/v1/types.go b/vendor/k8s.io/api/coordination/v1/types.go
index 5307cea88..297ec32cb 100644
--- a/vendor/k8s.io/api/coordination/v1/types.go
+++ b/vendor/k8s.io/api/coordination/v1/types.go
@@ -38,7 +38,8 @@ const (
// Lease defines a lease concept.
type Lease struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -72,13 +73,13 @@ type LeaseSpec struct {
// holders.
// +optional
LeaseTransitions *int32 `json:"leaseTransitions,omitempty" protobuf:"varint,5,opt,name=leaseTransitions"`
- // Strategy indicates the strategy for picking the leader for coordinated leader election.
+ // strategy indicates the strategy for picking the leader for coordinated leader election.
// If the field is not specified, there is no active coordination for this lease.
// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.
// +featureGate=CoordinatedLeaderElection
// +optional
Strategy *CoordinatedLeaseStrategy `json:"strategy,omitempty" protobuf:"bytes,6,opt,name=strategy"`
- // PreferredHolder signals to a lease holder that the lease has a
+ // preferredHolder signals to a lease holder that the lease has a
// more optimal holder and should be given up.
// This field can only be set if Strategy is also set.
// +featureGate=CoordinatedLeaderElection
@@ -91,7 +92,7 @@ type LeaseSpec struct {
// LeaseList is a list of Lease objects.
type LeaseList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/coordination/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/coordination/v1/types_swagger_doc_generated.go
index 6c1a7ea8b..c8bdb1e42 100644
--- a/vendor/k8s.io/api/coordination/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/coordination/v1/types_swagger_doc_generated.go
@@ -29,7 +29,7 @@ package v1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_Lease = map[string]string{
"": "Lease defines a lease concept.",
- "metadata": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec contains the specification of the Lease. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -54,8 +54,8 @@ var map_LeaseSpec = map[string]string{
"acquireTime": "acquireTime is a time when the current lease was acquired.",
"renewTime": "renewTime is a time when the current holder of a lease has last updated the lease.",
"leaseTransitions": "leaseTransitions is the number of transitions of a lease between holders.",
- "strategy": "Strategy indicates the strategy for picking the leader for coordinated leader election. If the field is not specified, there is no active coordination for this lease. (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.",
- "preferredHolder": "PreferredHolder signals to a lease holder that the lease has a more optimal holder and should be given up. This field can only be set if Strategy is also set.",
+ "strategy": "strategy indicates the strategy for picking the leader for coordinated leader election. If the field is not specified, there is no active coordination for this lease. (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.",
+ "preferredHolder": "preferredHolder signals to a lease holder that the lease has a more optimal holder and should be given up. This field can only be set if Strategy is also set.",
}
func (LeaseSpec) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/coordination/v1alpha2/generated.proto b/vendor/k8s.io/api/coordination/v1alpha2/generated.proto
index 250c6113e..7e1c0e0ef 100644
--- a/vendor/k8s.io/api/coordination/v1alpha2/generated.proto
+++ b/vendor/k8s.io/api/coordination/v1alpha2/generated.proto
@@ -32,13 +32,14 @@ option go_package = "k8s.io/api/coordination/v1alpha2";
// LeaseCandidate defines a candidate for a Lease object.
// Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.
message LeaseCandidate {
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec contains the specification of the Lease.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional LeaseCandidateSpec spec = 2;
}
@@ -55,19 +56,19 @@ message LeaseCandidateList {
// LeaseCandidateSpec is a specification of a Lease.
message LeaseCandidateSpec {
- // LeaseName is the name of the lease for which this candidate is contending.
+ // leaseName is the name of the lease for which this candidate is contending.
// This field is immutable.
// +required
optional string leaseName = 1;
- // PingTime is the last time that the server has requested the LeaseCandidate
+ // pingTime is the last time that the server has requested the LeaseCandidate
// to renew. It is only done during leader election to check if any
// LeaseCandidates have become ineligible. When PingTime is updated, the
// LeaseCandidate will respond by updating RenewTime.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.MicroTime pingTime = 2;
- // RenewTime is the time that the LeaseCandidate was last updated.
+ // renewTime is the time that the LeaseCandidate was last updated.
// Any time a Lease needs to do leader election, the PingTime field
// is updated to signal to the LeaseCandidate that they should update
// the RenewTime.
@@ -77,18 +78,18 @@ message LeaseCandidateSpec {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 3;
- // BinaryVersion is the binary version. It must be in a semver format without leading `v`.
+ // binaryVersion is the binary version. It must be in a semver format without leading `v`.
// This field is required.
// +required
optional string binaryVersion = 4;
- // EmulationVersion is the emulation version. It must be in a semver format without leading `v`.
+ // emulationVersion is the emulation version. It must be in a semver format without leading `v`.
// EmulationVersion must be less than or equal to BinaryVersion.
// This field is required when strategy is "OldestEmulationVersion"
// +optional
optional string emulationVersion = 5;
- // Strategy is the strategy that coordinated leader election will use for picking the leader.
+ // strategy is the strategy that coordinated leader election will use for picking the leader.
// If multiple candidates for the same Lease return different strategies, the strategy provided
// by the candidate with the latest BinaryVersion will be used. If there is still conflict,
// this is a user error and coordinated leader election will not operate the Lease until resolved.
diff --git a/vendor/k8s.io/api/coordination/v1alpha2/generated.protomessage.pb.go b/vendor/k8s.io/api/coordination/v1alpha2/generated.protomessage.pb.go
deleted file mode 100644
index 937432622..000000000
--- a/vendor/k8s.io/api/coordination/v1alpha2/generated.protomessage.pb.go
+++ /dev/null
@@ -1,28 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1alpha2
-
-func (*LeaseCandidate) ProtoMessage() {}
-
-func (*LeaseCandidateList) ProtoMessage() {}
-
-func (*LeaseCandidateSpec) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/coordination/v1alpha2/types.go b/vendor/k8s.io/api/coordination/v1alpha2/types.go
index 13e1deb06..ff32ee16f 100644
--- a/vendor/k8s.io/api/coordination/v1alpha2/types.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/types.go
@@ -28,30 +28,31 @@ import (
// LeaseCandidate defines a candidate for a Lease object.
// Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.
type LeaseCandidate struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec contains the specification of the Lease.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec LeaseCandidateSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
// LeaseCandidateSpec is a specification of a Lease.
type LeaseCandidateSpec struct {
- // LeaseName is the name of the lease for which this candidate is contending.
+ // leaseName is the name of the lease for which this candidate is contending.
// This field is immutable.
// +required
LeaseName string `json:"leaseName" protobuf:"bytes,1,name=leaseName"`
- // PingTime is the last time that the server has requested the LeaseCandidate
+ // pingTime is the last time that the server has requested the LeaseCandidate
// to renew. It is only done during leader election to check if any
// LeaseCandidates have become ineligible. When PingTime is updated, the
// LeaseCandidate will respond by updating RenewTime.
// +optional
PingTime *metav1.MicroTime `json:"pingTime,omitempty" protobuf:"bytes,2,opt,name=pingTime"`
- // RenewTime is the time that the LeaseCandidate was last updated.
+ // renewTime is the time that the LeaseCandidate was last updated.
// Any time a Lease needs to do leader election, the PingTime field
// is updated to signal to the LeaseCandidate that they should update
// the RenewTime.
@@ -60,16 +61,16 @@ type LeaseCandidateSpec struct {
// garbage collection for still active LeaseCandidates.
// +optional
RenewTime *metav1.MicroTime `json:"renewTime,omitempty" protobuf:"bytes,3,opt,name=renewTime"`
- // BinaryVersion is the binary version. It must be in a semver format without leading `v`.
+ // binaryVersion is the binary version. It must be in a semver format without leading `v`.
// This field is required.
// +required
BinaryVersion string `json:"binaryVersion" protobuf:"bytes,4,name=binaryVersion"`
- // EmulationVersion is the emulation version. It must be in a semver format without leading `v`.
+ // emulationVersion is the emulation version. It must be in a semver format without leading `v`.
// EmulationVersion must be less than or equal to BinaryVersion.
// This field is required when strategy is "OldestEmulationVersion"
// +optional
EmulationVersion string `json:"emulationVersion,omitempty" protobuf:"bytes,5,opt,name=emulationVersion"`
- // Strategy is the strategy that coordinated leader election will use for picking the leader.
+ // strategy is the strategy that coordinated leader election will use for picking the leader.
// If multiple candidates for the same Lease return different strategies, the strategy provided
// by the candidate with the latest BinaryVersion will be used. If there is still conflict,
// this is a user error and coordinated leader election will not operate the Lease until resolved.
@@ -82,7 +83,7 @@ type LeaseCandidateSpec struct {
// LeaseCandidateList is a list of Lease objects.
type LeaseCandidateList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/coordination/v1alpha2/types_swagger_doc_generated.go b/vendor/k8s.io/api/coordination/v1alpha2/types_swagger_doc_generated.go
index f7e29849e..2ab18a6f6 100644
--- a/vendor/k8s.io/api/coordination/v1alpha2/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/types_swagger_doc_generated.go
@@ -29,7 +29,7 @@ package v1alpha2
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_LeaseCandidate = map[string]string{
"": "LeaseCandidate defines a candidate for a Lease object. Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.",
- "metadata": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec contains the specification of the Lease. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -49,12 +49,12 @@ func (LeaseCandidateList) SwaggerDoc() map[string]string {
var map_LeaseCandidateSpec = map[string]string{
"": "LeaseCandidateSpec is a specification of a Lease.",
- "leaseName": "LeaseName is the name of the lease for which this candidate is contending. This field is immutable.",
- "pingTime": "PingTime is the last time that the server has requested the LeaseCandidate to renew. It is only done during leader election to check if any LeaseCandidates have become ineligible. When PingTime is updated, the LeaseCandidate will respond by updating RenewTime.",
- "renewTime": "RenewTime is the time that the LeaseCandidate was last updated. Any time a Lease needs to do leader election, the PingTime field is updated to signal to the LeaseCandidate that they should update the RenewTime. Old LeaseCandidate objects are also garbage collected if it has been hours since the last renew. The PingTime field is updated regularly to prevent garbage collection for still active LeaseCandidates.",
- "binaryVersion": "BinaryVersion is the binary version. It must be in a semver format without leading `v`. This field is required.",
- "emulationVersion": "EmulationVersion is the emulation version. It must be in a semver format without leading `v`. EmulationVersion must be less than or equal to BinaryVersion. This field is required when strategy is \"OldestEmulationVersion\"",
- "strategy": "Strategy is the strategy that coordinated leader election will use for picking the leader. If multiple candidates for the same Lease return different strategies, the strategy provided by the candidate with the latest BinaryVersion will be used. If there is still conflict, this is a user error and coordinated leader election will not operate the Lease until resolved.",
+ "leaseName": "leaseName is the name of the lease for which this candidate is contending. This field is immutable.",
+ "pingTime": "pingTime is the last time that the server has requested the LeaseCandidate to renew. It is only done during leader election to check if any LeaseCandidates have become ineligible. When PingTime is updated, the LeaseCandidate will respond by updating RenewTime.",
+ "renewTime": "renewTime is the time that the LeaseCandidate was last updated. Any time a Lease needs to do leader election, the PingTime field is updated to signal to the LeaseCandidate that they should update the RenewTime. Old LeaseCandidate objects are also garbage collected if it has been hours since the last renew. The PingTime field is updated regularly to prevent garbage collection for still active LeaseCandidates.",
+ "binaryVersion": "binaryVersion is the binary version. It must be in a semver format without leading `v`. This field is required.",
+ "emulationVersion": "emulationVersion is the emulation version. It must be in a semver format without leading `v`. EmulationVersion must be less than or equal to BinaryVersion. This field is required when strategy is \"OldestEmulationVersion\"",
+ "strategy": "strategy is the strategy that coordinated leader election will use for picking the leader. If multiple candidates for the same Lease return different strategies, the strategy provided by the candidate with the latest BinaryVersion will be used. If there is still conflict, this is a user error and coordinated leader election will not operate the Lease until resolved.",
}
func (LeaseCandidateSpec) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/coordination/v1beta1/generated.proto b/vendor/k8s.io/api/coordination/v1beta1/generated.proto
index 7ca043f52..510b230f7 100644
--- a/vendor/k8s.io/api/coordination/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/coordination/v1beta1/generated.proto
@@ -31,6 +31,7 @@ option go_package = "k8s.io/api/coordination/v1beta1";
// Lease defines a lease concept.
message Lease {
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -44,13 +45,14 @@ message Lease {
// LeaseCandidate defines a candidate for a Lease object.
// Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.
message LeaseCandidate {
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec contains the specification of the Lease.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional LeaseCandidateSpec spec = 2;
}
@@ -67,21 +69,21 @@ message LeaseCandidateList {
// LeaseCandidateSpec is a specification of a Lease.
message LeaseCandidateSpec {
- // LeaseName is the name of the lease for which this candidate is contending.
+ // leaseName is the name of the lease for which this candidate is contending.
// The limits on this field are the same as on Lease.name. Multiple lease candidates
// may reference the same Lease.name.
// This field is immutable.
// +required
optional string leaseName = 1;
- // PingTime is the last time that the server has requested the LeaseCandidate
+ // pingTime is the last time that the server has requested the LeaseCandidate
// to renew. It is only done during leader election to check if any
// LeaseCandidates have become ineligible. When PingTime is updated, the
// LeaseCandidate will respond by updating RenewTime.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.MicroTime pingTime = 2;
- // RenewTime is the time that the LeaseCandidate was last updated.
+ // renewTime is the time that the LeaseCandidate was last updated.
// Any time a Lease needs to do leader election, the PingTime field
// is updated to signal to the LeaseCandidate that they should update
// the RenewTime.
@@ -91,18 +93,18 @@ message LeaseCandidateSpec {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 3;
- // BinaryVersion is the binary version. It must be in a semver format without leading `v`.
+ // binaryVersion is the binary version. It must be in a semver format without leading `v`.
// This field is required.
// +required
optional string binaryVersion = 4;
- // EmulationVersion is the emulation version. It must be in a semver format without leading `v`.
+ // emulationVersion is the emulation version. It must be in a semver format without leading `v`.
// EmulationVersion must be less than or equal to BinaryVersion.
// This field is required when strategy is "OldestEmulationVersion"
// +optional
optional string emulationVersion = 5;
- // Strategy is the strategy that coordinated leader election will use for picking the leader.
+ // strategy is the strategy that coordinated leader election will use for picking the leader.
// If multiple candidates for the same Lease return different strategies, the strategy provided
// by the candidate with the latest BinaryVersion will be used. If there is still conflict,
// this is a user error and coordinated leader election will not operate the Lease until resolved.
@@ -149,13 +151,13 @@ message LeaseSpec {
// +optional
optional int32 leaseTransitions = 5;
- // Strategy indicates the strategy for picking the leader for coordinated leader election
+ // strategy indicates the strategy for picking the leader for coordinated leader election.
// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.
// +featureGate=CoordinatedLeaderElection
// +optional
optional string strategy = 6;
- // PreferredHolder signals to a lease holder that the lease has a
+ // preferredHolder signals to a lease holder that the lease has a
// more optimal holder and should be given up.
// +featureGate=CoordinatedLeaderElection
// +optional
diff --git a/vendor/k8s.io/api/coordination/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/coordination/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index a1a88e55f..000000000
--- a/vendor/k8s.io/api/coordination/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,34 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*Lease) ProtoMessage() {}
-
-func (*LeaseCandidate) ProtoMessage() {}
-
-func (*LeaseCandidateList) ProtoMessage() {}
-
-func (*LeaseCandidateSpec) ProtoMessage() {}
-
-func (*LeaseList) ProtoMessage() {}
-
-func (*LeaseSpec) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/coordination/v1beta1/types.go b/vendor/k8s.io/api/coordination/v1beta1/types.go
index 781d29efc..3141d7062 100644
--- a/vendor/k8s.io/api/coordination/v1beta1/types.go
+++ b/vendor/k8s.io/api/coordination/v1beta1/types.go
@@ -29,7 +29,8 @@ import (
// Lease defines a lease concept.
type Lease struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -63,12 +64,12 @@ type LeaseSpec struct {
// holders.
// +optional
LeaseTransitions *int32 `json:"leaseTransitions,omitempty" protobuf:"varint,5,opt,name=leaseTransitions"`
- // Strategy indicates the strategy for picking the leader for coordinated leader election
+ // strategy indicates the strategy for picking the leader for coordinated leader election.
// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.
// +featureGate=CoordinatedLeaderElection
// +optional
Strategy *v1.CoordinatedLeaseStrategy `json:"strategy,omitempty" protobuf:"bytes,6,opt,name=strategy"`
- // PreferredHolder signals to a lease holder that the lease has a
+ // preferredHolder signals to a lease holder that the lease has a
// more optimal holder and should be given up.
// +featureGate=CoordinatedLeaderElection
// +optional
@@ -82,7 +83,7 @@ type LeaseSpec struct {
// LeaseList is a list of Lease objects.
type LeaseList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -99,32 +100,33 @@ type LeaseList struct {
// LeaseCandidate defines a candidate for a Lease object.
// Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.
type LeaseCandidate struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec contains the specification of the Lease.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec LeaseCandidateSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
// LeaseCandidateSpec is a specification of a Lease.
type LeaseCandidateSpec struct {
- // LeaseName is the name of the lease for which this candidate is contending.
+ // leaseName is the name of the lease for which this candidate is contending.
// The limits on this field are the same as on Lease.name. Multiple lease candidates
// may reference the same Lease.name.
// This field is immutable.
// +required
LeaseName string `json:"leaseName" protobuf:"bytes,1,name=leaseName"`
- // PingTime is the last time that the server has requested the LeaseCandidate
+ // pingTime is the last time that the server has requested the LeaseCandidate
// to renew. It is only done during leader election to check if any
// LeaseCandidates have become ineligible. When PingTime is updated, the
// LeaseCandidate will respond by updating RenewTime.
// +optional
PingTime *metav1.MicroTime `json:"pingTime,omitempty" protobuf:"bytes,2,opt,name=pingTime"`
- // RenewTime is the time that the LeaseCandidate was last updated.
+ // renewTime is the time that the LeaseCandidate was last updated.
// Any time a Lease needs to do leader election, the PingTime field
// is updated to signal to the LeaseCandidate that they should update
// the RenewTime.
@@ -133,16 +135,16 @@ type LeaseCandidateSpec struct {
// garbage collection for still active LeaseCandidates.
// +optional
RenewTime *metav1.MicroTime `json:"renewTime,omitempty" protobuf:"bytes,3,opt,name=renewTime"`
- // BinaryVersion is the binary version. It must be in a semver format without leading `v`.
+ // binaryVersion is the binary version. It must be in a semver format without leading `v`.
// This field is required.
// +required
BinaryVersion string `json:"binaryVersion" protobuf:"bytes,4,name=binaryVersion"`
- // EmulationVersion is the emulation version. It must be in a semver format without leading `v`.
+ // emulationVersion is the emulation version. It must be in a semver format without leading `v`.
// EmulationVersion must be less than or equal to BinaryVersion.
// This field is required when strategy is "OldestEmulationVersion"
// +optional
EmulationVersion string `json:"emulationVersion,omitempty" protobuf:"bytes,5,opt,name=emulationVersion"`
- // Strategy is the strategy that coordinated leader election will use for picking the leader.
+ // strategy is the strategy that coordinated leader election will use for picking the leader.
// If multiple candidates for the same Lease return different strategies, the strategy provided
// by the candidate with the latest BinaryVersion will be used. If there is still conflict,
// this is a user error and coordinated leader election will not operate the Lease until resolved.
@@ -155,7 +157,7 @@ type LeaseCandidateSpec struct {
// LeaseCandidateList is a list of Lease objects.
type LeaseCandidateList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/coordination/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/coordination/v1beta1/types_swagger_doc_generated.go
index 35812b77f..c4297c569 100644
--- a/vendor/k8s.io/api/coordination/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/coordination/v1beta1/types_swagger_doc_generated.go
@@ -29,7 +29,7 @@ package v1beta1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_Lease = map[string]string{
"": "Lease defines a lease concept.",
- "metadata": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec contains the specification of the Lease. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -39,7 +39,7 @@ func (Lease) SwaggerDoc() map[string]string {
var map_LeaseCandidate = map[string]string{
"": "LeaseCandidate defines a candidate for a Lease object. Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.",
- "metadata": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec contains the specification of the Lease. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -59,12 +59,12 @@ func (LeaseCandidateList) SwaggerDoc() map[string]string {
var map_LeaseCandidateSpec = map[string]string{
"": "LeaseCandidateSpec is a specification of a Lease.",
- "leaseName": "LeaseName is the name of the lease for which this candidate is contending. The limits on this field are the same as on Lease.name. Multiple lease candidates may reference the same Lease.name. This field is immutable.",
- "pingTime": "PingTime is the last time that the server has requested the LeaseCandidate to renew. It is only done during leader election to check if any LeaseCandidates have become ineligible. When PingTime is updated, the LeaseCandidate will respond by updating RenewTime.",
- "renewTime": "RenewTime is the time that the LeaseCandidate was last updated. Any time a Lease needs to do leader election, the PingTime field is updated to signal to the LeaseCandidate that they should update the RenewTime. Old LeaseCandidate objects are also garbage collected if it has been hours since the last renew. The PingTime field is updated regularly to prevent garbage collection for still active LeaseCandidates.",
- "binaryVersion": "BinaryVersion is the binary version. It must be in a semver format without leading `v`. This field is required.",
- "emulationVersion": "EmulationVersion is the emulation version. It must be in a semver format without leading `v`. EmulationVersion must be less than or equal to BinaryVersion. This field is required when strategy is \"OldestEmulationVersion\"",
- "strategy": "Strategy is the strategy that coordinated leader election will use for picking the leader. If multiple candidates for the same Lease return different strategies, the strategy provided by the candidate with the latest BinaryVersion will be used. If there is still conflict, this is a user error and coordinated leader election will not operate the Lease until resolved.",
+ "leaseName": "leaseName is the name of the lease for which this candidate is contending. The limits on this field are the same as on Lease.name. Multiple lease candidates may reference the same Lease.name. This field is immutable.",
+ "pingTime": "pingTime is the last time that the server has requested the LeaseCandidate to renew. It is only done during leader election to check if any LeaseCandidates have become ineligible. When PingTime is updated, the LeaseCandidate will respond by updating RenewTime.",
+ "renewTime": "renewTime is the time that the LeaseCandidate was last updated. Any time a Lease needs to do leader election, the PingTime field is updated to signal to the LeaseCandidate that they should update the RenewTime. Old LeaseCandidate objects are also garbage collected if it has been hours since the last renew. The PingTime field is updated regularly to prevent garbage collection for still active LeaseCandidates.",
+ "binaryVersion": "binaryVersion is the binary version. It must be in a semver format without leading `v`. This field is required.",
+ "emulationVersion": "emulationVersion is the emulation version. It must be in a semver format without leading `v`. EmulationVersion must be less than or equal to BinaryVersion. This field is required when strategy is \"OldestEmulationVersion\"",
+ "strategy": "strategy is the strategy that coordinated leader election will use for picking the leader. If multiple candidates for the same Lease return different strategies, the strategy provided by the candidate with the latest BinaryVersion will be used. If there is still conflict, this is a user error and coordinated leader election will not operate the Lease until resolved.",
}
func (LeaseCandidateSpec) SwaggerDoc() map[string]string {
@@ -88,8 +88,8 @@ var map_LeaseSpec = map[string]string{
"acquireTime": "acquireTime is a time when the current lease was acquired.",
"renewTime": "renewTime is a time when the current holder of a lease has last updated the lease.",
"leaseTransitions": "leaseTransitions is the number of transitions of a lease between holders.",
- "strategy": "Strategy indicates the strategy for picking the leader for coordinated leader election (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.",
- "preferredHolder": "PreferredHolder signals to a lease holder that the lease has a more optimal holder and should be given up.",
+ "strategy": "strategy indicates the strategy for picking the leader for coordinated leader election. (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.",
+ "preferredHolder": "preferredHolder signals to a lease holder that the lease has a more optimal holder and should be given up.",
}
func (LeaseSpec) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/core/v1/generated.pb.go b/vendor/k8s.io/api/core/v1/generated.pb.go
index b7de1bea5..41bf20df2 100644
--- a/vendor/k8s.io/api/core/v1/generated.pb.go
+++ b/vendor/k8s.io/api/core/v1/generated.pb.go
@@ -158,6 +158,8 @@ func (m *EventSeries) Reset() { *m = EventSeries{} }
func (m *EventSource) Reset() { *m = EventSource{} }
+func (m *EvictionResponder) Reset() { *m = EvictionResponder{} }
+
func (m *ExecAction) Reset() { *m = ExecAction{} }
func (m *FCVolumeSource) Reset() { *m = FCVolumeSource{} }
@@ -196,6 +198,8 @@ func (m *ISCSIVolumeSource) Reset() { *m = ISCSIVolumeSource{} }
func (m *ImageVolumeSource) Reset() { *m = ImageVolumeSource{} }
+func (m *ImageVolumeStatus) Reset() { *m = ImageVolumeStatus{} }
+
func (m *KeyToPath) Reset() { *m = KeyToPath{} }
func (m *Lifecycle) Reset() { *m = Lifecycle{} }
@@ -242,6 +246,12 @@ func (m *NodeAddress) Reset() { *m = NodeAddress{} }
func (m *NodeAffinity) Reset() { *m = NodeAffinity{} }
+func (m *NodeAllocatableMappedResources) Reset() { *m = NodeAllocatableMappedResources{} }
+
+func (m *NodeAllocatableOverheadResources) Reset() { *m = NodeAllocatableOverheadResources{} }
+
+func (m *NodeAllocatableResourceClaimStatus) Reset() { *m = NodeAllocatableResourceClaimStatus{} }
+
func (m *NodeCondition) Reset() { *m = NodeCondition{} }
func (m *NodeConfigSource) Reset() { *m = NodeConfigSource{} }
@@ -254,6 +264,8 @@ func (m *NodeFeatures) Reset() { *m = NodeFeatures{} }
func (m *NodeList) Reset() { *m = NodeList{} }
+func (m *NodePodPreemptionPolicy) Reset() { *m = NodePodPreemptionPolicy{} }
+
func (m *NodeProxyOptions) Reset() { *m = NodeProxyOptions{} }
func (m *NodeRuntimeHandler) Reset() { *m = NodeRuntimeHandler{} }
@@ -346,6 +358,8 @@ func (m *PodResourceClaimStatus) Reset() { *m = PodResourceClaimStatus{} }
func (m *PodSchedulingGate) Reset() { *m = PodSchedulingGate{} }
+func (m *PodSchedulingGroup) Reset() { *m = PodSchedulingGroup{} }
+
func (m *PodSecurityContext) Reset() { *m = PodSecurityContext{} }
func (m *PodSignature) Reset() { *m = PodSignature{} }
@@ -354,14 +368,14 @@ func (m *PodSpec) Reset() { *m = PodSpec{} }
func (m *PodStatus) Reset() { *m = PodStatus{} }
-func (m *PodStatusResult) Reset() { *m = PodStatusResult{} }
-
func (m *PodTemplate) Reset() { *m = PodTemplate{} }
func (m *PodTemplateList) Reset() { *m = PodTemplateList{} }
func (m *PodTemplateSpec) Reset() { *m = PodTemplateSpec{} }
+func (m *PodVolumeHealth) Reset() { *m = PodVolumeHealth{} }
+
func (m *PortStatus) Reset() { *m = PortStatus{} }
func (m *PortworxVolumeSource) Reset() { *m = PortworxVolumeSource{} }
@@ -492,6 +506,10 @@ func (m *Volume) Reset() { *m = Volume{} }
func (m *VolumeDevice) Reset() { *m = VolumeDevice{} }
+func (m *VolumeHealthCondition) Reset() { *m = VolumeHealthCondition{} }
+
+func (m *VolumeHealthStatus) Reset() { *m = VolumeHealthStatus{} }
+
func (m *VolumeMount) Reset() { *m = VolumeMount{} }
func (m *VolumeMountStatus) Reset() { *m = VolumeMountStatus{} }
@@ -504,14 +522,14 @@ func (m *VolumeResourceRequirements) Reset() { *m = VolumeResourceRequirements{}
func (m *VolumeSource) Reset() { *m = VolumeSource{} }
+func (m *VolumeStatus) Reset() { *m = VolumeStatus{} }
+
func (m *VsphereVirtualDiskVolumeSource) Reset() { *m = VsphereVirtualDiskVolumeSource{} }
func (m *WeightedPodAffinityTerm) Reset() { *m = WeightedPodAffinityTerm{} }
func (m *WindowsSecurityContextOptions) Reset() { *m = WindowsSecurityContextOptions{} }
-func (m *WorkloadReference) Reset() { *m = WorkloadReference{} }
-
func (m *AWSElasticBlockStoreVolumeSource) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -1456,6 +1474,11 @@ func (m *ClusterTrustBundleProjection) MarshalToSizedBuffer(dAtA []byte) (int, e
_ = i
var l int
_ = l
+ if m.User != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.User))
+ i--
+ dAtA[i] = 0x30
+ }
if m.Optional != nil {
i--
if *m.Optional {
@@ -1993,6 +2016,11 @@ func (m *ConfigMapVolumeSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.DefaultUser != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.DefaultUser))
+ i--
+ dAtA[i] = 0x28
+ }
if m.Optional != nil {
i--
if *m.Optional {
@@ -3029,6 +3057,11 @@ func (m *DownwardAPIVolumeFile) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.User != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.User))
+ i--
+ dAtA[i] = 0x28
+ }
if m.Mode != nil {
i = encodeVarintGenerated(dAtA, i, uint64(*m.Mode))
i--
@@ -3086,6 +3119,11 @@ func (m *DownwardAPIVolumeSource) MarshalToSizedBuffer(dAtA []byte) (int, error)
_ = i
var l int
_ = l
+ if m.DefaultUser != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.DefaultUser))
+ i--
+ dAtA[i] = 0x18
+ }
if m.DefaultMode != nil {
i = encodeVarintGenerated(dAtA, i, uint64(*m.DefaultMode))
i--
@@ -3128,6 +3166,11 @@ func (m *EmptyDirVolumeSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Mode != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.Mode))
+ i--
+ dAtA[i] = 0x18
+ }
if m.SizeLimit != nil {
{
size, err := m.SizeLimit.MarshalToSizedBuffer(dAtA[:i])
@@ -4201,6 +4244,39 @@ func (m *EventSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *EvictionResponder) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionResponder) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionResponder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Priority != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.Priority))
+ i--
+ dAtA[i] = 0x10
+ }
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *ExecAction) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -4591,6 +4667,13 @@ func (m *GRPCAction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Mode != nil {
+ i -= len(*m.Mode)
+ copy(dAtA[i:], *m.Mode)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Mode)))
+ i--
+ dAtA[i] = 0x1a
+ }
if m.Service != nil {
i -= len(*m.Service)
copy(dAtA[i:], *m.Service)
@@ -4751,6 +4834,13 @@ func (m *HTTPGetAction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Protocol != nil {
+ i -= len(*m.Protocol)
+ copy(dAtA[i:], *m.Protocol)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Protocol)))
+ i--
+ dAtA[i] = 0x32
+ }
if len(m.HTTPHeaders) > 0 {
for iNdEx := len(m.HTTPHeaders) - 1; iNdEx >= 0; iNdEx-- {
{
@@ -5155,6 +5245,34 @@ func (m *ImageVolumeSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *ImageVolumeStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ImageVolumeStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ImageVolumeStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.ImageRef)
+ copy(dAtA[i:], m.ImageRef)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ImageRef)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *KeyToPath) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -5175,6 +5293,11 @@ func (m *KeyToPath) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.User != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.User))
+ i--
+ dAtA[i] = 0x20
+ }
if m.Mode != nil {
i = encodeVarintGenerated(dAtA, i, uint64(*m.Mode))
i--
@@ -6291,6 +6414,163 @@ func (m *NodeAffinity) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *NodeAllocatableMappedResources) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *NodeAllocatableMappedResources) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *NodeAllocatableMappedResources) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Quantity != nil {
+ {
+ size, err := m.Quantity.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *NodeAllocatableOverheadResources) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *NodeAllocatableOverheadResources) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *NodeAllocatableOverheadResources) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.PerContainer != nil {
+ {
+ size, err := m.PerContainer.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
+ if m.PerPod != nil {
+ {
+ size, err := m.PerPod.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *NodeAllocatableResourceClaimStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *NodeAllocatableResourceClaimStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *NodeAllocatableResourceClaimStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Overhead) > 0 {
+ for iNdEx := len(m.Overhead) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Overhead[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2a
+ }
+ }
+ if len(m.Mapping) > 0 {
+ for iNdEx := len(m.Mapping) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Mapping[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ if len(m.Containers) > 0 {
+ for iNdEx := len(m.Containers) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.Containers[iNdEx])
+ copy(dAtA[i:], m.Containers[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Containers[iNdEx])))
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ i -= len(m.ResourceClaimName)
+ copy(dAtA[i:], m.ResourceClaimName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ResourceClaimName)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *NodeCondition) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -6566,6 +6846,38 @@ func (m *NodeList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *NodePodPreemptionPolicy) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *NodePodPreemptionPolicy) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *NodePodPreemptionPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.DisableResizePreemption) > 0 {
+ for iNdEx := len(m.DisableResizePreemption) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.DisableResizePreemption[iNdEx])
+ copy(dAtA[i:], m.DisableResizePreemption[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.DisableResizePreemption[iNdEx])))
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
+}
+
func (m *NodeProxyOptions) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -6827,6 +7139,18 @@ func (m *NodeSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.PodPreemptionPolicy != nil {
+ {
+ size, err := m.PodPreemptionPolicy.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x42
+ }
if len(m.PodCIDRs) > 0 {
for iNdEx := len(m.PodCIDRs) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PodCIDRs[iNdEx])
@@ -7154,6 +7478,16 @@ func (m *NodeSystemInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.RunningInUserNamespace != nil {
+ i--
+ if *m.RunningInUserNamespace {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x60
+ }
if m.Swap != nil {
{
size, err := m.Swap.MarshalToSizedBuffer(dAtA[:i])
@@ -7650,6 +7984,18 @@ func (m *PersistentVolumeClaimStatus) MarshalToSizedBuffer(dAtA []byte) (int, er
_ = i
var l int
_ = l
+ if m.HealthStatus != nil {
+ {
+ size, err := m.HealthStatus.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x52
+ }
if m.ModifyVolumeStatus != nil {
{
size, err := m.ModifyVolumeStatus.MarshalToSizedBuffer(dAtA[:i])
@@ -8734,6 +9080,11 @@ func (m *PodCertificateProjection) MarshalToSizedBuffer(dAtA []byte) (int, error
_ = i
var l int
_ = l
+ if m.User != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.User))
+ i--
+ dAtA[i] = 0x40
+ }
if len(m.UserAnnotations) > 0 {
keysForUserAnnotations := make([]string, 0, len(m.UserAnnotations))
for k := range m.UserAnnotations {
@@ -9446,6 +9797,36 @@ func (m *PodSchedulingGate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *PodSchedulingGroup) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *PodSchedulingGroup) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *PodSchedulingGroup) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.PodGroupName != nil {
+ i -= len(*m.PodGroupName)
+ copy(dAtA[i:], *m.PodGroupName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.PodGroupName)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
func (m *PodSecurityContext) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -9639,9 +10020,25 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- if m.WorkloadRef != nil {
+ if len(m.EvictionResponders) > 0 {
+ for iNdEx := len(m.EvictionResponders) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.EvictionResponders[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2
+ i--
+ dAtA[i] = 0xe2
+ }
+ }
+ if m.SchedulingGroup != nil {
{
- size, err := m.WorkloadRef.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.SchedulingGroup.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -9651,7 +10048,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i--
dAtA[i] = 0x2
i--
- dAtA[i] = 0xd2
+ dAtA[i] = 0xda
}
if m.HostnameOverride != nil {
i -= len(*m.HostnameOverride)
@@ -10150,6 +10547,38 @@ func (m *PodStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if len(m.VolumeHealth) > 0 {
+ for iNdEx := len(m.VolumeHealth) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.VolumeHealth[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0xb2
+ }
+ }
+ if len(m.NodeAllocatableResourceClaimStatuses) > 0 {
+ for iNdEx := len(m.NodeAllocatableResourceClaimStatuses) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.NodeAllocatableResourceClaimStatuses[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0xaa
+ }
+ }
if m.Resources != nil {
{
size, err := m.Resources.MarshalToSizedBuffer(dAtA[:i])
@@ -10369,49 +10798,6 @@ func (m *PodStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func (m *PodStatusResult) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PodStatusResult) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PodStatusResult) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
func (m *PodTemplate) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -10545,6 +10931,58 @@ func (m *PodTemplateSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *PodVolumeHealth) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *PodVolumeHealth) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *PodVolumeHealth) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ {
+ size, err := m.LastTransitionTime.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ if len(m.HealthConditions) > 0 {
+ for iNdEx := len(m.HealthConditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.HealthConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *PortStatus) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -10887,6 +11325,11 @@ func (m *ProjectedVolumeSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.DefaultUser != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.DefaultUser))
+ i--
+ dAtA[i] = 0x18
+ }
if m.DefaultMode != nil {
i = encodeVarintGenerated(dAtA, i, uint64(*m.DefaultMode))
i--
@@ -11532,6 +11975,13 @@ func (m *ResourceHealth) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Message != nil {
+ i -= len(*m.Message)
+ copy(dAtA[i:], *m.Message)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Message)))
+ i--
+ dAtA[i] = 0x32
+ }
i -= len(m.Health)
copy(dAtA[i:], m.Health)
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Health)))
@@ -12611,6 +13061,11 @@ func (m *SecretVolumeSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.DefaultUser != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.DefaultUser))
+ i--
+ dAtA[i] = 0x28
+ }
if m.Optional != nil {
i--
if *m.Optional {
@@ -13012,6 +13467,11 @@ func (m *ServiceAccountTokenProjection) MarshalToSizedBuffer(dAtA []byte) (int,
_ = i
var l int
_ = l
+ if m.User != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.User))
+ i--
+ dAtA[i] = 0x20
+ }
i -= len(m.Path)
copy(dAtA[i:], m.Path)
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Path)))
@@ -14064,6 +14524,91 @@ func (m *VolumeDevice) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *VolumeHealthCondition) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *VolumeHealthCondition) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *VolumeHealthCondition) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Message)
+ copy(dAtA[i:], m.Message)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
+ i--
+ dAtA[i] = 0x1a
+ i -= len(m.Reason)
+ copy(dAtA[i:], m.Reason)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Status)
+ copy(dAtA[i:], m.Status)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *VolumeHealthStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *VolumeHealthStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *VolumeHealthStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ {
+ size, err := m.LastTransitionTime.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ if len(m.HealthConditions) > 0 {
+ for iNdEx := len(m.HealthConditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.HealthConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
+}
+
func (m *VolumeMount) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -14084,6 +14629,15 @@ func (m *VolumeMount) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if len(m.BindMountOptions) > 0 {
+ for iNdEx := len(m.BindMountOptions) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.BindMountOptions[iNdEx])
+ copy(dAtA[i:], m.BindMountOptions[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.BindMountOptions[iNdEx])))
+ i--
+ dAtA[i] = 0x42
+ }
+ }
if m.RecursiveReadOnly != nil {
i -= len(*m.RecursiveReadOnly)
copy(dAtA[i:], *m.RecursiveReadOnly)
@@ -14149,6 +14703,18 @@ func (m *VolumeMountStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.VolumeStatus != nil {
+ {
+ size, err := m.VolumeStatus.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2a
+ }
if m.RecursiveReadOnly != nil {
i -= len(*m.RecursiveReadOnly)
copy(dAtA[i:], *m.RecursiveReadOnly)
@@ -14801,6 +15367,41 @@ func (m *VolumeSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *VolumeStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *VolumeStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *VolumeStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Image != nil {
+ {
+ size, err := m.Image.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
func (m *VsphereVirtualDiskVolumeSource) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -14934,44 +15535,6 @@ func (m *WindowsSecurityContextOptions) MarshalToSizedBuffer(dAtA []byte) (int,
return len(dAtA) - i, nil
}
-func (m *WorkloadReference) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *WorkloadReference) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *WorkloadReference) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.PodGroupReplicaKey)
- copy(dAtA[i:], m.PodGroupReplicaKey)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.PodGroupReplicaKey)))
- i--
- dAtA[i] = 0x1a
- i -= len(m.PodGroup)
- copy(dAtA[i:], m.PodGroup)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.PodGroup)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
offset -= sovGenerated(v)
base := offset
@@ -15353,6 +15916,9 @@ func (m *ClusterTrustBundleProjection) Size() (n int) {
if m.Optional != nil {
n += 2
}
+ if m.User != nil {
+ n += 1 + sovGenerated(uint64(*m.User))
+ }
return n
}
@@ -15547,6 +16113,9 @@ func (m *ConfigMapVolumeSource) Size() (n int) {
if m.Optional != nil {
n += 2
}
+ if m.DefaultUser != nil {
+ n += 1 + sovGenerated(uint64(*m.DefaultUser))
+ }
return n
}
@@ -15928,6 +16497,9 @@ func (m *DownwardAPIVolumeFile) Size() (n int) {
if m.Mode != nil {
n += 1 + sovGenerated(uint64(*m.Mode))
}
+ if m.User != nil {
+ n += 1 + sovGenerated(uint64(*m.User))
+ }
return n
}
@@ -15946,6 +16518,9 @@ func (m *DownwardAPIVolumeSource) Size() (n int) {
if m.DefaultMode != nil {
n += 1 + sovGenerated(uint64(*m.DefaultMode))
}
+ if m.DefaultUser != nil {
+ n += 1 + sovGenerated(uint64(*m.DefaultUser))
+ }
return n
}
@@ -15961,6 +16536,9 @@ func (m *EmptyDirVolumeSource) Size() (n int) {
l = m.SizeLimit.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.Mode != nil {
+ n += 1 + sovGenerated(uint64(*m.Mode))
+ }
return n
}
@@ -16343,6 +16921,20 @@ func (m *EventSource) Size() (n int) {
return n
}
+func (m *EvictionResponder) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Priority != nil {
+ n += 1 + sovGenerated(uint64(*m.Priority))
+ }
+ return n
+}
+
func (m *ExecAction) Size() (n int) {
if m == nil {
return 0
@@ -16494,6 +17086,10 @@ func (m *GRPCAction) Size() (n int) {
l = len(*m.Service)
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.Mode != nil {
+ l = len(*m.Mode)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -16564,6 +17160,10 @@ func (m *HTTPGetAction) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
}
}
+ if m.Protocol != nil {
+ l = len(*m.Protocol)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -16706,6 +17306,17 @@ func (m *ImageVolumeSource) Size() (n int) {
return n
}
+func (m *ImageVolumeStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.ImageRef)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
func (m *KeyToPath) Size() (n int) {
if m == nil {
return 0
@@ -16719,6 +17330,9 @@ func (m *KeyToPath) Size() (n int) {
if m.Mode != nil {
n += 1 + sovGenerated(uint64(*m.Mode))
}
+ if m.User != nil {
+ n += 1 + sovGenerated(uint64(*m.User))
+ }
return n
}
@@ -17123,6 +17737,69 @@ func (m *NodeAffinity) Size() (n int) {
return n
}
+func (m *NodeAllocatableMappedResources) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Quantity != nil {
+ l = m.Quantity.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *NodeAllocatableOverheadResources) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.PerPod != nil {
+ l = m.PerPod.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.PerContainer != nil {
+ l = m.PerContainer.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *NodeAllocatableResourceClaimStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.ResourceClaimName)
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Containers) > 0 {
+ for _, s := range m.Containers {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.Mapping) > 0 {
+ for _, e := range m.Mapping {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.Overhead) > 0 {
+ for _, e := range m.Overhead {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
func (m *NodeCondition) Size() (n int) {
if m == nil {
return 0
@@ -17220,6 +17897,21 @@ func (m *NodeList) Size() (n int) {
return n
}
+func (m *NodePodPreemptionPolicy) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.DisableResizePreemption) > 0 {
+ for _, s := range m.DisableResizePreemption {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
func (m *NodeProxyOptions) Size() (n int) {
if m == nil {
return 0
@@ -17345,6 +18037,10 @@ func (m *NodeSpec) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
}
}
+ if m.PodPreemptionPolicy != nil {
+ l = m.PodPreemptionPolicy.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -17473,6 +18169,9 @@ func (m *NodeSystemInfo) Size() (n int) {
l = m.Swap.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.RunningInUserNamespace != nil {
+ n += 2
+ }
return n
}
@@ -17677,6 +18376,10 @@ func (m *PersistentVolumeClaimStatus) Size() (n int) {
l = m.ModifyVolumeStatus.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.HealthStatus != nil {
+ l = m.HealthStatus.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -18039,6 +18742,9 @@ func (m *PodCertificateProjection) Size() (n int) {
n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
}
}
+ if m.User != nil {
+ n += 1 + sovGenerated(uint64(*m.User))
+ }
return n
}
@@ -18296,6 +19002,19 @@ func (m *PodSchedulingGate) Size() (n int) {
return n
}
+func (m *PodSchedulingGroup) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.PodGroupName != nil {
+ l = len(*m.PodGroupName)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
func (m *PodSecurityContext) Size() (n int) {
if m == nil {
return 0
@@ -18535,10 +19254,16 @@ func (m *PodSpec) Size() (n int) {
l = len(*m.HostnameOverride)
n += 2 + l + sovGenerated(uint64(l))
}
- if m.WorkloadRef != nil {
- l = m.WorkloadRef.Size()
+ if m.SchedulingGroup != nil {
+ l = m.SchedulingGroup.Size()
n += 2 + l + sovGenerated(uint64(l))
}
+ if len(m.EvictionResponders) > 0 {
+ for _, e := range m.EvictionResponders {
+ l = e.Size()
+ n += 2 + l + sovGenerated(uint64(l))
+ }
+ }
return n
}
@@ -18628,19 +19353,18 @@ func (m *PodStatus) Size() (n int) {
l = m.Resources.Size()
n += 2 + l + sovGenerated(uint64(l))
}
- return n
-}
-
-func (m *PodStatusResult) Size() (n int) {
- if m == nil {
- return 0
+ if len(m.NodeAllocatableResourceClaimStatuses) > 0 {
+ for _, e := range m.NodeAllocatableResourceClaimStatuses {
+ l = e.Size()
+ n += 2 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.VolumeHealth) > 0 {
+ for _, e := range m.VolumeHealth {
+ l = e.Size()
+ n += 2 + l + sovGenerated(uint64(l))
+ }
}
- var l int
- _ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Status.Size()
- n += 1 + l + sovGenerated(uint64(l))
return n
}
@@ -18687,6 +19411,25 @@ func (m *PodTemplateSpec) Size() (n int) {
return n
}
+func (m *PodVolumeHealth) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.HealthConditions) > 0 {
+ for _, e := range m.HealthConditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ l = m.LastTransitionTime.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
func (m *PortStatus) Size() (n int) {
if m == nil {
return 0
@@ -18818,6 +19561,9 @@ func (m *ProjectedVolumeSource) Size() (n int) {
if m.DefaultMode != nil {
n += 1 + sovGenerated(uint64(*m.DefaultMode))
}
+ if m.DefaultUser != nil {
+ n += 1 + sovGenerated(uint64(*m.DefaultUser))
+ }
return n
}
@@ -19052,6 +19798,10 @@ func (m *ResourceHealth) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Health)
n += 1 + l + sovGenerated(uint64(l))
+ if m.Message != nil {
+ l = len(*m.Message)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -19452,6 +20202,9 @@ func (m *SecretVolumeSource) Size() (n int) {
if m.Optional != nil {
n += 2
}
+ if m.DefaultUser != nil {
+ n += 1 + sovGenerated(uint64(*m.DefaultUser))
+ }
return n
}
@@ -19588,6 +20341,9 @@ func (m *ServiceAccountTokenProjection) Size() (n int) {
}
l = len(m.Path)
n += 1 + l + sovGenerated(uint64(l))
+ if m.User != nil {
+ n += 1 + sovGenerated(uint64(*m.User))
+ }
return n
}
@@ -20000,6 +20756,38 @@ func (m *VolumeDevice) Size() (n int) {
return n
}
+func (m *VolumeHealthCondition) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Status)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Reason)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Message)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *VolumeHealthStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.HealthConditions) > 0 {
+ for _, e := range m.HealthConditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ l = m.LastTransitionTime.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
func (m *VolumeMount) Size() (n int) {
if m == nil {
return 0
@@ -20023,6 +20811,12 @@ func (m *VolumeMount) Size() (n int) {
l = len(*m.RecursiveReadOnly)
n += 1 + l + sovGenerated(uint64(l))
}
+ if len(m.BindMountOptions) > 0 {
+ for _, s := range m.BindMountOptions {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
return n
}
@@ -20041,6 +20835,10 @@ func (m *VolumeMountStatus) Size() (n int) {
l = len(*m.RecursiveReadOnly)
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.VolumeStatus != nil {
+ l = m.VolumeStatus.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -20246,6 +21044,19 @@ func (m *VolumeSource) Size() (n int) {
return n
}
+func (m *VolumeStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.Image != nil {
+ l = m.Image.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
func (m *VsphereVirtualDiskVolumeSource) Size() (n int) {
if m == nil {
return 0
@@ -20299,21 +21110,6 @@ func (m *WindowsSecurityContextOptions) Size() (n int) {
return n
}
-func (m *WorkloadReference) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.PodGroup)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.PodGroupReplicaKey)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
func sovGenerated(x uint64) (n int) {
return (math_bits.Len64(x|1) + 6) / 7
}
@@ -20573,6 +21369,7 @@ func (this *ClusterTrustBundleProjection) String() string {
`LabelSelector:` + strings.Replace(fmt.Sprintf("%v", this.LabelSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
`Path:` + fmt.Sprintf("%v", this.Path) + `,`,
`Optional:` + valueToStringGenerated(this.Optional) + `,`,
+ `User:` + valueToStringGenerated(this.User) + `,`,
`}`,
}, "")
return s
@@ -20739,6 +21536,7 @@ func (this *ConfigMapVolumeSource) String() string {
`Items:` + repeatedStringForItems + `,`,
`DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`,
`Optional:` + valueToStringGenerated(this.Optional) + `,`,
+ `DefaultUser:` + valueToStringGenerated(this.DefaultUser) + `,`,
`}`,
}, "")
return s
@@ -21019,6 +21817,7 @@ func (this *DownwardAPIVolumeFile) String() string {
`FieldRef:` + strings.Replace(this.FieldRef.String(), "ObjectFieldSelector", "ObjectFieldSelector", 1) + `,`,
`ResourceFieldRef:` + strings.Replace(this.ResourceFieldRef.String(), "ResourceFieldSelector", "ResourceFieldSelector", 1) + `,`,
`Mode:` + valueToStringGenerated(this.Mode) + `,`,
+ `User:` + valueToStringGenerated(this.User) + `,`,
`}`,
}, "")
return s
@@ -21035,6 +21834,7 @@ func (this *DownwardAPIVolumeSource) String() string {
s := strings.Join([]string{`&DownwardAPIVolumeSource{`,
`Items:` + repeatedStringForItems + `,`,
`DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`,
+ `DefaultUser:` + valueToStringGenerated(this.DefaultUser) + `,`,
`}`,
}, "")
return s
@@ -21046,6 +21846,7 @@ func (this *EmptyDirVolumeSource) String() string {
s := strings.Join([]string{`&EmptyDirVolumeSource{`,
`Medium:` + fmt.Sprintf("%v", this.Medium) + `,`,
`SizeLimit:` + strings.Replace(fmt.Sprintf("%v", this.SizeLimit), "Quantity", "resource.Quantity", 1) + `,`,
+ `Mode:` + valueToStringGenerated(this.Mode) + `,`,
`}`,
}, "")
return s
@@ -21325,6 +22126,17 @@ func (this *EventSource) String() string {
}, "")
return s
}
+func (this *EvictionResponder) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&EvictionResponder{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Priority:` + valueToStringGenerated(this.Priority) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *ExecAction) String() string {
if this == nil {
return "nil"
@@ -21441,6 +22253,7 @@ func (this *GRPCAction) String() string {
s := strings.Join([]string{`&GRPCAction{`,
`Port:` + fmt.Sprintf("%v", this.Port) + `,`,
`Service:` + valueToStringGenerated(this.Service) + `,`,
+ `Mode:` + valueToStringGenerated(this.Mode) + `,`,
`}`,
}, "")
return s
@@ -21497,6 +22310,7 @@ func (this *HTTPGetAction) String() string {
`Host:` + fmt.Sprintf("%v", this.Host) + `,`,
`Scheme:` + fmt.Sprintf("%v", this.Scheme) + `,`,
`HTTPHeaders:` + repeatedStringForHTTPHeaders + `,`,
+ `Protocol:` + valueToStringGenerated(this.Protocol) + `,`,
`}`,
}, "")
return s
@@ -21595,6 +22409,16 @@ func (this *ImageVolumeSource) String() string {
}, "")
return s
}
+func (this *ImageVolumeStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ImageVolumeStatus{`,
+ `ImageRef:` + fmt.Sprintf("%v", this.ImageRef) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *KeyToPath) String() string {
if this == nil {
return "nil"
@@ -21603,6 +22427,7 @@ func (this *KeyToPath) String() string {
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
`Path:` + fmt.Sprintf("%v", this.Path) + `,`,
`Mode:` + valueToStringGenerated(this.Mode) + `,`,
+ `User:` + valueToStringGenerated(this.User) + `,`,
`}`,
}, "")
return s
@@ -21951,6 +22776,52 @@ func (this *NodeAffinity) String() string {
}, "")
return s
}
+func (this *NodeAllocatableMappedResources) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&NodeAllocatableMappedResources{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Quantity:` + strings.Replace(fmt.Sprintf("%v", this.Quantity), "Quantity", "resource.Quantity", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *NodeAllocatableOverheadResources) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&NodeAllocatableOverheadResources{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `PerPod:` + strings.Replace(fmt.Sprintf("%v", this.PerPod), "Quantity", "resource.Quantity", 1) + `,`,
+ `PerContainer:` + strings.Replace(fmt.Sprintf("%v", this.PerContainer), "Quantity", "resource.Quantity", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *NodeAllocatableResourceClaimStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForMapping := "[]NodeAllocatableMappedResources{"
+ for _, f := range this.Mapping {
+ repeatedStringForMapping += strings.Replace(strings.Replace(f.String(), "NodeAllocatableMappedResources", "NodeAllocatableMappedResources", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMapping += "}"
+ repeatedStringForOverhead := "[]NodeAllocatableOverheadResources{"
+ for _, f := range this.Overhead {
+ repeatedStringForOverhead += strings.Replace(strings.Replace(f.String(), "NodeAllocatableOverheadResources", "NodeAllocatableOverheadResources", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForOverhead += "}"
+ s := strings.Join([]string{`&NodeAllocatableResourceClaimStatus{`,
+ `ResourceClaimName:` + fmt.Sprintf("%v", this.ResourceClaimName) + `,`,
+ `Containers:` + fmt.Sprintf("%v", this.Containers) + `,`,
+ `Mapping:` + repeatedStringForMapping + `,`,
+ `Overhead:` + repeatedStringForOverhead + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *NodeCondition) String() string {
if this == nil {
return "nil"
@@ -22025,6 +22896,16 @@ func (this *NodeList) String() string {
}, "")
return s
}
+func (this *NodePodPreemptionPolicy) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&NodePodPreemptionPolicy{`,
+ `DisableResizePreemption:` + fmt.Sprintf("%v", this.DisableResizePreemption) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *NodeProxyOptions) String() string {
if this == nil {
return "nil"
@@ -22122,6 +23003,7 @@ func (this *NodeSpec) String() string {
`Taints:` + repeatedStringForTaints + `,`,
`ConfigSource:` + strings.Replace(this.ConfigSource.String(), "NodeConfigSource", "NodeConfigSource", 1) + `,`,
`PodCIDRs:` + fmt.Sprintf("%v", this.PodCIDRs) + `,`,
+ `PodPreemptionPolicy:` + strings.Replace(this.PodPreemptionPolicy.String(), "NodePodPreemptionPolicy", "NodePodPreemptionPolicy", 1) + `,`,
`}`,
}, "")
return s
@@ -22220,6 +23102,7 @@ func (this *NodeSystemInfo) String() string {
`OperatingSystem:` + fmt.Sprintf("%v", this.OperatingSystem) + `,`,
`Architecture:` + fmt.Sprintf("%v", this.Architecture) + `,`,
`Swap:` + strings.Replace(this.Swap.String(), "NodeSwapStatus", "NodeSwapStatus", 1) + `,`,
+ `RunningInUserNamespace:` + valueToStringGenerated(this.RunningInUserNamespace) + `,`,
`}`,
}, "")
return s
@@ -22372,6 +23255,7 @@ func (this *PersistentVolumeClaimStatus) String() string {
`AllocatedResourceStatuses:` + mapStringForAllocatedResourceStatuses + `,`,
`CurrentVolumeAttributesClassName:` + valueToStringGenerated(this.CurrentVolumeAttributesClassName) + `,`,
`ModifyVolumeStatus:` + strings.Replace(this.ModifyVolumeStatus.String(), "ModifyVolumeStatus", "ModifyVolumeStatus", 1) + `,`,
+ `HealthStatus:` + strings.Replace(this.HealthStatus.String(), "VolumeHealthStatus", "VolumeHealthStatus", 1) + `,`,
`}`,
}, "")
return s
@@ -22603,6 +23487,7 @@ func (this *PodCertificateProjection) String() string {
`KeyPath:` + fmt.Sprintf("%v", this.KeyPath) + `,`,
`CertificateChainPath:` + fmt.Sprintf("%v", this.CertificateChainPath) + `,`,
`UserAnnotations:` + mapStringForUserAnnotations + `,`,
+ `User:` + valueToStringGenerated(this.User) + `,`,
`}`,
}, "")
return s
@@ -22800,6 +23685,16 @@ func (this *PodSchedulingGate) String() string {
}, "")
return s
}
+func (this *PodSchedulingGroup) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&PodSchedulingGroup{`,
+ `PodGroupName:` + valueToStringGenerated(this.PodGroupName) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *PodSecurityContext) String() string {
if this == nil {
return "nil"
@@ -22896,6 +23791,11 @@ func (this *PodSpec) String() string {
repeatedStringForResourceClaims += strings.Replace(strings.Replace(f.String(), "PodResourceClaim", "PodResourceClaim", 1), `&`, ``, 1) + ","
}
repeatedStringForResourceClaims += "}"
+ repeatedStringForEvictionResponders := "[]EvictionResponder{"
+ for _, f := range this.EvictionResponders {
+ repeatedStringForEvictionResponders += strings.Replace(strings.Replace(f.String(), "EvictionResponder", "EvictionResponder", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForEvictionResponders += "}"
keysForNodeSelector := make([]string, 0, len(this.NodeSelector))
for k := range this.NodeSelector {
keysForNodeSelector = append(keysForNodeSelector, k)
@@ -22958,7 +23858,8 @@ func (this *PodSpec) String() string {
`ResourceClaims:` + repeatedStringForResourceClaims + `,`,
`Resources:` + strings.Replace(this.Resources.String(), "ResourceRequirements", "ResourceRequirements", 1) + `,`,
`HostnameOverride:` + valueToStringGenerated(this.HostnameOverride) + `,`,
- `WorkloadRef:` + strings.Replace(this.WorkloadRef.String(), "WorkloadReference", "WorkloadReference", 1) + `,`,
+ `SchedulingGroup:` + strings.Replace(this.SchedulingGroup.String(), "PodSchedulingGroup", "PodSchedulingGroup", 1) + `,`,
+ `EvictionResponders:` + repeatedStringForEvictionResponders + `,`,
`}`,
}, "")
return s
@@ -23002,6 +23903,16 @@ func (this *PodStatus) String() string {
repeatedStringForHostIPs += strings.Replace(strings.Replace(f.String(), "HostIP", "HostIP", 1), `&`, ``, 1) + ","
}
repeatedStringForHostIPs += "}"
+ repeatedStringForNodeAllocatableResourceClaimStatuses := "[]NodeAllocatableResourceClaimStatus{"
+ for _, f := range this.NodeAllocatableResourceClaimStatuses {
+ repeatedStringForNodeAllocatableResourceClaimStatuses += strings.Replace(strings.Replace(f.String(), "NodeAllocatableResourceClaimStatus", "NodeAllocatableResourceClaimStatus", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForNodeAllocatableResourceClaimStatuses += "}"
+ repeatedStringForVolumeHealth := "[]PodVolumeHealth{"
+ for _, f := range this.VolumeHealth {
+ repeatedStringForVolumeHealth += strings.Replace(strings.Replace(f.String(), "PodVolumeHealth", "PodVolumeHealth", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForVolumeHealth += "}"
keysForAllocatedResources := make([]string, 0, len(this.AllocatedResources))
for k := range this.AllocatedResources {
keysForAllocatedResources = append(keysForAllocatedResources, string(k))
@@ -23033,17 +23944,8 @@ func (this *PodStatus) String() string {
`ExtendedResourceClaimStatus:` + strings.Replace(this.ExtendedResourceClaimStatus.String(), "PodExtendedResourceClaimStatus", "PodExtendedResourceClaimStatus", 1) + `,`,
`AllocatedResources:` + mapStringForAllocatedResources + `,`,
`Resources:` + strings.Replace(this.Resources.String(), "ResourceRequirements", "ResourceRequirements", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *PodStatusResult) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&PodStatusResult{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodStatus", "PodStatus", 1), `&`, ``, 1) + `,`,
+ `NodeAllocatableResourceClaimStatuses:` + repeatedStringForNodeAllocatableResourceClaimStatuses + `,`,
+ `VolumeHealth:` + repeatedStringForVolumeHealth + `,`,
`}`,
}, "")
return s
@@ -23086,6 +23988,23 @@ func (this *PodTemplateSpec) String() string {
}, "")
return s
}
+func (this *PodVolumeHealth) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForHealthConditions := "[]VolumeHealthCondition{"
+ for _, f := range this.HealthConditions {
+ repeatedStringForHealthConditions += strings.Replace(strings.Replace(f.String(), "VolumeHealthCondition", "VolumeHealthCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForHealthConditions += "}"
+ s := strings.Join([]string{`&PodVolumeHealth{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `HealthConditions:` + repeatedStringForHealthConditions + `,`,
+ `LastTransitionTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *PortStatus) String() string {
if this == nil {
return "nil"
@@ -23185,6 +24104,7 @@ func (this *ProjectedVolumeSource) String() string {
s := strings.Join([]string{`&ProjectedVolumeSource{`,
`Sources:` + repeatedStringForSources + `,`,
`DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`,
+ `DefaultUser:` + valueToStringGenerated(this.DefaultUser) + `,`,
`}`,
}, "")
return s
@@ -23365,6 +24285,7 @@ func (this *ResourceHealth) String() string {
s := strings.Join([]string{`&ResourceHealth{`,
`ResourceID:` + fmt.Sprintf("%v", this.ResourceID) + `,`,
`Health:` + fmt.Sprintf("%v", this.Health) + `,`,
+ `Message:` + valueToStringGenerated(this.Message) + `,`,
`}`,
}, "")
return s
@@ -23707,6 +24628,7 @@ func (this *SecretVolumeSource) String() string {
`Items:` + repeatedStringForItems + `,`,
`DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`,
`Optional:` + valueToStringGenerated(this.Optional) + `,`,
+ `DefaultUser:` + valueToStringGenerated(this.DefaultUser) + `,`,
`}`,
}, "")
return s
@@ -23801,6 +24723,7 @@ func (this *ServiceAccountTokenProjection) String() string {
`Audience:` + fmt.Sprintf("%v", this.Audience) + `,`,
`ExpirationSeconds:` + valueToStringGenerated(this.ExpirationSeconds) + `,`,
`Path:` + fmt.Sprintf("%v", this.Path) + `,`,
+ `User:` + valueToStringGenerated(this.User) + `,`,
`}`,
}, "")
return s
@@ -24093,6 +25016,34 @@ func (this *VolumeDevice) String() string {
}, "")
return s
}
+func (this *VolumeHealthCondition) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&VolumeHealthCondition{`,
+ `Status:` + fmt.Sprintf("%v", this.Status) + `,`,
+ `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
+ `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *VolumeHealthStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForHealthConditions := "[]VolumeHealthCondition{"
+ for _, f := range this.HealthConditions {
+ repeatedStringForHealthConditions += strings.Replace(strings.Replace(f.String(), "VolumeHealthCondition", "VolumeHealthCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForHealthConditions += "}"
+ s := strings.Join([]string{`&VolumeHealthStatus{`,
+ `HealthConditions:` + repeatedStringForHealthConditions + `,`,
+ `LastTransitionTime:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "v1.Time", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *VolumeMount) String() string {
if this == nil {
return "nil"
@@ -24105,6 +25056,7 @@ func (this *VolumeMount) String() string {
`MountPropagation:` + valueToStringGenerated(this.MountPropagation) + `,`,
`SubPathExpr:` + fmt.Sprintf("%v", this.SubPathExpr) + `,`,
`RecursiveReadOnly:` + valueToStringGenerated(this.RecursiveReadOnly) + `,`,
+ `BindMountOptions:` + fmt.Sprintf("%v", this.BindMountOptions) + `,`,
`}`,
}, "")
return s
@@ -24118,6 +25070,7 @@ func (this *VolumeMountStatus) String() string {
`MountPath:` + fmt.Sprintf("%v", this.MountPath) + `,`,
`ReadOnly:` + fmt.Sprintf("%v", this.ReadOnly) + `,`,
`RecursiveReadOnly:` + valueToStringGenerated(this.RecursiveReadOnly) + `,`,
+ `VolumeStatus:` + strings.Replace(this.VolumeStatus.String(), "VolumeStatus", "VolumeStatus", 1) + `,`,
`}`,
}, "")
return s
@@ -24217,6 +25170,16 @@ func (this *VolumeSource) String() string {
}, "")
return s
}
+func (this *VolumeStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&VolumeStatus{`,
+ `Image:` + strings.Replace(this.Image.String(), "ImageVolumeStatus", "ImageVolumeStatus", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *VsphereVirtualDiskVolumeSource) String() string {
if this == nil {
return "nil"
@@ -24254,18 +25217,6 @@ func (this *WindowsSecurityContextOptions) String() string {
}, "")
return s
}
-func (this *WorkloadReference) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&WorkloadReference{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `PodGroup:` + fmt.Sprintf("%v", this.PodGroup) + `,`,
- `PodGroupReplicaKey:` + fmt.Sprintf("%v", this.PodGroupReplicaKey) + `,`,
- `}`,
- }, "")
- return s
-}
func valueToStringGenerated(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
@@ -27497,6 +28448,26 @@ func (m *ClusterTrustBundleProjection) Unmarshal(dAtA []byte) error {
}
b := bool(v != 0)
m.Optional = &b
+ case 6:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field User", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.User = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -29131,6 +30102,26 @@ func (m *ConfigMapVolumeSource) Unmarshal(dAtA []byte) error {
}
b := bool(v != 0)
m.Optional = &b
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DefaultUser", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.DefaultUser = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -32426,6 +33417,26 @@ func (m *DownwardAPIVolumeFile) Unmarshal(dAtA []byte) error {
}
}
m.Mode = &v
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field User", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.User = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -32530,6 +33541,26 @@ func (m *DownwardAPIVolumeSource) Unmarshal(dAtA []byte) error {
}
}
m.DefaultMode = &v
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DefaultUser", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.DefaultUser = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -32648,6 +33679,26 @@ func (m *EmptyDirVolumeSource) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
+ }
+ var v int32
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Mode = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -35853,7 +36904,7 @@ func (m *EventSource) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *ExecAction) Unmarshal(dAtA []byte) error {
+func (m *EvictionResponder) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -35876,15 +36927,15 @@ func (m *ExecAction) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: ExecAction: wiretype end group for non-group")
+ return fmt.Errorf("proto: EvictionResponder: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: ExecAction: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: EvictionResponder: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Command", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -35912,7 +36963,109 @@ func (m *ExecAction) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Command = append(m.Command, string(dAtA[iNdEx:postIndex]))
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType)
+ }
+ var v int32
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Priority = &v
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ExecAction) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ExecAction: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ExecAction: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Command", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Command = append(m.Command, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -37230,6 +38383,39 @@ func (m *GRPCAction) Unmarshal(dAtA []byte) error {
s := string(dAtA[iNdEx:postIndex])
m.Service = &s
iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := GRPCProbeMode(dAtA[iNdEx:postIndex])
+ m.Mode = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -37890,6 +39076,39 @@ func (m *HTTPGetAction) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Protocol", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := HTTPProtocol(dAtA[iNdEx:postIndex])
+ m.Protocol = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -39166,7 +40385,7 @@ func (m *ImageVolumeSource) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *KeyToPath) Unmarshal(dAtA []byte) error {
+func (m *ImageVolumeStatus) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -39189,47 +40408,15 @@ func (m *KeyToPath) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: KeyToPath: wiretype end group for non-group")
+ return fmt.Errorf("proto: ImageVolumeStatus: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: KeyToPath: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: ImageVolumeStatus: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Key = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ImageRef", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -39257,28 +40444,8 @@ func (m *KeyToPath) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Path = string(dAtA[iNdEx:postIndex])
+ m.ImageRef = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.Mode = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -39300,7 +40467,7 @@ func (m *KeyToPath) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *Lifecycle) Unmarshal(dAtA []byte) error {
+func (m *KeyToPath) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -39323,17 +40490,17 @@ func (m *Lifecycle) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: Lifecycle: wiretype end group for non-group")
+ return fmt.Errorf("proto: KeyToPath: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: Lifecycle: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: KeyToPath: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PostStart", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -39343,67 +40510,221 @@ func (m *Lifecycle) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.PostStart == nil {
- m.PostStart = &LifecycleHandler{}
- }
- if err := m.PostStart.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Key = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PreStop", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.PreStop == nil {
- m.PreStop = &LifecycleHandler{}
- }
- if err := m.PreStop.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field StopSignal", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Path = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
+ }
+ var v int32
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Mode = &v
+ case 4:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field User", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.User = &v
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *Lifecycle) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: Lifecycle: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: Lifecycle: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field PostStart", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.PostStart == nil {
+ m.PostStart = &LifecycleHandler{}
+ }
+ if err := m.PostStart.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field PreStop", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.PreStop == nil {
+ m.PreStop = &LifecycleHandler{}
+ }
+ if err := m.PreStop.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field StopSignal", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -42742,7 +44063,7 @@ func (m *NodeAffinity) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *NodeCondition) Unmarshal(dAtA []byte) error {
+func (m *NodeAllocatableMappedResources) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -42765,15 +44086,15 @@ func (m *NodeCondition) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: NodeCondition: wiretype end group for non-group")
+ return fmt.Errorf("proto: NodeAllocatableMappedResources: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: NodeCondition: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: NodeAllocatableMappedResources: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -42801,13 +44122,13 @@ func (m *NodeCondition) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Type = NodeConditionType(dAtA[iNdEx:postIndex])
+ m.Name = ResourceName(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -42817,29 +44138,83 @@ func (m *NodeCondition) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Status = ConditionStatus(dAtA[iNdEx:postIndex])
+ if m.Quantity == nil {
+ m.Quantity = &resource.Quantity{}
+ }
+ if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
- case 3:
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *NodeAllocatableOverheadResources) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: NodeAllocatableOverheadResources: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: NodeAllocatableOverheadResources: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastHeartbeatTime", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -42849,28 +44224,428 @@ func (m *NodeCondition) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.LastHeartbeatTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Name = ResourceName(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 4:
+ case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field PerPod", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.PerPod == nil {
+ m.PerPod = &resource.Quantity{}
+ }
+ if err := m.PerPod.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field PerContainer", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.PerContainer == nil {
+ m.PerContainer = &resource.Quantity{}
+ }
+ if err := m.PerContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *NodeAllocatableResourceClaimStatus) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: NodeAllocatableResourceClaimStatus: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: NodeAllocatableResourceClaimStatus: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ResourceClaimName", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ResourceClaimName = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Containers", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Containers = append(m.Containers, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Mapping", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Mapping = append(m.Mapping, NodeAllocatableMappedResources{})
+ if err := m.Mapping[len(m.Mapping)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Overhead", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Overhead = append(m.Overhead, NodeAllocatableOverheadResources{})
+ if err := m.Overhead[len(m.Overhead)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *NodeCondition) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: NodeCondition: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: NodeCondition: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Type = NodeConditionType(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Status = ConditionStatus(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field LastHeartbeatTime", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.LastHeartbeatTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -43368,17 +45143,88 @@ func (m *NodeFeatures) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: NodeFeatures: wiretype end group for non-group")
+ return fmt.Errorf("proto: NodeFeatures: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: NodeFeatures: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SupplementalGroupsPolicy", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ b := bool(v != 0)
+ m.SupplementalGroupsPolicy = &b
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *NodeList) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: NodeList: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: NodeFeatures: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: NodeList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field SupplementalGroupsPolicy", wireType)
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
}
- var v int
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -43388,13 +45234,59 @@ func (m *NodeFeatures) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- v |= int(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- b := bool(v != 0)
- m.SupplementalGroupsPolicy = &b
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Items = append(m.Items, Node{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -43416,7 +45308,7 @@ func (m *NodeFeatures) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *NodeList) Unmarshal(dAtA []byte) error {
+func (m *NodePodPreemptionPolicy) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -43439,50 +45331,17 @@ func (m *NodeList) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: NodeList: wiretype end group for non-group")
+ return fmt.Errorf("proto: NodePodPreemptionPolicy: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: NodeList: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: NodePodPreemptionPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field DisableResizePreemption", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -43492,25 +45351,23 @@ func (m *NodeList) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Items = append(m.Items, Node{})
- if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.DisableResizePreemption = append(m.DisableResizePreemption, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -44420,6 +46277,42 @@ func (m *NodeSpec) Unmarshal(dAtA []byte) error {
}
m.PodCIDRs = append(m.PodCIDRs, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
+ case 8:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field PodPreemptionPolicy", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.PodPreemptionPolicy == nil {
+ m.PodPreemptionPolicy = &NodePodPreemptionPolicy{}
+ }
+ if err := m.PodPreemptionPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -45442,77 +47335,141 @@ func (m *NodeSystemInfo) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.ContainerRuntimeVersion = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field KubeletVersion", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.KubeletVersion = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field KubeProxyVersion", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.KubeProxyVersion = string(dAtA[iNdEx:postIndex])
+ m.ContainerRuntimeVersion = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field KubeletVersion", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.KubeletVersion = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 8:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field KubeProxyVersion", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.KubeProxyVersion = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 9:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field OperatingSystem", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.OperatingSystem = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 10:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Architecture", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Architecture = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 9:
+ case 11:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field OperatingSystem", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Swap", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -45522,61 +47479,33 @@ func (m *NodeSystemInfo) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.OperatingSystem = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 10:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Architecture", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
+ if m.Swap == nil {
+ m.Swap = &NodeSwapStatus{}
}
- if postIndex > l {
- return io.ErrUnexpectedEOF
+ if err := m.Swap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
}
- m.Architecture = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 11:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Swap", wireType)
+ case 12:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field RunningInUserNamespace", wireType)
}
- var msglen int
+ var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -45586,28 +47515,13 @@ func (m *NodeSystemInfo) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Swap == nil {
- m.Swap = &NodeSwapStatus{}
- }
- if err := m.Swap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
+ b := bool(v != 0)
+ m.RunningInUserNamespace = &b
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -47611,6 +49525,42 @@ func (m *PersistentVolumeClaimStatus) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 10:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field HealthStatus", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.HealthStatus == nil {
+ m.HealthStatus = &VolumeHealthStatus{}
+ }
+ if err := m.HealthStatus.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -50716,6 +52666,26 @@ func (m *PodCertificateProjection) Unmarshal(dAtA []byte) error {
}
m.UserAnnotations[mapkey] = mapvalue
iNdEx = postIndex
+ case 8:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field User", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.User = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -52780,6 +54750,89 @@ func (m *PodSchedulingGate) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *PodSchedulingGroup) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: PodSchedulingGroup: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: PodSchedulingGroup: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field PodGroupName", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := string(dAtA[iNdEx:postIndex])
+ m.PodGroupName = &s
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *PodSecurityContext) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -54801,9 +56854,9 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error {
s := string(dAtA[iNdEx:postIndex])
m.HostnameOverride = &s
iNdEx = postIndex
- case 42:
+ case 43:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WorkloadRef", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field SchedulingGroup", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -54830,10 +56883,44 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.WorkloadRef == nil {
- m.WorkloadRef = &WorkloadReference{}
+ if m.SchedulingGroup == nil {
+ m.SchedulingGroup = &PodSchedulingGroup{}
}
- if err := m.WorkloadRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.SchedulingGroup.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 44:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field EvictionResponders", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.EvictionResponders = append(m.EvictionResponders, EvictionResponder{})
+ if err := m.EvictionResponders[len(m.EvictionResponders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -55637,6 +57724,74 @@ func (m *PodStatus) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 21:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field NodeAllocatableResourceClaimStatuses", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.NodeAllocatableResourceClaimStatuses = append(m.NodeAllocatableResourceClaimStatuses, NodeAllocatableResourceClaimStatus{})
+ if err := m.NodeAllocatableResourceClaimStatuses[len(m.NodeAllocatableResourceClaimStatuses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 22:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field VolumeHealth", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.VolumeHealth = append(m.VolumeHealth, PodVolumeHealth{})
+ if err := m.VolumeHealth[len(m.VolumeHealth)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -55658,7 +57813,7 @@ func (m *PodStatus) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *PodStatusResult) Unmarshal(dAtA []byte) error {
+func (m *PodTemplate) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -55681,10 +57836,10 @@ func (m *PodStatusResult) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: PodStatusResult: wiretype end group for non-group")
+ return fmt.Errorf("proto: PodTemplate: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: PodStatusResult: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: PodTemplate: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
@@ -55722,7 +57877,7 @@ func (m *PodStatusResult) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -55749,7 +57904,7 @@ func (m *PodStatusResult) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -55774,7 +57929,7 @@ func (m *PodStatusResult) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *PodTemplate) Unmarshal(dAtA []byte) error {
+func (m *PodTemplateList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -55797,15 +57952,15 @@ func (m *PodTemplate) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: PodTemplate: wiretype end group for non-group")
+ return fmt.Errorf("proto: PodTemplateList: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: PodTemplate: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: PodTemplateList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -55832,13 +57987,13 @@ func (m *PodTemplate) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -55865,7 +58020,8 @@ func (m *PodTemplate) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ m.Items = append(m.Items, PodTemplate{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -55890,7 +58046,7 @@ func (m *PodTemplate) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *PodTemplateList) Unmarshal(dAtA []byte) error {
+func (m *PodTemplateSpec) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -55913,15 +58069,15 @@ func (m *PodTemplateList) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: PodTemplateList: wiretype end group for non-group")
+ return fmt.Errorf("proto: PodTemplateSpec: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: PodTemplateList: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: PodTemplateSpec: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -55948,13 +58104,13 @@ func (m *PodTemplateList) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -55981,8 +58137,7 @@ func (m *PodTemplateList) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Items = append(m.Items, PodTemplate{})
- if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -56007,7 +58162,7 @@ func (m *PodTemplateList) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *PodTemplateSpec) Unmarshal(dAtA []byte) error {
+func (m *PodVolumeHealth) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -56030,15 +58185,47 @@ func (m *PodTemplateSpec) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: PodTemplateSpec: wiretype end group for non-group")
+ return fmt.Errorf("proto: PodVolumeHealth: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: PodTemplateSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: PodVolumeHealth: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field HealthConditions", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -56065,13 +58252,14 @@ func (m *PodTemplateSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ m.HealthConditions = append(m.HealthConditions, VolumeHealthCondition{})
+ if err := m.HealthConditions[len(m.HealthConditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- case 2:
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -56098,7 +58286,7 @@ func (m *PodTemplateSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -57231,6 +59419,26 @@ func (m *ProjectedVolumeSource) Unmarshal(dAtA []byte) error {
}
}
m.DefaultMode = &v
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DefaultUser", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.DefaultUser = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -59489,6 +61697,39 @@ func (m *ResourceHealth) Unmarshal(dAtA []byte) error {
}
m.Health = ResourceHealthStatus(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := string(dAtA[iNdEx:postIndex])
+ m.Message = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -63148,6 +65389,26 @@ func (m *SecretVolumeSource) Unmarshal(dAtA []byte) error {
}
b := bool(v != 0)
m.Optional = &b
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DefaultUser", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.DefaultUser = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -64190,6 +66451,26 @@ func (m *ServiceAccountTokenProjection) Unmarshal(dAtA []byte) error {
}
m.Path = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 4:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field User", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.User = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -66893,17 +69174,304 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: TopologySpreadConstraint: wiretype end group for non-group")
+ return fmt.Errorf("proto: TopologySpreadConstraint: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: TopologySpreadConstraint: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MaxSkew", wireType)
+ }
+ m.MaxSkew = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.MaxSkew |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field TopologyKey", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.TopologyKey = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field WhenUnsatisfiable", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.WhenUnsatisfiable = UnsatisfiableConstraintAction(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field LabelSelector", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.LabelSelector == nil {
+ m.LabelSelector = &v1.LabelSelector{}
+ }
+ if err := m.LabelSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MinDomains", wireType)
+ }
+ var v int32
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.MinDomains = &v
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field NodeAffinityPolicy", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := NodeInclusionPolicy(dAtA[iNdEx:postIndex])
+ m.NodeAffinityPolicy = &s
+ iNdEx = postIndex
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field NodeTaintsPolicy", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := NodeInclusionPolicy(dAtA[iNdEx:postIndex])
+ m.NodeTaintsPolicy = &s
+ iNdEx = postIndex
+ case 8:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchLabelKeys", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.MatchLabelKeys = append(m.MatchLabelKeys, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *TypedLocalObjectReference) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: TypedLocalObjectReference: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: TopologySpreadConstraint: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: TypedLocalObjectReference: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxSkew", wireType)
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field APIGroup", wireType)
}
- m.MaxSkew = 0
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -66913,14 +69481,28 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- m.MaxSkew |= int32(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := string(dAtA[iNdEx:postIndex])
+ m.APIGroup = &s
+ iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TopologyKey", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -66948,11 +69530,11 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.TopologyKey = string(dAtA[iNdEx:postIndex])
+ m.Kind = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WhenUnsatisfiable", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -66980,13 +69562,63 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.WhenUnsatisfiable = UnsatisfiableConstraintAction(dAtA[iNdEx:postIndex])
+ m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 4:
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *TypedObjectReference) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: TypedObjectReference: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: TypedObjectReference: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LabelSelector", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field APIGroup", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -66996,51 +69628,28 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.LabelSelector == nil {
- m.LabelSelector = &v1.LabelSelector{}
- }
- if err := m.LabelSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ s := string(dAtA[iNdEx:postIndex])
+ m.APIGroup = &s
iNdEx = postIndex
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinDomains", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.MinDomains = &v
- case 6:
+ case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field NodeAffinityPolicy", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67068,12 +69677,11 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := NodeInclusionPolicy(dAtA[iNdEx:postIndex])
- m.NodeAffinityPolicy = &s
+ m.Kind = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 7:
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field NodeTaintsPolicy", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67101,12 +69709,11 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := NodeInclusionPolicy(dAtA[iNdEx:postIndex])
- m.NodeTaintsPolicy = &s
+ m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 8:
+ case 4:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MatchLabelKeys", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67134,7 +69741,8 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.MatchLabelKeys = append(m.MatchLabelKeys, string(dAtA[iNdEx:postIndex]))
+ s := string(dAtA[iNdEx:postIndex])
+ m.Namespace = &s
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -67157,7 +69765,7 @@ func (m *TopologySpreadConstraint) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *TypedLocalObjectReference) Unmarshal(dAtA []byte) error {
+func (m *Volume) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -67180,15 +69788,15 @@ func (m *TypedLocalObjectReference) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: TypedLocalObjectReference: wiretype end group for non-group")
+ return fmt.Errorf("proto: Volume: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: TypedLocalObjectReference: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: Volume: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field APIGroup", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67216,14 +69824,13 @@ func (m *TypedLocalObjectReference) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := string(dAtA[iNdEx:postIndex])
- m.APIGroup = &s
+ m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field VolumeSource", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -67233,55 +69840,24 @@ func (m *TypedLocalObjectReference) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Kind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
+ if err := m.VolumeSource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
}
- m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -67304,7 +69880,7 @@ func (m *TypedLocalObjectReference) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *TypedObjectReference) Unmarshal(dAtA []byte) error {
+func (m *VolumeDevice) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -67327,15 +69903,15 @@ func (m *TypedObjectReference) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: TypedObjectReference: wiretype end group for non-group")
+ return fmt.Errorf("proto: VolumeDevice: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: TypedObjectReference: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: VolumeDevice: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field APIGroup", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67363,12 +69939,11 @@ func (m *TypedObjectReference) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := string(dAtA[iNdEx:postIndex])
- m.APIGroup = &s
+ m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field DevicePath", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67396,11 +69971,61 @@ func (m *TypedObjectReference) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Kind = string(dAtA[iNdEx:postIndex])
+ m.DevicePath = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 3:
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *VolumeHealthCondition) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: VolumeHealthCondition: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: VolumeHealthCondition: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67428,11 +70053,11 @@ func (m *TypedObjectReference) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Name = string(dAtA[iNdEx:postIndex])
+ m.Status = VolumeHealthStatusType(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 4:
+ case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67460,62 +70085,11 @@ func (m *TypedObjectReference) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := string(dAtA[iNdEx:postIndex])
- m.Namespace = &s
+ m.Reason = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Volume) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: Volume: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Volume: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -67543,40 +70117,7 @@ func (m *Volume) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field VolumeSource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.VolumeSource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Message = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -67599,7 +70140,7 @@ func (m *Volume) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *VolumeDevice) Unmarshal(dAtA []byte) error {
+func (m *VolumeHealthStatus) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -67622,17 +70163,17 @@ func (m *VolumeDevice) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: VolumeDevice: wiretype end group for non-group")
+ return fmt.Errorf("proto: VolumeHealthStatus: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: VolumeDevice: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: VolumeHealthStatus: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field HealthConditions", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -67642,29 +70183,31 @@ func (m *VolumeDevice) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Name = string(dAtA[iNdEx:postIndex])
+ m.HealthConditions = append(m.HealthConditions, VolumeHealthCondition{})
+ if err := m.HealthConditions[len(m.HealthConditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DevicePath", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -67674,23 +70217,24 @@ func (m *VolumeDevice) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.DevicePath = string(dAtA[iNdEx:postIndex])
+ if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -67956,6 +70500,38 @@ func (m *VolumeMount) Unmarshal(dAtA []byte) error {
s := RecursiveReadOnlyMode(dAtA[iNdEx:postIndex])
m.RecursiveReadOnly = &s
iNdEx = postIndex
+ case 8:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field BindMountOptions", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.BindMountOptions = append(m.BindMountOptions, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -68123,6 +70699,42 @@ func (m *VolumeMountStatus) Unmarshal(dAtA []byte) error {
s := RecursiveReadOnlyMode(dAtA[iNdEx:postIndex])
m.RecursiveReadOnly = &s
iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field VolumeStatus", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.VolumeStatus == nil {
+ m.VolumeStatus = &VolumeStatus{}
+ }
+ if err := m.VolumeStatus.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -69690,16 +72302,88 @@ func (m *VolumeSource) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.PortworxVolume == nil {
- m.PortworxVolume = &PortworxVolumeSource{}
+ if m.PortworxVolume == nil {
+ m.PortworxVolume = &PortworxVolumeSource{}
+ }
+ if err := m.PortworxVolume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 25:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ScaleIO", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ScaleIO == nil {
+ m.ScaleIO = &ScaleIOVolumeSource{}
+ }
+ if err := m.ScaleIO.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 26:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Projected", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Projected == nil {
+ m.Projected = &ProjectedVolumeSource{}
}
- if err := m.PortworxVolume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.Projected.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- case 25:
+ case 27:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ScaleIO", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field StorageOS", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -69726,16 +72410,16 @@ func (m *VolumeSource) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.ScaleIO == nil {
- m.ScaleIO = &ScaleIOVolumeSource{}
+ if m.StorageOS == nil {
+ m.StorageOS = &StorageOSVolumeSource{}
}
- if err := m.ScaleIO.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.StorageOS.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- case 26:
+ case 28:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Projected", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field CSI", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -69762,16 +72446,16 @@ func (m *VolumeSource) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.Projected == nil {
- m.Projected = &ProjectedVolumeSource{}
+ if m.CSI == nil {
+ m.CSI = &CSIVolumeSource{}
}
- if err := m.Projected.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.CSI.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- case 27:
+ case 29:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field StorageOS", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Ephemeral", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -69798,16 +72482,16 @@ func (m *VolumeSource) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.StorageOS == nil {
- m.StorageOS = &StorageOSVolumeSource{}
+ if m.Ephemeral == nil {
+ m.Ephemeral = &EphemeralVolumeSource{}
}
- if err := m.StorageOS.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.Ephemeral.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- case 28:
+ case 30:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CSI", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -69834,50 +72518,64 @@ func (m *VolumeSource) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.CSI == nil {
- m.CSI = &CSIVolumeSource{}
+ if m.Image == nil {
+ m.Image = &ImageVolumeSource{}
}
- if err := m.CSI.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.Image.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- case 29:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ephemeral", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
}
- postIndex := iNdEx + msglen
- if postIndex < 0 {
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthGenerated
}
- if postIndex > l {
+ if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
- if m.Ephemeral == nil {
- m.Ephemeral = &EphemeralVolumeSource{}
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *VolumeStatus) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
}
- if err := m.Ephemeral.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
}
- iNdEx = postIndex
- case 30:
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: VolumeStatus: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: VolumeStatus: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType)
}
@@ -69907,7 +72605,7 @@ func (m *VolumeSource) Unmarshal(dAtA []byte) error {
return io.ErrUnexpectedEOF
}
if m.Image == nil {
- m.Image = &ImageVolumeSource{}
+ m.Image = &ImageVolumeStatus{}
}
if err := m.Image.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
@@ -70384,152 +73082,6 @@ func (m *WindowsSecurityContextOptions) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *WorkloadReference) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: WorkloadReference: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: WorkloadReference: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PodGroup", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PodGroup = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PodGroupReplicaKey", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PodGroupReplicaKey = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
func skipGenerated(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
diff --git a/vendor/k8s.io/api/core/v1/generated.proto b/vendor/k8s.io/api/core/v1/generated.proto
index 570b4d343..878555a6e 100644
--- a/vendor/k8s.io/api/core/v1/generated.proto
+++ b/vendor/k8s.io/api/core/v1/generated.proto
@@ -185,6 +185,7 @@ message Binding {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// The target object that you want to bind to the standard object.
@@ -466,6 +467,13 @@ message ClusterTrustBundleProjection {
// Relative path from the volume root to write the bundle.
optional string path = 4;
+
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 user = 6;
}
// Information about the condition of a component.
@@ -495,6 +503,7 @@ message ComponentStatus {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// List of component conditions observed
@@ -547,6 +556,8 @@ message ConfigMap {
// the Data field, this is enforced during validation process.
// Using this field will require 1.10+ apiserver and
// kubelet.
+ // Note: BinaryData keys are not currently propagated to container env vars
+ // via ConfigMapKeyRef or ConfigMapRef env sources; only Data keys are used.
// +optional
map binaryData = 3;
}
@@ -556,6 +567,7 @@ message ConfigMap {
//
// The contents of the target ConfigMap's Data field will represent the
// key-value pairs as environment variables.
+// Keys in the BinaryData field are not currently propagated to container env vars.
message ConfigMapEnvSource {
// The ConfigMap to select from.
optional LocalObjectReference localObjectReference = 1;
@@ -571,7 +583,8 @@ message ConfigMapKeySelector {
// The ConfigMap to select from.
optional LocalObjectReference localObjectReference = 1;
- // The key to select.
+ // The key to select from the ConfigMap's Data field.
+ // Keys in the BinaryData field are not currently propagated to container env vars.
optional string key = 2;
// Specify whether the ConfigMap or its key must be defined
@@ -674,6 +687,13 @@ message ConfigMapVolumeSource {
// optional specify whether the ConfigMap or its keys must be defined
// +optional
optional bool optional = 4;
+
+ // defaultUser is Optional: The owner UID of the created files by default.
+ // The defaultUser field is only used as a fallback when the item-level user field is unset.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 defaultUser = 5;
}
// A single application container that you want to run within a pod.
@@ -1132,7 +1152,6 @@ message ContainerStatus {
// AllocatedResources represents the compute resources allocated for this container by the
// node. Kubelet sets this value to Container.Resources.Requests upon successful pod admission
// and after successfully admitting desired pod resize.
- // +featureGate=InPlacePodVerticalScalingAllocatedStatus
// +optional
map allocatedResources = 10;
@@ -1217,6 +1236,13 @@ message DownwardAPIVolumeFile {
// mode, like fsGroup, and the result can be other mode bits set.
// +optional
optional int32 mode = 4;
+
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 user = 5;
}
// DownwardAPIVolumeSource represents a volume containing downward API info.
@@ -1237,6 +1263,13 @@ message DownwardAPIVolumeSource {
// mode, like fsGroup, and the result can be other mode bits set.
// +optional
optional int32 defaultMode = 2;
+
+ // defaultUser is Optional: The owner UID of the created files by default.
+ // The defaultUser field is only used as a fallback when the item-level user field is unset.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 defaultUser = 3;
}
// Represents an empty directory for a pod.
@@ -1257,6 +1290,18 @@ message EmptyDirVolumeSource {
// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
// +optional
optional .k8s.io.apimachinery.pkg.api.resource.Quantity sizeLimit = 2;
+
+ // mode specifies the permission bits for the emptyDir directory, in numeric
+ // notation (e.g., 0755, 01777). Must be a value between 0000 and 01777.
+ // If not specified, defaults to 0777.
+ // This might be in conflict with other options that affect the file
+ // mode, like fsGroup. If fsGroup is specified, the fsGroup permissions
+ // will override the mode specified here.
+ // This field has no effect on Windows.
+ // This field is alpha and requires EmptyDirVolumeMode featuregate to be enabled.
+ // +featureGate=EmptyDirVolumeMode
+ // +optional
+ optional int32 mode = 3;
}
// EndpointAddress is a tuple that describes single IP address.
@@ -1808,6 +1853,43 @@ message EventSource {
optional string host = 2;
}
+// EvictionResponder allows you to specify the responder reacting to an Eviction.
+// Responders should observe and communicate through the Eviction Resource API to help with
+// the graceful eviction of a target (e.g. termination of a pod).
+// +structType=atomic
+message EvictionResponder {
+ // name allows you to identify the responder responding to the Eviction.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // Domain names *.k8s.io and *.kubernetes.io are reserved.
+ // This field must be unique for each responder.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-prefixed-label-key
+ // +k8s:customValidation
+ optional string name = 1;
+
+ // priority for this responder. Higher priorities are selected first by the evictionrequest-controller.
+ // If there are responders with the same priority, the responder whose domain name comes first in the
+ // alphabetical higher domain order, will be picked. This means that the top domain labels are compared
+ // alphabetically first, followed by the lower domain labels. The key is compared last.
+ //
+ // The responder that is the managing controller of the pod should set the value of
+ // this field to 10000 to allow both for preemption or fallback registration by other
+ // responders.
+ //
+ // The minimum value is 0 and the maximum value is 100000.
+ // The interval 0-999 is reserved for responders with *.k8s.io suffix.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:minimum=0
+ // +k8s:maximum=100000
+ // +k8s:customValidation
+ optional int32 priority = 2;
+}
+
// ExecAction describes a "run in container" action.
message ExecAction {
// Command is the command line to execute inside the container, the working directory for the
@@ -2002,6 +2084,14 @@ message GRPCAction {
// +optional
// +default=""
optional string service = 2;
+
+ // mode specifies the connection mode for the gRPC health probe.
+ // Set to "TLS" to use TLS without certificate verification.
+ // Set to "Plaintext" to use a plaintext (insecure) connection explicitly.
+ // If not specified, the probe uses a plaintext (insecure) connection.
+ // +featureGate=GRPCContainerProbeTLS
+ // +optional
+ optional string mode = 3;
}
// Represents a volume that is populated with the contents of a git repository.
@@ -2093,6 +2183,12 @@ message HTTPGetAction {
// +optional
// +listType=atomic
repeated HTTPHeader httpHeaders = 5;
+
+ // Protocol selects the wire protocol for the probe connection.
+ // Nil defaults to HTTP/1.1.
+ // +optional
+ // +featureGate=H2CContainerProbe
+ optional string protocol = 6;
}
// HTTPHeader describes a custom header to be used in HTTP probes
@@ -2275,6 +2371,16 @@ message ImageVolumeSource {
optional string pullPolicy = 2;
}
+// ImageVolumeStatus represents the image-based volume status.
+message ImageVolumeStatus {
+ // ImageRef is the digest of the image used for this volume.
+ // It should have a value that's similar to the pod's status.containerStatuses[i].imageID.
+ // The ImageRef length should not exceed 256 characters.
+ // +kubebuilder:validation:MaxLength=256
+ // +required
+ optional string imageRef = 1;
+}
+
// Maps a string key to a path within a volume.
message KeyToPath {
// key is the key to project.
@@ -2294,6 +2400,13 @@ message KeyToPath {
// mode, like fsGroup, and the result can be other mode bits set.
// +optional
optional int32 mode = 3;
+
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 user = 4;
}
// Lifecycle describes actions that the management system should take in response to container lifecycle
@@ -2548,6 +2661,8 @@ message NFSVolumeSource {
// Namespace provides a scope for Names.
// Use of multiple namespaces is optional.
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/finalize"
message Namespace {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -2625,6 +2740,8 @@ message NamespaceStatus {
// Node is a worker node in Kubernetes.
// Each node will have a unique identifier in the cache (i.e. in etcd).
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/proxy"
message Node {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -2677,6 +2794,88 @@ message NodeAffinity {
repeated PreferredSchedulingTerm preferredDuringSchedulingIgnoredDuringExecution = 2;
}
+// NodeAllocatableMappedResources describes mapped node allocatable resource allocations.
+message NodeAllocatableMappedResources {
+ // Name is the name of the resource (e.g., cpu, memory).
+ // +required
+ // +k8s:required
+ optional string name = 1;
+
+ // Quantity is the total node allocatable resource capacity allocated for the claim.
+ // This claim's allocated devices is shared by all the containers referencing the claim.
+ // Kubelet adds this value to both requests and limits at the pod-level cgroup, and to limits at the container-level cgroup for each container referencing the claim.
+ // +required
+ // +k8s:required
+ optional .k8s.io.apimachinery.pkg.api.resource.Quantity quantity = 2;
+}
+
+// NodeAllocatableOverheadResources describes auxiliary overhead resource allocations.
+message NodeAllocatableOverheadResources {
+ // Name is the name of the resource (e.g., cpu, memory).
+ // +required
+ // +k8s:required
+ optional string name = 1;
+
+ // PerPod is the flat overhead quantity allocated per pod.
+ // Adding to each container limit allows individual containers to utilize the overhead, while the parent pod-level cgroup limit caps the total usage at the pod boundary where the overhead is accounted for exactly once.
+ // At least one of PerPod or PerContainer must be specified. Specifying neither is an invalid configuration.
+ // +optional
+ // +k8s:optional
+ optional .k8s.io.apimachinery.pkg.api.resource.Quantity perPod = 2;
+
+ // PerContainer is the variable overhead quantity applied for each container referencing the claim.
+ // The container references are recorded in `nodeAllocatableResourceClaimStatuses.containers`.
+ // The total overhead quantity allocated for the claim is computed as:
+ // Quantity = PerPod + (PerContainer * NumReferences)
+ // Kubelet accounts for this overhead in cgroups:
+ // - Pod-level cgroup (requests and limits): Kubelet adds PerPod + (PerContainer * NumReferences).
+ // - Container-level cgroup (limits only): Kubelet adds PerPod + PerContainer for each referencing container.
+ // This allows any single container to access the pod-level overhead, while the parent cgroup caps the total usage to account for PerPod exactly once.
+ // At least one of PerPod or PerContainer must be specified. Specifying neither is an invalid configuration.
+ // +optional
+ // +k8s:optional
+ optional .k8s.io.apimachinery.pkg.api.resource.Quantity perContainer = 3;
+}
+
+// NodeAllocatableResourceClaimStatus describes the status of node allocatable resources allocated via DRA.
+message NodeAllocatableResourceClaimStatus {
+ // ResourceClaimName is the resource claim referenced by the pod that resulted in this node allocatable resource allocation.
+ // +required
+ // +k8s:required
+ optional string resourceClaimName = 1;
+
+ // Containers lists the names of all containers in this pod that reference the claim.
+ // +optional
+ // +listType=set
+ // +k8s:optional
+ // +k8s:listType=set
+ repeated string containers = 2;
+
+ // Mapping contains allocations through devices mapped in the device spec's `nodeAllocatableResources[...].mapping` field.
+ // This is used by kubelet for pod level and container-level cgroup enforcement.
+ // +optional
+ // +patchStrategy=merge
+ // +patchMergeKey=name
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ repeated NodeAllocatableMappedResources mapping = 4;
+
+ // Overhead contains allocations through devices mapped in the device spec's `nodeAllocatableResources[...].overhead` field.
+ // This is used by kubelet for pod level and container-level cgroup enforcement.
+ // +optional
+ // +patchStrategy=merge
+ // +patchMergeKey=name
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ repeated NodeAllocatableOverheadResources overhead = 5;
+}
+
// NodeCondition contains condition information for a node.
message NodeCondition {
// Type of node condition.
@@ -2786,6 +2985,21 @@ message NodeList {
repeated Node items = 2;
}
+// NodePodPreemptionPolicy defines the node-level policies governing preemption for pods on this node.
+message NodePodPreemptionPolicy {
+ // DisableResizePreemption lists the owners (e.g., autoscalers, operators, administrators)
+ // that have requested to disable scheduler and Kubelet preemption for in-place pod resize on this node.
+ // If this list is non-empty, resize-induced preemption is disabled on this node.
+ // This is an alpha field and requires enabling the InPlacePodVerticalScalingSchedulerPreemption feature gate.
+ // +listType=set
+ // +k8s:listType=set
+ // +optional
+ // +k8s:maxItems=20
+ // +k8s:optional
+ // +k8s:eachVal=+k8s:format=k8s-label-key
+ repeated string disableResizePreemption = 1;
+}
+
// NodeProxyOptions is the query options to a Node's proxy call.
message NodeProxyOptions {
// Path is the URL path to use for the current proxy request to node.
@@ -2812,7 +3026,6 @@ message NodeRuntimeHandlerFeatures {
optional bool recursiveReadOnlyMounts = 1;
// UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes.
- // +featureGate=UserNamespacesSupport
// +optional
optional bool userNamespaces = 2;
}
@@ -2879,6 +3092,9 @@ message NodeSpec {
// ID of the node assigned by the cloud provider in the format: ://
// +optional
+ // +k8s:alpha(since: "1.36")=+k8s:optional
+ // +k8s:alpha(since: "1.36")=+k8s:update=NoModify
+ // +k8s:alpha(since: "1.36")=+k8s:update=NoUnset
optional string providerID = 3;
// Unschedulable controls node schedulability of new pods. By default, node is schedulable.
@@ -2899,6 +3115,14 @@ message NodeSpec {
// see: https://issues.k8s.io/61966
// +optional
optional string externalID = 2;
+
+ // PodPreemptionPolicy controls the node-level preemption behaviors for pods on this node.
+ // This is an alpha field and requires enabling the InPlacePodVerticalScalingSchedulerPreemption feature gate.
+ // +featureGate=InPlacePodVerticalScalingSchedulerPreemption
+ // +optional
+ // +k8s:optional
+ // +k8s:ifDisabled(InPlacePodVerticalScalingSchedulerPreemption)=+k8s:forbidden
+ optional NodePodPreemptionPolicy podPreemptionPolicy = 8;
}
// NodeStatus is information about the current status of a node.
@@ -2974,7 +3198,6 @@ message NodeStatus {
optional NodeConfigStatus config = 11;
// The available runtime handlers.
- // +featureGate=UserNamespacesSupport
// +optional
// +listType=atomic
repeated NodeRuntimeHandler runtimeHandlers = 12;
@@ -3036,6 +3259,11 @@ message NodeSystemInfo {
// Swap Info reported by the node.
optional NodeSwapStatus swap = 11;
+
+ // Whether the node is running in a user namespace.
+ // +featureGate=KubeletInUserNamespace
+ // +optional
+ optional bool runningInUserNamespace = 12;
}
// ObjectFieldSelector selects an APIVersioned field of an object.
@@ -3112,6 +3340,7 @@ message ObjectReference {
// PersistentVolume (PV) is a storage resource provisioned by an administrator.
// It is analogous to a node.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes
+// +k8s:supportsSubresource="/status"
message PersistentVolume {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -3133,6 +3362,7 @@ message PersistentVolume {
}
// PersistentVolumeClaim is a user's request for and claim to a persistent volume
+// +k8s:supportsSubresource="/status"
message PersistentVolumeClaim {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -3233,8 +3463,8 @@ message PersistentVolumeClaimSpec {
// * An existing PVC (PersistentVolumeClaim)
// If the provisioner or an external controller can support the specified data source,
// it will create a new volume based on the contents of the specified data source.
- // When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
- // and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
+ // dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be
+ // copied to dataSource when dataSourceRef.namespace is not specified.
// If the namespace is specified, then dataSourceRef will not be copied to dataSource.
// +optional
optional TypedLocalObjectReference dataSource = 7;
@@ -3260,7 +3490,6 @@ message PersistentVolumeClaimSpec {
// specified.
// * While dataSource only allows local objects, dataSourceRef allows objects
// in any namespaces.
- // (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
// +optional
optional TypedObjectReference dataSourceRef = 8;
@@ -3376,6 +3605,13 @@ message PersistentVolumeClaimStatus {
// +featureGate=VolumeAttributesClass
// +optional
optional ModifyVolumeStatus modifyVolumeStatus = 9;
+
+ // healthStatus contains the latest controller-reported health information
+ // for the volume bound to this claim.
+ // +featureGate=CSIVolumeHealth
+ // +optional
+ // +k8s:optional
+ optional VolumeHealthStatus healthStatus = 10;
}
// PersistentVolumeClaimTemplate is used to produce
@@ -3386,6 +3622,7 @@ message PersistentVolumeClaimTemplate {
// validation.
//
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// The specification for the PersistentVolumeClaim. The entire content is
@@ -3528,8 +3765,7 @@ message PersistentVolumeSource {
// portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
// Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
- // are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
- // is on.
+ // are redirected to the pxd.portworx.com CSI driver.
// +optional
optional PortworxVolumeSource portworxVolume = 18;
@@ -3654,6 +3890,10 @@ message PhotonPersistentDiskVolumeSource {
// Pod is a collection of containers that can run on a host. This resource is created
// by clients and scheduled onto hosts.
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/ephemeralcontainers"
+// +k8s:supportsSubresource="/resize"
+// +k8s:supportsSubresource="/eviction"
message Pod {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -3909,6 +4149,13 @@ message PodCertificateProjection {
// Signers should document the keys and values they support. Signers should
// deny requests that contain keys they do not recognize.
map userAnnotations = 7;
+
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 user = 8;
}
// PodCondition contains details for the current condition of this pod.
@@ -3918,8 +4165,6 @@ message PodCondition {
optional string type = 1;
// If set, this represents the .metadata.generation that the pod condition was set based upon.
- // The PodObservedGenerationTracking feature gate must be enabled to use this field.
- // +featureGate=PodObservedGenerationTracking
// +optional
optional int64 observedGeneration = 7;
@@ -4153,6 +4398,14 @@ message PodReadinessGate {
//
// It adds a name to it that uniquely identifies the ResourceClaim inside the Pod.
// Containers that need access to the ResourceClaim reference it with this name.
+//
+// When the DRAWorkloadResourceClaims feature gate is enabled and this Pod
+// belongs to a PodGroup, a PodResourceClaim is matched to a
+// PodGroupResourceClaim if all of their fields are equal (Name,
+// ResourceClaimName, and ResourceClaimTemplateName). A matched claim references
+// a single ResourceClaim shared across all Pods in the PodGroup, reserved for
+// the PodGroup in ResourceClaimStatus.ReservedFor rather than for individual
+// Pods.
message PodResourceClaim {
// Name uniquely identifies this resource claim inside the pod.
// This must be a DNS_LABEL.
@@ -4174,6 +4427,16 @@ message PodResourceClaim {
// generated component, will be used to form a unique name for the
// ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
//
+ // When the DRAWorkloadResourceClaims feature gate is enabled and the pod
+ // belongs to a PodGroup that defines a PodGroupResourceClaim with the same
+ // Name and ResourceClaimTemplateName, this PodResourceClaim resolves to the
+ // ResourceClaim generated for the PodGroup. All pods in the group that
+ // define an equivalent PodResourceClaim matching the
+ // PodGroupResourceClaim's Name and ResourceClaimTemplateName share the same
+ // generated ResourceClaim. ResourceClaims generated for a PodGroup are
+ // owned by the PodGroup and their lifecycles are tied to the PodGroup
+ // instead of any individual pod.
+ //
// This field is immutable and no changes will be made to the
// corresponding ResourceClaim by the control plane after creating the
// ResourceClaim.
@@ -4193,9 +4456,16 @@ message PodResourceClaimStatus {
optional string name = 1;
// ResourceClaimName is the name of the ResourceClaim that was
- // generated for the Pod in the namespace of the Pod. If this is
- // unset, then generating a ResourceClaim was not necessary. The
- // pod.spec.resourceClaims entry can be ignored in this case.
+ // generated for the Pod in the namespace of the Pod.
+ //
+ // When the DRAWorkloadResourceClaims feature is enabled and the
+ // corresponding PodResourceClaim matches a PodGroupResourceClaim
+ // made by the Pod's PodGroup, then this is the name of the
+ // ResourceClaim generated and reserved for the PodGroup.
+ //
+ // If this is unset, then generating a ResourceClaim was not
+ // necessary. The pod.spec.resourceClaims entry can be ignored in
+ // this case.
//
// +optional
optional string resourceClaimName = 2;
@@ -4208,6 +4478,20 @@ message PodSchedulingGate {
optional string name = 1;
}
+// PodSchedulingGroup identifies the runtime scheduling group instance that a Pod belongs to.
+// The scheduler uses this information to apply workload-aware scheduling semantics.
+// Exactly one field must be specified.
+// +union
+message PodSchedulingGroup {
+ // PodGroupName specifies the name of the standalone PodGroup object
+ // that represents the runtime instance of this group.
+ // Must be a DNS subdomain.
+ //
+ // +optional
+ // +oneOf=GroupSelection
+ optional string podGroupName = 1;
+}
+
// PodSecurityContext holds pod-level security attributes and common container settings.
// Some fields are also present in container.securityContext. Field values of
// container.securityContext take precedence over field values of PodSecurityContext.
@@ -4331,11 +4615,8 @@ message PodSecurityContext {
// Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
// whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
// CSIDriver instance. Other volumes are always re-labelled recursively.
- // "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
//
- // If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
- // If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
- // and "Recursive" for all other volumes.
+ // If not specified, "MountOption" is used.
//
// This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
//
@@ -4452,7 +4733,6 @@ message PodSpec {
// DeprecatedServiceAccount is a deprecated alias for ServiceAccountName.
// Deprecated: Use serviceAccountName instead.
- // +k8s:conversion-gen=false
// +optional
optional string serviceAccount = 9;
@@ -4473,19 +4753,16 @@ message PodSpec {
// When `hostNetwork` is true, specified `hostPort` fields in port definitions must match `containerPort`,
// and unspecified `hostPort` fields in port definitions are defaulted to match `containerPort`.
// Default to false.
- // +k8s:conversion-gen=false
// +optional
optional bool hostNetwork = 11;
// Use the host's pid namespace.
// Optional: Default to false.
- // +k8s:conversion-gen=false
// +optional
optional bool hostPID = 12;
// Use the host's ipc namespace.
// Optional: Default to false.
- // +k8s:conversion-gen=false
// +optional
optional bool hostIPC = 13;
@@ -4494,7 +4771,6 @@ message PodSpec {
// in the same pod, and the first process in each container will not be assigned PID 1.
// HostPID and ShareProcessNamespace cannot both be set.
// Optional: Default to false.
- // +k8s:conversion-gen=false
// +optional
optional bool shareProcessNamespace = 27;
@@ -4535,6 +4811,7 @@ message PodSpec {
// If specified, the pod's tolerations.
// +optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:optional
repeated Toleration tolerations = 22;
// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
@@ -4593,6 +4870,8 @@ message PodSpec {
// PreemptionPolicy is the Policy for preempting pods with lower priority.
// One of Never, PreemptLowerPriority.
+ // When Priority Admission Controller is enabled, it prevents users from setting
+ // this field. The admission controller populates this field from PriorityClassName.
// Defaults to PreemptLowerPriority if unset.
// +optional
optional string preemptionPolicy = 31;
@@ -4669,8 +4948,6 @@ message PodSpec {
// When set to false, a new userns is created for the pod. Setting false is useful for
// mitigating container breakout vulnerabilities even allowing users to run their
// containers as root without actually having root privileges on the host.
- // This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.
- // +k8s:conversion-gen=false
// +optional
optional bool hostUsers = 37;
@@ -4729,23 +5006,55 @@ message PodSpec {
// - `hostNetwork` must be set to false.
//
// This field must be a valid DNS subdomain as defined in RFC 1123 and contain at most 64 characters.
- // Requires the HostnameOverride feature gate to be enabled.
//
// +featureGate=HostnameOverride
// +optional
optional string hostnameOverride = 41;
- // WorkloadRef provides a reference to the Workload object that this Pod belongs to.
- // This field is used by the scheduler to identify the PodGroup and apply the
- // correct group scheduling policies. The Workload object referenced
- // by this field may not exist at the time the Pod is created.
- // This field is immutable, but a Workload object with the same name
- // may be recreated with different policies. Doing this during pod scheduling
+ // SchedulingGroup provides a reference to the immediate scheduling runtime
+ // grouping object that this Pod belongs to.
+ // This field is used by the scheduler to identify the group and apply the
+ // correct group scheduling policies. The association with a group also
+ // impacts other lifecycle aspects of a Pod that are relevant in a wider context
+ // of scheduling like preemption, resource attachment, etc. If not specified,
+ // the Pod is treated as a single unit in all of these aspects.
+ // The group object referenced by this field may not exist at the time the
+ // Pod is created.
+ // This field is immutable, but a group object with the same name may be
+ // recreated with different policies. Doing this during pod scheduling
// may result in the placement not conforming to the expected policies.
//
// +featureGate=GenericWorkload
// +optional
- optional WorkloadReference workloadRef = 42;
+ optional PodSchedulingGroup schedulingGroup = 43;
+
+ // evictionResponders reference responders that react to Evictions based on EvictionRequests.
+ // Responders should observe and communicate through the Eviction Resource API to help with
+ // the graceful termination of a pod. The responders are selected sequentially, according to
+ // their specified priority.
+ //
+ // Responders should periodically report on an eviction progress by updating the
+ // .status.responders[].heartbeatTime field of the Eviction object. If this field is not updated
+ // within the heartbeat deadline defined by the Eviction API (currently 20 minutes), the eviction
+ // is passed over to the next responder with a lower priority. If there is no other responder,
+ // the last default imperative-eviction.k8s.io/evictor responder with a priority of 100 will
+ // evict the pod using the imperative Eviction API (pods//eviction subresource).
+ //
+ // The maximum length of the responders list is 10.
+ // Responders are not supported when the pod is part of a PodGroup (.spec.schedulingGroup is set).
+ // This field can only be set on creation and is immutable afterwards.
+ // +featureGate=EvictionRequestAPI
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=10
+ // +k8s:alpha(since: "1.37")=+k8s:dependentForbidden("schedulingGroup")
+ repeated EvictionResponder evictionResponders = 44;
}
// PodStatus represents information about the status of a pod. Status may trail the actual
@@ -4754,7 +5063,6 @@ message PodSpec {
message PodStatus {
// If set, this represents the .metadata.generation that the pod status was set based upon.
// The PodObservedGenerationTracking feature gate must be enabled to use this field.
- // +featureGate=PodObservedGenerationTracking
// +optional
optional int64 observedGeneration = 17;
@@ -4923,22 +5231,33 @@ message PodStatus {
// +featureGate=InPlacePodLevelResourcesVerticalScaling
// +optional
optional ResourceRequirements resources = 20;
-}
-// PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded
-message PodStatusResult {
- // Standard object's metadata.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
+ // NodeAllocatableResourceClaimStatuses contains the status of node-allocatable resources
+ // that were allocated for this pod through DRA claims. This includes resources currently
+ // reported in v1.Node `status.allocatable` that are not extended resources
+ // (see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#extended-resources).
+ // Examples include "cpu", "memory", "ephemeral-storage", and hugepages.
+ // +featureGate=DRANodeAllocatableResources
// +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+ // +patchStrategy=merge
+ // +patchMergeKey=resourceClaimName
+ // +listType=map
+ // +listMapKey=resourceClaimName
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=resourceClaimName
+ repeated NodeAllocatableResourceClaimStatus nodeAllocatableResourceClaimStatuses = 21;
- // Most recently observed status of the pod.
- // This data may not be up to date.
- // Populated by the system.
- // Read-only.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // volumeHealth contains node-reported health for each volume the pod is using.
+ // Populated by the kubelet on the pod's node.
+ // +featureGate=CSIVolumeHealth
// +optional
- optional PodStatus status = 2;
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ repeated PodVolumeHealth volumeHealth = 22;
}
// PodTemplate describes a template for creating copies of a predefined pod.
@@ -4970,6 +5289,7 @@ message PodTemplateSpec {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Specification of the desired behavior of the pod.
@@ -4978,6 +5298,35 @@ message PodTemplateSpec {
optional PodSpec spec = 2;
}
+// PodVolumeHealth contains health information for a volume used by a pod,
+// reported by the CSI node plugin via the kubelet.
+message PodVolumeHealth {
+ // name matches an entry in pod.spec.volumes.
+ // +required
+ // +k8s:required
+ optional string name = 1;
+
+ // conditions is the set of adverse conditions reported by
+ // the CSI node plugin for this volume on this node.
+ // At most 16 conditions may be reported.
+ // +optional
+ // +listType=map
+ // +listMapKey=status
+ // +patchMergeKey=status
+ // +patchStrategy=merge
+ // +listMapKey=reason
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=status
+ // +k8s:listMapKey=reason
+ // +k8s:maxItems=16
+ repeated VolumeHealthCondition healthConditions = 2;
+
+ // lastTransitionTime is when the current set of conditions first appeared.
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
+}
+
// PortStatus represents the error condition of a service port
message PortStatus {
// Port is the port number of the service port of which status is recorded here
@@ -5136,6 +5485,13 @@ message ProjectedVolumeSource {
// mode, like fsGroup, and the result can be other mode bits set.
// +optional
optional int32 defaultMode = 2;
+
+ // defaultUser is Optional: The owner UID of the created files by default.
+ // The defaultUser field is only used as a fallback when the item-level user field is unset.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 defaultUser = 3;
}
// Represents a Quobyte mount that lasts the lifetime of a pod.
@@ -5285,6 +5641,7 @@ message RangeAllocation {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Range is string that identifies the range represented by 'data'.
@@ -5300,8 +5657,8 @@ message ReplicationController {
// be the same as the Pod(s) that the replication controller manages.
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
- // +k8s:subfield(name)=+k8s:optional
- // +k8s:subfield(name)=+k8s:format=k8s-long-name
+ // +k8s:beta(since: "1.37")=+k8s:subfield(name)=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:subfield(name)=+k8s:format=k8s-long-name
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Spec defines the specification of the desired behavior of the replication controller.
@@ -5358,18 +5715,18 @@ message ReplicationControllerSpec {
// Defaults to 1.
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=1
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
optional int32 replicas = 1;
// Minimum number of seconds for which a newly created pod should be ready
// without any of its container crashing, for it to be considered available.
// Defaults to 0 (pod will be considered available as soon as it is ready)
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
optional int32 minReadySeconds = 4;
// Selector is a label query over pods that should match the Replicas count.
@@ -5386,6 +5743,7 @@ message ReplicationControllerSpec {
// The only allowed template.spec.restartPolicy value is "Always".
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional PodTemplateSpec template = 3;
}
@@ -5468,9 +5826,16 @@ message ResourceHealth {
//
// In future we may want to introduce the PermanentlyUnhealthy Status.
optional string health = 2;
+
+ // Message provides human-readable context for Health (e.g. "ECC error count exceeded threshold").
+ // This field is populated by the kubelet when ResourceHealthStatusMessage is enabled if the DRA plugin returns a message, and is null otherwise.
+ // +featureGate=ResourceHealthStatusMessage
+ // +optional
+ optional string message = 6;
}
// ResourceQuota sets aggregate quota restrictions enforced per namespace
+// +k8s:supportsSubresource="/status"
message ResourceQuota {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -5564,8 +5929,13 @@ message ResourceRequirements {
// ResourceStatus represents the status of a single resource allocated to a Pod.
message ResourceStatus {
// Name of the resource. Must be unique within the pod and in case of non-DRA resource, match one of the resources from the pod spec.
- // For DRA resources, the value must be "claim:/".
- // When this status is reported about a container, the "claim_name" and "request" must match one of the claims of this container.
+ // For DRA resources, the value must be "claim:/" when
+ // container.resources.claims[*].request is set or "claim:" when
+ // container.resources.claims[*].request is empty.
+ // For DRA-backed extended resources, "claim:/" is used
+ // when the claim name and request name are recorded in pod.status.extendedResourceClaimStatus.
+ // When this status is reported about a container, the "claim_name" and "request"
+ // must match one of the claims of this container.
// +required
optional string name = 1;
@@ -5776,6 +6146,8 @@ message Secret {
// Used to facilitate programmatic handling of secret data.
// More info: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types
// +optional
+ // +k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
optional string type = 3;
}
@@ -5892,6 +6264,13 @@ message SecretVolumeSource {
// optional field specify whether the Secret or its keys must be defined
// +optional
optional bool optional = 4;
+
+ // defaultUser is Optional: The owner UID of the created files by default.
+ // The defaultUser field is only used as a fallback when the item-level user field is unset.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 defaultUser = 5;
}
// SecurityContext holds security configuration that will be applied to a container.
@@ -5970,7 +6349,6 @@ message SecurityContext {
// procMount denotes the type of proc mount to use for the containers.
// The default value is Default which uses the container runtime defaults for
// readonly paths and masked paths.
- // This requires the ProcMountType feature flag to be enabled.
// Note that this field cannot be set when spec.os.name is windows.
// +optional
optional string procMount = 9;
@@ -5999,6 +6377,8 @@ message SerializedReference {
// Service is a named abstraction of software service (for example, mysql) consisting of local port
// (for example 3306) that the proxy listens on, and the selector that determines which pods
// will answer requests sent through the proxy.
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/proxy"
message Service {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -6092,6 +6472,13 @@ message ServiceAccountTokenProjection {
// path is the path relative to the mount point of the file to project the
// token into.
optional string path = 3;
+
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ optional int64 user = 4;
}
// ServiceList holds a list of services.
@@ -6434,6 +6821,7 @@ message ServiceStatus {
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 2;
}
@@ -6561,6 +6949,8 @@ message Toleration {
// Key is the taint key that the toleration applies to. Empty means match all taint keys.
// If the key is empty, operator must be Exists; this combination means to match all values and all keys.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:format=k8s-label-key
optional string key = 1;
// Operator represents a key's relationship to the value.
@@ -6813,6 +7203,57 @@ message VolumeDevice {
optional string devicePath = 2;
}
+// VolumeHealthCondition represents an adverse health condition reported for a volume.
+message VolumeHealthCondition {
+ // status is the machine-parseable health category.
+ // Possible values:
+ // - "Inaccessible": the volume cannot be accessed.
+ // - "DataLoss": data loss has been detected on the volume.
+ // - "Degraded": the volume is functioning with reduced capability.
+ // +required
+ // +k8s:required
+ optional string status = 1;
+
+ // reason is a brief CamelCase machine-parseable reason.
+ // Together with status it forms the unique identity of a condition entry.
+ // Maximum permitted length of a reason is 256 bytes.
+ // +required
+ // +k8s:required
+ // +k8s:maxBytes=256
+ optional string reason = 2;
+
+ // message is a human-readable description.
+ // Maximum permitted length of a message is 1024 bytes.
+ // +optional
+ // +k8s:optional
+ // +k8s:maxBytes=1024
+ optional string message = 3;
+}
+
+// VolumeHealthStatus contains health information for a volume reported
+// by the CSI controller plugin.
+message VolumeHealthStatus {
+ // conditions is the set of adverse conditions reported by
+ // the CSI controller plugin. An empty list means no adverse condition.
+ // At most 16 conditions may be reported.
+ // +optional
+ // +listType=map
+ // +listMapKey=status
+ // +patchMergeKey=status
+ // +patchStrategy=merge
+ // +listMapKey=reason
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=status
+ // +k8s:listMapKey=reason
+ // +k8s:maxItems=16
+ repeated VolumeHealthCondition healthConditions = 1;
+
+ // lastTransitionTime is when the current set of conditions first appeared.
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 2;
+}
+
// VolumeMount describes a mounting of a Volume within a container.
message VolumeMount {
// This must match the Name of a Volume.
@@ -6842,8 +7283,7 @@ message VolumeMount {
// +optional
optional string recursiveReadOnly = 7;
- // Path within the container at which the volume should be mounted. Must
- // not contain ':'.
+ // Path within the container at which the volume should be mounted.
optional string mountPath = 3;
// Path within the volume from which the container's volume should be mounted.
@@ -6866,6 +7306,17 @@ message VolumeMount {
// SubPathExpr and SubPath are mutually exclusive.
// +optional
optional string subPathExpr = 6;
+
+ // bindMountOptions is the list of additional bind mount options to apply when
+ // mounting this volume into the container. Allowed values are noexec,
+ // nodev, and nosuid. These are Linux mount options and have no effect on
+ // Windows nodes.
+ // This field is not supported with image volumes.
+ // This is an alpha field and requires enabling the VolumeBindMountOptions feature gate.
+ // +featureGate=VolumeBindMountOptions
+ // +optional
+ // +listType=set
+ repeated string bindMountOptions = 8;
}
// VolumeMountStatus shows status of volume mounts.
@@ -6885,6 +7336,11 @@ message VolumeMountStatus {
// depending on the mount result.
// +optional
optional string recursiveReadOnly = 4;
+
+ // volumeStatus represents volume-type-specific status about the mounted
+ // volume.
+ // +optional
+ optional VolumeStatus volumeStatus = 5;
}
// VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from.
@@ -7126,8 +7582,7 @@ message VolumeSource {
// portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
// Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
- // are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
- // is on.
+ // are redirected to the pxd.portworx.com CSI driver.
// +optional
optional PortworxVolumeSource portworxVolume = 24;
@@ -7184,14 +7639,22 @@ message VolumeSource {
// A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
// The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
// The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
- // The volume will be mounted read-only (ro) and non-executable files (noexec).
+ // The volume will be mounted read-only (ro).
// Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33.
// The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
- // +featureGate=ImageVolume
// +optional
optional ImageVolumeSource image = 30;
}
+// VolumeStatus represents the status of a mounted volume.
+// At most one of its members must be specified.
+message VolumeStatus {
+ // image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
+ // +featureGate=ImageVolumeWithDigest
+ // +optional
+ optional ImageVolumeStatus image = 1;
+}
+
// Represents a vSphere volume resource.
message VsphereVirtualDiskVolumeSource {
// volumePath is the path that identifies vSphere volume vmdk
@@ -7249,33 +7712,3 @@ message WindowsSecurityContextOptions {
optional bool hostProcess = 4;
}
-// WorkloadReference identifies the Workload object and PodGroup membership
-// that a Pod belongs to. The scheduler uses this information to apply
-// workload-aware scheduling semantics.
-message WorkloadReference {
- // Name defines the name of the Workload object this Pod belongs to.
- // Workload must be in the same namespace as the Pod.
- // If it doesn't match any existing Workload, the Pod will remain unschedulable
- // until a Workload object is created and observed by the kube-scheduler.
- // It must be a DNS subdomain.
- //
- // +required
- optional string name = 1;
-
- // PodGroup is the name of the PodGroup within the Workload that this Pod
- // belongs to. If it doesn't match any existing PodGroup within the Workload,
- // the Pod will remain unschedulable until the Workload object is recreated
- // and observed by the kube-scheduler. It must be a DNS label.
- //
- // +required
- optional string podGroup = 2;
-
- // PodGroupReplicaKey specifies the replica key of the PodGroup to which this
- // Pod belongs. It is used to distinguish pods belonging to different replicas
- // of the same pod group. The pod group policy is applied separately to each replica.
- // When set, it must be a DNS label.
- //
- // +optional
- optional string podGroupReplicaKey = 3;
-}
-
diff --git a/vendor/k8s.io/api/core/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/core/v1/generated.protomessage.pb.go
deleted file mode 100644
index cf74ffa08..000000000
--- a/vendor/k8s.io/api/core/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,498 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*AWSElasticBlockStoreVolumeSource) ProtoMessage() {}
-
-func (*Affinity) ProtoMessage() {}
-
-func (*AppArmorProfile) ProtoMessage() {}
-
-func (*AttachedVolume) ProtoMessage() {}
-
-func (*AvoidPods) ProtoMessage() {}
-
-func (*AzureDiskVolumeSource) ProtoMessage() {}
-
-func (*AzureFilePersistentVolumeSource) ProtoMessage() {}
-
-func (*AzureFileVolumeSource) ProtoMessage() {}
-
-func (*Binding) ProtoMessage() {}
-
-func (*CSIPersistentVolumeSource) ProtoMessage() {}
-
-func (*CSIVolumeSource) ProtoMessage() {}
-
-func (*Capabilities) ProtoMessage() {}
-
-func (*CephFSPersistentVolumeSource) ProtoMessage() {}
-
-func (*CephFSVolumeSource) ProtoMessage() {}
-
-func (*CinderPersistentVolumeSource) ProtoMessage() {}
-
-func (*CinderVolumeSource) ProtoMessage() {}
-
-func (*ClientIPConfig) ProtoMessage() {}
-
-func (*ClusterTrustBundleProjection) ProtoMessage() {}
-
-func (*ComponentCondition) ProtoMessage() {}
-
-func (*ComponentStatus) ProtoMessage() {}
-
-func (*ComponentStatusList) ProtoMessage() {}
-
-func (*ConfigMap) ProtoMessage() {}
-
-func (*ConfigMapEnvSource) ProtoMessage() {}
-
-func (*ConfigMapKeySelector) ProtoMessage() {}
-
-func (*ConfigMapList) ProtoMessage() {}
-
-func (*ConfigMapNodeConfigSource) ProtoMessage() {}
-
-func (*ConfigMapProjection) ProtoMessage() {}
-
-func (*ConfigMapVolumeSource) ProtoMessage() {}
-
-func (*Container) ProtoMessage() {}
-
-func (*ContainerExtendedResourceRequest) ProtoMessage() {}
-
-func (*ContainerImage) ProtoMessage() {}
-
-func (*ContainerPort) ProtoMessage() {}
-
-func (*ContainerResizePolicy) ProtoMessage() {}
-
-func (*ContainerRestartRule) ProtoMessage() {}
-
-func (*ContainerRestartRuleOnExitCodes) ProtoMessage() {}
-
-func (*ContainerState) ProtoMessage() {}
-
-func (*ContainerStateRunning) ProtoMessage() {}
-
-func (*ContainerStateTerminated) ProtoMessage() {}
-
-func (*ContainerStateWaiting) ProtoMessage() {}
-
-func (*ContainerStatus) ProtoMessage() {}
-
-func (*ContainerUser) ProtoMessage() {}
-
-func (*DaemonEndpoint) ProtoMessage() {}
-
-func (*DownwardAPIProjection) ProtoMessage() {}
-
-func (*DownwardAPIVolumeFile) ProtoMessage() {}
-
-func (*DownwardAPIVolumeSource) ProtoMessage() {}
-
-func (*EmptyDirVolumeSource) ProtoMessage() {}
-
-func (*EndpointAddress) ProtoMessage() {}
-
-func (*EndpointPort) ProtoMessage() {}
-
-func (*EndpointSubset) ProtoMessage() {}
-
-func (*Endpoints) ProtoMessage() {}
-
-func (*EndpointsList) ProtoMessage() {}
-
-func (*EnvFromSource) ProtoMessage() {}
-
-func (*EnvVar) ProtoMessage() {}
-
-func (*EnvVarSource) ProtoMessage() {}
-
-func (*EphemeralContainer) ProtoMessage() {}
-
-func (*EphemeralContainerCommon) ProtoMessage() {}
-
-func (*EphemeralVolumeSource) ProtoMessage() {}
-
-func (*Event) ProtoMessage() {}
-
-func (*EventList) ProtoMessage() {}
-
-func (*EventSeries) ProtoMessage() {}
-
-func (*EventSource) ProtoMessage() {}
-
-func (*ExecAction) ProtoMessage() {}
-
-func (*FCVolumeSource) ProtoMessage() {}
-
-func (*FileKeySelector) ProtoMessage() {}
-
-func (*FlexPersistentVolumeSource) ProtoMessage() {}
-
-func (*FlexVolumeSource) ProtoMessage() {}
-
-func (*FlockerVolumeSource) ProtoMessage() {}
-
-func (*GCEPersistentDiskVolumeSource) ProtoMessage() {}
-
-func (*GRPCAction) ProtoMessage() {}
-
-func (*GitRepoVolumeSource) ProtoMessage() {}
-
-func (*GlusterfsPersistentVolumeSource) ProtoMessage() {}
-
-func (*GlusterfsVolumeSource) ProtoMessage() {}
-
-func (*HTTPGetAction) ProtoMessage() {}
-
-func (*HTTPHeader) ProtoMessage() {}
-
-func (*HostAlias) ProtoMessage() {}
-
-func (*HostIP) ProtoMessage() {}
-
-func (*HostPathVolumeSource) ProtoMessage() {}
-
-func (*ISCSIPersistentVolumeSource) ProtoMessage() {}
-
-func (*ISCSIVolumeSource) ProtoMessage() {}
-
-func (*ImageVolumeSource) ProtoMessage() {}
-
-func (*KeyToPath) ProtoMessage() {}
-
-func (*Lifecycle) ProtoMessage() {}
-
-func (*LifecycleHandler) ProtoMessage() {}
-
-func (*LimitRange) ProtoMessage() {}
-
-func (*LimitRangeItem) ProtoMessage() {}
-
-func (*LimitRangeList) ProtoMessage() {}
-
-func (*LimitRangeSpec) ProtoMessage() {}
-
-func (*LinuxContainerUser) ProtoMessage() {}
-
-func (*List) ProtoMessage() {}
-
-func (*LoadBalancerIngress) ProtoMessage() {}
-
-func (*LoadBalancerStatus) ProtoMessage() {}
-
-func (*LocalObjectReference) ProtoMessage() {}
-
-func (*LocalVolumeSource) ProtoMessage() {}
-
-func (*ModifyVolumeStatus) ProtoMessage() {}
-
-func (*NFSVolumeSource) ProtoMessage() {}
-
-func (*Namespace) ProtoMessage() {}
-
-func (*NamespaceCondition) ProtoMessage() {}
-
-func (*NamespaceList) ProtoMessage() {}
-
-func (*NamespaceSpec) ProtoMessage() {}
-
-func (*NamespaceStatus) ProtoMessage() {}
-
-func (*Node) ProtoMessage() {}
-
-func (*NodeAddress) ProtoMessage() {}
-
-func (*NodeAffinity) ProtoMessage() {}
-
-func (*NodeCondition) ProtoMessage() {}
-
-func (*NodeConfigSource) ProtoMessage() {}
-
-func (*NodeConfigStatus) ProtoMessage() {}
-
-func (*NodeDaemonEndpoints) ProtoMessage() {}
-
-func (*NodeFeatures) ProtoMessage() {}
-
-func (*NodeList) ProtoMessage() {}
-
-func (*NodeProxyOptions) ProtoMessage() {}
-
-func (*NodeRuntimeHandler) ProtoMessage() {}
-
-func (*NodeRuntimeHandlerFeatures) ProtoMessage() {}
-
-func (*NodeSelector) ProtoMessage() {}
-
-func (*NodeSelectorRequirement) ProtoMessage() {}
-
-func (*NodeSelectorTerm) ProtoMessage() {}
-
-func (*NodeSpec) ProtoMessage() {}
-
-func (*NodeStatus) ProtoMessage() {}
-
-func (*NodeSwapStatus) ProtoMessage() {}
-
-func (*NodeSystemInfo) ProtoMessage() {}
-
-func (*ObjectFieldSelector) ProtoMessage() {}
-
-func (*ObjectReference) ProtoMessage() {}
-
-func (*PersistentVolume) ProtoMessage() {}
-
-func (*PersistentVolumeClaim) ProtoMessage() {}
-
-func (*PersistentVolumeClaimCondition) ProtoMessage() {}
-
-func (*PersistentVolumeClaimList) ProtoMessage() {}
-
-func (*PersistentVolumeClaimSpec) ProtoMessage() {}
-
-func (*PersistentVolumeClaimStatus) ProtoMessage() {}
-
-func (*PersistentVolumeClaimTemplate) ProtoMessage() {}
-
-func (*PersistentVolumeClaimVolumeSource) ProtoMessage() {}
-
-func (*PersistentVolumeList) ProtoMessage() {}
-
-func (*PersistentVolumeSource) ProtoMessage() {}
-
-func (*PersistentVolumeSpec) ProtoMessage() {}
-
-func (*PersistentVolumeStatus) ProtoMessage() {}
-
-func (*PhotonPersistentDiskVolumeSource) ProtoMessage() {}
-
-func (*Pod) ProtoMessage() {}
-
-func (*PodAffinity) ProtoMessage() {}
-
-func (*PodAffinityTerm) ProtoMessage() {}
-
-func (*PodAntiAffinity) ProtoMessage() {}
-
-func (*PodAttachOptions) ProtoMessage() {}
-
-func (*PodCertificateProjection) ProtoMessage() {}
-
-func (*PodCondition) ProtoMessage() {}
-
-func (*PodDNSConfig) ProtoMessage() {}
-
-func (*PodDNSConfigOption) ProtoMessage() {}
-
-func (*PodExecOptions) ProtoMessage() {}
-
-func (*PodExtendedResourceClaimStatus) ProtoMessage() {}
-
-func (*PodIP) ProtoMessage() {}
-
-func (*PodList) ProtoMessage() {}
-
-func (*PodLogOptions) ProtoMessage() {}
-
-func (*PodOS) ProtoMessage() {}
-
-func (*PodPortForwardOptions) ProtoMessage() {}
-
-func (*PodProxyOptions) ProtoMessage() {}
-
-func (*PodReadinessGate) ProtoMessage() {}
-
-func (*PodResourceClaim) ProtoMessage() {}
-
-func (*PodResourceClaimStatus) ProtoMessage() {}
-
-func (*PodSchedulingGate) ProtoMessage() {}
-
-func (*PodSecurityContext) ProtoMessage() {}
-
-func (*PodSignature) ProtoMessage() {}
-
-func (*PodSpec) ProtoMessage() {}
-
-func (*PodStatus) ProtoMessage() {}
-
-func (*PodStatusResult) ProtoMessage() {}
-
-func (*PodTemplate) ProtoMessage() {}
-
-func (*PodTemplateList) ProtoMessage() {}
-
-func (*PodTemplateSpec) ProtoMessage() {}
-
-func (*PortStatus) ProtoMessage() {}
-
-func (*PortworxVolumeSource) ProtoMessage() {}
-
-func (*Preconditions) ProtoMessage() {}
-
-func (*PreferAvoidPodsEntry) ProtoMessage() {}
-
-func (*PreferredSchedulingTerm) ProtoMessage() {}
-
-func (*Probe) ProtoMessage() {}
-
-func (*ProbeHandler) ProtoMessage() {}
-
-func (*ProjectedVolumeSource) ProtoMessage() {}
-
-func (*QuobyteVolumeSource) ProtoMessage() {}
-
-func (*RBDPersistentVolumeSource) ProtoMessage() {}
-
-func (*RBDVolumeSource) ProtoMessage() {}
-
-func (*RangeAllocation) ProtoMessage() {}
-
-func (*ReplicationController) ProtoMessage() {}
-
-func (*ReplicationControllerCondition) ProtoMessage() {}
-
-func (*ReplicationControllerList) ProtoMessage() {}
-
-func (*ReplicationControllerSpec) ProtoMessage() {}
-
-func (*ReplicationControllerStatus) ProtoMessage() {}
-
-func (*ResourceClaim) ProtoMessage() {}
-
-func (*ResourceFieldSelector) ProtoMessage() {}
-
-func (*ResourceHealth) ProtoMessage() {}
-
-func (*ResourceQuota) ProtoMessage() {}
-
-func (*ResourceQuotaList) ProtoMessage() {}
-
-func (*ResourceQuotaSpec) ProtoMessage() {}
-
-func (*ResourceQuotaStatus) ProtoMessage() {}
-
-func (*ResourceRequirements) ProtoMessage() {}
-
-func (*ResourceStatus) ProtoMessage() {}
-
-func (*SELinuxOptions) ProtoMessage() {}
-
-func (*ScaleIOPersistentVolumeSource) ProtoMessage() {}
-
-func (*ScaleIOVolumeSource) ProtoMessage() {}
-
-func (*ScopeSelector) ProtoMessage() {}
-
-func (*ScopedResourceSelectorRequirement) ProtoMessage() {}
-
-func (*SeccompProfile) ProtoMessage() {}
-
-func (*Secret) ProtoMessage() {}
-
-func (*SecretEnvSource) ProtoMessage() {}
-
-func (*SecretKeySelector) ProtoMessage() {}
-
-func (*SecretList) ProtoMessage() {}
-
-func (*SecretProjection) ProtoMessage() {}
-
-func (*SecretReference) ProtoMessage() {}
-
-func (*SecretVolumeSource) ProtoMessage() {}
-
-func (*SecurityContext) ProtoMessage() {}
-
-func (*SerializedReference) ProtoMessage() {}
-
-func (*Service) ProtoMessage() {}
-
-func (*ServiceAccount) ProtoMessage() {}
-
-func (*ServiceAccountList) ProtoMessage() {}
-
-func (*ServiceAccountTokenProjection) ProtoMessage() {}
-
-func (*ServiceList) ProtoMessage() {}
-
-func (*ServicePort) ProtoMessage() {}
-
-func (*ServiceProxyOptions) ProtoMessage() {}
-
-func (*ServiceSpec) ProtoMessage() {}
-
-func (*ServiceStatus) ProtoMessage() {}
-
-func (*SessionAffinityConfig) ProtoMessage() {}
-
-func (*SleepAction) ProtoMessage() {}
-
-func (*StorageOSPersistentVolumeSource) ProtoMessage() {}
-
-func (*StorageOSVolumeSource) ProtoMessage() {}
-
-func (*Sysctl) ProtoMessage() {}
-
-func (*TCPSocketAction) ProtoMessage() {}
-
-func (*Taint) ProtoMessage() {}
-
-func (*Toleration) ProtoMessage() {}
-
-func (*TopologySelectorLabelRequirement) ProtoMessage() {}
-
-func (*TopologySelectorTerm) ProtoMessage() {}
-
-func (*TopologySpreadConstraint) ProtoMessage() {}
-
-func (*TypedLocalObjectReference) ProtoMessage() {}
-
-func (*TypedObjectReference) ProtoMessage() {}
-
-func (*Volume) ProtoMessage() {}
-
-func (*VolumeDevice) ProtoMessage() {}
-
-func (*VolumeMount) ProtoMessage() {}
-
-func (*VolumeMountStatus) ProtoMessage() {}
-
-func (*VolumeNodeAffinity) ProtoMessage() {}
-
-func (*VolumeProjection) ProtoMessage() {}
-
-func (*VolumeResourceRequirements) ProtoMessage() {}
-
-func (*VolumeSource) ProtoMessage() {}
-
-func (*VsphereVirtualDiskVolumeSource) ProtoMessage() {}
-
-func (*WeightedPodAffinityTerm) ProtoMessage() {}
-
-func (*WindowsSecurityContextOptions) ProtoMessage() {}
-
-func (*WorkloadReference) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/core/v1/register.go b/vendor/k8s.io/api/core/v1/register.go
index 1aac0cb41..0a42d182f 100644
--- a/vendor/k8s.io/api/core/v1/register.go
+++ b/vendor/k8s.io/api/core/v1/register.go
@@ -46,7 +46,6 @@ func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&Pod{},
&PodList{},
- &PodStatusResult{},
&PodTemplate{},
&PodTemplateList{},
&ReplicationController{},
diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go
index 705c82083..90b09fb9b 100644
--- a/vendor/k8s.io/api/core/v1/types.go
+++ b/vendor/k8s.io/api/core/v1/types.go
@@ -41,7 +41,7 @@ type Volume struct {
// volumeSource represents the location and type of the mounted volume.
// If not specified, the Volume is implied to be an EmptyDir.
// This implied behavior is deprecated and will be removed in a future version.
- VolumeSource `json:",inline" protobuf:"bytes,2,opt,name=volumeSource"`
+ VolumeSource `json:"" protobuf:"bytes,2,opt,name=volumeSource"`
}
// Represents the source of a volume to mount.
@@ -161,8 +161,7 @@ type VolumeSource struct {
Projected *ProjectedVolumeSource `json:"projected,omitempty" protobuf:"bytes,26,opt,name=projected"`
// portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
// Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
- // are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
- // is on.
+ // are redirected to the pxd.portworx.com CSI driver.
// +optional
PortworxVolume *PortworxVolumeSource `json:"portworxVolume,omitempty" protobuf:"bytes,24,opt,name=portworxVolume"`
// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
@@ -214,10 +213,9 @@ type VolumeSource struct {
// A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
// The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
// The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
- // The volume will be mounted read-only (ro) and non-executable files (noexec).
+ // The volume will be mounted read-only (ro).
// Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33.
// The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
- // +featureGate=ImageVolume
// +optional
Image *ImageVolumeSource `json:"image,omitempty" protobuf:"bytes,30,opt,name=image"`
}
@@ -325,8 +323,7 @@ type PersistentVolumeSource struct {
PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty" protobuf:"bytes,17,opt,name=photonPersistentDisk"`
// portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
// Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
- // are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
- // is on.
+ // are redirected to the pxd.portworx.com CSI driver.
// +optional
PortworxVolume *PortworxVolumeSource `json:"portworxVolume,omitempty" protobuf:"bytes,18,opt,name=portworxVolume"`
// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
@@ -363,8 +360,9 @@ const (
// PersistentVolume (PV) is a storage resource provisioned by an administrator.
// It is analogous to a node.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes
+// +k8s:supportsSubresource="/status"
type PersistentVolume struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -391,7 +389,7 @@ type PersistentVolumeSpec struct {
// +optional
Capacity ResourceList `json:"capacity,omitempty" protobuf:"bytes,1,rep,name=capacity,casttype=ResourceList,castkey=ResourceName"`
// persistentVolumeSource is the actual volume backing the persistent volume.
- PersistentVolumeSource `json:",inline" protobuf:"bytes,2,opt,name=persistentVolumeSource"`
+ PersistentVolumeSource `json:"" protobuf:"bytes,2,opt,name=persistentVolumeSource"`
// accessModes contains all ways the volume can be mounted.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes
// +optional
@@ -498,7 +496,7 @@ type PersistentVolumeStatus struct {
// PersistentVolumeList is a list of PersistentVolume items.
type PersistentVolumeList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -513,8 +511,9 @@ type PersistentVolumeList struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.0
// PersistentVolumeClaim is a user's request for and claim to a persistent volume
+// +k8s:supportsSubresource="/status"
type PersistentVolumeClaim struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -537,7 +536,7 @@ type PersistentVolumeClaim struct {
// PersistentVolumeClaimList is a list of PersistentVolumeClaim items.
type PersistentVolumeClaimList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -581,8 +580,8 @@ type PersistentVolumeClaimSpec struct {
// * An existing PVC (PersistentVolumeClaim)
// If the provisioner or an external controller can support the specified data source,
// it will create a new volume based on the contents of the specified data source.
- // When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
- // and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
+ // dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be
+ // copied to dataSource when dataSourceRef.namespace is not specified.
// If the namespace is specified, then dataSourceRef will not be copied to dataSource.
// +optional
DataSource *TypedLocalObjectReference `json:"dataSource,omitempty" protobuf:"bytes,7,opt,name=dataSource"`
@@ -607,7 +606,6 @@ type PersistentVolumeClaimSpec struct {
// specified.
// * While dataSource only allows local objects, dataSourceRef allows objects
// in any namespaces.
- // (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
// +optional
DataSourceRef *TypedObjectReference `json:"dataSourceRef,omitempty" protobuf:"bytes,8,opt,name=dataSourceRef"`
@@ -672,6 +670,17 @@ const (
PersistentVolumeClaimVolumeModifyVolumeError PersistentVolumeClaimConditionType = "ModifyVolumeError"
// Volume is being modified
PersistentVolumeClaimVolumeModifyingVolume PersistentVolumeClaimConditionType = "ModifyingVolume"
+
+ // PersistentVolumeClaimUnused indicates whether the PVC is currently not in use by any Pod.
+ // When status is True, the PVC is not referenced by any non-terminal Pod.
+ // The lastTransitionTime indicates when the PVC last transitioned to being unused.
+ //
+ // Both in-use time and unused time duration indicated by this condition may be shorter or
+ // slightly longer than actual in-use time or unused time because of processing delays or
+ // when this feature was enabled in the cluster.
+ //
+ // Requires PersistentVolumeClaimUnusedSinceTime beta featuregate
+ PersistentVolumeClaimUnused PersistentVolumeClaimConditionType = "Unused"
)
// +enum
@@ -756,6 +765,95 @@ type PersistentVolumeClaimCondition struct {
Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}
+// VolumeHealthStatusType describes the health status category of a volume.
+// +enum
+// +k8s:enum
+type VolumeHealthStatusType string
+
+const (
+ // VolumeHealthInaccessible indicates the volume cannot be accessed.
+ VolumeHealthInaccessible VolumeHealthStatusType = "Inaccessible"
+ // VolumeHealthDataLoss indicates data loss has been detected on the volume.
+ VolumeHealthDataLoss VolumeHealthStatusType = "DataLoss"
+ // VolumeHealthDegraded indicates the volume is functioning but with reduced capability.
+ VolumeHealthDegraded VolumeHealthStatusType = "Degraded"
+)
+
+// VolumeHealthCondition represents an adverse health condition reported for a volume.
+type VolumeHealthCondition struct {
+ // status is the machine-parseable health category.
+ // Possible values:
+ // - "Inaccessible": the volume cannot be accessed.
+ // - "DataLoss": data loss has been detected on the volume.
+ // - "Degraded": the volume is functioning with reduced capability.
+ // +required
+ // +k8s:required
+ Status VolumeHealthStatusType `json:"status" protobuf:"bytes,1,opt,name=status,casttype=VolumeHealthStatusType"`
+ // reason is a brief CamelCase machine-parseable reason.
+ // Together with status it forms the unique identity of a condition entry.
+ // Maximum permitted length of a reason is 256 bytes.
+ // +required
+ // +k8s:required
+ // +k8s:maxBytes=256
+ Reason string `json:"reason" protobuf:"bytes,2,opt,name=reason"`
+ // message is a human-readable description.
+ // Maximum permitted length of a message is 1024 bytes.
+ // +optional
+ // +k8s:optional
+ // +k8s:maxBytes=1024
+ Message string `json:"message,omitempty" protobuf:"bytes,3,opt,name=message"`
+}
+
+// VolumeHealthStatus contains health information for a volume reported
+// by the CSI controller plugin.
+type VolumeHealthStatus struct {
+ // conditions is the set of adverse conditions reported by
+ // the CSI controller plugin. An empty list means no adverse condition.
+ // At most 16 conditions may be reported.
+ // +optional
+ // +listType=map
+ // +listMapKey=status
+ // +patchMergeKey=status
+ // +patchStrategy=merge
+ // +listMapKey=reason
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=status
+ // +k8s:listMapKey=reason
+ // +k8s:maxItems=16
+ HealthConditions []VolumeHealthCondition `json:"healthConditions,omitempty" patchStrategy:"merge" patchMergeKey:"status" protobuf:"bytes,1,rep,name=healthConditions"`
+ // lastTransitionTime is when the current set of conditions first appeared.
+ // +optional
+ LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,2,opt,name=lastTransitionTime"`
+}
+
+// PodVolumeHealth contains health information for a volume used by a pod,
+// reported by the CSI node plugin via the kubelet.
+type PodVolumeHealth struct {
+ // name matches an entry in pod.spec.volumes.
+ // +required
+ // +k8s:required
+ Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
+ // conditions is the set of adverse conditions reported by
+ // the CSI node plugin for this volume on this node.
+ // At most 16 conditions may be reported.
+ // +optional
+ // +listType=map
+ // +listMapKey=status
+ // +patchMergeKey=status
+ // +patchStrategy=merge
+ // +listMapKey=reason
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=status
+ // +k8s:listMapKey=reason
+ // +k8s:maxItems=16
+ HealthConditions []VolumeHealthCondition `json:"healthConditions,omitempty" patchStrategy:"merge" patchMergeKey:"status" protobuf:"bytes,2,rep,name=healthConditions"`
+ // lastTransitionTime is when the current set of conditions first appeared.
+ // +optional
+ LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
+}
+
// PersistentVolumeClaimStatus is the current status of a persistent volume claim.
type PersistentVolumeClaimStatus struct {
// phase represents the current phase of PersistentVolumeClaim.
@@ -849,6 +947,12 @@ type PersistentVolumeClaimStatus struct {
// +featureGate=VolumeAttributesClass
// +optional
ModifyVolumeStatus *ModifyVolumeStatus `json:"modifyVolumeStatus,omitempty" protobuf:"bytes,9,opt,name=modifyVolumeStatus"`
+ // healthStatus contains the latest controller-reported health information
+ // for the volume bound to this claim.
+ // +featureGate=CSIVolumeHealth
+ // +optional
+ // +k8s:optional
+ HealthStatus *VolumeHealthStatus `json:"healthStatus,omitempty" protobuf:"bytes,10,opt,name=healthStatus"`
}
// +enum
@@ -954,6 +1058,17 @@ type EmptyDirVolumeSource struct {
// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
// +optional
SizeLimit *resource.Quantity `json:"sizeLimit,omitempty" protobuf:"bytes,2,opt,name=sizeLimit"`
+ // mode specifies the permission bits for the emptyDir directory, in numeric
+ // notation (e.g., 0755, 01777). Must be a value between 0000 and 01777.
+ // If not specified, defaults to 0777.
+ // This might be in conflict with other options that affect the file
+ // mode, like fsGroup. If fsGroup is specified, the fsGroup permissions
+ // will override the mode specified here.
+ // This field has no effect on Windows.
+ // This field is alpha and requires EmptyDirVolumeMode featuregate to be enabled.
+ // +featureGate=EmptyDirVolumeMode
+ // +optional
+ Mode *int32 `json:"mode,omitempty" protobuf:"varint,3,opt,name=mode"`
}
// Represents a Glusterfs mount that lasts the lifetime of a pod.
@@ -1446,6 +1561,12 @@ type SecretVolumeSource struct {
// optional field specify whether the Secret or its keys must be defined
// +optional
Optional *bool `json:"optional,omitempty" protobuf:"varint,4,opt,name=optional"`
+ // defaultUser is Optional: The owner UID of the created files by default.
+ // The defaultUser field is only used as a fallback when the item-level user field is unset.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ DefaultUser *int64 `json:"defaultUser,omitempty" protobuf:"varint,5,opt,name=defaultUser"`
}
const (
@@ -1459,7 +1580,7 @@ const (
// Note that this is identical to a secret volume source without the default
// mode.
type SecretProjection struct {
- LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"`
+ LocalObjectReference `json:"" protobuf:"bytes,1,opt,name=localObjectReference"`
// items if unspecified, each key-value pair in the Data field of the referenced
// Secret will be projected into the volume as a file whose name is the
// key and content is the value. If specified, the listed keys will be
@@ -1869,7 +1990,7 @@ type StorageOSPersistentVolumeSource struct {
// the items element is populated with specific mappings of keys to paths.
// ConfigMap volumes support ownership management and SELinux relabeling.
type ConfigMapVolumeSource struct {
- LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"`
+ LocalObjectReference `json:"" protobuf:"bytes,1,opt,name=localObjectReference"`
// items if unspecified, each key-value pair in the Data field of the referenced
// ConfigMap will be projected into the volume as a file whose name is the
// key and content is the value. If specified, the listed keys will be
@@ -1892,6 +2013,12 @@ type ConfigMapVolumeSource struct {
// optional specify whether the ConfigMap or its keys must be defined
// +optional
Optional *bool `json:"optional,omitempty" protobuf:"varint,4,opt,name=optional"`
+ // defaultUser is Optional: The owner UID of the created files by default.
+ // The defaultUser field is only used as a fallback when the item-level user field is unset.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ DefaultUser *int64 `json:"defaultUser,omitempty" protobuf:"varint,5,opt,name=defaultUser"`
}
const (
@@ -1906,7 +2033,7 @@ const (
// Note that this is identical to a configmap volume source without the default
// mode.
type ConfigMapProjection struct {
- LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"`
+ LocalObjectReference `json:"" protobuf:"bytes,1,opt,name=localObjectReference"`
// items if unspecified, each key-value pair in the Data field of the referenced
// ConfigMap will be projected into the volume as a file whose name is the
// key and content is the value. If specified, the listed keys will be
@@ -1944,6 +2071,12 @@ type ServiceAccountTokenProjection struct {
// path is the path relative to the mount point of the file to project the
// token into.
Path string `json:"path" protobuf:"bytes,3,opt,name=path"`
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ User *int64 `json:"user,omitempty" protobuf:"varint,4,opt,name=user"`
}
// ClusterTrustBundleProjection describes how to select a set of
@@ -1978,6 +2111,13 @@ type ClusterTrustBundleProjection struct {
// Relative path from the volume root to write the bundle.
Path string `json:"path" protobuf:"bytes,4,rep,name=path"`
+
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ User *int64 `json:"user,omitempty" protobuf:"varint,6,opt,name=user"`
}
// PodCertificateProjection provides a private key and X.509 certificate in the
@@ -2066,6 +2206,13 @@ type PodCertificateProjection struct {
// Signers should document the keys and values they support. Signers should
// deny requests that contain keys they do not recognize.
UserAnnotations map[string]string `json:"userAnnotations,omitempty" protobuf:"bytes,7,rep,name=userAnnotations"`
+
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ User *int64 `json:"user,omitempty" protobuf:"varint,8,opt,name=user"`
}
// Represents a projected volume source
@@ -2083,6 +2230,12 @@ type ProjectedVolumeSource struct {
// mode, like fsGroup, and the result can be other mode bits set.
// +optional
DefaultMode *int32 `json:"defaultMode,omitempty" protobuf:"varint,2,opt,name=defaultMode"`
+ // defaultUser is Optional: The owner UID of the created files by default.
+ // The defaultUser field is only used as a fallback when the item-level user field is unset.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ DefaultUser *int64 `json:"defaultUser,omitempty" protobuf:"varint,3,opt,name=defaultUser"`
}
// Projection that may be projected along with other supported volume types.
@@ -2181,6 +2334,12 @@ type KeyToPath struct {
// mode, like fsGroup, and the result can be other mode bits set.
// +optional
Mode *int32 `json:"mode,omitempty" protobuf:"varint,3,opt,name=mode"`
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ User *int64 `json:"user,omitempty" protobuf:"varint,4,opt,name=user"`
}
// Local represents directly-attached storage with node affinity
@@ -2331,6 +2490,7 @@ type PersistentVolumeClaimTemplate struct {
// validation.
//
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// The specification for the PersistentVolumeClaim. The entire content is
@@ -2392,8 +2552,7 @@ type VolumeMount struct {
// If this field is not specified, it is treated as an equivalent of Disabled.
// +optional
RecursiveReadOnly *RecursiveReadOnlyMode `json:"recursiveReadOnly,omitempty" protobuf:"bytes,7,opt,name=recursiveReadOnly,casttype=RecursiveReadOnlyMode"`
- // Path within the container at which the volume should be mounted. Must
- // not contain ':'.
+ // Path within the container at which the volume should be mounted.
MountPath string `json:"mountPath" protobuf:"bytes,3,opt,name=mountPath"`
// Path within the volume from which the container's volume should be mounted.
// Defaults to "" (volume's root).
@@ -2413,8 +2572,30 @@ type VolumeMount struct {
// SubPathExpr and SubPath are mutually exclusive.
// +optional
SubPathExpr string `json:"subPathExpr,omitempty" protobuf:"bytes,6,opt,name=subPathExpr"`
+ // bindMountOptions is the list of additional bind mount options to apply when
+ // mounting this volume into the container. Allowed values are noexec,
+ // nodev, and nosuid. These are Linux mount options and have no effect on
+ // Windows nodes.
+ // This field is not supported with image volumes.
+ // This is an alpha field and requires enabling the VolumeBindMountOptions feature gate.
+ // +featureGate=VolumeBindMountOptions
+ // +optional
+ // +listType=set
+ BindMountOptions []string `json:"bindMountOptions,omitempty" protobuf:"bytes,8,rep,name=bindMountOptions"`
}
+// BindMountOption defines the supported bind mount options.
+type BindMountOption string
+
+const (
+ // BindMountOptionNoExec prevents execution of binaries on the mounted volume.
+ BindMountOptionNoExec BindMountOption = "noexec"
+ // BindMountOptionNoDev ignores device special files on the mounted volume.
+ BindMountOptionNoDev BindMountOption = "nodev"
+ // BindMountOptionNoSUID ignores set-user-identifier or set-group-identifier bits on the mounted volume.
+ BindMountOptionNoSUID BindMountOption = "nosuid"
+)
+
// MountPropagationMode describes mount propagation.
// +enum
type MountPropagationMode string
@@ -2563,8 +2744,9 @@ type ResourceFieldSelector struct {
// +structType=atomic
type ConfigMapKeySelector struct {
// The ConfigMap to select from.
- LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"`
- // The key to select.
+ LocalObjectReference `json:"" protobuf:"bytes,1,opt,name=localObjectReference"`
+ // The key to select from the ConfigMap's Data field.
+ // Keys in the BinaryData field are not currently propagated to container env vars.
Key string `json:"key" protobuf:"bytes,2,opt,name=key"`
// Specify whether the ConfigMap or its key must be defined
// +optional
@@ -2575,7 +2757,7 @@ type ConfigMapKeySelector struct {
// +structType=atomic
type SecretKeySelector struct {
// The name of the secret in the pod's namespace to select from.
- LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"`
+ LocalObjectReference `json:"" protobuf:"bytes,1,opt,name=localObjectReference"`
// The key of the secret to select from. Must be a valid secret key.
Key string `json:"key" protobuf:"bytes,2,opt,name=key"`
// Specify whether the Secret or its key must be defined
@@ -2602,9 +2784,10 @@ type EnvFromSource struct {
//
// The contents of the target ConfigMap's Data field will represent the
// key-value pairs as environment variables.
+// Keys in the BinaryData field are not currently propagated to container env vars.
type ConfigMapEnvSource struct {
// The ConfigMap to select from.
- LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"`
+ LocalObjectReference `json:"" protobuf:"bytes,1,opt,name=localObjectReference"`
// Specify whether the ConfigMap must be defined
// +optional
Optional *bool `json:"optional,omitempty" protobuf:"varint,2,opt,name=optional"`
@@ -2617,7 +2800,7 @@ type ConfigMapEnvSource struct {
// key-value pairs as environment variables.
type SecretEnvSource struct {
// The Secret to select from.
- LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"`
+ LocalObjectReference `json:"" protobuf:"bytes,1,opt,name=localObjectReference"`
// Specify whether the Secret must be defined
// +optional
Optional *bool `json:"optional,omitempty" protobuf:"varint,2,opt,name=optional"`
@@ -2632,6 +2815,19 @@ type HTTPHeader struct {
Value string `json:"value" protobuf:"bytes,2,opt,name=value"`
}
+// HTTPProtocol selects the wire protocol for the HTTP probe,
+// independently of the URI scheme.
+// +enum
+type HTTPProtocol string
+
+const (
+ // HTTPProtocolHTTP1 uses HTTP/1.1 (the existing default).
+ HTTPProtocolHTTP1 HTTPProtocol = "HTTP1"
+ // HTTPProtocolHTTP2 uses HTTP/2.
+ // Currently, only cleartext with prior knowledge (h2c) is supported, and must be used with scheme HTTP.
+ HTTPProtocolHTTP2 HTTPProtocol = "HTTP2"
+)
+
// HTTPGetAction describes an action based on HTTP Get requests.
type HTTPGetAction struct {
// Path to access on the HTTP server.
@@ -2653,6 +2849,11 @@ type HTTPGetAction struct {
// +optional
// +listType=atomic
HTTPHeaders []HTTPHeader `json:"httpHeaders,omitempty" protobuf:"bytes,5,rep,name=httpHeaders"`
+ // Protocol selects the wire protocol for the probe connection.
+ // Nil defaults to HTTP/1.1.
+ // +optional
+ // +featureGate=H2CContainerProbe
+ Protocol *HTTPProtocol `json:"protocol,omitempty" protobuf:"bytes,6,opt,name=protocol,casttype=HTTPProtocol"`
}
// URIScheme identifies the scheme used for connection to a host for Get actions
@@ -2689,8 +2890,29 @@ type GRPCAction struct {
// +optional
// +default=""
Service *string `json:"service" protobuf:"bytes,2,opt,name=service"`
+
+ // mode specifies the connection mode for the gRPC health probe.
+ // Set to "TLS" to use TLS without certificate verification.
+ // Set to "Plaintext" to use a plaintext (insecure) connection explicitly.
+ // If not specified, the probe uses a plaintext (insecure) connection.
+ // +featureGate=GRPCContainerProbeTLS
+ // +optional
+ Mode *GRPCProbeMode `json:"mode,omitempty" protobuf:"bytes,3,opt,name=mode,casttype=GRPCProbeMode"`
}
+// GRPCProbeMode describes the connection mode for a gRPC probe.
+// +enum
+type GRPCProbeMode string
+
+const (
+ // GRPCProbeModePlaintext indicates that the probe should use a plaintext
+ // (insecure) gRPC connection.
+ GRPCProbeModePlaintext GRPCProbeMode = "Plaintext"
+ // GRPCProbeModeTLS indicates that the probe should connect using TLS
+ // without certificate verification.
+ GRPCProbeModeTLS GRPCProbeMode = "TLS"
+)
+
// ExecAction describes a "run in container" action.
type ExecAction struct {
// Command is the command line to execute inside the container, the working directory for the
@@ -2713,7 +2935,7 @@ type SleepAction struct {
// alive or ready to receive traffic.
type Probe struct {
// The action taken to determine the health of a container
- ProbeHandler `json:",inline" protobuf:"bytes,1,opt,name=handler"`
+ ProbeHandler `json:"" protobuf:"bytes,1,opt,name=handler"`
// Number of seconds after the container has started before liveness probes are initiated.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
// +optional
@@ -3363,7 +3585,6 @@ type ContainerStatus struct {
// AllocatedResources represents the compute resources allocated for this container by the
// node. Kubelet sets this value to Container.Resources.Requests upon successful pod admission
// and after successfully admitting desired pod resize.
- // +featureGate=InPlacePodVerticalScalingAllocatedStatus
// +optional
AllocatedResources ResourceList `json:"allocatedResources,omitempty" protobuf:"bytes,10,rep,name=allocatedResources,casttype=ResourceList,castkey=ResourceName"`
// Resources represents the compute resource requests and limits that have been successfully
@@ -3400,8 +3621,13 @@ type ContainerStatus struct {
// ResourceStatus represents the status of a single resource allocated to a Pod.
type ResourceStatus struct {
// Name of the resource. Must be unique within the pod and in case of non-DRA resource, match one of the resources from the pod spec.
- // For DRA resources, the value must be "claim:/".
- // When this status is reported about a container, the "claim_name" and "request" must match one of the claims of this container.
+ // For DRA resources, the value must be "claim:/" when
+ // container.resources.claims[*].request is set or "claim:" when
+ // container.resources.claims[*].request is empty.
+ // For DRA-backed extended resources, "claim:/" is used
+ // when the claim name and request name are recorded in pod.status.extendedResourceClaimStatus.
+ // When this status is reported about a container, the "claim_name" and "request"
+ // must match one of the claims of this container.
// +required
Name ResourceName `json:"name" protobuf:"bytes,1,opt,name=name"`
// List of unique resources health. Each element in the list contains an unique resource ID and its health.
@@ -3421,6 +3647,10 @@ const (
ResourceHealthStatusUnknown ResourceHealthStatus = "Unknown"
)
+// ResourceHealthMessageMaxLength is the maximum length for ResourceHealth.Message field.
+// Messages longer than this will be truncated with "..." appended.
+const ResourceHealthMessageMaxLength = 1024
+
// ResourceID is calculated based on the source of this resource health information.
// For DevicePlugin:
//
@@ -3448,6 +3678,11 @@ type ResourceHealth struct {
//
// In future we may want to introduce the PermanentlyUnhealthy Status.
Health ResourceHealthStatus `json:"health,omitempty" protobuf:"bytes,2,name=health"`
+ // Message provides human-readable context for Health (e.g. "ECC error count exceeded threshold").
+ // This field is populated by the kubelet when ResourceHealthStatusMessage is enabled if the DRA plugin returns a message, and is null otherwise.
+ // +featureGate=ResourceHealthStatusMessage
+ // +optional
+ Message *string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}
// ContainerUser represents user identity information
@@ -3575,8 +3810,6 @@ type PodCondition struct {
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
Type PodConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=PodConditionType"`
// If set, this represents the .metadata.generation that the pod condition was set based upon.
- // The PodObservedGenerationTracking feature gate must be enabled to use this field.
- // +featureGate=PodObservedGenerationTracking
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,7,opt,name=observedGeneration"`
// Status is the status of the condition.
@@ -3623,6 +3856,29 @@ type VolumeMountStatus struct {
// depending on the mount result.
// +optional
RecursiveReadOnly *RecursiveReadOnlyMode `json:"recursiveReadOnly,omitempty" protobuf:"bytes,4,opt,name=recursiveReadOnly,casttype=RecursiveReadOnlyMode"`
+ // volumeStatus represents volume-type-specific status about the mounted
+ // volume.
+ // +optional
+ VolumeStatus *VolumeStatus `json:"volumeStatus,omitempty" protobuf:"bytes,5,opt,name=volumeStatus"`
+}
+
+// VolumeStatus represents the status of a mounted volume.
+// At most one of its members must be specified.
+type VolumeStatus struct {
+ // image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
+ // +featureGate=ImageVolumeWithDigest
+ // +optional
+ Image *ImageVolumeStatus `json:"image,omitempty" protobuf:"bytes,1,opt,name=image"`
+}
+
+// ImageVolumeStatus represents the image-based volume status.
+type ImageVolumeStatus struct {
+ // ImageRef is the digest of the image used for this volume.
+ // It should have a value that's similar to the pod's status.containerStatuses[i].imageID.
+ // The ImageRef length should not exceed 256 characters.
+ // +kubebuilder:validation:MaxLength=256
+ // +required
+ ImageRef string `json:"imageRef,omitempty" protobuf:"bytes,1,opt,name=imageRef"`
}
// RestartPolicy describes how the container should be restarted.
@@ -4055,6 +4311,8 @@ type Toleration struct {
// Key is the taint key that the toleration applies to. Empty means match all taint keys.
// If the key is empty, operator must be Exists; this combination means to match all values and all keys.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:format=k8s-label-key
Key string `json:"key,omitempty" protobuf:"bytes,1,opt,name=key"`
// Operator represents a key's relationship to the value.
// Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal.
@@ -4185,7 +4443,6 @@ type PodSpec struct {
ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"`
// DeprecatedServiceAccount is a deprecated alias for ServiceAccountName.
// Deprecated: Use serviceAccountName instead.
- // +k8s:conversion-gen=false
// +optional
DeprecatedServiceAccount string `json:"serviceAccount,omitempty" protobuf:"bytes,9,opt,name=serviceAccount"`
// AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
@@ -4204,17 +4461,14 @@ type PodSpec struct {
// When `hostNetwork` is true, specified `hostPort` fields in port definitions must match `containerPort`,
// and unspecified `hostPort` fields in port definitions are defaulted to match `containerPort`.
// Default to false.
- // +k8s:conversion-gen=false
// +optional
HostNetwork bool `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"`
// Use the host's pid namespace.
// Optional: Default to false.
- // +k8s:conversion-gen=false
// +optional
HostPID bool `json:"hostPID,omitempty" protobuf:"varint,12,opt,name=hostPID"`
// Use the host's ipc namespace.
// Optional: Default to false.
- // +k8s:conversion-gen=false
// +optional
HostIPC bool `json:"hostIPC,omitempty" protobuf:"varint,13,opt,name=hostIPC"`
// Share a single process namespace between all of the containers in a pod.
@@ -4222,7 +4476,6 @@ type PodSpec struct {
// in the same pod, and the first process in each container will not be assigned PID 1.
// HostPID and ShareProcessNamespace cannot both be set.
// Optional: Default to false.
- // +k8s:conversion-gen=false
// +optional
ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"`
// SecurityContext holds pod-level security attributes and common container settings.
@@ -4256,6 +4509,7 @@ type PodSpec struct {
// If specified, the pod's tolerations.
// +optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Tolerations []Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
// file if specified.
@@ -4306,6 +4560,8 @@ type PodSpec struct {
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"`
// PreemptionPolicy is the Policy for preempting pods with lower priority.
// One of Never, PreemptLowerPriority.
+ // When Priority Admission Controller is enabled, it prevents users from setting
+ // this field. The admission controller populates this field from PriorityClassName.
// Defaults to PreemptLowerPriority if unset.
// +optional
PreemptionPolicy *PreemptionPolicy `json:"preemptionPolicy,omitempty" protobuf:"bytes,31,opt,name=preemptionPolicy"`
@@ -4378,8 +4634,6 @@ type PodSpec struct {
// When set to false, a new userns is created for the pod. Setting false is useful for
// mitigating container breakout vulnerabilities even allowing users to run their
// containers as root without actually having root privileges on the host.
- // This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.
- // +k8s:conversion-gen=false
// +optional
HostUsers *bool `json:"hostUsers,omitempty" protobuf:"bytes,37,opt,name=hostUsers"`
@@ -4435,22 +4689,59 @@ type PodSpec struct {
// - `hostNetwork` must be set to false.
//
// This field must be a valid DNS subdomain as defined in RFC 1123 and contain at most 64 characters.
- // Requires the HostnameOverride feature gate to be enabled.
//
// +featureGate=HostnameOverride
// +optional
HostnameOverride *string `json:"hostnameOverride,omitempty" protobuf:"bytes,41,opt,name=hostnameOverride"`
- // WorkloadRef provides a reference to the Workload object that this Pod belongs to.
- // This field is used by the scheduler to identify the PodGroup and apply the
- // correct group scheduling policies. The Workload object referenced
- // by this field may not exist at the time the Pod is created.
- // This field is immutable, but a Workload object with the same name
- // may be recreated with different policies. Doing this during pod scheduling
+
+ // WorkloadRef is tombstoned to show why 42 is a reserved protobuf tag.
+ // This field got replaced with the SchedulingGroup field in Kubernetes 1.36.
+ // WorkloadRef *WorkloadReference `json:"workloadRef,omitempty" protobuf:"bytes,42,opt,name=workloadRef"`
+
+ // SchedulingGroup provides a reference to the immediate scheduling runtime
+ // grouping object that this Pod belongs to.
+ // This field is used by the scheduler to identify the group and apply the
+ // correct group scheduling policies. The association with a group also
+ // impacts other lifecycle aspects of a Pod that are relevant in a wider context
+ // of scheduling like preemption, resource attachment, etc. If not specified,
+ // the Pod is treated as a single unit in all of these aspects.
+ // The group object referenced by this field may not exist at the time the
+ // Pod is created.
+ // This field is immutable, but a group object with the same name may be
+ // recreated with different policies. Doing this during pod scheduling
// may result in the placement not conforming to the expected policies.
//
// +featureGate=GenericWorkload
// +optional
- WorkloadRef *WorkloadReference `json:"workloadRef,omitempty" protobuf:"bytes,42,opt,name=workloadRef"`
+ SchedulingGroup *PodSchedulingGroup `json:"schedulingGroup,omitempty" protobuf:"bytes,43,opt,name=schedulingGroup"`
+
+ // evictionResponders reference responders that react to Evictions based on EvictionRequests.
+ // Responders should observe and communicate through the Eviction Resource API to help with
+ // the graceful termination of a pod. The responders are selected sequentially, according to
+ // their specified priority.
+ //
+ // Responders should periodically report on an eviction progress by updating the
+ // .status.responders[].heartbeatTime field of the Eviction object. If this field is not updated
+ // within the heartbeat deadline defined by the Eviction API (currently 20 minutes), the eviction
+ // is passed over to the next responder with a lower priority. If there is no other responder,
+ // the last default imperative-eviction.k8s.io/evictor responder with a priority of 100 will
+ // evict the pod using the imperative Eviction API (pods//eviction subresource).
+ //
+ // The maximum length of the responders list is 10.
+ // Responders are not supported when the pod is part of a PodGroup (.spec.schedulingGroup is set).
+ // This field can only be set on creation and is immutable afterwards.
+ // +featureGate=EvictionRequestAPI
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=10
+ // +k8s:alpha(since: "1.37")=+k8s:dependentForbidden("schedulingGroup")
+ EvictionResponders []EvictionResponder `json:"evictionResponders,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,44,rep,name=evictionResponders"`
}
// PodResourceClaim references exactly one ResourceClaim, either directly
@@ -4459,6 +4750,14 @@ type PodSpec struct {
//
// It adds a name to it that uniquely identifies the ResourceClaim inside the Pod.
// Containers that need access to the ResourceClaim reference it with this name.
+//
+// When the DRAWorkloadResourceClaims feature gate is enabled and this Pod
+// belongs to a PodGroup, a PodResourceClaim is matched to a
+// PodGroupResourceClaim if all of their fields are equal (Name,
+// ResourceClaimName, and ResourceClaimTemplateName). A matched claim references
+// a single ResourceClaim shared across all Pods in the PodGroup, reserved for
+// the PodGroup in ResourceClaimStatus.ReservedFor rather than for individual
+// Pods.
type PodResourceClaim struct {
// Name uniquely identifies this resource claim inside the pod.
// This must be a DNS_LABEL.
@@ -4485,6 +4784,16 @@ type PodResourceClaim struct {
// generated component, will be used to form a unique name for the
// ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
//
+ // When the DRAWorkloadResourceClaims feature gate is enabled and the pod
+ // belongs to a PodGroup that defines a PodGroupResourceClaim with the same
+ // Name and ResourceClaimTemplateName, this PodResourceClaim resolves to the
+ // ResourceClaim generated for the PodGroup. All pods in the group that
+ // define an equivalent PodResourceClaim matching the
+ // PodGroupResourceClaim's Name and ResourceClaimTemplateName share the same
+ // generated ResourceClaim. ResourceClaims generated for a PodGroup are
+ // owned by the PodGroup and their lifecycles are tied to the PodGroup
+ // instead of any individual pod.
+ //
// This field is immutable and no changes will be made to the
// corresponding ResourceClaim by the control plane after creating the
// ResourceClaim.
@@ -4504,9 +4813,16 @@ type PodResourceClaimStatus struct {
Name string `json:"name" protobuf:"bytes,1,name=name"`
// ResourceClaimName is the name of the ResourceClaim that was
- // generated for the Pod in the namespace of the Pod. If this is
- // unset, then generating a ResourceClaim was not necessary. The
- // pod.spec.resourceClaims entry can be ignored in this case.
+ // generated for the Pod in the namespace of the Pod.
+ //
+ // When the DRAWorkloadResourceClaims feature is enabled and the
+ // corresponding PodResourceClaim matches a PodGroupResourceClaim
+ // made by the Pod's PodGroup, then this is the name of the
+ // ResourceClaim generated and reserved for the PodGroup.
+ //
+ // If this is unset, then generating a ResourceClaim was not
+ // necessary. The pod.spec.resourceClaims entry can be ignored in
+ // this case.
//
// +optional
ResourceClaimName *string `json:"resourceClaimName,omitempty" protobuf:"bytes,2,opt,name=resourceClaimName"`
@@ -4562,34 +4878,18 @@ type PodSchedulingGate struct {
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
-// WorkloadReference identifies the Workload object and PodGroup membership
-// that a Pod belongs to. The scheduler uses this information to apply
-// workload-aware scheduling semantics.
-type WorkloadReference struct {
- // Name defines the name of the Workload object this Pod belongs to.
- // Workload must be in the same namespace as the Pod.
- // If it doesn't match any existing Workload, the Pod will remain unschedulable
- // until a Workload object is created and observed by the kube-scheduler.
- // It must be a DNS subdomain.
- //
- // +required
- Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
-
- // PodGroup is the name of the PodGroup within the Workload that this Pod
- // belongs to. If it doesn't match any existing PodGroup within the Workload,
- // the Pod will remain unschedulable until the Workload object is recreated
- // and observed by the kube-scheduler. It must be a DNS label.
- //
- // +required
- PodGroup string `json:"podGroup" protobuf:"bytes,2,opt,name=podGroup"`
-
- // PodGroupReplicaKey specifies the replica key of the PodGroup to which this
- // Pod belongs. It is used to distinguish pods belonging to different replicas
- // of the same pod group. The pod group policy is applied separately to each replica.
- // When set, it must be a DNS label.
+// PodSchedulingGroup identifies the runtime scheduling group instance that a Pod belongs to.
+// The scheduler uses this information to apply workload-aware scheduling semantics.
+// Exactly one field must be specified.
+// +union
+type PodSchedulingGroup struct {
+ // PodGroupName specifies the name of the standalone PodGroup object
+ // that represents the runtime instance of this group.
+ // Must be a DNS subdomain.
//
// +optional
- PodGroupReplicaKey string `json:"podGroupReplicaKey,omitempty" protobuf:"bytes,3,opt,name=podGroupReplicaKey"`
+ // +oneOf=GroupSelection
+ PodGroupName *string `json:"podGroupName,omitempty" protobuf:"bytes,1,opt,name=podGroupName"`
}
// +enum
@@ -4909,11 +5209,8 @@ type PodSecurityContext struct {
// Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
// whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
// CSIDriver instance. Other volumes are always re-labelled recursively.
- // "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
//
- // If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
- // If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
- // and "Recursive" for all other volumes.
+ // If not specified, "MountOption" is used.
//
// This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
//
@@ -5233,7 +5530,7 @@ type EphemeralContainer struct {
// specific to ephemeral containers. Fields in common with Container are in the
// following inlined struct so than an EphemeralContainer may easily be converted
// to a Container.
- EphemeralContainerCommon `json:",inline" protobuf:"bytes,1,req"`
+ EphemeralContainerCommon `json:"" protobuf:"bytes,1,req"`
// If set, the name of the container from PodSpec that this ephemeral container targets.
// The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container.
@@ -5245,13 +5542,49 @@ type EphemeralContainer struct {
TargetContainerName string `json:"targetContainerName,omitempty" protobuf:"bytes,2,opt,name=targetContainerName"`
}
+// EvictionResponder allows you to specify the responder reacting to an Eviction.
+// Responders should observe and communicate through the Eviction Resource API to help with
+// the graceful eviction of a target (e.g. termination of a pod).
+// +structType=atomic
+type EvictionResponder struct {
+ // name allows you to identify the responder responding to the Eviction.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // Domain names *.k8s.io and *.kubernetes.io are reserved.
+ // This field must be unique for each responder.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-prefixed-label-key
+ // +k8s:customValidation
+ Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
+
+ // priority for this responder. Higher priorities are selected first by the evictionrequest-controller.
+ // If there are responders with the same priority, the responder whose domain name comes first in the
+ // alphabetical higher domain order, will be picked. This means that the top domain labels are compared
+ // alphabetically first, followed by the lower domain labels. The key is compared last.
+ //
+ // The responder that is the managing controller of the pod should set the value of
+ // this field to 10000 to allow both for preemption or fallback registration by other
+ // responders.
+ //
+ // The minimum value is 0 and the maximum value is 100000.
+ // The interval 0-999 is reserved for responders with *.k8s.io suffix.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:minimum=0
+ // +k8s:maximum=100000
+ // +k8s:customValidation
+ Priority *int32 `json:"priority" protobuf:"varint,2,opt,name=priority"`
+}
+
// PodStatus represents information about the status of a pod. Status may trail the actual
// state of a system, especially if the node that hosts the pod cannot contact the control
// plane.
type PodStatus struct {
// If set, this represents the .metadata.generation that the pod status was set based upon.
// The PodObservedGenerationTracking feature gate must be enabled to use this field.
- // +featureGate=PodObservedGenerationTracking
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,17,opt,name=observedGeneration"`
// The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle.
@@ -5414,25 +5747,33 @@ type PodStatus struct {
// +featureGate=InPlacePodLevelResourcesVerticalScaling
// +optional
Resources *ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,20,opt,name=resources"`
-}
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.0
-
-// PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded
-type PodStatusResult struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
+ // NodeAllocatableResourceClaimStatuses contains the status of node-allocatable resources
+ // that were allocated for this pod through DRA claims. This includes resources currently
+ // reported in v1.Node `status.allocatable` that are not extended resources
+ // (see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#extended-resources).
+ // Examples include "cpu", "memory", "ephemeral-storage", and hugepages.
+ // +featureGate=DRANodeAllocatableResources
// +optional
- metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Most recently observed status of the pod.
- // This data may not be up to date.
- // Populated by the system.
- // Read-only.
- // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +patchStrategy=merge
+ // +patchMergeKey=resourceClaimName
+ // +listType=map
+ // +listMapKey=resourceClaimName
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=resourceClaimName
+ NodeAllocatableResourceClaimStatuses []NodeAllocatableResourceClaimStatus `json:"nodeAllocatableResourceClaimStatuses,omitempty" patchStrategy:"merge" patchMergeKey:"resourceClaimName" protobuf:"bytes,21,rep,name=nodeAllocatableResourceClaimStatuses"`
+
+ // volumeHealth contains node-reported health for each volume the pod is using.
+ // Populated by the kubelet on the pod's node.
+ // +featureGate=CSIVolumeHealth
// +optional
- Status PodStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ VolumeHealth []PodVolumeHealth `json:"volumeHealth,omitempty" protobuf:"bytes,22,rep,name=volumeHealth"`
}
// +genclient
@@ -5443,8 +5784,12 @@ type PodStatusResult struct {
// Pod is a collection of containers that can run on a host. This resource is created
// by clients and scheduled onto hosts.
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/ephemeralcontainers"
+// +k8s:supportsSubresource="/resize"
+// +k8s:supportsSubresource="/eviction"
type Pod struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -5469,7 +5814,7 @@ type Pod struct {
// PodList is a list of Pods.
type PodList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -5485,6 +5830,7 @@ type PodTemplateSpec struct {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the pod.
@@ -5499,7 +5845,7 @@ type PodTemplateSpec struct {
// PodTemplate describes a template for creating copies of a predefined pod.
type PodTemplate struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -5516,7 +5862,7 @@ type PodTemplate struct {
// PodTemplateList is a list of PodTemplates.
type PodTemplateList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -5533,18 +5879,18 @@ type ReplicationControllerSpec struct {
// Defaults to 1.
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=1
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
// Minimum number of seconds for which a newly created pod should be ready
// without any of its container crashing, for it to be considered available.
// Defaults to 0 (pod will be considered available as soon as it is ready)
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,4,opt,name=minReadySeconds"`
// Selector is a label query over pods that should match the Replicas count.
@@ -5567,6 +5913,7 @@ type ReplicationControllerSpec struct {
// The only allowed template.spec.restartPolicy value is "Always".
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Template *PodTemplateSpec `json:"template,omitempty" protobuf:"bytes,3,opt,name=template"`
}
@@ -5634,18 +5981,19 @@ type ReplicationControllerCondition struct {
// +genclient:method=UpdateScale,verb=update,subresource=scale,input=k8s.io/api/autoscaling/v1.Scale,result=k8s.io/api/autoscaling/v1.Scale
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.0
-// +k8s:supportsSubresource=/scale
+// +k8s:supportsSubresource="/scale"
+// +k8s:supportsSubresource="/status"
// ReplicationController represents the configuration of a replication controller.
type ReplicationController struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// If the Labels of a ReplicationController are empty, they are defaulted to
// be the same as the Pod(s) that the replication controller manages.
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
- // +k8s:subfield(name)=+k8s:optional
- // +k8s:subfield(name)=+k8s:format=k8s-long-name
+ // +k8s:beta(since: "1.37")=+k8s:subfield(name)=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:subfield(name)=+k8s:format=k8s-long-name
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec defines the specification of the desired behavior of the replication controller.
@@ -5667,7 +6015,7 @@ type ReplicationController struct {
// ReplicationControllerList is a collection of replication controllers.
type ReplicationControllerList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -5827,6 +6175,7 @@ type ServiceStatus struct {
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"`
}
@@ -6231,8 +6580,10 @@ type ServicePort struct {
// Service is a named abstraction of software service (for example, mysql) consisting of local port
// (for example 3306) that the proxy listens on, and the selector that determines which pods
// will answer requests sent through the proxy.
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/proxy"
type Service struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -6262,7 +6613,7 @@ const (
// ServiceList holds a list of services.
type ServiceList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -6282,7 +6633,7 @@ type ServiceList struct {
// * a principal that can be authenticated and authorized
// * a set of secrets
type ServiceAccount struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -6321,7 +6672,7 @@ type ServiceAccount struct {
// ServiceAccountList is a list of ServiceAccount objects
type ServiceAccountList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -6355,7 +6706,7 @@ type ServiceAccountList struct {
//
// Deprecated: This API is deprecated in v1.33+. Use discoveryv1.EndpointSlice.
type Endpoints struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -6470,7 +6821,7 @@ type EndpointPort struct {
// EndpointsList is a list of endpoints.
// Deprecated: This API is deprecated in v1.33+.
type EndpointsList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -6496,6 +6847,9 @@ type NodeSpec struct {
// ID of the node assigned by the cloud provider in the format: ://
// +optional
+ // +k8s:alpha(since: "1.36")=+k8s:optional
+ // +k8s:alpha(since: "1.36")=+k8s:update=NoModify
+ // +k8s:alpha(since: "1.36")=+k8s:update=NoUnset
ProviderID string `json:"providerID,omitempty" protobuf:"bytes,3,opt,name=providerID"`
// Unschedulable controls node schedulability of new pods. By default, node is schedulable.
// More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
@@ -6514,6 +6868,29 @@ type NodeSpec struct {
// see: https://issues.k8s.io/61966
// +optional
DoNotUseExternalID string `json:"externalID,omitempty" protobuf:"bytes,2,opt,name=externalID"`
+
+ // PodPreemptionPolicy controls the node-level preemption behaviors for pods on this node.
+ // This is an alpha field and requires enabling the InPlacePodVerticalScalingSchedulerPreemption feature gate.
+ // +featureGate=InPlacePodVerticalScalingSchedulerPreemption
+ // +optional
+ // +k8s:optional
+ // +k8s:ifDisabled(InPlacePodVerticalScalingSchedulerPreemption)=+k8s:forbidden
+ PodPreemptionPolicy *NodePodPreemptionPolicy `json:"podPreemptionPolicy,omitempty" protobuf:"bytes,8,opt,name=podPreemptionPolicy"`
+}
+
+// NodePodPreemptionPolicy defines the node-level policies governing preemption for pods on this node.
+type NodePodPreemptionPolicy struct {
+ // DisableResizePreemption lists the owners (e.g., autoscalers, operators, administrators)
+ // that have requested to disable scheduler and Kubelet preemption for in-place pod resize on this node.
+ // If this list is non-empty, resize-induced preemption is disabled on this node.
+ // This is an alpha field and requires enabling the InPlacePodVerticalScalingSchedulerPreemption feature gate.
+ // +listType=set
+ // +k8s:listType=set
+ // +optional
+ // +k8s:maxItems=20
+ // +k8s:optional
+ // +k8s:eachVal=+k8s:format=k8s-label-key
+ DisableResizePreemption []string `json:"disableResizePreemption,omitempty" protobuf:"bytes,1,rep,name=disableResizePreemption"`
}
// NodeConfigSource specifies a source of node configuration. Exactly one subfield (excluding metadata) must be non-nil.
@@ -6585,7 +6962,6 @@ type NodeRuntimeHandlerFeatures struct {
// +optional
RecursiveReadOnlyMounts *bool `json:"recursiveReadOnlyMounts,omitempty" protobuf:"varint,1,opt,name=recursiveReadOnlyMounts"`
// UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes.
- // +featureGate=UserNamespacesSupport
// +optional
UserNamespaces *bool `json:"userNamespaces,omitempty" protobuf:"varint,2,opt,name=userNamespaces"`
}
@@ -6638,6 +7014,10 @@ type NodeSystemInfo struct {
Architecture string `json:"architecture" protobuf:"bytes,10,opt,name=architecture"`
// Swap Info reported by the node.
Swap *NodeSwapStatus `json:"swap,omitempty" protobuf:"bytes,11,opt,name=swap"`
+ // Whether the node is running in a user namespace.
+ // +featureGate=KubeletInUserNamespace
+ // +optional
+ RunningInUserNamespace *bool `json:"runningInUserNamespace,omitempty" protobuf:"varint,12,opt,name=runningInUserNamespace"`
}
// NodeSwapStatus represents swap memory information.
@@ -6756,7 +7136,6 @@ type NodeStatus struct {
// +optional
Config *NodeConfigStatus `json:"config,omitempty" protobuf:"bytes,11,opt,name=config"`
// The available runtime handlers.
- // +featureGate=UserNamespacesSupport
// +optional
// +listType=atomic
RuntimeHandlers []NodeRuntimeHandler `json:"runtimeHandlers,omitempty" protobuf:"bytes,12,rep,name=runtimeHandlers"`
@@ -6856,6 +7235,37 @@ const (
NodePIDPressure NodeConditionType = "PIDPressure"
// NodeNetworkUnavailable means that network for the node is not correctly configured.
NodeNetworkUnavailable NodeConditionType = "NetworkUnavailable"
+ // NodeGracefulNodeShutdownInProgress reports whether Graceful Node Shutdown is determined to be in progress on this Node.
+ //
+ // The admin is responsible for setting and clearing this condition.
+ NodeGracefulNodeShutdownInProgress NodeConditionType = "GracefulNodeShutdownInProgress"
+ // NodeDrainInProgress reports that this Node is actively being drained,
+ // according to the admin's definition of drain.
+ // Commonly, this involves removing some amount of Pods, volumes, and networks.
+ //
+ // The admin is responsible for setting and clearing this condition.
+ NodeDrainInProgress NodeConditionType = "DrainInProgress"
+ // NodeDrained reports that this Node has reached the drain criteria selected by the admin.
+ //
+ // The admin is responsible for setting and clearing this condition.
+ NodeDrained NodeConditionType = "Drained"
+ // NodeMaintenancePlanned reports that this Node is expected to undergo a change in the future.
+ // If this change impacts Node users, the admin should drain the Node first.
+ //
+ // Admins can use the Node maintenance condition for cases like hardware or software rollout,
+ // remediation, decommissioning, or debugging.
+ //
+ // The admin is responsible for setting and clearing this condition.
+ NodeMaintenancePlanned NodeConditionType = "MaintenancePlanned"
+ // NodeMaintenanceInProgress reports that this Node is actively undergoing maintenance.
+ //
+ // The admin decides whether the change will impact Node users and require a Node drain.
+ // For example, it is recommended to drain a Node before a Kubernetes upgrade.
+ // In contrast, a kernel live patch may not require a Node drain, but it can still be useful
+ // to communicate that maintenance is in progress.
+ //
+ // The admin is responsible for setting and clearing this condition.
+ NodeMaintenanceInProgress NodeConditionType = "MaintenanceInProgress"
)
// NodeCondition contains condition information for a node.
@@ -6968,8 +7378,10 @@ type ResourceList map[ResourceName]resource.Quantity
// Node is a worker node in Kubernetes.
// Each node will have a unique identifier in the cache (i.e. in etcd).
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/proxy"
type Node struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -6993,7 +7405,7 @@ type Node struct {
// NodeList is the whole list of all Nodes which have been registered with master.
type NodeList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -7095,8 +7507,10 @@ type NamespaceCondition struct {
// Namespace provides a scope for Names.
// Use of multiple namespaces is optional.
+// +k8s:supportsSubresource="/status"
+// +k8s:supportsSubresource="/finalize"
type Namespace struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -7118,7 +7532,7 @@ type Namespace struct {
// NamespaceList is a list of Namespaces.
type NamespaceList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -7134,10 +7548,11 @@ type NamespaceList struct {
// Binding ties one object to another; for example, a pod is bound to a node by a scheduler.
type Binding struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// The target object that you want to bind to the standard object.
@@ -7167,7 +7582,7 @@ const (
// PodLogOptions is the query options for a Pod's logs REST call.
type PodLogOptions struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// The container for which to stream logs. Defaults to only container if there is one container in the pod.
// +optional
@@ -7232,7 +7647,7 @@ type PodLogOptions struct {
// TODO: merge w/ PodExecOptions below for stdin, stdout, etc
// and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY
type PodAttachOptions struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Stdin if true, redirects the standard input stream of the pod for this call.
// Defaults to false.
@@ -7271,7 +7686,7 @@ type PodAttachOptions struct {
// TODO: This is largely identical to PodAttachOptions above, make sure they stay in sync and see about merging
// and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY
type PodExecOptions struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Redirect the standard input stream of the pod for this call.
// Defaults to false.
@@ -7312,7 +7727,7 @@ type PodExecOptions struct {
// Port forwarding over SPDY does not use these options. It requires the port
// to be passed in the `port` header as part of request.
type PodPortForwardOptions struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// List of ports to forward
// Required when using WebSockets
@@ -7327,7 +7742,7 @@ type PodPortForwardOptions struct {
// PodProxyOptions is the query options to a Pod's proxy call.
type PodProxyOptions struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Path is the URL path to use for the current proxy request to pod.
// +optional
@@ -7340,7 +7755,7 @@ type PodProxyOptions struct {
// NodeProxyOptions is the query options to a Node's proxy call.
type NodeProxyOptions struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Path is the URL path to use for the current proxy request to node.
// +optional
@@ -7353,7 +7768,7 @@ type NodeProxyOptions struct {
// ServiceProxyOptions is the query options to a Service's proxy call.
type ServiceProxyOptions struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Path is the part of URLs that include service endpoints, suffixes,
// and parameters to use for the current proxy request to service.
@@ -7480,7 +7895,7 @@ type TypedLocalObjectReference struct {
// SerializedReference is a reference to serialized object.
type SerializedReference struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// The reference to an object in the system.
// +optional
Reference ObjectReference `json:"reference,omitempty" protobuf:"bytes,1,opt,name=reference"`
@@ -7515,7 +7930,7 @@ const (
// continued existence of events with that Reason. Events should be
// treated as informative, best-effort, supplemental data.
type Event struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"`
@@ -7595,7 +8010,7 @@ type EventSeries struct {
// EventList is a list of events.
type EventList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -7658,7 +8073,7 @@ type LimitRangeSpec struct {
// LimitRange sets resource usage limits for each kind of resource in a Namespace.
type LimitRange struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -7675,7 +8090,7 @@ type LimitRange struct {
// LimitRangeList is a list of LimitRange items.
type LimitRangeList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -7830,8 +8245,9 @@ type ResourceQuotaStatus struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.0
// ResourceQuota sets aggregate quota restrictions enforced per namespace
+// +k8s:supportsSubresource="/status"
type ResourceQuota struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -7853,7 +8269,7 @@ type ResourceQuota struct {
// ResourceQuotaList is a list of ResourceQuota items.
type ResourceQuotaList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -7871,7 +8287,7 @@ type ResourceQuotaList struct {
// Secret holds secret data of a certain type. The total bytes of the values in
// the Data field must be less than MaxSecretSize bytes.
type Secret struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -7902,6 +8318,8 @@ type Secret struct {
// Used to facilitate programmatic handling of secret data.
// More info: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types
// +optional
+ // +k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:immutable
Type SecretType `json:"type,omitempty" protobuf:"bytes,3,opt,name=type,casttype=SecretType"`
}
@@ -7997,7 +8415,7 @@ const (
// SecretList is a list of Secret.
type SecretList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -8014,7 +8432,7 @@ type SecretList struct {
// ConfigMap holds configuration data for pods to consume.
type ConfigMap struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -8042,6 +8460,8 @@ type ConfigMap struct {
// the Data field, this is enforced during validation process.
// Using this field will require 1.10+ apiserver and
// kubelet.
+ // Note: BinaryData keys are not currently propagated to container env vars
+ // via ConfigMapKeyRef or ConfigMapRef env sources; only Data keys are used.
// +optional
BinaryData map[string][]byte `json:"binaryData,omitempty" protobuf:"bytes,3,rep,name=binaryData"`
}
@@ -8051,7 +8471,7 @@ type ConfigMap struct {
// ConfigMapList is a resource containing a list of ConfigMap objects.
type ConfigMapList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -8095,10 +8515,11 @@ type ComponentCondition struct {
// ComponentStatus (and ComponentStatusList) holds the cluster validation info.
// Deprecated: This API is deprecated in v1.19+
type ComponentStatus struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// List of component conditions observed
@@ -8116,7 +8537,7 @@ type ComponentStatus struct {
// Status of all the conditions for the component as a list of ComponentStatus objects.
// Deprecated: This API is deprecated in v1.19+
type ComponentStatusList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -8143,6 +8564,12 @@ type DownwardAPIVolumeSource struct {
// mode, like fsGroup, and the result can be other mode bits set.
// +optional
DefaultMode *int32 `json:"defaultMode,omitempty" protobuf:"varint,2,opt,name=defaultMode"`
+ // defaultUser is Optional: The owner UID of the created files by default.
+ // The defaultUser field is only used as a fallback when the item-level user field is unset.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ DefaultUser *int64 `json:"defaultUser,omitempty" protobuf:"varint,3,opt,name=defaultUser"`
}
const (
@@ -8168,6 +8595,12 @@ type DownwardAPIVolumeFile struct {
// mode, like fsGroup, and the result can be other mode bits set.
// +optional
Mode *int32 `json:"mode,omitempty" protobuf:"varint,4,opt,name=mode"`
+ // user is Optional: The owner UID of the created file.
+ // If specified, the item-level user field takes precedence over defaultUser.
+ // (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.
+ // +featureGate=AtomicWriteVolumeUserFields
+ // +optional
+ User *int64 `json:"user,omitempty" protobuf:"varint,5,opt,name=user"`
}
// Represents downward API info for projecting into a projected volume.
@@ -8247,7 +8680,6 @@ type SecurityContext struct {
// procMount denotes the type of proc mount to use for the containers.
// The default value is Default which uses the container runtime defaults for
// readonly paths and masked paths.
- // This requires the ProcMountType feature flag to be enabled.
// Note that this field cannot be set when spec.os.name is windows.
// +optional
ProcMount *ProcMountType `json:"procMount,omitempty" protobuf:"bytes,9,opt,name=procMount"`
@@ -8327,10 +8759,11 @@ type WindowsSecurityContextOptions struct {
// RangeAllocation is not a public type.
type RangeAllocation struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Range is string that identifies the range represented by 'data'.
@@ -8452,3 +8885,83 @@ type ImageVolumeSource struct {
// +optional
PullPolicy PullPolicy `json:"pullPolicy,omitempty" protobuf:"bytes,2,opt,name=pullPolicy,casttype=PullPolicy"`
}
+
+// NodeAllocatableResourceClaimStatus describes the status of node allocatable resources allocated via DRA.
+type NodeAllocatableResourceClaimStatus struct {
+ // ResourceClaimName is the resource claim referenced by the pod that resulted in this node allocatable resource allocation.
+ // +required
+ // +k8s:required
+ ResourceClaimName string `json:"resourceClaimName" protobuf:"bytes,1,opt,name=resourceClaimName"`
+ // Containers lists the names of all containers in this pod that reference the claim.
+ // +optional
+ // +listType=set
+ // +k8s:optional
+ // +k8s:listType=set
+ Containers []string `json:"containers,omitempty" protobuf:"bytes,2,rep,name=containers"`
+
+ // Resources is tombstoned since it got replaced with more granular Mapping and Overhead fields.
+ // Resources map[ResourceName]resource.Quantity `json:"resources,omitempty" protobuf:"bytes,3,rep,name=resources"`
+
+ // Mapping contains allocations through devices mapped in the device spec's `nodeAllocatableResources[...].mapping` field.
+ // This is used by kubelet for pod level and container-level cgroup enforcement.
+ // +optional
+ // +patchStrategy=merge
+ // +patchMergeKey=name
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ Mapping []NodeAllocatableMappedResources `json:"mapping,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,4,rep,name=mapping"`
+ // Overhead contains allocations through devices mapped in the device spec's `nodeAllocatableResources[...].overhead` field.
+ // This is used by kubelet for pod level and container-level cgroup enforcement.
+ // +optional
+ // +patchStrategy=merge
+ // +patchMergeKey=name
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ Overhead []NodeAllocatableOverheadResources `json:"overhead,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,5,rep,name=overhead"`
+}
+
+// NodeAllocatableMappedResources describes mapped node allocatable resource allocations.
+type NodeAllocatableMappedResources struct {
+ // Name is the name of the resource (e.g., cpu, memory).
+ // +required
+ // +k8s:required
+ Name ResourceName `json:"name" protobuf:"bytes,1,opt,name=name,casttype=ResourceName"`
+ // Quantity is the total node allocatable resource capacity allocated for the claim.
+ // This claim's allocated devices is shared by all the containers referencing the claim.
+ // Kubelet adds this value to both requests and limits at the pod-level cgroup, and to limits at the container-level cgroup for each container referencing the claim.
+ // +required
+ // +k8s:required
+ Quantity *resource.Quantity `json:"quantity" protobuf:"bytes,2,opt,name=quantity"`
+}
+
+// NodeAllocatableOverheadResources describes auxiliary overhead resource allocations.
+type NodeAllocatableOverheadResources struct {
+ // Name is the name of the resource (e.g., cpu, memory).
+ // +required
+ // +k8s:required
+ Name ResourceName `json:"name" protobuf:"bytes,1,opt,name=name,casttype=ResourceName"`
+ // PerPod is the flat overhead quantity allocated per pod.
+ // Adding to each container limit allows individual containers to utilize the overhead, while the parent pod-level cgroup limit caps the total usage at the pod boundary where the overhead is accounted for exactly once.
+ // At least one of PerPod or PerContainer must be specified. Specifying neither is an invalid configuration.
+ // +optional
+ // +k8s:optional
+ PerPod *resource.Quantity `json:"perPod,omitempty" protobuf:"bytes,2,opt,name=perPod"`
+ // PerContainer is the variable overhead quantity applied for each container referencing the claim.
+ // The container references are recorded in `nodeAllocatableResourceClaimStatuses.containers`.
+ // The total overhead quantity allocated for the claim is computed as:
+ // Quantity = PerPod + (PerContainer * NumReferences)
+ // Kubelet accounts for this overhead in cgroups:
+ // - Pod-level cgroup (requests and limits): Kubelet adds PerPod + (PerContainer * NumReferences).
+ // - Container-level cgroup (limits only): Kubelet adds PerPod + PerContainer for each referencing container.
+ // This allows any single container to access the pod-level overhead, while the parent cgroup caps the total usage to account for PerPod exactly once.
+ // At least one of PerPod or PerContainer must be specified. Specifying neither is an invalid configuration.
+ // +optional
+ // +k8s:optional
+ PerContainer *resource.Quantity `json:"perContainer,omitempty" protobuf:"bytes,3,opt,name=perContainer"`
+}
diff --git a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
index 0f5e44e91..4b68c5685 100644
--- a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
@@ -235,6 +235,7 @@ var map_ClusterTrustBundleProjection = map[string]string{
"labelSelector": "Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as \"match nothing\". If set but empty, interpreted as \"match everything\".",
"optional": "If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles.",
"path": "Relative path from the volume root to write the bundle.",
+ "user": "user is Optional: The owner UID of the created file. If specified, the item-level user field takes precedence over defaultUser. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (ClusterTrustBundleProjection) SwaggerDoc() map[string]string {
@@ -278,7 +279,7 @@ var map_ConfigMap = map[string]string{
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"immutable": "Immutable, if set to true, ensures that data stored in the ConfigMap cannot be updated (only object metadata can be modified). If not set to true, the field can be modified at any time. Defaulted to nil.",
"data": "Data contains the configuration data. Each key must consist of alphanumeric characters, '-', '_' or '.'. Values with non-UTF-8 byte sequences must use the BinaryData field. The keys stored in Data must not overlap with the keys in the BinaryData field, this is enforced during validation process.",
- "binaryData": "BinaryData contains the binary data. Each key must consist of alphanumeric characters, '-', '_' or '.'. BinaryData can contain byte sequences that are not in the UTF-8 range. The keys stored in BinaryData must not overlap with the ones in the Data field, this is enforced during validation process. Using this field will require 1.10+ apiserver and kubelet.",
+ "binaryData": "BinaryData contains the binary data. Each key must consist of alphanumeric characters, '-', '_' or '.'. BinaryData can contain byte sequences that are not in the UTF-8 range. The keys stored in BinaryData must not overlap with the ones in the Data field, this is enforced during validation process. Using this field will require 1.10+ apiserver and kubelet. Note: BinaryData keys are not currently propagated to container env vars via ConfigMapKeyRef or ConfigMapRef env sources; only Data keys are used.",
}
func (ConfigMap) SwaggerDoc() map[string]string {
@@ -286,7 +287,7 @@ func (ConfigMap) SwaggerDoc() map[string]string {
}
var map_ConfigMapEnvSource = map[string]string{
- "": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.",
+ "": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. Keys in the BinaryData field are not currently propagated to container env vars.",
"optional": "Specify whether the ConfigMap must be defined",
}
@@ -296,7 +297,7 @@ func (ConfigMapEnvSource) SwaggerDoc() map[string]string {
var map_ConfigMapKeySelector = map[string]string{
"": "Selects a key from a ConfigMap.",
- "key": "The key to select.",
+ "key": "The key to select from the ConfigMap's Data field. Keys in the BinaryData field are not currently propagated to container env vars.",
"optional": "Specify whether the ConfigMap or its key must be defined",
}
@@ -342,6 +343,7 @@ var map_ConfigMapVolumeSource = map[string]string{
"items": "items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"defaultMode": "defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"optional": "optional specify whether the ConfigMap or its keys must be defined",
+ "defaultUser": "defaultUser is Optional: The owner UID of the created files by default. The defaultUser field is only used as a fallback when the item-level user field is unset. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (ConfigMapVolumeSource) SwaggerDoc() map[string]string {
@@ -546,6 +548,7 @@ var map_DownwardAPIVolumeFile = map[string]string{
"fieldRef": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.",
"resourceFieldRef": "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.",
"mode": "Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "user": "user is Optional: The owner UID of the created file. If specified, the item-level user field takes precedence over defaultUser. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (DownwardAPIVolumeFile) SwaggerDoc() map[string]string {
@@ -556,6 +559,7 @@ var map_DownwardAPIVolumeSource = map[string]string{
"": "DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.",
"items": "Items is a list of downward API volume file",
"defaultMode": "Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "defaultUser": "defaultUser is Optional: The owner UID of the created files by default. The defaultUser field is only used as a fallback when the item-level user field is unset. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (DownwardAPIVolumeSource) SwaggerDoc() map[string]string {
@@ -566,6 +570,7 @@ var map_EmptyDirVolumeSource = map[string]string{
"": "Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.",
"medium": "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
"sizeLimit": "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
+ "mode": "mode specifies the permission bits for the emptyDir directory, in numeric notation (e.g., 0755, 01777). Must be a value between 0000 and 01777. If not specified, defaults to 0777. This might be in conflict with other options that affect the file mode, like fsGroup. If fsGroup is specified, the fsGroup permissions will override the mode specified here. This field has no effect on Windows. This field is alpha and requires EmptyDirVolumeMode featuregate to be enabled.",
}
func (EmptyDirVolumeSource) SwaggerDoc() map[string]string {
@@ -766,6 +771,16 @@ func (EventSource) SwaggerDoc() map[string]string {
return map_EventSource
}
+var map_EvictionResponder = map[string]string{
+ "": "EvictionResponder allows you to specify the responder reacting to an Eviction. Responders should observe and communicate through the Eviction Resource API to help with the graceful eviction of a target (e.g. termination of a pod).",
+ "name": "name allows you to identify the responder responding to the Eviction.\n\nIt must be a valid domain-prefixed key (such as \"acme.io/foo\"). Domain names *.k8s.io and *.kubernetes.io are reserved. This field must be unique for each responder. This field is required.",
+ "priority": "priority for this responder. Higher priorities are selected first by the evictionrequest-controller. If there are responders with the same priority, the responder whose domain name comes first in the alphabetical higher domain order, will be picked. This means that the top domain labels are compared alphabetically first, followed by the lower domain labels. The key is compared last.\n\nThe responder that is the managing controller of the pod should set the value of this field to 10000 to allow both for preemption or fallback registration by other responders.\n\nThe minimum value is 0 and the maximum value is 100000. The interval 0-999 is reserved for responders with *.k8s.io suffix. This field is required.",
+}
+
+func (EvictionResponder) SwaggerDoc() map[string]string {
+ return map_EvictionResponder
+}
+
var map_ExecAction = map[string]string{
"": "ExecAction describes a \"run in container\" action.",
"command": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
@@ -852,6 +867,7 @@ var map_GRPCAction = map[string]string{
"": "GRPCAction specifies an action involving a GRPC service.",
"port": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
"service": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
+ "mode": "mode specifies the connection mode for the gRPC health probe. Set to \"TLS\" to use TLS without certificate verification. Set to \"Plaintext\" to use a plaintext (insecure) connection explicitly. If not specified, the probe uses a plaintext (insecure) connection.",
}
func (GRPCAction) SwaggerDoc() map[string]string {
@@ -899,6 +915,7 @@ var map_HTTPGetAction = map[string]string{
"host": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
"scheme": "Scheme to use for connecting to the host. Defaults to HTTP.",
"httpHeaders": "Custom headers to set in the request. HTTP allows repeated headers.",
+ "protocol": "Protocol selects the wire protocol for the probe connection. Nil defaults to HTTP/1.1.",
}
func (HTTPGetAction) SwaggerDoc() map[string]string {
@@ -992,11 +1009,21 @@ func (ImageVolumeSource) SwaggerDoc() map[string]string {
return map_ImageVolumeSource
}
+var map_ImageVolumeStatus = map[string]string{
+ "": "ImageVolumeStatus represents the image-based volume status.",
+ "imageRef": "ImageRef is the digest of the image used for this volume. It should have a value that's similar to the pod's status.containerStatuses[i].imageID. The ImageRef length should not exceed 256 characters.",
+}
+
+func (ImageVolumeStatus) SwaggerDoc() map[string]string {
+ return map_ImageVolumeStatus
+}
+
var map_KeyToPath = map[string]string{
"": "Maps a string key to a path within a volume.",
"key": "key is the key to project.",
"path": "path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.",
"mode": "mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "user": "user is Optional: The owner UID of the created file. If specified, the item-level user field takes precedence over defaultUser. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (KeyToPath) SwaggerDoc() map[string]string {
@@ -1225,6 +1252,39 @@ func (NodeAffinity) SwaggerDoc() map[string]string {
return map_NodeAffinity
}
+var map_NodeAllocatableMappedResources = map[string]string{
+ "": "NodeAllocatableMappedResources describes mapped node allocatable resource allocations.",
+ "name": "Name is the name of the resource (e.g., cpu, memory).",
+ "quantity": "Quantity is the total node allocatable resource capacity allocated for the claim. This claim's allocated devices is shared by all the containers referencing the claim. Kubelet adds this value to both requests and limits at the pod-level cgroup, and to limits at the container-level cgroup for each container referencing the claim.",
+}
+
+func (NodeAllocatableMappedResources) SwaggerDoc() map[string]string {
+ return map_NodeAllocatableMappedResources
+}
+
+var map_NodeAllocatableOverheadResources = map[string]string{
+ "": "NodeAllocatableOverheadResources describes auxiliary overhead resource allocations.",
+ "name": "Name is the name of the resource (e.g., cpu, memory).",
+ "perPod": "PerPod is the flat overhead quantity allocated per pod. Adding to each container limit allows individual containers to utilize the overhead, while the parent pod-level cgroup limit caps the total usage at the pod boundary where the overhead is accounted for exactly once. At least one of PerPod or PerContainer must be specified. Specifying neither is an invalid configuration.",
+ "perContainer": "PerContainer is the variable overhead quantity applied for each container referencing the claim. The container references are recorded in `nodeAllocatableResourceClaimStatuses.containers`. The total overhead quantity allocated for the claim is computed as: Quantity = PerPod + (PerContainer * NumReferences) Kubelet accounts for this overhead in cgroups: - Pod-level cgroup (requests and limits): Kubelet adds PerPod + (PerContainer * NumReferences). - Container-level cgroup (limits only): Kubelet adds PerPod + PerContainer for each referencing container. This allows any single container to access the pod-level overhead, while the parent cgroup caps the total usage to account for PerPod exactly once. At least one of PerPod or PerContainer must be specified. Specifying neither is an invalid configuration.",
+}
+
+func (NodeAllocatableOverheadResources) SwaggerDoc() map[string]string {
+ return map_NodeAllocatableOverheadResources
+}
+
+var map_NodeAllocatableResourceClaimStatus = map[string]string{
+ "": "NodeAllocatableResourceClaimStatus describes the status of node allocatable resources allocated via DRA.",
+ "resourceClaimName": "ResourceClaimName is the resource claim referenced by the pod that resulted in this node allocatable resource allocation.",
+ "containers": "Containers lists the names of all containers in this pod that reference the claim.",
+ "mapping": "Mapping contains allocations through devices mapped in the device spec's `nodeAllocatableResources[...].mapping` field. This is used by kubelet for pod level and container-level cgroup enforcement.",
+ "overhead": "Overhead contains allocations through devices mapped in the device spec's `nodeAllocatableResources[...].overhead` field. This is used by kubelet for pod level and container-level cgroup enforcement.",
+}
+
+func (NodeAllocatableResourceClaimStatus) SwaggerDoc() map[string]string {
+ return map_NodeAllocatableResourceClaimStatus
+}
+
var map_NodeCondition = map[string]string{
"": "NodeCondition contains condition information for a node.",
"type": "Type of node condition.",
@@ -1288,6 +1348,15 @@ func (NodeList) SwaggerDoc() map[string]string {
return map_NodeList
}
+var map_NodePodPreemptionPolicy = map[string]string{
+ "": "NodePodPreemptionPolicy defines the node-level policies governing preemption for pods on this node.",
+ "disableResizePreemption": "DisableResizePreemption lists the owners (e.g., autoscalers, operators, administrators) that have requested to disable scheduler and Kubelet preemption for in-place pod resize on this node. If this list is non-empty, resize-induced preemption is disabled on this node. This is an alpha field and requires enabling the InPlacePodVerticalScalingSchedulerPreemption feature gate.",
+}
+
+func (NodePodPreemptionPolicy) SwaggerDoc() map[string]string {
+ return map_NodePodPreemptionPolicy
+}
+
var map_NodeProxyOptions = map[string]string{
"": "NodeProxyOptions is the query options to a Node's proxy call.",
"path": "Path is the URL path to use for the current proxy request to node.",
@@ -1348,14 +1417,15 @@ func (NodeSelectorTerm) SwaggerDoc() map[string]string {
}
var map_NodeSpec = map[string]string{
- "": "NodeSpec describes the attributes that a node is created with.",
- "podCIDR": "PodCIDR represents the pod IP range assigned to the node.",
- "podCIDRs": "podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for each of IPv4 and IPv6.",
- "providerID": "ID of the node assigned by the cloud provider in the format: ://",
- "unschedulable": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration",
- "taints": "If specified, the node's taints.",
- "configSource": "Deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature. This feature is removed.",
- "externalID": "Deprecated. Not all kubelets will set this field. Remove field after 1.13. see: https://issues.k8s.io/61966",
+ "": "NodeSpec describes the attributes that a node is created with.",
+ "podCIDR": "PodCIDR represents the pod IP range assigned to the node.",
+ "podCIDRs": "podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for each of IPv4 and IPv6.",
+ "providerID": "ID of the node assigned by the cloud provider in the format: ://",
+ "unschedulable": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration",
+ "taints": "If specified, the node's taints.",
+ "configSource": "Deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature. This feature is removed.",
+ "externalID": "Deprecated. Not all kubelets will set this field. Remove field after 1.13. see: https://issues.k8s.io/61966",
+ "podPreemptionPolicy": "PodPreemptionPolicy controls the node-level preemption behaviors for pods on this node. This is an alpha field and requires enabling the InPlacePodVerticalScalingSchedulerPreemption feature gate.",
}
func (NodeSpec) SwaggerDoc() map[string]string {
@@ -1406,6 +1476,7 @@ var map_NodeSystemInfo = map[string]string{
"operatingSystem": "The Operating System reported by the node",
"architecture": "The Architecture reported by the node",
"swap": "Swap Info reported by the node.",
+ "runningInUserNamespace": "Whether the node is running in a user namespace.",
}
func (NodeSystemInfo) SwaggerDoc() map[string]string {
@@ -1491,8 +1562,8 @@ var map_PersistentVolumeClaimSpec = map[string]string{
"volumeName": "volumeName is the binding reference to the PersistentVolume backing this claim.",
"storageClassName": "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1",
"volumeMode": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.",
- "dataSource": "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.",
- "dataSourceRef": "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.",
+ "dataSource": "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.",
+ "dataSourceRef": "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.",
"volumeAttributesClassName": "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string or nil value indicates that no VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state, this field can be reset to its previous value (including nil) to cancel the modification. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/",
}
@@ -1510,6 +1581,7 @@ var map_PersistentVolumeClaimStatus = map[string]string{
"allocatedResourceStatuses": "allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.",
"currentVolumeAttributesClassName": "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim",
"modifyVolumeStatus": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted.",
+ "healthStatus": "healthStatus contains the latest controller-reported health information for the volume bound to this claim.",
}
func (PersistentVolumeClaimStatus) SwaggerDoc() map[string]string {
@@ -1565,7 +1637,7 @@ var map_PersistentVolumeSource = map[string]string{
"quobyte": "quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.",
"azureDisk": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.",
"photonPersistentDisk": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.",
- "portworxVolume": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.",
+ "portworxVolume": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver.",
"scaleIO": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.",
"local": "local represents directly-attached storage with node affinity",
"storageos": "storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported. More info: https://examples.k8s.io/volumes/storageos/README.md",
@@ -1682,6 +1754,7 @@ var map_PodCertificateProjection = map[string]string{
"keyPath": "Write the key at this path in the projected volume.\n\nMost applications should use credentialBundlePath. When using keyPath and certificateChainPath, your application needs to check that the key and leaf certificate are consistent, because it is possible to read the files mid-rotation.",
"certificateChainPath": "Write the certificate chain at this path in the projected volume.\n\nMost applications should use credentialBundlePath. When using keyPath and certificateChainPath, your application needs to check that the key and leaf certificate are consistent, because it is possible to read the files mid-rotation.",
"userAnnotations": "userAnnotations allow pod authors to pass additional information to the signer implementation. Kubernetes does not restrict or validate this metadata in any way.\n\nThese values are copied verbatim into the `spec.unverifiedUserAnnotations` field of the PodCertificateRequest objects that Kubelet creates.\n\nEntries are subject to the same validation as object metadata annotations, with the addition that all keys must be domain-prefixed. No restrictions are placed on values, except an overall size limitation on the entire field.\n\nSigners should document the keys and values they support. Signers should deny requests that contain keys they do not recognize.",
+ "user": "user is Optional: The owner UID of the created file. If specified, the item-level user field takes precedence over defaultUser. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (PodCertificateProjection) SwaggerDoc() map[string]string {
@@ -1691,7 +1764,7 @@ func (PodCertificateProjection) SwaggerDoc() map[string]string {
var map_PodCondition = map[string]string{
"": "PodCondition contains details for the current condition of this pod.",
"type": "Type is the type of the condition. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions",
- "observedGeneration": "If set, this represents the .metadata.generation that the pod condition was set based upon. The PodObservedGenerationTracking feature gate must be enabled to use this field.",
+ "observedGeneration": "If set, this represents the .metadata.generation that the pod condition was set based upon.",
"status": "Status is the status of the condition. Can be True, False, Unknown. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions",
"lastProbeTime": "Last time we probed the condition.",
"lastTransitionTime": "Last time the condition transitioned from one status to another.",
@@ -1822,10 +1895,10 @@ func (PodReadinessGate) SwaggerDoc() map[string]string {
}
var map_PodResourceClaim = map[string]string{
- "": "PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod.\n\nIt adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.",
+ "": "PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod.\n\nIt adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.\n\nWhen the DRAWorkloadResourceClaims feature gate is enabled and this Pod belongs to a PodGroup, a PodResourceClaim is matched to a PodGroupResourceClaim if all of their fields are equal (Name, ResourceClaimName, and ResourceClaimTemplateName). A matched claim references a single ResourceClaim shared across all Pods in the PodGroup, reserved for the PodGroup in ResourceClaimStatus.ReservedFor rather than for individual Pods.",
"name": "Name uniquely identifies this resource claim inside the pod. This must be a DNS_LABEL.",
"resourceClaimName": "ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.\n\nExactly one of ResourceClaimName and ResourceClaimTemplateName must be set.",
- "resourceClaimTemplateName": "ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.\n\nThe template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.\n\nThis field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.\n\nExactly one of ResourceClaimName and ResourceClaimTemplateName must be set.",
+ "resourceClaimTemplateName": "ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.\n\nThe template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.\n\nWhen the DRAWorkloadResourceClaims feature gate is enabled and the pod belongs to a PodGroup that defines a PodGroupResourceClaim with the same Name and ResourceClaimTemplateName, this PodResourceClaim resolves to the ResourceClaim generated for the PodGroup. All pods in the group that define an equivalent PodResourceClaim matching the PodGroupResourceClaim's Name and ResourceClaimTemplateName share the same generated ResourceClaim. ResourceClaims generated for a PodGroup are owned by the PodGroup and their lifecycles are tied to the PodGroup instead of any individual pod.\n\nThis field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.\n\nExactly one of ResourceClaimName and ResourceClaimTemplateName must be set.",
}
func (PodResourceClaim) SwaggerDoc() map[string]string {
@@ -1835,7 +1908,7 @@ func (PodResourceClaim) SwaggerDoc() map[string]string {
var map_PodResourceClaimStatus = map[string]string{
"": "PodResourceClaimStatus is stored in the PodStatus for each PodResourceClaim which references a ResourceClaimTemplate. It stores the generated name for the corresponding ResourceClaim.",
"name": "Name uniquely identifies this resource claim inside the pod. This must match the name of an entry in pod.spec.resourceClaims, which implies that the string must be a DNS_LABEL.",
- "resourceClaimName": "ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. If this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.",
+ "resourceClaimName": "ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod.\n\nWhen the DRAWorkloadResourceClaims feature is enabled and the corresponding PodResourceClaim matches a PodGroupResourceClaim made by the Pod's PodGroup, then this is the name of the ResourceClaim generated and reserved for the PodGroup.\n\nIf this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.",
}
func (PodResourceClaimStatus) SwaggerDoc() map[string]string {
@@ -1851,6 +1924,15 @@ func (PodSchedulingGate) SwaggerDoc() map[string]string {
return map_PodSchedulingGate
}
+var map_PodSchedulingGroup = map[string]string{
+ "": "PodSchedulingGroup identifies the runtime scheduling group instance that a Pod belongs to. The scheduler uses this information to apply workload-aware scheduling semantics. Exactly one field must be specified.",
+ "podGroupName": "PodGroupName specifies the name of the standalone PodGroup object that represents the runtime instance of this group. Must be a DNS subdomain.",
+}
+
+func (PodSchedulingGroup) SwaggerDoc() map[string]string {
+ return map_PodSchedulingGroup
+}
+
var map_PodSecurityContext = map[string]string{
"": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.",
"seLinuxOptions": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.",
@@ -1865,7 +1947,7 @@ var map_PodSecurityContext = map[string]string{
"fsGroupChangePolicy": "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows.",
"seccompProfile": "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.",
"appArmorProfile": "appArmorProfile is the AppArmor options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.",
- "seLinuxChangePolicy": "seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod. It has no effect on nodes that do not support SELinux or to volumes does not support SELinux. Valid values are \"MountOption\" and \"Recursive\".\n\n\"Recursive\" means relabeling of all files on all Pod volumes by the container runtime. This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.\n\n\"MountOption\" mounts all eligible Pod volumes with `-o context` mount option. This requires all Pods that share the same volume to use the same SELinux label. It is not possible to share the same volume among privileged and unprivileged Pods. Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their CSIDriver instance. Other volumes are always re-labelled recursively. \"MountOption\" value is allowed only when SELinuxMount feature gate is enabled.\n\nIf not specified and SELinuxMount feature gate is enabled, \"MountOption\" is used. If not specified and SELinuxMount feature gate is disabled, \"MountOption\" is used for ReadWriteOncePod volumes and \"Recursive\" for all other volumes.\n\nThis field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.\n\nAll Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state. Note that this field cannot be set when spec.os.name is windows.",
+ "seLinuxChangePolicy": "seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod. It has no effect on nodes that do not support SELinux or to volumes does not support SELinux. Valid values are \"MountOption\" and \"Recursive\".\n\n\"Recursive\" means relabeling of all files on all Pod volumes by the container runtime. This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.\n\n\"MountOption\" mounts all eligible Pod volumes with `-o context` mount option. This requires all Pods that share the same volume to use the same SELinux label. It is not possible to share the same volume among privileged and unprivileged Pods. Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their CSIDriver instance. Other volumes are always re-labelled recursively.\n\nIf not specified, \"MountOption\" is used.\n\nThis field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.\n\nAll Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state. Note that this field cannot be set when spec.os.name is windows.",
}
func (PodSecurityContext) SwaggerDoc() map[string]string {
@@ -1914,17 +1996,18 @@ var map_PodSpec = map[string]string{
"readinessGates": "If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates",
"runtimeClassName": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class",
"enableServiceLinks": "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.",
- "preemptionPolicy": "PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.",
+ "preemptionPolicy": "PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. Defaults to PreemptLowerPriority if unset.",
"overhead": "Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md",
"topologySpreadConstraints": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.",
"setHostnameAsFQDN": "If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false.",
"os": "Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.\n\nIf the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions\n\nIf the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.resources - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup",
- "hostUsers": "Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.",
+ "hostUsers": "Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host.",
"schedulingGates": "SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod.\n\nSchedulingGates can only be set at pod creation time, and be removed only afterwards.",
"resourceClaims": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is a stable field but requires that the DynamicResourceAllocation feature gate is enabled.\n\nThis field is immutable.",
"resources": "Resources is the total amount of CPU and Memory resources required by all containers in the pod. It supports specifying Requests and Limits for \"cpu\", \"memory\" and \"hugepages-\" resource names only. ResourceClaims are not supported.\n\nThis field enables fine-grained control over resource allocation for the entire pod, allowing resource sharing among containers in a pod.\n\nThis is an alpha field and requires enabling the PodLevelResources feature gate.",
- "hostnameOverride": "HostnameOverride specifies an explicit override for the pod's hostname as perceived by the pod. This field only specifies the pod's hostname and does not affect its DNS records. When this field is set to a non-empty string: - It takes precedence over the values set in `hostname` and `subdomain`. - The Pod's hostname will be set to this value. - `setHostnameAsFQDN` must be nil or set to false. - `hostNetwork` must be set to false.\n\nThis field must be a valid DNS subdomain as defined in RFC 1123 and contain at most 64 characters. Requires the HostnameOverride feature gate to be enabled.",
- "workloadRef": "WorkloadRef provides a reference to the Workload object that this Pod belongs to. This field is used by the scheduler to identify the PodGroup and apply the correct group scheduling policies. The Workload object referenced by this field may not exist at the time the Pod is created. This field is immutable, but a Workload object with the same name may be recreated with different policies. Doing this during pod scheduling may result in the placement not conforming to the expected policies.",
+ "hostnameOverride": "HostnameOverride specifies an explicit override for the pod's hostname as perceived by the pod. This field only specifies the pod's hostname and does not affect its DNS records. When this field is set to a non-empty string: - It takes precedence over the values set in `hostname` and `subdomain`. - The Pod's hostname will be set to this value. - `setHostnameAsFQDN` must be nil or set to false. - `hostNetwork` must be set to false.\n\nThis field must be a valid DNS subdomain as defined in RFC 1123 and contain at most 64 characters.",
+ "schedulingGroup": "SchedulingGroup provides a reference to the immediate scheduling runtime grouping object that this Pod belongs to. This field is used by the scheduler to identify the group and apply the correct group scheduling policies. The association with a group also impacts other lifecycle aspects of a Pod that are relevant in a wider context of scheduling like preemption, resource attachment, etc. If not specified, the Pod is treated as a single unit in all of these aspects. The group object referenced by this field may not exist at the time the Pod is created. This field is immutable, but a group object with the same name may be recreated with different policies. Doing this during pod scheduling may result in the placement not conforming to the expected policies.",
+ "evictionResponders": "evictionResponders reference responders that react to Evictions based on EvictionRequests. Responders should observe and communicate through the Eviction Resource API to help with the graceful termination of a pod. The responders are selected sequentially, according to their specified priority.\n\nResponders should periodically report on an eviction progress by updating the .status.responders[].heartbeatTime field of the Eviction object. If this field is not updated within the heartbeat deadline defined by the Eviction API (currently 20 minutes), the eviction is passed over to the next responder with a lower priority. If there is no other responder, the last default imperative-eviction.k8s.io/evictor responder with a priority of 100 will evict the pod using the imperative Eviction API (pods//eviction subresource).\n\nThe maximum length of the responders list is 10. Responders are not supported when the pod is part of a PodGroup (.spec.schedulingGroup is set). This field can only be set on creation and is immutable afterwards.",
}
func (PodSpec) SwaggerDoc() map[string]string {
@@ -1932,43 +2015,35 @@ func (PodSpec) SwaggerDoc() map[string]string {
}
var map_PodStatus = map[string]string{
- "": "PodStatus represents information about the status of a pod. Status may trail the actual state of a system, especially if the node that hosts the pod cannot contact the control plane.",
- "observedGeneration": "If set, this represents the .metadata.generation that the pod status was set based upon. The PodObservedGenerationTracking feature gate must be enabled to use this field.",
- "phase": "The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle. The conditions array, the reason and message fields, and the individual container status arrays contain more detail about the pod's status. There are five possible phase values:\n\nPending: The pod has been accepted by the Kubernetes system, but one or more of the container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. Running: The pod has been bound to a node, and all of the containers have been created. At least one container is still running, or is in the process of starting or restarting. Succeeded: All containers in the pod have terminated in success, and will not be restarted. Failed: All containers in the pod have terminated, and at least one container has terminated in failure. The container either exited with non-zero status or was terminated by the system. Unknown: For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod.\n\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase",
- "conditions": "Current service state of pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions",
- "message": "A human readable message indicating details about why the pod is in this condition.",
- "reason": "A brief CamelCase message indicating details about why the pod is in this state. e.g. 'Evicted'",
- "nominatedNodeName": "nominatedNodeName is set only when this pod preempts other pods on the node, but it cannot be scheduled right away as preemption victims receive their graceful termination periods. This field does not guarantee that the pod will be scheduled on this node. Scheduler may decide to place the pod elsewhere if other nodes become available sooner. Scheduler may also decide to give the resources on this node to a higher priority pod that is created after preemption. As a result, this field may be different than PodSpec.nodeName when the pod is scheduled.",
- "hostIP": "hostIP holds the IP address of the host to which the pod is assigned. Empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns mean that HostIP will not be updated even if there is a node is assigned to pod",
- "hostIPs": "hostIPs holds the IP addresses allocated to the host. If this field is specified, the first entry must match the hostIP field. This list is empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns means that HostIPs will not be updated even if there is a node is assigned to this pod.",
- "podIP": "podIP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated.",
- "podIPs": "podIPs holds the IP addresses allocated to the pod. If this field is specified, the 0th entry must match the podIP field. Pods may be allocated at most 1 value for each of IPv4 and IPv6. This list is empty if no IPs have been allocated yet.",
- "startTime": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod.",
- "initContainerStatuses": "Statuses of init containers in this pod. The most recent successful non-restartable init container will have ready = true, the most recently started container will have startTime set. Each init container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-and-container-status",
- "containerStatuses": "Statuses of containers in this pod. Each container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status",
- "qosClass": "The Quality of Service (QOS) classification assigned to the pod based on resource requirements See PodQOSClass type for available QOS classes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#quality-of-service-classes",
- "ephemeralContainerStatuses": "Statuses for any ephemeral containers that have run in this pod. Each ephemeral container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status",
- "resize": "Status of resources resize desired for pod's containers. It is empty if no resources resize is pending. Any changes to container resources will automatically set this to \"Proposed\" Deprecated: Resize status is moved to two pod conditions PodResizePending and PodResizeInProgress. PodResizePending will track states where the spec has been resized, but the Kubelet has not yet allocated the resources. PodResizeInProgress will track in-progress resizes, and should be present whenever allocated resources != acknowledged resources.",
- "resourceClaimStatuses": "Status of resource claims.",
- "extendedResourceClaimStatus": "Status of extended resource claim backed by DRA.",
- "allocatedResources": "AllocatedResources is the total requests allocated for this pod by the node. If pod-level requests are not set, this will be the total requests aggregated across containers in the pod.",
- "resources": "Resources represents the compute resource requests and limits that have been applied at the pod level if pod-level requests or limits are set in PodSpec.Resources",
+ "": "PodStatus represents information about the status of a pod. Status may trail the actual state of a system, especially if the node that hosts the pod cannot contact the control plane.",
+ "observedGeneration": "If set, this represents the .metadata.generation that the pod status was set based upon. The PodObservedGenerationTracking feature gate must be enabled to use this field.",
+ "phase": "The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle. The conditions array, the reason and message fields, and the individual container status arrays contain more detail about the pod's status. There are five possible phase values:\n\nPending: The pod has been accepted by the Kubernetes system, but one or more of the container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. Running: The pod has been bound to a node, and all of the containers have been created. At least one container is still running, or is in the process of starting or restarting. Succeeded: All containers in the pod have terminated in success, and will not be restarted. Failed: All containers in the pod have terminated, and at least one container has terminated in failure. The container either exited with non-zero status or was terminated by the system. Unknown: For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod.\n\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase",
+ "conditions": "Current service state of pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions",
+ "message": "A human readable message indicating details about why the pod is in this condition.",
+ "reason": "A brief CamelCase message indicating details about why the pod is in this state. e.g. 'Evicted'",
+ "nominatedNodeName": "nominatedNodeName is set only when this pod preempts other pods on the node, but it cannot be scheduled right away as preemption victims receive their graceful termination periods. This field does not guarantee that the pod will be scheduled on this node. Scheduler may decide to place the pod elsewhere if other nodes become available sooner. Scheduler may also decide to give the resources on this node to a higher priority pod that is created after preemption. As a result, this field may be different than PodSpec.nodeName when the pod is scheduled.",
+ "hostIP": "hostIP holds the IP address of the host to which the pod is assigned. Empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns mean that HostIP will not be updated even if there is a node is assigned to pod",
+ "hostIPs": "hostIPs holds the IP addresses allocated to the host. If this field is specified, the first entry must match the hostIP field. This list is empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns means that HostIPs will not be updated even if there is a node is assigned to this pod.",
+ "podIP": "podIP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated.",
+ "podIPs": "podIPs holds the IP addresses allocated to the pod. If this field is specified, the 0th entry must match the podIP field. Pods may be allocated at most 1 value for each of IPv4 and IPv6. This list is empty if no IPs have been allocated yet.",
+ "startTime": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod.",
+ "initContainerStatuses": "Statuses of init containers in this pod. The most recent successful non-restartable init container will have ready = true, the most recently started container will have startTime set. Each init container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-and-container-status",
+ "containerStatuses": "Statuses of containers in this pod. Each container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status",
+ "qosClass": "The Quality of Service (QOS) classification assigned to the pod based on resource requirements See PodQOSClass type for available QOS classes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#quality-of-service-classes",
+ "ephemeralContainerStatuses": "Statuses for any ephemeral containers that have run in this pod. Each ephemeral container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status",
+ "resize": "Status of resources resize desired for pod's containers. It is empty if no resources resize is pending. Any changes to container resources will automatically set this to \"Proposed\" Deprecated: Resize status is moved to two pod conditions PodResizePending and PodResizeInProgress. PodResizePending will track states where the spec has been resized, but the Kubelet has not yet allocated the resources. PodResizeInProgress will track in-progress resizes, and should be present whenever allocated resources != acknowledged resources.",
+ "resourceClaimStatuses": "Status of resource claims.",
+ "extendedResourceClaimStatus": "Status of extended resource claim backed by DRA.",
+ "allocatedResources": "AllocatedResources is the total requests allocated for this pod by the node. If pod-level requests are not set, this will be the total requests aggregated across containers in the pod.",
+ "resources": "Resources represents the compute resource requests and limits that have been applied at the pod level if pod-level requests or limits are set in PodSpec.Resources",
+ "nodeAllocatableResourceClaimStatuses": "NodeAllocatableResourceClaimStatuses contains the status of node-allocatable resources that were allocated for this pod through DRA claims. This includes resources currently reported in v1.Node `status.allocatable` that are not extended resources (see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#extended-resources). Examples include \"cpu\", \"memory\", \"ephemeral-storage\", and hugepages.",
+ "volumeHealth": "volumeHealth contains node-reported health for each volume the pod is using. Populated by the kubelet on the pod's node.",
}
func (PodStatus) SwaggerDoc() map[string]string {
return map_PodStatus
}
-var map_PodStatusResult = map[string]string{
- "": "PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "status": "Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
-}
-
-func (PodStatusResult) SwaggerDoc() map[string]string {
- return map_PodStatusResult
-}
-
var map_PodTemplate = map[string]string{
"": "PodTemplate describes a template for creating copies of a predefined pod.",
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
@@ -1999,6 +2074,17 @@ func (PodTemplateSpec) SwaggerDoc() map[string]string {
return map_PodTemplateSpec
}
+var map_PodVolumeHealth = map[string]string{
+ "": "PodVolumeHealth contains health information for a volume used by a pod, reported by the CSI node plugin via the kubelet.",
+ "name": "name matches an entry in pod.spec.volumes.",
+ "healthConditions": "conditions is the set of adverse conditions reported by the CSI node plugin for this volume on this node. At most 16 conditions may be reported.",
+ "lastTransitionTime": "lastTransitionTime is when the current set of conditions first appeared.",
+}
+
+func (PodVolumeHealth) SwaggerDoc() map[string]string {
+ return map_PodVolumeHealth
+}
+
var map_PortStatus = map[string]string{
"": "PortStatus represents the error condition of a service port",
"port": "Port is the port number of the service port of which status is recorded here",
@@ -2082,6 +2168,7 @@ var map_ProjectedVolumeSource = map[string]string{
"": "Represents a projected volume source",
"sources": "sources is the list of volume projections. Each entry in this list handles one source.",
"defaultMode": "defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "defaultUser": "defaultUser is Optional: The owner UID of the created files by default. The defaultUser field is only used as a fallback when the item-level user field is unset. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (ProjectedVolumeSource) SwaggerDoc() map[string]string {
@@ -2230,6 +2317,7 @@ var map_ResourceHealth = map[string]string{
"": "ResourceHealth represents the health of a resource. It has the latest device health information. This is a part of KEP https://kep.k8s.io/4680.",
"resourceID": "ResourceID is the unique identifier of the resource. See the ResourceID type for more information.",
"health": "Health of the resource. can be one of:\n - Healthy: operates as normal\n - Unhealthy: reported unhealthy. We consider this a temporary health issue\n since we do not have a mechanism today to distinguish\n temporary and permanent issues.\n - Unknown: The status cannot be determined.\n For example, Device Plugin got unregistered and hasn't been re-registered since.\n\nIn future we may want to introduce the PermanentlyUnhealthy Status.",
+ "message": "Message provides human-readable context for Health (e.g. \"ECC error count exceeded threshold\"). This field is populated by the kubelet when ResourceHealthStatusMessage is enabled if the DRA plugin returns a message, and is null otherwise.",
}
func (ResourceHealth) SwaggerDoc() map[string]string {
@@ -2291,7 +2379,7 @@ func (ResourceRequirements) SwaggerDoc() map[string]string {
var map_ResourceStatus = map[string]string{
"": "ResourceStatus represents the status of a single resource allocated to a Pod.",
- "name": "Name of the resource. Must be unique within the pod and in case of non-DRA resource, match one of the resources from the pod spec. For DRA resources, the value must be \"claim:/\". When this status is reported about a container, the \"claim_name\" and \"request\" must match one of the claims of this container.",
+ "name": "Name of the resource. Must be unique within the pod and in case of non-DRA resource, match one of the resources from the pod spec. For DRA resources, the value must be \"claim:/\" when container.resources.claims[*].request is set or \"claim:\" when container.resources.claims[*].request is empty. For DRA-backed extended resources, \"claim:/\" is used when the claim name and request name are recorded in pod.status.extendedResourceClaimStatus. When this status is reported about a container, the \"claim_name\" and \"request\" must match one of the claims of this container.",
"resources": "List of unique resources health. Each element in the list contains an unique resource ID and its health. At a minimum, for the lifetime of a Pod, resource ID must uniquely identify the resource allocated to the Pod on the Node. If other Pod on the same Node reports the status with the same resource ID, it must be the same resource they share. See ResourceID type definition for a specific format it has in various use cases.",
}
@@ -2445,6 +2533,7 @@ var map_SecretVolumeSource = map[string]string{
"items": "items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"defaultMode": "defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"optional": "optional field specify whether the Secret or its keys must be defined",
+ "defaultUser": "defaultUser is Optional: The owner UID of the created files by default. The defaultUser field is only used as a fallback when the item-level user field is unset. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (SecretVolumeSource) SwaggerDoc() map[string]string {
@@ -2462,7 +2551,7 @@ var map_SecurityContext = map[string]string{
"runAsNonRoot": "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
"readOnlyRootFilesystem": "Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows.",
"allowPrivilegeEscalation": "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.",
- "procMount": "procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.",
+ "procMount": "procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. Note that this field cannot be set when spec.os.name is windows.",
"seccompProfile": "The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows.",
"appArmorProfile": "appArmorProfile is the AppArmor options to use by this container. If set, this profile overrides the pod's appArmorProfile. Note that this field cannot be set when spec.os.name is windows.",
}
@@ -2518,6 +2607,7 @@ var map_ServiceAccountTokenProjection = map[string]string{
"audience": "audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.",
"expirationSeconds": "expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.",
"path": "path is the path relative to the mount point of the file to project the token into.",
+ "user": "user is Optional: The owner UID of the created file. If specified, the item-level user field takes precedence over defaultUser. (Alpha) This field requires the AtomicWriteVolumeUserFields feature gate to be enabled.",
}
func (ServiceAccountTokenProjection) SwaggerDoc() map[string]string {
@@ -2761,15 +2851,37 @@ func (VolumeDevice) SwaggerDoc() map[string]string {
return map_VolumeDevice
}
+var map_VolumeHealthCondition = map[string]string{
+ "": "VolumeHealthCondition represents an adverse health condition reported for a volume.",
+ "status": "status is the machine-parseable health category. Possible values: - \"Inaccessible\": the volume cannot be accessed. - \"DataLoss\": data loss has been detected on the volume. - \"Degraded\": the volume is functioning with reduced capability.",
+ "reason": "reason is a brief CamelCase machine-parseable reason. Together with status it forms the unique identity of a condition entry. Maximum permitted length of a reason is 256 bytes.",
+ "message": "message is a human-readable description. Maximum permitted length of a message is 1024 bytes.",
+}
+
+func (VolumeHealthCondition) SwaggerDoc() map[string]string {
+ return map_VolumeHealthCondition
+}
+
+var map_VolumeHealthStatus = map[string]string{
+ "": "VolumeHealthStatus contains health information for a volume reported by the CSI controller plugin.",
+ "healthConditions": "conditions is the set of adverse conditions reported by the CSI controller plugin. An empty list means no adverse condition. At most 16 conditions may be reported.",
+ "lastTransitionTime": "lastTransitionTime is when the current set of conditions first appeared.",
+}
+
+func (VolumeHealthStatus) SwaggerDoc() map[string]string {
+ return map_VolumeHealthStatus
+}
+
var map_VolumeMount = map[string]string{
"": "VolumeMount describes a mounting of a Volume within a container.",
"name": "This must match the Name of a Volume.",
"readOnly": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.",
"recursiveReadOnly": "RecursiveReadOnly specifies whether read-only mounts should be handled recursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only. If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime. If this field is set to Enabled, the mount is made recursively read-only if it is supported by the container runtime, otherwise the pod will not be started and an error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to None (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
- "mountPath": "Path within the container at which the volume should be mounted. Must not contain ':'.",
+ "mountPath": "Path within the container at which the volume should be mounted.",
"subPath": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
"mountPropagation": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None).",
"subPathExpr": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive.",
+ "bindMountOptions": "bindMountOptions is the list of additional bind mount options to apply when mounting this volume into the container. Allowed values are noexec, nodev, and nosuid. These are Linux mount options and have no effect on Windows nodes. This field is not supported with image volumes. This is an alpha field and requires enabling the VolumeBindMountOptions feature gate.",
}
func (VolumeMount) SwaggerDoc() map[string]string {
@@ -2782,6 +2894,7 @@ var map_VolumeMountStatus = map[string]string{
"mountPath": "MountPath corresponds to the original VolumeMount.",
"readOnly": "ReadOnly corresponds to the original VolumeMount.",
"recursiveReadOnly": "RecursiveReadOnly must be set to Disabled, Enabled, or unspecified (for non-readonly mounts). An IfPossible value in the original VolumeMount must be translated to Disabled or Enabled, depending on the mount result.",
+ "volumeStatus": "volumeStatus represents volume-type-specific status about the mounted volume.",
}
func (VolumeMountStatus) SwaggerDoc() map[string]string {
@@ -2847,18 +2960,27 @@ var map_VolumeSource = map[string]string{
"azureDisk": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.",
"photonPersistentDisk": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.",
"projected": "projected items for all in one resources secrets, configmaps, and downward API",
- "portworxVolume": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.",
+ "portworxVolume": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver.",
"scaleIO": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.",
"storageos": "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.",
"csi": "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.",
"ephemeral": "ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time.",
- "image": "image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:\n\n- Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.\n\nThe volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.",
+ "image": "image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:\n\n- Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.\n\nThe volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.",
}
func (VolumeSource) SwaggerDoc() map[string]string {
return map_VolumeSource
}
+var map_VolumeStatus = map[string]string{
+ "": "VolumeStatus represents the status of a mounted volume. At most one of its members must be specified.",
+ "image": "image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.",
+}
+
+func (VolumeStatus) SwaggerDoc() map[string]string {
+ return map_VolumeStatus
+}
+
var map_VsphereVirtualDiskVolumeSource = map[string]string{
"": "Represents a vSphere volume resource.",
"volumePath": "volumePath is the path that identifies vSphere volume vmdk",
@@ -2893,15 +3015,4 @@ func (WindowsSecurityContextOptions) SwaggerDoc() map[string]string {
return map_WindowsSecurityContextOptions
}
-var map_WorkloadReference = map[string]string{
- "": "WorkloadReference identifies the Workload object and PodGroup membership that a Pod belongs to. The scheduler uses this information to apply workload-aware scheduling semantics.",
- "name": "Name defines the name of the Workload object this Pod belongs to. Workload must be in the same namespace as the Pod. If it doesn't match any existing Workload, the Pod will remain unschedulable until a Workload object is created and observed by the kube-scheduler. It must be a DNS subdomain.",
- "podGroup": "PodGroup is the name of the PodGroup within the Workload that this Pod belongs to. If it doesn't match any existing PodGroup within the Workload, the Pod will remain unschedulable until the Workload object is recreated and observed by the kube-scheduler. It must be a DNS label.",
- "podGroupReplicaKey": "PodGroupReplicaKey specifies the replica key of the PodGroup to which this Pod belongs. It is used to distinguish pods belonging to different replicas of the same pod group. The pod group policy is applied separately to each replica. When set, it must be a DNS label.",
-}
-
-func (WorkloadReference) SwaggerDoc() map[string]string {
- return map_WorkloadReference
-}
-
// AUTO-GENERATED FUNCTIONS END HERE
diff --git a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
index 15bc2ee03..4a0b717f3 100644
--- a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
@@ -484,6 +484,11 @@ func (in *ClusterTrustBundleProjection) DeepCopyInto(out *ClusterTrustBundleProj
*out = new(bool)
**out = **in
}
+ if in.User != nil {
+ in, out := &in.User, &out.User
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -773,6 +778,11 @@ func (in *ConfigMapVolumeSource) DeepCopyInto(out *ConfigMapVolumeSource) {
*out = new(bool)
**out = **in
}
+ if in.DefaultUser != nil {
+ in, out := &in.DefaultUser, &out.DefaultUser
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -1216,6 +1226,11 @@ func (in *DownwardAPIVolumeFile) DeepCopyInto(out *DownwardAPIVolumeFile) {
*out = new(int32)
**out = **in
}
+ if in.User != nil {
+ in, out := &in.User, &out.User
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -1244,6 +1259,11 @@ func (in *DownwardAPIVolumeSource) DeepCopyInto(out *DownwardAPIVolumeSource) {
*out = new(int32)
**out = **in
}
+ if in.DefaultUser != nil {
+ in, out := &in.DefaultUser, &out.DefaultUser
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -1265,6 +1285,11 @@ func (in *EmptyDirVolumeSource) DeepCopyInto(out *EmptyDirVolumeSource) {
x := (*in).DeepCopy()
*out = &x
}
+ if in.Mode != nil {
+ in, out := &in.Mode, &out.Mode
+ *out = new(int32)
+ **out = **in
+ }
return
}
@@ -1761,6 +1786,27 @@ func (in *EventSource) DeepCopy() *EventSource {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionResponder) DeepCopyInto(out *EvictionResponder) {
+ *out = *in
+ if in.Priority != nil {
+ in, out := &in.Priority, &out.Priority
+ *out = new(int32)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionResponder.
+func (in *EvictionResponder) DeepCopy() *EvictionResponder {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionResponder)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExecAction) DeepCopyInto(out *ExecAction) {
*out = *in
@@ -1930,6 +1976,11 @@ func (in *GRPCAction) DeepCopyInto(out *GRPCAction) {
*out = new(string)
**out = **in
}
+ if in.Mode != nil {
+ in, out := &in.Mode, &out.Mode
+ *out = new(GRPCProbeMode)
+ **out = **in
+ }
return
}
@@ -2005,6 +2056,11 @@ func (in *HTTPGetAction) DeepCopyInto(out *HTTPGetAction) {
*out = make([]HTTPHeader, len(*in))
copy(*out, *in)
}
+ if in.Protocol != nil {
+ in, out := &in.Protocol, &out.Protocol
+ *out = new(HTTPProtocol)
+ **out = **in
+ }
return
}
@@ -2170,6 +2226,22 @@ func (in *ImageVolumeSource) DeepCopy() *ImageVolumeSource {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ImageVolumeStatus) DeepCopyInto(out *ImageVolumeStatus) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageVolumeStatus.
+func (in *ImageVolumeStatus) DeepCopy() *ImageVolumeStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(ImageVolumeStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KeyToPath) DeepCopyInto(out *KeyToPath) {
*out = *in
@@ -2178,6 +2250,11 @@ func (in *KeyToPath) DeepCopyInto(out *KeyToPath) {
*out = new(int32)
**out = **in
}
+ if in.User != nil {
+ in, out := &in.User, &out.User
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -2760,6 +2837,88 @@ func (in *NodeAffinity) DeepCopy() *NodeAffinity {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NodeAllocatableMappedResources) DeepCopyInto(out *NodeAllocatableMappedResources) {
+ *out = *in
+ if in.Quantity != nil {
+ in, out := &in.Quantity, &out.Quantity
+ x := (*in).DeepCopy()
+ *out = &x
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAllocatableMappedResources.
+func (in *NodeAllocatableMappedResources) DeepCopy() *NodeAllocatableMappedResources {
+ if in == nil {
+ return nil
+ }
+ out := new(NodeAllocatableMappedResources)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NodeAllocatableOverheadResources) DeepCopyInto(out *NodeAllocatableOverheadResources) {
+ *out = *in
+ if in.PerPod != nil {
+ in, out := &in.PerPod, &out.PerPod
+ x := (*in).DeepCopy()
+ *out = &x
+ }
+ if in.PerContainer != nil {
+ in, out := &in.PerContainer, &out.PerContainer
+ x := (*in).DeepCopy()
+ *out = &x
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAllocatableOverheadResources.
+func (in *NodeAllocatableOverheadResources) DeepCopy() *NodeAllocatableOverheadResources {
+ if in == nil {
+ return nil
+ }
+ out := new(NodeAllocatableOverheadResources)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NodeAllocatableResourceClaimStatus) DeepCopyInto(out *NodeAllocatableResourceClaimStatus) {
+ *out = *in
+ if in.Containers != nil {
+ in, out := &in.Containers, &out.Containers
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ if in.Mapping != nil {
+ in, out := &in.Mapping, &out.Mapping
+ *out = make([]NodeAllocatableMappedResources, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.Overhead != nil {
+ in, out := &in.Overhead, &out.Overhead
+ *out = make([]NodeAllocatableOverheadResources, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAllocatableResourceClaimStatus.
+func (in *NodeAllocatableResourceClaimStatus) DeepCopy() *NodeAllocatableResourceClaimStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(NodeAllocatableResourceClaimStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NodeCondition) DeepCopyInto(out *NodeCondition) {
*out = *in
@@ -2901,6 +3060,27 @@ func (in *NodeList) DeepCopyObject() runtime.Object {
return nil
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NodePodPreemptionPolicy) DeepCopyInto(out *NodePodPreemptionPolicy) {
+ *out = *in
+ if in.DisableResizePreemption != nil {
+ in, out := &in.DisableResizePreemption, &out.DisableResizePreemption
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePodPreemptionPolicy.
+func (in *NodePodPreemptionPolicy) DeepCopy() *NodePodPreemptionPolicy {
+ if in == nil {
+ return nil
+ }
+ out := new(NodePodPreemptionPolicy)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NodeProxyOptions) DeepCopyInto(out *NodeProxyOptions) {
*out = *in
@@ -3067,6 +3247,11 @@ func (in *NodeSpec) DeepCopyInto(out *NodeSpec) {
*out = new(NodeConfigSource)
(*in).DeepCopyInto(*out)
}
+ if in.PodPreemptionPolicy != nil {
+ in, out := &in.PodPreemptionPolicy, &out.PodPreemptionPolicy
+ *out = new(NodePodPreemptionPolicy)
+ (*in).DeepCopyInto(*out)
+ }
return
}
@@ -3192,6 +3377,11 @@ func (in *NodeSystemInfo) DeepCopyInto(out *NodeSystemInfo) {
*out = new(NodeSwapStatus)
(*in).DeepCopyInto(*out)
}
+ if in.RunningInUserNamespace != nil {
+ in, out := &in.RunningInUserNamespace, &out.RunningInUserNamespace
+ *out = new(bool)
+ **out = **in
+ }
return
}
@@ -3450,6 +3640,11 @@ func (in *PersistentVolumeClaimStatus) DeepCopyInto(out *PersistentVolumeClaimSt
*out = new(ModifyVolumeStatus)
**out = **in
}
+ if in.HealthStatus != nil {
+ in, out := &in.HealthStatus, &out.HealthStatus
+ *out = new(VolumeHealthStatus)
+ (*in).DeepCopyInto(*out)
+ }
return
}
@@ -3915,6 +4110,11 @@ func (in *PodCertificateProjection) DeepCopyInto(out *PodCertificateProjection)
(*out)[key] = val
}
}
+ if in.User != nil {
+ in, out := &in.User, &out.User
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -4299,6 +4499,27 @@ func (in *PodSchedulingGate) DeepCopy() *PodSchedulingGate {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *PodSchedulingGroup) DeepCopyInto(out *PodSchedulingGroup) {
+ *out = *in
+ if in.PodGroupName != nil {
+ in, out := &in.PodGroupName, &out.PodGroupName
+ *out = new(string)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingGroup.
+func (in *PodSchedulingGroup) DeepCopy() *PodSchedulingGroup {
+ if in == nil {
+ return nil
+ }
+ out := new(PodSchedulingGroup)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodSecurityContext) DeepCopyInto(out *PodSecurityContext) {
*out = *in
@@ -4569,10 +4790,17 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) {
*out = new(string)
**out = **in
}
- if in.WorkloadRef != nil {
- in, out := &in.WorkloadRef, &out.WorkloadRef
- *out = new(WorkloadReference)
- **out = **in
+ if in.SchedulingGroup != nil {
+ in, out := &in.SchedulingGroup, &out.SchedulingGroup
+ *out = new(PodSchedulingGroup)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.EvictionResponders != nil {
+ in, out := &in.EvictionResponders, &out.EvictionResponders
+ *out = make([]EvictionResponder, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
}
return
}
@@ -4656,6 +4884,20 @@ func (in *PodStatus) DeepCopyInto(out *PodStatus) {
*out = new(ResourceRequirements)
(*in).DeepCopyInto(*out)
}
+ if in.NodeAllocatableResourceClaimStatuses != nil {
+ in, out := &in.NodeAllocatableResourceClaimStatuses, &out.NodeAllocatableResourceClaimStatuses
+ *out = make([]NodeAllocatableResourceClaimStatus, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.VolumeHealth != nil {
+ in, out := &in.VolumeHealth, &out.VolumeHealth
+ *out = make([]PodVolumeHealth, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
return
}
@@ -4669,33 +4911,6 @@ func (in *PodStatus) DeepCopy() *PodStatus {
return out
}
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodStatusResult) DeepCopyInto(out *PodStatusResult) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
- in.Status.DeepCopyInto(&out.Status)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodStatusResult.
-func (in *PodStatusResult) DeepCopy() *PodStatusResult {
- if in == nil {
- return nil
- }
- out := new(PodStatusResult)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *PodStatusResult) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodTemplate) DeepCopyInto(out *PodTemplate) {
*out = *in
@@ -4774,6 +4989,28 @@ func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *PodVolumeHealth) DeepCopyInto(out *PodVolumeHealth) {
+ *out = *in
+ if in.HealthConditions != nil {
+ in, out := &in.HealthConditions, &out.HealthConditions
+ *out = make([]VolumeHealthCondition, len(*in))
+ copy(*out, *in)
+ }
+ in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeHealth.
+func (in *PodVolumeHealth) DeepCopy() *PodVolumeHealth {
+ if in == nil {
+ return nil
+ }
+ out := new(PodVolumeHealth)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PortStatus) DeepCopyInto(out *PortStatus) {
*out = *in
@@ -4940,6 +5177,11 @@ func (in *ProjectedVolumeSource) DeepCopyInto(out *ProjectedVolumeSource) {
*out = new(int32)
**out = **in
}
+ if in.DefaultUser != nil {
+ in, out := &in.DefaultUser, &out.DefaultUser
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -5222,6 +5464,11 @@ func (in *ResourceFieldSelector) DeepCopy() *ResourceFieldSelector {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceHealth) DeepCopyInto(out *ResourceHealth) {
*out = *in
+ if in.Message != nil {
+ in, out := &in.Message, &out.Message
+ *out = new(string)
+ **out = **in
+ }
return
}
@@ -5422,7 +5669,9 @@ func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus) {
if in.Resources != nil {
in, out := &in.Resources, &out.Resources
*out = make([]ResourceHealth, len(*in))
- copy(*out, *in)
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
}
return
}
@@ -5755,6 +6004,11 @@ func (in *SecretVolumeSource) DeepCopyInto(out *SecretVolumeSource) {
*out = new(bool)
**out = **in
}
+ if in.DefaultUser != nil {
+ in, out := &in.DefaultUser, &out.DefaultUser
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -5980,6 +6234,11 @@ func (in *ServiceAccountTokenProjection) DeepCopyInto(out *ServiceAccountTokenPr
*out = new(int64)
**out = **in
}
+ if in.User != nil {
+ in, out := &in.User, &out.User
+ *out = new(int64)
+ **out = **in
+ }
return
}
@@ -6495,6 +6754,44 @@ func (in *VolumeDevice) DeepCopy() *VolumeDevice {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *VolumeHealthCondition) DeepCopyInto(out *VolumeHealthCondition) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeHealthCondition.
+func (in *VolumeHealthCondition) DeepCopy() *VolumeHealthCondition {
+ if in == nil {
+ return nil
+ }
+ out := new(VolumeHealthCondition)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *VolumeHealthStatus) DeepCopyInto(out *VolumeHealthStatus) {
+ *out = *in
+ if in.HealthConditions != nil {
+ in, out := &in.HealthConditions, &out.HealthConditions
+ *out = make([]VolumeHealthCondition, len(*in))
+ copy(*out, *in)
+ }
+ in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeHealthStatus.
+func (in *VolumeHealthStatus) DeepCopy() *VolumeHealthStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(VolumeHealthStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VolumeMount) DeepCopyInto(out *VolumeMount) {
*out = *in
@@ -6508,6 +6805,11 @@ func (in *VolumeMount) DeepCopyInto(out *VolumeMount) {
*out = new(MountPropagationMode)
**out = **in
}
+ if in.BindMountOptions != nil {
+ in, out := &in.BindMountOptions, &out.BindMountOptions
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
return
}
@@ -6529,6 +6831,11 @@ func (in *VolumeMountStatus) DeepCopyInto(out *VolumeMountStatus) {
*out = new(RecursiveReadOnlyMode)
**out = **in
}
+ if in.VolumeStatus != nil {
+ in, out := &in.VolumeStatus, &out.VolumeStatus
+ *out = new(VolumeStatus)
+ (*in).DeepCopyInto(*out)
+ }
return
}
@@ -6805,6 +7112,27 @@ func (in *VolumeSource) DeepCopy() *VolumeSource {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *VolumeStatus) DeepCopyInto(out *VolumeStatus) {
+ *out = *in
+ if in.Image != nil {
+ in, out := &in.Image, &out.Image
+ *out = new(ImageVolumeStatus)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeStatus.
+func (in *VolumeStatus) DeepCopy() *VolumeStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(VolumeStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VsphereVirtualDiskVolumeSource) DeepCopyInto(out *VsphereVirtualDiskVolumeSource) {
*out = *in
@@ -6873,19 +7201,3 @@ func (in *WindowsSecurityContextOptions) DeepCopy() *WindowsSecurityContextOptio
in.DeepCopyInto(out)
return out
}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *WorkloadReference) DeepCopyInto(out *WorkloadReference) {
- *out = *in
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadReference.
-func (in *WorkloadReference) DeepCopy() *WorkloadReference {
- if in == nil {
- return nil
- }
- out := new(WorkloadReference)
- in.DeepCopyInto(out)
- return out
-}
diff --git a/vendor/k8s.io/api/core/v1/zz_generated.model_name.go b/vendor/k8s.io/api/core/v1/zz_generated.model_name.go
index 523bb3a85..65cfb59c1 100644
--- a/vendor/k8s.io/api/core/v1/zz_generated.model_name.go
+++ b/vendor/k8s.io/api/core/v1/zz_generated.model_name.go
@@ -326,6 +326,11 @@ func (in EventSource) OpenAPIModelName() string {
return "io.k8s.api.core.v1.EventSource"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionResponder) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.EvictionResponder"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in ExecAction) OpenAPIModelName() string {
return "io.k8s.api.core.v1.ExecAction"
@@ -421,6 +426,11 @@ func (in ImageVolumeSource) OpenAPIModelName() string {
return "io.k8s.api.core.v1.ImageVolumeSource"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in ImageVolumeStatus) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.ImageVolumeStatus"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in KeyToPath) OpenAPIModelName() string {
return "io.k8s.api.core.v1.KeyToPath"
@@ -536,6 +546,21 @@ func (in NodeAffinity) OpenAPIModelName() string {
return "io.k8s.api.core.v1.NodeAffinity"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in NodeAllocatableMappedResources) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.NodeAllocatableMappedResources"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in NodeAllocatableOverheadResources) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.NodeAllocatableOverheadResources"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in NodeAllocatableResourceClaimStatus) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.NodeAllocatableResourceClaimStatus"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in NodeCondition) OpenAPIModelName() string {
return "io.k8s.api.core.v1.NodeCondition"
@@ -566,6 +591,11 @@ func (in NodeList) OpenAPIModelName() string {
return "io.k8s.api.core.v1.NodeList"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in NodePodPreemptionPolicy) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.NodePodPreemptionPolicy"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in NodeProxyOptions) OpenAPIModelName() string {
return "io.k8s.api.core.v1.NodeProxyOptions"
@@ -796,6 +826,11 @@ func (in PodSchedulingGate) OpenAPIModelName() string {
return "io.k8s.api.core.v1.PodSchedulingGate"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in PodSchedulingGroup) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.PodSchedulingGroup"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in PodSecurityContext) OpenAPIModelName() string {
return "io.k8s.api.core.v1.PodSecurityContext"
@@ -816,11 +851,6 @@ func (in PodStatus) OpenAPIModelName() string {
return "io.k8s.api.core.v1.PodStatus"
}
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in PodStatusResult) OpenAPIModelName() string {
- return "io.k8s.api.core.v1.PodStatusResult"
-}
-
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in PodTemplate) OpenAPIModelName() string {
return "io.k8s.api.core.v1.PodTemplate"
@@ -836,6 +866,11 @@ func (in PodTemplateSpec) OpenAPIModelName() string {
return "io.k8s.api.core.v1.PodTemplateSpec"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in PodVolumeHealth) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.PodVolumeHealth"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in PortStatus) OpenAPIModelName() string {
return "io.k8s.api.core.v1.PortStatus"
@@ -1161,6 +1196,16 @@ func (in VolumeDevice) OpenAPIModelName() string {
return "io.k8s.api.core.v1.VolumeDevice"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in VolumeHealthCondition) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.VolumeHealthCondition"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in VolumeHealthStatus) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.VolumeHealthStatus"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in VolumeMount) OpenAPIModelName() string {
return "io.k8s.api.core.v1.VolumeMount"
@@ -1191,6 +1236,11 @@ func (in VolumeSource) OpenAPIModelName() string {
return "io.k8s.api.core.v1.VolumeSource"
}
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in VolumeStatus) OpenAPIModelName() string {
+ return "io.k8s.api.core.v1.VolumeStatus"
+}
+
// OpenAPIModelName returns the OpenAPI model name for this type.
func (in VsphereVirtualDiskVolumeSource) OpenAPIModelName() string {
return "io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource"
@@ -1205,8 +1255,3 @@ func (in WeightedPodAffinityTerm) OpenAPIModelName() string {
func (in WindowsSecurityContextOptions) OpenAPIModelName() string {
return "io.k8s.api.core.v1.WindowsSecurityContextOptions"
}
-
-// OpenAPIModelName returns the OpenAPI model name for this type.
-func (in WorkloadReference) OpenAPIModelName() string {
- return "io.k8s.api.core.v1.WorkloadReference"
-}
diff --git a/vendor/k8s.io/api/core/v1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/core/v1/zz_generated.prerelease-lifecycle.go
index 6710a96d1..d473e3099 100644
--- a/vendor/k8s.io/api/core/v1/zz_generated.prerelease-lifecycle.go
+++ b/vendor/k8s.io/api/core/v1/zz_generated.prerelease-lifecycle.go
@@ -177,12 +177,6 @@ func (in *PodProxyOptions) APILifecycleIntroduced() (major, minor int) {
return 1, 0
}
-// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
-// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
-func (in *PodStatusResult) APILifecycleIntroduced() (major, minor int) {
- return 1, 0
-}
-
// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
func (in *PodTemplate) APILifecycleIntroduced() (major, minor int) {
diff --git a/vendor/k8s.io/api/discovery/v1/generated.proto b/vendor/k8s.io/api/discovery/v1/generated.proto
index 97582a1b2..a1713290d 100644
--- a/vendor/k8s.io/api/discovery/v1/generated.proto
+++ b/vendor/k8s.io/api/discovery/v1/generated.proto
@@ -38,6 +38,9 @@ message Endpoint {
// controller will always have exactly 1 address. No semantics are defined for
// additional addresses beyond the first, and kube-proxy does not look at them.
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:maxItems=100
repeated string addresses = 1;
// conditions contains information about the current status of the endpoint.
@@ -181,11 +184,16 @@ message EndpointSlice {
// The EndpointSlice controller only generates, and kube-proxy only processes,
// slices of addressType "IPv4" and "IPv6". No semantics are defined for
// the "FQDN" type.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:immutable
optional string addressType = 4;
// endpoints is a list of unique endpoints in this slice. Each slice may
// include a maximum of 1000 endpoints.
+ // +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated Endpoint endpoints = 2;
// ports specifies the list of network ports exposed by each endpoint in
diff --git a/vendor/k8s.io/api/discovery/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/discovery/v1/generated.protomessage.pb.go
deleted file mode 100644
index 9e246b87b..000000000
--- a/vendor/k8s.io/api/discovery/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,38 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*Endpoint) ProtoMessage() {}
-
-func (*EndpointConditions) ProtoMessage() {}
-
-func (*EndpointHints) ProtoMessage() {}
-
-func (*EndpointPort) ProtoMessage() {}
-
-func (*EndpointSlice) ProtoMessage() {}
-
-func (*EndpointSliceList) ProtoMessage() {}
-
-func (*ForNode) ProtoMessage() {}
-
-func (*ForZone) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/discovery/v1/types.go b/vendor/k8s.io/api/discovery/v1/types.go
index ca78ce386..a5b5f827b 100644
--- a/vendor/k8s.io/api/discovery/v1/types.go
+++ b/vendor/k8s.io/api/discovery/v1/types.go
@@ -32,7 +32,7 @@ import (
// by listing EndpointSlices in the service's namespace whose `kubernetes.io/service-name`
// label contains the service's name.
type EndpointSlice struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// +optional
@@ -48,11 +48,16 @@ type EndpointSlice struct {
// The EndpointSlice controller only generates, and kube-proxy only processes,
// slices of addressType "IPv4" and "IPv6". No semantics are defined for
// the "FQDN" type.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:immutable
AddressType AddressType `json:"addressType" protobuf:"bytes,4,rep,name=addressType"`
// endpoints is a list of unique endpoints in this slice. Each slice may
// include a maximum of 1000 endpoints.
+ // +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
Endpoints []Endpoint `json:"endpoints" protobuf:"bytes,2,rep,name=endpoints"`
// ports specifies the list of network ports exposed by each endpoint in
@@ -68,6 +73,7 @@ type EndpointSlice struct {
// AddressType represents the type of address referred to by an endpoint.
// +enum
+// +k8s:beta(since: "1.37")=+k8s:enum
type AddressType string
const (
@@ -90,6 +96,9 @@ type Endpoint struct {
// controller will always have exactly 1 address. No semantics are defined for
// additional addresses beyond the first, and kube-proxy does not look at them.
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:maxItems=100
Addresses []string `json:"addresses" protobuf:"bytes,1,rep,name=addresses"`
// conditions contains information about the current status of the endpoint.
@@ -229,7 +238,7 @@ type EndpointPort struct {
// EndpointSliceList represents a list of endpoint slices
type EndpointSliceList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
diff --git a/vendor/k8s.io/api/discovery/v1beta1/generated.proto b/vendor/k8s.io/api/discovery/v1beta1/generated.proto
index 7b9d983b8..fa45b0ed9 100644
--- a/vendor/k8s.io/api/discovery/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/discovery/v1beta1/generated.proto
@@ -38,6 +38,9 @@ message Endpoint {
// 100. These are all assumed to be fungible and clients may choose to only
// use the first element. Refer to: https://issue.k8s.io/106267
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:maxItems=100
repeated string addresses = 1;
// conditions contains information about the current status of the endpoint.
@@ -167,11 +170,15 @@ message EndpointSlice {
// * IPv4: Represents an IPv4 Address.
// * IPv6: Represents an IPv6 Address.
// * FQDN: Represents a Fully Qualified Domain Name.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:immutable
optional string addressType = 4;
// endpoints is a list of unique endpoints in this slice. Each slice may
// include a maximum of 1000 endpoints.
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated Endpoint endpoints = 2;
// ports specifies the list of network ports exposed by each endpoint in
diff --git a/vendor/k8s.io/api/discovery/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/discovery/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index 6e60bb139..000000000
--- a/vendor/k8s.io/api/discovery/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,38 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*Endpoint) ProtoMessage() {}
-
-func (*EndpointConditions) ProtoMessage() {}
-
-func (*EndpointHints) ProtoMessage() {}
-
-func (*EndpointPort) ProtoMessage() {}
-
-func (*EndpointSlice) ProtoMessage() {}
-
-func (*EndpointSliceList) ProtoMessage() {}
-
-func (*ForNode) ProtoMessage() {}
-
-func (*ForZone) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/discovery/v1beta1/types.go b/vendor/k8s.io/api/discovery/v1beta1/types.go
index 11ec1b396..ef7cf4ab3 100644
--- a/vendor/k8s.io/api/discovery/v1beta1/types.go
+++ b/vendor/k8s.io/api/discovery/v1beta1/types.go
@@ -32,7 +32,7 @@ import (
// For a given service there may be multiple EndpointSlice objects, selected by
// labels, which must be joined to produce the full set of endpoints.
type EndpointSlice struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// +optional
@@ -45,11 +45,15 @@ type EndpointSlice struct {
// * IPv4: Represents an IPv4 Address.
// * IPv6: Represents an IPv6 Address.
// * FQDN: Represents a Fully Qualified Domain Name.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:immutable
AddressType AddressType `json:"addressType" protobuf:"bytes,4,rep,name=addressType"`
// endpoints is a list of unique endpoints in this slice. Each slice may
// include a maximum of 1000 endpoints.
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
Endpoints []Endpoint `json:"endpoints" protobuf:"bytes,2,rep,name=endpoints"`
// ports specifies the list of network ports exposed by each endpoint in
@@ -63,6 +67,8 @@ type EndpointSlice struct {
}
// AddressType represents the type of address referred to by an endpoint.
+// +enum
+// +k8s:beta(since: "1.37")=+k8s:enum
type AddressType string
const (
@@ -85,6 +91,9 @@ type Endpoint struct {
// 100. These are all assumed to be fungible and clients may choose to only
// use the first element. Refer to: https://issue.k8s.io/106267
// +listType=set
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:maxItems=100
Addresses []string `json:"addresses" protobuf:"bytes,1,rep,name=addresses"`
// conditions contains information about the current status of the endpoint.
@@ -219,7 +228,7 @@ type EndpointPort struct {
// EndpointSliceList represents a list of endpoint slices
type EndpointSliceList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
diff --git a/vendor/k8s.io/api/events/v1/generated.proto b/vendor/k8s.io/api/events/v1/generated.proto
index 6c7e4cca1..f1e63a33a 100644
--- a/vendor/k8s.io/api/events/v1/generated.proto
+++ b/vendor/k8s.io/api/events/v1/generated.proto
@@ -36,7 +36,7 @@ option go_package = "k8s.io/api/events/v1";
// continued existence of events with that Reason. Events should be
// treated as informative, best-effort, supplemental data.
message Event {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -105,7 +105,7 @@ message Event {
// EventList is a list of Event objects.
message EventList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
diff --git a/vendor/k8s.io/api/events/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/events/v1/generated.protomessage.pb.go
deleted file mode 100644
index 09ff231da..000000000
--- a/vendor/k8s.io/api/events/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,28 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*Event) ProtoMessage() {}
-
-func (*EventList) ProtoMessage() {}
-
-func (*EventSeries) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/events/v1/types.go b/vendor/k8s.io/api/events/v1/types.go
index 86b12eee1..c54528410 100644
--- a/vendor/k8s.io/api/events/v1/types.go
+++ b/vendor/k8s.io/api/events/v1/types.go
@@ -32,9 +32,9 @@ import (
// continued existence of events with that Reason. Events should be
// treated as informative, best-effort, supplemental data.
type Event struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"`
@@ -114,8 +114,8 @@ type EventSeries struct {
// EventList is a list of Event objects.
type EventList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
diff --git a/vendor/k8s.io/api/events/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/events/v1/types_swagger_doc_generated.go
index 44ac0c3bb..f5b83f049 100644
--- a/vendor/k8s.io/api/events/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/events/v1/types_swagger_doc_generated.go
@@ -29,7 +29,7 @@ package v1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_Event = map[string]string{
"": "Event is a report of an event somewhere in the cluster. It generally denotes some state change in the system. Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given Reason reflecting a consistent underlying trigger, or the continued existence of events with that Reason. Events should be treated as informative, best-effort, supplemental data.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"eventTime": "eventTime is the time when this Event was first observed. It is required.",
"series": "series is data about the Event series this event represents or nil if it's a singleton Event.",
"reportingController": "reportingController is the name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`. This field cannot be empty for new Events.",
@@ -52,7 +52,7 @@ func (Event) SwaggerDoc() map[string]string {
var map_EventList = map[string]string{
"": "EventList is a list of Event objects.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"items": "items is a list of schema objects.",
}
diff --git a/vendor/k8s.io/api/events/v1beta1/generated.proto b/vendor/k8s.io/api/events/v1beta1/generated.proto
index fbdb30970..6e39c03bc 100644
--- a/vendor/k8s.io/api/events/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/events/v1beta1/generated.proto
@@ -36,7 +36,7 @@ option go_package = "k8s.io/api/events/v1beta1";
// continued existence of events with that Reason. Events should be
// treated as informative, best-effort, supplemental data.
message Event {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -109,7 +109,7 @@ message Event {
// EventList is a list of Event objects.
message EventList {
- // Standard list metadata.
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
diff --git a/vendor/k8s.io/api/events/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/events/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index a70924a20..000000000
--- a/vendor/k8s.io/api/events/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,28 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*Event) ProtoMessage() {}
-
-func (*EventList) ProtoMessage() {}
-
-func (*EventSeries) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/events/v1beta1/types.go b/vendor/k8s.io/api/events/v1beta1/types.go
index 5bb6f92b2..dfe1e4cc1 100644
--- a/vendor/k8s.io/api/events/v1beta1/types.go
+++ b/vendor/k8s.io/api/events/v1beta1/types.go
@@ -33,9 +33,9 @@ import (
// continued existence of events with that Reason. Events should be
// treated as informative, best-effort, supplemental data.
type Event struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"`
@@ -120,8 +120,8 @@ type EventSeries struct {
// EventList is a list of Event objects.
type EventList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
diff --git a/vendor/k8s.io/api/events/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/events/v1beta1/types_swagger_doc_generated.go
index e6c28a4f8..4f188b2ab 100644
--- a/vendor/k8s.io/api/events/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/events/v1beta1/types_swagger_doc_generated.go
@@ -29,7 +29,7 @@ package v1beta1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_Event = map[string]string{
"": "Event is a report of an event somewhere in the cluster. It generally denotes some state change in the system. Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given Reason reflecting a consistent underlying trigger, or the continued existence of events with that Reason. Events should be treated as informative, best-effort, supplemental data.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"eventTime": "eventTime is the time when this Event was first observed. It is required.",
"series": "series is data about the Event series this event represents or nil if it's a singleton Event.",
"reportingController": "reportingController is the name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`. This field cannot be empty for new Events.",
@@ -52,7 +52,7 @@ func (Event) SwaggerDoc() map[string]string {
var map_EventList = map[string]string{
"": "EventList is a list of Event objects.",
- "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"items": "items is a list of schema objects.",
}
diff --git a/vendor/k8s.io/api/extensions/v1beta1/doc.go b/vendor/k8s.io/api/extensions/v1beta1/doc.go
index bf39ca3e1..98ccb7685 100644
--- a/vendor/k8s.io/api/extensions/v1beta1/doc.go
+++ b/vendor/k8s.io/api/extensions/v1beta1/doc.go
@@ -19,7 +19,8 @@ limitations under the License.
// +k8s:openapi-gen=true
// +k8s:prerelease-lifecycle-gen=true
// +k8s:openapi-model-package=io.k8s.api.extensions.v1beta1
-// +k8s:validation-gen=TypeMeta
-// +k8s:validation-gen-input=k8s.io/api/extensions/v1beta1
+// extensions/v1beta1 is permanently unserved, so version-specific declarative
+// validation here is unreachable.
+// +k8s:validation-gen=false
package v1beta1
diff --git a/vendor/k8s.io/api/extensions/v1beta1/generated.proto b/vendor/k8s.io/api/extensions/v1beta1/generated.proto
index c664c71bd..9d45061d5 100644
--- a/vendor/k8s.io/api/extensions/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/extensions/v1beta1/generated.proto
@@ -33,6 +33,7 @@ option go_package = "k8s.io/api/extensions/v1beta1";
// DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the release notes for
// more information.
// DaemonSet represents the configuration of a daemon set.
+// +k8s:supportsSubresource="/status"
message DaemonSet {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -202,6 +203,7 @@ message DaemonSetUpdateStrategy {
// DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for
// more information.
// Deployment enables declarative updates for Pods and ReplicaSets.
+// +k8s:supportsSubresource="/status"
message Deployment {
// Standard object metadata.
// +optional
@@ -428,6 +430,8 @@ message HTTPIngressRuleValue {
message IPBlock {
// CIDR is a string representing the IP Block
// Valid examples are "192.168.1.0/24" or "2001:db8::/64"
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string cidr = 1;
// Except is a slice of CIDRs that should not be included within an IP Block
@@ -443,6 +447,7 @@ message IPBlock {
// externally-reachable urls, load balance traffic, terminate SSL, offer name
// based virtual hosting etc.
// DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information.
+// +k8s:supportsSubresource="/status"
message Ingress {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -686,6 +691,7 @@ message NetworkPolicyEgressRule {
// allows traffic only if the traffic matches at least one item in the to list.
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated NetworkPolicyPeer to = 2;
}
@@ -708,6 +714,7 @@ message NetworkPolicyIngressRule {
// traffic matches at least one item in the from list.
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated NetworkPolicyPeer from = 2;
}
@@ -746,6 +753,7 @@ message NetworkPolicyPeer {
// IPBlock defines policy on a particular IPBlock. If this field is set then
// neither of the other fields can be.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
optional IPBlock ipBlock = 3;
}
@@ -789,6 +797,7 @@ message NetworkPolicySpec {
// (and serves solely to ensure that the pods it selects are isolated by default).
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated NetworkPolicyIngressRule ingress = 2;
// List of egress rules to be applied to the selected pods. Outgoing traffic is
@@ -800,6 +809,7 @@ message NetworkPolicySpec {
// This field is beta-level in 1.8
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated NetworkPolicyEgressRule egress = 3;
// List of rule types that the NetworkPolicy relates to.
@@ -820,6 +830,7 @@ message NetworkPolicySpec {
// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the release notes for
// more information.
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
+// +k8s:supportsSubresource="/status"
message ReplicaSet {
// If the Labels of a ReplicaSet are empty, they are defaulted to
// be the same as the Pod(s) that the ReplicaSet manages.
@@ -1039,9 +1050,9 @@ message Scale {
message ScaleSpec {
// desired number of instances for the scaled object.
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
optional int32 replicas = 1;
}
diff --git a/vendor/k8s.io/api/extensions/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/extensions/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index ef18ae299..000000000
--- a/vendor/k8s.io/api/extensions/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,112 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*DaemonSet) ProtoMessage() {}
-
-func (*DaemonSetCondition) ProtoMessage() {}
-
-func (*DaemonSetList) ProtoMessage() {}
-
-func (*DaemonSetSpec) ProtoMessage() {}
-
-func (*DaemonSetStatus) ProtoMessage() {}
-
-func (*DaemonSetUpdateStrategy) ProtoMessage() {}
-
-func (*Deployment) ProtoMessage() {}
-
-func (*DeploymentCondition) ProtoMessage() {}
-
-func (*DeploymentList) ProtoMessage() {}
-
-func (*DeploymentRollback) ProtoMessage() {}
-
-func (*DeploymentSpec) ProtoMessage() {}
-
-func (*DeploymentStatus) ProtoMessage() {}
-
-func (*DeploymentStrategy) ProtoMessage() {}
-
-func (*HTTPIngressPath) ProtoMessage() {}
-
-func (*HTTPIngressRuleValue) ProtoMessage() {}
-
-func (*IPBlock) ProtoMessage() {}
-
-func (*Ingress) ProtoMessage() {}
-
-func (*IngressBackend) ProtoMessage() {}
-
-func (*IngressList) ProtoMessage() {}
-
-func (*IngressLoadBalancerIngress) ProtoMessage() {}
-
-func (*IngressLoadBalancerStatus) ProtoMessage() {}
-
-func (*IngressPortStatus) ProtoMessage() {}
-
-func (*IngressRule) ProtoMessage() {}
-
-func (*IngressRuleValue) ProtoMessage() {}
-
-func (*IngressSpec) ProtoMessage() {}
-
-func (*IngressStatus) ProtoMessage() {}
-
-func (*IngressTLS) ProtoMessage() {}
-
-func (*NetworkPolicy) ProtoMessage() {}
-
-func (*NetworkPolicyEgressRule) ProtoMessage() {}
-
-func (*NetworkPolicyIngressRule) ProtoMessage() {}
-
-func (*NetworkPolicyList) ProtoMessage() {}
-
-func (*NetworkPolicyPeer) ProtoMessage() {}
-
-func (*NetworkPolicyPort) ProtoMessage() {}
-
-func (*NetworkPolicySpec) ProtoMessage() {}
-
-func (*ReplicaSet) ProtoMessage() {}
-
-func (*ReplicaSetCondition) ProtoMessage() {}
-
-func (*ReplicaSetList) ProtoMessage() {}
-
-func (*ReplicaSetSpec) ProtoMessage() {}
-
-func (*ReplicaSetStatus) ProtoMessage() {}
-
-func (*RollbackConfig) ProtoMessage() {}
-
-func (*RollingUpdateDaemonSet) ProtoMessage() {}
-
-func (*RollingUpdateDeployment) ProtoMessage() {}
-
-func (*Scale) ProtoMessage() {}
-
-func (*ScaleSpec) ProtoMessage() {}
-
-func (*ScaleStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/extensions/v1beta1/types.go b/vendor/k8s.io/api/extensions/v1beta1/types.go
index c0d8b4f95..e0caf1982 100644
--- a/vendor/k8s.io/api/extensions/v1beta1/types.go
+++ b/vendor/k8s.io/api/extensions/v1beta1/types.go
@@ -27,9 +27,9 @@ import (
type ScaleSpec struct {
// desired number of instances for the scaled object.
// +optional
- // +k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
// +default=0
- // +k8s:minimum=0
+ // +k8s:beta(since: "1.37")=+k8s:minimum=0
Replicas int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
}
@@ -57,11 +57,11 @@ type ScaleStatus struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.1
// +k8s:prerelease-lifecycle-gen:deprecated=1.2
// +k8s:prerelease-lifecycle-gen:removed=1.16
-// +k8s:isSubresource=/scale
+// +k8s:isSubresource="/scale"
// represents a scaling request for a resource.
type Scale struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -88,8 +88,9 @@ type Scale struct {
// DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for
// more information.
// Deployment enables declarative updates for Pods and ReplicaSets.
+// +k8s:supportsSubresource="/status"
type Deployment struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -164,7 +165,7 @@ type DeploymentSpec struct {
// DEPRECATED.
// DeploymentRollback stores the information required to rollback a deployment.
type DeploymentRollback struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Required: This must match the Name of a deployment.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// The annotations to be updated to a deployment
@@ -333,7 +334,7 @@ type DeploymentCondition struct {
// DeploymentList is a list of Deployments.
type DeploymentList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -539,8 +540,9 @@ type DaemonSetCondition struct {
// DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the release notes for
// more information.
// DaemonSet represents the configuration of a daemon set.
+// +k8s:supportsSubresource="/status"
type DaemonSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -581,7 +583,7 @@ const (
// DaemonSetList is a collection of daemon sets.
type DaemonSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -603,8 +605,9 @@ type DaemonSetList struct {
// externally-reachable urls, load balance traffic, terminate SSL, offer name
// based virtual hosting etc.
// DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information.
+// +k8s:supportsSubresource="/status"
type Ingress struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -629,7 +632,7 @@ type Ingress struct {
// IngressList is a collection of Ingress.
type IngressList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -786,7 +789,7 @@ type IngressRule struct {
// default backend, is left to the controller fulfilling the Ingress. Http is
// currently the only supported IngressRuleValue.
// +optional
- IngressRuleValue `json:",inline" protobuf:"bytes,2,opt,name=ingressRuleValue"`
+ IngressRuleValue `json:"" protobuf:"bytes,2,opt,name=ingressRuleValue"`
}
// IngressRuleValue represents a rule to apply against incoming requests. If the
@@ -914,8 +917,9 @@ type IngressBackend struct {
// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the release notes for
// more information.
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
+// +k8s:supportsSubresource="/status"
type ReplicaSet struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// If the Labels of a ReplicaSet are empty, they are defaulted to
// be the same as the Pod(s) that the ReplicaSet manages.
@@ -945,7 +949,7 @@ type ReplicaSet struct {
// ReplicaSetList is a collection of ReplicaSets.
type ReplicaSetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
@@ -1060,7 +1064,7 @@ type ReplicaSetCondition struct {
// DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy.
// NetworkPolicy describes what network traffic is allowed for a set of Pods
type NetworkPolicy struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -1106,6 +1110,7 @@ type NetworkPolicySpec struct {
// (and serves solely to ensure that the pods it selects are isolated by default).
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
Ingress []NetworkPolicyIngressRule `json:"ingress,omitempty" protobuf:"bytes,2,rep,name=ingress"`
// List of egress rules to be applied to the selected pods. Outgoing traffic is
@@ -1117,6 +1122,7 @@ type NetworkPolicySpec struct {
// This field is beta-level in 1.8
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
Egress []NetworkPolicyEgressRule `json:"egress,omitempty" protobuf:"bytes,3,rep,name=egress"`
// List of rule types that the NetworkPolicy relates to.
@@ -1153,6 +1159,7 @@ type NetworkPolicyIngressRule struct {
// traffic matches at least one item in the from list.
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
From []NetworkPolicyPeer `json:"from,omitempty" protobuf:"bytes,2,rep,name=from"`
}
@@ -1177,6 +1184,7 @@ type NetworkPolicyEgressRule struct {
// allows traffic only if the traffic matches at least one item in the to list.
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
To []NetworkPolicyPeer `json:"to,omitempty" protobuf:"bytes,2,rep,name=to"`
}
@@ -1209,6 +1217,8 @@ type NetworkPolicyPort struct {
type IPBlock struct {
// CIDR is a string representing the IP Block
// Valid examples are "192.168.1.0/24" or "2001:db8::/64"
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
CIDR string `json:"cidr" protobuf:"bytes,1,name=cidr"`
// Except is a slice of CIDRs that should not be included within an IP Block
// Valid examples are "192.168.1.0/24" or "2001:db8::/64"
@@ -1241,6 +1251,7 @@ type NetworkPolicyPeer struct {
// IPBlock defines policy on a particular IPBlock. If this field is set then
// neither of the other fields can be.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
IPBlock *IPBlock `json:"ipBlock,omitempty" protobuf:"bytes,3,rep,name=ipBlock"`
}
@@ -1253,7 +1264,7 @@ type NetworkPolicyPeer struct {
// DEPRECATED 1.9 - This group version of NetworkPolicyList is deprecated by networking/v1/NetworkPolicyList.
// Network Policy List is a list of NetworkPolicy objects.
type NetworkPolicyList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/extensions/v1beta1/zz_generated.validations.go b/vendor/k8s.io/api/extensions/v1beta1/zz_generated.validations.go
deleted file mode 100644
index f4f0e317a..000000000
--- a/vendor/k8s.io/api/extensions/v1beta1/zz_generated.validations.go
+++ /dev/null
@@ -1,90 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by validation-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- context "context"
- fmt "fmt"
-
- operation "k8s.io/apimachinery/pkg/api/operation"
- safe "k8s.io/apimachinery/pkg/api/safe"
- validate "k8s.io/apimachinery/pkg/api/validate"
- runtime "k8s.io/apimachinery/pkg/runtime"
- field "k8s.io/apimachinery/pkg/util/validation/field"
-)
-
-func init() { localSchemeBuilder.Register(RegisterValidations) }
-
-// RegisterValidations adds validation functions to the given scheme.
-// Public to allow building arbitrary schemes.
-func RegisterValidations(scheme *runtime.Scheme) error {
- // type Scale
- scheme.AddValidationFunc((*Scale)(nil), func(ctx context.Context, op operation.Operation, obj, oldObj interface{}) field.ErrorList {
- switch op.Request.SubresourcePath() {
- case "/scale":
- return Validate_Scale(ctx, op, nil /* fldPath */, obj.(*Scale), safe.Cast[*Scale](oldObj))
- }
- return field.ErrorList{field.InternalError(nil, fmt.Errorf("no validation found for %T, subresource: %v", obj, op.Request.SubresourcePath()))}
- })
- return nil
-}
-
-// Validate_Scale validates an instance of Scale according
-// to declarative validation rules in the API schema.
-func Validate_Scale(ctx context.Context, op operation.Operation, fldPath *field.Path, obj, oldObj *Scale) (errs field.ErrorList) {
- // field Scale.TypeMeta has no validation
- // field Scale.ObjectMeta has no validation
-
- // field Scale.Spec
- errs = append(errs,
- func(fldPath *field.Path, obj, oldObj *ScaleSpec, oldValueCorrelated bool) (errs field.ErrorList) {
- // don't revalidate unchanged data
- if oldValueCorrelated && op.Type == operation.Update && (obj == oldObj || (obj != nil && oldObj != nil && *obj == *oldObj)) {
- return nil
- }
- // call the type's validation function
- errs = append(errs, Validate_ScaleSpec(ctx, op, fldPath, obj, oldObj)...)
- return
- }(fldPath.Child("spec"), &obj.Spec, safe.Field(oldObj, func(oldObj *Scale) *ScaleSpec { return &oldObj.Spec }), oldObj != nil)...)
-
- // field Scale.Status has no validation
- return errs
-}
-
-// Validate_ScaleSpec validates an instance of ScaleSpec according
-// to declarative validation rules in the API schema.
-func Validate_ScaleSpec(ctx context.Context, op operation.Operation, fldPath *field.Path, obj, oldObj *ScaleSpec) (errs field.ErrorList) {
- // field ScaleSpec.Replicas
- errs = append(errs,
- func(fldPath *field.Path, obj, oldObj *int32, oldValueCorrelated bool) (errs field.ErrorList) {
- // optional value-type fields with zero-value defaults are purely documentation
- // don't revalidate unchanged data
- if oldValueCorrelated && op.Type == operation.Update && (obj == oldObj || (obj != nil && oldObj != nil && *obj == *oldObj)) {
- return nil
- }
- // call field-attached validations
- errs = append(errs, validate.Minimum(ctx, op, fldPath, obj, oldObj, 0)...)
- return
- }(fldPath.Child("replicas"), &obj.Replicas, safe.Field(oldObj, func(oldObj *ScaleSpec) *int32 { return &oldObj.Replicas }), oldObj != nil)...)
-
- return errs
-}
diff --git a/vendor/k8s.io/api/flowcontrol/v1/generated.proto b/vendor/k8s.io/api/flowcontrol/v1/generated.proto
index 33a135889..29e51ed05 100644
--- a/vendor/k8s.io/api/flowcontrol/v1/generated.proto
+++ b/vendor/k8s.io/api/flowcontrol/v1/generated.proto
@@ -67,11 +67,13 @@ message FlowDistinguisherMethod {
// `type` is the type of flow distinguisher method
// The supported types are "ByUser" and "ByNamespace".
// Required.
+ // +required
optional string type = 1;
}
// FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with
// similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".
+// +k8s:supportsSubresource="/status"
message FlowSchema {
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -80,7 +82,7 @@ message FlowSchema {
// `spec` is the specification of the desired behavior of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional FlowSchemaSpec spec = 2;
// `status` is the current status of a FlowSchema.
@@ -93,20 +95,24 @@ message FlowSchema {
message FlowSchemaCondition {
// `type` is the type of the condition.
// Required.
+ // +required
optional string type = 1;
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
optional string status = 2;
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// `message` is a human-readable message indicating details about last transition.
+ // +optional
optional string message = 5;
}
@@ -126,6 +132,7 @@ message FlowSchemaSpec {
// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
// Required.
+ // +required
optional PriorityLevelConfigurationReference priorityLevelConfiguration = 1;
// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
@@ -165,6 +172,7 @@ message GroupSubject {
// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
// well-known group names.
// Required.
+ // +required
optional string name = 1;
}
@@ -178,12 +186,17 @@ message LimitResponse {
// "Reject" means that requests that can not be executed upon arrival
// are rejected.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
optional string type = 1;
// `queuing` holds the configuration parameters for queuing.
// This field may be non-empty only if `type` is `"Queue"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Queue")=+k8s:required
optional QueuingConfiguration queuing = 2;
}
@@ -216,6 +229,7 @@ message LimitedPriorityLevelConfiguration {
optional int32 nominalConcurrencyShares = 1;
// `limitResponse` indicates what to do with requests that can not be executed right now
+ // +required
optional LimitResponse limitResponse = 2;
// `lendablePercent` prescribes the fraction of the level's NominalCL that
@@ -256,6 +270,7 @@ message NonResourcePolicyRule {
// "*" matches all verbs. If it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string verbs = 1;
// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
@@ -268,6 +283,7 @@ message NonResourcePolicyRule {
// "*" matches all non-resource urls. if it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string nonResourceURLs = 6;
}
@@ -281,6 +297,7 @@ message PolicyRulesWithSubjects {
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
// +listType=atomic
// Required.
+ // +required
repeated Subject subjects = 1;
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
@@ -298,6 +315,7 @@ message PolicyRulesWithSubjects {
}
// PriorityLevelConfiguration represents the configuration of a priority level.
+// +k8s:supportsSubresource="/status"
message PriorityLevelConfiguration {
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -306,7 +324,7 @@ message PriorityLevelConfiguration {
// `spec` is the specification of the desired behavior of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional PriorityLevelConfigurationSpec spec = 2;
// `status` is the current status of a "request-priority".
@@ -319,20 +337,24 @@ message PriorityLevelConfiguration {
message PriorityLevelConfigurationCondition {
// `type` is the type of the condition.
// Required.
+ // +required
optional string type = 1;
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
optional string status = 2;
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// `message` is a human-readable message indicating details about last transition.
+ // +optional
optional string message = 5;
}
@@ -351,6 +373,7 @@ message PriorityLevelConfigurationList {
message PriorityLevelConfigurationReference {
// `name` is the name of the priority level configuration being referenced
// Required.
+ // +required
optional string name = 1;
}
@@ -366,12 +389,17 @@ message PriorityLevelConfigurationSpec {
// _are_ subject to limits and (b) some of the server's limited
// capacity is made available exclusively to this priority level.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
optional string type = 1;
// `limited` specifies how requests are handled for a Limited priority level.
// This field must be non-empty if and only if `type` is `"Limited"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Limited")=+k8s:required
optional LimitedPriorityLevelConfiguration limited = 2;
// `exempt` specifies how requests are handled for an exempt priority level.
@@ -380,6 +408,8 @@ message PriorityLevelConfigurationSpec {
// If empty and `type` is `"Exempt"` then the default values
// for `ExemptPriorityLevelConfiguration` apply.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Exempt")=+k8s:optional
optional ExemptPriorityLevelConfiguration exempt = 3;
}
@@ -441,12 +471,14 @@ message ResourcePolicyRule {
// "*" matches all verbs and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string verbs = 1;
// `apiGroups` is a list of matching API groups and may not be empty.
// "*" matches all API groups and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string apiGroups = 2;
// `resources` is a list of matching resources (i.e., lowercase
@@ -455,6 +487,7 @@ message ResourcePolicyRule {
// "*" matches all resources and, if present, must be the only entry.
// Required.
// +listType=set
+ // +required
repeated string resources = 3;
// `clusterScope` indicates whether to match requests that do not
@@ -482,10 +515,12 @@ message ResourcePolicyRule {
message ServiceAccountSubject {
// `namespace` is the namespace of matching ServiceAccount objects.
// Required.
+ // +required
optional string namespace = 1;
// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
// Required.
+ // +required
optional string name = 2;
}
@@ -495,6 +530,7 @@ message ServiceAccountSubject {
message Subject {
// `kind` indicates which one of the other fields is non-empty.
// Required
+ // +required
// +unionDiscriminator
optional string kind = 1;
@@ -515,6 +551,7 @@ message Subject {
message UserSubject {
// `name` is the username that matches, or "*" to match all usernames.
// Required.
+ // +required
optional string name = 1;
}
diff --git a/vendor/k8s.io/api/flowcontrol/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/flowcontrol/v1/generated.protomessage.pb.go
deleted file mode 100644
index 51612dee8..000000000
--- a/vendor/k8s.io/api/flowcontrol/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,68 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*ExemptPriorityLevelConfiguration) ProtoMessage() {}
-
-func (*FlowDistinguisherMethod) ProtoMessage() {}
-
-func (*FlowSchema) ProtoMessage() {}
-
-func (*FlowSchemaCondition) ProtoMessage() {}
-
-func (*FlowSchemaList) ProtoMessage() {}
-
-func (*FlowSchemaSpec) ProtoMessage() {}
-
-func (*FlowSchemaStatus) ProtoMessage() {}
-
-func (*GroupSubject) ProtoMessage() {}
-
-func (*LimitResponse) ProtoMessage() {}
-
-func (*LimitedPriorityLevelConfiguration) ProtoMessage() {}
-
-func (*NonResourcePolicyRule) ProtoMessage() {}
-
-func (*PolicyRulesWithSubjects) ProtoMessage() {}
-
-func (*PriorityLevelConfiguration) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationCondition) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationList) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationReference) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationSpec) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationStatus) ProtoMessage() {}
-
-func (*QueuingConfiguration) ProtoMessage() {}
-
-func (*ResourcePolicyRule) ProtoMessage() {}
-
-func (*ServiceAccountSubject) ProtoMessage() {}
-
-func (*Subject) ProtoMessage() {}
-
-func (*UserSubject) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/flowcontrol/v1/types.go b/vendor/k8s.io/api/flowcontrol/v1/types.go
index ad72bcee2..31e421f28 100644
--- a/vendor/k8s.io/api/flowcontrol/v1/types.go
+++ b/vendor/k8s.io/api/flowcontrol/v1/types.go
@@ -110,15 +110,16 @@ const (
// FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with
// similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".
+// +k8s:supportsSubresource="/status"
type FlowSchema struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// `spec` is the specification of the desired behavior of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec FlowSchemaSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// `status` is the current status of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
@@ -131,7 +132,7 @@ type FlowSchema struct {
// FlowSchemaList is a list of FlowSchema objects.
type FlowSchemaList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -146,6 +147,7 @@ type FlowSchemaSpec struct {
// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
// Required.
+ // +required
PriorityLevelConfiguration PriorityLevelConfigurationReference `json:"priorityLevelConfiguration" protobuf:"bytes,1,opt,name=priorityLevelConfiguration"`
// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
// FlowSchema is among those with the numerically lowest (which we take to be logically highest)
@@ -187,6 +189,7 @@ type FlowDistinguisherMethod struct {
// `type` is the type of flow distinguisher method
// The supported types are "ByUser" and "ByNamespace".
// Required.
+ // +required
Type FlowDistinguisherMethodType `json:"type" protobuf:"bytes,1,opt,name=type"`
}
@@ -194,6 +197,7 @@ type FlowDistinguisherMethod struct {
type PriorityLevelConfigurationReference struct {
// `name` is the name of the priority level configuration being referenced
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -207,6 +211,7 @@ type PolicyRulesWithSubjects struct {
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
// +listType=atomic
// Required.
+ // +required
Subjects []Subject `json:"subjects" protobuf:"bytes,1,rep,name=subjects"`
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
// target resource.
@@ -227,6 +232,7 @@ type PolicyRulesWithSubjects struct {
type Subject struct {
// `kind` indicates which one of the other fields is non-empty.
// Required
+ // +required
// +unionDiscriminator
Kind SubjectKind `json:"kind" protobuf:"bytes,1,opt,name=kind"`
// `user` matches based on username.
@@ -254,6 +260,7 @@ const (
type UserSubject struct {
// `name` is the username that matches, or "*" to match all usernames.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -263,6 +270,7 @@ type GroupSubject struct {
// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
// well-known group names.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -270,9 +278,11 @@ type GroupSubject struct {
type ServiceAccountSubject struct {
// `namespace` is the namespace of matching ServiceAccount objects.
// Required.
+ // +required
Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}
@@ -290,12 +300,14 @@ type ResourcePolicyRule struct {
// "*" matches all verbs and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
// `apiGroups` is a list of matching API groups and may not be empty.
// "*" matches all API groups and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
APIGroups []string `json:"apiGroups" protobuf:"bytes,2,rep,name=apiGroups"`
// `resources` is a list of matching resources (i.e., lowercase
@@ -304,6 +316,7 @@ type ResourcePolicyRule struct {
// "*" matches all resources and, if present, must be the only entry.
// Required.
// +listType=set
+ // +required
Resources []string `json:"resources" protobuf:"bytes,3,rep,name=resources"`
// `clusterScope` indicates whether to match requests that do not
@@ -335,6 +348,7 @@ type NonResourcePolicyRule struct {
// "*" matches all verbs. If it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
// For example:
@@ -346,6 +360,7 @@ type NonResourcePolicyRule struct {
// "*" matches all non-resource urls. if it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
NonResourceURLs []string `json:"nonResourceURLs" protobuf:"bytes,6,rep,name=nonResourceURLs"`
}
@@ -364,16 +379,20 @@ type FlowSchemaStatus struct {
type FlowSchemaCondition struct {
// `type` is the type of the condition.
// Required.
+ // +required
Type FlowSchemaConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// `message` is a human-readable message indicating details about last transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
@@ -386,15 +405,16 @@ type FlowSchemaConditionType string
// +k8s:prerelease-lifecycle-gen:introduced=1.29
// PriorityLevelConfiguration represents the configuration of a priority level.
+// +k8s:supportsSubresource="/status"
type PriorityLevelConfiguration struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// `spec` is the specification of the desired behavior of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec PriorityLevelConfigurationSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// `status` is the current status of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
@@ -407,7 +427,7 @@ type PriorityLevelConfiguration struct {
// PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects.
type PriorityLevelConfigurationList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -428,12 +448,17 @@ type PriorityLevelConfigurationSpec struct {
// _are_ subject to limits and (b) some of the server's limited
// capacity is made available exclusively to this priority level.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
Type PriorityLevelEnablement `json:"type" protobuf:"bytes,1,opt,name=type"`
// `limited` specifies how requests are handled for a Limited priority level.
// This field must be non-empty if and only if `type` is `"Limited"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Limited")=+k8s:required
Limited *LimitedPriorityLevelConfiguration `json:"limited,omitempty" protobuf:"bytes,2,opt,name=limited"`
// `exempt` specifies how requests are handled for an exempt priority level.
@@ -442,6 +467,8 @@ type PriorityLevelConfigurationSpec struct {
// If empty and `type` is `"Exempt"` then the default values
// for `ExemptPriorityLevelConfiguration` apply.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Exempt")=+k8s:optional
Exempt *ExemptPriorityLevelConfiguration `json:"exempt,omitempty" protobuf:"bytes,3,opt,name=exempt"`
}
@@ -486,6 +513,7 @@ type LimitedPriorityLevelConfiguration struct {
NominalConcurrencyShares *int32 `json:"nominalConcurrencyShares" protobuf:"varint,1,opt,name=nominalConcurrencyShares"`
// `limitResponse` indicates what to do with requests that can not be executed right now
+ // +required
LimitResponse LimitResponse `json:"limitResponse,omitempty" protobuf:"bytes,2,opt,name=limitResponse"`
// `lendablePercent` prescribes the fraction of the level's NominalCL that
@@ -565,12 +593,17 @@ type LimitResponse struct {
// "Reject" means that requests that can not be executed upon arrival
// are rejected.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
Type LimitResponseType `json:"type" protobuf:"bytes,1,opt,name=type"`
// `queuing` holds the configuration parameters for queuing.
// This field may be non-empty only if `type` is `"Queue"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Queue")=+k8s:required
Queuing *QueuingConfiguration `json:"queuing,omitempty" protobuf:"bytes,2,opt,name=queuing"`
}
@@ -637,16 +670,20 @@ type PriorityLevelConfigurationStatus struct {
type PriorityLevelConfigurationCondition struct {
// `type` is the type of the condition.
// Required.
+ // +required
Type PriorityLevelConfigurationConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// `message` is a human-readable message indicating details about last transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
diff --git a/vendor/k8s.io/api/flowcontrol/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/flowcontrol/v1/types_swagger_doc_generated.go
index b8cb43636..96b7a78e7 100644
--- a/vendor/k8s.io/api/flowcontrol/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/flowcontrol/v1/types_swagger_doc_generated.go
@@ -60,7 +60,7 @@ func (FlowSchema) SwaggerDoc() map[string]string {
var map_FlowSchemaCondition = map[string]string{
"": "FlowSchemaCondition describes conditions for a FlowSchema.",
"type": "`type` is the type of the condition. Required.",
- "status": "`status` is the status of the condition. Can be True, False, Unknown. Required.",
+ "status": "`status` is the status of the condition. Should be specified and set to one of True, False, Unknown.",
"lastTransitionTime": "`lastTransitionTime` is the last time the condition transitioned from one status to another.",
"reason": "`reason` is a unique, one-word, CamelCase reason for the condition's last transition.",
"message": "`message` is a human-readable message indicating details about last transition.",
@@ -167,7 +167,7 @@ func (PriorityLevelConfiguration) SwaggerDoc() map[string]string {
var map_PriorityLevelConfigurationCondition = map[string]string{
"": "PriorityLevelConfigurationCondition defines the condition of priority level.",
"type": "`type` is the type of the condition. Required.",
- "status": "`status` is the status of the condition. Can be True, False, Unknown. Required.",
+ "status": "`status` is the status of the condition. Should be specified and set to one of True, False, Unknown.",
"lastTransitionTime": "`lastTransitionTime` is the last time the condition transitioned from one status to another.",
"reason": "`reason` is a unique, one-word, CamelCase reason for the condition's last transition.",
"message": "`message` is a human-readable message indicating details about last transition.",
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto b/vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto
index 61ed3833a..c06ec1a2a 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto
@@ -67,11 +67,13 @@ message FlowDistinguisherMethod {
// `type` is the type of flow distinguisher method
// The supported types are "ByUser" and "ByNamespace".
// Required.
+ // +required
optional string type = 1;
}
// FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with
// similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".
+// +k8s:supportsSubresource="/status"
message FlowSchema {
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -80,7 +82,7 @@ message FlowSchema {
// `spec` is the specification of the desired behavior of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional FlowSchemaSpec spec = 2;
// `status` is the current status of a FlowSchema.
@@ -93,20 +95,24 @@ message FlowSchema {
message FlowSchemaCondition {
// `type` is the type of the condition.
// Required.
+ // +required
optional string type = 1;
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
optional string status = 2;
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// `message` is a human-readable message indicating details about last transition.
+ // +optional
optional string message = 5;
}
@@ -126,6 +132,7 @@ message FlowSchemaSpec {
// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
// Required.
+ // +required
optional PriorityLevelConfigurationReference priorityLevelConfiguration = 1;
// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
@@ -163,6 +170,7 @@ message GroupSubject {
// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
// well-known group names.
// Required.
+ // +required
optional string name = 1;
}
@@ -176,12 +184,17 @@ message LimitResponse {
// "Reject" means that requests that can not be executed upon arrival
// are rejected.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
optional string type = 1;
// `queuing` holds the configuration parameters for queuing.
// This field may be non-empty only if `type` is `"Queue"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Queue")=+k8s:required
optional QueuingConfiguration queuing = 2;
}
@@ -209,6 +222,7 @@ message LimitedPriorityLevelConfiguration {
optional int32 assuredConcurrencyShares = 1;
// `limitResponse` indicates what to do with requests that can not be executed right now
+ // +required
optional LimitResponse limitResponse = 2;
// `lendablePercent` prescribes the fraction of the level's NominalCL that
@@ -249,6 +263,7 @@ message NonResourcePolicyRule {
// "*" matches all verbs. If it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string verbs = 1;
// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
@@ -261,6 +276,7 @@ message NonResourcePolicyRule {
// "*" matches all non-resource urls. if it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string nonResourceURLs = 6;
}
@@ -274,6 +290,7 @@ message PolicyRulesWithSubjects {
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
// +listType=atomic
// Required.
+ // +required
repeated Subject subjects = 1;
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
@@ -291,6 +308,7 @@ message PolicyRulesWithSubjects {
}
// PriorityLevelConfiguration represents the configuration of a priority level.
+// +k8s:supportsSubresource="/status"
message PriorityLevelConfiguration {
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -299,7 +317,7 @@ message PriorityLevelConfiguration {
// `spec` is the specification of the desired behavior of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional PriorityLevelConfigurationSpec spec = 2;
// `status` is the current status of a "request-priority".
@@ -312,20 +330,24 @@ message PriorityLevelConfiguration {
message PriorityLevelConfigurationCondition {
// `type` is the type of the condition.
// Required.
+ // +required
optional string type = 1;
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
optional string status = 2;
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// `message` is a human-readable message indicating details about last transition.
+ // +optional
optional string message = 5;
}
@@ -344,6 +366,7 @@ message PriorityLevelConfigurationList {
message PriorityLevelConfigurationReference {
// `name` is the name of the priority level configuration being referenced
// Required.
+ // +required
optional string name = 1;
}
@@ -359,12 +382,17 @@ message PriorityLevelConfigurationSpec {
// _are_ subject to limits and (b) some of the server's limited
// capacity is made available exclusively to this priority level.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
optional string type = 1;
// `limited` specifies how requests are handled for a Limited priority level.
// This field must be non-empty if and only if `type` is `"Limited"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Limited")=+k8s:required
optional LimitedPriorityLevelConfiguration limited = 2;
// `exempt` specifies how requests are handled for an exempt priority level.
@@ -373,6 +401,8 @@ message PriorityLevelConfigurationSpec {
// If empty and `type` is `"Exempt"` then the default values
// for `ExemptPriorityLevelConfiguration` apply.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Exempt")=+k8s:optional
optional ExemptPriorityLevelConfiguration exempt = 3;
}
@@ -432,12 +462,14 @@ message ResourcePolicyRule {
// "*" matches all verbs and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string verbs = 1;
// `apiGroups` is a list of matching API groups and may not be empty.
// "*" matches all API groups and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string apiGroups = 2;
// `resources` is a list of matching resources (i.e., lowercase
@@ -446,6 +478,7 @@ message ResourcePolicyRule {
// "*" matches all resources and, if present, must be the only entry.
// Required.
// +listType=set
+ // +required
repeated string resources = 3;
// `clusterScope` indicates whether to match requests that do not
@@ -473,10 +506,12 @@ message ResourcePolicyRule {
message ServiceAccountSubject {
// `namespace` is the namespace of matching ServiceAccount objects.
// Required.
+ // +required
optional string namespace = 1;
// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
// Required.
+ // +required
optional string name = 2;
}
@@ -486,6 +521,7 @@ message ServiceAccountSubject {
message Subject {
// `kind` indicates which one of the other fields is non-empty.
// Required
+ // +required
// +unionDiscriminator
optional string kind = 1;
@@ -506,6 +542,7 @@ message Subject {
message UserSubject {
// `name` is the username that matches, or "*" to match all usernames.
// Required.
+ // +required
optional string name = 1;
}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/flowcontrol/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index 9d2059597..000000000
--- a/vendor/k8s.io/api/flowcontrol/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,68 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*ExemptPriorityLevelConfiguration) ProtoMessage() {}
-
-func (*FlowDistinguisherMethod) ProtoMessage() {}
-
-func (*FlowSchema) ProtoMessage() {}
-
-func (*FlowSchemaCondition) ProtoMessage() {}
-
-func (*FlowSchemaList) ProtoMessage() {}
-
-func (*FlowSchemaSpec) ProtoMessage() {}
-
-func (*FlowSchemaStatus) ProtoMessage() {}
-
-func (*GroupSubject) ProtoMessage() {}
-
-func (*LimitResponse) ProtoMessage() {}
-
-func (*LimitedPriorityLevelConfiguration) ProtoMessage() {}
-
-func (*NonResourcePolicyRule) ProtoMessage() {}
-
-func (*PolicyRulesWithSubjects) ProtoMessage() {}
-
-func (*PriorityLevelConfiguration) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationCondition) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationList) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationReference) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationSpec) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationStatus) ProtoMessage() {}
-
-func (*QueuingConfiguration) ProtoMessage() {}
-
-func (*ResourcePolicyRule) ProtoMessage() {}
-
-func (*ServiceAccountSubject) ProtoMessage() {}
-
-func (*Subject) ProtoMessage() {}
-
-func (*UserSubject) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta1/types.go b/vendor/k8s.io/api/flowcontrol/v1beta1/types.go
index abc3e4200..39f869f6c 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta1/types.go
+++ b/vendor/k8s.io/api/flowcontrol/v1beta1/types.go
@@ -111,15 +111,16 @@ const (
// FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with
// similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".
+// +k8s:supportsSubresource="/status"
type FlowSchema struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// `spec` is the specification of the desired behavior of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec FlowSchemaSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// `status` is the current status of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
@@ -133,7 +134,7 @@ type FlowSchema struct {
// FlowSchemaList is a list of FlowSchema objects.
type FlowSchemaList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -148,6 +149,7 @@ type FlowSchemaSpec struct {
// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
// Required.
+ // +required
PriorityLevelConfiguration PriorityLevelConfigurationReference `json:"priorityLevelConfiguration" protobuf:"bytes,1,opt,name=priorityLevelConfiguration"`
// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
// FlowSchema is among those with the numerically lowest (which we take to be logically highest)
@@ -189,6 +191,7 @@ type FlowDistinguisherMethod struct {
// `type` is the type of flow distinguisher method
// The supported types are "ByUser" and "ByNamespace".
// Required.
+ // +required
Type FlowDistinguisherMethodType `json:"type" protobuf:"bytes,1,opt,name=type"`
}
@@ -196,6 +199,7 @@ type FlowDistinguisherMethod struct {
type PriorityLevelConfigurationReference struct {
// `name` is the name of the priority level configuration being referenced
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -209,6 +213,7 @@ type PolicyRulesWithSubjects struct {
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
// +listType=atomic
// Required.
+ // +required
Subjects []Subject `json:"subjects" protobuf:"bytes,1,rep,name=subjects"`
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
// target resource.
@@ -229,6 +234,7 @@ type PolicyRulesWithSubjects struct {
type Subject struct {
// `kind` indicates which one of the other fields is non-empty.
// Required
+ // +required
// +unionDiscriminator
Kind SubjectKind `json:"kind" protobuf:"bytes,1,opt,name=kind"`
// `user` matches based on username.
@@ -256,6 +262,7 @@ const (
type UserSubject struct {
// `name` is the username that matches, or "*" to match all usernames.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -265,6 +272,7 @@ type GroupSubject struct {
// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
// well-known group names.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -272,9 +280,11 @@ type GroupSubject struct {
type ServiceAccountSubject struct {
// `namespace` is the namespace of matching ServiceAccount objects.
// Required.
+ // +required
Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}
@@ -292,12 +302,14 @@ type ResourcePolicyRule struct {
// "*" matches all verbs and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
// `apiGroups` is a list of matching API groups and may not be empty.
// "*" matches all API groups and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
APIGroups []string `json:"apiGroups" protobuf:"bytes,2,rep,name=apiGroups"`
// `resources` is a list of matching resources (i.e., lowercase
@@ -306,6 +318,7 @@ type ResourcePolicyRule struct {
// "*" matches all resources and, if present, must be the only entry.
// Required.
// +listType=set
+ // +required
Resources []string `json:"resources" protobuf:"bytes,3,rep,name=resources"`
// `clusterScope` indicates whether to match requests that do not
@@ -337,6 +350,7 @@ type NonResourcePolicyRule struct {
// "*" matches all verbs. If it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
// For example:
@@ -348,6 +362,7 @@ type NonResourcePolicyRule struct {
// "*" matches all non-resource urls. if it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
NonResourceURLs []string `json:"nonResourceURLs" protobuf:"bytes,6,rep,name=nonResourceURLs"`
}
@@ -364,16 +379,20 @@ type FlowSchemaStatus struct {
type FlowSchemaCondition struct {
// `type` is the type of the condition.
// Required.
+ // +required
Type FlowSchemaConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// `message` is a human-readable message indicating details about last transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
@@ -387,15 +406,16 @@ type FlowSchemaConditionType string
// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta3,PriorityLevelConfiguration
// PriorityLevelConfiguration represents the configuration of a priority level.
+// +k8s:supportsSubresource="/status"
type PriorityLevelConfiguration struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// `spec` is the specification of the desired behavior of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec PriorityLevelConfigurationSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// `status` is the current status of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
@@ -409,7 +429,7 @@ type PriorityLevelConfiguration struct {
// PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects.
type PriorityLevelConfigurationList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -430,12 +450,17 @@ type PriorityLevelConfigurationSpec struct {
// _are_ subject to limits and (b) some of the server's limited
// capacity is made available exclusively to this priority level.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
Type PriorityLevelEnablement `json:"type" protobuf:"bytes,1,opt,name=type"`
// `limited` specifies how requests are handled for a Limited priority level.
// This field must be non-empty if and only if `type` is `"Limited"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Limited")=+k8s:required
Limited *LimitedPriorityLevelConfiguration `json:"limited,omitempty" protobuf:"bytes,2,opt,name=limited"`
// `exempt` specifies how requests are handled for an exempt priority level.
@@ -444,6 +469,8 @@ type PriorityLevelConfigurationSpec struct {
// If empty and `type` is `"Exempt"` then the default values
// for `ExemptPriorityLevelConfiguration` apply.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Exempt")=+k8s:optional
Exempt *ExemptPriorityLevelConfiguration `json:"exempt,omitempty" protobuf:"bytes,3,opt,name=exempt"`
}
@@ -483,6 +510,7 @@ type LimitedPriorityLevelConfiguration struct {
AssuredConcurrencyShares int32 `json:"assuredConcurrencyShares" protobuf:"varint,1,opt,name=assuredConcurrencyShares"`
// `limitResponse` indicates what to do with requests that can not be executed right now
+ // +required
LimitResponse LimitResponse `json:"limitResponse,omitempty" protobuf:"bytes,2,opt,name=limitResponse"`
// `lendablePercent` prescribes the fraction of the level's NominalCL that
@@ -562,12 +590,17 @@ type LimitResponse struct {
// "Reject" means that requests that can not be executed upon arrival
// are rejected.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
Type LimitResponseType `json:"type" protobuf:"bytes,1,opt,name=type"`
// `queuing` holds the configuration parameters for queuing.
// This field may be non-empty only if `type` is `"Queue"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Queue")=+k8s:required
Queuing *QueuingConfiguration `json:"queuing,omitempty" protobuf:"bytes,2,opt,name=queuing"`
}
@@ -632,16 +665,20 @@ type PriorityLevelConfigurationStatus struct {
type PriorityLevelConfigurationCondition struct {
// `type` is the type of the condition.
// Required.
+ // +required
Type PriorityLevelConfigurationConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// `message` is a human-readable message indicating details about last transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/flowcontrol/v1beta1/types_swagger_doc_generated.go
index d69bdac62..fee54a89b 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/flowcontrol/v1beta1/types_swagger_doc_generated.go
@@ -60,7 +60,7 @@ func (FlowSchema) SwaggerDoc() map[string]string {
var map_FlowSchemaCondition = map[string]string{
"": "FlowSchemaCondition describes conditions for a FlowSchema.",
"type": "`type` is the type of the condition. Required.",
- "status": "`status` is the status of the condition. Can be True, False, Unknown. Required.",
+ "status": "`status` is the status of the condition. Should be specified and set to one of True, False, Unknown.",
"lastTransitionTime": "`lastTransitionTime` is the last time the condition transitioned from one status to another.",
"reason": "`reason` is a unique, one-word, CamelCase reason for the condition's last transition.",
"message": "`message` is a human-readable message indicating details about last transition.",
@@ -167,7 +167,7 @@ func (PriorityLevelConfiguration) SwaggerDoc() map[string]string {
var map_PriorityLevelConfigurationCondition = map[string]string{
"": "PriorityLevelConfigurationCondition defines the condition of priority level.",
"type": "`type` is the type of the condition. Required.",
- "status": "`status` is the status of the condition. Can be True, False, Unknown. Required.",
+ "status": "`status` is the status of the condition. Should be specified and set to one of True, False, Unknown.",
"lastTransitionTime": "`lastTransitionTime` is the last time the condition transitioned from one status to another.",
"reason": "`reason` is a unique, one-word, CamelCase reason for the condition's last transition.",
"message": "`message` is a human-readable message indicating details about last transition.",
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto b/vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto
index d6073fc92..a80455d67 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto
+++ b/vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto
@@ -67,11 +67,13 @@ message FlowDistinguisherMethod {
// `type` is the type of flow distinguisher method
// The supported types are "ByUser" and "ByNamespace".
// Required.
+ // +required
optional string type = 1;
}
// FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with
// similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".
+// +k8s:supportsSubresource="/status"
message FlowSchema {
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -80,7 +82,7 @@ message FlowSchema {
// `spec` is the specification of the desired behavior of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional FlowSchemaSpec spec = 2;
// `status` is the current status of a FlowSchema.
@@ -93,20 +95,24 @@ message FlowSchema {
message FlowSchemaCondition {
// `type` is the type of the condition.
// Required.
+ // +required
optional string type = 1;
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
optional string status = 2;
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// `message` is a human-readable message indicating details about last transition.
+ // +optional
optional string message = 5;
}
@@ -126,6 +132,7 @@ message FlowSchemaSpec {
// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
// Required.
+ // +required
optional PriorityLevelConfigurationReference priorityLevelConfiguration = 1;
// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
@@ -163,6 +170,7 @@ message GroupSubject {
// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
// well-known group names.
// Required.
+ // +required
optional string name = 1;
}
@@ -176,12 +184,17 @@ message LimitResponse {
// "Reject" means that requests that can not be executed upon arrival
// are rejected.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
optional string type = 1;
// `queuing` holds the configuration parameters for queuing.
// This field may be non-empty only if `type` is `"Queue"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Queue")=+k8s:required
optional QueuingConfiguration queuing = 2;
}
@@ -209,6 +222,7 @@ message LimitedPriorityLevelConfiguration {
optional int32 assuredConcurrencyShares = 1;
// `limitResponse` indicates what to do with requests that can not be executed right now
+ // +required
optional LimitResponse limitResponse = 2;
// `lendablePercent` prescribes the fraction of the level's NominalCL that
@@ -249,6 +263,7 @@ message NonResourcePolicyRule {
// "*" matches all verbs. If it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string verbs = 1;
// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
@@ -261,6 +276,7 @@ message NonResourcePolicyRule {
// "*" matches all non-resource urls. if it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string nonResourceURLs = 6;
}
@@ -274,6 +290,7 @@ message PolicyRulesWithSubjects {
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
// +listType=atomic
// Required.
+ // +required
repeated Subject subjects = 1;
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
@@ -291,6 +308,7 @@ message PolicyRulesWithSubjects {
}
// PriorityLevelConfiguration represents the configuration of a priority level.
+// +k8s:supportsSubresource="/status"
message PriorityLevelConfiguration {
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -299,7 +317,7 @@ message PriorityLevelConfiguration {
// `spec` is the specification of the desired behavior of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional PriorityLevelConfigurationSpec spec = 2;
// `status` is the current status of a "request-priority".
@@ -312,20 +330,24 @@ message PriorityLevelConfiguration {
message PriorityLevelConfigurationCondition {
// `type` is the type of the condition.
// Required.
+ // +required
optional string type = 1;
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
optional string status = 2;
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// `message` is a human-readable message indicating details about last transition.
+ // +optional
optional string message = 5;
}
@@ -344,6 +366,7 @@ message PriorityLevelConfigurationList {
message PriorityLevelConfigurationReference {
// `name` is the name of the priority level configuration being referenced
// Required.
+ // +required
optional string name = 1;
}
@@ -359,12 +382,17 @@ message PriorityLevelConfigurationSpec {
// _are_ subject to limits and (b) some of the server's limited
// capacity is made available exclusively to this priority level.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
optional string type = 1;
// `limited` specifies how requests are handled for a Limited priority level.
// This field must be non-empty if and only if `type` is `"Limited"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Limited")=+k8s:required
optional LimitedPriorityLevelConfiguration limited = 2;
// `exempt` specifies how requests are handled for an exempt priority level.
@@ -373,6 +401,8 @@ message PriorityLevelConfigurationSpec {
// If empty and `type` is `"Exempt"` then the default values
// for `ExemptPriorityLevelConfiguration` apply.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Exempt")=+k8s:optional
optional ExemptPriorityLevelConfiguration exempt = 3;
}
@@ -432,12 +462,14 @@ message ResourcePolicyRule {
// "*" matches all verbs and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string verbs = 1;
// `apiGroups` is a list of matching API groups and may not be empty.
// "*" matches all API groups and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string apiGroups = 2;
// `resources` is a list of matching resources (i.e., lowercase
@@ -446,6 +478,7 @@ message ResourcePolicyRule {
// "*" matches all resources and, if present, must be the only entry.
// Required.
// +listType=set
+ // +required
repeated string resources = 3;
// `clusterScope` indicates whether to match requests that do not
@@ -473,10 +506,12 @@ message ResourcePolicyRule {
message ServiceAccountSubject {
// `namespace` is the namespace of matching ServiceAccount objects.
// Required.
+ // +required
optional string namespace = 1;
// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
// Required.
+ // +required
optional string name = 2;
}
@@ -486,6 +521,7 @@ message ServiceAccountSubject {
message Subject {
// `kind` indicates which one of the other fields is non-empty.
// Required
+ // +required
// +unionDiscriminator
optional string kind = 1;
@@ -506,6 +542,7 @@ message Subject {
message UserSubject {
// `name` is the username that matches, or "*" to match all usernames.
// Required.
+ // +required
optional string name = 1;
}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta2/generated.protomessage.pb.go b/vendor/k8s.io/api/flowcontrol/v1beta2/generated.protomessage.pb.go
deleted file mode 100644
index 672834e9f..000000000
--- a/vendor/k8s.io/api/flowcontrol/v1beta2/generated.protomessage.pb.go
+++ /dev/null
@@ -1,68 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta2
-
-func (*ExemptPriorityLevelConfiguration) ProtoMessage() {}
-
-func (*FlowDistinguisherMethod) ProtoMessage() {}
-
-func (*FlowSchema) ProtoMessage() {}
-
-func (*FlowSchemaCondition) ProtoMessage() {}
-
-func (*FlowSchemaList) ProtoMessage() {}
-
-func (*FlowSchemaSpec) ProtoMessage() {}
-
-func (*FlowSchemaStatus) ProtoMessage() {}
-
-func (*GroupSubject) ProtoMessage() {}
-
-func (*LimitResponse) ProtoMessage() {}
-
-func (*LimitedPriorityLevelConfiguration) ProtoMessage() {}
-
-func (*NonResourcePolicyRule) ProtoMessage() {}
-
-func (*PolicyRulesWithSubjects) ProtoMessage() {}
-
-func (*PriorityLevelConfiguration) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationCondition) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationList) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationReference) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationSpec) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationStatus) ProtoMessage() {}
-
-func (*QueuingConfiguration) ProtoMessage() {}
-
-func (*ResourcePolicyRule) ProtoMessage() {}
-
-func (*ServiceAccountSubject) ProtoMessage() {}
-
-func (*Subject) ProtoMessage() {}
-
-func (*UserSubject) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta2/types.go b/vendor/k8s.io/api/flowcontrol/v1beta2/types.go
index c66cb173f..38ab2a2a7 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta2/types.go
+++ b/vendor/k8s.io/api/flowcontrol/v1beta2/types.go
@@ -111,15 +111,16 @@ const (
// FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with
// similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".
+// +k8s:supportsSubresource="/status"
type FlowSchema struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// `spec` is the specification of the desired behavior of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec FlowSchemaSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// `status` is the current status of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
@@ -133,7 +134,7 @@ type FlowSchema struct {
// FlowSchemaList is a list of FlowSchema objects.
type FlowSchemaList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -148,6 +149,7 @@ type FlowSchemaSpec struct {
// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
// Required.
+ // +required
PriorityLevelConfiguration PriorityLevelConfigurationReference `json:"priorityLevelConfiguration" protobuf:"bytes,1,opt,name=priorityLevelConfiguration"`
// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
// FlowSchema is among those with the numerically lowest (which we take to be logically highest)
@@ -189,6 +191,7 @@ type FlowDistinguisherMethod struct {
// `type` is the type of flow distinguisher method
// The supported types are "ByUser" and "ByNamespace".
// Required.
+ // +required
Type FlowDistinguisherMethodType `json:"type" protobuf:"bytes,1,opt,name=type"`
}
@@ -196,6 +199,7 @@ type FlowDistinguisherMethod struct {
type PriorityLevelConfigurationReference struct {
// `name` is the name of the priority level configuration being referenced
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -209,6 +213,7 @@ type PolicyRulesWithSubjects struct {
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
// +listType=atomic
// Required.
+ // +required
Subjects []Subject `json:"subjects" protobuf:"bytes,1,rep,name=subjects"`
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
// target resource.
@@ -229,6 +234,7 @@ type PolicyRulesWithSubjects struct {
type Subject struct {
// `kind` indicates which one of the other fields is non-empty.
// Required
+ // +required
// +unionDiscriminator
Kind SubjectKind `json:"kind" protobuf:"bytes,1,opt,name=kind"`
// `user` matches based on username.
@@ -256,6 +262,7 @@ const (
type UserSubject struct {
// `name` is the username that matches, or "*" to match all usernames.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -265,6 +272,7 @@ type GroupSubject struct {
// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
// well-known group names.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -272,9 +280,11 @@ type GroupSubject struct {
type ServiceAccountSubject struct {
// `namespace` is the namespace of matching ServiceAccount objects.
// Required.
+ // +required
Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}
@@ -292,12 +302,14 @@ type ResourcePolicyRule struct {
// "*" matches all verbs and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
// `apiGroups` is a list of matching API groups and may not be empty.
// "*" matches all API groups and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
APIGroups []string `json:"apiGroups" protobuf:"bytes,2,rep,name=apiGroups"`
// `resources` is a list of matching resources (i.e., lowercase
@@ -306,6 +318,7 @@ type ResourcePolicyRule struct {
// "*" matches all resources and, if present, must be the only entry.
// Required.
// +listType=set
+ // +required
Resources []string `json:"resources" protobuf:"bytes,3,rep,name=resources"`
// `clusterScope` indicates whether to match requests that do not
@@ -337,6 +350,7 @@ type NonResourcePolicyRule struct {
// "*" matches all verbs. If it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
// For example:
@@ -348,6 +362,7 @@ type NonResourcePolicyRule struct {
// "*" matches all non-resource urls. if it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
NonResourceURLs []string `json:"nonResourceURLs" protobuf:"bytes,6,rep,name=nonResourceURLs"`
}
@@ -364,16 +379,20 @@ type FlowSchemaStatus struct {
type FlowSchemaCondition struct {
// `type` is the type of the condition.
// Required.
+ // +required
Type FlowSchemaConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// `message` is a human-readable message indicating details about last transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
@@ -387,15 +406,16 @@ type FlowSchemaConditionType string
// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta3,PriorityLevelConfiguration
// PriorityLevelConfiguration represents the configuration of a priority level.
+// +k8s:supportsSubresource="/status"
type PriorityLevelConfiguration struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// `spec` is the specification of the desired behavior of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec PriorityLevelConfigurationSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// `status` is the current status of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
@@ -409,7 +429,7 @@ type PriorityLevelConfiguration struct {
// PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects.
type PriorityLevelConfigurationList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -430,12 +450,17 @@ type PriorityLevelConfigurationSpec struct {
// _are_ subject to limits and (b) some of the server's limited
// capacity is made available exclusively to this priority level.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
Type PriorityLevelEnablement `json:"type" protobuf:"bytes,1,opt,name=type"`
// `limited` specifies how requests are handled for a Limited priority level.
// This field must be non-empty if and only if `type` is `"Limited"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Limited")=+k8s:required
Limited *LimitedPriorityLevelConfiguration `json:"limited,omitempty" protobuf:"bytes,2,opt,name=limited"`
// `exempt` specifies how requests are handled for an exempt priority level.
@@ -444,6 +469,8 @@ type PriorityLevelConfigurationSpec struct {
// If empty and `type` is `"Exempt"` then the default values
// for `ExemptPriorityLevelConfiguration` apply.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Exempt")=+k8s:optional
Exempt *ExemptPriorityLevelConfiguration `json:"exempt,omitempty" protobuf:"bytes,3,opt,name=exempt"`
}
@@ -483,6 +510,7 @@ type LimitedPriorityLevelConfiguration struct {
AssuredConcurrencyShares int32 `json:"assuredConcurrencyShares" protobuf:"varint,1,opt,name=assuredConcurrencyShares"`
// `limitResponse` indicates what to do with requests that can not be executed right now
+ // +required
LimitResponse LimitResponse `json:"limitResponse,omitempty" protobuf:"bytes,2,opt,name=limitResponse"`
// `lendablePercent` prescribes the fraction of the level's NominalCL that
@@ -562,12 +590,17 @@ type LimitResponse struct {
// "Reject" means that requests that can not be executed upon arrival
// are rejected.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
Type LimitResponseType `json:"type" protobuf:"bytes,1,opt,name=type"`
// `queuing` holds the configuration parameters for queuing.
// This field may be non-empty only if `type` is `"Queue"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Queue")=+k8s:required
Queuing *QueuingConfiguration `json:"queuing,omitempty" protobuf:"bytes,2,opt,name=queuing"`
}
@@ -632,16 +665,20 @@ type PriorityLevelConfigurationStatus struct {
type PriorityLevelConfigurationCondition struct {
// `type` is the type of the condition.
// Required.
+ // +required
Type PriorityLevelConfigurationConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// `message` is a human-readable message indicating details about last transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta2/types_swagger_doc_generated.go b/vendor/k8s.io/api/flowcontrol/v1beta2/types_swagger_doc_generated.go
index 921122731..bf12ce5e0 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta2/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/flowcontrol/v1beta2/types_swagger_doc_generated.go
@@ -60,7 +60,7 @@ func (FlowSchema) SwaggerDoc() map[string]string {
var map_FlowSchemaCondition = map[string]string{
"": "FlowSchemaCondition describes conditions for a FlowSchema.",
"type": "`type` is the type of the condition. Required.",
- "status": "`status` is the status of the condition. Can be True, False, Unknown. Required.",
+ "status": "`status` is the status of the condition. Should be specified and set to one of True, False, Unknown.",
"lastTransitionTime": "`lastTransitionTime` is the last time the condition transitioned from one status to another.",
"reason": "`reason` is a unique, one-word, CamelCase reason for the condition's last transition.",
"message": "`message` is a human-readable message indicating details about last transition.",
@@ -167,7 +167,7 @@ func (PriorityLevelConfiguration) SwaggerDoc() map[string]string {
var map_PriorityLevelConfigurationCondition = map[string]string{
"": "PriorityLevelConfigurationCondition defines the condition of priority level.",
"type": "`type` is the type of the condition. Required.",
- "status": "`status` is the status of the condition. Can be True, False, Unknown. Required.",
+ "status": "`status` is the status of the condition. Should be specified and set to one of True, False, Unknown.",
"lastTransitionTime": "`lastTransitionTime` is the last time the condition transitioned from one status to another.",
"reason": "`reason` is a unique, one-word, CamelCase reason for the condition's last transition.",
"message": "`message` is a human-readable message indicating details about last transition.",
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto b/vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto
index c6504d435..68344b79b 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto
+++ b/vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto
@@ -67,11 +67,13 @@ message FlowDistinguisherMethod {
// `type` is the type of flow distinguisher method
// The supported types are "ByUser" and "ByNamespace".
// Required.
+ // +required
optional string type = 1;
}
// FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with
// similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".
+// +k8s:supportsSubresource="/status"
message FlowSchema {
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -80,7 +82,7 @@ message FlowSchema {
// `spec` is the specification of the desired behavior of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional FlowSchemaSpec spec = 2;
// `status` is the current status of a FlowSchema.
@@ -93,20 +95,24 @@ message FlowSchema {
message FlowSchemaCondition {
// `type` is the type of the condition.
// Required.
+ // +required
optional string type = 1;
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
optional string status = 2;
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// `message` is a human-readable message indicating details about last transition.
+ // +optional
optional string message = 5;
}
@@ -126,6 +132,7 @@ message FlowSchemaSpec {
// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
// Required.
+ // +required
optional PriorityLevelConfigurationReference priorityLevelConfiguration = 1;
// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
@@ -165,6 +172,7 @@ message GroupSubject {
// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
// well-known group names.
// Required.
+ // +required
optional string name = 1;
}
@@ -178,12 +186,17 @@ message LimitResponse {
// "Reject" means that requests that can not be executed upon arrival
// are rejected.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
optional string type = 1;
// `queuing` holds the configuration parameters for queuing.
// This field may be non-empty only if `type` is `"Queue"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Queue")=+k8s:required
optional QueuingConfiguration queuing = 2;
}
@@ -211,6 +224,7 @@ message LimitedPriorityLevelConfiguration {
optional int32 nominalConcurrencyShares = 1;
// `limitResponse` indicates what to do with requests that can not be executed right now
+ // +required
optional LimitResponse limitResponse = 2;
// `lendablePercent` prescribes the fraction of the level's NominalCL that
@@ -251,6 +265,7 @@ message NonResourcePolicyRule {
// "*" matches all verbs. If it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string verbs = 1;
// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
@@ -263,6 +278,7 @@ message NonResourcePolicyRule {
// "*" matches all non-resource urls. if it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string nonResourceURLs = 6;
}
@@ -276,6 +292,7 @@ message PolicyRulesWithSubjects {
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
// +listType=atomic
// Required.
+ // +required
repeated Subject subjects = 1;
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
@@ -293,6 +310,7 @@ message PolicyRulesWithSubjects {
}
// PriorityLevelConfiguration represents the configuration of a priority level.
+// +k8s:supportsSubresource="/status"
message PriorityLevelConfiguration {
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -301,7 +319,7 @@ message PriorityLevelConfiguration {
// `spec` is the specification of the desired behavior of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional PriorityLevelConfigurationSpec spec = 2;
// `status` is the current status of a "request-priority".
@@ -314,20 +332,24 @@ message PriorityLevelConfiguration {
message PriorityLevelConfigurationCondition {
// `type` is the type of the condition.
// Required.
+ // +required
optional string type = 1;
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
optional string status = 2;
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
optional string reason = 4;
// `message` is a human-readable message indicating details about last transition.
+ // +optional
optional string message = 5;
}
@@ -346,6 +368,7 @@ message PriorityLevelConfigurationList {
message PriorityLevelConfigurationReference {
// `name` is the name of the priority level configuration being referenced
// Required.
+ // +required
optional string name = 1;
}
@@ -361,12 +384,17 @@ message PriorityLevelConfigurationSpec {
// _are_ subject to limits and (b) some of the server's limited
// capacity is made available exclusively to this priority level.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
optional string type = 1;
// `limited` specifies how requests are handled for a Limited priority level.
// This field must be non-empty if and only if `type` is `"Limited"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Limited")=+k8s:required
optional LimitedPriorityLevelConfiguration limited = 2;
// `exempt` specifies how requests are handled for an exempt priority level.
@@ -375,6 +403,8 @@ message PriorityLevelConfigurationSpec {
// If empty and `type` is `"Exempt"` then the default values
// for `ExemptPriorityLevelConfiguration` apply.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Exempt")=+k8s:optional
optional ExemptPriorityLevelConfiguration exempt = 3;
}
@@ -436,12 +466,14 @@ message ResourcePolicyRule {
// "*" matches all verbs and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string verbs = 1;
// `apiGroups` is a list of matching API groups and may not be empty.
// "*" matches all API groups and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
repeated string apiGroups = 2;
// `resources` is a list of matching resources (i.e., lowercase
@@ -450,6 +482,7 @@ message ResourcePolicyRule {
// "*" matches all resources and, if present, must be the only entry.
// Required.
// +listType=set
+ // +required
repeated string resources = 3;
// `clusterScope` indicates whether to match requests that do not
@@ -477,10 +510,12 @@ message ResourcePolicyRule {
message ServiceAccountSubject {
// `namespace` is the namespace of matching ServiceAccount objects.
// Required.
+ // +required
optional string namespace = 1;
// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
// Required.
+ // +required
optional string name = 2;
}
@@ -490,6 +525,7 @@ message ServiceAccountSubject {
message Subject {
// `kind` indicates which one of the other fields is non-empty.
// Required
+ // +required
// +unionDiscriminator
optional string kind = 1;
@@ -510,6 +546,7 @@ message Subject {
message UserSubject {
// `name` is the username that matches, or "*" to match all usernames.
// Required.
+ // +required
optional string name = 1;
}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta3/generated.protomessage.pb.go b/vendor/k8s.io/api/flowcontrol/v1beta3/generated.protomessage.pb.go
deleted file mode 100644
index 20407c045..000000000
--- a/vendor/k8s.io/api/flowcontrol/v1beta3/generated.protomessage.pb.go
+++ /dev/null
@@ -1,68 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta3
-
-func (*ExemptPriorityLevelConfiguration) ProtoMessage() {}
-
-func (*FlowDistinguisherMethod) ProtoMessage() {}
-
-func (*FlowSchema) ProtoMessage() {}
-
-func (*FlowSchemaCondition) ProtoMessage() {}
-
-func (*FlowSchemaList) ProtoMessage() {}
-
-func (*FlowSchemaSpec) ProtoMessage() {}
-
-func (*FlowSchemaStatus) ProtoMessage() {}
-
-func (*GroupSubject) ProtoMessage() {}
-
-func (*LimitResponse) ProtoMessage() {}
-
-func (*LimitedPriorityLevelConfiguration) ProtoMessage() {}
-
-func (*NonResourcePolicyRule) ProtoMessage() {}
-
-func (*PolicyRulesWithSubjects) ProtoMessage() {}
-
-func (*PriorityLevelConfiguration) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationCondition) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationList) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationReference) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationSpec) ProtoMessage() {}
-
-func (*PriorityLevelConfigurationStatus) ProtoMessage() {}
-
-func (*QueuingConfiguration) ProtoMessage() {}
-
-func (*ResourcePolicyRule) ProtoMessage() {}
-
-func (*ServiceAccountSubject) ProtoMessage() {}
-
-func (*Subject) ProtoMessage() {}
-
-func (*UserSubject) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta3/types.go b/vendor/k8s.io/api/flowcontrol/v1beta3/types.go
index 0ffc22a23..cbebca357 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta3/types.go
+++ b/vendor/k8s.io/api/flowcontrol/v1beta3/types.go
@@ -125,15 +125,16 @@ const (
// FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with
// similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".
+// +k8s:supportsSubresource="/status"
type FlowSchema struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// `spec` is the specification of the desired behavior of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec FlowSchemaSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// `status` is the current status of a FlowSchema.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
@@ -147,7 +148,7 @@ type FlowSchema struct {
// FlowSchemaList is a list of FlowSchema objects.
type FlowSchemaList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -162,6 +163,7 @@ type FlowSchemaSpec struct {
// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
// Required.
+ // +required
PriorityLevelConfiguration PriorityLevelConfigurationReference `json:"priorityLevelConfiguration" protobuf:"bytes,1,opt,name=priorityLevelConfiguration"`
// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
// FlowSchema is among those with the numerically lowest (which we take to be logically highest)
@@ -203,6 +205,7 @@ type FlowDistinguisherMethod struct {
// `type` is the type of flow distinguisher method
// The supported types are "ByUser" and "ByNamespace".
// Required.
+ // +required
Type FlowDistinguisherMethodType `json:"type" protobuf:"bytes,1,opt,name=type"`
}
@@ -210,6 +213,7 @@ type FlowDistinguisherMethod struct {
type PriorityLevelConfigurationReference struct {
// `name` is the name of the priority level configuration being referenced
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -223,6 +227,7 @@ type PolicyRulesWithSubjects struct {
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
// +listType=atomic
// Required.
+ // +required
Subjects []Subject `json:"subjects" protobuf:"bytes,1,rep,name=subjects"`
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
// target resource.
@@ -243,6 +248,7 @@ type PolicyRulesWithSubjects struct {
type Subject struct {
// `kind` indicates which one of the other fields is non-empty.
// Required
+ // +required
// +unionDiscriminator
Kind SubjectKind `json:"kind" protobuf:"bytes,1,opt,name=kind"`
// `user` matches based on username.
@@ -270,6 +276,7 @@ const (
type UserSubject struct {
// `name` is the username that matches, or "*" to match all usernames.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -279,6 +286,7 @@ type GroupSubject struct {
// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
// well-known group names.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}
@@ -286,9 +294,11 @@ type GroupSubject struct {
type ServiceAccountSubject struct {
// `namespace` is the namespace of matching ServiceAccount objects.
// Required.
+ // +required
Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
// Required.
+ // +required
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}
@@ -306,12 +316,14 @@ type ResourcePolicyRule struct {
// "*" matches all verbs and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
// `apiGroups` is a list of matching API groups and may not be empty.
// "*" matches all API groups and, if present, must be the only entry.
// +listType=set
// Required.
+ // +required
APIGroups []string `json:"apiGroups" protobuf:"bytes,2,rep,name=apiGroups"`
// `resources` is a list of matching resources (i.e., lowercase
@@ -320,6 +332,7 @@ type ResourcePolicyRule struct {
// "*" matches all resources and, if present, must be the only entry.
// Required.
// +listType=set
+ // +required
Resources []string `json:"resources" protobuf:"bytes,3,rep,name=resources"`
// `clusterScope` indicates whether to match requests that do not
@@ -351,6 +364,7 @@ type NonResourcePolicyRule struct {
// "*" matches all verbs. If it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
// For example:
@@ -362,6 +376,7 @@ type NonResourcePolicyRule struct {
// "*" matches all non-resource urls. if it is present, it must be the only entry.
// +listType=set
// Required.
+ // +required
NonResourceURLs []string `json:"nonResourceURLs" protobuf:"bytes,6,rep,name=nonResourceURLs"`
}
@@ -380,16 +395,20 @@ type FlowSchemaStatus struct {
type FlowSchemaCondition struct {
// `type` is the type of the condition.
// Required.
+ // +required
Type FlowSchemaConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// `message` is a human-readable message indicating details about last transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
@@ -403,15 +422,16 @@ type FlowSchemaConditionType string
// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1,PriorityLevelConfiguration
// PriorityLevelConfiguration represents the configuration of a priority level.
+// +k8s:supportsSubresource="/status"
type PriorityLevelConfiguration struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// `spec` is the specification of the desired behavior of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec PriorityLevelConfigurationSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// `status` is the current status of a "request-priority".
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
@@ -425,7 +445,7 @@ type PriorityLevelConfiguration struct {
// PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects.
type PriorityLevelConfigurationList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// `metadata` is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -446,12 +466,17 @@ type PriorityLevelConfigurationSpec struct {
// _are_ subject to limits and (b) some of the server's limited
// capacity is made available exclusively to this priority level.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
Type PriorityLevelEnablement `json:"type" protobuf:"bytes,1,opt,name=type"`
// `limited` specifies how requests are handled for a Limited priority level.
// This field must be non-empty if and only if `type` is `"Limited"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Limited")=+k8s:required
Limited *LimitedPriorityLevelConfiguration `json:"limited,omitempty" protobuf:"bytes,2,opt,name=limited"`
// `exempt` specifies how requests are handled for an exempt priority level.
@@ -460,6 +485,8 @@ type PriorityLevelConfigurationSpec struct {
// If empty and `type` is `"Exempt"` then the default values
// for `ExemptPriorityLevelConfiguration` apply.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Exempt")=+k8s:optional
Exempt *ExemptPriorityLevelConfiguration `json:"exempt,omitempty" protobuf:"bytes,3,opt,name=exempt"`
}
@@ -499,6 +526,7 @@ type LimitedPriorityLevelConfiguration struct {
NominalConcurrencyShares int32 `json:"nominalConcurrencyShares" protobuf:"varint,1,opt,name=nominalConcurrencyShares"`
// `limitResponse` indicates what to do with requests that can not be executed right now
+ // +required
LimitResponse LimitResponse `json:"limitResponse,omitempty" protobuf:"bytes,2,opt,name=limitResponse"`
// `lendablePercent` prescribes the fraction of the level's NominalCL that
@@ -578,12 +606,17 @@ type LimitResponse struct {
// "Reject" means that requests that can not be executed upon arrival
// are rejected.
// Required.
+ // +required
// +unionDiscriminator
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:modeDiscriminator
Type LimitResponseType `json:"type" protobuf:"bytes,1,opt,name=type"`
// `queuing` holds the configuration parameters for queuing.
// This field may be non-empty only if `type` is `"Queue"`.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
+ // +k8s:beta(since: "1.37")=+k8s:ifMode("Queue")=+k8s:required
Queuing *QueuingConfiguration `json:"queuing,omitempty" protobuf:"bytes,2,opt,name=queuing"`
}
@@ -650,16 +683,20 @@ type PriorityLevelConfigurationStatus struct {
type PriorityLevelConfigurationCondition struct {
// `type` is the type of the condition.
// Required.
+ // +required
Type PriorityLevelConfigurationConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// `status` is the status of the condition.
- // Can be True, False, Unknown.
- // Required.
+ // Should be specified and set to one of True, False, Unknown.
+ // +optional
Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// `lastTransitionTime` is the last time the condition transitioned from one status to another.
+ // +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
+ // +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// `message` is a human-readable message indicating details about last transition.
+ // +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
diff --git a/vendor/k8s.io/api/flowcontrol/v1beta3/types_swagger_doc_generated.go b/vendor/k8s.io/api/flowcontrol/v1beta3/types_swagger_doc_generated.go
index fa76112a7..c799e5d8d 100644
--- a/vendor/k8s.io/api/flowcontrol/v1beta3/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/flowcontrol/v1beta3/types_swagger_doc_generated.go
@@ -60,7 +60,7 @@ func (FlowSchema) SwaggerDoc() map[string]string {
var map_FlowSchemaCondition = map[string]string{
"": "FlowSchemaCondition describes conditions for a FlowSchema.",
"type": "`type` is the type of the condition. Required.",
- "status": "`status` is the status of the condition. Can be True, False, Unknown. Required.",
+ "status": "`status` is the status of the condition. Should be specified and set to one of True, False, Unknown.",
"lastTransitionTime": "`lastTransitionTime` is the last time the condition transitioned from one status to another.",
"reason": "`reason` is a unique, one-word, CamelCase reason for the condition's last transition.",
"message": "`message` is a human-readable message indicating details about last transition.",
@@ -167,7 +167,7 @@ func (PriorityLevelConfiguration) SwaggerDoc() map[string]string {
var map_PriorityLevelConfigurationCondition = map[string]string{
"": "PriorityLevelConfigurationCondition defines the condition of priority level.",
"type": "`type` is the type of the condition. Required.",
- "status": "`status` is the status of the condition. Can be True, False, Unknown. Required.",
+ "status": "`status` is the status of the condition. Should be specified and set to one of True, False, Unknown.",
"lastTransitionTime": "`lastTransitionTime` is the last time the condition transitioned from one status to another.",
"reason": "`reason` is a unique, one-word, CamelCase reason for the condition's last transition.",
"message": "`message` is a human-readable message indicating details about last transition.",
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/doc.go b/vendor/k8s.io/api/lifecycle/v1alpha1/doc.go
similarity index 82%
rename from vendor/k8s.io/api/autoscaling/v2beta1/doc.go
rename to vendor/k8s.io/api/lifecycle/v1alpha1/doc.go
index 58cc1f89d..b8ccba674 100644
--- a/vendor/k8s.io/api/autoscaling/v2beta1/doc.go
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/doc.go
@@ -1,5 +1,5 @@
/*
-Copyright 2016 The Kubernetes Authors.
+Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -18,6 +18,8 @@ limitations under the License.
// +k8s:protobuf-gen=package
// +k8s:openapi-gen=true
// +k8s:prerelease-lifecycle-gen=true
-// +k8s:openapi-model-package=io.k8s.api.autoscaling.v2beta1
+// +k8s:openapi-model-package=io.k8s.api.lifecycle.v1alpha1
-package v2beta1
+// +groupName=lifecycle.k8s.io
+
+package v1alpha1
diff --git a/vendor/k8s.io/api/lifecycle/v1alpha1/generated.pb.go b/vendor/k8s.io/api/lifecycle/v1alpha1/generated.pb.go
new file mode 100644
index 000000000..f8835cc6a
--- /dev/null
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/generated.pb.go
@@ -0,0 +1,3309 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// source: k8s.io/api/lifecycle/v1alpha1/generated.proto
+
+package v1alpha1
+
+import (
+ fmt "fmt"
+
+ io "io"
+
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+
+ math_bits "math/bits"
+ reflect "reflect"
+ strings "strings"
+
+ k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types"
+)
+
+func (m *Eviction) Reset() { *m = Eviction{} }
+
+func (m *EvictionList) Reset() { *m = EvictionList{} }
+
+func (m *EvictionPodReference) Reset() { *m = EvictionPodReference{} }
+
+func (m *EvictionRequest) Reset() { *m = EvictionRequest{} }
+
+func (m *EvictionRequestList) Reset() { *m = EvictionRequestList{} }
+
+func (m *EvictionRequestPodReference) Reset() { *m = EvictionRequestPodReference{} }
+
+func (m *EvictionRequestSpec) Reset() { *m = EvictionRequestSpec{} }
+
+func (m *EvictionRequestStatus) Reset() { *m = EvictionRequestStatus{} }
+
+func (m *EvictionRequestTarget) Reset() { *m = EvictionRequestTarget{} }
+
+func (m *EvictionSpec) Reset() { *m = EvictionSpec{} }
+
+func (m *EvictionStatus) Reset() { *m = EvictionStatus{} }
+
+func (m *EvictionTarget) Reset() { *m = EvictionTarget{} }
+
+func (m *Requester) Reset() { *m = Requester{} }
+
+func (m *ResponderStatus) Reset() { *m = ResponderStatus{} }
+
+func (m *TargetResponder) Reset() { *m = TargetResponder{} }
+
+func (m *Eviction) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *Eviction) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *Eviction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ {
+ size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionList) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionList) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Items) > 0 {
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionPodReference) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionPodReference) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionPodReference) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.UID)
+ copy(dAtA[i:], m.UID)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.UID)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionRequest) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionRequest) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ {
+ size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionRequestList) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionRequestList) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionRequestList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Items) > 0 {
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionRequestPodReference) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionRequestPodReference) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionRequestPodReference) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.UID)
+ copy(dAtA[i:], m.UID)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.UID)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionRequestSpec) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionRequestSpec) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionRequestSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Intent)
+ copy(dAtA[i:], m.Intent)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Intent)))
+ i--
+ dAtA[i] = 0x1a
+ i -= len(m.Requester)
+ copy(dAtA[i:], m.Requester)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Requester)))
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionRequestStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionRequestStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionRequestStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.ObservedGeneration != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.ObservedGeneration))
+ i--
+ dAtA[i] = 0x10
+ }
+ if len(m.Conditions) > 0 {
+ for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionRequestTarget) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionRequestTarget) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionRequestTarget) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Pod != nil {
+ {
+ size, err := m.Pod.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionSpec) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionSpec) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ {
+ size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Responders) > 0 {
+ for iNdEx := len(m.Responders) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Responders[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2a
+ }
+ }
+ if len(m.TargetResponders) > 0 {
+ for iNdEx := len(m.TargetResponders) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.TargetResponders[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ if len(m.Requesters) > 0 {
+ for iNdEx := len(m.Requesters) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Requesters[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
+ }
+ if m.ObservedGeneration != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.ObservedGeneration))
+ i--
+ dAtA[i] = 0x10
+ }
+ if len(m.Conditions) > 0 {
+ for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *EvictionTarget) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *EvictionTarget) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *EvictionTarget) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Pod != nil {
+ {
+ size, err := m.Pod.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *Requester) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *Requester) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *Requester) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Intent)
+ copy(dAtA[i:], m.Intent)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Intent)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *ResponderStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ResponderStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ResponderStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Message != nil {
+ i -= len(*m.Message)
+ copy(dAtA[i:], *m.Message)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Message)))
+ i--
+ dAtA[i] = 0x32
+ }
+ if m.CompletionTime != nil {
+ {
+ size, err := m.CompletionTime.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2a
+ }
+ if m.ExpectedCompletionTime != nil {
+ {
+ size, err := m.ExpectedCompletionTime.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
+ }
+ if m.HeartbeatTime != nil {
+ {
+ size, err := m.HeartbeatTime.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
+ if m.StartTime != nil {
+ {
+ size, err := m.StartTime.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *TargetResponder) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *TargetResponder) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *TargetResponder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.State)
+ copy(dAtA[i:], m.State)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.State)))
+ i--
+ dAtA[i] = 0x1a
+ if m.Priority != nil {
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.Priority))
+ i--
+ dAtA[i] = 0x10
+ }
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
+ offset -= sovGenerated(v)
+ base := offset
+ for v >= 1<<7 {
+ dAtA[offset] = uint8(v&0x7f | 0x80)
+ v >>= 7
+ offset++
+ }
+ dAtA[offset] = uint8(v)
+ return base
+}
+func (m *Eviction) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Status.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *EvictionList) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *EvictionPodReference) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.UID)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *EvictionRequest) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Status.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *EvictionRequestList) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *EvictionRequestPodReference) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.UID)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *EvictionRequestSpec) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.Target.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Requester)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Intent)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *EvictionRequestStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.Conditions) > 0 {
+ for _, e := range m.Conditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if m.ObservedGeneration != nil {
+ n += 1 + sovGenerated(uint64(*m.ObservedGeneration))
+ }
+ return n
+}
+
+func (m *EvictionRequestTarget) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.Pod != nil {
+ l = m.Pod.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *EvictionSpec) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.Target.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *EvictionStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.Conditions) > 0 {
+ for _, e := range m.Conditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if m.ObservedGeneration != nil {
+ n += 1 + sovGenerated(uint64(*m.ObservedGeneration))
+ }
+ if len(m.Requesters) > 0 {
+ for _, e := range m.Requesters {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.TargetResponders) > 0 {
+ for _, e := range m.TargetResponders {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.Responders) > 0 {
+ for _, e := range m.Responders {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *EvictionTarget) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.Pod != nil {
+ l = m.Pod.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *Requester) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Intent)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *ResponderStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.StartTime != nil {
+ l = m.StartTime.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.HeartbeatTime != nil {
+ l = m.HeartbeatTime.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.ExpectedCompletionTime != nil {
+ l = m.ExpectedCompletionTime.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.CompletionTime != nil {
+ l = m.CompletionTime.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.Message != nil {
+ l = len(*m.Message)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *TargetResponder) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Priority != nil {
+ n += 1 + sovGenerated(uint64(*m.Priority))
+ }
+ l = len(m.State)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func sovGenerated(x uint64) (n int) {
+ return (math_bits.Len64(x|1) + 6) / 7
+}
+func sozGenerated(x uint64) (n int) {
+ return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+}
+func (this *Eviction) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Eviction{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "EvictionSpec", "EvictionSpec", 1), `&`, ``, 1) + `,`,
+ `Status:` + strings.Replace(strings.Replace(this.Status.String(), "EvictionStatus", "EvictionStatus", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]Eviction{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "Eviction", "Eviction", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&EvictionList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionPodReference) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&EvictionPodReference{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `UID:` + fmt.Sprintf("%v", this.UID) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionRequest) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&EvictionRequest{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "EvictionRequestSpec", "EvictionRequestSpec", 1), `&`, ``, 1) + `,`,
+ `Status:` + strings.Replace(strings.Replace(this.Status.String(), "EvictionRequestStatus", "EvictionRequestStatus", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionRequestList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]EvictionRequest{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "EvictionRequest", "EvictionRequest", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&EvictionRequestList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionRequestPodReference) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&EvictionRequestPodReference{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `UID:` + fmt.Sprintf("%v", this.UID) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionRequestSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&EvictionRequestSpec{`,
+ `Target:` + strings.Replace(strings.Replace(this.Target.String(), "EvictionRequestTarget", "EvictionRequestTarget", 1), `&`, ``, 1) + `,`,
+ `Requester:` + fmt.Sprintf("%v", this.Requester) + `,`,
+ `Intent:` + fmt.Sprintf("%v", this.Intent) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionRequestStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForConditions := "[]Condition{"
+ for _, f := range this.Conditions {
+ repeatedStringForConditions += fmt.Sprintf("%v", f) + ","
+ }
+ repeatedStringForConditions += "}"
+ s := strings.Join([]string{`&EvictionRequestStatus{`,
+ `Conditions:` + repeatedStringForConditions + `,`,
+ `ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionRequestTarget) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&EvictionRequestTarget{`,
+ `Pod:` + strings.Replace(this.Pod.String(), "EvictionRequestPodReference", "EvictionRequestPodReference", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&EvictionSpec{`,
+ `Target:` + strings.Replace(strings.Replace(this.Target.String(), "EvictionTarget", "EvictionTarget", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForConditions := "[]Condition{"
+ for _, f := range this.Conditions {
+ repeatedStringForConditions += fmt.Sprintf("%v", f) + ","
+ }
+ repeatedStringForConditions += "}"
+ repeatedStringForRequesters := "[]Requester{"
+ for _, f := range this.Requesters {
+ repeatedStringForRequesters += strings.Replace(strings.Replace(f.String(), "Requester", "Requester", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForRequesters += "}"
+ repeatedStringForTargetResponders := "[]TargetResponder{"
+ for _, f := range this.TargetResponders {
+ repeatedStringForTargetResponders += strings.Replace(strings.Replace(f.String(), "TargetResponder", "TargetResponder", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForTargetResponders += "}"
+ repeatedStringForResponders := "[]ResponderStatus{"
+ for _, f := range this.Responders {
+ repeatedStringForResponders += strings.Replace(strings.Replace(f.String(), "ResponderStatus", "ResponderStatus", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForResponders += "}"
+ s := strings.Join([]string{`&EvictionStatus{`,
+ `Conditions:` + repeatedStringForConditions + `,`,
+ `ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
+ `Requesters:` + repeatedStringForRequesters + `,`,
+ `TargetResponders:` + repeatedStringForTargetResponders + `,`,
+ `Responders:` + repeatedStringForResponders + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *EvictionTarget) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&EvictionTarget{`,
+ `Pod:` + strings.Replace(this.Pod.String(), "EvictionPodReference", "EvictionPodReference", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *Requester) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Requester{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Intent:` + fmt.Sprintf("%v", this.Intent) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ResponderStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ResponderStatus{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "v1.Time", 1) + `,`,
+ `HeartbeatTime:` + strings.Replace(fmt.Sprintf("%v", this.HeartbeatTime), "Time", "v1.Time", 1) + `,`,
+ `ExpectedCompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.ExpectedCompletionTime), "Time", "v1.Time", 1) + `,`,
+ `CompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.CompletionTime), "Time", "v1.Time", 1) + `,`,
+ `Message:` + valueToStringGenerated(this.Message) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *TargetResponder) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&TargetResponder{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Priority:` + valueToStringGenerated(this.Priority) + `,`,
+ `State:` + fmt.Sprintf("%v", this.State) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func valueToStringGenerated(v interface{}) string {
+ rv := reflect.ValueOf(v)
+ if rv.IsNil() {
+ return "nil"
+ }
+ pv := reflect.Indirect(rv).Interface()
+ return fmt.Sprintf("*%v", pv)
+}
+func (m *Eviction) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: Eviction: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: Eviction: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionList) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionList: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionList: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Items = append(m.Items, Eviction{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionPodReference) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionPodReference: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionPodReference: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field UID", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.UID = k8s_io_apimachinery_pkg_types.UID(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionRequest) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionRequestList) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionRequestList: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionRequestList: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Items = append(m.Items, EvictionRequest{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionRequestPodReference) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionRequestPodReference: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionRequestPodReference: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field UID", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.UID = k8s_io_apimachinery_pkg_types.UID(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionRequestSpec) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionRequestSpec: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionRequestSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Requester = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Intent", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Intent = EvictionRequestIntent(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionRequestStatus) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionRequestStatus: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionRequestStatus: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Conditions = append(m.Conditions, v1.Condition{})
+ if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.ObservedGeneration = &v
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionRequestTarget) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionRequestTarget: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionRequestTarget: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Pod == nil {
+ m.Pod = &EvictionRequestPodReference{}
+ }
+ if err := m.Pod.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionSpec) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionSpec: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionStatus) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionStatus: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionStatus: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Conditions = append(m.Conditions, v1.Condition{})
+ if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.ObservedGeneration = &v
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Requesters", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Requesters = append(m.Requesters, Requester{})
+ if err := m.Requesters[len(m.Requesters)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field TargetResponders", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.TargetResponders = append(m.TargetResponders, TargetResponder{})
+ if err := m.TargetResponders[len(m.TargetResponders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Responders", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Responders = append(m.Responders, ResponderStatus{})
+ if err := m.Responders[len(m.Responders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EvictionTarget) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: EvictionTarget: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: EvictionTarget: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Pod == nil {
+ m.Pod = &EvictionPodReference{}
+ }
+ if err := m.Pod.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *Requester) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: Requester: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: Requester: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Intent", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Intent = RequesterIntent(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ResponderStatus) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ResponderStatus: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ResponderStatus: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.StartTime == nil {
+ m.StartTime = &v1.Time{}
+ }
+ if err := m.StartTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field HeartbeatTime", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.HeartbeatTime == nil {
+ m.HeartbeatTime = &v1.Time{}
+ }
+ if err := m.HeartbeatTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ExpectedCompletionTime", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ExpectedCompletionTime == nil {
+ m.ExpectedCompletionTime = &v1.Time{}
+ }
+ if err := m.ExpectedCompletionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.CompletionTime == nil {
+ m.CompletionTime = &v1.Time{}
+ }
+ if err := m.CompletionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := string(dAtA[iNdEx:postIndex])
+ m.Message = &s
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *TargetResponder) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: TargetResponder: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: TargetResponder: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType)
+ }
+ var v int32
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Priority = &v
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field State", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.State = ResponderStateType(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func skipGenerated(dAtA []byte) (n int, err error) {
+ l := len(dAtA)
+ iNdEx := 0
+ depth := 0
+ for iNdEx < l {
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ wireType := int(wire & 0x7)
+ switch wireType {
+ case 0:
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ iNdEx++
+ if dAtA[iNdEx-1] < 0x80 {
+ break
+ }
+ }
+ case 1:
+ iNdEx += 8
+ case 2:
+ var length int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ length |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if length < 0 {
+ return 0, ErrInvalidLengthGenerated
+ }
+ iNdEx += length
+ case 3:
+ depth++
+ case 4:
+ if depth == 0 {
+ return 0, ErrUnexpectedEndOfGroupGenerated
+ }
+ depth--
+ case 5:
+ iNdEx += 4
+ default:
+ return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
+ }
+ if iNdEx < 0 {
+ return 0, ErrInvalidLengthGenerated
+ }
+ if depth == 0 {
+ return iNdEx, nil
+ }
+ }
+ return 0, io.ErrUnexpectedEOF
+}
+
+var (
+ ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
+ ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
+ ErrUnexpectedEndOfGroupGenerated = fmt.Errorf("proto: unexpected end of group")
+)
diff --git a/vendor/k8s.io/api/lifecycle/v1alpha1/generated.proto b/vendor/k8s.io/api/lifecycle/v1alpha1/generated.proto
new file mode 100644
index 000000000..cef2c730d
--- /dev/null
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/generated.proto
@@ -0,0 +1,529 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+
+// This file was autogenerated by go-to-protobuf. Do not edit it manually!
+
+syntax = "proto2";
+
+package k8s.io.api.lifecycle.v1alpha1;
+
+import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
+import "k8s.io/apimachinery/pkg/runtime/generated.proto";
+import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
+
+// Package-wide variables from generator "generated".
+option go_package = "k8s.io/api/lifecycle/v1alpha1";
+
+// Eviction initiates an eviction process, which should ideally result in a graceful eviction of a
+// .spec.target (e.g. termination of a pod).
+//
+// The evictionrequest-controller observes intents of all EvictionRequests and transforms them into
+// Evictions. It manages the Eviction lifecycle.
+// Requesters are preserved in .status.requesters even after they have withdrawn their request.
+// If all requesters withdraw their eviction intent for a common target, the eviction will be
+// canceled. Once all EvictionRequest corresponding to this Eviction .spec.target have been
+// removed, this Eviction object will eventually be garbage collected.
+//
+// If the target is a pod, the .status.targetResponders is populated from Pod's
+// .spec.evictionResponders.
+//
+// Responders should observe and communicate through the .status to help with the eviction
+// of the target when they see their state == Active in .status.targetResponders. ResponderStatus
+// struct should then be periodically updated to indicate the progress or completion of the eviction
+// process by each responder in .status.responders. If .status.responders[].heartbeatTime is not
+// updated within the heartbeat deadline defined by the Eviction API (currently 20 minutes), the
+// eviction is passed over to the next responder with a lower priority.
+//
+// If there are no other responders and the target is a pod, the last default
+// imperative-eviction.k8s.io/evictor responder with a priority of 100 will evict the pod using the
+// imperative Eviction API (pods//eviction subresource).
+// +k8s:validation-gen-nolint // Note: remove this when the API got GA
+message Eviction {
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // .metadata.name set by the evictionrequest-controller is purely informative and subject to change.
+ // .spec.target field should be used to identify the target precisesly.
+ //
+ // The requester and responder names will be used as label keys and added to the labels of the
+ // eviction in one of the following formats:
+ // 1. acme.io/foo: "requester"
+ // 2. acme.io/foo: "responder"
+ // 3. acme.io/foo: "requester-responder"
+ //
+ // Please see EvictionParticipantRole for available role label values.
+ // +optional
+ // +k8s:beta(since: "1.37")=+k8s:subfield(name)=+k8s:format=k8s-long-name
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+
+ // spec defines the eviction specification.
+ // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +required
+ optional EvictionSpec spec = 2;
+
+ // status represents the most recently observed status of the eviction.
+ // Populated by responders and evictionrequest-controller.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +optional
+ optional EvictionStatus status = 3;
+}
+
+// EvictionList contains a list of Eviction resources.
+message EvictionList {
+ // metadata is the standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
+
+ // items is the list of Evictions.
+ repeated Eviction items = 2;
+}
+
+// EvictionPodReference contains enough information to locate the referenced pod inside the same
+// namespace.
+message EvictionPodReference {
+ // name of the target.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-long-name
+ optional string name = 1;
+
+ // uid of the target.
+ // It can be found in .metadata.uid of the target and is a lowercase UUID in 8-4-4-4-12 format.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-uuid
+ optional string uid = 2;
+}
+
+// EvictionRequest defines a request that should ideally result in a graceful eviction of a
+// .spec.target (e.g. termination of a pod).
+//
+// The evictionrequest-controller observes intents of all EvictionRequests and transforms them into
+// Evictions.
+// - .spec.requester is set as a label on the Eviction for easier lookup.
+// - Each target can have a set of responders assigned to it. Eviction objects are observed by
+// these responders, who implement the eviction logic and update the Eviction's status with
+// progress.
+//
+// There is many-to-many relationship between EvictionRequests and Evictions in general.
+// And many-to-one if the target is a pod.
+//
+// If all requesters withdraw their eviction intent for a common target, the eviction will be
+// canceled. Deleting an EvictionRequest also counts as a withdrawal.
+// Once all EvictionRequest of a target are removed, the corresponding Evictions are eventually
+// garbage collected.
+//
+// +k8s:validation-gen-nolint // Note: remove this when the API got GA
+message EvictionRequest {
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ // +k8s:beta(since: "1.37")=+k8s:subfield(name)=+k8s:format=k8s-long-name
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+
+ // spec defines the eviction request specification.
+ // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +required
+ optional EvictionRequestSpec spec = 2;
+
+ // status represents the most recently observed status of the eviction request.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +optional
+ optional EvictionRequestStatus status = 3;
+}
+
+// EvictionRequestList contains a list of EvictionRequests resources.
+message EvictionRequestList {
+ // metadata is the standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
+
+ // items is the list of EvictionRequests.
+ repeated EvictionRequest items = 2;
+}
+
+// EvictionRequestPodReference contains enough information to locate the referenced pod inside the
+// same namespace.
+message EvictionRequestPodReference {
+ // name of the target.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-long-name
+ optional string name = 1;
+
+ // uid of the target.
+ // It can be found in .metadata.uid of the target and is a lowercase UUID in 8-4-4-4-12 format.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-uuid
+ optional string uid = 2;
+}
+
+// EvictionRequestSpec is a specification of an EvictionRequest.
+message EvictionRequestSpec {
+ // target contains a reference to an object (e.g. a pod) that should be evicted.
+ // This field is required and immutable.
+ // +required
+ // +k8s:immutable
+ optional EvictionRequestTarget target = 1;
+
+ // requester allows you to identify the entity, that requested the eviction of the target.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // Domain names *.k8s.io and *.kubernetes.io are reserved.
+ // This field is required and immutable.
+ // +required
+ // +k8s:required
+ // +k8s:immutable
+ // +k8s:format=k8s-prefixed-label-key
+ // +k8s:customValidation
+ optional string requester = 2;
+
+ // intent specifies the action that should be taken for the specified target.
+ //
+ // - Eviction means that the requester is interested in the eviction of the target.
+ // - Withdrawn means that the requester is no longer interested in the eviction of the target.
+ // If all requesters' intents are withdrawn for a common target, the eviction will be canceled.
+ // Cancellation consequences:
+ // - Inactive responders will never run.
+ // - Active responders are expected to cancel the eviction.
+ // - Completed or Interrupted responders should not take any action.
+ // +required
+ // +k8s:required
+ optional string intent = 3;
+}
+
+// EvictionRequestStatus represents the last observed status of the eviction request.
+message EvictionRequestStatus {
+ // conditions contain information about the eviction request.
+ //
+ // EvictionRequest specific conditions are: TargetEvicted or Failed (managed by evictionrequest-controller).
+ // - Failed means that the eviction request is no longer being processed
+ // by any eviction responder. This can happen if the request is canceled or if no responder
+ // managed to evict the target (e.g. terminate or delete a pod).
+ // - TargetEvicted means that the target has been evicted (e.g. a pod has been terminated or deleted).
+ //
+ // These conditions can be reset if the eviction was unsuccessful and a new Eviction intent has
+ // been submitted.
+ //
+ // The maximum length of the conditions list is 100.
+ // +optional
+ // +patchMergeKey=type
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=type
+ // +k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:maxItems=100
+ repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 1;
+
+ // observedGeneration is EvictionRequest's .metadata.generation observed by the evictionrequest-controller.
+ // The observed generation value cannot be negative and can only be incremented.
+ // The minimum value is 1.
+ // This field is managed by evictionrequest-controller.
+ // +optional
+ // +k8s:optional
+ // +k8s:minimum=1
+ // +k8s:update=NoUnset
+ // +k8s:monotonic
+ optional int64 observedGeneration = 2;
+}
+
+// EvictionRequestTarget contains a reference to an object that should be evicted.
+// +union
+message EvictionRequestTarget {
+ // pod references a pod that is subject to eviction/termination.
+ // Pods that are part of a PodGroup (.spec.schedulingGroup is set) are not supported.
+ // +optional
+ // +k8s:optional
+ // +k8s:unionMember
+ optional EvictionRequestPodReference pod = 1;
+}
+
+// EvictionSpec is a specification of an Eviction.
+message EvictionSpec {
+ // target contains a reference to an object (e.g. a pod) that should be evicted.
+ // This field is required and immutable.
+ // +required
+ // +k8s:immutable
+ optional EvictionTarget target = 1;
+}
+
+// EvictionStatus represents the last observed status of the eviction request.
+message EvictionStatus {
+ // conditions contain information about the eviction request.
+ //
+ // Eviction specific conditions are: TargetEvicted or Failed (managed by evictionrequest-controller).
+ // - Failed means that the eviction request is no longer being processed
+ // by any eviction responder. This can happen if the request is canceled or if no responder
+ // managed to evict the target (e.g. terminate or delete a pod).
+ // - TargetEvicted means that the target has been evicted (e.g. a pod has been terminated or deleted).
+ //
+ // The maximum length of the conditions list is 100.
+ // +optional
+ // +patchMergeKey=type
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=type
+ // +k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:maxItems=100
+ repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 1;
+
+ // observedGeneration is Eviction's .metadata.generation observed by the evictionrequest-controller.
+ // The observed generation value cannot be negative and can only be incremented.
+ // The minimum value is 1.
+ // This field is managed by evictionrequest-controller.
+ // +optional
+ // +k8s:optional
+ // +k8s:minimum=1
+ // +k8s:monotonic
+ // +k8s:update=NoUnset
+ optional int64 observedGeneration = 2;
+
+ // requesters allow you to identify the entities, that requested the eviction of the target.
+ // If all the requesters withdraw their eviction intent, the eviction will be canceled.
+ //
+ // The maximum length of the requesters list is 100.
+ // If this limit is exceeded, requesters with Withdrawn intent should be dropped first.
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=100
+ repeated Requester requesters = 3;
+
+ // targetResponders reference responders that should eventually respond to this eviction
+ // to help with the graceful eviction of a target. These responders are selected sequentially,
+ // according to their specified priority by setting the Active state to the TargetResponder
+ // .state field. The maximum number of active responders allowed is 1.
+ // Eventually each responder can end up in an Interrupted, Canceled or, Completed state.
+ // Responders should observe these states in order to navigate their lifecycle.
+ //
+ // If the target is a pod, the field is populated from Pod's .spec.evictionResponders. Default
+ // responders may be added to the list according to the target.
+ //
+ // Default responders:
+ // - imperative-eviction.k8s.io/evictor responder with a priority of 100 is added to the list if the
+ // target is a pod. It will call the imperative Eviction API (pods//eviction subresource).
+ // This call may not succeed due to PodDisruptionBudgets, which may block the pod termination.
+ // It will update the responder message and try again with a backoff.
+ //
+ // The maximum length of the responders list is 11.
+ // The length and keys of the list cannot change once set.
+ // This field is managed by evictionrequest-controller.
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=11
+ repeated TargetResponder targetResponders = 4;
+
+ // responders represents the eviction process status of each declared responder.
+ //
+ // The responder list should be the same length and have the same .name fields as
+ // .status.targetResponders. Only responders with .name that have Active state in
+ // .targetResponders[].state should be updated and can be mutated. First initialization
+ // of the list is allowed.
+ //
+ // Each ResponderStatus is initialized by evictionrequest-controller and then managed by
+ // the designated responder.
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=11
+ repeated ResponderStatus responders = 5;
+}
+
+// EvictionTarget contains a reference to an object that should be evicted.
+// +union
+message EvictionTarget {
+ // pod references a pod that is subject to eviction/termination.
+ // Pods that are part of a PodGroup (.spec.schedulingGroup is set) are not supported.
+ // +optional
+ // +k8s:optional
+ // +k8s:unionMember
+ optional EvictionPodReference pod = 1;
+}
+
+// Requester allows you to identify the entity, that requested the eviction of the target.
+// +structType=atomic
+message Requester {
+ // name allows you to identify the entity, that requested the eviction of the target.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // This field must be unique for each requester.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-prefixed-label-key
+ optional string name = 1;
+
+ // intent specifies the action that should be taken for the specified target.
+ //
+ // - Eviction means that the requester is interested in the eviction of the target.
+ // - Withdrawn means that the requester is no longer interested in the eviction of the target.
+ // If all requesters' intents are withdrawn, the eviction will be canceled.
+ // Cancellation consequences:
+ // - Inactive responders will never run.
+ // - Active responders are expected to cancel the eviction.
+ // - Completed or Interrupted responders should not take any action.
+ // +required
+ // +k8s:required
+ optional string intent = 2;
+}
+
+// ResponderStatus represents the last observed status of the eviction process of the responder.
+// It should be only updated by the designated responder whose name is .name field.
+// +structType=granular
+message ResponderStatus {
+ // name allows you to identify the responder reacting to the Eviction.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // This field is initialized by Kubernetes and must be unique for each responder.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-prefixed-label-key
+ optional string name = 1;
+
+ // startTime tracks the time at which this responder was designated as active and should start
+ // processing the eviction request.
+ // It should reflect the present time when set.
+ // This field is initialized by Kubernetes when this responder becomes active.
+ // This field becomes immutable once set.
+ // +optional
+ // +k8s:optional
+ // +k8s:update=NoModify
+ // +k8s:update=NoUnset
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 2;
+
+ // heartbeatTime is the last time at which the eviction process was reported to be in progress
+ // by the responder.
+ // It should reflect the present time when set.
+ // Responders should avoid heartbeats more frequent than 20 seconds to avoid overloading the
+ // control-plane.
+ // +optional
+ // +k8s:optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time heartbeatTime = 3;
+
+ // expectedCompletionTime is the time at which the eviction process step is expected to end for the
+ // responder.
+ // The time cannot be set to the past.
+ // May be omitted if no estimate can be made.
+ // +optional
+ // +k8s:optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time expectedCompletionTime = 4;
+
+ // completionTime tracks the time at which the Responder stopped processing the eviction request.
+ // Completion means that the responders has either fully or partially completed the
+ // eviction process, which may have resulted in target eviction (e.g. pod termination).
+ // It should reflect the present time when set.
+ // This field becomes immutable once set.
+ // +optional
+ // +k8s:optional
+ // +k8s:update=NoModify
+ // +k8s:update=NoUnset
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time completionTime = 5;
+
+ // message provides human-readable details about the state of the responder and the eviction
+ // process.
+ // Maximum length is 4000 characters.
+ // +optional
+ // +k8s:optional
+ // +k8s:maxLength=4000
+ optional string message = 6;
+}
+
+// TargetResponder allows you to specify the responder reacting to the Eviction.
+// Responders should observe and communicate through the Eviction API (see .state) to help
+// with the graceful eviction of a target (e.g. termination of a pod).
+// +structType=atomic
+message TargetResponder {
+ // name allows you to identify the responder reacting to the Eviction.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // This field must be unique for each responder.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-prefixed-label-key
+ optional string name = 1;
+
+ // priority for this responder. Higher priorities are selected first by the evictionrequest-controller.
+ // If there are responders with the same priority, the responder whose domain name comes first in the
+ // alphabetical higher domain order, will be picked. This means that the top domain labels are compared
+ // alphabetically first, followed by the lower domain labels. The key is compared last.
+ //
+ // The responder that is the managing controller of the pod should set the value of
+ // this field to 10000 to allow both for preemption or fallback registration by other
+ // responders.
+ //
+ // The minimum value is 0 and the maximum value is 100000.
+ // The interval 0-999 is reserved for responders with *.k8s.io suffix.
+ // This field is required and immutable.
+ // +required
+ // +k8s:required
+ // +k8s:minimum=0
+ // +k8s:maximum=100000
+ // +k8s:update=NoModify
+ // +k8s:update=NoUnset
+ optional int32 priority = 2;
+
+ // state specifies a state that is assigned by the evictionrequest-controller. Responders should observe
+ // this state in order to navigate their lifecycle.
+ // - Inactive means that the responder should not yet process this eviction request.
+ // - Active means that the responder is either running or expected to start soon.
+ // Also, startTime has been set in the ResponderStatus by the evictionrequest-controller.
+ //
+ // An active responder should currently interact with the eviction process by updating
+ // .status.responders, where .name is the active responder name. ResponderStatus fields
+ // should be periodically updated to indicate the progress or completion of the eviction process.
+ // If .status.responders[].heartbeatTime field is not updated within the heartbeat deadline defined
+ // by the Eviction API (currently 20 minutes), the eviction is passed over to the next responder
+ // with a lower priority. Only one responder can be active at a time.
+ // - Interrupted means that the responder has failed to start or failed to update
+ // heartbeatTime in ResponderStatus in a timely manner.
+ // - Canceled means that the responder has been canceled. In other words, there is no
+ // EvictionRequest with the same target and Eviction intent in .spec.intent.
+ // - Completed means that the responder has successfully completed and set completionTime
+ // in ResponderStatus.
+ //
+ // Please refer to the ResponderStatus in .status.responders for more details on each responder.
+ // +required
+ // +k8s:required
+ optional string state = 3;
+}
+
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/register.go b/vendor/k8s.io/api/lifecycle/v1alpha1/register.go
similarity index 86%
rename from vendor/k8s.io/api/autoscaling/v2beta1/register.go
rename to vendor/k8s.io/api/lifecycle/v1alpha1/register.go
index 12d697f01..1efd34172 100644
--- a/vendor/k8s.io/api/autoscaling/v2beta1/register.go
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/register.go
@@ -1,5 +1,5 @@
/*
-Copyright 2016 The Kubernetes Authors.
+Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package v2beta1
+package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -23,10 +23,10 @@ import (
)
// GroupName is the group name use in this package
-const GroupName = "autoscaling"
+const GroupName = "lifecycle.k8s.io"
// SchemeGroupVersion is group version used to register these objects
-var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v2beta1"}
+var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
// Resource takes an unqualified resource and returns a Group qualified GroupResource
func Resource(resource string) schema.GroupResource {
@@ -41,12 +41,15 @@ var (
AddToScheme = localSchemeBuilder.AddToScheme
)
-// Adds the list of known types to the given scheme.
+// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
- &HorizontalPodAutoscaler{},
- &HorizontalPodAutoscalerList{},
+ &Eviction{},
+ &EvictionList{},
+ &EvictionRequest{},
+ &EvictionRequestList{},
)
+
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}
diff --git a/vendor/k8s.io/api/lifecycle/v1alpha1/types.go b/vendor/k8s.io/api/lifecycle/v1alpha1/types.go
new file mode 100644
index 000000000..42bbb44cf
--- /dev/null
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/types.go
@@ -0,0 +1,680 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1alpha1
+
+import (
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ apimachinerytypes "k8s.io/apimachinery/pkg/types"
+)
+
+const (
+ // EvictionResponderImperativeEviction is a default responder that will evict pods using the imperative
+ // Eviction API (pods//eviction subresource) with a backoff.
+ EvictionResponderImperativeEviction string = "imperative-eviction.k8s.io/evictor"
+)
+
+// +genclient
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.37
+// +k8s:supportsSubresource="/status"
+
+// EvictionRequest defines a request that should ideally result in a graceful eviction of a
+// .spec.target (e.g. termination of a pod).
+//
+// The evictionrequest-controller observes intents of all EvictionRequests and transforms them into
+// Evictions.
+// - .spec.requester is set as a label on the Eviction for easier lookup.
+// - Each target can have a set of responders assigned to it. Eviction objects are observed by
+// these responders, who implement the eviction logic and update the Eviction's status with
+// progress.
+//
+// There is many-to-many relationship between EvictionRequests and Evictions in general.
+// And many-to-one if the target is a pod.
+//
+// If all requesters withdraw their eviction intent for a common target, the eviction will be
+// canceled. Deleting an EvictionRequest also counts as a withdrawal.
+// Once all EvictionRequest of a target are removed, the corresponding Evictions are eventually
+// garbage collected.
+//
+// +k8s:validation-gen-nolint // Note: remove this when the API got GA
+type EvictionRequest struct {
+ metav1.TypeMeta `json:",inline"`
+
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ // +k8s:beta(since: "1.37")=+k8s:subfield(name)=+k8s:format=k8s-long-name
+ metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // spec defines the eviction request specification.
+ // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +required
+ Spec EvictionRequestSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
+
+ // status represents the most recently observed status of the eviction request.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +optional
+ Status EvictionRequestStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
+}
+
+// EvictionRequestSpec is a specification of an EvictionRequest.
+type EvictionRequestSpec struct {
+ // target contains a reference to an object (e.g. a pod) that should be evicted.
+ // This field is required and immutable.
+ // +required
+ // +k8s:immutable
+ Target EvictionRequestTarget `json:"target" protobuf:"bytes,1,opt,name=target"`
+
+ // requester allows you to identify the entity, that requested the eviction of the target.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // Domain names *.k8s.io and *.kubernetes.io are reserved.
+ // This field is required and immutable.
+ // +required
+ // +k8s:required
+ // +k8s:immutable
+ // +k8s:format=k8s-prefixed-label-key
+ // +k8s:customValidation
+ Requester string `json:"requester" protobuf:"bytes,2,opt,name=requester"`
+
+ // intent specifies the action that should be taken for the specified target.
+ //
+ // - Eviction means that the requester is interested in the eviction of the target.
+ // - Withdrawn means that the requester is no longer interested in the eviction of the target.
+ // If all requesters' intents are withdrawn for a common target, the eviction will be canceled.
+ // Cancellation consequences:
+ // - Inactive responders will never run.
+ // - Active responders are expected to cancel the eviction.
+ // - Completed or Interrupted responders should not take any action.
+ // +required
+ // +k8s:required
+ Intent EvictionRequestIntent `json:"intent" protobuf:"bytes,3,opt,name=intent,casttype=EvictionRequestIntent"`
+}
+
+// EvictionRequestTarget contains a reference to an object that should be evicted.
+// +union
+type EvictionRequestTarget struct {
+ // pod references a pod that is subject to eviction/termination.
+ // Pods that are part of a PodGroup (.spec.schedulingGroup is set) are not supported.
+ // +optional
+ // +k8s:optional
+ // +k8s:unionMember
+ Pod *EvictionRequestPodReference `json:"pod,omitempty" protobuf:"bytes,1,opt,name=pod"`
+}
+
+// EvictionRequestPodReference contains enough information to locate the referenced pod inside the
+// same namespace.
+type EvictionRequestPodReference struct {
+ // name of the target.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-long-name
+ Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
+ // uid of the target.
+ // It can be found in .metadata.uid of the target and is a lowercase UUID in 8-4-4-4-12 format.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-uuid
+ UID apimachinerytypes.UID `json:"uid" protobuf:"bytes,2,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"`
+}
+
+// EvictionRequestIntent specifies a requester intent.
+// +enum
+// +k8s:enum
+type EvictionRequestIntent string
+
+// These are intents that can be set by each requester.
+const (
+ // EvictionRequestIntentEviction means that the requester is interested in the eviction of the target.
+ EvictionRequestIntentEviction EvictionRequestIntent = "Eviction"
+
+ // EvictionRequestIntentWithdrawn means that the requester is no longer interested in the eviction of the target.
+ // If all requesters' intents are withdrawn for a common target, the eviction will be canceled.
+ // Cancellation consequences:
+ // - Inactive responders will never run.
+ // - Active responders are expected to cancel the eviction.
+ // - Completed or Interrupted responders should not take any action.
+ EvictionRequestIntentWithdrawn EvictionRequestIntent = "Withdrawn"
+)
+
+// EvictionRequestStatus represents the last observed status of the eviction request.
+type EvictionRequestStatus struct {
+ // conditions contain information about the eviction request.
+ //
+ // EvictionRequest specific conditions are: TargetEvicted or Failed (managed by evictionrequest-controller).
+ // - Failed means that the eviction request is no longer being processed
+ // by any eviction responder. This can happen if the request is canceled or if no responder
+ // managed to evict the target (e.g. terminate or delete a pod).
+ // - TargetEvicted means that the target has been evicted (e.g. a pod has been terminated or deleted).
+ //
+ // These conditions can be reset if the eviction was unsuccessful and a new Eviction intent has
+ // been submitted.
+ //
+ // The maximum length of the conditions list is 100.
+ // +optional
+ // +patchMergeKey=type
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=type
+ // +k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:maxItems=100
+ Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
+
+ // observedGeneration is EvictionRequest's .metadata.generation observed by the evictionrequest-controller.
+ // The observed generation value cannot be negative and can only be incremented.
+ // The minimum value is 1.
+ // This field is managed by evictionrequest-controller.
+ // +optional
+ // +k8s:optional
+ // +k8s:minimum=1
+ // +k8s:update=NoUnset
+ // +k8s:monotonic
+ ObservedGeneration *int64 `json:"observedGeneration,omitempty" protobuf:"varint,2,opt,name=observedGeneration"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.37
+
+// EvictionRequestList contains a list of EvictionRequests resources.
+type EvictionRequestList struct {
+ metav1.TypeMeta `json:",inline"`
+ // metadata is the standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
+ // +optional
+ metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // items is the list of EvictionRequests.
+ Items []EvictionRequest `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
+
+// +genclient
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.37
+// +k8s:supportsSubresource="/status"
+
+// Eviction initiates an eviction process, which should ideally result in a graceful eviction of a
+// .spec.target (e.g. termination of a pod).
+//
+// The evictionrequest-controller observes intents of all EvictionRequests and transforms them into
+// Evictions. It manages the Eviction lifecycle.
+// Requesters are preserved in .status.requesters even after they have withdrawn their request.
+// If all requesters withdraw their eviction intent for a common target, the eviction will be
+// canceled. Once all EvictionRequest corresponding to this Eviction .spec.target have been
+// removed, this Eviction object will eventually be garbage collected.
+//
+// If the target is a pod, the .status.targetResponders is populated from Pod's
+// .spec.evictionResponders.
+//
+// Responders should observe and communicate through the .status to help with the eviction
+// of the target when they see their state == Active in .status.targetResponders. ResponderStatus
+// struct should then be periodically updated to indicate the progress or completion of the eviction
+// process by each responder in .status.responders. If .status.responders[].heartbeatTime is not
+// updated within the heartbeat deadline defined by the Eviction API (currently 20 minutes), the
+// eviction is passed over to the next responder with a lower priority.
+//
+// If there are no other responders and the target is a pod, the last default
+// imperative-eviction.k8s.io/evictor responder with a priority of 100 will evict the pod using the
+// imperative Eviction API (pods//eviction subresource).
+// +k8s:validation-gen-nolint // Note: remove this when the API got GA
+type Eviction struct {
+ metav1.TypeMeta `json:",inline"`
+
+ // metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // .metadata.name set by the evictionrequest-controller is purely informative and subject to change.
+ // .spec.target field should be used to identify the target precisesly.
+ //
+ // The requester and responder names will be used as label keys and added to the labels of the
+ // eviction in one of the following formats:
+ // 1. acme.io/foo: "requester"
+ // 2. acme.io/foo: "responder"
+ // 3. acme.io/foo: "requester-responder"
+ //
+ // Please see EvictionParticipantRole for available role label values.
+ // +optional
+ // +k8s:beta(since: "1.37")=+k8s:subfield(name)=+k8s:format=k8s-long-name
+ metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // spec defines the eviction specification.
+ // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +required
+ Spec EvictionSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
+
+ // status represents the most recently observed status of the eviction.
+ // Populated by responders and evictionrequest-controller.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +optional
+ Status EvictionStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
+}
+
+// EvictionParticipantRole specifies a role of an eviction participant intent.
+type EvictionParticipantRole string
+
+const (
+ // EvictionParticipantRoleRequester identifies a requester which creates EvictionRequests.
+ EvictionParticipantRoleRequester EvictionParticipantRole = "requester"
+
+ // EvictionParticipantRoleResponder identifies a responder which responds to an Eviction.
+ EvictionParticipantRoleResponder EvictionParticipantRole = "responder"
+
+ // EvictionParticipantRoleRequesterResponder is both a "requester" and a "responder" at the same time.
+ EvictionParticipantRoleRequesterResponder EvictionParticipantRole = "requester-responder"
+)
+
+// EvictionSpec is a specification of an Eviction.
+type EvictionSpec struct {
+ // target contains a reference to an object (e.g. a pod) that should be evicted.
+ // This field is required and immutable.
+ // +required
+ // +k8s:immutable
+ Target EvictionTarget `json:"target" protobuf:"bytes,1,opt,name=target"`
+}
+
+// EvictionTarget contains a reference to an object that should be evicted.
+// +union
+type EvictionTarget struct {
+ // pod references a pod that is subject to eviction/termination.
+ // Pods that are part of a PodGroup (.spec.schedulingGroup is set) are not supported.
+ // +optional
+ // +k8s:optional
+ // +k8s:unionMember
+ Pod *EvictionPodReference `json:"pod,omitempty" protobuf:"bytes,1,opt,name=pod"`
+}
+
+// EvictionPodReference contains enough information to locate the referenced pod inside the same
+// namespace.
+type EvictionPodReference struct {
+ // name of the target.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-long-name
+ Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
+ // uid of the target.
+ // It can be found in .metadata.uid of the target and is a lowercase UUID in 8-4-4-4-12 format.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-uuid
+ UID apimachinerytypes.UID `json:"uid" protobuf:"bytes,2,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"`
+}
+
+// EvictionStatus represents the last observed status of the eviction request.
+type EvictionStatus struct {
+ // conditions contain information about the eviction request.
+ //
+ // Eviction specific conditions are: TargetEvicted or Failed (managed by evictionrequest-controller).
+ // - Failed means that the eviction request is no longer being processed
+ // by any eviction responder. This can happen if the request is canceled or if no responder
+ // managed to evict the target (e.g. terminate or delete a pod).
+ // - TargetEvicted means that the target has been evicted (e.g. a pod has been terminated or deleted).
+ //
+ // The maximum length of the conditions list is 100.
+ // +optional
+ // +patchMergeKey=type
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=type
+ // +k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
+ // +k8s:maxItems=100
+ Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
+
+ // observedGeneration is Eviction's .metadata.generation observed by the evictionrequest-controller.
+ // The observed generation value cannot be negative and can only be incremented.
+ // The minimum value is 1.
+ // This field is managed by evictionrequest-controller.
+ // +optional
+ // +k8s:optional
+ // +k8s:minimum=1
+ // +k8s:monotonic
+ // +k8s:update=NoUnset
+ ObservedGeneration *int64 `json:"observedGeneration,omitempty" protobuf:"varint,2,opt,name=observedGeneration"`
+
+ // requesters allow you to identify the entities, that requested the eviction of the target.
+ // If all the requesters withdraw their eviction intent, the eviction will be canceled.
+ //
+ // The maximum length of the requesters list is 100.
+ // If this limit is exceeded, requesters with Withdrawn intent should be dropped first.
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=100
+ Requesters []Requester `json:"requesters,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,3,rep,name=requesters"`
+
+ // targetResponders reference responders that should eventually respond to this eviction
+ // to help with the graceful eviction of a target. These responders are selected sequentially,
+ // according to their specified priority by setting the Active state to the TargetResponder
+ // .state field. The maximum number of active responders allowed is 1.
+ // Eventually each responder can end up in an Interrupted, Canceled or, Completed state.
+ // Responders should observe these states in order to navigate their lifecycle.
+ //
+ // If the target is a pod, the field is populated from Pod's .spec.evictionResponders. Default
+ // responders may be added to the list according to the target.
+ //
+ // Default responders:
+ // - imperative-eviction.k8s.io/evictor responder with a priority of 100 is added to the list if the
+ // target is a pod. It will call the imperative Eviction API (pods//eviction subresource).
+ // This call may not succeed due to PodDisruptionBudgets, which may block the pod termination.
+ // It will update the responder message and try again with a backoff.
+ //
+ // The maximum length of the responders list is 11.
+ // The length and keys of the list cannot change once set.
+ // This field is managed by evictionrequest-controller.
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=11
+ TargetResponders []TargetResponder `json:"targetResponders,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,4,rep,name=targetResponders"`
+
+ // responders represents the eviction process status of each declared responder.
+ //
+ // The responder list should be the same length and have the same .name fields as
+ // .status.targetResponders. Only responders with .name that have Active state in
+ // .targetResponders[].state should be updated and can be mutated. First initialization
+ // of the list is allowed.
+ //
+ // Each ResponderStatus is initialized by evictionrequest-controller and then managed by
+ // the designated responder.
+ // +optional
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +k8s:optional
+ // +k8s:listType=map
+ // +k8s:listMapKey=name
+ // +k8s:maxItems=11
+ Responders []ResponderStatus `json:"responders,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,5,rep,name=responders"`
+}
+
+type EvictionConditionType string
+
+// These are built-in conditions of an eviction request.
+const (
+ // EvictionConditionFailed means that the eviction request is no longer being processed
+ // by any eviction responder. This can happen if the request is canceled or if no responder
+ // managed to evict the target (e.g. terminate or delete a pod).
+ EvictionConditionFailed EvictionConditionType = "Failed"
+
+ // EvictionConditionTargetEvicted means that the target has been evicted (e.g. a pod has been
+ // terminated or deleted).
+ EvictionConditionTargetEvicted EvictionConditionType = "TargetEvicted"
+)
+
+type EvictionConditionReason string
+
+// These are built-in condition reasons of an eviction request.
+const (
+ // EvictionConditionReasonAwaitingEviction means that this Eviction works as expected and the target
+ // is scheduled for an eviction.
+ // This reason is set for the Failed and TargetEvicted condition.
+ EvictionConditionReasonAwaitingEviction EvictionConditionReason = "AwaitingEviction"
+ // EvictionConditionReasonEvictionInvalid means that the Eviction is not accepted because the
+ // initial configuration is not valid.
+ // This reason is set for the Failed condition.
+ EvictionConditionReasonEvictionInvalid EvictionConditionReason = "EvictionInvalid"
+ // EvictionConditionReasonCanceledDueToNoRequesters means that the Eviction is canceled because there is no
+ // EvictionRequest with the same target and Eviction intent in .spec.intent.
+ // This reason is set for the Failed condition.
+ EvictionConditionReasonCanceledDueToNoRequesters EvictionConditionReason = "CanceledDueToNoRequesters"
+ // EvictionConditionReasonSucceeded means that the Eviction has successfully evicted the target.
+ // This reason is set for the Failed condition.
+ EvictionConditionReasonSucceeded EvictionConditionReason = "Succeeded"
+ // EvictionConditionReasonNoFurtherResponder means that the Eviction responders failed to evict
+ // the target and that no further responder is available.
+ // This reason is set for the Failed condition.
+ EvictionConditionReasonNoFurtherResponder EvictionConditionReason = "NoFurtherResponder"
+ // EvictionConditionReasonPodDeleted means that the target pod has been deleted.
+ // This reason is set for the TargetEvicted condition.
+ EvictionConditionReasonPodDeleted EvictionConditionReason = "PodDeleted"
+ // EvictionConditionReasonPodTerminal means that the target pod has reached a terminal state.
+ // This reason is set for the TargetEvicted condition.
+ EvictionConditionReasonPodTerminal EvictionConditionReason = "PodTerminal"
+ // EvictionConditionReasonEvictionFailed means that the eviction of the target was unsuccessful.
+ // This reason is set for the TargetEvicted condition.
+ EvictionConditionReasonEvictionFailed EvictionConditionReason = "EvictionFailed"
+)
+
+// Requester allows you to identify the entity, that requested the eviction of the target.
+// +structType=atomic
+type Requester struct {
+ // name allows you to identify the entity, that requested the eviction of the target.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // This field must be unique for each requester.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-prefixed-label-key
+ Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
+
+ // intent specifies the action that should be taken for the specified target.
+ //
+ // - Eviction means that the requester is interested in the eviction of the target.
+ // - Withdrawn means that the requester is no longer interested in the eviction of the target.
+ // If all requesters' intents are withdrawn, the eviction will be canceled.
+ // Cancellation consequences:
+ // - Inactive responders will never run.
+ // - Active responders are expected to cancel the eviction.
+ // - Completed or Interrupted responders should not take any action.
+ // +required
+ // +k8s:required
+ Intent RequesterIntent `json:"intent" protobuf:"bytes,2,opt,name=intent,casttype=RequesterIntent"`
+}
+
+// RequesterIntent specifies a requester intent.
+// +enum
+// +k8s:enum
+type RequesterIntent string
+
+// These are intents that can be set by each requester.
+const (
+ // RequesterIntentEviction means that the requester is interested in the eviction of the target.
+ RequesterIntentEviction RequesterIntent = "Eviction"
+
+ // RequesterIntentWithdrawn means that the requester is no longer interested in the eviction of the target.
+ // If all requesters' intents are withdrawn, the eviction will be canceled.
+ // Cancellation consequences:
+ // - Inactive responders will never run.
+ // - Active responders are expected to cancel the eviction.
+ // - Completed or Interrupted responders should not take any action.
+ RequesterIntentWithdrawn RequesterIntent = "Withdrawn"
+)
+
+// TargetResponder allows you to specify the responder reacting to the Eviction.
+// Responders should observe and communicate through the Eviction API (see .state) to help
+// with the graceful eviction of a target (e.g. termination of a pod).
+// +structType=atomic
+type TargetResponder struct {
+ // name allows you to identify the responder reacting to the Eviction.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // This field must be unique for each responder.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-prefixed-label-key
+ Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
+
+ // priority for this responder. Higher priorities are selected first by the evictionrequest-controller.
+ // If there are responders with the same priority, the responder whose domain name comes first in the
+ // alphabetical higher domain order, will be picked. This means that the top domain labels are compared
+ // alphabetically first, followed by the lower domain labels. The key is compared last.
+ //
+ // The responder that is the managing controller of the pod should set the value of
+ // this field to 10000 to allow both for preemption or fallback registration by other
+ // responders.
+ //
+ // The minimum value is 0 and the maximum value is 100000.
+ // The interval 0-999 is reserved for responders with *.k8s.io suffix.
+ // This field is required and immutable.
+ // +required
+ // +k8s:required
+ // +k8s:minimum=0
+ // +k8s:maximum=100000
+ // +k8s:update=NoModify
+ // +k8s:update=NoUnset
+ Priority *int32 `json:"priority" protobuf:"varint,2,opt,name=priority"`
+
+ // state specifies a state that is assigned by the evictionrequest-controller. Responders should observe
+ // this state in order to navigate their lifecycle.
+ // - Inactive means that the responder should not yet process this eviction request.
+ // - Active means that the responder is either running or expected to start soon.
+ // Also, startTime has been set in the ResponderStatus by the evictionrequest-controller.
+ //
+ // An active responder should currently interact with the eviction process by updating
+ // .status.responders, where .name is the active responder name. ResponderStatus fields
+ // should be periodically updated to indicate the progress or completion of the eviction process.
+ // If .status.responders[].heartbeatTime field is not updated within the heartbeat deadline defined
+ // by the Eviction API (currently 20 minutes), the eviction is passed over to the next responder
+ // with a lower priority. Only one responder can be active at a time.
+ // - Interrupted means that the responder has failed to start or failed to update
+ // heartbeatTime in ResponderStatus in a timely manner.
+ // - Canceled means that the responder has been canceled. In other words, there is no
+ // EvictionRequest with the same target and Eviction intent in .spec.intent.
+ // - Completed means that the responder has successfully completed and set completionTime
+ // in ResponderStatus.
+ //
+ // Please refer to the ResponderStatus in .status.responders for more details on each responder.
+ // +required
+ // +k8s:required
+ State ResponderStateType `json:"state" protobuf:"bytes,3,opt,name=state,casttype=ResponderStateType"`
+}
+
+// ResponderStateType specifies a state that is assigned by the evictionrequest-controller.
+// +enum
+// +k8s:enum
+type ResponderStateType string
+
+const (
+ // ResponderStateInactive means that the responder should not yet process this eviction request.
+ ResponderStateInactive ResponderStateType = "Inactive"
+
+ // ResponderStateActive means that the responder is either running or expected to start soon.
+ // Also, startTime has been set in the ResponderStatus by the evictionrequest-controller.
+ //
+ // An active responder should currently interact with the eviction process by updating
+ // .status.responders, where .name is the active responder name. ResponderStatus fields
+ // should be periodically updated to indicate the progress or completion of the eviction process.
+ // If .status.responders[].heartbeatTime field is not updated within the heartbeat deadline defined
+ // by the Eviction API (currently 20 minutes), the eviction is passed over to the next responder
+ // with a lower priority. Only one responder can be active at a time.
+ ResponderStateActive ResponderStateType = "Active"
+
+ // ResponderStateInterrupted means that the responder has failed to start or failed to update
+ // heartbeatTime in ResponderStatus in a timely manner.
+ ResponderStateInterrupted ResponderStateType = "Interrupted"
+
+ // ResponderStateCanceled means that the responder has been canceled. In other words, there
+ // is no EvictionRequest with the same target and Eviction intent in .spec.intent.
+ ResponderStateCanceled ResponderStateType = "Canceled"
+
+ // ResponderStateCompleted means that the responder has successfully completed and set completionTime
+ // in ResponderStatus.
+ ResponderStateCompleted ResponderStateType = "Completed"
+)
+
+// ResponderStatus represents the last observed status of the eviction process of the responder.
+// It should be only updated by the designated responder whose name is .name field.
+// +structType=granular
+type ResponderStatus struct {
+ // name allows you to identify the responder reacting to the Eviction.
+ //
+ // It must be a valid domain-prefixed key (such as "acme.io/foo").
+ // This field is initialized by Kubernetes and must be unique for each responder.
+ // This field is required.
+ // +required
+ // +k8s:required
+ // +k8s:format=k8s-prefixed-label-key
+ Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
+
+ // startTime tracks the time at which this responder was designated as active and should start
+ // processing the eviction request.
+ // It should reflect the present time when set.
+ // This field is initialized by Kubernetes when this responder becomes active.
+ // This field becomes immutable once set.
+ // +optional
+ // +k8s:optional
+ // +k8s:update=NoModify
+ // +k8s:update=NoUnset
+ StartTime *metav1.Time `json:"startTime,omitempty" protobuf:"bytes,2,opt,name=startTime"`
+
+ // heartbeatTime is the last time at which the eviction process was reported to be in progress
+ // by the responder.
+ // It should reflect the present time when set.
+ // Responders should avoid heartbeats more frequent than 20 seconds to avoid overloading the
+ // control-plane.
+ // +optional
+ // +k8s:optional
+ HeartbeatTime *metav1.Time `json:"heartbeatTime,omitempty" protobuf:"bytes,3,opt,name=heartbeatTime"`
+
+ // expectedCompletionTime is the time at which the eviction process step is expected to end for the
+ // responder.
+ // The time cannot be set to the past.
+ // May be omitted if no estimate can be made.
+ // +optional
+ // +k8s:optional
+ ExpectedCompletionTime *metav1.Time `json:"expectedCompletionTime,omitempty" protobuf:"bytes,4,opt,name=expectedCompletionTime"`
+
+ // completionTime tracks the time at which the Responder stopped processing the eviction request.
+ // Completion means that the responders has either fully or partially completed the
+ // eviction process, which may have resulted in target eviction (e.g. pod termination).
+ // It should reflect the present time when set.
+ // This field becomes immutable once set.
+ // +optional
+ // +k8s:optional
+ // +k8s:update=NoModify
+ // +k8s:update=NoUnset
+ CompletionTime *metav1.Time `json:"completionTime,omitempty" protobuf:"bytes,5,opt,name=completionTime"`
+
+ // message provides human-readable details about the state of the responder and the eviction
+ // process.
+ // Maximum length is 4000 characters.
+ // +optional
+ // +k8s:optional
+ // +k8s:maxLength=4000
+ Message *string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.37
+
+// EvictionList contains a list of Eviction resources.
+type EvictionList struct {
+ metav1.TypeMeta `json:",inline"`
+ // metadata is the standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
+ // +optional
+ metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // items is the list of Evictions.
+ Items []Eviction `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
diff --git a/vendor/k8s.io/api/lifecycle/v1alpha1/types_swagger_doc_generated.go b/vendor/k8s.io/api/lifecycle/v1alpha1/types_swagger_doc_generated.go
new file mode 100644
index 000000000..3646f8434
--- /dev/null
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/types_swagger_doc_generated.go
@@ -0,0 +1,188 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1alpha1
+
+// This file contains a collection of methods that can be used from go-restful to
+// generate Swagger API documentation for its models. Please read this PR for more
+// information on the implementation: https://github.com/emicklei/go-restful/pull/215
+//
+// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
+// they are on one line! For multiple line or blocks that you want to ignore use ---.
+// Any context after a --- is ignored.
+//
+// Those methods can be generated by using hack/update-codegen.sh
+
+// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
+var map_Eviction = map[string]string{
+ "": "Eviction initiates an eviction process, which should ideally result in a graceful eviction of a .spec.target (e.g. termination of a pod).\n\nThe evictionrequest-controller observes intents of all EvictionRequests and transforms them into Evictions. It manages the Eviction lifecycle. Requesters are preserved in .status.requesters even after they have withdrawn their request. If all requesters withdraw their eviction intent for a common target, the eviction will be canceled. Once all EvictionRequest corresponding to this Eviction .spec.target have been removed, this Eviction object will eventually be garbage collected.\n\nIf the target is a pod, the .status.targetResponders is populated from Pod's .spec.evictionResponders.\n\nResponders should observe and communicate through the .status to help with the eviction of the target when they see their state == Active in .status.targetResponders. ResponderStatus struct should then be periodically updated to indicate the progress or completion of the eviction process by each responder in .status.responders. If .status.responders[].heartbeatTime is not updated within the heartbeat deadline defined by the Eviction API (currently 20 minutes), the eviction is passed over to the next responder with a lower priority.\n\nIf there are no other responders and the target is a pod, the last default imperative-eviction.k8s.io/evictor responder with a priority of 100 will evict the pod using the imperative Eviction API (pods//eviction subresource).",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. .metadata.name set by the evictionrequest-controller is purely informative and subject to change. .spec.target field should be used to identify the target precisesly.\n\nThe requester and responder names will be used as label keys and added to the labels of the eviction in one of the following formats: 1. acme.io/foo: \"requester\" 2. acme.io/foo: \"responder\" 3. acme.io/foo: \"requester-responder\"\n\nPlease see EvictionParticipantRole for available role label values.",
+ "spec": "spec defines the eviction specification. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
+ "status": "status represents the most recently observed status of the eviction. Populated by responders and evictionrequest-controller. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
+}
+
+func (Eviction) SwaggerDoc() map[string]string {
+ return map_Eviction
+}
+
+var map_EvictionList = map[string]string{
+ "": "EvictionList contains a list of Eviction resources.",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "items": "items is the list of Evictions.",
+}
+
+func (EvictionList) SwaggerDoc() map[string]string {
+ return map_EvictionList
+}
+
+var map_EvictionPodReference = map[string]string{
+ "": "EvictionPodReference contains enough information to locate the referenced pod inside the same namespace.",
+ "name": "name of the target. This field is required.",
+ "uid": "uid of the target. It can be found in .metadata.uid of the target and is a lowercase UUID in 8-4-4-4-12 format. This field is required.",
+}
+
+func (EvictionPodReference) SwaggerDoc() map[string]string {
+ return map_EvictionPodReference
+}
+
+var map_EvictionRequest = map[string]string{
+ "": "EvictionRequest defines a request that should ideally result in a graceful eviction of a .spec.target (e.g. termination of a pod).\n\nThe evictionrequest-controller observes intents of all EvictionRequests and transforms them into Evictions.\n - .spec.requester is set as a label on the Eviction for easier lookup.\n - Each target can have a set of responders assigned to it. Eviction objects are observed by\n these responders, who implement the eviction logic and update the Eviction's status with\n progress.\n\nThere is many-to-many relationship between EvictionRequests and Evictions in general. And many-to-one if the target is a pod.\n\nIf all requesters withdraw their eviction intent for a common target, the eviction will be canceled. Deleting an EvictionRequest also counts as a withdrawal. Once all EvictionRequest of a target are removed, the corresponding Evictions are eventually garbage collected.",
+ "metadata": "metadata is the standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "spec defines the eviction request specification. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
+ "status": "status represents the most recently observed status of the eviction request. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
+}
+
+func (EvictionRequest) SwaggerDoc() map[string]string {
+ return map_EvictionRequest
+}
+
+var map_EvictionRequestList = map[string]string{
+ "": "EvictionRequestList contains a list of EvictionRequests resources.",
+ "metadata": "metadata is the standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "items": "items is the list of EvictionRequests.",
+}
+
+func (EvictionRequestList) SwaggerDoc() map[string]string {
+ return map_EvictionRequestList
+}
+
+var map_EvictionRequestPodReference = map[string]string{
+ "": "EvictionRequestPodReference contains enough information to locate the referenced pod inside the same namespace.",
+ "name": "name of the target. This field is required.",
+ "uid": "uid of the target. It can be found in .metadata.uid of the target and is a lowercase UUID in 8-4-4-4-12 format. This field is required.",
+}
+
+func (EvictionRequestPodReference) SwaggerDoc() map[string]string {
+ return map_EvictionRequestPodReference
+}
+
+var map_EvictionRequestSpec = map[string]string{
+ "": "EvictionRequestSpec is a specification of an EvictionRequest.",
+ "target": "target contains a reference to an object (e.g. a pod) that should be evicted. This field is required and immutable.",
+ "requester": "requester allows you to identify the entity, that requested the eviction of the target.\n\nIt must be a valid domain-prefixed key (such as \"acme.io/foo\"). Domain names *.k8s.io and *.kubernetes.io are reserved. This field is required and immutable.",
+ "intent": "intent specifies the action that should be taken for the specified target.\n\n- Eviction means that the requester is interested in the eviction of the target. - Withdrawn means that the requester is no longer interested in the eviction of the target.\n If all requesters' intents are withdrawn for a common target, the eviction will be canceled.\n Cancellation consequences:\n - Inactive responders will never run.\n - Active responders are expected to cancel the eviction.\n - Completed or Interrupted responders should not take any action.",
+}
+
+func (EvictionRequestSpec) SwaggerDoc() map[string]string {
+ return map_EvictionRequestSpec
+}
+
+var map_EvictionRequestStatus = map[string]string{
+ "": "EvictionRequestStatus represents the last observed status of the eviction request.",
+ "conditions": "conditions contain information about the eviction request.\n\nEvictionRequest specific conditions are: TargetEvicted or Failed (managed by evictionrequest-controller). - Failed means that the eviction request is no longer being processed\n by any eviction responder. This can happen if the request is canceled or if no responder\n managed to evict the target (e.g. terminate or delete a pod).\n- TargetEvicted means that the target has been evicted (e.g. a pod has been terminated or deleted).\n\nThese conditions can be reset if the eviction was unsuccessful and a new Eviction intent has been submitted.\n\nThe maximum length of the conditions list is 100.",
+ "observedGeneration": "observedGeneration is EvictionRequest's .metadata.generation observed by the evictionrequest-controller. The observed generation value cannot be negative and can only be incremented. The minimum value is 1. This field is managed by evictionrequest-controller.",
+}
+
+func (EvictionRequestStatus) SwaggerDoc() map[string]string {
+ return map_EvictionRequestStatus
+}
+
+var map_EvictionRequestTarget = map[string]string{
+ "": "EvictionRequestTarget contains a reference to an object that should be evicted.",
+ "pod": "pod references a pod that is subject to eviction/termination. Pods that are part of a PodGroup (.spec.schedulingGroup is set) are not supported.",
+}
+
+func (EvictionRequestTarget) SwaggerDoc() map[string]string {
+ return map_EvictionRequestTarget
+}
+
+var map_EvictionSpec = map[string]string{
+ "": "EvictionSpec is a specification of an Eviction.",
+ "target": "target contains a reference to an object (e.g. a pod) that should be evicted. This field is required and immutable.",
+}
+
+func (EvictionSpec) SwaggerDoc() map[string]string {
+ return map_EvictionSpec
+}
+
+var map_EvictionStatus = map[string]string{
+ "": "EvictionStatus represents the last observed status of the eviction request.",
+ "conditions": "conditions contain information about the eviction request.\n\nEviction specific conditions are: TargetEvicted or Failed (managed by evictionrequest-controller). - Failed means that the eviction request is no longer being processed\n by any eviction responder. This can happen if the request is canceled or if no responder\n managed to evict the target (e.g. terminate or delete a pod).\n- TargetEvicted means that the target has been evicted (e.g. a pod has been terminated or deleted).\n\n\tThe maximum length of the conditions list is 100.",
+ "observedGeneration": "observedGeneration is Eviction's .metadata.generation observed by the evictionrequest-controller. The observed generation value cannot be negative and can only be incremented. The minimum value is 1. This field is managed by evictionrequest-controller.",
+ "requesters": "requesters allow you to identify the entities, that requested the eviction of the target. If all the requesters withdraw their eviction intent, the eviction will be canceled.\n\nThe maximum length of the requesters list is 100. If this limit is exceeded, requesters with Withdrawn intent should be dropped first.",
+ "targetResponders": "targetResponders reference responders that should eventually respond to this eviction to help with the graceful eviction of a target. These responders are selected sequentially, according to their specified priority by setting the Active state to the TargetResponder .state field. The maximum number of active responders allowed is 1. Eventually each responder can end up in an Interrupted, Canceled or, Completed state. Responders should observe these states in order to navigate their lifecycle.\n\nIf the target is a pod, the field is populated from Pod's .spec.evictionResponders. Default responders may be added to the list according to the target.\n\nDefault responders: - imperative-eviction.k8s.io/evictor responder with a priority of 100 is added to the list if the\n target is a pod. It will call the imperative Eviction API (pods//eviction subresource).\n This call may not succeed due to PodDisruptionBudgets, which may block the pod termination.\n It will update the responder message and try again with a backoff.\n\nThe maximum length of the responders list is 11. The length and keys of the list cannot change once set. This field is managed by evictionrequest-controller.",
+ "responders": "responders represents the eviction process status of each declared responder.\n\nThe responder list should be the same length and have the same .name fields as .status.targetResponders. Only responders with .name that have Active state in .targetResponders[].state should be updated and can be mutated. First initialization of the list is allowed.\n\nEach ResponderStatus is initialized by evictionrequest-controller and then managed by the designated responder.",
+}
+
+func (EvictionStatus) SwaggerDoc() map[string]string {
+ return map_EvictionStatus
+}
+
+var map_EvictionTarget = map[string]string{
+ "": "EvictionTarget contains a reference to an object that should be evicted.",
+ "pod": "pod references a pod that is subject to eviction/termination. Pods that are part of a PodGroup (.spec.schedulingGroup is set) are not supported.",
+}
+
+func (EvictionTarget) SwaggerDoc() map[string]string {
+ return map_EvictionTarget
+}
+
+var map_Requester = map[string]string{
+ "": "Requester allows you to identify the entity, that requested the eviction of the target.",
+ "name": "name allows you to identify the entity, that requested the eviction of the target.\n\nIt must be a valid domain-prefixed key (such as \"acme.io/foo\"). This field must be unique for each requester. This field is required.",
+ "intent": "intent specifies the action that should be taken for the specified target.\n\n- Eviction means that the requester is interested in the eviction of the target. - Withdrawn means that the requester is no longer interested in the eviction of the target.\n If all requesters' intents are withdrawn, the eviction will be canceled.\n Cancellation consequences:\n - Inactive responders will never run.\n - Active responders are expected to cancel the eviction.\n - Completed or Interrupted responders should not take any action.",
+}
+
+func (Requester) SwaggerDoc() map[string]string {
+ return map_Requester
+}
+
+var map_ResponderStatus = map[string]string{
+ "": "ResponderStatus represents the last observed status of the eviction process of the responder. It should be only updated by the designated responder whose name is .name field.",
+ "name": "name allows you to identify the responder reacting to the Eviction.\n\nIt must be a valid domain-prefixed key (such as \"acme.io/foo\"). This field is initialized by Kubernetes and must be unique for each responder. This field is required.",
+ "startTime": "startTime tracks the time at which this responder was designated as active and should start processing the eviction request. It should reflect the present time when set. This field is initialized by Kubernetes when this responder becomes active. This field becomes immutable once set.",
+ "heartbeatTime": "heartbeatTime is the last time at which the eviction process was reported to be in progress by the responder. It should reflect the present time when set. Responders should avoid heartbeats more frequent than 20 seconds to avoid overloading the control-plane.",
+ "expectedCompletionTime": "expectedCompletionTime is the time at which the eviction process step is expected to end for the responder. The time cannot be set to the past. May be omitted if no estimate can be made.",
+ "completionTime": "completionTime tracks the time at which the Responder stopped processing the eviction request. Completion means that the responders has either fully or partially completed the eviction process, which may have resulted in target eviction (e.g. pod termination). It should reflect the present time when set. This field becomes immutable once set.",
+ "message": "message provides human-readable details about the state of the responder and the eviction process. Maximum length is 4000 characters.",
+}
+
+func (ResponderStatus) SwaggerDoc() map[string]string {
+ return map_ResponderStatus
+}
+
+var map_TargetResponder = map[string]string{
+ "": "TargetResponder allows you to specify the responder reacting to the Eviction. Responders should observe and communicate through the Eviction API (see .state) to help with the graceful eviction of a target (e.g. termination of a pod).",
+ "name": "name allows you to identify the responder reacting to the Eviction.\n\nIt must be a valid domain-prefixed key (such as \"acme.io/foo\"). This field must be unique for each responder. This field is required.",
+ "priority": "priority for this responder. Higher priorities are selected first by the evictionrequest-controller. If there are responders with the same priority, the responder whose domain name comes first in the alphabetical higher domain order, will be picked. This means that the top domain labels are compared alphabetically first, followed by the lower domain labels. The key is compared last.\n\nThe responder that is the managing controller of the pod should set the value of this field to 10000 to allow both for preemption or fallback registration by other responders.\n\nThe minimum value is 0 and the maximum value is 100000. The interval 0-999 is reserved for responders with *.k8s.io suffix. This field is required and immutable.",
+ "state": "state specifies a state that is assigned by the evictionrequest-controller. Responders should observe this state in order to navigate their lifecycle. - Inactive means that the responder should not yet process this eviction request. - Active means that the responder is either running or expected to start soon.\n Also, startTime has been set in the ResponderStatus by the evictionrequest-controller.\n\n An active responder should currently interact with the eviction process by updating\n .status.responders, where .name is the active responder name. ResponderStatus fields\n should be periodically updated to indicate the progress or completion of the eviction process.\n If .status.responders[].heartbeatTime field is not updated within the heartbeat deadline defined\n by the Eviction API (currently 20 minutes), the eviction is passed over to the next responder\n\t with a lower priority. Only one responder can be active at a time.\n- Interrupted means that the responder has failed to start or failed to update\n heartbeatTime in ResponderStatus in a timely manner.\n- Canceled means that the responder has been canceled. In other words, there\tis no\n EvictionRequest with the same target and Eviction intent in .spec.intent.\n- Completed means that the responder has successfully completed and set completionTime\n in ResponderStatus.\n\nPlease refer to the ResponderStatus in .status.responders for more details on each responder.",
+}
+
+func (TargetResponder) SwaggerDoc() map[string]string {
+ return map_TargetResponder
+}
+
+// AUTO-GENERATED FUNCTIONS END HERE
diff --git a/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.deepcopy.go b/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.deepcopy.go
new file mode 100644
index 000000000..1b71bb99f
--- /dev/null
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.deepcopy.go
@@ -0,0 +1,406 @@
+//go:build !ignore_autogenerated
+// +build !ignore_autogenerated
+
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by deepcopy-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+)
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *Eviction) DeepCopyInto(out *Eviction) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ in.Status.DeepCopyInto(&out.Status)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Eviction.
+func (in *Eviction) DeepCopy() *Eviction {
+ if in == nil {
+ return nil
+ }
+ out := new(Eviction)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *Eviction) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionList) DeepCopyInto(out *EvictionList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]Eviction, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionList.
+func (in *EvictionList) DeepCopy() *EvictionList {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *EvictionList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionPodReference) DeepCopyInto(out *EvictionPodReference) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionPodReference.
+func (in *EvictionPodReference) DeepCopy() *EvictionPodReference {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionPodReference)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionRequest) DeepCopyInto(out *EvictionRequest) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ in.Status.DeepCopyInto(&out.Status)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionRequest.
+func (in *EvictionRequest) DeepCopy() *EvictionRequest {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionRequest)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *EvictionRequest) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionRequestList) DeepCopyInto(out *EvictionRequestList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]EvictionRequest, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionRequestList.
+func (in *EvictionRequestList) DeepCopy() *EvictionRequestList {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionRequestList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *EvictionRequestList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionRequestPodReference) DeepCopyInto(out *EvictionRequestPodReference) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionRequestPodReference.
+func (in *EvictionRequestPodReference) DeepCopy() *EvictionRequestPodReference {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionRequestPodReference)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionRequestSpec) DeepCopyInto(out *EvictionRequestSpec) {
+ *out = *in
+ in.Target.DeepCopyInto(&out.Target)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionRequestSpec.
+func (in *EvictionRequestSpec) DeepCopy() *EvictionRequestSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionRequestSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionRequestStatus) DeepCopyInto(out *EvictionRequestStatus) {
+ *out = *in
+ if in.Conditions != nil {
+ in, out := &in.Conditions, &out.Conditions
+ *out = make([]v1.Condition, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.ObservedGeneration != nil {
+ in, out := &in.ObservedGeneration, &out.ObservedGeneration
+ *out = new(int64)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionRequestStatus.
+func (in *EvictionRequestStatus) DeepCopy() *EvictionRequestStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionRequestStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionRequestTarget) DeepCopyInto(out *EvictionRequestTarget) {
+ *out = *in
+ if in.Pod != nil {
+ in, out := &in.Pod, &out.Pod
+ *out = new(EvictionRequestPodReference)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionRequestTarget.
+func (in *EvictionRequestTarget) DeepCopy() *EvictionRequestTarget {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionRequestTarget)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionSpec) DeepCopyInto(out *EvictionSpec) {
+ *out = *in
+ in.Target.DeepCopyInto(&out.Target)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionSpec.
+func (in *EvictionSpec) DeepCopy() *EvictionSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionStatus) DeepCopyInto(out *EvictionStatus) {
+ *out = *in
+ if in.Conditions != nil {
+ in, out := &in.Conditions, &out.Conditions
+ *out = make([]v1.Condition, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.ObservedGeneration != nil {
+ in, out := &in.ObservedGeneration, &out.ObservedGeneration
+ *out = new(int64)
+ **out = **in
+ }
+ if in.Requesters != nil {
+ in, out := &in.Requesters, &out.Requesters
+ *out = make([]Requester, len(*in))
+ copy(*out, *in)
+ }
+ if in.TargetResponders != nil {
+ in, out := &in.TargetResponders, &out.TargetResponders
+ *out = make([]TargetResponder, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.Responders != nil {
+ in, out := &in.Responders, &out.Responders
+ *out = make([]ResponderStatus, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionStatus.
+func (in *EvictionStatus) DeepCopy() *EvictionStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *EvictionTarget) DeepCopyInto(out *EvictionTarget) {
+ *out = *in
+ if in.Pod != nil {
+ in, out := &in.Pod, &out.Pod
+ *out = new(EvictionPodReference)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionTarget.
+func (in *EvictionTarget) DeepCopy() *EvictionTarget {
+ if in == nil {
+ return nil
+ }
+ out := new(EvictionTarget)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *Requester) DeepCopyInto(out *Requester) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Requester.
+func (in *Requester) DeepCopy() *Requester {
+ if in == nil {
+ return nil
+ }
+ out := new(Requester)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ResponderStatus) DeepCopyInto(out *ResponderStatus) {
+ *out = *in
+ if in.StartTime != nil {
+ in, out := &in.StartTime, &out.StartTime
+ *out = (*in).DeepCopy()
+ }
+ if in.HeartbeatTime != nil {
+ in, out := &in.HeartbeatTime, &out.HeartbeatTime
+ *out = (*in).DeepCopy()
+ }
+ if in.ExpectedCompletionTime != nil {
+ in, out := &in.ExpectedCompletionTime, &out.ExpectedCompletionTime
+ *out = (*in).DeepCopy()
+ }
+ if in.CompletionTime != nil {
+ in, out := &in.CompletionTime, &out.CompletionTime
+ *out = (*in).DeepCopy()
+ }
+ if in.Message != nil {
+ in, out := &in.Message, &out.Message
+ *out = new(string)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponderStatus.
+func (in *ResponderStatus) DeepCopy() *ResponderStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(ResponderStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *TargetResponder) DeepCopyInto(out *TargetResponder) {
+ *out = *in
+ if in.Priority != nil {
+ in, out := &in.Priority, &out.Priority
+ *out = new(int32)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetResponder.
+func (in *TargetResponder) DeepCopy() *TargetResponder {
+ if in == nil {
+ return nil
+ }
+ out := new(TargetResponder)
+ in.DeepCopyInto(out)
+ return out
+}
diff --git a/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.model_name.go b/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.model_name.go
new file mode 100644
index 000000000..69d36f25f
--- /dev/null
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.model_name.go
@@ -0,0 +1,97 @@
+//go:build !ignore_autogenerated
+// +build !ignore_autogenerated
+
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by openapi-gen. DO NOT EDIT.
+
+package v1alpha1
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in Eviction) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.Eviction"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionList) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionList"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionPodReference) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionPodReference"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionRequest) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionRequest"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionRequestList) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionRequestList"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionRequestPodReference) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionRequestPodReference"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionRequestSpec) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionRequestSpec"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionRequestStatus) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionRequestStatus"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionRequestTarget) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionRequestTarget"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionSpec) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionSpec"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionStatus) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionStatus"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in EvictionTarget) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.EvictionTarget"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in Requester) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.Requester"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in ResponderStatus) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.ResponderStatus"
+}
+
+// OpenAPIModelName returns the OpenAPI model name for this type.
+func (in TargetResponder) OpenAPIModelName() string {
+ return "io.k8s.api.lifecycle.v1alpha1.TargetResponder"
+}
diff --git a/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.prerelease-lifecycle.go
new file mode 100644
index 000000000..b4fbbf695
--- /dev/null
+++ b/vendor/k8s.io/api/lifecycle/v1alpha1/zz_generated.prerelease-lifecycle.go
@@ -0,0 +1,94 @@
+//go:build !ignore_autogenerated
+// +build !ignore_autogenerated
+
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by prerelease-lifecycle-gen. DO NOT EDIT.
+
+package v1alpha1
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *Eviction) APILifecycleIntroduced() (major, minor int) {
+ return 1, 37
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *Eviction) APILifecycleDeprecated() (major, minor int) {
+ return 1, 40
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *Eviction) APILifecycleRemoved() (major, minor int) {
+ return 1, 43
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *EvictionList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 37
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *EvictionList) APILifecycleDeprecated() (major, minor int) {
+ return 1, 40
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *EvictionList) APILifecycleRemoved() (major, minor int) {
+ return 1, 43
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *EvictionRequest) APILifecycleIntroduced() (major, minor int) {
+ return 1, 37
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *EvictionRequest) APILifecycleDeprecated() (major, minor int) {
+ return 1, 40
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *EvictionRequest) APILifecycleRemoved() (major, minor int) {
+ return 1, 43
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *EvictionRequestList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 37
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *EvictionRequestList) APILifecycleDeprecated() (major, minor int) {
+ return 1, 40
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *EvictionRequestList) APILifecycleRemoved() (major, minor int) {
+ return 1, 43
+}
diff --git a/vendor/k8s.io/api/networking/v1/generated.proto b/vendor/k8s.io/api/networking/v1/generated.proto
index 16a2792aa..8394f2dc0 100644
--- a/vendor/k8s.io/api/networking/v1/generated.proto
+++ b/vendor/k8s.io/api/networking/v1/generated.proto
@@ -80,14 +80,14 @@ message HTTPIngressRuleValue {
// Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1
// Invalid: 10.01.2.3 or 2001:db8:0:0:0::1
message IPAddress {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec is the desired state of the IPAddress.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional IPAddressSpec spec = 2;
}
@@ -104,9 +104,11 @@ message IPAddressList {
// IPAddressSpec describe the attributes in an IP Address.
message IPAddressSpec {
- // ParentRef references the resource that an IPAddress is attached to.
+ // parentRef references the resource that an IPAddress is attached to.
// An IPAddress must reference a parent object.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:immutable
optional ParentReference parentRef = 1;
}
@@ -116,6 +118,8 @@ message IPAddressSpec {
message IPBlock {
// cidr is a string representing the IPBlock
// Valid examples are "192.168.1.0/24" or "2001:db8::/64"
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string cidr = 1;
// except is a slice of CIDRs that should not be included within an IPBlock
@@ -130,8 +134,9 @@ message IPBlock {
// endpoints defined by a backend. An Ingress can be configured to give services
// externally-reachable urls, load balance traffic, terminate SSL, offer name
// based virtual hosting etc.
+// +k8s:supportsSubresource="/status"
message Ingress {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -168,7 +173,7 @@ message IngressBackend {
// single IngressClass resource has this annotation set to true, new Ingress
// resources without a class specified will be assigned this default class.
message IngressClass {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -199,9 +204,13 @@ message IngressClassParametersReference {
optional string aPIGroup = 1;
// kind is the type of resource being referenced.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string kind = 2;
// name is the name of resource being referenced.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string name = 3;
// scope represents if this refers to a cluster or namespace scoped resource.
@@ -230,6 +239,7 @@ message IngressClassSpec {
// configuration for the controller. This is optional if the controller does
// not require extra parameters.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
optional IngressClassParametersReference parameters = 2;
}
@@ -335,6 +345,7 @@ message IngressRule {
// mixing different types of rules in a single Ingress is disallowed, so exactly
// one of the following must be set.
message IngressRuleValue {
+ // http is a HTTP IngressRuleValue, which contains a list of http selectors
// +optional
optional HTTPIngressRuleValue http = 1;
}
@@ -416,7 +427,7 @@ message IngressTLS {
// NetworkPolicy describes what network traffic is allowed for a set of Pods
message NetworkPolicy {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -446,6 +457,7 @@ message NetworkPolicyEgressRule {
// allows traffic only if the traffic matches at least one item in the to list.
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated NetworkPolicyPeer to = 2;
}
@@ -468,6 +480,7 @@ message NetworkPolicyIngressRule {
// allows traffic only if the traffic matches at least one item in the from list.
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated NetworkPolicyPeer from = 2;
}
@@ -506,6 +519,7 @@ message NetworkPolicyPeer {
// ipBlock defines policy on a particular IPBlock. If this field is set then
// neither of the other fields can be.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
optional IPBlock ipBlock = 3;
}
@@ -551,6 +565,7 @@ message NetworkPolicySpec {
// solely to ensure that the pods it selects are isolated by default)
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated NetworkPolicyIngressRule ingress = 2;
// egress is a list of egress rules to be applied to the selected pods. Outgoing traffic
@@ -562,6 +577,7 @@ message NetworkPolicySpec {
// This field is beta-level in 1.8
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
repeated NetworkPolicyEgressRule egress = 3;
// policyTypes is a list of rule types that the NetworkPolicy relates to.
@@ -581,20 +597,22 @@ message NetworkPolicySpec {
// ParentReference describes a reference to a parent object.
message ParentReference {
- // Group is the group of the object being referenced.
+ // group is the group of the object being referenced.
// +optional
optional string group = 1;
- // Resource is the resource of the object being referenced.
+ // resource is the resource of the object being referenced.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string resource = 2;
- // Namespace is the namespace of the object being referenced.
+ // namespace is the namespace of the object being referenced.
// +optional
optional string namespace = 3;
- // Name is the name of the object being referenced.
+ // name is the name of the object being referenced.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string name = 4;
}
@@ -614,8 +632,9 @@ message ServiceBackendPort {
// ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64).
// This range is used to allocate ClusterIPs to Service objects.
+// +k8s:supportsSubresource="/status"
message ServiceCIDR {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -644,7 +663,7 @@ message ServiceCIDRList {
// ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services.
message ServiceCIDRSpec {
- // CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64")
+ // cidrs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64")
// from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family.
// This field is immutable.
// +optional
@@ -661,6 +680,7 @@ message ServiceCIDRStatus {
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 1;
}
diff --git a/vendor/k8s.io/api/networking/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/networking/v1/generated.protomessage.pb.go
deleted file mode 100644
index 54918d47e..000000000
--- a/vendor/k8s.io/api/networking/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,92 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*HTTPIngressPath) ProtoMessage() {}
-
-func (*HTTPIngressRuleValue) ProtoMessage() {}
-
-func (*IPAddress) ProtoMessage() {}
-
-func (*IPAddressList) ProtoMessage() {}
-
-func (*IPAddressSpec) ProtoMessage() {}
-
-func (*IPBlock) ProtoMessage() {}
-
-func (*Ingress) ProtoMessage() {}
-
-func (*IngressBackend) ProtoMessage() {}
-
-func (*IngressClass) ProtoMessage() {}
-
-func (*IngressClassList) ProtoMessage() {}
-
-func (*IngressClassParametersReference) ProtoMessage() {}
-
-func (*IngressClassSpec) ProtoMessage() {}
-
-func (*IngressList) ProtoMessage() {}
-
-func (*IngressLoadBalancerIngress) ProtoMessage() {}
-
-func (*IngressLoadBalancerStatus) ProtoMessage() {}
-
-func (*IngressPortStatus) ProtoMessage() {}
-
-func (*IngressRule) ProtoMessage() {}
-
-func (*IngressRuleValue) ProtoMessage() {}
-
-func (*IngressServiceBackend) ProtoMessage() {}
-
-func (*IngressSpec) ProtoMessage() {}
-
-func (*IngressStatus) ProtoMessage() {}
-
-func (*IngressTLS) ProtoMessage() {}
-
-func (*NetworkPolicy) ProtoMessage() {}
-
-func (*NetworkPolicyEgressRule) ProtoMessage() {}
-
-func (*NetworkPolicyIngressRule) ProtoMessage() {}
-
-func (*NetworkPolicyList) ProtoMessage() {}
-
-func (*NetworkPolicyPeer) ProtoMessage() {}
-
-func (*NetworkPolicyPort) ProtoMessage() {}
-
-func (*NetworkPolicySpec) ProtoMessage() {}
-
-func (*ParentReference) ProtoMessage() {}
-
-func (*ServiceBackendPort) ProtoMessage() {}
-
-func (*ServiceCIDR) ProtoMessage() {}
-
-func (*ServiceCIDRList) ProtoMessage() {}
-
-func (*ServiceCIDRSpec) ProtoMessage() {}
-
-func (*ServiceCIDRStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/networking/v1/types.go b/vendor/k8s.io/api/networking/v1/types.go
index 7d9a4fc94..b455b46c3 100644
--- a/vendor/k8s.io/api/networking/v1/types.go
+++ b/vendor/k8s.io/api/networking/v1/types.go
@@ -28,9 +28,9 @@ import (
// NetworkPolicy describes what network traffic is allowed for a set of Pods
type NetworkPolicy struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -77,6 +77,7 @@ type NetworkPolicySpec struct {
// solely to ensure that the pods it selects are isolated by default)
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
Ingress []NetworkPolicyIngressRule `json:"ingress,omitempty" protobuf:"bytes,2,rep,name=ingress"`
// egress is a list of egress rules to be applied to the selected pods. Outgoing traffic
@@ -88,6 +89,7 @@ type NetworkPolicySpec struct {
// This field is beta-level in 1.8
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
Egress []NetworkPolicyEgressRule `json:"egress,omitempty" protobuf:"bytes,3,rep,name=egress"`
// policyTypes is a list of rule types that the NetworkPolicy relates to.
@@ -124,6 +126,7 @@ type NetworkPolicyIngressRule struct {
// allows traffic only if the traffic matches at least one item in the from list.
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
From []NetworkPolicyPeer `json:"from,omitempty" protobuf:"bytes,2,rep,name=from"`
}
@@ -147,6 +150,7 @@ type NetworkPolicyEgressRule struct {
// allows traffic only if the traffic matches at least one item in the to list.
// +optional
// +listType=atomic
+ // +k8s:beta(since: "1.37")=+k8s:optional
To []NetworkPolicyPeer `json:"to,omitempty" protobuf:"bytes,2,rep,name=to"`
}
@@ -178,6 +182,8 @@ type NetworkPolicyPort struct {
type IPBlock struct {
// cidr is a string representing the IPBlock
// Valid examples are "192.168.1.0/24" or "2001:db8::/64"
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
CIDR string `json:"cidr" protobuf:"bytes,1,name=cidr"`
// except is a slice of CIDRs that should not be included within an IPBlock
@@ -212,6 +218,7 @@ type NetworkPolicyPeer struct {
// ipBlock defines policy on a particular IPBlock. If this field is set then
// neither of the other fields can be.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
IPBlock *IPBlock `json:"ipBlock,omitempty" protobuf:"bytes,3,rep,name=ipBlock"`
}
@@ -220,7 +227,7 @@ type NetworkPolicyPeer struct {
// NetworkPolicyList is a list of NetworkPolicy objects.
type NetworkPolicyList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -239,10 +246,11 @@ type NetworkPolicyList struct {
// endpoints defined by a backend. An Ingress can be configured to give services
// externally-reachable urls, load balance traffic, terminate SSL, offer name
// based virtual hosting etc.
+// +k8s:supportsSubresource="/status"
type Ingress struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -263,7 +271,7 @@ type Ingress struct {
// IngressList is a collection of Ingress.
type IngressList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -420,7 +428,7 @@ type IngressRule struct {
// default backend, is left to the controller fulfilling the Ingress. Http is
// currently the only supported IngressRuleValue.
// +optional
- IngressRuleValue `json:",inline" protobuf:"bytes,2,opt,name=ingressRuleValue"`
+ IngressRuleValue `json:"" protobuf:"bytes,2,opt,name=ingressRuleValue"`
}
// IngressRuleValue represents a rule to apply against incoming requests. If the
@@ -428,6 +436,7 @@ type IngressRule struct {
// mixing different types of rules in a single Ingress is disallowed, so exactly
// one of the following must be set.
type IngressRuleValue struct {
+ // http is a HTTP IngressRuleValue, which contains a list of http selectors
// +optional
HTTP *HTTPIngressRuleValue `json:"http,omitempty" protobuf:"bytes,1,opt,name=http"`
}
@@ -556,9 +565,9 @@ type ServiceBackendPort struct {
// single IngressClass resource has this annotation set to true, new Ingress
// resources without a class specified will be assigned this default class.
type IngressClass struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -583,6 +592,7 @@ type IngressClassSpec struct {
// configuration for the controller. This is optional if the controller does
// not require extra parameters.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
Parameters *IngressClassParametersReference `json:"parameters,omitempty" protobuf:"bytes,2,opt,name=parameters"`
}
@@ -605,9 +615,13 @@ type IngressClassParametersReference struct {
APIGroup *string `json:"apiGroup,omitempty" protobuf:"bytes,1,opt,name=aPIGroup"`
// kind is the type of resource being referenced.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Kind string `json:"kind" protobuf:"bytes,2,opt,name=kind"`
// name is the name of resource being referenced.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Name string `json:"name" protobuf:"bytes,3,opt,name=name"`
// scope represents if this refers to a cluster or namespace scoped resource.
@@ -627,7 +641,7 @@ type IngressClassParametersReference struct {
// IngressClassList is a collection of IngressClasses.
type IngressClassList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
@@ -650,38 +664,42 @@ type IngressClassList struct {
// Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1
// Invalid: 10.01.2.3 or 2001:db8:0:0:0::1
type IPAddress struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec is the desired state of the IPAddress.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec IPAddressSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
// IPAddressSpec describe the attributes in an IP Address.
type IPAddressSpec struct {
- // ParentRef references the resource that an IPAddress is attached to.
+ // parentRef references the resource that an IPAddress is attached to.
// An IPAddress must reference a parent object.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:immutable
ParentRef *ParentReference `json:"parentRef,omitempty" protobuf:"bytes,1,opt,name=parentRef"`
}
// ParentReference describes a reference to a parent object.
type ParentReference struct {
- // Group is the group of the object being referenced.
+ // group is the group of the object being referenced.
// +optional
Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"`
- // Resource is the resource of the object being referenced.
+ // resource is the resource of the object being referenced.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Resource string `json:"resource,omitempty" protobuf:"bytes,2,opt,name=resource"`
- // Namespace is the namespace of the object being referenced.
+ // namespace is the namespace of the object being referenced.
// +optional
Namespace string `json:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"`
- // Name is the name of the object being referenced.
+ // name is the name of the object being referenced.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Name string `json:"name,omitempty" protobuf:"bytes,4,opt,name=name"`
}
@@ -690,7 +708,7 @@ type ParentReference struct {
// IPAddressList contains a list of IPAddress.
type IPAddressList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -706,9 +724,10 @@ type IPAddressList struct {
// ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64).
// This range is used to allocate ClusterIPs to Service objects.
+// +k8s:supportsSubresource="/status"
type ServiceCIDR struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -724,7 +743,7 @@ type ServiceCIDR struct {
// ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services.
type ServiceCIDRSpec struct {
- // CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64")
+ // cidrs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64")
// from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family.
// This field is immutable.
// +optional
@@ -750,6 +769,7 @@ type ServiceCIDRStatus struct {
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
@@ -758,7 +778,7 @@ type ServiceCIDRStatus struct {
// ServiceCIDRList contains a list of ServiceCIDR objects.
type ServiceCIDRList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/networking/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/networking/v1/types_swagger_doc_generated.go
index 6210bb7a5..cb5816b2f 100644
--- a/vendor/k8s.io/api/networking/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/networking/v1/types_swagger_doc_generated.go
@@ -49,7 +49,7 @@ func (HTTPIngressRuleValue) SwaggerDoc() map[string]string {
var map_IPAddress = map[string]string{
"": "IPAddress represents a single IP of a single IP Family. The object is designed to be used by APIs that operate on IP addresses. The object is used by the Service core API for allocation of IP addresses. An IP address can be represented in different formats, to guarantee the uniqueness of the IP, the name of the object is the IP address in canonical format, four decimal digits separated by dots suppressing leading zeros for IPv4 and the representation defined by RFC 5952 for IPv6. Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1 Invalid: 10.01.2.3 or 2001:db8:0:0:0::1",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec is the desired state of the IPAddress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -69,7 +69,7 @@ func (IPAddressList) SwaggerDoc() map[string]string {
var map_IPAddressSpec = map[string]string{
"": "IPAddressSpec describe the attributes in an IP Address.",
- "parentRef": "ParentRef references the resource that an IPAddress is attached to. An IPAddress must reference a parent object.",
+ "parentRef": "parentRef references the resource that an IPAddress is attached to. An IPAddress must reference a parent object.",
}
func (IPAddressSpec) SwaggerDoc() map[string]string {
@@ -88,7 +88,7 @@ func (IPBlock) SwaggerDoc() map[string]string {
var map_Ingress = map[string]string{
"": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
"status": "status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -109,7 +109,7 @@ func (IngressBackend) SwaggerDoc() map[string]string {
var map_IngressClass = map[string]string{
"": "IngressClass represents the class of the Ingress, referenced by the Ingress Spec. The `ingressclass.kubernetes.io/is-default-class` annotation can be used to indicate that an IngressClass should be considered default. When a single IngressClass resource has this annotation set to true, new Ingress resources without a class specified will be assigned this default class.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec is the desired state of the IngressClass. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -201,7 +201,8 @@ func (IngressRule) SwaggerDoc() map[string]string {
}
var map_IngressRuleValue = map[string]string{
- "": "IngressRuleValue represents a rule to apply against incoming requests. If the rule is satisfied, the request is routed to the specified backend. Currently mixing different types of rules in a single Ingress is disallowed, so exactly one of the following must be set.",
+ "": "IngressRuleValue represents a rule to apply against incoming requests. If the rule is satisfied, the request is routed to the specified backend. Currently mixing different types of rules in a single Ingress is disallowed, so exactly one of the following must be set.",
+ "http": "http is a HTTP IngressRuleValue, which contains a list of http selectors",
}
func (IngressRuleValue) SwaggerDoc() map[string]string {
@@ -251,7 +252,7 @@ func (IngressTLS) SwaggerDoc() map[string]string {
var map_NetworkPolicy = map[string]string{
"": "NetworkPolicy describes what network traffic is allowed for a set of Pods",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec represents the specification of the desired behavior for this NetworkPolicy.",
}
@@ -325,10 +326,10 @@ func (NetworkPolicySpec) SwaggerDoc() map[string]string {
var map_ParentReference = map[string]string{
"": "ParentReference describes a reference to a parent object.",
- "group": "Group is the group of the object being referenced.",
- "resource": "Resource is the resource of the object being referenced.",
- "namespace": "Namespace is the namespace of the object being referenced.",
- "name": "Name is the name of the object being referenced.",
+ "group": "group is the group of the object being referenced.",
+ "resource": "resource is the resource of the object being referenced.",
+ "namespace": "namespace is the namespace of the object being referenced.",
+ "name": "name is the name of the object being referenced.",
}
func (ParentReference) SwaggerDoc() map[string]string {
@@ -347,7 +348,7 @@ func (ServiceBackendPort) SwaggerDoc() map[string]string {
var map_ServiceCIDR = map[string]string{
"": "ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64). This range is used to allocate ClusterIPs to Service objects.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec is the desired state of the ServiceCIDR. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
"status": "status represents the current state of the ServiceCIDR. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -368,7 +369,7 @@ func (ServiceCIDRList) SwaggerDoc() map[string]string {
var map_ServiceCIDRSpec = map[string]string{
"": "ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services.",
- "cidrs": "CIDRs defines the IP blocks in CIDR notation (e.g. \"192.168.0.0/24\" or \"2001:db8::/64\") from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family. This field is immutable.",
+ "cidrs": "cidrs defines the IP blocks in CIDR notation (e.g. \"192.168.0.0/24\" or \"2001:db8::/64\") from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family. This field is immutable.",
}
func (ServiceCIDRSpec) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/networking/v1beta1/generated.proto b/vendor/k8s.io/api/networking/v1beta1/generated.proto
index 3368dcaec..11e2a0123 100644
--- a/vendor/k8s.io/api/networking/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/networking/v1beta1/generated.proto
@@ -81,14 +81,14 @@ message HTTPIngressRuleValue {
// Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1
// Invalid: 10.01.2.3 or 2001:db8:0:0:0::1
message IPAddress {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec is the desired state of the IPAddress.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
optional IPAddressSpec spec = 2;
}
@@ -105,9 +105,11 @@ message IPAddressList {
// IPAddressSpec describe the attributes in an IP Address.
message IPAddressSpec {
- // ParentRef references the resource that an IPAddress is attached to.
+ // parentRef references the resource that an IPAddress is attached to.
// An IPAddress must reference a parent object.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:immutable
optional ParentReference parentRef = 1;
}
@@ -115,8 +117,9 @@ message IPAddressSpec {
// endpoints defined by a backend. An Ingress can be configured to give services
// externally-reachable urls, load balance traffic, terminate SSL, offer name
// based virtual hosting etc.
+// +k8s:supportsSubresource="/status"
message Ingress {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -155,7 +158,7 @@ message IngressBackend {
// single IngressClass resource has this annotation set to true, new Ingress
// resources without a class specified will be assigned this default class.
message IngressClass {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -186,9 +189,13 @@ message IngressClassParametersReference {
optional string aPIGroup = 1;
// kind is the type of resource being referenced.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string kind = 2;
// name is the name of resource being referenced.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string name = 3;
// scope represents if this refers to a cluster or namespace scoped resource.
@@ -216,6 +223,7 @@ message IngressClassSpec {
// configuration for the controller. This is optional if the controller does
// not require extra parameters.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
optional IngressClassParametersReference parameters = 2;
}
@@ -321,6 +329,7 @@ message IngressRule {
// mixing different types of rules in a single Ingress is disallowed, so exactly
// one of the following must be set.
message IngressRuleValue {
+ // http is a HTTP IngressRuleValue, which contains a list of http selectors
// +optional
optional HTTPIngressRuleValue http = 1;
}
@@ -391,27 +400,30 @@ message IngressTLS {
// ParentReference describes a reference to a parent object.
message ParentReference {
- // Group is the group of the object being referenced.
+ // group is the group of the object being referenced.
// +optional
optional string group = 1;
- // Resource is the resource of the object being referenced.
+ // resource is the resource of the object being referenced.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string resource = 2;
- // Namespace is the namespace of the object being referenced.
+ // namespace is the namespace of the object being referenced.
// +optional
optional string namespace = 3;
- // Name is the name of the object being referenced.
+ // name is the name of the object being referenced.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string name = 4;
}
// ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64).
// This range is used to allocate ClusterIPs to Service objects.
+// +k8s:supportsSubresource="/status"
message ServiceCIDR {
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -440,7 +452,7 @@ message ServiceCIDRList {
// ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services.
message ServiceCIDRSpec {
- // CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64")
+ // cidrs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64")
// from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family.
// This field is immutable.
// +optional
@@ -457,6 +469,7 @@ message ServiceCIDRStatus {
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 1;
}
diff --git a/vendor/k8s.io/api/networking/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/networking/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index abd29cba9..000000000
--- a/vendor/k8s.io/api/networking/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,72 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*HTTPIngressPath) ProtoMessage() {}
-
-func (*HTTPIngressRuleValue) ProtoMessage() {}
-
-func (*IPAddress) ProtoMessage() {}
-
-func (*IPAddressList) ProtoMessage() {}
-
-func (*IPAddressSpec) ProtoMessage() {}
-
-func (*Ingress) ProtoMessage() {}
-
-func (*IngressBackend) ProtoMessage() {}
-
-func (*IngressClass) ProtoMessage() {}
-
-func (*IngressClassList) ProtoMessage() {}
-
-func (*IngressClassParametersReference) ProtoMessage() {}
-
-func (*IngressClassSpec) ProtoMessage() {}
-
-func (*IngressList) ProtoMessage() {}
-
-func (*IngressLoadBalancerIngress) ProtoMessage() {}
-
-func (*IngressLoadBalancerStatus) ProtoMessage() {}
-
-func (*IngressPortStatus) ProtoMessage() {}
-
-func (*IngressRule) ProtoMessage() {}
-
-func (*IngressRuleValue) ProtoMessage() {}
-
-func (*IngressSpec) ProtoMessage() {}
-
-func (*IngressStatus) ProtoMessage() {}
-
-func (*IngressTLS) ProtoMessage() {}
-
-func (*ParentReference) ProtoMessage() {}
-
-func (*ServiceCIDR) ProtoMessage() {}
-
-func (*ServiceCIDRList) ProtoMessage() {}
-
-func (*ServiceCIDRSpec) ProtoMessage() {}
-
-func (*ServiceCIDRStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/networking/v1beta1/types.go b/vendor/k8s.io/api/networking/v1beta1/types.go
index cd7126a5a..73cddf6a7 100644
--- a/vendor/k8s.io/api/networking/v1beta1/types.go
+++ b/vendor/k8s.io/api/networking/v1beta1/types.go
@@ -32,10 +32,11 @@ import (
// endpoints defined by a backend. An Ingress can be configured to give services
// externally-reachable urls, load balance traffic, terminate SSL, offer name
// based virtual hosting etc.
+// +k8s:supportsSubresource="/status"
type Ingress struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -58,7 +59,7 @@ type Ingress struct {
// IngressList is a collection of Ingress.
type IngressList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -218,7 +219,7 @@ type IngressRule struct {
// default backend, is left to the controller fulfilling the Ingress. Http is
// currently the only supported IngressRuleValue.
// +optional
- IngressRuleValue `json:",inline" protobuf:"bytes,2,opt,name=ingressRuleValue"`
+ IngressRuleValue `json:"" protobuf:"bytes,2,opt,name=ingressRuleValue"`
}
// IngressRuleValue represents a rule to apply against incoming requests. If the
@@ -232,6 +233,7 @@ type IngressRuleValue struct {
// 2. Consider adding fields for ingress-type specific global options
// usable by a loadbalancer, like http keep-alive.
+ // http is a HTTP IngressRuleValue, which contains a list of http selectors
// +optional
HTTP *HTTPIngressRuleValue `json:"http,omitempty" protobuf:"bytes,1,opt,name=http"`
}
@@ -341,9 +343,9 @@ type IngressBackend struct {
// single IngressClass resource has this annotation set to true, new Ingress
// resources without a class specified will be assigned this default class.
type IngressClass struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
- // Standard object's metadata.
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -368,6 +370,7 @@ type IngressClassSpec struct {
// configuration for the controller. This is optional if the controller does
// not require extra parameters.
// +optional
+ // +k8s:beta(since: "1.37")=+k8s:optional
Parameters *IngressClassParametersReference `json:"parameters,omitempty" protobuf:"bytes,2,opt,name=parameters"`
}
@@ -390,9 +393,13 @@ type IngressClassParametersReference struct {
APIGroup *string `json:"apiGroup,omitempty" protobuf:"bytes,1,opt,name=aPIGroup"`
// kind is the type of resource being referenced.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Kind string `json:"kind" protobuf:"bytes,2,opt,name=kind"`
// name is the name of resource being referenced.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Name string `json:"name" protobuf:"bytes,3,opt,name=name"`
// scope represents if this refers to a cluster or namespace scoped resource.
@@ -413,7 +420,7 @@ type IngressClassParametersReference struct {
// IngressClassList is a collection of IngressClasses.
type IngressClassList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -435,38 +442,42 @@ type IngressClassList struct {
// Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1
// Invalid: 10.01.2.3 or 2001:db8:0:0:0::1
type IPAddress struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec is the desired state of the IPAddress.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- // +optional
+ // +required
Spec IPAddressSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
// IPAddressSpec describe the attributes in an IP Address.
type IPAddressSpec struct {
- // ParentRef references the resource that an IPAddress is attached to.
+ // parentRef references the resource that an IPAddress is attached to.
// An IPAddress must reference a parent object.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
+ // +k8s:beta(since: "1.37")=+k8s:immutable
ParentRef *ParentReference `json:"parentRef,omitempty" protobuf:"bytes,1,opt,name=parentRef"`
}
// ParentReference describes a reference to a parent object.
type ParentReference struct {
- // Group is the group of the object being referenced.
+ // group is the group of the object being referenced.
// +optional
Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"`
- // Resource is the resource of the object being referenced.
+ // resource is the resource of the object being referenced.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Resource string `json:"resource,omitempty" protobuf:"bytes,2,opt,name=resource"`
- // Namespace is the namespace of the object being referenced.
+ // namespace is the namespace of the object being referenced.
// +optional
Namespace string `json:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"`
- // Name is the name of the object being referenced.
+ // name is the name of the object being referenced.
// +required
+ // +k8s:beta(since: "1.37")=+k8s:required
Name string `json:"name,omitempty" protobuf:"bytes,4,opt,name=name"`
}
@@ -475,7 +486,7 @@ type ParentReference struct {
// IPAddressList contains a list of IPAddress.
type IPAddressList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -491,9 +502,10 @@ type IPAddressList struct {
// ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64).
// This range is used to allocate ClusterIPs to Service objects.
+// +k8s:supportsSubresource="/status"
type ServiceCIDR struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -509,7 +521,7 @@ type ServiceCIDR struct {
// ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services.
type ServiceCIDRSpec struct {
- // CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64")
+ // cidrs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64")
// from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family.
// This field is immutable.
// +optional
@@ -535,6 +547,7 @@ type ServiceCIDRStatus struct {
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:opaqueType
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
@@ -543,7 +556,7 @@ type ServiceCIDRStatus struct {
// ServiceCIDRList contains a list of ServiceCIDR objects.
type ServiceCIDRList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/vendor/k8s.io/api/networking/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/networking/v1beta1/types_swagger_doc_generated.go
index 9d27517f3..03d33b5d4 100644
--- a/vendor/k8s.io/api/networking/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/networking/v1beta1/types_swagger_doc_generated.go
@@ -49,7 +49,7 @@ func (HTTPIngressRuleValue) SwaggerDoc() map[string]string {
var map_IPAddress = map[string]string{
"": "IPAddress represents a single IP of a single IP Family. The object is designed to be used by APIs that operate on IP addresses. The object is used by the Service core API for allocation of IP addresses. An IP address can be represented in different formats, to guarantee the uniqueness of the IP, the name of the object is the IP address in canonical format, four decimal digits separated by dots suppressing leading zeros for IPv4 and the representation defined by RFC 5952 for IPv6. Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1 Invalid: 10.01.2.3 or 2001:db8:0:0:0::1",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec is the desired state of the IPAddress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -69,7 +69,7 @@ func (IPAddressList) SwaggerDoc() map[string]string {
var map_IPAddressSpec = map[string]string{
"": "IPAddressSpec describe the attributes in an IP Address.",
- "parentRef": "ParentRef references the resource that an IPAddress is attached to. An IPAddress must reference a parent object.",
+ "parentRef": "parentRef references the resource that an IPAddress is attached to. An IPAddress must reference a parent object.",
}
func (IPAddressSpec) SwaggerDoc() map[string]string {
@@ -78,7 +78,7 @@ func (IPAddressSpec) SwaggerDoc() map[string]string {
var map_Ingress = map[string]string{
"": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
"status": "status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -100,7 +100,7 @@ func (IngressBackend) SwaggerDoc() map[string]string {
var map_IngressClass = map[string]string{
"": "IngressClass represents the class of the Ingress, referenced by the Ingress Spec. The `ingressclass.kubernetes.io/is-default-class` annotation can be used to indicate that an IngressClass should be considered default. When a single IngressClass resource has this annotation set to true, new Ingress resources without a class specified will be assigned this default class.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec is the desired state of the IngressClass. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -192,7 +192,8 @@ func (IngressRule) SwaggerDoc() map[string]string {
}
var map_IngressRuleValue = map[string]string{
- "": "IngressRuleValue represents a rule to apply against incoming requests. If the rule is satisfied, the request is routed to the specified backend. Currently mixing different types of rules in a single Ingress is disallowed, so exactly one of the following must be set.",
+ "": "IngressRuleValue represents a rule to apply against incoming requests. If the rule is satisfied, the request is routed to the specified backend. Currently mixing different types of rules in a single Ingress is disallowed, so exactly one of the following must be set.",
+ "http": "http is a HTTP IngressRuleValue, which contains a list of http selectors",
}
func (IngressRuleValue) SwaggerDoc() map[string]string {
@@ -232,10 +233,10 @@ func (IngressTLS) SwaggerDoc() map[string]string {
var map_ParentReference = map[string]string{
"": "ParentReference describes a reference to a parent object.",
- "group": "Group is the group of the object being referenced.",
- "resource": "Resource is the resource of the object being referenced.",
- "namespace": "Namespace is the namespace of the object being referenced.",
- "name": "Name is the name of the object being referenced.",
+ "group": "group is the group of the object being referenced.",
+ "resource": "resource is the resource of the object being referenced.",
+ "namespace": "namespace is the namespace of the object being referenced.",
+ "name": "name is the name of the object being referenced.",
}
func (ParentReference) SwaggerDoc() map[string]string {
@@ -244,7 +245,7 @@ func (ParentReference) SwaggerDoc() map[string]string {
var map_ServiceCIDR = map[string]string{
"": "ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64). This range is used to allocate ClusterIPs to Service objects.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec is the desired state of the ServiceCIDR. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
"status": "status represents the current state of the ServiceCIDR. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
@@ -265,7 +266,7 @@ func (ServiceCIDRList) SwaggerDoc() map[string]string {
var map_ServiceCIDRSpec = map[string]string{
"": "ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services.",
- "cidrs": "CIDRs defines the IP blocks in CIDR notation (e.g. \"192.168.0.0/24\" or \"2001:db8::/64\") from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family. This field is immutable.",
+ "cidrs": "cidrs defines the IP blocks in CIDR notation (e.g. \"192.168.0.0/24\" or \"2001:db8::/64\") from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family. This field is immutable.",
}
func (ServiceCIDRSpec) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/node/v1/generated.proto b/vendor/k8s.io/api/node/v1/generated.proto
index e6b8852ec..f368bd85e 100644
--- a/vendor/k8s.io/api/node/v1/generated.proto
+++ b/vendor/k8s.io/api/node/v1/generated.proto
@@ -45,6 +45,7 @@ message Overhead {
// pod. For more details, see
// https://kubernetes.io/docs/concepts/containers/runtime-class/
message RuntimeClass {
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -59,6 +60,10 @@ message RuntimeClass {
// in a pod.
// The Handler must be lowercase, conform to the DNS Label (RFC 1123) requirements,
// and is immutable.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:format="k8s-short-name"
+ // +k8s:beta(since: "1.37")=+k8s:immutable
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string handler = 2;
// overhead represents the resource overhead associated with running a pod for a
@@ -72,6 +77,7 @@ message RuntimeClass {
// If scheduling is nil, this RuntimeClass is assumed to be supported by all
// nodes.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional Scheduling scheduling = 4;
}
@@ -103,6 +109,7 @@ message Scheduling {
// tolerated by the pod and the RuntimeClass.
// +optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:optional
repeated .k8s.io.api.core.v1.Toleration tolerations = 2;
}
diff --git a/vendor/k8s.io/api/node/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/node/v1/generated.protomessage.pb.go
deleted file mode 100644
index 97072dfa1..000000000
--- a/vendor/k8s.io/api/node/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,30 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*Overhead) ProtoMessage() {}
-
-func (*RuntimeClass) ProtoMessage() {}
-
-func (*RuntimeClassList) ProtoMessage() {}
-
-func (*Scheduling) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/node/v1/types.go b/vendor/k8s.io/api/node/v1/types.go
index 169862ea9..4d781af2a 100644
--- a/vendor/k8s.io/api/node/v1/types.go
+++ b/vendor/k8s.io/api/node/v1/types.go
@@ -34,8 +34,9 @@ import (
// pod. For more details, see
// https://kubernetes.io/docs/concepts/containers/runtime-class/
type RuntimeClass struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -50,6 +51,10 @@ type RuntimeClass struct {
// in a pod.
// The Handler must be lowercase, conform to the DNS Label (RFC 1123) requirements,
// and is immutable.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:format="k8s-short-name"
+ // +k8s:beta(since: "1.37")=+k8s:immutable
+ // +k8s:beta(since: "1.37")=+k8s:required
Handler string `json:"handler" protobuf:"bytes,2,opt,name=handler"`
// overhead represents the resource overhead associated with running a pod for a
@@ -63,6 +68,7 @@ type RuntimeClass struct {
// If scheduling is nil, this RuntimeClass is assumed to be supported by all
// nodes.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Scheduling *Scheduling `json:"scheduling,omitempty" protobuf:"bytes,4,opt,name=scheduling"`
}
@@ -90,6 +96,7 @@ type Scheduling struct {
// tolerated by the pod and the RuntimeClass.
// +optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,2,rep,name=tolerations"`
}
@@ -98,7 +105,7 @@ type Scheduling struct {
// RuntimeClassList is a list of RuntimeClass objects.
type RuntimeClassList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
diff --git a/vendor/k8s.io/api/node/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/node/v1/types_swagger_doc_generated.go
index f5e6b3277..168f48a58 100644
--- a/vendor/k8s.io/api/node/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/node/v1/types_swagger_doc_generated.go
@@ -38,7 +38,7 @@ func (Overhead) SwaggerDoc() map[string]string {
var map_RuntimeClass = map[string]string{
"": "RuntimeClass defines a class of container runtime supported in the cluster. The RuntimeClass is used to determine which container runtime is used to run all containers in a pod. RuntimeClasses are manually defined by a user or cluster provisioner, and referenced in the PodSpec. The Kubelet is responsible for resolving the RuntimeClassName reference before running the pod. For more details, see https://kubernetes.io/docs/concepts/containers/runtime-class/",
- "metadata": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"handler": "handler specifies the underlying runtime and configuration that the CRI implementation will use to handle pods of this class. The possible values are specific to the node & CRI configuration. It is assumed that all handlers are available on every node, and handlers of the same name are equivalent on every node. For example, a handler called \"runc\" might specify that the runc OCI runtime (using native Linux containers) will be used to run the containers in a pod. The Handler must be lowercase, conform to the DNS Label (RFC 1123) requirements, and is immutable.",
"overhead": "overhead represents the resource overhead associated with running a pod for a given RuntimeClass. For more details, see\n https://kubernetes.io/docs/concepts/scheduling-eviction/pod-overhead/",
"scheduling": "scheduling holds the scheduling constraints to ensure that pods running with this RuntimeClass are scheduled to nodes that support it. If scheduling is nil, this RuntimeClass is assumed to be supported by all nodes.",
diff --git a/vendor/k8s.io/api/node/v1alpha1/generated.proto b/vendor/k8s.io/api/node/v1alpha1/generated.proto
index bc68718d9..faf8b8c89 100644
--- a/vendor/k8s.io/api/node/v1alpha1/generated.proto
+++ b/vendor/k8s.io/api/node/v1alpha1/generated.proto
@@ -45,12 +45,14 @@ message Overhead {
// pod. For more details, see
// https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
message RuntimeClass {
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec represents specification of the RuntimeClass
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +required
optional RuntimeClassSpec spec = 2;
}
@@ -80,6 +82,10 @@ message RuntimeClassSpec {
// in a pod.
// The runtimeHandler must be lowercase, conform to the DNS Label (RFC 1123)
// requirements, and is immutable.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:format="k8s-short-name"
+ // +k8s:beta(since: "1.37")=+k8s:immutable
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string runtimeHandler = 1;
// overhead represents the resource overhead associated with running a pod for a
@@ -93,6 +99,7 @@ message RuntimeClassSpec {
// If scheduling is nil, this RuntimeClass is assumed to be supported by all
// nodes.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional Scheduling scheduling = 3;
}
@@ -113,6 +120,7 @@ message Scheduling {
// tolerated by the pod and the RuntimeClass.
// +optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:optional
repeated .k8s.io.api.core.v1.Toleration tolerations = 2;
}
diff --git a/vendor/k8s.io/api/node/v1alpha1/generated.protomessage.pb.go b/vendor/k8s.io/api/node/v1alpha1/generated.protomessage.pb.go
deleted file mode 100644
index acd3b604e..000000000
--- a/vendor/k8s.io/api/node/v1alpha1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,32 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1alpha1
-
-func (*Overhead) ProtoMessage() {}
-
-func (*RuntimeClass) ProtoMessage() {}
-
-func (*RuntimeClassList) ProtoMessage() {}
-
-func (*RuntimeClassSpec) ProtoMessage() {}
-
-func (*Scheduling) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/node/v1alpha1/types.go b/vendor/k8s.io/api/node/v1alpha1/types.go
index bf9e284bf..16d2794d4 100644
--- a/vendor/k8s.io/api/node/v1alpha1/types.go
+++ b/vendor/k8s.io/api/node/v1alpha1/types.go
@@ -33,14 +33,16 @@ import (
// pod. For more details, see
// https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
type RuntimeClass struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// spec represents specification of the RuntimeClass
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ // +required
Spec RuntimeClassSpec `json:"spec" protobuf:"bytes,2,name=spec"`
}
@@ -59,6 +61,10 @@ type RuntimeClassSpec struct {
// in a pod.
// The runtimeHandler must be lowercase, conform to the DNS Label (RFC 1123)
// requirements, and is immutable.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:format="k8s-short-name"
+ // +k8s:beta(since: "1.37")=+k8s:immutable
+ // +k8s:beta(since: "1.37")=+k8s:required
RuntimeHandler string `json:"runtimeHandler" protobuf:"bytes,1,opt,name=runtimeHandler"`
// overhead represents the resource overhead associated with running a pod for a
@@ -72,6 +78,7 @@ type RuntimeClassSpec struct {
// If scheduling is nil, this RuntimeClass is assumed to be supported by all
// nodes.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Scheduling *Scheduling `json:"scheduling,omitempty" protobuf:"bytes,3,opt,name=scheduling"`
}
@@ -99,6 +106,7 @@ type Scheduling struct {
// tolerated by the pod and the RuntimeClass.
// +optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,2,rep,name=tolerations"`
}
@@ -106,7 +114,7 @@ type Scheduling struct {
// RuntimeClassList is a list of RuntimeClass objects.
type RuntimeClassList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
diff --git a/vendor/k8s.io/api/node/v1alpha1/types_swagger_doc_generated.go b/vendor/k8s.io/api/node/v1alpha1/types_swagger_doc_generated.go
index ccc1b7085..5c5438478 100644
--- a/vendor/k8s.io/api/node/v1alpha1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/node/v1alpha1/types_swagger_doc_generated.go
@@ -38,7 +38,7 @@ func (Overhead) SwaggerDoc() map[string]string {
var map_RuntimeClass = map[string]string{
"": "RuntimeClass defines a class of container runtime supported in the cluster. The RuntimeClass is used to determine which container runtime is used to run all containers in a pod. RuntimeClasses are (currently) manually defined by a user or cluster provisioner, and referenced in the PodSpec. The Kubelet is responsible for resolving the RuntimeClassName reference before running the pod. For more details, see https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class",
- "metadata": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"spec": "spec represents specification of the RuntimeClass More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
}
diff --git a/vendor/k8s.io/api/node/v1beta1/generated.proto b/vendor/k8s.io/api/node/v1beta1/generated.proto
index 497027e03..51fbfd5e8 100644
--- a/vendor/k8s.io/api/node/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/node/v1beta1/generated.proto
@@ -45,6 +45,7 @@ message Overhead {
// pod. For more details, see
// https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
message RuntimeClass {
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
@@ -59,6 +60,10 @@ message RuntimeClass {
// in a pod.
// The handler must be lowercase, conform to the DNS Label (RFC 1123) requirements,
// and is immutable.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:format="k8s-short-name"
+ // +k8s:beta(since: "1.37")=+k8s:immutable
+ // +k8s:beta(since: "1.37")=+k8s:required
optional string handler = 2;
// overhead represents the resource overhead associated with running a pod for a
@@ -72,6 +77,7 @@ message RuntimeClass {
// If scheduling is nil, this RuntimeClass is assumed to be supported by all
// nodes.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
optional Scheduling scheduling = 4;
}
@@ -103,6 +109,7 @@ message Scheduling {
// tolerated by the pod and the RuntimeClass.
// +optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:optional
repeated .k8s.io.api.core.v1.Toleration tolerations = 2;
}
diff --git a/vendor/k8s.io/api/node/v1beta1/generated.protomessage.pb.go b/vendor/k8s.io/api/node/v1beta1/generated.protomessage.pb.go
deleted file mode 100644
index dfe8e29d9..000000000
--- a/vendor/k8s.io/api/node/v1beta1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,30 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1beta1
-
-func (*Overhead) ProtoMessage() {}
-
-func (*RuntimeClass) ProtoMessage() {}
-
-func (*RuntimeClassList) ProtoMessage() {}
-
-func (*Scheduling) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/node/v1beta1/types.go b/vendor/k8s.io/api/node/v1beta1/types.go
index 74ecca26a..3af85a9ee 100644
--- a/vendor/k8s.io/api/node/v1beta1/types.go
+++ b/vendor/k8s.io/api/node/v1beta1/types.go
@@ -35,8 +35,9 @@ import (
// pod. For more details, see
// https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
type RuntimeClass struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
@@ -51,6 +52,10 @@ type RuntimeClass struct {
// in a pod.
// The handler must be lowercase, conform to the DNS Label (RFC 1123) requirements,
// and is immutable.
+ // +required
+ // +k8s:beta(since: "1.37")=+k8s:format="k8s-short-name"
+ // +k8s:beta(since: "1.37")=+k8s:immutable
+ // +k8s:beta(since: "1.37")=+k8s:required
Handler string `json:"handler" protobuf:"bytes,2,opt,name=handler"`
// overhead represents the resource overhead associated with running a pod for a
@@ -64,6 +69,7 @@ type RuntimeClass struct {
// If scheduling is nil, this RuntimeClass is assumed to be supported by all
// nodes.
// +optional
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Scheduling *Scheduling `json:"scheduling,omitempty" protobuf:"bytes,4,opt,name=scheduling"`
}
@@ -91,6 +97,7 @@ type Scheduling struct {
// tolerated by the pod and the RuntimeClass.
// +optional
// +listType=atomic
+ // +k8s:alpha(since: "1.37")=+k8s:optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,2,rep,name=tolerations"`
}
@@ -100,7 +107,7 @@ type Scheduling struct {
// RuntimeClassList is a list of RuntimeClass objects.
type RuntimeClassList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
diff --git a/vendor/k8s.io/api/node/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/node/v1beta1/types_swagger_doc_generated.go
index 086105ecc..74991a89f 100644
--- a/vendor/k8s.io/api/node/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/node/v1beta1/types_swagger_doc_generated.go
@@ -38,7 +38,7 @@ func (Overhead) SwaggerDoc() map[string]string {
var map_RuntimeClass = map[string]string{
"": "RuntimeClass defines a class of container runtime supported in the cluster. The RuntimeClass is used to determine which container runtime is used to run all containers in a pod. RuntimeClasses are (currently) manually defined by a user or cluster provisioner, and referenced in the PodSpec. The Kubelet is responsible for resolving the RuntimeClassName reference before running the pod. For more details, see https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class",
- "metadata": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"handler": "handler specifies the underlying runtime and configuration that the CRI implementation will use to handle pods of this class. The possible values are specific to the node & CRI configuration. It is assumed that all handlers are available on every node, and handlers of the same name are equivalent on every node. For example, a handler called \"runc\" might specify that the runc OCI runtime (using native Linux containers) will be used to run the containers in a pod. The handler must be lowercase, conform to the DNS Label (RFC 1123) requirements, and is immutable.",
"overhead": "overhead represents the resource overhead associated with running a pod for a given RuntimeClass. For more details, see https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md",
"scheduling": "scheduling holds the scheduling constraints to ensure that pods running with this RuntimeClass are scheduled to nodes that support it. If scheduling is nil, this RuntimeClass is assumed to be supported by all nodes.",
diff --git a/vendor/k8s.io/api/policy/v1/generated.proto b/vendor/k8s.io/api/policy/v1/generated.proto
index 953489072..ceec53a11 100644
--- a/vendor/k8s.io/api/policy/v1/generated.proto
+++ b/vendor/k8s.io/api/policy/v1/generated.proto
@@ -33,27 +33,29 @@ option go_package = "k8s.io/api/policy/v1";
// This is a subresource of Pod. A request to cause such an eviction is
// created by POSTing to .../pods//evictions.
message Eviction {
- // ObjectMeta describes the pod that is being evicted.
+ // metadata describes the pod that is being evicted.
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // DeleteOptions may be provided
+ // deleteOptions may be provided
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptions deleteOptions = 2;
}
// PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods
+// +k8s:supportsSubresource="/status"
message PodDisruptionBudget {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the PodDisruptionBudget.
+ // spec is the specification of the desired behavior of the PodDisruptionBudget.
// +optional
optional PodDisruptionBudgetSpec spec = 2;
- // Most recently observed status of the PodDisruptionBudget.
+ // status is the most recently observed status of the PodDisruptionBudget.
// +optional
optional PodDisruptionBudgetStatus status = 3;
}
@@ -71,14 +73,14 @@ message PodDisruptionBudgetList {
// PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.
message PodDisruptionBudgetSpec {
- // An eviction is allowed if at least "minAvailable" pods selected by
+ // minAvailable indicates that an eviction is allowed if at least "minAvailable" pods selected by
// "selector" will still be available after the eviction, i.e. even in the
// absence of the evicted pod. So for example you can prevent all voluntary
// evictions by specifying "100%".
// +optional
optional .k8s.io.apimachinery.pkg.util.intstr.IntOrString minAvailable = 1;
- // Label query over pods whose evictions are managed by the disruption
+ // selector is a label query over pods whose evictions are managed by the disruption
// budget.
// A null selector will match no pods, while an empty ({}) selector will select
// all pods within the namespace.
@@ -86,14 +88,14 @@ message PodDisruptionBudgetSpec {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
- // An eviction is allowed if at most "maxUnavailable" pods selected by
+ // maxUnavailable indicates that an eviction is allowed if at most "maxUnavailable" pods selected by
// "selector" are unavailable after the eviction, i.e. even in absence of
// the evicted pod. For example, one can prevent all voluntary evictions
// by specifying 0. This is a mutually exclusive setting with "minAvailable".
// +optional
optional .k8s.io.apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 3;
- // UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods
+ // unhealthyPodEvictionPolicy defines the criteria for when unhealthy pods
// should be considered for eviction. Current implementation considers healthy pods,
// as pods that have status.conditions item with type="Ready",status="True".
//
@@ -142,15 +144,19 @@ message PodDisruptionBudgetStatus {
map disruptedPods = 2;
// Number of pod disruptions that are currently allowed.
+ // +optional
optional int32 disruptionsAllowed = 3;
// current number of healthy pods
+ // +optional
optional int32 currentHealthy = 4;
// minimum desired number of healthy pods
+ // +optional
optional int32 desiredHealthy = 5;
// total number of pods counted by this disruption budget
+ // +optional
optional int32 expectedPods = 6;
// Conditions contain conditions for PDB. The disruption controller sets the
@@ -171,6 +177,9 @@ message PodDisruptionBudgetStatus {
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 7;
}
diff --git a/vendor/k8s.io/api/policy/v1/generated.protomessage.pb.go b/vendor/k8s.io/api/policy/v1/generated.protomessage.pb.go
deleted file mode 100644
index 2ede21763..000000000
--- a/vendor/k8s.io/api/policy/v1/generated.protomessage.pb.go
+++ /dev/null
@@ -1,32 +0,0 @@
-//go:build kubernetes_protomessage_one_more_release
-// +build kubernetes_protomessage_one_more_release
-
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by go-to-protobuf. DO NOT EDIT.
-
-package v1
-
-func (*Eviction) ProtoMessage() {}
-
-func (*PodDisruptionBudget) ProtoMessage() {}
-
-func (*PodDisruptionBudgetList) ProtoMessage() {}
-
-func (*PodDisruptionBudgetSpec) ProtoMessage() {}
-
-func (*PodDisruptionBudgetStatus) ProtoMessage() {}
diff --git a/vendor/k8s.io/api/policy/v1/types.go b/vendor/k8s.io/api/policy/v1/types.go
index 4e7436789..1d49f92d1 100644
--- a/vendor/k8s.io/api/policy/v1/types.go
+++ b/vendor/k8s.io/api/policy/v1/types.go
@@ -26,14 +26,14 @@ const DisruptionBudgetCause metav1.CauseType = "DisruptionBudget"
// PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.
type PodDisruptionBudgetSpec struct {
- // An eviction is allowed if at least "minAvailable" pods selected by
+ // minAvailable indicates that an eviction is allowed if at least "minAvailable" pods selected by
// "selector" will still be available after the eviction, i.e. even in the
// absence of the evicted pod. So for example you can prevent all voluntary
// evictions by specifying "100%".
// +optional
MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty" protobuf:"bytes,1,opt,name=minAvailable"`
- // Label query over pods whose evictions are managed by the disruption
+ // selector is a label query over pods whose evictions are managed by the disruption
// budget.
// A null selector will match no pods, while an empty ({}) selector will select
// all pods within the namespace.
@@ -41,14 +41,14 @@ type PodDisruptionBudgetSpec struct {
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty" patchStrategy:"replace" protobuf:"bytes,2,opt,name=selector"`
- // An eviction is allowed if at most "maxUnavailable" pods selected by
+ // maxUnavailable indicates that an eviction is allowed if at most "maxUnavailable" pods selected by
// "selector" are unavailable after the eviction, i.e. even in absence of
// the evicted pod. For example, one can prevent all voluntary evictions
// by specifying 0. This is a mutually exclusive setting with "minAvailable".
// +optional
MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty" protobuf:"bytes,3,opt,name=maxUnavailable"`
- // UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods
+ // unhealthyPodEvictionPolicy defines the criteria for when unhealthy pods
// should be considered for eviction. Current implementation considers healthy pods,
// as pods that have status.conditions item with type="Ready",status="True".
//
@@ -117,15 +117,19 @@ type PodDisruptionBudgetStatus struct {
DisruptedPods map[string]metav1.Time `json:"disruptedPods,omitempty" protobuf:"bytes,2,rep,name=disruptedPods"`
// Number of pod disruptions that are currently allowed.
+ // +optional
DisruptionsAllowed int32 `json:"disruptionsAllowed" protobuf:"varint,3,opt,name=disruptionsAllowed"`
// current number of healthy pods
+ // +optional
CurrentHealthy int32 `json:"currentHealthy" protobuf:"varint,4,opt,name=currentHealthy"`
// minimum desired number of healthy pods
+ // +optional
DesiredHealthy int32 `json:"desiredHealthy" protobuf:"varint,5,opt,name=desiredHealthy"`
// total number of pods counted by this disruption budget
+ // +optional
ExpectedPods int32 `json:"expectedPods" protobuf:"varint,6,opt,name=expectedPods"`
// Conditions contain conditions for PDB. The disruption controller sets the
@@ -146,6 +150,9 @@ type PodDisruptionBudgetStatus struct {
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
+ // +k8s:alpha(since: "1.37")=+k8s:optional
+ // +k8s:alpha(since: "1.37")=+k8s:listType=map
+ // +k8s:alpha(since: "1.37")=+k8s:listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,7,rep,name=conditions"`
}
@@ -170,17 +177,18 @@ const (
// +k8s:prerelease-lifecycle-gen:introduced=1.21
// PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods
+// +k8s:supportsSubresource="/status"
type PodDisruptionBudget struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object's metadata.
+ metav1.TypeMeta `json:""`
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // Specification of the desired behavior of the PodDisruptionBudget.
+ // spec is the specification of the desired behavior of the PodDisruptionBudget.
// +optional
Spec PodDisruptionBudgetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
- // Most recently observed status of the PodDisruptionBudget.
+ // status is the most recently observed status of the PodDisruptionBudget.
// +optional
Status PodDisruptionBudgetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
@@ -190,7 +198,7 @@ type PodDisruptionBudget struct {
// PodDisruptionBudgetList is a collection of PodDisruptionBudgets.
type PodDisruptionBudgetList struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -208,13 +216,14 @@ type PodDisruptionBudgetList struct {
// This is a subresource of Pod. A request to cause such an eviction is
// created by POSTing to .../pods//evictions.
type Eviction struct {
- metav1.TypeMeta `json:",inline"`
+ metav1.TypeMeta `json:""`
- // ObjectMeta describes the pod that is being evicted.
+ // metadata describes the pod that is being evicted.
// +optional
+ // +k8s:opaqueType
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- // DeleteOptions may be provided
+ // deleteOptions may be provided
// +optional
DeleteOptions *metav1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"`
}
diff --git a/vendor/k8s.io/api/policy/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/policy/v1/types_swagger_doc_generated.go
index 9b2f5b945..cf67a76df 100644
--- a/vendor/k8s.io/api/policy/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/policy/v1/types_swagger_doc_generated.go
@@ -29,8 +29,8 @@ package v1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_Eviction = map[string]string{
"": "Eviction evicts a pod from its node subject to certain policies and safety constraints. This is a subresource of Pod. A request to cause such an eviction is created by POSTing to .../pods//evictions.",
- "metadata": "ObjectMeta describes the pod that is being evicted.",
- "deleteOptions": "DeleteOptions may be provided",
+ "metadata": "metadata describes the pod that is being evicted.",
+ "deleteOptions": "deleteOptions may be provided",
}
func (Eviction) SwaggerDoc() map[string]string {
@@ -39,9 +39,9 @@ func (Eviction) SwaggerDoc() map[string]string {
var map_PodDisruptionBudget = map[string]string{
"": "PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "spec": "Specification of the desired behavior of the PodDisruptionBudget.",
- "status": "Most recently observed status of the PodDisruptionBudget.",
+ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
+ "spec": "spec is the specification of the desired behavior of the PodDisruptionBudget.",
+ "status": "status is the most recently observed status of the PodDisruptionBudget.",
}
func (PodDisruptionBudget) SwaggerDoc() map[string]string {
@@ -60,10 +60,10 @@ func (PodDisruptionBudgetList) SwaggerDoc() map[string]string {
var map_PodDisruptionBudgetSpec = map[string]string{
"": "PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.",
- "minAvailable": "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\".",
- "selector": "Label query over pods whose evictions are managed by the disruption budget. A null selector will match no pods, while an empty ({}) selector will select all pods within the namespace.",
- "maxUnavailable": "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\".",
- "unhealthyPodEvictionPolicy": "UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\".\n\nValid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy.\n\nIfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction.\n\nAlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction.\n\nAdditional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field.",
+ "minAvailable": "minAvailable indicates that an eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\".",
+ "selector": "selector is a label query over pods whose evictions are managed by the disruption budget. A null selector will match no pods, while an empty ({}) selector will select all pods within the namespace.",
+ "maxUnavailable": "maxUnavailable indicates that an eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\".",
+ "unhealthyPodEvictionPolicy": "unhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\".\n\nValid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy.\n\nIfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction.\n\nAlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction.\n\nAdditional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field.",
}
func (PodDisruptionBudgetSpec) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/policy/v1beta1/generated.proto b/vendor/k8s.io/api/policy/v1beta1/generated.proto
index e0cbe00f1..be469ba61 100644
--- a/vendor/k8s.io/api/policy/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/policy/v1beta1/generated.proto
@@ -33,27 +33,29 @@ option go_package = "k8s.io/api/policy/v1beta1";
// This is a subresource of Pod. A request to cause such an eviction is
// created by POSTing to .../pods//evictions.
message Eviction {
- // ObjectMeta describes the pod that is being evicted.
+ // metadata describes the pod that is being evicted.
// +optional
+ // +k8s:opaqueType
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // DeleteOptions may be provided
+ // deleteOptions may be provided
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptions deleteOptions = 2;
}
// PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods
+// +k8s:supportsSubresource="/status"
message PodDisruptionBudget {
- // Standard object's metadata.
+ // metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the PodDisruptionBudget.
+ // spec is the specification of the desired behavior of the PodDisruptionBudget.
// +optional
optional PodDisruptionBudgetSpec spec = 2;
- // Most recently observed status of the PodDisruptionBudget.
+ // status is the most recently observed status of the PodDisruptionBudget.
// +optional
optional PodDisruptionBudgetStatus status = 3;
}
@@ -71,14 +73,14 @@ message PodDisruptionBudgetList {
// PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.
message PodDisruptionBudgetSpec {
- // An eviction is allowed if at least "minAvailable" pods selected by
+ // minAvailable indicates that an eviction is allowed if at least "minAvailable" pods selected by
// "selector" will still be available after the eviction, i.e. even in the
// absence of the evicted pod. So for example you can prevent all voluntary
// evictions by specifying "100%".
// +optional
optional .k8s.io.apimachinery.pkg.util.intstr.IntOrString minAvailable = 1;
- // Label query over pods whose evictions are managed by the disruption
+ // selector is a label query over pods whose evictions are managed by the disruption
// budget.
// A null selector selects no pods.
// An empty selector ({}) also selects no pods, which differs from standard behavior of selecting all pods.
@@ -86,14 +88,14 @@ message PodDisruptionBudgetSpec {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
- // An eviction is allowed if at most "maxUnavailable" pods selected by
+ // maxUnavailable indicates that an eviction is allowed if at most "maxUnavailable" pods selected by
// "selector" are unavailable after the eviction, i.e. even in absence of
// the evicted pod. For example, one can prevent all voluntary evictions
// by specifying 0. This is a mutually exclusive setting with "minAvailable".
// +optional
optional .k8s.io.apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 3;
- // UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods
+ // unhealthyPodEvictionPolicy defines the criteria for when unhealthy pods
// should be considered for eviction. Current implementation considers healthy pods,
// as pods that have status.conditions item with type="Ready",status="True".
//
@@ -142,15 +144,19 @@ message PodDisruptionBudgetStatus {
map